From dc9da9078abbb7932de1906e672053ad98f42b48 Mon Sep 17 00:00:00 2001 From: dark Date: Sun, 1 Feb 2026 17:57:11 +0800 Subject: [PATCH] first commit --- .gitignore | 100 + README.md | 66 + TODOS/00-项目总览.md | 132 + .../01-APP-ReactNative环境搭建.md | 148 + .../02-Web前端Vue环境搭建.md | 107 + .../03-APP-ReactNative环境搭建.md | 165 + .../01-项目初始化和模拟数据.md | 745 ++++ .../02-导航和布局设计.md | 479 +++ TODOS/02-APP原型开发/03-登录页面.md | 295 ++ TODOS/02-APP原型开发/04-首页.md | 417 ++ .../05-体质辨识页面.md | 466 ++ TODOS/02-APP原型开发/06-AI对话页面.md | 387 ++ .../07-个人中心页面.md | 383 ++ .../01-项目结构初始化.md | 195 + .../02-数据库和模型设计.md | 384 ++ .../02-后端开发/03-用户认证模块.md | 522 +++ .../02-后端开发/04-健康调查模块.md | 515 +++ .../02-后端开发/05-体质辨识模块.md | 550 +++ TODOS/02-后端开发/06-AI对话模块.md | 833 ++++ .../02-后端开发/07-健康档案模块.md | 512 +++ .../08-保健品商城关联模块.md | 673 +++ .../01-项目结构初始化.md | 429 ++ .../02-路由和布局设计.md | 594 +++ .../03-用户认证页面.md | 478 +++ .../04-健康调查页面.md | 845 ++++ .../05-体质辨识页面.md | 691 +++ TODOS/03-Web前端开发/06-AI对话页面.md | 616 +++ .../07-个人中心页面.md | 588 +++ .../01-项目初始化和模拟数据.md | 277 ++ .../02-路由和布局设计.md | 363 ++ TODOS/03-Web原型开发/03-登录页面.md | 271 ++ TODOS/03-Web原型开发/04-首页.md | 391 ++ .../05-体质辨识页面.md | 626 +++ TODOS/03-Web原型开发/06-AI对话页面.md | 573 +++ .../07-个人中心页面.md | 462 ++ .../04-APP开发/01-项目结构初始化.md | 377 ++ .../04-APP开发/02-导航和布局设计.md | 448 ++ TODOS/04-APP开发/03-用户认证页面.md | 535 +++ TODOS/04-APP开发/04-健康调查页面.md | 238 ++ TODOS/04-APP开发/05-体质辨识页面.md | 471 ++ TODOS/04-APP开发/06-AI对话页面.md | 476 +++ TODOS/04-APP开发/07-个人中心页面.md | 494 +++ .../01-项目结构初始化.md | 185 + .../02-数据库和模型设计.md | 51 + .../04-后端开发/03-用户认证模块.md | 59 + .../04-后端开发/04-健康调查模块.md | 60 + .../04-后端开发/05-体质辨识模块.md | 83 + TODOS/04-后端开发/06-AI对话模块.md | 96 + .../04-后端开发/07-健康档案模块.md | 96 + .../08-保健品商城关联模块.md | 92 + .../05-前后端对接/01-API服务对接.md | 299 ++ TODOS/05-前后端对接/02-联调测试.md | 156 + agents.md | 4 + app | 1 + design.md | 1049 +++++ files/ui/体质分析.png | Bin 0 -> 266650 bytes files/ui/体质检测.png | Bin 0 -> 82046 bytes files/ui/体质页.png | Bin 0 -> 491043 bytes files/ui/我的.png | Bin 0 -> 229180 bytes files/ui/登录页.png | Bin 0 -> 228863 bytes files/ui/问答对话.png | Bin 0 -> 293991 bytes files/ui/问答页.png | Bin 0 -> 221389 bytes files/ui/首页.png | Bin 0 -> 304545 bytes mall-design.md | 878 ++++ scripts/start-all.bat | 30 + scripts/start-app.bat | 13 + scripts/start-web.bat | 12 + server/cmd/server/main.go | 57 + server/config.yaml | 40 + server/data/health.db | Bin 0 -> 217088 bytes server/docs/API.md | 551 +++ server/go.mod | 58 + server/go.sum | 133 + server/internal/api/handler/auth.go | 141 + server/internal/api/handler/constitution.go | 155 + server/internal/api/handler/conversation.go | 183 + server/internal/api/handler/health.go | 201 + server/internal/api/handler/product.go | 172 + server/internal/api/handler/survey.go | 256 ++ server/internal/api/middleware/auth.go | 72 + server/internal/api/router.go | 136 + server/internal/config/config.go | 79 + server/internal/database/database.go | 50 + server/internal/database/seed.go | 151 + server/internal/model/constitution.go | 145 + server/internal/model/conversation.go | 35 + server/internal/model/health.go | 46 + server/internal/model/models.go | 31 + server/internal/model/product.go | 66 + server/internal/model/user.go | 64 + .../internal/repository/impl/constitution.go | 71 + .../internal/repository/impl/conversation.go | 78 + server/internal/repository/impl/health.go | 127 + server/internal/repository/impl/product.go | 99 + server/internal/repository/impl/user.go | 42 + server/internal/repository/interface.go | 66 + server/internal/service/ai/aliyun.go | 165 + server/internal/service/ai/client.go | 26 + server/internal/service/ai/factory.go | 22 + server/internal/service/ai/openai.go | 156 + server/internal/service/auth.go | 161 + server/internal/service/constitution.go | 326 ++ server/internal/service/conversation.go | 329 ++ server/internal/service/health.go | 135 + server/internal/service/product.go | 143 + server/internal/service/survey.go | 368 ++ server/pkg/jwt/jwt.go | 63 + server/pkg/response/response.go | 80 + start-app.bat | 26 + start-app.sh | 14 + start.bat | 47 + start.sh | 38 + web/.gitignore | 24 + web/README.md | 5 + web/index.html | 13 + web/package-lock.json | 3795 +++++++++++++++++ web/package.json | 33 + web/public/vite.svg | 1 + web/src/App.vue | 10 + web/src/assets/vue.svg | 1 + web/src/components/HelloWorld.vue | 41 + web/src/main.ts | 23 + web/src/mock/chat.ts | 116 + web/src/mock/constitution.ts | 221 + web/src/mock/index.ts | 4 + web/src/mock/products.ts | 69 + web/src/mock/user.ts | 23 + web/src/router/index.ts | 76 + web/src/stores/auth.ts | 36 + web/src/stores/chat.ts | 45 + web/src/stores/constitution.ts | 29 + web/src/style.css | 79 + web/src/styles/index.scss | 47 + web/src/types/index.ts | 60 + web/src/views/auth/LoginView.vue | 221 + web/src/views/chat/ChatDetailView.vue | 328 ++ web/src/views/chat/ChatListView.vue | 141 + .../constitution/ConstitutionResultView.vue | 243 ++ .../constitution/ConstitutionTestView.vue | 193 + .../views/constitution/ConstitutionView.vue | 121 + web/src/views/home/HomeView.vue | 308 ++ web/src/views/layout/MainLayout.vue | 161 + web/src/views/profile/HealthRecordView.vue | 183 + web/src/views/profile/ProfileView.vue | 220 + web/tsconfig.app.json | 16 + web/tsconfig.json | 7 + web/tsconfig.node.json | 26 + web/vite.config.ts | 17 + 148 files changed, 33821 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 TODOS/00-项目总览.md create mode 100644 TODOS/01-环境搭建/01-APP-ReactNative环境搭建.md create mode 100644 TODOS/01-环境搭建/02-Web前端Vue环境搭建.md create mode 100644 TODOS/01-环境搭建/03-APP-ReactNative环境搭建.md create mode 100644 TODOS/02-APP原型开发/01-项目初始化和模拟数据.md create mode 100644 TODOS/02-APP原型开发/02-导航和布局设计.md create mode 100644 TODOS/02-APP原型开发/03-登录页面.md create mode 100644 TODOS/02-APP原型开发/04-首页.md create mode 100644 TODOS/02-APP原型开发/05-体质辨识页面.md create mode 100644 TODOS/02-APP原型开发/06-AI对话页面.md create mode 100644 TODOS/02-APP原型开发/07-个人中心页面.md create mode 100644 TODOS/02-后端开发/01-项目结构初始化.md create mode 100644 TODOS/02-后端开发/02-数据库和模型设计.md create mode 100644 TODOS/02-后端开发/03-用户认证模块.md create mode 100644 TODOS/02-后端开发/04-健康调查模块.md create mode 100644 TODOS/02-后端开发/05-体质辨识模块.md create mode 100644 TODOS/02-后端开发/06-AI对话模块.md create mode 100644 TODOS/02-后端开发/07-健康档案模块.md create mode 100644 TODOS/02-后端开发/08-保健品商城关联模块.md create mode 100644 TODOS/03-Web前端开发/01-项目结构初始化.md create mode 100644 TODOS/03-Web前端开发/02-路由和布局设计.md create mode 100644 TODOS/03-Web前端开发/03-用户认证页面.md create mode 100644 TODOS/03-Web前端开发/04-健康调查页面.md create mode 100644 TODOS/03-Web前端开发/05-体质辨识页面.md create mode 100644 TODOS/03-Web前端开发/06-AI对话页面.md create mode 100644 TODOS/03-Web前端开发/07-个人中心页面.md create mode 100644 TODOS/03-Web原型开发/01-项目初始化和模拟数据.md create mode 100644 TODOS/03-Web原型开发/02-路由和布局设计.md create mode 100644 TODOS/03-Web原型开发/03-登录页面.md create mode 100644 TODOS/03-Web原型开发/04-首页.md create mode 100644 TODOS/03-Web原型开发/05-体质辨识页面.md create mode 100644 TODOS/03-Web原型开发/06-AI对话页面.md create mode 100644 TODOS/03-Web原型开发/07-个人中心页面.md create mode 100644 TODOS/04-APP开发/01-项目结构初始化.md create mode 100644 TODOS/04-APP开发/02-导航和布局设计.md create mode 100644 TODOS/04-APP开发/03-用户认证页面.md create mode 100644 TODOS/04-APP开发/04-健康调查页面.md create mode 100644 TODOS/04-APP开发/05-体质辨识页面.md create mode 100644 TODOS/04-APP开发/06-AI对话页面.md create mode 100644 TODOS/04-APP开发/07-个人中心页面.md create mode 100644 TODOS/04-后端开发/01-项目结构初始化.md create mode 100644 TODOS/04-后端开发/02-数据库和模型设计.md create mode 100644 TODOS/04-后端开发/03-用户认证模块.md create mode 100644 TODOS/04-后端开发/04-健康调查模块.md create mode 100644 TODOS/04-后端开发/05-体质辨识模块.md create mode 100644 TODOS/04-后端开发/06-AI对话模块.md create mode 100644 TODOS/04-后端开发/07-健康档案模块.md create mode 100644 TODOS/04-后端开发/08-保健品商城关联模块.md create mode 100644 TODOS/05-前后端对接/01-API服务对接.md create mode 100644 TODOS/05-前后端对接/02-联调测试.md create mode 100644 agents.md create mode 160000 app create mode 100644 design.md create mode 100644 files/ui/体质分析.png create mode 100644 files/ui/体质检测.png create mode 100644 files/ui/体质页.png create mode 100644 files/ui/我的.png create mode 100644 files/ui/登录页.png create mode 100644 files/ui/问答对话.png create mode 100644 files/ui/问答页.png create mode 100644 files/ui/首页.png create mode 100644 mall-design.md create mode 100644 scripts/start-all.bat create mode 100644 scripts/start-app.bat create mode 100644 scripts/start-web.bat create mode 100644 server/cmd/server/main.go create mode 100644 server/config.yaml create mode 100644 server/data/health.db create mode 100644 server/docs/API.md create mode 100644 server/go.mod create mode 100644 server/go.sum create mode 100644 server/internal/api/handler/auth.go create mode 100644 server/internal/api/handler/constitution.go create mode 100644 server/internal/api/handler/conversation.go create mode 100644 server/internal/api/handler/health.go create mode 100644 server/internal/api/handler/product.go create mode 100644 server/internal/api/handler/survey.go create mode 100644 server/internal/api/middleware/auth.go create mode 100644 server/internal/api/router.go create mode 100644 server/internal/config/config.go create mode 100644 server/internal/database/database.go create mode 100644 server/internal/database/seed.go create mode 100644 server/internal/model/constitution.go create mode 100644 server/internal/model/conversation.go create mode 100644 server/internal/model/health.go create mode 100644 server/internal/model/models.go create mode 100644 server/internal/model/product.go create mode 100644 server/internal/model/user.go create mode 100644 server/internal/repository/impl/constitution.go create mode 100644 server/internal/repository/impl/conversation.go create mode 100644 server/internal/repository/impl/health.go create mode 100644 server/internal/repository/impl/product.go create mode 100644 server/internal/repository/impl/user.go create mode 100644 server/internal/repository/interface.go create mode 100644 server/internal/service/ai/aliyun.go create mode 100644 server/internal/service/ai/client.go create mode 100644 server/internal/service/ai/factory.go create mode 100644 server/internal/service/ai/openai.go create mode 100644 server/internal/service/auth.go create mode 100644 server/internal/service/constitution.go create mode 100644 server/internal/service/conversation.go create mode 100644 server/internal/service/health.go create mode 100644 server/internal/service/product.go create mode 100644 server/internal/service/survey.go create mode 100644 server/pkg/jwt/jwt.go create mode 100644 server/pkg/response/response.go create mode 100644 start-app.bat create mode 100644 start-app.sh create mode 100644 start.bat create mode 100644 start.sh create mode 100644 web/.gitignore create mode 100644 web/README.md create mode 100644 web/index.html create mode 100644 web/package-lock.json create mode 100644 web/package.json create mode 100644 web/public/vite.svg create mode 100644 web/src/App.vue create mode 100644 web/src/assets/vue.svg create mode 100644 web/src/components/HelloWorld.vue create mode 100644 web/src/main.ts create mode 100644 web/src/mock/chat.ts create mode 100644 web/src/mock/constitution.ts create mode 100644 web/src/mock/index.ts create mode 100644 web/src/mock/products.ts create mode 100644 web/src/mock/user.ts create mode 100644 web/src/router/index.ts create mode 100644 web/src/stores/auth.ts create mode 100644 web/src/stores/chat.ts create mode 100644 web/src/stores/constitution.ts create mode 100644 web/src/style.css create mode 100644 web/src/styles/index.scss create mode 100644 web/src/types/index.ts create mode 100644 web/src/views/auth/LoginView.vue create mode 100644 web/src/views/chat/ChatDetailView.vue create mode 100644 web/src/views/chat/ChatListView.vue create mode 100644 web/src/views/constitution/ConstitutionResultView.vue create mode 100644 web/src/views/constitution/ConstitutionTestView.vue create mode 100644 web/src/views/constitution/ConstitutionView.vue create mode 100644 web/src/views/home/HomeView.vue create mode 100644 web/src/views/layout/MainLayout.vue create mode 100644 web/src/views/profile/HealthRecordView.vue create mode 100644 web/src/views/profile/ProfileView.vue create mode 100644 web/tsconfig.app.json create mode 100644 web/tsconfig.json create mode 100644 web/tsconfig.node.json create mode 100644 web/vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3024208 --- /dev/null +++ b/.gitignore @@ -0,0 +1,100 @@ +# 依赖目录 +node_modules/ +.pnp/ +.pnp.js + +# 构建输出 +dist/ +build/ +.output/ +.nuxt/ + +# Expo / React Native +.expo/ +.expo-shared/ +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision +*.orig.* +web-build/ +android/ +ios/ + +# Vue.js +.vite/ + +# Go +*.exe +*.exe~ +*.dll +*.so +*.dylib +bin/ +vendor/ + +# 环境变量 +.env +.env.local +.env.*.local +.env.development +.env.production +*.env + +# 日志文件 +logs/ +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# 编辑器/IDE +.idea/ +.vscode/ +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +*.swp +*.swo +.project +.classpath +.settings/ + +# 系统文件 +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db +desktop.ini + +# 测试覆盖率 +coverage/ +.nyc_output/ + +# 缓存 +.cache/ +.parcel-cache/ +.eslintcache +.stylelintcache +*.tsbuildinfo + +# 临时文件 +tmp/ +temp/ +*.tmp +*.temp + +# 包管理锁文件 (可选,根据团队约定) +# package-lock.json +# yarn.lock +# pnpm-lock.yaml + +# 本地配置 +local.properties diff --git a/README.md b/README.md new file mode 100644 index 0000000..be389d2 --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +# 健康AI助手 - 原型项目 + +基于中医体质辨识理论的智能健康咨询平台原型。 + +## 快速启动 + +**Windows 用户:** +双击项目根目录的 `start.bat` 文件,选择要启动的服务。 + +或者分别启动: +```bash +# 启动 Web 原型 +cd web && npm run dev + +# 启动 APP 原型 +cd app && npx expo start +``` + +## 测试账号 + +- **手机号**: `13800138000` +- **验证码**: `123456` + +## 项目结构 + +``` +healthApps/ +├── web/ # Web 原型 (Vue 3 + Vite) +├── app/ # APP 原型 (React Native + Expo) +├── server/ # 后端服务 (Go + Gin) +├── scripts/ # 启动脚本 +│ ├── start-web.bat +│ ├── start-app.bat +│ └── start-all.bat +├── start.bat # 主启动入口 +├── design.md # 项目设计文档 +└── TODOS/ # 开发任务文档 +``` + +## 技术栈 + +| 项目 | 技术 | 端口 | +|-----|------|-----| +| Web | Vue 3 + TypeScript + Element Plus | 5173 | +| APP | React Native + Expo + Paper | 8081 | +| 后端 | Go + Gin + SQLite | 8080 | + +## 功能模块 + +- **用户登录** - 手机号验证码登录(模拟) +- **首页** - 体质概览、快捷入口、健康提示 +- **体质测试** - 20道问卷,本地计算体质类型 +- **AI问答** - 模拟AI健康咨询对话 +- **个人中心** - 用户信息、健康档案 + +## 原型说明 + +当前版本为原型演示版,使用本地模拟数据: +- 登录验证:模拟验证 +- 体质测试:本地计算 +- AI对话:关键词匹配模拟回复 +- 数据存储:localStorage / AsyncStorage + +## 后续开发 + +参考 `TODOS/` 目录下的开发文档进行后端对接。 diff --git a/TODOS/00-项目总览.md b/TODOS/00-项目总览.md new file mode 100644 index 0000000..f6fcb7e --- /dev/null +++ b/TODOS/00-项目总览.md @@ -0,0 +1,132 @@ +# 健康AI问询助手 - 开发总览 + +## 项目信息 + +- **项目名称**: 健康AI问询助手 +- **技术栈**: Vue 3 + React Native + Go (Gin) + SQLite +- **开发模式**: 前端原型优先(使用模拟数据) +- **预计模块**: 5大阶段,25个开发任务 +- **关联项目**: 保健品商城(外部系统) + +--- + +## 开发阶段总览 + +> **开发策略**:先完成前端原型(APP + Web),使用模拟数据实现完整交互演示,后续再开发后端并对接。 + +### 第一阶段:环境搭建 +| 序号 | 任务 | 文档 | 状态 | +|------|------|------|------| +| 1.1 | APP React Native 环境搭建 | `01-环境搭建/01-APP-ReactNative环境搭建.md` | ⬜ 待审议 | +| 1.2 | Web 前端 Vue 环境搭建 | `01-环境搭建/02-Web前端Vue环境搭建.md` | ⬜ 待审议 | + +### 第二阶段:APP 原型开发(模拟数据) +| 序号 | 任务 | 文档 | 状态 | +|------|------|------|------| +| 2.1 | 项目初始化 + 模拟数据服务 | `02-APP原型开发/01-项目初始化和模拟数据.md` | ⬜ 待审议 | +| 2.2 | 导航和底部Tab设计 | `02-APP原型开发/02-导航和布局设计.md` | ⬜ 待审议 | +| 2.3 | 登录页面原型 | `02-APP原型开发/03-登录页面.md` | ⬜ 待审议 | +| 2.4 | 首页原型 | `02-APP原型开发/04-首页.md` | ⬜ 待审议 | +| 2.5 | 体质辨识页面原型 | `02-APP原型开发/05-体质辨识页面.md` | ⬜ 待审议 | +| 2.6 | AI对话页面原型 | `02-APP原型开发/06-AI对话页面.md` | ⬜ 待审议 | +| 2.7 | 个人中心页面原型 | `02-APP原型开发/07-个人中心页面.md` | ⬜ 待审议 | + +### 第三阶段:Web 原型开发(模拟数据) +| 序号 | 任务 | 文档 | 状态 | +|------|------|------|------| +| 3.1 | 项目初始化 + 模拟数据服务 | `03-Web原型开发/01-项目初始化和模拟数据.md` | ⬜ 待审议 | +| 3.2 | 路由和布局设计 | `03-Web原型开发/02-路由和布局设计.md` | ⬜ 待审议 | +| 3.3 | 登录页面原型 | `03-Web原型开发/03-登录页面.md` | ⬜ 待审议 | +| 3.4 | 首页原型 | `03-Web原型开发/04-首页.md` | ⬜ 待审议 | +| 3.5 | 体质辨识页面原型 | `03-Web原型开发/05-体质辨识页面.md` | ⬜ 待审议 | +| 3.6 | AI对话页面原型 | `03-Web原型开发/06-AI对话页面.md` | ⬜ 待审议 | +| 3.7 | 个人中心页面原型 | `03-Web原型开发/07-个人中心页面.md` | ⬜ 待审议 | + +### 第四阶段:后端开发 +| 序号 | 任务 | 文档 | 状态 | +|------|------|------|------| +| 4.1 | Go环境搭建 + 项目初始化 | `04-后端开发/01-环境搭建和项目初始化.md` | ⬜ 待审议 | +| 4.2 | 数据库和模型设计 | `04-后端开发/02-数据库和模型设计.md` | ⬜ 待审议 | +| 4.3 | 用户认证模块 | `04-后端开发/03-用户认证模块.md` | ⬜ 待审议 | +| 4.4 | 健康调查模块 | `04-后端开发/04-健康调查模块.md` | ⬜ 待审议 | +| 4.5 | 体质辨识模块 | `04-后端开发/05-体质辨识模块.md` | ⬜ 待审议 | +| 4.6 | AI对话模块 | `04-后端开发/06-AI对话模块.md` | ⬜ 待审议 | +| 4.7 | 健康档案模块 | `04-后端开发/07-健康档案模块.md` | ⬜ 待审议 | +| 4.8 | 保健品商城关联模块 | `04-后端开发/08-保健品商城关联模块.md` | ⬜ 待审议 | + +### 第五阶段:前后端对接 +| 序号 | 任务 | 文档 | 状态 | +|------|------|------|------| +| 5.1 | APP 对接后端 API | `05-前后端对接/01-APP对接后端.md` | ⬜ 待审议 | +| 5.2 | Web 对接后端 API | `05-前后端对接/02-Web对接后端.md` | ⬜ 待审议 | + +--- + +## 状态说明 + +| 标记 | 含义 | +|------|------| +| ⬜ | 待审议 | +| ✅ | 已通过 | +| 🔄 | 开发中 | +| ✔️ | 已完成 | + +--- + +## 审议流程 + +1. 按顺序查看每个文档 +2. 确认无误后标记"已通过" +3. 如需修改,在对话中说明 +4. 通过后开始执行对应开发任务 + +--- + +## 依赖关系 + +``` +第一阶段:环境搭建 (并行) + ├── APP环境 (React Native) + └── Web环境 (Vue 3) + ↓ +第二阶段:APP 原型开发 ──┐ + ├── 使用模拟数据,可完整交互演示 +第三阶段:Web 原型开发 ──┘ + ↓ +第四阶段:后端开发 (顺序) + 环境初始化 → 数据库模型 → 用户认证 → 健康调查 → 体质辨识 → AI对话 → 健康档案 → 保健品关联 + ↓ +第五阶段:前后端对接 + APP对接 + Web对接 → 联调测试 +``` + +--- + +## 模拟数据说明 + +原型阶段使用本地模拟数据,确保界面可完整交互: + +| 模块 | 模拟数据内容 | 数据文件 | +|------|------------|----------| +| 用户认证 | 预设测试账号,模拟登录 | `mock/user.ts` | +| 体质测试 | 60道问卷题目,本地计算结果 | `mock/constitution.ts` | +| 体质结果 | 9种体质详细描述和建议 | `mock/constitution.ts` | +| AI对话 | 预设问答对,模拟多轮对话 | `mock/chat.ts` | +| 产品推荐 | 36条保健品数据 | `mock/products.ts` | + +--- + +## 外部系统关联 + +| 系统 | 说明 | 对接方式 | +|------|------|----------| +| 保健品商城 | 关联保健品销售系统 | 产品链接跳转(mall_url) | +| 阿里云 AI | 通义千问大模型 | API 调用(后端对接)| + +--- + +## 后续扩展(暂不开发) + +| 功能 | 类型 | 备注 | +|------|------|------| +| 会员系统 | 积分制 | 消费/签到积分兑换权益 | diff --git a/TODOS/01-环境搭建/01-APP-ReactNative环境搭建.md b/TODOS/01-环境搭建/01-APP-ReactNative环境搭建.md new file mode 100644 index 0000000..c79a74e --- /dev/null +++ b/TODOS/01-环境搭建/01-APP-ReactNative环境搭建.md @@ -0,0 +1,148 @@ +# 01-APP React Native 环境搭建 + +## 目标 + +搭建 React Native 开发环境,确保可以正常创建和运行项目。 + +--- + +## 环境要求 + +| 工具 | 版本要求 | 说明 | +|------|----------|------| +| Node.js | 18+ | JavaScript 运行环境 | +| npm/yarn | 最新版 | 包管理器 | +| JDK | 17+ | Android 编译需要 | +| Android Studio | 最新版 | Android 开发环境 | +| Xcode | 14+ | iOS 开发环境(仅 macOS) | + +--- + +## 实施步骤 + +### 步骤 1:安装 Node.js + +```bash +# 下载并安装 Node.js 18+ +# https://nodejs.org/ + +# 验证安装 +node -v +npm -v +``` + +### 步骤 2:安装 JDK(Android 开发) + +```bash +# Windows:下载 OpenJDK 17 +# https://adoptium.net/ + +# macOS:使用 Homebrew +brew install openjdk@17 + +# 配置环境变量 +# JAVA_HOME 指向 JDK 安装目录 +``` + +### 步骤 3:安装 Android Studio + +1. 下载 Android Studio:https://developer.android.com/studio +2. 安装时选择以下组件: + - Android SDK + - Android SDK Platform + - Android Virtual Device +3. 打开 SDK Manager,安装: + - Android 14 (API 34) + - Android SDK Build-Tools 34 + - Android SDK Command-line Tools + - Android Emulator +4. 配置环境变量: + ```bash + # Windows (添加到系统环境变量) + ANDROID_HOME=C:\Users\<用户名>\AppData\Local\Android\Sdk + + # macOS/Linux (添加到 ~/.zshrc 或 ~/.bashrc) + export ANDROID_HOME=$HOME/Library/Android/sdk + export PATH=$PATH:$ANDROID_HOME/emulator + export PATH=$PATH:$ANDROID_HOME/platform-tools + ``` + +### 步骤 4:创建 Android 模拟器 + +1. 打开 Android Studio +2. 进入 Device Manager +3. 创建新设备: + - 选择 Pixel 6 + - 选择 API 34 系统镜像 + - 完成创建 + +### 步骤 5:安装 Xcode(仅 macOS) + +```bash +# 从 App Store 安装 Xcode + +# 安装命令行工具 +xcode-select --install + +# 安装 CocoaPods +sudo gem install cocoapods +``` + +### 步骤 6:验证环境 + +```bash +# 创建测试项目 +npx react-native init TestApp --template react-native-template-typescript + +# 进入项目 +cd TestApp + +# 启动 Metro +npm start + +# 新终端运行 Android +npm run android + +# 或运行 iOS (macOS) +npm run ios +``` + +--- + +## 常见问题 + +### Android 构建失败 +- 检查 ANDROID_HOME 环境变量 +- 检查 JDK 版本是否为 17+ +- 运行 `cd android && ./gradlew clean` + +### iOS 构建失败 +- 运行 `cd ios && pod install` +- 检查 Xcode 版本 + +### Metro 启动失败 +- 清除缓存:`npm start -- --reset-cache` +- 删除 node_modules 重新安装 + +--- + +## 验收标准 + +- [ ] Node.js 18+ 已安装 +- [ ] Android Studio 已安装 +- [ ] Android 模拟器可正常启动 +- [ ] 测试项目可在模拟器运行 +- [ ] (macOS) Xcode 已安装 +- [ ] (macOS) iOS 模拟器可正常运行 + +--- + +## 预计耗时 + +30-60 分钟(视网络情况) + +--- + +## 下一步 + +完成后进入 `01-环境搭建/02-Web前端Vue环境搭建.md` diff --git a/TODOS/01-环境搭建/02-Web前端Vue环境搭建.md b/TODOS/01-环境搭建/02-Web前端Vue环境搭建.md new file mode 100644 index 0000000..3103082 --- /dev/null +++ b/TODOS/01-环境搭建/02-Web前端Vue环境搭建.md @@ -0,0 +1,107 @@ +# 02-Web 前端 Vue 环境搭建 + +## 目标 + +搭建 Vue 3 + TypeScript + Vite 开发环境。 + +--- + +## 前置要求 + +- Node.js 18+ +- npm 或 pnpm 包管理器 + +--- + +## 实施步骤 + +### 步骤 1:安装 Node.js + +**Windows:** +1. 下载 Node.js LTS:https://nodejs.org/ +2. 选择 Windows Installer (.msi) +3. 双击安装,默认配置即可 +4. 验证: + ```bash + node -v + # 输出: v18.x.x 或更高 + npm -v + # 输出: 9.x.x 或更高 + ``` + +**macOS:** +```bash +brew install node +node -v +npm -v +``` + +**Linux:** +```bash +curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - +sudo apt-get install -y nodejs +node -v +npm -v +``` + +### 步骤 2:配置 npm 镜像(国内加速) + +```bash +npm config set registry https://registry.npmmirror.com +npm config get registry +# 输出: https://registry.npmmirror.com +``` + +### 步骤 3:安装 pnpm(推荐) + +```bash +npm install -g pnpm +pnpm -v +``` + +### 步骤 4:验证 Vite 可用 + +```bash +# 创建测试项目 +npm create vite@latest vue-test -- --template vue-ts + +cd vue-test +npm install +npm run dev + +# 浏览器访问 http://localhost:5173 看到 Vue 页面即成功 +``` + +### 步骤 5:安装开发工具(可选) + +VSCode 推荐扩展: +- Vue - Official(Vue 官方扩展) +- TypeScript Vue Plugin (Volar) +- ESLint +- Prettier + +--- + +## 需要创建的文件 + +本步骤无需创建项目文件,仅环境配置。 + +--- + +## 验收标准 + +- [ ] `node -v` 显示 18+ +- [ ] `npm config get registry` 显示国内镜像 +- [ ] Vite 测试项目可以正常启动 + +--- + +## 预计耗时 + +10-15 分钟 + +--- + +## 下一步 + +完成后进入 `01-环境搭建/03-APP-ReactNative环境搭建.md` diff --git a/TODOS/01-环境搭建/03-APP-ReactNative环境搭建.md b/TODOS/01-环境搭建/03-APP-ReactNative环境搭建.md new file mode 100644 index 0000000..35e47af --- /dev/null +++ b/TODOS/01-环境搭建/03-APP-ReactNative环境搭建.md @@ -0,0 +1,165 @@ +# 03-APP React Native 环境搭建 + +## 目标 + +搭建 React Native 开发环境,支持 Android 和 iOS 开发。 + +--- + +## 前置要求 + +- Node.js 18+(已在上一步安装) +- JDK 17(Android 开发) +- Android Studio(Android 模拟器) +- Xcode(iOS 开发,仅 macOS) + +--- + +## 实施步骤 + +### 步骤 1:安装 JDK 17 + +**Windows:** + +1. 下载 OpenJDK 17:https://adoptium.net/ +2. 选择 Windows x64 Installer +3. 安装并配置环境变量: + ``` + JAVA_HOME = C:\Program Files\Eclipse Adoptium\jdk-17.x.x + Path 添加 %JAVA_HOME%\bin + ``` +4. 验证: + ```bash + java -version + # 输出: openjdk version "17.x.x" + ``` + +**macOS:** + +```bash +brew install openjdk@17 +echo 'export JAVA_HOME=$(/usr/libexec/java_home -v17)' >> ~/.zshrc +source ~/.zshrc +java -version +``` + +### 步骤 2:安装 Android Studio + +1. 下载:https://developer.android.com/studio +2. 安装时选择: + - Android SDK + - Android SDK Platform + - Android Virtual Device +3. 打开 Android Studio → SDK Manager +4. 安装 Android 13 (API 33) 或 Android 14 (API 34) +5. 配置环境变量: + +**Windows:** + +``` +ANDROID_HOME = C:\Users\<用户名>\AppData\Local\Android\Sdk +Path 添加: + %ANDROID_HOME%\platform-tools + %ANDROID_HOME%\emulator +``` + +**macOS/Linux:** + +```bash +echo 'export ANDROID_HOME=$HOME/Library/Android/sdk' >> ~/.zshrc +echo 'export PATH=$PATH:$ANDROID_HOME/platform-tools' >> ~/.zshrc +echo 'export PATH=$PATH:$ANDROID_HOME/emulator' >> ~/.zshrc +source ~/.zshrc +``` + +### 步骤 3:创建 Android 模拟器 + +1. 打开 Android Studio +2. Tools → Device Manager → Create Device +3. 选择 Pixel 6 或其他设备 +4. 选择系统镜像(推荐 API 33/34) +5. 完成创建并启动模拟器 + +### 步骤 4:安装 React Native CLI + +```bash +npm install -g react-native-cli +``` + +### 步骤 5:验证环境 + +```bash +# 创建测试项目 +npx react-native init RNTest --template react-native-template-typescript + +cd RNTest + +# 启动 Metro bundler +npm start + +# 新终端运行 Android +npm run android +# 或运行 iOS(仅 macOS) +npm run ios +``` + +### 步骤 6:iOS 环境(仅 macOS) + +```bash +# 安装 Xcode(App Store) +# 安装命令行工具 +xcode-select --install + +# 安装 CocoaPods +sudo gem install cocoapods + +# 在项目 ios 目录 +cd ios && pod install && cd .. +``` + +--- + +## 常见问题 + +### Android 模拟器启动失败 + +- 确保 BIOS 开启虚拟化(VT-x / AMD-V)- Windows 需开启 Hyper-V 或 HAXM + +### Metro bundler 端口占用 + +```bash +npx react-native start --port 8082 +``` + +### Gradle 下载慢 + +编辑 `android/gradle/wrapper/gradle-wrapper.properties`,使用国内镜像 + +--- + +## 需要创建的文件 + +本步骤无需创建项目文件,仅环境配置。 + +--- + +## 验收标准 + +- [ ] `java -version` 显示 JDK 17 +- [ ] `adb devices` 可列出模拟器/设备 +- [ ] 测试项目在模拟器正常运行 + +--- + +## 预计耗时 + +30-60 分钟(主要是下载时间) + +--- + +## 下一步 + +完成后进入 `02-后端开发/01-项目结构初始化.md` +\ +' +][;plplpl"lkkjijijijijijiiiiiii]' diff --git a/TODOS/02-APP原型开发/01-项目初始化和模拟数据.md b/TODOS/02-APP原型开发/01-项目初始化和模拟数据.md new file mode 100644 index 0000000..43c6759 --- /dev/null +++ b/TODOS/02-APP原型开发/01-项目初始化和模拟数据.md @@ -0,0 +1,745 @@ +# 01-项目初始化和模拟数据 + +## 目标 + +初始化 React Native 项目并搭建模拟数据服务,为原型开发提供完整的数据支持。 + +--- + +## 前置要求 + +- 已完成 React Native 环境搭建 +- Node.js 18+ +- Android Studio / Xcode + +--- + +## 实施步骤 + +### 步骤 1:创建 React Native 项目 + +```bash +# 进入项目目录 +cd I:/apps/demo/healthApps + +# 创建 React Native 项目 +npx react-native init HealthAIApp --template react-native-template-typescript + +# 进入项目 +cd HealthAIApp +``` + +### 步骤 2:安装核心依赖 + +```bash +# 导航 +npm install @react-navigation/native @react-navigation/bottom-tabs @react-navigation/native-stack +npm install react-native-screens react-native-safe-area-context + +# UI 组件库 +npm install react-native-paper react-native-vector-icons + +# 状态管理 +npm install zustand + +# 图表 +npm install react-native-gifted-charts react-native-linear-gradient react-native-svg + +# 存储 +npm install @react-native-async-storage/async-storage + +# 表单 +npm install react-hook-form + +# 工具 +npm install dayjs lodash-es +npm install -D @types/lodash-es +``` + +### 步骤 3:创建项目目录结构 + +``` +HealthAIApp/ +├── src/ +│ ├── api/ # API 接口(后续对接用) +│ ├── components/ # 公共组件 +│ │ ├── Button.tsx +│ │ ├── Card.tsx +│ │ ├── Input.tsx +│ │ └── Loading.tsx +│ ├── mock/ # 模拟数据 ⭐ +│ │ ├── index.ts # 统一导出 +│ │ ├── user.ts # 用户数据 +│ │ ├── constitution.ts # 体质问卷和结果 +│ │ ├── chat.ts # AI 对话数据 +│ │ └── products.ts # 产品数据 +│ ├── navigation/ # 导航配置 +│ │ └── index.tsx +│ ├── screens/ # 页面 +│ │ ├── auth/ # 登录相关 +│ │ ├── home/ # 首页 +│ │ ├── constitution/ # 体质辨识 +│ │ ├── chat/ # AI 对话 +│ │ └── profile/ # 个人中心 +│ ├── services/ # 业务服务 +│ │ └── mockService.ts # 模拟服务 +│ ├── stores/ # Zustand 状态 +│ │ ├── useAuthStore.ts +│ │ ├── useConstitutionStore.ts +│ │ └── useChatStore.ts +│ ├── theme/ # 主题配置 +│ │ └── index.ts +│ ├── types/ # TypeScript 类型 +│ │ └── index.ts +│ └── utils/ # 工具函数 +│ └── index.ts +├── App.tsx +└── package.json +``` + +### 步骤 4:创建模拟数据服务 + +#### 4.1 类型定义 `src/types/index.ts` + +```typescript +// 用户类型 +export interface User { + id: number; + phone: string; + nickname: string; + avatar: string; + surveyCompleted: boolean; +} + +// 体质类型 +export type ConstitutionType = + | 'pinghe' // 平和质 + | 'qixu' // 气虚质 + | 'yangxu' // 阳虚质 + | 'yinxu' // 阴虚质 + | 'tanshi' // 痰湿质 + | 'shire' // 湿热质 + | 'xueyu' // 血瘀质 + | 'qiyu' // 气郁质 + | 'tebing'; // 特禀质 + +// 体质问卷题目 +export interface ConstitutionQuestion { + id: number; + constitutionType: ConstitutionType; + question: string; + options: { value: number; label: string }[]; +} + +// 体质评估结果 +export interface ConstitutionResult { + primaryType: ConstitutionType; + scores: Record; + description: string; + suggestions: string[]; + assessedAt: string; +} + +// 对话消息 +export interface Message { + id: string; + role: 'user' | 'assistant'; + content: string; + createdAt: string; +} + +// 对话 +export interface Conversation { + id: string; + title: string; + messages: Message[]; + createdAt: string; + updatedAt: string; +} + +// 产品 +export interface Product { + id: number; + name: string; + category: string; + description: string; + efficacy: string; + price: number; + imageUrl: string; + mallUrl: string; +} +``` + +#### 4.2 用户模拟数据 `src/mock/user.ts` + +```typescript +import { User } from '../types'; + +// 测试用户 +export const mockUsers: User[] = [ + { + id: 1, + phone: '13800138000', + nickname: '健康达人', + avatar: 'https://api.dicebear.com/7.x/avataaars/png?seed=1', + surveyCompleted: true, + }, + { + id: 2, + phone: '13900139000', + nickname: '新用户', + avatar: 'https://api.dicebear.com/7.x/avataaars/png?seed=2', + surveyCompleted: false, + }, +]; + +// 模拟登录 +export const mockLogin = (phone: string, code: string): Promise => { + return new Promise((resolve) => { + setTimeout(() => { + // 验证码固定为 123456 + if (code !== '123456') { + resolve(null); + return; + } + const user = mockUsers.find((u) => u.phone === phone); + resolve(user || mockUsers[0]); // 默认返回第一个用户 + }, 800); + }); +}; +``` + +#### 4.3 体质问卷模拟数据 `src/mock/constitution.ts` + +```typescript +import { ConstitutionQuestion, ConstitutionResult, ConstitutionType } from '../types'; + +// 体质类型中文名 +export const constitutionNames: Record = { + pinghe: '平和质', + qixu: '气虚质', + yangxu: '阳虚质', + yinxu: '阴虚质', + tanshi: '痰湿质', + shire: '湿热质', + xueyu: '血瘀质', + qiyu: '气郁质', + tebing: '特禀质', +}; + +// 体质描述 +export const constitutionDescriptions: Record = { + pinghe: { + description: '阴阳气血调和,体态适中,面色红润,精力充沛', + features: ['体态匀称', '面色红润', '精力充沛', '睡眠良好', '性格开朗'], + suggestions: ['保持均衡饮食', '适度运动', '规律作息', '心态平和'], + }, + qixu: { + description: '元气不足,容易疲乏,气短懒言,易出汗', + features: ['容易疲劳', '气短懒言', '易出汗', '抵抗力差', '声音低弱'], + suggestions: ['多食补气食物(黄芪、人参、山药)', '避免过度劳累', '适当午休', '温和运动'], + }, + yangxu: { + description: '阳气不足,畏寒怕冷,手脚冰凉,精神不振', + features: ['畏寒怕冷', '手脚冰凉', '喜热饮食', '精神不振', '小便清长'], + suggestions: ['多食温阳食物(羊肉、生姜、桂圆)', '注意保暖', '避免寒凉', '晒太阳'], + }, + yinxu: { + description: '阴液亏少,口燥咽干,手足心热,易失眠', + features: ['口干咽燥', '手足心热', '失眠多梦', '皮肤干燥', '大便干结'], + suggestions: ['多食滋阴食物(枸杞、银耳、百合)', '避免熬夜', '少食辛辣', '保持心情平静'], + }, + tanshi: { + description: '痰湿凝聚,体形肥胖,腹部肥满,胸闷痰多', + features: ['体形肥胖', '腹部肥满', '胸闷痰多', '身重乏力', '面部油腻'], + suggestions: ['控制饮食', '多食祛湿食物(薏米、冬瓜)', '加强运动', '少食甜腻'], + }, + shire: { + description: '湿热内蕴,面垢油光,口苦口干,身重困倦', + features: ['面部油腻', '口苦口干', '身重困倦', '大便黏滞', '小便短黄'], + suggestions: ['清淡饮食', '多食清热利湿食物', '避免辛辣油腻', '保持环境干燥'], + }, + xueyu: { + description: '血行不畅,面色晦暗,皮肤粗糙,易生斑点', + features: ['面色晦暗', '皮肤粗糙', '易生色斑', '唇色偏暗', '健忘'], + suggestions: ['多食活血食物(山楂、黑木耳)', '适当运动', '避免久坐', '保持心情舒畅'], + }, + qiyu: { + description: '气机郁滞,情志抑郁,忧虑脆弱,胸胁胀满', + features: ['情绪低落', '忧虑善感', '胸胁胀满', '咽部异物感', '睡眠不佳'], + suggestions: ['疏肝理气', '多食理气食物(玫瑰花、陈皮)', '保持心情愉快', '多交流倾诉'], + }, + tebing: { + description: '先天失常,易过敏,适应能力差', + features: ['易过敏', '喷嚏频繁', '皮肤易起疹', '适应力差', '遗传倾向'], + suggestions: ['避免过敏原', '增强体质', '饮食清淡', '注意环境卫生'], + }, +}; + +// 体质问卷题目(共60题,每种体质7题,平和质4题) +export const constitutionQuestions: ConstitutionQuestion[] = [ + // 气虚质 (7题) + { id: 1, constitutionType: 'qixu', question: '您容易疲乏吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 2, constitutionType: 'qixu', question: '您容易气短(呼吸短促,接不上气)吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 3, constitutionType: 'qixu', question: '您容易心慌吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 4, constitutionType: 'qixu', question: '您容易头晕或站起时晕眩吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 5, constitutionType: 'qixu', question: '您比别人容易感冒吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 6, constitutionType: 'qixu', question: '您喜欢安静、懒得说话吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 7, constitutionType: 'qixu', question: '您说话声音低弱无力吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + + // 阳虚质 (7题) + { id: 8, constitutionType: 'yangxu', question: '您手脚发凉吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 9, constitutionType: 'yangxu', question: '您胃脘部、背部或腰膝部怕冷吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 10, constitutionType: 'yangxu', question: '您比一般人耐受不了寒冷吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 11, constitutionType: 'yangxu', question: '您容易感受风寒吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 12, constitutionType: 'yangxu', question: '您吃(喝)凉的东西会感到不舒服或者怕吃凉的东西吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 13, constitutionType: 'yangxu', question: '您受凉或吃凉的东西后,容易拉肚子吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 14, constitutionType: 'yangxu', question: '您比别人更容易患感冒吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + + // 阴虚质 (7题) + { id: 15, constitutionType: 'yinxu', question: '您感到手脚心发热吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 16, constitutionType: 'yinxu', question: '您感觉身体、脸上发热吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 17, constitutionType: 'yinxu', question: '您皮肤或口唇干吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 18, constitutionType: 'yinxu', question: '您口唇的颜色比一般人红吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 19, constitutionType: 'yinxu', question: '您容易便秘或大便干燥吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 20, constitutionType: 'yinxu', question: '您面部两颧潮红或偏红吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 21, constitutionType: 'yinxu', question: '您感到眼睛干涩吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + + // 痰湿质 (7题) + { id: 22, constitutionType: 'tanshi', question: '您感到胸闷或腹部胀满吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 23, constitutionType: 'tanshi', question: '您感到身体沉重不轻松或不爽快吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 24, constitutionType: 'tanshi', question: '您腹部肥满松软吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 25, constitutionType: 'tanshi', question: '您有额部油脂分泌多的现象吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 26, constitutionType: 'tanshi', question: '您上眼睑比别人肿(上眼睑有轻微隆起的现象)吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 27, constitutionType: 'tanshi', question: '您嘴里有黏黏的感觉吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 28, constitutionType: 'tanshi', question: '您平时痰多,特别是咽喉部总感到有痰堵着吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + + // 湿热质 (7题) + { id: 29, constitutionType: 'shire', question: '您面部或鼻部有油腻感或者油亮发光吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 30, constitutionType: 'shire', question: '您容易生痤疮或者疮疖吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 31, constitutionType: 'shire', question: '您感到口苦或嘴里有异味吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 32, constitutionType: 'shire', question: '您大便黏滞不爽、有解不尽的感觉吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 33, constitutionType: 'shire', question: '您小便时尿道有发热感、尿色浓(深)吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 34, constitutionType: 'shire', question: '您带下色黄(白带颜色发黄)吗?(限女性回答)', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 35, constitutionType: 'shire', question: '您的阴囊部位潮湿吗?(限男性回答)', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + + // 血瘀质 (7题) + { id: 36, constitutionType: 'xueyu', question: '您的皮肤在不知不觉中会出现青紫瘀斑(皮下出血)吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 37, constitutionType: 'xueyu', question: '您两颧部有细微红丝(毛细血管扩张)吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 38, constitutionType: 'xueyu', question: '您身体上有哪里疼痛吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 39, constitutionType: 'xueyu', question: '您面色晦暗或容易出现褐斑吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 40, constitutionType: 'xueyu', question: '您容易有黑眼圈吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 41, constitutionType: 'xueyu', question: '您容易忘事(健忘)吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 42, constitutionType: 'xueyu', question: '您口唇颜色偏暗吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + + // 气郁质 (7题) + { id: 43, constitutionType: 'qiyu', question: '您感到闷闷不乐、情绪低沉吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 44, constitutionType: 'qiyu', question: '您容易精神紧张、焦虑不安吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 45, constitutionType: 'qiyu', question: '您多愁善感、感情脆弱吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 46, constitutionType: 'qiyu', question: '您容易感到害怕或受到惊吓吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 47, constitutionType: 'qiyu', question: '您胁肋部或乳房胀痛吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 48, constitutionType: 'qiyu', question: '您无缘无故叹气吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 49, constitutionType: 'qiyu', question: '您咽喉部有异物感,且吐之不出、咽之不下吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + + // 特禀质 (7题) + { id: 50, constitutionType: 'tebing', question: '您没有感冒时也会打喷嚏吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 51, constitutionType: 'tebing', question: '您没有感冒时也会鼻塞、流鼻涕吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 52, constitutionType: 'tebing', question: '您有因季节变化、温度变化或异味等原因而咳喘的现象吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 53, constitutionType: 'tebing', question: '您容易过敏(对药物、食物、气味、花粉或在季节交替、气候变化时)吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 54, constitutionType: 'tebing', question: '您的皮肤容易起荨麻疹(风团、风疹块、风疙瘩)吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 55, constitutionType: 'tebing', question: '您的皮肤一抓就红,并出现抓痕吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 56, constitutionType: 'tebing', question: '您的皮肤在不知不觉中会出现紫红色瘀点、瘀斑吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + + // 平和质 (4题) + { id: 57, constitutionType: 'pinghe', question: '您精力充沛吗?', options: [ + { value: 5, label: '总是' }, { value: 4, label: '经常' }, { value: 3, label: '有时' }, { value: 2, label: '很少' }, { value: 1, label: '从不' } + ]}, + { id: 58, constitutionType: 'pinghe', question: '您容易疲乏吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 59, constitutionType: 'pinghe', question: '您说话声音低弱无力吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, + { id: 60, constitutionType: 'pinghe', question: '您感到闷闷不乐、情绪低沉吗?', options: [ + { value: 1, label: '从不' }, { value: 2, label: '很少' }, { value: 3, label: '有时' }, { value: 4, label: '经常' }, { value: 5, label: '总是' } + ]}, +]; + +// 计算体质结果 +export const calculateConstitution = ( + answers: Record +): ConstitutionResult => { + const scores: Record = { + pinghe: 0, qixu: 0, yangxu: 0, yinxu: 0, tanshi: 0, + shire: 0, xueyu: 0, qiyu: 0, tebing: 0, + }; + + // 计算各体质得分 + constitutionQuestions.forEach((q) => { + const answer = answers[q.id] || 3; + scores[q.constitutionType] += answer; + }); + + // 转换为百分制 + const questionCounts: Record = { + pinghe: 4, qixu: 7, yangxu: 7, yinxu: 7, tanshi: 7, + shire: 7, xueyu: 7, qiyu: 7, tebing: 7, + }; + + Object.keys(scores).forEach((key) => { + const type = key as ConstitutionType; + const count = questionCounts[type]; + // 转换公式:(原始分 - 题目数) / (题目数 * 4) * 100 + scores[type] = Math.round(((scores[type] - count) / (count * 4)) * 100); + }); + + // 平和质特殊处理(反向计算) + scores.pinghe = 100 - scores.pinghe; + + // 找出主体质(平和质需要特殊判断) + let primaryType: ConstitutionType = 'pinghe'; + + // 平和质判定:平和质得分≥60,且其他偏颇体质得分<40 + const isPinghe = scores.pinghe >= 60 && + Object.entries(scores) + .filter(([k]) => k !== 'pinghe') + .every(([, v]) => v < 40); + + if (!isPinghe) { + // 找最高分的偏颇体质 + let maxScore = 0; + Object.entries(scores).forEach(([type, score]) => { + if (type !== 'pinghe' && score > maxScore) { + maxScore = score; + primaryType = type as ConstitutionType; + } + }); + } + + const info = constitutionDescriptions[primaryType]; + + return { + primaryType, + scores, + description: info.description, + suggestions: info.suggestions, + assessedAt: new Date().toISOString(), + }; +}; +``` + +#### 4.4 AI对话模拟数据 `src/mock/chat.ts` + +```typescript +import { Conversation, Message } from '../types'; + +// 预设对话模板 +export const chatTemplates: Record = { + greeting: [ + '您好!我是健康AI助手,很高兴为您服务。', + '我可以根据您的体质特点,为您提供个性化的健康建议。', + '请问有什么可以帮助您的吗?', + ], + fatigue: [ + '【情况分析】根据您描述的疲劳症状,结合您的气虚体质,这可能与气血不足有关。', + '【建议】\n1. 保证充足睡眠,每天7-8小时\n2. 适当运动,如太极、散步\n3. 饮食上多吃补气食物', + '【用药参考】\n- 黄芪精口服液:每日2次,每次1支(建议咨询药师)', + '【推荐调养产品】\n- 黄芪精口服液 ¥68 [点击购买](https://mall.example.com/product/1)', + '【提醒】如果疲劳症状持续超过2周且伴有其他不适,建议就医检查。', + ], + sleep: [ + '【情况分析】失眠问题可能与您的阴虚体质有关,阴虚容易导致心神不宁。', + '【建议】\n1. 睡前避免使用电子设备\n2. 保持卧室温度适宜\n3. 睡前可以泡脚、喝温牛奶', + '【用药参考】\n- 酸枣仁膏:睡前30分钟服用(建议咨询药师)', + '【推荐调养产品】\n- 酸枣仁百合膏 ¥58 [点击购买](https://mall.example.com/product/30)', + '【提醒】如长期严重失眠,建议到医院睡眠科就诊。', + ], + joint: [ + '【情况分析】关节疼痛在中老年人群中较为常见,可能与骨关节退化有关。', + '【建议】\n1. 适度运动,避免长时间保持同一姿势\n2. 注意关节保暖\n3. 控制体重减轻关节负担', + '【用药参考】\n- 氨糖软骨素:每日1-2次,每次2粒(建议咨询药师)', + '【推荐调养产品】\n- 氨糖软骨素钙片 ¥168 [点击购买](https://mall.example.com/product/24)', + '【提醒】如关节疼痛加重或出现红肿,请及时就医。', + ], + default: [ + '感谢您的咨询!根据您的描述,我为您提供以下建议:', + '1. 保持良好的作息习惯\n2. 均衡饮食,多吃蔬果\n3. 适当运动,增强体质', + '如果症状持续或加重,建议您及时就医检查。还有其他问题吗?', + ], +}; + +// 模拟对话历史 +export const mockConversations: Conversation[] = [ + { + id: '1', + title: '关于疲劳的咨询', + messages: [ + { id: '1-1', role: 'user', content: '最近总是感觉很累,没精神', createdAt: '2024-01-15T10:00:00Z' }, + { id: '1-2', role: 'assistant', content: chatTemplates.fatigue.join('\n\n'), createdAt: '2024-01-15T10:00:05Z' }, + ], + createdAt: '2024-01-15T10:00:00Z', + updatedAt: '2024-01-15T10:00:05Z', + }, + { + id: '2', + title: '睡眠问题咨询', + messages: [ + { id: '2-1', role: 'user', content: '晚上睡不着觉怎么办', createdAt: '2024-01-14T22:00:00Z' }, + { id: '2-2', role: 'assistant', content: chatTemplates.sleep.join('\n\n'), createdAt: '2024-01-14T22:00:05Z' }, + ], + createdAt: '2024-01-14T22:00:00Z', + updatedAt: '2024-01-14T22:00:05Z', + }, +]; + +// 模拟AI回复 +export const mockAIReply = (message: string): Promise => { + return new Promise((resolve) => { + setTimeout(() => { + // 简单关键词匹配 + const lowerMsg = message.toLowerCase(); + + if (lowerMsg.includes('累') || lowerMsg.includes('疲劳') || lowerMsg.includes('没精神')) { + resolve(chatTemplates.fatigue.join('\n\n')); + } else if (lowerMsg.includes('睡') || lowerMsg.includes('失眠')) { + resolve(chatTemplates.sleep.join('\n\n')); + } else if (lowerMsg.includes('关节') || lowerMsg.includes('腿疼') || lowerMsg.includes('膝盖')) { + resolve(chatTemplates.joint.join('\n\n')); + } else if (lowerMsg.includes('你好') || lowerMsg.includes('在吗')) { + resolve(chatTemplates.greeting.join('\n\n')); + } else { + resolve(chatTemplates.default.join('\n\n')); + } + }, 1500); // 模拟网络延迟 + }); +}; +``` + +#### 4.5 产品模拟数据 `src/mock/products.ts` + +```typescript +import { Product } from '../types'; + +export const mockProducts: Product[] = [ + // 补气类 + { id: 1, name: '黄芪精口服液', category: '补气类', description: '补气固表,增强免疫力', efficacy: '适用于气虚质、易疲劳人群', price: 68, imageUrl: '', mallUrl: 'https://mall.example.com/product/1' }, + { id: 2, name: '人参蜂王浆', category: '补气类', description: '补气养血,改善疲劳', efficacy: '适用于气虚质、体力不足人群', price: 128, imageUrl: '', mallUrl: 'https://mall.example.com/product/2' }, + + // 温阳类 + { id: 4, name: '鹿茸参精胶囊', category: '温阳类', description: '温肾壮阳,补气养血', efficacy: '适用于阳虚质、畏寒怕冷人群', price: 268, imageUrl: '', mallUrl: 'https://mall.example.com/product/4' }, + { id: 5, name: '桂圆红枣茶', category: '温阳类', description: '温中补血,养心安神', efficacy: '适用于阳虚质、手脚冰凉人群', price: 45, imageUrl: '', mallUrl: 'https://mall.example.com/product/5' }, + + // 滋阴类 + { id: 6, name: '枸杞原浆', category: '滋阴类', description: '滋补肝肾,明目润肺', efficacy: '适用于阴虚质、眼睛干涩人群', price: 158, imageUrl: '', mallUrl: 'https://mall.example.com/product/6' }, + + // 心脑血管类 + { id: 21, name: '深海鱼油软胶囊', category: '心脑血管类', description: '辅助降血脂,保护心脑血管', efficacy: '适用于高血脂、动脉硬化人群', price: 128, imageUrl: '', mallUrl: 'https://mall.example.com/product/21' }, + { id: 22, name: '纳豆激酶胶囊', category: '心脑血管类', description: '溶解血栓,改善血液循环', efficacy: '适用于中老年心脑血管亚健康人群', price: 198, imageUrl: '', mallUrl: 'https://mall.example.com/product/22' }, + + // 骨关节类 + { id: 24, name: '氨糖软骨素钙片', category: '骨关节类', description: '修复软骨,润滑关节,补充钙质', efficacy: '适用于关节疼痛、骨质疏松人群', price: 168, imageUrl: '', mallUrl: 'https://mall.example.com/product/24' }, + { id: 25, name: '液体钙维D软胶囊', category: '骨关节类', description: '补钙,促进钙吸收,预防骨质疏松', efficacy: '适用于中老年人、骨质疏松人群', price: 78, imageUrl: '', mallUrl: 'https://mall.example.com/product/25' }, + + // 助眠安神类 + { id: 29, name: '褪黑素维生素B6片', category: '助眠安神类', description: '改善睡眠,调节生物钟', efficacy: '适用于失眠、睡眠质量差人群', price: 68, imageUrl: '', mallUrl: 'https://mall.example.com/product/29' }, + { id: 30, name: '酸枣仁百合膏', category: '助眠安神类', description: '养心安神,改善睡眠', efficacy: '适用于心烦失眠、多梦易醒人群', price: 58, imageUrl: '', mallUrl: 'https://mall.example.com/product/30' }, + + // 增强免疫类 + { id: 36, name: '灵芝孢子粉胶囊', category: '增强免疫类', description: '增强免疫力,抗疲劳', efficacy: '适用于免疫力低下、体质虚弱人群', price: 298, imageUrl: '', mallUrl: 'https://mall.example.com/product/36' }, +]; + +// 根据体质获取推荐产品 +export const getProductsByConstitution = (constitutionType: string): Product[] => { + const mapping: Record = { + qixu: [1, 2, 36], + yangxu: [4, 5], + yinxu: [6, 30], + tanshi: [9, 10], + xueyu: [21, 22], + pinghe: [20, 36], + }; + + const ids = mapping[constitutionType] || [20, 36]; + return mockProducts.filter((p) => ids.includes(p.id)); +}; +``` + +#### 4.6 统一导出 `src/mock/index.ts` + +```typescript +export * from './user'; +export * from './constitution'; +export * from './chat'; +export * from './products'; +``` + +### 步骤 5:创建主题配置 + +创建 `src/theme/index.ts`: + +```typescript +import { MD3LightTheme } from 'react-native-paper'; + +export const theme = { + ...MD3LightTheme, + colors: { + ...MD3LightTheme.colors, + primary: '#52C41A', // 主色调 - 健康绿 + secondary: '#1890FF', // 辅助色 - 蓝色 + background: '#F5F5F5', // 背景色 + surface: '#FFFFFF', // 卡片背景 + error: '#FF4D4F', // 错误色 + text: '#333333', // 主要文字 + textSecondary: '#666666', // 次要文字 + border: '#E8E8E8', // 边框色 + }, + roundness: 12, // 圆角 +}; + +export const spacing = { + xs: 4, + sm: 8, + md: 16, + lg: 24, + xl: 32, +}; +``` + +--- + +## 验收标准 + +- [ ] React Native 项目创建成功 +- [ ] 所有依赖安装完成 +- [ ] 目录结构创建完成 +- [ ] 模拟数据文件创建完成 +- [ ] 类型定义完整 +- [ ] 项目可正常启动(空白页面) + +--- + +## 预计耗时 + +40-60 分钟 + +--- + +## 下一步 + +完成后进入 `02-APP原型开发/02-导航和布局设计.md` diff --git a/TODOS/02-APP原型开发/02-导航和布局设计.md b/TODOS/02-APP原型开发/02-导航和布局设计.md new file mode 100644 index 0000000..280c17c --- /dev/null +++ b/TODOS/02-APP原型开发/02-导航和布局设计.md @@ -0,0 +1,479 @@ +# 02-导航和布局设计 + +## 目标 + +配置 React Navigation 导航系统,实现 Tab 导航和 Stack 导航。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/首页.png` + +### 底部 Tab 导航规范 + +| Tab | 图标 | 文字 | +|-----|------|------| +| 首页 | 房屋图标 `home` | 首页 | +| AI问答 | 对话气泡 `chat-processing` | AI问答 | +| 体质分析 | 心电图 `chart-line-variant` | 体质分析 | +| 我的 | 用户图标 `account` | 我的 | + +### Tab 样式规范 + +```typescript +const tabBarOptions = { + activeTintColor: '#10B981', // 选中颜色 + inactiveTintColor: '#9CA3AF', // 未选中颜色 + style: { + height: 60, + paddingBottom: 8, + paddingTop: 8, + backgroundColor: '#FFFFFF', + borderTopWidth: 1, + borderTopColor: '#E5E7EB', + }, + labelStyle: { + fontSize: 12, + }, +} +``` + +--- + +## 前置要求 + +- 项目结构已初始化 +- React Navigation 已安装 +- 模拟数据服务已创建 + +--- + +## 实施步骤 + +### 步骤 1:创建导航类型定义 + +创建 `src/navigation/types.ts`: +```typescript +import type { NativeStackNavigationProp } from '@react-navigation/native-stack' +import type { BottomTabNavigationProp } from '@react-navigation/bottom-tabs' +import type { CompositeNavigationProp, RouteProp } from '@react-navigation/native' + +// Root Stack +export type RootStackParamList = { + Auth: undefined + Main: undefined +} + +// Auth Stack +export type AuthStackParamList = { + Login: undefined +} + +// Main Tab +export type MainTabParamList = { + HomeTab: undefined + ChatTab: undefined + ConstitutionTab: undefined + ProfileTab: undefined +} + +// Home Stack +export type HomeStackParamList = { + Home: undefined +} + +// Chat Stack +export type ChatStackParamList = { + ChatList: undefined + ChatDetail: { id: string } +} + +// Constitution Stack +export type ConstitutionStackParamList = { + ConstitutionHome: undefined + ConstitutionQuestions: undefined + ConstitutionResult: undefined +} + +// Profile Stack +export type ProfileStackParamList = { + ProfileHome: undefined + HealthRecord: undefined +} + +// Navigation Props +export type RootNavigationProp = NativeStackNavigationProp + +export type ChatNavigationProp = CompositeNavigationProp< + NativeStackNavigationProp, + BottomTabNavigationProp +> + +// Route Props +export type ChatDetailRouteProp = RouteProp +``` + +### 步骤 2:创建认证状态 Store + +创建 `src/stores/useAuthStore.ts`: +```typescript +import { create } from 'zustand' +import AsyncStorage from '@react-native-async-storage/async-storage' +import { User } from '../types' + +interface AuthState { + isLoggedIn: boolean + user: User | null + login: (user: User) => void + logout: () => void +} + +export const useAuthStore = create((set) => ({ + isLoggedIn: false, + user: null, + + login: (user) => { + AsyncStorage.setItem('user', JSON.stringify(user)) + set({ isLoggedIn: true, user }) + }, + + logout: () => { + AsyncStorage.removeItem('user') + set({ isLoggedIn: false, user: null }) + }, +})) +``` + +### 步骤 3:创建主 Tab 导航 + +创建 `src/navigation/MainTabNavigator.tsx`: +```typescript +import React from 'react' +import { createBottomTabNavigator } from '@react-navigation/bottom-tabs' +import Icon from 'react-native-vector-icons/MaterialCommunityIcons' +import type { MainTabParamList } from './types' +import HomeNavigator from './HomeNavigator' +import ChatNavigator from './ChatNavigator' +import ConstitutionNavigator from './ConstitutionNavigator' +import ProfileNavigator from './ProfileNavigator' + +const Tab = createBottomTabNavigator() + +const MainTabNavigator = () => { + return ( + + ( + + ), + }} + /> + ( + + ), + }} + /> + ( + + ), + }} + /> + ( + + ), + }} + /> + + ) +} + +export default MainTabNavigator +``` + +### 步骤 4:创建子导航器 + +创建 `src/navigation/HomeNavigator.tsx`: +```typescript +import React from 'react' +import { createNativeStackNavigator } from '@react-navigation/native-stack' +import type { HomeStackParamList } from './types' +import HomeScreen from '../screens/home/HomeScreen' + +const Stack = createNativeStackNavigator() + +const HomeNavigator = () => { + return ( + + + + ) +} + +export default HomeNavigator +``` + +创建 `src/navigation/ChatNavigator.tsx`: +```typescript +import React from 'react' +import { createNativeStackNavigator } from '@react-navigation/native-stack' +import type { ChatStackParamList } from './types' +import ChatListScreen from '../screens/chat/ChatListScreen' +import ChatDetailScreen from '../screens/chat/ChatDetailScreen' + +const Stack = createNativeStackNavigator() + +const ChatNavigator = () => { + return ( + + + + + ) +} + +export default ChatNavigator +``` + +创建 `src/navigation/ConstitutionNavigator.tsx`: +```typescript +import React from 'react' +import { createNativeStackNavigator } from '@react-navigation/native-stack' +import type { ConstitutionStackParamList } from './types' +import ConstitutionHomeScreen from '../screens/constitution/ConstitutionHomeScreen' +import ConstitutionQuestionsScreen from '../screens/constitution/ConstitutionQuestionsScreen' +import ConstitutionResultScreen from '../screens/constitution/ConstitutionResultScreen' + +const Stack = createNativeStackNavigator() + +const ConstitutionNavigator = () => { + return ( + + + + + + ) +} + +export default ConstitutionNavigator +``` + +创建 `src/navigation/ProfileNavigator.tsx`: +```typescript +import React from 'react' +import { createNativeStackNavigator } from '@react-navigation/native-stack' +import type { ProfileStackParamList } from './types' +import ProfileHomeScreen from '../screens/profile/ProfileHomeScreen' +import HealthRecordScreen from '../screens/profile/HealthRecordScreen' + +const Stack = createNativeStackNavigator() + +const ProfileNavigator = () => { + return ( + + + + + ) +} + +export default ProfileNavigator +``` + +### 步骤 5:创建根导航器 + +创建 `src/navigation/RootNavigator.tsx`: +```typescript +import React from 'react' +import { createNativeStackNavigator } from '@react-navigation/native-stack' +import { useAuthStore } from '../stores/useAuthStore' +import type { RootStackParamList } from './types' +import LoginScreen from '../screens/auth/LoginScreen' +import MainTabNavigator from './MainTabNavigator' + +const Stack = createNativeStackNavigator() + +const RootNavigator = () => { + const { isLoggedIn } = useAuthStore() + + return ( + + {!isLoggedIn ? ( + + ) : ( + + )} + + ) +} + +export default RootNavigator +``` + +### 步骤 6:更新 App.tsx + +```typescript +import React from 'react' +import { NavigationContainer } from '@react-navigation/native' +import { PaperProvider } from 'react-native-paper' +import { SafeAreaProvider } from 'react-native-safe-area-context' +import RootNavigator from './src/navigation/RootNavigator' +import { theme } from './src/theme' + +const App = () => { + return ( + + + + + + + + ) +} + +export default App +``` + +--- + +## 导航结构 + +``` +RootNavigator +├── LoginScreen(未登录) +└── MainTabNavigator(已登录) + ├── HomeTab + │ └── Home + ├── ChatTab + │ ├── ChatList + │ └── ChatDetail + ├── ConstitutionTab + │ ├── ConstitutionHome + │ ├── ConstitutionQuestions + │ └── ConstitutionResult + └── ProfileTab + ├── ProfileHome + └── HealthRecord +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/navigation/types.ts` | 导航类型定义 | +| `src/stores/useAuthStore.ts` | 认证状态 | +| `src/navigation/RootNavigator.tsx` | 根导航 | +| `src/navigation/MainTabNavigator.tsx` | Tab 导航 | +| `src/navigation/HomeNavigator.tsx` | 首页导航 | +| `src/navigation/ChatNavigator.tsx` | 对话导航 | +| `src/navigation/ConstitutionNavigator.tsx` | 体质导航 | +| `src/navigation/ProfileNavigator.tsx` | 个人导航 | + +--- + +## 验收标准 + +- [ ] 导航结构配置正确 +- [ ] Tab 导航显示正常 +- [ ] Stack 导航跳转正常 +- [ ] 登录状态切换导航正常 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +完成后进入 `02-APP原型开发/03-登录页面.md` diff --git a/TODOS/02-APP原型开发/03-登录页面.md b/TODOS/02-APP原型开发/03-登录页面.md new file mode 100644 index 0000000..2fb74eb --- /dev/null +++ b/TODOS/02-APP原型开发/03-登录页面.md @@ -0,0 +1,295 @@ +# 03-登录页面(原型) + +## 目标 + +实现 APP 端登录页面原型,使用模拟数据验证登录。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/登录页.png` + +### 页面布局 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 | 绿色渐变背景 (`#10B981 → #2EC4B6`) + 医疗插图 | +| Logo | "AI健康助手" 标题(白色 32px)+ slogan | +| 表单卡片 | 白色背景,圆角 16px | +| 输入框 | 圆角 12px,左侧带图标 | +| 主按钮 | 绿色 `#10B981`,圆角 24px,高度 48px | + +--- + +## 前置要求 + +- 导航配置完成 +- 模拟数据服务已创建 + +--- + +## 实施步骤 + +### 步骤 1:创建登录页面 + +创建 `src/screens/auth/LoginScreen.tsx`: +```typescript +import React, { useState } from 'react' +import { + View, + Text, + StyleSheet, + KeyboardAvoidingView, + Platform, + ScrollView, + Alert, + Image, +} from 'react-native' +import { TextInput, Button } from 'react-native-paper' +import { useAuthStore } from '../../stores/useAuthStore' +import { mockLogin } from '../../mock/user' + +const LoginScreen = () => { + const { login } = useAuthStore() + + const [phone, setPhone] = useState('13800138000') // 预填测试账号 + const [code, setCode] = useState('') + const [loading, setLoading] = useState(false) + const [countdown, setCountdown] = useState(0) + + // 模拟发送验证码 + const handleSendCode = () => { + if (!phone.trim() || phone.length !== 11) { + Alert.alert('提示', '请输入正确的手机号') + return + } + + // 开始倒计时 + setCountdown(60) + const timer = setInterval(() => { + setCountdown((prev) => { + if (prev <= 1) { + clearInterval(timer) + return 0 + } + return prev - 1 + }) + }, 1000) + + Alert.alert('提示', '验证码已发送,测试验证码为:123456') + } + + const handleLogin = async () => { + if (!phone.trim()) { + Alert.alert('提示', '请输入手机号') + return + } + if (!code.trim()) { + Alert.alert('提示', '请输入验证码') + return + } + + setLoading(true) + try { + const user = await mockLogin(phone, code) + if (user) { + login(user) + } else { + Alert.alert('登录失败', '验证码错误,请输入:123456') + } + } finally { + setLoading(false) + } + } + + return ( + + + {/* 顶部背景 */} + + AI健康助手 + 您的智能健康管家 + + + {/* 登录表单 */} + + 手机号登录 + + } + /> + + + } + /> + + + + + + + 测试账号:13800138000,验证码:123456 + + + + 登录即表示同意《用户协议》和《隐私政策》 + + + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#10B981', + }, + scrollContent: { + flexGrow: 1, + }, + header: { + alignItems: 'center', + paddingTop: 80, + paddingBottom: 40, + }, + title: { + fontSize: 32, + fontWeight: 'bold', + color: '#fff', + marginBottom: 8, + }, + subtitle: { + fontSize: 16, + color: 'rgba(255,255,255,0.8)', + }, + form: { + flex: 1, + backgroundColor: '#fff', + borderTopLeftRadius: 24, + borderTopRightRadius: 24, + padding: 24, + }, + formTitle: { + fontSize: 20, + fontWeight: '600', + color: '#1F2937', + marginBottom: 24, + textAlign: 'center', + }, + input: { + marginBottom: 16, + backgroundColor: '#fff', + }, + codeRow: { + flexDirection: 'row', + alignItems: 'center', + gap: 12, + }, + codeInput: { + flex: 1, + }, + codeButton: { + marginBottom: 16, + borderColor: '#10B981', + }, + codeButtonLabel: { + color: '#10B981', + }, + loginButton: { + marginTop: 8, + borderRadius: 24, + }, + loginButtonContent: { + paddingVertical: 8, + }, + hint: { + marginTop: 16, + fontSize: 12, + color: '#9CA3AF', + textAlign: 'center', + }, + agreement: { + marginTop: 24, + fontSize: 12, + color: '#9CA3AF', + textAlign: 'center', + }, +}) + +export default LoginScreen +``` + +--- + +## 模拟数据说明 + +登录使用 `src/mock/user.ts` 中的模拟数据: +- 测试手机号:`13800138000` +- 测试验证码:`123456` + +--- + +## 验收标准 + +- [ ] 登录页面 UI 正常显示 +- [ ] 验证码倒计时正常 +- [ ] 正确验证码可登录成功 +- [ ] 错误验证码提示错误 +- [ ] 登录成功后跳转到首页 + +--- + +## 预计耗时 + +20-25 分钟 + +--- + +## 下一步 + +完成后进入 `02-APP原型开发/04-首页.md` diff --git a/TODOS/02-APP原型开发/04-首页.md b/TODOS/02-APP原型开发/04-首页.md new file mode 100644 index 0000000..c209dc5 --- /dev/null +++ b/TODOS/02-APP原型开发/04-首页.md @@ -0,0 +1,417 @@ +# 04-首页(原型) + +## 目标 + +实现 APP 首页原型,展示用户体质信息、快捷入口和健康提示。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/首页.png` + +### 页面布局 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 | 绿色背景 `#10B981`,用户问候语 | +| 体质卡片 | 白色卡片,显示当前体质类型和简介 | +| 快捷入口 | 4个功能入口(AI问诊、体质测试、健康档案、商城) | +| 健康提示 | 每日健康小贴士 | +| 推荐产品 | 根据体质推荐的保健品(横向滚动) | + +--- + +## 前置要求 + +- 导航配置完成 +- 模拟数据服务已创建 +- 登录页面完成 + +--- + +## 实施步骤 + +### 步骤 1:创建体质状态 Store + +创建 `src/stores/useConstitutionStore.ts`: +```typescript +import { create } from 'zustand' +import AsyncStorage from '@react-native-async-storage/async-storage' +import { ConstitutionResult } from '../types' + +interface ConstitutionState { + result: ConstitutionResult | null + setResult: (result: ConstitutionResult) => void + clearResult: () => void +} + +export const useConstitutionStore = create((set) => ({ + result: null, + + setResult: (result) => { + AsyncStorage.setItem('constitution_result', JSON.stringify(result)) + set({ result }) + }, + + clearResult: () => { + AsyncStorage.removeItem('constitution_result') + set({ result: null }) + }, +})) +``` + +### 步骤 2:创建首页 + +创建 `src/screens/home/HomeScreen.tsx`: +```typescript +import React from 'react' +import { + View, + ScrollView, + StyleSheet, + TouchableOpacity, + Linking, +} from 'react-native' +import { Text, Card, Avatar } from 'react-native-paper' +import Icon from 'react-native-vector-icons/MaterialCommunityIcons' +import { useNavigation } from '@react-navigation/native' +import { useAuthStore } from '../../stores/useAuthStore' +import { useConstitutionStore } from '../../stores/useConstitutionStore' +import { constitutionNames, constitutionDescriptions } from '../../mock/constitution' +import { getProductsByConstitution, mockProducts } from '../../mock/products' + +const HomeScreen = () => { + const navigation = useNavigation() + const { user } = useAuthStore() + const { result } = useConstitutionStore() + + // 获取当前时间段问候语 + const getGreeting = () => { + const hour = new Date().getHours() + if (hour < 12) return '早上好' + if (hour < 18) return '下午好' + return '晚上好' + } + + // 获取推荐产品 + const recommendedProducts = result + ? getProductsByConstitution(result.primaryType) + : mockProducts.slice(0, 4) + + // 快捷入口数据 + const quickActions = [ + { icon: 'chat-processing', label: 'AI问诊', color: '#3B82F6', onPress: () => navigation.navigate('ChatTab') }, + { icon: 'heart-pulse', label: '体质测试', color: '#10B981', onPress: () => navigation.navigate('ConstitutionTab') }, + { icon: 'file-document', label: '健康档案', color: '#8B5CF6', onPress: () => navigation.navigate('ProfileTab', { screen: 'HealthRecord' }) }, + { icon: 'store', label: '健康商城', color: '#F59E0B', onPress: () => Linking.openURL('https://mall.example.com') }, + ] + + return ( + + {/* 顶部问候 */} + + + + {getGreeting()},{user?.nickname || '用户'} + + 今天也要保持健康哦~ + + + + + {/* 体质卡片 */} + + + {result ? ( + <> + + 我的体质 + navigation.navigate('ConstitutionTab', { screen: 'ConstitutionResult' })} + > + 查看详情 → + + + + + + + {constitutionNames[result.primaryType]} + + + + {constitutionDescriptions[result.primaryType].description} + + + + ) : ( + navigation.navigate('ConstitutionTab')} + > + + 还未进行体质测试 + 点击开始测试,了解您的体质类型 + + )} + + + + {/* 快捷入口 */} + + {quickActions.map((action, index) => ( + + + + + {action.label} + + ))} + + + {/* 健康提示 */} + + + + + 今日健康提示 + + {result + ? constitutionDescriptions[result.primaryType].suggestions[0] + : '保持良好的作息习惯,每天喝足8杯水,适当运动有益身心健康。' + } + + + + + + {/* 推荐产品 */} + + + + {result ? '适合您的调养产品' : '热门保健品'} + + Linking.openURL('https://mall.example.com')}> + 查看更多 → + + + + {recommendedProducts.map((product) => ( + Linking.openURL(product.mallUrl)} + > + + + + {product.name} + ¥{product.price} + + ))} + + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#F3F4F6', + }, + header: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + padding: 16, + backgroundColor: '#10B981', + }, + greeting: {}, + greetingText: { + fontSize: 20, + fontWeight: '600', + color: '#fff', + }, + greetingSubtext: { + fontSize: 14, + color: 'rgba(255,255,255,0.8)', + marginTop: 4, + }, + avatar: { + backgroundColor: 'rgba(255,255,255,0.2)', + }, + constitutionCard: { + margin: 16, + marginTop: -20, + borderRadius: 16, + elevation: 4, + }, + constitutionHeader: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginBottom: 12, + }, + constitutionLabel: { + fontSize: 14, + color: '#6B7280', + }, + viewMore: { + fontSize: 14, + color: '#10B981', + }, + constitutionBody: {}, + constitutionType: { + flexDirection: 'row', + alignItems: 'center', + marginBottom: 8, + }, + constitutionName: { + fontSize: 24, + fontWeight: 'bold', + color: '#1F2937', + marginLeft: 8, + }, + constitutionDesc: { + fontSize: 14, + color: '#6B7280', + lineHeight: 20, + }, + noConstitution: { + alignItems: 'center', + padding: 20, + }, + noConstitutionText: { + fontSize: 16, + color: '#6B7280', + marginTop: 12, + }, + noConstitutionHint: { + fontSize: 14, + color: '#9CA3AF', + marginTop: 4, + }, + quickActions: { + flexDirection: 'row', + justifyContent: 'space-around', + paddingHorizontal: 16, + marginBottom: 16, + }, + quickAction: { + alignItems: 'center', + }, + quickActionIcon: { + width: 56, + height: 56, + borderRadius: 16, + justifyContent: 'center', + alignItems: 'center', + marginBottom: 8, + }, + quickActionLabel: { + fontSize: 12, + color: '#4B5563', + }, + tipCard: { + marginHorizontal: 16, + marginBottom: 16, + borderRadius: 12, + backgroundColor: '#FFFBEB', + }, + tipContent: { + flexDirection: 'row', + alignItems: 'flex-start', + }, + tipTextContainer: { + flex: 1, + marginLeft: 12, + }, + tipTitle: { + fontSize: 14, + fontWeight: '600', + color: '#92400E', + marginBottom: 4, + }, + tipText: { + fontSize: 13, + color: '#B45309', + lineHeight: 18, + }, + productsSection: { + paddingHorizontal: 16, + marginBottom: 24, + }, + sectionHeader: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginBottom: 12, + }, + sectionTitle: { + fontSize: 16, + fontWeight: '600', + color: '#1F2937', + }, + productCard: { + width: 120, + backgroundColor: '#fff', + borderRadius: 12, + padding: 12, + marginRight: 12, + alignItems: 'center', + }, + productImage: { + width: 64, + height: 64, + backgroundColor: '#ECFDF5', + borderRadius: 32, + justifyContent: 'center', + alignItems: 'center', + marginBottom: 8, + }, + productName: { + fontSize: 13, + color: '#1F2937', + marginBottom: 4, + }, + productPrice: { + fontSize: 14, + fontWeight: '600', + color: '#EF4444', + }, +}) + +export default HomeScreen +``` + +--- + +## 验收标准 + +- [ ] 首页 UI 正常显示 +- [ ] 用户问候语显示正确 +- [ ] 体质卡片显示(有/无体质结果两种状态) +- [ ] 快捷入口点击跳转正常 +- [ ] 推荐产品显示正常 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +完成后进入 `02-APP原型开发/05-体质辨识页面.md` diff --git a/TODOS/02-APP原型开发/05-体质辨识页面.md b/TODOS/02-APP原型开发/05-体质辨识页面.md new file mode 100644 index 0000000..f80f547 --- /dev/null +++ b/TODOS/02-APP原型开发/05-体质辨识页面.md @@ -0,0 +1,466 @@ +# 05-体质辨识页面(原型) + +## 目标 + +实现 APP 端中医体质辨识问卷和结果展示,使用本地模拟数据计算结果。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/体质页.png`、`files/ui/体质检测.png`、`files/ui/体质分析.png` + +--- + +## 页面组成 + +1. **体质首页** - 介绍页面,引导用户开始测试 +2. **问卷页面** - 60道题目,逐题作答 +3. **结果页面** - 显示体质类型、雷达图、调养建议 + +--- + +## 前置要求 + +- 导航配置完成 +- 模拟数据服务已创建(`src/mock/constitution.ts`) + +--- + +## 实施步骤 + +### 步骤 1:体质首页 + +创建 `src/screens/constitution/ConstitutionHomeScreen.tsx`: +```typescript +import React from 'react' +import { View, ScrollView, StyleSheet } from 'react-native' +import { Text, Card, Button } from 'react-native-paper' +import Icon from 'react-native-vector-icons/MaterialCommunityIcons' +import { useNavigation } from '@react-navigation/native' +import { useConstitutionStore } from '../../stores/useConstitutionStore' +import { constitutionNames, constitutionDescriptions } from '../../mock/constitution' + +const ConstitutionHomeScreen = () => { + const navigation = useNavigation() + const { result } = useConstitutionStore() + + const steps = [ + { icon: 'clipboard-text', title: '回答问卷', desc: '60道题目,约10分钟' }, + { icon: 'calculator', title: '智能分析', desc: '根据答案计算体质' }, + { icon: 'file-document', title: '获取报告', desc: '体质类型和调养建议' }, + ] + + return ( + + {/* 已有结果时显示 */} + {result && ( + + + + + 您已完成体质测评 + + + + {constitutionNames[result.primaryType]} + + + {constitutionDescriptions[result.primaryType].description} + + + + + + )} + + {/* 介绍卡片 */} + + + 中医体质自测 + + 中医体质辨识是以中医理论为指导,根据人体生理特点分为9种基本体质类型。 + 了解自己的体质类型,有助于选择适合的养生方法。 + + + + + {/* 步骤说明 */} + + {steps.map((step, index) => ( + + + + + + {step.title} + {step.desc} + + {index < steps.length - 1 && } + + ))} + + + {/* 开始按钮 */} + + + + 建议每3-6个月重新测评一次,以跟踪体质变化 + + + ) +} + +const styles = StyleSheet.create({ + container: { flex: 1, backgroundColor: '#F3F4F6', padding: 16 }, + resultCard: { marginBottom: 16, borderRadius: 12, borderLeftWidth: 4, borderLeftColor: '#10B981' }, + resultHeader: { flexDirection: 'row', alignItems: 'center', marginBottom: 12 }, + resultTitle: { fontSize: 16, fontWeight: '600', marginLeft: 8, color: '#10B981' }, + resultBody: { marginBottom: 12 }, + resultType: { fontSize: 24, fontWeight: 'bold', color: '#1F2937' }, + resultDesc: { fontSize: 14, color: '#6B7280', marginTop: 4 }, + resultButton: { borderRadius: 8 }, + introCard: { marginBottom: 16, borderRadius: 12 }, + introTitle: { fontSize: 20, fontWeight: 'bold', color: '#1F2937', marginBottom: 8 }, + introDesc: { fontSize: 14, color: '#6B7280', lineHeight: 22 }, + steps: { backgroundColor: '#fff', borderRadius: 12, padding: 16, marginBottom: 16 }, + stepItem: { flexDirection: 'row', alignItems: 'flex-start', marginBottom: 16 }, + stepIcon: { width: 48, height: 48, borderRadius: 24, backgroundColor: '#ECFDF5', justifyContent: 'center', alignItems: 'center' }, + stepContent: { flex: 1, marginLeft: 12 }, + stepTitle: { fontSize: 16, fontWeight: '600', color: '#1F2937' }, + stepDesc: { fontSize: 13, color: '#6B7280', marginTop: 2 }, + stepLine: { position: 'absolute', left: 24, top: 48, width: 1, height: 16, backgroundColor: '#E5E7EB' }, + startButton: { borderRadius: 24, marginBottom: 12 }, + startButtonContent: { paddingVertical: 8 }, + note: { fontSize: 12, color: '#9CA3AF', textAlign: 'center' }, +}) + +export default ConstitutionHomeScreen +``` + +### 步骤 2:问卷页面 + +创建 `src/screens/constitution/ConstitutionQuestionsScreen.tsx`: +```typescript +import React, { useState } from 'react' +import { View, ScrollView, StyleSheet, Alert } from 'react-native' +import { Text, Button, ProgressBar, Card } from 'react-native-paper' +import { useNavigation } from '@react-navigation/native' +import { useConstitutionStore } from '../../stores/useConstitutionStore' +import { constitutionQuestions, calculateConstitution } from '../../mock/constitution' + +const ConstitutionQuestionsScreen = () => { + const navigation = useNavigation() + const { setResult } = useConstitutionStore() + + const [currentIndex, setCurrentIndex] = useState(0) + const [answers, setAnswers] = useState>({}) + + const questions = constitutionQuestions + const currentQuestion = questions[currentIndex] + const progress = (currentIndex + 1) / questions.length + const isLastQuestion = currentIndex === questions.length - 1 + + const selectOption = (value: number) => { + setAnswers({ ...answers, [currentQuestion.id]: value }) + } + + const handleNext = () => { + if (!answers[currentQuestion.id]) { + Alert.alert('提示', '请选择一个选项') + return + } + if (currentIndex < questions.length - 1) { + setCurrentIndex(currentIndex + 1) + } + } + + const handlePrev = () => { + if (currentIndex > 0) { + setCurrentIndex(currentIndex - 1) + } + } + + const handleSubmit = () => { + if (Object.keys(answers).length < questions.length) { + Alert.alert('提示', '请完成所有题目') + return + } + + // 本地计算结果 + const result = calculateConstitution(answers) + setResult(result) + navigation.navigate('ConstitutionResult') + } + + return ( + + {/* 进度条 */} + + + 第 {currentIndex + 1} 题 / 共 {questions.length} 题 + + + + + {/* 问题卡片 */} + + + + {currentQuestion.question} + + + {currentQuestion.options.map((option) => ( + + ))} + + + + + + {/* 导航按钮 */} + + + + {isLastQuestion ? ( + + ) : ( + + )} + + + ) +} + +const styles = StyleSheet.create({ + container: { flex: 1, backgroundColor: '#F3F4F6' }, + progressContainer: { padding: 16, backgroundColor: '#fff' }, + progressText: { textAlign: 'center', marginBottom: 8, color: '#6B7280' }, + progressBar: { height: 6, borderRadius: 3 }, + content: { flex: 1, padding: 16 }, + questionCard: { borderRadius: 12 }, + questionText: { fontSize: 18, lineHeight: 28, color: '#1F2937', marginBottom: 20 }, + options: { gap: 12 }, + optionButton: { marginBottom: 8, borderRadius: 8 }, + navButtons: { flexDirection: 'row', justifyContent: 'space-between', padding: 16, backgroundColor: '#fff', borderTopWidth: 1, borderTopColor: '#E5E7EB' }, + navButton: { flex: 1, marginHorizontal: 8, borderRadius: 8 }, +}) + +export default ConstitutionQuestionsScreen +``` + +### 步骤 3:结果页面 + +创建 `src/screens/constitution/ConstitutionResultScreen.tsx`: +```typescript +import React from 'react' +import { View, ScrollView, StyleSheet } from 'react-native' +import { Text, Card, Chip, Button } from 'react-native-paper' +import Icon from 'react-native-vector-icons/MaterialCommunityIcons' +import { useNavigation } from '@react-navigation/native' +import { useConstitutionStore } from '../../stores/useConstitutionStore' +import { constitutionNames, constitutionDescriptions } from '../../mock/constitution' +import { getProductsByConstitution } from '../../mock/products' + +const ConstitutionResultScreen = () => { + const navigation = useNavigation() + const { result } = useConstitutionStore() + + if (!result) { + return ( + + 暂无测评结果 + + + ) + } + + const info = constitutionDescriptions[result.primaryType] + const products = getProductsByConstitution(result.primaryType) + + // 计算所有体质得分用于显示 + const allScores = Object.entries(result.scores) + .map(([type, score]) => ({ + type, + name: constitutionNames[type as keyof typeof constitutionNames], + score, + })) + .sort((a, b) => b.score - a.score) + + return ( + + {/* 主体质卡片 */} + + + + {constitutionNames[result.primaryType]} + {result.scores[result.primaryType]}分 + {info.description} + + + + {/* 体质得分 */} + + + + {allScores.map((item) => ( + + {item.name} + + + + {item.score} + + ))} + + + + {/* 体质特征 */} + + + + + {info.features.map((feature, index) => ( + {feature} + ))} + + + + + {/* 调养建议 */} + + + + {info.suggestions.map((suggestion, index) => ( + + + {suggestion} + + ))} + + + + {/* 推荐产品 */} + + + + {products.map((product) => ( + + {product.name} + ¥{product.price} + + ))} + + + + {/* 操作按钮 */} + + + + + ) +} + +const styles = StyleSheet.create({ + container: { flex: 1, backgroundColor: '#F3F4F6', padding: 16 }, + emptyContainer: { flex: 1, justifyContent: 'center', alignItems: 'center' }, + primaryCard: { borderRadius: 16, marginBottom: 16 }, + primaryContent: { alignItems: 'center', paddingVertical: 24 }, + primaryType: { fontSize: 28, fontWeight: 'bold', color: '#1F2937', marginTop: 12 }, + primaryScore: { fontSize: 18, color: '#10B981', marginTop: 4 }, + primaryDesc: { fontSize: 14, color: '#6B7280', marginTop: 12, textAlign: 'center', lineHeight: 22 }, + card: { borderRadius: 12, marginBottom: 16 }, + scoreItem: { flexDirection: 'row', alignItems: 'center', marginBottom: 12 }, + scoreName: { width: 60, fontSize: 13 }, + scoreBar: { flex: 1, height: 8, backgroundColor: '#E5E7EB', borderRadius: 4, marginHorizontal: 8 }, + scoreBarFill: { height: '100%', backgroundColor: '#10B981', borderRadius: 4 }, + scoreValue: { width: 30, textAlign: 'right', fontSize: 13 }, + tagList: { flexDirection: 'row', flexWrap: 'wrap', gap: 8 }, + tag: { backgroundColor: '#ECFDF5' }, + suggestionItem: { flexDirection: 'row', alignItems: 'flex-start', marginBottom: 12 }, + suggestionText: { flex: 1, marginLeft: 8, fontSize: 14, color: '#4B5563', lineHeight: 20 }, + productItem: { flexDirection: 'row', justifyContent: 'space-between', paddingVertical: 12, borderBottomWidth: 1, borderBottomColor: '#E5E7EB' }, + productName: { fontSize: 14, color: '#1F2937' }, + productPrice: { fontSize: 14, color: '#EF4444', fontWeight: '600' }, + actions: { padding: 16 }, + actionButton: { borderRadius: 24 }, +}) + +export default ConstitutionResultScreen +``` + +--- + +## 验收标准 + +- [ ] 体质首页正常显示 +- [ ] 问卷60题可完整答题 +- [ ] 进度条显示正确 +- [ ] 提交后本地计算结果 +- [ ] 结果页显示体质类型和建议 +- [ ] 体质得分分布正确 + +--- + +## 预计耗时 + +40-50 分钟 + +--- + +## 下一步 + +完成后进入 `02-APP原型开发/06-AI对话页面.md` diff --git a/TODOS/02-APP原型开发/06-AI对话页面.md b/TODOS/02-APP原型开发/06-AI对话页面.md new file mode 100644 index 0000000..0391643 --- /dev/null +++ b/TODOS/02-APP原型开发/06-AI对话页面.md @@ -0,0 +1,387 @@ +# 06-AI对话页面(原型) + +## 目标 + +实现 APP 端 AI 健康问诊对话功能,使用模拟数据模拟多轮对话效果。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/问答页.png`、`files/ui/问答对话.png` + +--- + +## 前置要求 + +- 导航配置完成 +- 模拟数据服务已创建(`src/mock/chat.ts`) + +--- + +## 实施步骤 + +### 步骤 1:创建对话状态 Store + +创建 `src/stores/useChatStore.ts`: +```typescript +import { create } from 'zustand' +import AsyncStorage from '@react-native-async-storage/async-storage' +import { Conversation, Message } from '../types' + +interface ChatState { + conversations: Conversation[] + addConversation: (conv: Conversation) => void + deleteConversation: (id: string) => void + addMessage: (convId: string, message: Message) => void +} + +export const useChatStore = create((set, get) => ({ + conversations: [], + + addConversation: (conv) => { + const updated = [conv, ...get().conversations] + AsyncStorage.setItem('conversations', JSON.stringify(updated)) + set({ conversations: updated }) + }, + + deleteConversation: (id) => { + const updated = get().conversations.filter((c) => c.id !== id) + AsyncStorage.setItem('conversations', JSON.stringify(updated)) + set({ conversations: updated }) + }, + + addMessage: (convId, message) => { + const updated = get().conversations.map((c) => { + if (c.id === convId) { + return { + ...c, + messages: [...c.messages, message], + updatedAt: new Date().toISOString(), + } + } + return c + }) + AsyncStorage.setItem('conversations', JSON.stringify(updated)) + set({ conversations: updated }) + }, +})) +``` + +### 步骤 2:对话列表页面 + +创建 `src/screens/chat/ChatListScreen.tsx`: +```typescript +import React from 'react' +import { View, FlatList, StyleSheet, TouchableOpacity, Alert } from 'react-native' +import { Text, FAB, Card, IconButton } from 'react-native-paper' +import Icon from 'react-native-vector-icons/MaterialCommunityIcons' +import { useNavigation } from '@react-navigation/native' +import dayjs from 'dayjs' +import { useChatStore } from '../../stores/useChatStore' +import type { ChatNavigationProp } from '../../navigation/types' + +const ChatListScreen = () => { + const navigation = useNavigation() + const { conversations, addConversation, deleteConversation } = useChatStore() + + const handleCreate = () => { + const newConv = { + id: Date.now().toString(), + title: '新对话', + messages: [], + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + } + addConversation(newConv) + navigation.navigate('ChatDetail', { id: newConv.id }) + } + + const handleDelete = (id: string) => { + Alert.alert('确认删除', '确定要删除这个对话吗?', [ + { text: '取消', style: 'cancel' }, + { text: '删除', style: 'destructive', onPress: () => deleteConversation(id) }, + ]) + } + + const renderItem = ({ item }: { item: typeof conversations[0] }) => ( + navigation.navigate('ChatDetail', { id: item.id })}> + + + + + + + {item.title} + + {dayjs(item.updatedAt).format('MM-DD HH:mm')} + + + handleDelete(item.id)} + /> + + + + ) + + return ( + + {conversations.length === 0 ? ( + + + 暂无对话记录 + 点击下方按钮开始咨询 + + ) : ( + item.id} + contentContainerStyle={styles.list} + /> + )} + + + + ) +} + +const styles = StyleSheet.create({ + container: { flex: 1, backgroundColor: '#F3F4F6' }, + list: { padding: 16 }, + card: { marginBottom: 12, borderRadius: 12 }, + cardContent: { flexDirection: 'row', alignItems: 'center' }, + cardIcon: { width: 48, height: 48, borderRadius: 24, backgroundColor: '#ECFDF5', justifyContent: 'center', alignItems: 'center' }, + cardInfo: { flex: 1, marginLeft: 12 }, + cardTitle: { fontSize: 16, fontWeight: '500', color: '#1F2937' }, + cardTime: { fontSize: 12, color: '#9CA3AF', marginTop: 4 }, + emptyContainer: { flex: 1, justifyContent: 'center', alignItems: 'center' }, + emptyText: { fontSize: 16, color: '#6B7280', marginTop: 16 }, + emptySubtext: { fontSize: 14, color: '#9CA3AF', marginTop: 4 }, + fab: { position: 'absolute', right: 16, bottom: 16, backgroundColor: '#10B981' }, +}) + +export default ChatListScreen +``` + +### 步骤 3:对话详情页面 + +创建 `src/screens/chat/ChatDetailScreen.tsx`: +```typescript +import React, { useState, useRef } from 'react' +import { + View, + FlatList, + StyleSheet, + KeyboardAvoidingView, + Platform, +} from 'react-native' +import { Text, TextInput, IconButton, Avatar } from 'react-native-paper' +import { useRoute } from '@react-navigation/native' +import { useChatStore } from '../../stores/useChatStore' +import { useAuthStore } from '../../stores/useAuthStore' +import { mockAIReply } from '../../mock/chat' +import type { ChatDetailRouteProp } from '../../navigation/types' +import type { Message } from '../../types' + +const ChatDetailScreen = () => { + const route = useRoute() + const { id } = route.params + const { conversations, addMessage } = useChatStore() + const { user } = useAuthStore() + const flatListRef = useRef(null) + + const conversation = conversations.find((c) => c.id === id) + const messages = conversation?.messages || [] + + const [inputText, setInputText] = useState('') + const [sending, setSending] = useState(false) + + const handleSend = async () => { + const content = inputText.trim() + if (!content || sending) return + + // 添加用户消息 + const userMessage: Message = { + id: Date.now().toString(), + role: 'user', + content, + createdAt: new Date().toISOString(), + } + addMessage(id, userMessage) + setInputText('') + + // 模拟AI回复 + setSending(true) + try { + const reply = await mockAIReply(content) + const assistantMessage: Message = { + id: (Date.now() + 1).toString(), + role: 'assistant', + content: reply, + createdAt: new Date().toISOString(), + } + addMessage(id, assistantMessage) + } finally { + setSending(false) + } + } + + const renderMessage = ({ item }: { item: Message }) => { + const isUser = item.role === 'user' + + return ( + + {!isUser && ( + + )} + + + {item.content} + + + {isUser && ( + + )} + + ) + } + + return ( + + {/* 欢迎消息 */} + {messages.length === 0 && ( + + + AI健康助手 + + 您好!我是AI健康助手,可以为您提供健康咨询和建议。 + {'\n'}请描述您的症状或健康问题。 + + + )} + + {/* 消息列表 */} + item.id} + contentContainerStyle={styles.messageList} + onContentSizeChange={() => flatListRef.current?.scrollToEnd()} + /> + + {/* 输入中提示 */} + {sending && ( + + AI 正在思考... + + )} + + {/* 输入区域 */} + + + + + + {/* 免责声明 */} + + + AI 建议仅供参考,不构成医疗诊断,如有需要请就医 + + + + ) +} + +const styles = StyleSheet.create({ + container: { flex: 1, backgroundColor: '#F3F4F6' }, + welcomeContainer: { alignItems: 'center', padding: 32 }, + welcomeAvatar: { backgroundColor: '#3B82F6' }, + welcomeTitle: { fontSize: 20, fontWeight: '600', marginTop: 16, color: '#1F2937' }, + welcomeText: { fontSize: 14, color: '#6B7280', textAlign: 'center', marginTop: 8, lineHeight: 22 }, + messageList: { padding: 16 }, + messageRow: { flexDirection: 'row', marginBottom: 16, alignItems: 'flex-end' }, + messageRowUser: { flexDirection: 'row-reverse' }, + avatarAI: { backgroundColor: '#3B82F6', marginRight: 8 }, + avatarUser: { backgroundColor: '#10B981', marginLeft: 8 }, + messageBubble: { maxWidth: '70%', padding: 12, borderRadius: 16 }, + userBubble: { backgroundColor: '#10B981', borderBottomRightRadius: 4 }, + assistantBubble: { backgroundColor: '#fff', borderBottomLeftRadius: 4 }, + userText: { color: '#fff', fontSize: 14, lineHeight: 20 }, + assistantText: { color: '#1F2937', fontSize: 14, lineHeight: 20 }, + typingIndicator: { paddingHorizontal: 16, paddingVertical: 8 }, + typingText: { color: '#9CA3AF', fontSize: 13 }, + inputContainer: { flexDirection: 'row', alignItems: 'center', padding: 8, backgroundColor: '#fff', borderTopWidth: 1, borderTopColor: '#E5E7EB' }, + input: { flex: 1, maxHeight: 100, backgroundColor: '#F3F4F6', borderRadius: 20, paddingHorizontal: 16, paddingVertical: 8 }, + sendButton: { backgroundColor: '#10B981', marginLeft: 8 }, + disclaimer: { padding: 8, backgroundColor: '#FEF3C7', alignItems: 'center' }, + disclaimerText: { fontSize: 11, color: '#92400E' }, +}) + +export default ChatDetailScreen +``` + +--- + +## 模拟数据说明 + +使用 `src/mock/chat.ts` 中的 `mockAIReply` 函数: +- 根据关键词匹配预设回答 +- 支持:疲劳、失眠、关节痛等常见问题 +- 回答格式包含:情况分析、建议、用药参考、产品推荐 + +--- + +## 验收标准 + +- [ ] 对话列表正常显示 +- [ ] 新建对话正常 +- [ ] 删除对话正常 +- [ ] 消息发送和模拟回复正常 +- [ ] 消息气泡样式正确 +- [ ] 免责声明显示 + +--- + +## 预计耗时 + +35-45 分钟 + +--- + +## 下一步 + +完成后进入 `02-APP原型开发/07-个人中心页面.md` diff --git a/TODOS/02-APP原型开发/07-个人中心页面.md b/TODOS/02-APP原型开发/07-个人中心页面.md new file mode 100644 index 0000000..c0480c8 --- /dev/null +++ b/TODOS/02-APP原型开发/07-个人中心页面.md @@ -0,0 +1,383 @@ +# 07-个人中心页面(原型) + +## 目标 + +实现 APP 端个人中心和健康档案管理页面原型。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/我的.png` + +--- + +## 前置要求 + +- 导航配置完成 +- 认证状态 Store 已创建 +- 体质状态 Store 已创建 + +--- + +## 实施步骤 + +### 步骤 1:个人中心页面 + +创建 `src/screens/profile/ProfileHomeScreen.tsx`: +```typescript +import React from 'react' +import { View, ScrollView, StyleSheet, Alert, Linking } from 'react-native' +import { Text, Avatar, Card, List, Button, Divider } from 'react-native-paper' +import Icon from 'react-native-vector-icons/MaterialCommunityIcons' +import { useNavigation } from '@react-navigation/native' +import { useAuthStore } from '../../stores/useAuthStore' +import { useConstitutionStore } from '../../stores/useConstitutionStore' +import { constitutionNames } from '../../mock/constitution' + +const ProfileHomeScreen = () => { + const navigation = useNavigation() + const { user, logout } = useAuthStore() + const { result } = useConstitutionStore() + + const handleLogout = () => { + Alert.alert('提示', '确定要退出登录吗?', [ + { text: '取消', style: 'cancel' }, + { text: '确定', style: 'destructive', onPress: () => logout() }, + ]) + } + + return ( + + {/* 用户信息卡片 */} + + + + + {user?.nickname || '用户'} + {user?.phone} + {result && ( + + + + {constitutionNames[result.primaryType]} + + + )} + + + + + {/* 健康管理 */} + + + ( + + + + )} + right={(props) => } + onPress={() => navigation.navigate('HealthRecord')} + style={styles.listItem} + /> + + ( + + + + )} + right={(props) => } + onPress={() => navigation.navigate('ConstitutionTab', { screen: 'ConstitutionResult' })} + style={styles.listItem} + /> + + ( + + + + )} + right={(props) => } + onPress={() => navigation.navigate('ChatTab')} + style={styles.listItem} + /> + + + {/* 其他设置 */} + + + ( + + + + )} + right={(props) => } + onPress={() => Linking.openURL('https://mall.example.com')} + style={styles.listItem} + /> + + ( + + + + )} + right={(props) => } + onPress={() => Alert.alert('关于我们', '健康AI助手 v1.0.0\n\n结合中医体质辨识理论,为您提供个性化健康建议。')} + style={styles.listItem} + /> + + + {/* 退出登录 */} + + + 版本 1.0.0(原型版) + + ) +} + +const styles = StyleSheet.create({ + container: { flex: 1, backgroundColor: '#F3F4F6' }, + headerCard: { backgroundColor: '#10B981', padding: 20, paddingTop: 40 }, + userInfo: { flexDirection: 'row', alignItems: 'center' }, + avatar: { backgroundColor: 'rgba(255,255,255,0.2)' }, + userText: { marginLeft: 16 }, + nickname: { fontSize: 20, fontWeight: '600', color: '#fff' }, + phone: { fontSize: 14, color: 'rgba(255,255,255,0.8)', marginTop: 4 }, + constitutionTag: { flexDirection: 'row', alignItems: 'center', marginTop: 8, backgroundColor: 'rgba(255,255,255,0.2)', paddingHorizontal: 8, paddingVertical: 4, borderRadius: 12 }, + constitutionText: { fontSize: 12, color: '#fff', marginLeft: 4 }, + menuCard: { margin: 16, marginBottom: 0, borderRadius: 12 }, + menuTitle: { fontSize: 14, color: '#6B7280' }, + listItem: { paddingVertical: 4 }, + iconBg: { width: 40, height: 40, borderRadius: 20, justifyContent: 'center', alignItems: 'center', marginLeft: 8 }, + logoutButton: { margin: 16, borderColor: '#EF4444', borderRadius: 8 }, + version: { textAlign: 'center', fontSize: 12, color: '#9CA3AF', marginBottom: 32 }, +}) + +export default ProfileHomeScreen +``` + +### 步骤 2:健康档案页面 + +创建 `src/screens/profile/HealthRecordScreen.tsx`: +```typescript +import React from 'react' +import { View, ScrollView, StyleSheet } from 'react-native' +import { Text, Card, Chip } from 'react-native-paper' +import Icon from 'react-native-vector-icons/MaterialCommunityIcons' +import { useAuthStore } from '../../stores/useAuthStore' +import { useConstitutionStore } from '../../stores/useConstitutionStore' +import { constitutionNames, constitutionDescriptions } from '../../mock/constitution' + +const HealthRecordScreen = () => { + const { user } = useAuthStore() + const { result } = useConstitutionStore() + + // 模拟健康档案数据 + const mockProfile = { + basicInfo: { + name: user?.nickname || '用户', + gender: '男', + age: 45, + height: 170, + weight: 68, + bloodType: 'A型', + }, + medicalHistory: ['高血压', '轻度脂肪肝'], + allergyRecords: ['青霉素'], + lifestyleInfo: { + sleepTime: '23:00', + wakeTime: '07:00', + exerciseFrequency: '每周2-3次', + }, + } + + const bmi = (mockProfile.basicInfo.weight / Math.pow(mockProfile.basicInfo.height / 100, 2)).toFixed(1) + + return ( + + {/* 基础信息 */} + + } + /> + + + + + + + + + + + + + + {/* 体质信息 */} + + } + /> + + {result ? ( + + + {constitutionNames[result.primaryType]} + + + {constitutionDescriptions[result.primaryType].description} + + + 测评时间:{new Date(result.assessedAt).toLocaleDateString()} + + + ) : ( + 暂无体质测评记录 + )} + + + + {/* 既往病史 */} + + } + /> + + {mockProfile.medicalHistory.length > 0 ? ( + + {mockProfile.medicalHistory.map((item, index) => ( + {item} + ))} + + ) : ( + 暂无病史记录 + )} + + + + {/* 过敏信息 */} + + } + /> + + {mockProfile.allergyRecords.length > 0 ? ( + + {mockProfile.allergyRecords.map((item, index) => ( + {item} + ))} + + ) : ( + 暂无过敏信息 + )} + + + + {/* 生活习惯 */} + + } + /> + + + + + + + + + + + 以上为模拟数据,后续将支持编辑和同步 + + + ) +} + +const InfoItem = ({ label, value }: { label: string; value: string }) => ( + + {label} + {value} + +) + +const styles = StyleSheet.create({ + container: { flex: 1, backgroundColor: '#F3F4F6', padding: 16 }, + card: { borderRadius: 12, marginBottom: 16 }, + infoGrid: { flexDirection: 'row', flexWrap: 'wrap' }, + infoItem: { width: '50%', marginBottom: 16 }, + infoLabel: { fontSize: 12, color: '#9CA3AF', marginBottom: 4 }, + infoValue: { fontSize: 15, color: '#1F2937' }, + constitutionInfo: { alignItems: 'center' }, + constitutionChip: { backgroundColor: '#10B981' }, + constitutionChipText: { color: '#fff', fontSize: 16 }, + constitutionDesc: { marginTop: 12, fontSize: 14, color: '#6B7280', textAlign: 'center', lineHeight: 22 }, + assessedTime: { marginTop: 8, fontSize: 12, color: '#9CA3AF' }, + tagList: { flexDirection: 'row', flexWrap: 'wrap', gap: 8 }, + tag: { backgroundColor: '#ECFDF5' }, + allergyTag: { backgroundColor: '#FEE2E2' }, + emptyText: { color: '#9CA3AF', textAlign: 'center', paddingVertical: 16 }, + note: { fontSize: 12, color: '#9CA3AF', textAlign: 'center', marginBottom: 24 }, +}) + +export default HealthRecordScreen +``` + +--- + +## 验收标准 + +- [ ] 个人中心页面正常显示 +- [ ] 用户信息显示正确 +- [ ] 体质标签显示(如已测评) +- [ ] 菜单导航正常 +- [ ] 健康档案数据显示 +- [ ] 退出登录功能正常 + +--- + +## 预计耗时 + +25-30 分钟 + +--- + +## 完成 + +恭喜!APP 原型开发任务全部完成! + +--- + +## 下一步 + +进入 `03-Web原型开发/01-项目初始化和模拟数据.md` diff --git a/TODOS/02-后端开发/01-项目结构初始化.md b/TODOS/02-后端开发/01-项目结构初始化.md new file mode 100644 index 0000000..157cf36 --- /dev/null +++ b/TODOS/02-后端开发/01-项目结构初始化.md @@ -0,0 +1,195 @@ +# 01-后端项目结构初始化 + +## 目标 + +创建 Go + Gin 后端项目的基础目录结构和配置文件。 + +--- + +## 前置要求 + +- Go 1.21+ 已安装 +- 环境变量已配置 + +--- + +## 实施步骤 + +### 步骤 1:创建项目目录 + +```bash +cd I:\apps\demo\healthApps +mkdir -p server +cd server +``` + +### 步骤 2:初始化 Go 模块 + +```bash +go mod init health-ai +``` + +### 步骤 3:创建目录结构 + +```bash +mkdir -p cmd/server +mkdir -p internal/api/handler +mkdir -p internal/api/middleware +mkdir -p internal/model +mkdir -p internal/service +mkdir -p internal/repository/impl +mkdir -p internal/config +mkdir -p internal/database +mkdir -p pkg/jwt +mkdir -p pkg/response +mkdir -p pkg/utils +mkdir -p data +``` + +### 步骤 4:安装核心依赖 + +```bash +# Web 框架 +go get -u github.com/gin-gonic/gin + +# ORM +go get -u gorm.io/gorm +go get -u gorm.io/driver/sqlite + +# 配置管理 +go get -u github.com/spf13/viper + +# 日志 +go get -u go.uber.org/zap + +# JWT +go get -u github.com/golang-jwt/jwt/v5 + +# 密码加密 +go get -u golang.org/x/crypto/bcrypt + +# 参数验证 +go get -u github.com/go-playground/validator/v10 + +# 跨域 +go get -u github.com/gin-contrib/cors +``` + +### 步骤 5:创建配置文件 + +创建 `server/config.yaml`: +```yaml +server: + port: 8080 + mode: debug # debug, release, test + +database: + driver: sqlite # sqlite, postgres, mysql + sqlite: + path: ./data/health.db + postgres: + host: localhost + port: 5432 + user: postgres + password: "" + dbname: health_app + mysql: + host: localhost + port: 3306 + user: root + password: "" + dbname: health_app + +jwt: + secret: your-secret-key-change-in-production + expire_hours: 24 + +ai: + provider: openai # openai, qwen + api_key: "" + base_url: "" +``` + +### 步骤 6:创建入口文件 + +创建 `server/cmd/server/main.go`: +```go +package main + +import ( + "log" +) + +func main() { + log.Println("Health AI Server Starting...") + // TODO: 初始化配置、数据库、路由 +} +``` + +### 步骤 7:验证项目 + +```bash +cd server +go mod tidy +go run cmd/server/main.go +# 输出: Health AI Server Starting... +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `server/go.mod` | Go 模块定义 | +| `server/config.yaml` | 配置文件 | +| `server/cmd/server/main.go` | 程序入口 | + +--- + +## 最终目录结构 + +``` +server/ +├── cmd/ +│ └── server/ +│ └── main.go +├── internal/ +│ ├── api/ +│ │ ├── handler/ +│ │ └── middleware/ +│ ├── model/ +│ ├── service/ +│ ├── repository/ +│ │ └── impl/ +│ ├── config/ +│ └── database/ +├── pkg/ +│ ├── jwt/ +│ ├── response/ +│ └── utils/ +├── data/ +├── config.yaml +├── go.mod +└── go.sum +``` + +--- + +## 验收标准 + +- [ ] 目录结构创建完成 +- [ ] `go mod tidy` 无报错 +- [ ] `go run cmd/server/main.go` 正常输出 + +--- + +## 预计耗时 + +10-15 分钟 + +--- + +## 下一步 + +完成后进入 `02-后端开发/02-数据库和模型设计.md` diff --git a/TODOS/02-后端开发/02-数据库和模型设计.md b/TODOS/02-后端开发/02-数据库和模型设计.md new file mode 100644 index 0000000..4574de2 --- /dev/null +++ b/TODOS/02-后端开发/02-数据库和模型设计.md @@ -0,0 +1,384 @@ +# 02-数据库和模型设计 + +## 目标 + +实现数据库连接模块和所有数据模型定义,支持多数据库切换。 + +--- + +## 前置要求 + +- 项目结构已初始化 +- 依赖已安装 + +--- + +## 实施步骤 + +### 步骤 1:创建配置加载模块 + +创建 `server/internal/config/config.go`: +```go +package config + +import ( + "github.com/spf13/viper" +) + +type Config struct { + Server ServerConfig + Database DatabaseConfig + JWT JWTConfig + AI AIConfig +} + +type ServerConfig struct { + Port int + Mode string +} + +type DatabaseConfig struct { + Driver string + SQLite SQLiteConfig + Postgres PostgresConfig + MySQL MySQLConfig +} + +type SQLiteConfig struct { + Path string +} + +type PostgresConfig struct { + Host string + Port int + User string + Password string + DBName string +} + +type MySQLConfig struct { + Host string + Port int + User string + Password string + DBName string +} + +type JWTConfig struct { + Secret string + ExpireHours int `mapstructure:"expire_hours"` +} + +type AIConfig struct { + Provider string + APIKey string `mapstructure:"api_key"` + BaseURL string `mapstructure:"base_url"` +} + +var AppConfig *Config + +func LoadConfig(path string) error { + viper.SetConfigFile(path) + if err := viper.ReadInConfig(); err != nil { + return err + } + AppConfig = &Config{} + return viper.Unmarshal(AppConfig) +} +``` + +### 步骤 2:创建数据库连接模块 + +创建 `server/internal/database/database.go`: +```go +package database + +import ( + "fmt" + + "health-ai/internal/config" + + "gorm.io/driver/sqlite" + "gorm.io/gorm" +) + +var DB *gorm.DB + +func InitDatabase(cfg *config.DatabaseConfig) error { + var err error + + switch cfg.Driver { + case "sqlite": + DB, err = gorm.Open(sqlite.Open(cfg.SQLite.Path), &gorm.Config{}) + case "postgres": + // TODO: 添加 PostgreSQL 支持 + // dsn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", + // cfg.Postgres.Host, cfg.Postgres.Port, cfg.Postgres.User, cfg.Postgres.Password, cfg.Postgres.DBName) + // DB, err = gorm.Open(postgres.Open(dsn), &gorm.Config{}) + return fmt.Errorf("postgres driver not implemented yet") + case "mysql": + // TODO: 添加 MySQL 支持 + return fmt.Errorf("mysql driver not implemented yet") + default: + return fmt.Errorf("unsupported database driver: %s", cfg.Driver) + } + + return err +} + +func AutoMigrate(models ...interface{}) error { + return DB.AutoMigrate(models...) +} +``` + +### 步骤 3:创建数据模型 + +创建 `server/internal/model/user.go`: +```go +package model + +import ( + "time" + + "gorm.io/gorm" +) + +// User 用户表 +type User struct { + gorm.Model + Phone string `gorm:"uniqueIndex;size:20"` + Email string `gorm:"uniqueIndex;size:100"` + PasswordHash string `gorm:"size:255"` + Nickname string `gorm:"size:50"` + Avatar string `gorm:"size:255"` + SurveyCompleted bool `gorm:"default:false"` +} + +// HealthProfile 健康档案 +type HealthProfile struct { + gorm.Model + UserID uint `gorm:"uniqueIndex"` + Name string `gorm:"size:50"` + BirthDate *time.Time + Gender string `gorm:"size:10"` // male, female + Height float64 // cm + Weight float64 // kg + BMI float64 + BloodType string `gorm:"size:10"` // A, B, AB, O + Occupation string `gorm:"size:50"` + MaritalStatus string `gorm:"size:20"` // single, married, divorced + Region string `gorm:"size:100"` +} + +// LifestyleInfo 生活习惯 +type LifestyleInfo struct { + gorm.Model + UserID uint `gorm:"uniqueIndex"` + SleepTime string `gorm:"size:10"` // HH:MM + WakeTime string `gorm:"size:10"` + SleepQuality string `gorm:"size:20"` // good, normal, poor + MealRegularity string `gorm:"size:20"` // regular, irregular + DietPreference string `gorm:"size:50"` // 偏好 + DailyWaterML int // 每日饮水量 ml + ExerciseFrequency string `gorm:"size:20"` // never, sometimes, often, daily + ExerciseType string `gorm:"size:100"` + ExerciseDurationMin int // 每次运动时长 + IsSmoker bool + AlcoholFrequency string `gorm:"size:20"` // never, sometimes, often +} +``` + +创建 `server/internal/model/health.go`: +```go +package model + +import "gorm.io/gorm" + +// MedicalHistory 既往病史 +type MedicalHistory struct { + gorm.Model + HealthProfileID uint + DiseaseName string `gorm:"size:100"` + DiseaseType string `gorm:"size:50"` // chronic, surgery, other + DiagnosedDate string `gorm:"size:20"` + Status string `gorm:"size:20"` // cured, treating, controlled + Notes string `gorm:"type:text"` +} + +// FamilyHistory 家族病史 +type FamilyHistory struct { + gorm.Model + HealthProfileID uint + Relation string `gorm:"size:20"` // father, mother, grandparent + DiseaseName string `gorm:"size:100"` + Notes string `gorm:"type:text"` +} + +// AllergyRecord 过敏记录 +type AllergyRecord struct { + gorm.Model + HealthProfileID uint + AllergyType string `gorm:"size:20"` // drug, food, other + Allergen string `gorm:"size:100"` + Severity string `gorm:"size:20"` // mild, moderate, severe + ReactionDesc string `gorm:"type:text"` +} +``` + +创建 `server/internal/model/constitution.go`: +```go +package model + +import ( + "time" + + "gorm.io/gorm" +) + +// ConstitutionAssessment 体质测评记录 +type ConstitutionAssessment struct { + gorm.Model + UserID uint + AssessedAt time.Time + Scores string `gorm:"type:text"` // JSON: 各体质得分 + PrimaryConstitution string `gorm:"size:20"` // 主要体质 + SecondaryConstitutions string `gorm:"type:text"` // JSON: 次要体质 + Recommendations string `gorm:"type:text"` // JSON: 调养建议 +} + +// AssessmentAnswer 问卷答案 +type AssessmentAnswer struct { + gorm.Model + AssessmentID uint + QuestionID uint + Score int // 1-5 +} + +// QuestionBank 问卷题库 +type QuestionBank struct { + gorm.Model + ConstitutionType string `gorm:"size:20"` // 体质类型 + QuestionText string `gorm:"type:text"` + Options string `gorm:"type:text"` // JSON: 选项 + OrderNum int +} +``` + +创建 `server/internal/model/conversation.go`: +```go +package model + +import "gorm.io/gorm" + +// Conversation 对话 +type Conversation struct { + gorm.Model + UserID uint + Title string `gorm:"size:200"` + Messages []Message +} + +// Message 消息 +type Message struct { + gorm.Model + ConversationID uint + Role string `gorm:"size:20"` // user, assistant, system + Content string `gorm:"type:text"` +} +``` + +### 步骤 4:创建模型聚合文件 + +创建 `server/internal/model/models.go`: +```go +package model + +// AllModels 返回所有需要迁移的模型 +func AllModels() []interface{} { + return []interface{}{ + &User{}, + &HealthProfile{}, + &LifestyleInfo{}, + &MedicalHistory{}, + &FamilyHistory{}, + &AllergyRecord{}, + &ConstitutionAssessment{}, + &AssessmentAnswer{}, + &QuestionBank{}, + &Conversation{}, + &Message{}, + } +} +``` + +### 步骤 5:更新主程序 + +更新 `server/cmd/server/main.go`: +```go +package main + +import ( + "log" + + "health-ai/internal/config" + "health-ai/internal/database" + "health-ai/internal/model" +) + +func main() { + // 加载配置 + if err := config.LoadConfig("config.yaml"); err != nil { + log.Fatalf("Failed to load config: %v", err) + } + log.Println("Config loaded") + + // 初始化数据库 + if err := database.InitDatabase(&config.AppConfig.Database); err != nil { + log.Fatalf("Failed to init database: %v", err) + } + log.Println("Database connected") + + // 自动迁移 + if err := database.AutoMigrate(model.AllModels()...); err != nil { + log.Fatalf("Failed to migrate: %v", err) + } + log.Println("Database migrated") + + log.Println("Health AI Server Ready!") +} +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `internal/config/config.go` | 配置加载 | +| `internal/database/database.go` | 数据库连接 | +| `internal/model/user.go` | 用户相关模型 | +| `internal/model/health.go` | 健康相关模型 | +| `internal/model/constitution.go` | 体质相关模型 | +| `internal/model/conversation.go` | 对话相关模型 | +| `internal/model/models.go` | 模型聚合 | + +--- + +## 验收标准 + +- [ ] 配置文件可正常加载 +- [ ] SQLite 数据库文件自动创建 +- [ ] 所有表自动迁移成功 +- [ ] `data/health.db` 文件生成 + +--- + +## 预计耗时 + +20-30 分钟 + +--- + +## 下一步 + +完成后进入 `02-后端开发/03-用户认证模块.md` diff --git a/TODOS/02-后端开发/03-用户认证模块.md b/TODOS/02-后端开发/03-用户认证模块.md new file mode 100644 index 0000000..e3e18d2 --- /dev/null +++ b/TODOS/02-后端开发/03-用户认证模块.md @@ -0,0 +1,522 @@ +# 03-用户认证模块 + +## 目标 + +实现用户注册、登录、Token 刷新等认证功能。 + +--- + +## 前置要求 + +- 数据库和模型已完成 +- JWT 依赖已安装 + +--- + +## 实施步骤 + +### 步骤 1:创建统一响应工具 + +创建 `server/pkg/response/response.go`: +```go +package response + +import ( + "net/http" + + "github.com/gin-gonic/gin" +) + +type Response struct { + Code int `json:"code"` + Message string `json:"message"` + Data interface{} `json:"data,omitempty"` +} + +func Success(c *gin.Context, data interface{}) { + c.JSON(http.StatusOK, Response{ + Code: 0, + Message: "success", + Data: data, + }) +} + +func Error(c *gin.Context, code int, message string) { + c.JSON(http.StatusOK, Response{ + Code: code, + Message: message, + }) +} + +func Unauthorized(c *gin.Context, message string) { + c.JSON(http.StatusUnauthorized, Response{ + Code: 401, + Message: message, + }) +} +``` + +### 步骤 2:创建 JWT 工具 + +创建 `server/pkg/jwt/jwt.go`: +```go +package jwt + +import ( + "errors" + "time" + + "github.com/golang-jwt/jwt/v5" +) + +var jwtSecret []byte +var expireHours int + +func Init(secret string, hours int) { + jwtSecret = []byte(secret) + expireHours = hours +} + +type Claims struct { + UserID uint `json:"user_id"` + jwt.RegisteredClaims +} + +func GenerateToken(userID uint) (string, error) { + claims := Claims{ + UserID: userID, + RegisteredClaims: jwt.RegisteredClaims{ + ExpiresAt: jwt.NewNumericDate(time.Now().Add(time.Duration(expireHours) * time.Hour)), + IssuedAt: jwt.NewNumericDate(time.Now()), + }, + } + token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) + return token.SignedString(jwtSecret) +} + +func ParseToken(tokenString string) (*Claims, error) { + token, err := jwt.ParseWithClaims(tokenString, &Claims{}, func(token *jwt.Token) (interface{}, error) { + return jwtSecret, nil + }) + if err != nil { + return nil, err + } + if claims, ok := token.Claims.(*Claims); ok && token.Valid { + return claims, nil + } + return nil, errors.New("invalid token") +} +``` + +### 步骤 3:创建认证中间件 + +创建 `server/internal/api/middleware/auth.go`: +```go +package middleware + +import ( + "strings" + + "health-ai/pkg/jwt" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +func AuthRequired() gin.HandlerFunc { + return func(c *gin.Context) { + authHeader := c.GetHeader("Authorization") + if authHeader == "" { + response.Unauthorized(c, "未提供认证信息") + c.Abort() + return + } + + parts := strings.SplitN(authHeader, " ", 2) + if len(parts) != 2 || parts[0] != "Bearer" { + response.Unauthorized(c, "认证格式错误") + c.Abort() + return + } + + claims, err := jwt.ParseToken(parts[1]) + if err != nil { + response.Unauthorized(c, "Token无效或已过期") + c.Abort() + return + } + + c.Set("userID", claims.UserID) + c.Next() + } +} + +func GetUserID(c *gin.Context) uint { + userID, _ := c.Get("userID") + return userID.(uint) +} +``` + +### 步骤 4:创建用户 Repository + +创建 `server/internal/repository/interface.go`: +```go +package repository + +import "health-ai/internal/model" + +type UserRepository interface { + Create(user *model.User) error + GetByID(id uint) (*model.User, error) + GetByPhone(phone string) (*model.User, error) + GetByEmail(email string) (*model.User, error) + Update(user *model.User) error +} +``` + +创建 `server/internal/repository/impl/user.go`: +```go +package impl + +import ( + "health-ai/internal/database" + "health-ai/internal/model" +) + +type UserRepositoryImpl struct{} + +func NewUserRepository() *UserRepositoryImpl { + return &UserRepositoryImpl{} +} + +func (r *UserRepositoryImpl) Create(user *model.User) error { + return database.DB.Create(user).Error +} + +func (r *UserRepositoryImpl) GetByID(id uint) (*model.User, error) { + var user model.User + err := database.DB.First(&user, id).Error + return &user, err +} + +func (r *UserRepositoryImpl) GetByPhone(phone string) (*model.User, error) { + var user model.User + err := database.DB.Where("phone = ?", phone).First(&user).Error + return &user, err +} + +func (r *UserRepositoryImpl) GetByEmail(email string) (*model.User, error) { + var user model.User + err := database.DB.Where("email = ?", email).First(&user).Error + return &user, err +} + +func (r *UserRepositoryImpl) Update(user *model.User) error { + return database.DB.Save(user).Error +} +``` + +### 步骤 5:创建认证 Service + +创建 `server/internal/service/auth.go`: +```go +package service + +import ( + "errors" + + "health-ai/internal/model" + "health-ai/internal/repository/impl" + "health-ai/pkg/jwt" + + "golang.org/x/crypto/bcrypt" +) + +type AuthService struct { + userRepo *impl.UserRepositoryImpl +} + +func NewAuthService() *AuthService { + return &AuthService{ + userRepo: impl.NewUserRepository(), + } +} + +type RegisterRequest struct { + Phone string `json:"phone" binding:"required"` + Password string `json:"password" binding:"required,min=6"` + Nickname string `json:"nickname"` +} + +type LoginRequest struct { + Phone string `json:"phone" binding:"required"` + Password string `json:"password" binding:"required"` +} + +type AuthResponse struct { + Token string `json:"token"` + UserID uint `json:"user_id"` + Nickname string `json:"nickname"` + SurveyCompleted bool `json:"survey_completed"` +} + +func (s *AuthService) Register(req *RegisterRequest) (*AuthResponse, error) { + // 检查手机号是否已注册 + existing, _ := s.userRepo.GetByPhone(req.Phone) + if existing.ID > 0 { + return nil, errors.New("手机号已注册") + } + + // 加密密码 + hash, err := bcrypt.GenerateFromPassword([]byte(req.Password), bcrypt.DefaultCost) + if err != nil { + return nil, err + } + + // 创建用户 + user := &model.User{ + Phone: req.Phone, + PasswordHash: string(hash), + Nickname: req.Nickname, + } + if user.Nickname == "" { + user.Nickname = "用户" + req.Phone[len(req.Phone)-4:] + } + + if err := s.userRepo.Create(user); err != nil { + return nil, err + } + + // 生成 Token + token, err := jwt.GenerateToken(user.ID) + if err != nil { + return nil, err + } + + return &AuthResponse{ + Token: token, + UserID: user.ID, + Nickname: user.Nickname, + SurveyCompleted: user.SurveyCompleted, + }, nil +} + +func (s *AuthService) Login(req *LoginRequest) (*AuthResponse, error) { + user, err := s.userRepo.GetByPhone(req.Phone) + if err != nil { + return nil, errors.New("用户不存在") + } + + if err := bcrypt.CompareHashAndPassword([]byte(user.PasswordHash), []byte(req.Password)); err != nil { + return nil, errors.New("密码错误") + } + + token, err := jwt.GenerateToken(user.ID) + if err != nil { + return nil, err + } + + return &AuthResponse{ + Token: token, + UserID: user.ID, + Nickname: user.Nickname, + SurveyCompleted: user.SurveyCompleted, + }, nil +} +``` + +### 步骤 6:创建认证 Handler + +创建 `server/internal/api/handler/auth.go`: +```go +package handler + +import ( + "health-ai/internal/service" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type AuthHandler struct { + authService *service.AuthService +} + +func NewAuthHandler() *AuthHandler { + return &AuthHandler{ + authService: service.NewAuthService(), + } +} + +func (h *AuthHandler) Register(c *gin.Context) { + var req service.RegisterRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + result, err := h.authService.Register(&req) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.Success(c, result) +} + +func (h *AuthHandler) Login(c *gin.Context) { + var req service.LoginRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + result, err := h.authService.Login(&req) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.Success(c, result) +} +``` + +### 步骤 7:创建路由配置 + +创建 `server/internal/api/router.go`: +```go +package api + +import ( + "health-ai/internal/api/handler" + + "github.com/gin-contrib/cors" + "github.com/gin-gonic/gin" +) + +func SetupRouter(mode string) *gin.Engine { + gin.SetMode(mode) + r := gin.Default() + + // 跨域配置 + r.Use(cors.New(cors.Config{ + AllowOrigins: []string{"*"}, + AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, + AllowHeaders: []string{"Origin", "Content-Type", "Authorization"}, + AllowCredentials: true, + })) + + // 健康检查 + r.GET("/health", func(c *gin.Context) { + c.JSON(200, gin.H{"status": "ok"}) + }) + + // API 路由组 + apiGroup := r.Group("/api") + { + // 认证路由(无需登录) + authHandler := handler.NewAuthHandler() + authGroup := apiGroup.Group("/auth") + { + authGroup.POST("/register", authHandler.Register) + authGroup.POST("/login", authHandler.Login) + } + } + + return r +} +``` + +### 步骤 8:更新主程序 + +更新 `server/cmd/server/main.go`,添加路由启动: +```go +// ... 前面的初始化代码 ... + +// 初始化 JWT +jwt.Init(config.AppConfig.JWT.Secret, config.AppConfig.JWT.ExpireHours) + +// 启动服务器 +router := api.SetupRouter(config.AppConfig.Server.Mode) +addr := fmt.Sprintf(":%d", config.AppConfig.Server.Port) +log.Printf("Server running on http://localhost%s", addr) +router.Run(addr) +``` + +--- + +## API 接口说明 + +### POST /api/auth/register +注册新用户 + +**请求体:** +```json +{ + "phone": "13800138000", + "password": "123456", + "nickname": "小明" +} +``` + +**响应:** +```json +{ + "code": 0, + "message": "success", + "data": { + "token": "eyJhbGc...", + "user_id": 1, + "nickname": "小明", + "survey_completed": false + } +} +``` + +### POST /api/auth/login +用户登录 + +**请求体:** +```json +{ + "phone": "13800138000", + "password": "123456" +} +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `pkg/response/response.go` | 统一响应 | +| `pkg/jwt/jwt.go` | JWT 工具 | +| `internal/api/middleware/auth.go` | 认证中间件 | +| `internal/repository/interface.go` | Repository 接口 | +| `internal/repository/impl/user.go` | 用户 Repository | +| `internal/service/auth.go` | 认证 Service | +| `internal/api/handler/auth.go` | 认证 Handler | +| `internal/api/router.go` | 路由配置 | + +--- + +## 验收标准 + +- [ ] 服务启动成功,监听 8080 端口 +- [ ] `/health` 返回 `{"status": "ok"}` +- [ ] 注册接口正常创建用户 +- [ ] 登录接口返回有效 Token +- [ ] 密码错误返回正确错误信息 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +完成后进入 `02-后端开发/04-健康调查模块.md` diff --git a/TODOS/02-后端开发/04-健康调查模块.md b/TODOS/02-后端开发/04-健康调查模块.md new file mode 100644 index 0000000..645c70e --- /dev/null +++ b/TODOS/02-后端开发/04-健康调查模块.md @@ -0,0 +1,515 @@ +# 04-健康调查模块 + +## 目标 + +实现新用户健康调查功能,包括基础信息、生活习惯、病史、过敏史等信息的提交和管理。 + +--- + +## 前置要求 + +- 用户认证模块已完成 +- 数据模型已定义 + +--- + +## 实施步骤 + +### 步骤 1:创建健康档案 Repository + +创建 `server/internal/repository/impl/health.go`: +```go +package impl + +import ( + "health-ai/internal/database" + "health-ai/internal/model" +) + +type HealthRepository struct{} + +func NewHealthRepository() *HealthRepository { + return &HealthRepository{} +} + +// HealthProfile +func (r *HealthRepository) CreateProfile(profile *model.HealthProfile) error { + return database.DB.Create(profile).Error +} + +func (r *HealthRepository) GetProfileByUserID(userID uint) (*model.HealthProfile, error) { + var profile model.HealthProfile + err := database.DB.Where("user_id = ?", userID).First(&profile).Error + return &profile, err +} + +func (r *HealthRepository) UpdateProfile(profile *model.HealthProfile) error { + return database.DB.Save(profile).Error +} + +// LifestyleInfo +func (r *HealthRepository) CreateLifestyle(lifestyle *model.LifestyleInfo) error { + return database.DB.Create(lifestyle).Error +} + +func (r *HealthRepository) GetLifestyleByUserID(userID uint) (*model.LifestyleInfo, error) { + var lifestyle model.LifestyleInfo + err := database.DB.Where("user_id = ?", userID).First(&lifestyle).Error + return &lifestyle, err +} + +func (r *HealthRepository) UpdateLifestyle(lifestyle *model.LifestyleInfo) error { + return database.DB.Save(lifestyle).Error +} + +// MedicalHistory +func (r *HealthRepository) CreateMedicalHistory(history *model.MedicalHistory) error { + return database.DB.Create(history).Error +} + +func (r *HealthRepository) GetMedicalHistories(profileID uint) ([]model.MedicalHistory, error) { + var histories []model.MedicalHistory + err := database.DB.Where("health_profile_id = ?", profileID).Find(&histories).Error + return histories, err +} + +func (r *HealthRepository) DeleteMedicalHistory(id uint) error { + return database.DB.Delete(&model.MedicalHistory{}, id).Error +} + +// FamilyHistory +func (r *HealthRepository) CreateFamilyHistory(history *model.FamilyHistory) error { + return database.DB.Create(history).Error +} + +func (r *HealthRepository) GetFamilyHistories(profileID uint) ([]model.FamilyHistory, error) { + var histories []model.FamilyHistory + err := database.DB.Where("health_profile_id = ?", profileID).Find(&histories).Error + return histories, err +} + +// AllergyRecord +func (r *HealthRepository) CreateAllergyRecord(record *model.AllergyRecord) error { + return database.DB.Create(record).Error +} + +func (r *HealthRepository) GetAllergyRecords(profileID uint) ([]model.AllergyRecord, error) { + var records []model.AllergyRecord + err := database.DB.Where("health_profile_id = ?", profileID).Find(&records).Error + return records, err +} +``` + +### 步骤 2:创建健康调查 Service + +创建 `server/internal/service/survey.go`: +```go +package service + +import ( + "health-ai/internal/model" + "health-ai/internal/repository/impl" +) + +type SurveyService struct { + healthRepo *impl.HealthRepository + userRepo *impl.UserRepositoryImpl +} + +func NewSurveyService() *SurveyService { + return &SurveyService{ + healthRepo: impl.NewHealthRepository(), + userRepo: impl.NewUserRepository(), + } +} + +// 基础信息请求 +type BasicInfoRequest struct { + Name string `json:"name" binding:"required"` + BirthDate string `json:"birth_date"` + Gender string `json:"gender" binding:"required,oneof=male female"` + Height float64 `json:"height" binding:"required"` + Weight float64 `json:"weight" binding:"required"` + BloodType string `json:"blood_type"` + Occupation string `json:"occupation"` + MaritalStatus string `json:"marital_status"` + Region string `json:"region"` +} + +// 生活习惯请求 +type LifestyleRequest struct { + SleepTime string `json:"sleep_time"` + WakeTime string `json:"wake_time"` + SleepQuality string `json:"sleep_quality"` + MealRegularity string `json:"meal_regularity"` + DietPreference string `json:"diet_preference"` + DailyWaterML int `json:"daily_water_ml"` + ExerciseFrequency string `json:"exercise_frequency"` + ExerciseType string `json:"exercise_type"` + ExerciseDurationMin int `json:"exercise_duration_min"` + IsSmoker bool `json:"is_smoker"` + AlcoholFrequency string `json:"alcohol_frequency"` +} + +// 病史请求 +type MedicalHistoryRequest struct { + DiseaseName string `json:"disease_name" binding:"required"` + DiseaseType string `json:"disease_type"` + DiagnosedDate string `json:"diagnosed_date"` + Status string `json:"status"` + Notes string `json:"notes"` +} + +// 家族病史请求 +type FamilyHistoryRequest struct { + Relation string `json:"relation" binding:"required"` + DiseaseName string `json:"disease_name" binding:"required"` + Notes string `json:"notes"` +} + +// 过敏记录请求 +type AllergyRequest struct { + AllergyType string `json:"allergy_type" binding:"required"` + Allergen string `json:"allergen" binding:"required"` + Severity string `json:"severity"` + ReactionDesc string `json:"reaction_desc"` +} + +// 获取调查状态 +func (s *SurveyService) GetStatus(userID uint) (map[string]bool, error) { + status := map[string]bool{ + "basic_info": false, + "lifestyle": false, + "medical_history": false, + "family_history": false, + "allergy": false, + } + + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err == nil && profile.ID > 0 { + status["basic_info"] = true + + histories, _ := s.healthRepo.GetMedicalHistories(profile.ID) + status["medical_history"] = len(histories) >= 0 // 可以为空 + + familyHistories, _ := s.healthRepo.GetFamilyHistories(profile.ID) + status["family_history"] = len(familyHistories) >= 0 + + allergies, _ := s.healthRepo.GetAllergyRecords(profile.ID) + status["allergy"] = len(allergies) >= 0 + } + + lifestyle, err := s.healthRepo.GetLifestyleByUserID(userID) + if err == nil && lifestyle.ID > 0 { + status["lifestyle"] = true + } + + return status, nil +} + +// 提交基础信息 +func (s *SurveyService) SubmitBasicInfo(userID uint, req *BasicInfoRequest) error { + // 计算 BMI + heightM := req.Height / 100 + bmi := req.Weight / (heightM * heightM) + + profile := &model.HealthProfile{ + UserID: userID, + Name: req.Name, + Gender: req.Gender, + Height: req.Height, + Weight: req.Weight, + BMI: bmi, + BloodType: req.BloodType, + Occupation: req.Occupation, + MaritalStatus: req.MaritalStatus, + Region: req.Region, + } + + // 检查是否已存在 + existing, _ := s.healthRepo.GetProfileByUserID(userID) + if existing.ID > 0 { + profile.ID = existing.ID + return s.healthRepo.UpdateProfile(profile) + } + + return s.healthRepo.CreateProfile(profile) +} + +// 提交生活习惯 +func (s *SurveyService) SubmitLifestyle(userID uint, req *LifestyleRequest) error { + lifestyle := &model.LifestyleInfo{ + UserID: userID, + SleepTime: req.SleepTime, + WakeTime: req.WakeTime, + SleepQuality: req.SleepQuality, + MealRegularity: req.MealRegularity, + DietPreference: req.DietPreference, + DailyWaterML: req.DailyWaterML, + ExerciseFrequency: req.ExerciseFrequency, + ExerciseType: req.ExerciseType, + ExerciseDurationMin: req.ExerciseDurationMin, + IsSmoker: req.IsSmoker, + AlcoholFrequency: req.AlcoholFrequency, + } + + existing, _ := s.healthRepo.GetLifestyleByUserID(userID) + if existing.ID > 0 { + lifestyle.ID = existing.ID + return s.healthRepo.UpdateLifestyle(lifestyle) + } + + return s.healthRepo.CreateLifestyle(lifestyle) +} + +// 提交病史 +func (s *SurveyService) SubmitMedicalHistory(userID uint, req *MedicalHistoryRequest) error { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return err + } + + history := &model.MedicalHistory{ + HealthProfileID: profile.ID, + DiseaseName: req.DiseaseName, + DiseaseType: req.DiseaseType, + DiagnosedDate: req.DiagnosedDate, + Status: req.Status, + Notes: req.Notes, + } + + return s.healthRepo.CreateMedicalHistory(history) +} + +// 提交家族病史 +func (s *SurveyService) SubmitFamilyHistory(userID uint, req *FamilyHistoryRequest) error { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return err + } + + history := &model.FamilyHistory{ + HealthProfileID: profile.ID, + Relation: req.Relation, + DiseaseName: req.DiseaseName, + Notes: req.Notes, + } + + return s.healthRepo.CreateFamilyHistory(history) +} + +// 提交过敏信息 +func (s *SurveyService) SubmitAllergy(userID uint, req *AllergyRequest) error { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return err + } + + record := &model.AllergyRecord{ + HealthProfileID: profile.ID, + AllergyType: req.AllergyType, + Allergen: req.Allergen, + Severity: req.Severity, + ReactionDesc: req.ReactionDesc, + } + + return s.healthRepo.CreateAllergyRecord(record) +} + +// 标记调查完成 +func (s *SurveyService) MarkSurveyCompleted(userID uint) error { + user, err := s.userRepo.GetByID(userID) + if err != nil { + return err + } + user.SurveyCompleted = true + return s.userRepo.Update(user) +} +``` + +### 步骤 3:创建健康调查 Handler + +创建 `server/internal/api/handler/survey.go`: +```go +package handler + +import ( + "health-ai/internal/api/middleware" + "health-ai/internal/service" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type SurveyHandler struct { + surveyService *service.SurveyService +} + +func NewSurveyHandler() *SurveyHandler { + return &SurveyHandler{ + surveyService: service.NewSurveyService(), + } +} + +func (h *SurveyHandler) GetStatus(c *gin.Context) { + userID := middleware.GetUserID(c) + status, err := h.surveyService.GetStatus(userID) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, status) +} + +func (h *SurveyHandler) SubmitBasicInfo(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.BasicInfoRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitBasicInfo(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.Success(c, nil) +} + +func (h *SurveyHandler) SubmitLifestyle(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.LifestyleRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitLifestyle(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.Success(c, nil) +} + +func (h *SurveyHandler) SubmitMedicalHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.MedicalHistoryRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitMedicalHistory(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.Success(c, nil) +} + +func (h *SurveyHandler) SubmitFamilyHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.FamilyHistoryRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitFamilyHistory(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.Success(c, nil) +} + +func (h *SurveyHandler) SubmitAllergy(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.AllergyRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitAllergy(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.Success(c, nil) +} +``` + +### 步骤 4:更新路由配置 + +在 `router.go` 中添加调查路由: +```go +// 健康调查路由(需要登录) +surveyHandler := handler.NewSurveyHandler() +surveyGroup := apiGroup.Group("/survey") +surveyGroup.Use(middleware.AuthRequired()) +{ + surveyGroup.GET("/status", surveyHandler.GetStatus) + surveyGroup.POST("/basic-info", surveyHandler.SubmitBasicInfo) + surveyGroup.POST("/lifestyle", surveyHandler.SubmitLifestyle) + surveyGroup.POST("/medical-history", surveyHandler.SubmitMedicalHistory) + surveyGroup.POST("/family-history", surveyHandler.SubmitFamilyHistory) + surveyGroup.POST("/allergy", surveyHandler.SubmitAllergy) +} +``` + +--- + +## API 接口说明 + +### GET /api/survey/status +获取调查完成状态(需认证) + +### POST /api/survey/basic-info +提交基础信息 + +### POST /api/survey/lifestyle +提交生活习惯 + +### POST /api/survey/medical-history +提交病史(可多次提交) + +### POST /api/survey/family-history +提交家族病史(可多次提交) + +### POST /api/survey/allergy +提交过敏信息(可多次提交) + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `internal/repository/impl/health.go` | 健康 Repository | +| `internal/service/survey.go` | 调查 Service | +| `internal/api/handler/survey.go` | 调查 Handler | + +--- + +## 验收标准 + +- [ ] 获取调查状态接口正常 +- [ ] 基础信息提交成功,BMI 自动计算 +- [ ] 生活习惯提交成功 +- [ ] 病史、家族史、过敏信息可多次添加 +- [ ] 所有接口需要认证 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +完成后进入 `02-后端开发/05-体质辨识模块.md` diff --git a/TODOS/02-后端开发/05-体质辨识模块.md b/TODOS/02-后端开发/05-体质辨识模块.md new file mode 100644 index 0000000..b6845a8 --- /dev/null +++ b/TODOS/02-后端开发/05-体质辨识模块.md @@ -0,0 +1,550 @@ +# 05-体质辨识模块 + +## 目标 + +实现中医体质辨识问卷功能,包括问卷题库、答案提交、体质计算和调养建议生成。 + +--- + +## 前置要求 + +- 健康调查模块已完成 +- 数据模型已定义 + +--- + +## 实施步骤 + +### 步骤 1:创建体质常量定义 + +创建 `server/internal/model/constitution_const.go`: +```go +package model + +// 九种体质类型 +const ( + ConstitutionPinghe = "pinghe" // 平和质 + ConstitutionQixu = "qixu" // 气虚质 + ConstitutionYangxu = "yangxu" // 阳虚质 + ConstitutionYinxu = "yinxu" // 阴虚质 + ConstitutionTanshi = "tanshi" // 痰湿质 + ConstitutionShire = "shire" // 湿热质 + ConstitutionXueyu = "xueyu" // 血瘀质 + ConstitutionQiyu = "qiyu" // 气郁质 + ConstitutionTebing = "tebing" // 特禀质 +) + +// 体质名称映射 +var ConstitutionNames = map[string]string{ + ConstitutionPinghe: "平和质", + ConstitutionQixu: "气虚质", + ConstitutionYangxu: "阳虚质", + ConstitutionYinxu: "阴虚质", + ConstitutionTanshi: "痰湿质", + ConstitutionShire: "湿热质", + ConstitutionXueyu: "血瘀质", + ConstitutionQiyu: "气郁质", + ConstitutionTebing: "特禀质", +} + +// 体质特征描述 +var ConstitutionDescriptions = map[string]string{ + ConstitutionPinghe: "阴阳气血调和,体态适中,面色红润,精力充沛", + ConstitutionQixu: "元气不足,容易疲劳,气短懒言,易出汗", + ConstitutionYangxu: "阳气不足,畏寒怕冷,手脚冰凉,喜热饮", + ConstitutionYinxu: "阴液亏少,口燥咽干,手足心热,盗汗", + ConstitutionTanshi: "痰湿凝聚,形体肥胖,腹部肥满,痰多", + ConstitutionShire: "湿热内蕴,面垢油光,口苦口干,大便黏滞", + ConstitutionXueyu: "血行不畅,肤色晦暗,易生斑点,健忘", + ConstitutionQiyu: "气机郁滞,情绪低落,多愁善感,胸闷", + ConstitutionTebing: "先天失常,过敏体质,易打喷嚏,皮肤易过敏", +} + +// 体质调养建议 +var ConstitutionRecommendations = map[string]map[string]string{ + ConstitutionPinghe: { + "diet": "饮食均衡,不偏食,粗细搭配", + "lifestyle": "起居有常,劳逸结合", + "exercise": "可进行各种运动,量力而行", + "emotion": "保持乐观积极的心态", + }, + ConstitutionQixu: { + "diet": "宜食益气健脾食物,如山药、大枣、小米", + "lifestyle": "避免劳累,保证充足睡眠", + "exercise": "宜柔和运动,如太极拳、散步", + "emotion": "避免过度思虑", + }, + ConstitutionYangxu: { + "diet": "宜食温阳食物,如羊肉、韭菜、生姜", + "lifestyle": "注意保暖,避免受寒", + "exercise": "宜温和运动,避免大汗", + "emotion": "保持积极乐观", + }, + ConstitutionYinxu: { + "diet": "宜食滋阴食物,如百合、银耳、枸杞", + "lifestyle": "避免熬夜,保持环境湿润", + "exercise": "宜静养,避免剧烈运动", + "emotion": "避免急躁易怒", + }, + ConstitutionTanshi: { + "diet": "饮食清淡,少食肥甘厚味,宜食薏米、冬瓜", + "lifestyle": "居住环境宜干燥通风", + "exercise": "坚持运动,促进代谢", + "emotion": "保持心情舒畅", + }, + ConstitutionShire: { + "diet": "饮食清淡,宜食苦瓜、绿豆、薏米", + "lifestyle": "避免湿热环境,保持皮肤清洁", + "exercise": "适当运动,出汗排湿", + "emotion": "保持平和心态", + }, + ConstitutionXueyu: { + "diet": "宜食活血化瘀食物,如山楂、黑木耳", + "lifestyle": "避免久坐,适当活动", + "exercise": "坚持有氧运动,促进血液循环", + "emotion": "保持心情愉快", + }, + ConstitutionQiyu: { + "diet": "宜食行气解郁食物,如玫瑰花、佛手", + "lifestyle": "多参加社交活动", + "exercise": "宜户外运动,舒展身心", + "emotion": "学会疏导情绪,培养兴趣爱好", + }, + ConstitutionTebing: { + "diet": "避免食用过敏食物,饮食清淡", + "lifestyle": "避免接触过敏原,保持环境清洁", + "exercise": "适度运动,增强体质", + "emotion": "保持心态平和", + }, +} +``` + +### 步骤 2:创建问卷题库初始化 + +创建 `server/internal/database/seed.go`: +```go +package database + +import ( + "encoding/json" + "health-ai/internal/model" +) + +// 初始化问卷题库 +func SeedQuestionBank() error { + // 检查是否已有数据 + var count int64 + DB.Model(&model.QuestionBank{}).Count(&count) + if count > 0 { + return nil + } + + questions := getQuestions() + for _, q := range questions { + if err := DB.Create(&q).Error; err != nil { + return err + } + } + return nil +} + +func getQuestions() []model.QuestionBank { + options, _ := json.Marshal([]string{"没有", "很少", "有时", "经常", "总是"}) + optStr := string(options) + + return []model.QuestionBank{ + // 平和质 (8题) + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您精力充沛吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您容易疲乏吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您说话声音低弱无力吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您感到闷闷不乐、情绪低沉吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您比一般人耐受不了寒冷吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您能适应外界自然和社会环境的变化吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您容易失眠吗?", Options: optStr, OrderNum: 7}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您容易忘事吗?", Options: optStr, OrderNum: 8}, + + // 气虚质 (8题) + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您容易气短(呼吸短促,接不上气)吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您容易心慌吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您容易头晕或站起时晕眩吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您比别人容易感冒吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您喜欢安静、懒得说话吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您说话声音低弱无力吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您活动量稍大就容易出虚汗吗?", Options: optStr, OrderNum: 7}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您容易疲乏吗?", Options: optStr, OrderNum: 8}, + + // 阳虚质 (7题) + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您手脚发凉吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您胃脘部、背部或腰膝部怕冷吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您穿的衣服总比别人多吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您比一般人耐受不了寒冷吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您比别人容易感冒吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您吃凉东西会感到不舒服或怕吃凉东西吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您受凉或吃凉的东西后,容易拉肚子吗?", Options: optStr, OrderNum: 7}, + + // 阴虚质 (8题) + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您感到手脚心发热吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您感觉身体、脸上发热吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您皮肤或口唇干吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您口唇的颜色比一般人红吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您容易便秘或大便干燥吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您面部两颧潮红或偏红吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您感到眼睛干涩吗?", Options: optStr, OrderNum: 7}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您感到口干咽燥、总想喝水吗?", Options: optStr, OrderNum: 8}, + + // 痰湿质 (8题) + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您感到胸闷或腹部胀满吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您感到身体沉重不轻松或不爽快吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您腹部肥满松软吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您额头部位油脂分泌多吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您上眼睑比别人肿吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您嘴里有黏黏的感觉吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您平时痰多吗?", Options: optStr, OrderNum: 7}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您舌苔厚腻或有舌苔厚厚的感觉吗?", Options: optStr, OrderNum: 8}, + + // 湿热质 (7题) + {ConstitutionType: model.ConstitutionShire, QuestionText: "您面部或鼻部有油腻感或油光发亮吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您脸上容易生痤疮或皮肤容易生疮疖吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您感到口苦或嘴里有异味吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您大便黏滞不爽、有解不尽的感觉吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您小便时尿道有发热感、尿色浓吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您带下色黄(白带颜色发黄)吗?(限女性回答)", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您的阴囊部位潮湿吗?(限男性回答)", Options: optStr, OrderNum: 7}, + + // 血瘀质 (7题) + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您皮肤在不知不觉中会出现青紫瘀斑吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您两颧部有细微红丝吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您身体上有哪里疼痛吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您面色晦暗或容易出现褐斑吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您容易有黑眼圈吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您容易忘事吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您口唇颜色偏暗吗?", Options: optStr, OrderNum: 7}, + + // 气郁质 (7题) + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您感到闷闷不乐、情绪低沉吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您精神紧张、焦虑不安吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您多愁善感、感情脆弱吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您容易感到害怕或受到惊吓吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您胁肋部或乳房胀痛吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您无缘无故叹气吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您咽喉部有异物感吗?", Options: optStr, OrderNum: 7}, + + // 特禀质 (7题) + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您没有感冒时也会打喷嚏吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您没有感冒时也会鼻塞、流鼻涕吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您有因季节变化、温度变化或异味引起的咳嗽吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您容易过敏吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您皮肤容易起荨麻疹吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您皮肤一抓就红,并出现抓痕吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您皮肤或身上容易出现紫红色瘀点、瘀斑吗?", Options: optStr, OrderNum: 7}, + } +} +``` + +### 步骤 3:创建体质 Repository + +创建 `server/internal/repository/impl/constitution.go`: +```go +package impl + +import ( + "health-ai/internal/database" + "health-ai/internal/model" +) + +type ConstitutionRepository struct{} + +func NewConstitutionRepository() *ConstitutionRepository { + return &ConstitutionRepository{} +} + +func (r *ConstitutionRepository) GetQuestions() ([]model.QuestionBank, error) { + var questions []model.QuestionBank + err := database.DB.Order("constitution_type, order_num").Find(&questions).Error + return questions, err +} + +func (r *ConstitutionRepository) CreateAssessment(assessment *model.ConstitutionAssessment) error { + return database.DB.Create(assessment).Error +} + +func (r *ConstitutionRepository) GetLatestAssessment(userID uint) (*model.ConstitutionAssessment, error) { + var assessment model.ConstitutionAssessment + err := database.DB.Where("user_id = ?", userID).Order("assessed_at DESC").First(&assessment).Error + return &assessment, err +} + +func (r *ConstitutionRepository) GetAssessmentHistory(userID uint) ([]model.ConstitutionAssessment, error) { + var assessments []model.ConstitutionAssessment + err := database.DB.Where("user_id = ?", userID).Order("assessed_at DESC").Find(&assessments).Error + return assessments, err +} +``` + +### 步骤 4:创建体质计算 Service + +创建 `server/internal/service/constitution.go`: +```go +package service + +import ( + "encoding/json" + "sort" + "time" + + "health-ai/internal/model" + "health-ai/internal/repository/impl" +) + +type ConstitutionService struct { + repo *impl.ConstitutionRepository +} + +func NewConstitutionService() *ConstitutionService { + return &ConstitutionService{ + repo: impl.NewConstitutionRepository(), + } +} + +type AnswerRequest struct { + QuestionID uint `json:"question_id" binding:"required"` + Score int `json:"score" binding:"required,min=1,max=5"` +} + +type SubmitRequest struct { + Answers []AnswerRequest `json:"answers" binding:"required"` +} + +type ConstitutionScore struct { + Type string `json:"type"` + Name string `json:"name"` + Score float64 `json:"score"` + Description string `json:"description"` +} + +type AssessmentResult struct { + PrimaryConstitution ConstitutionScore `json:"primary_constitution"` + SecondaryConstitutions []ConstitutionScore `json:"secondary_constitutions"` + AllScores []ConstitutionScore `json:"all_scores"` + Recommendations map[string]map[string]string `json:"recommendations"` + AssessedAt time.Time `json:"assessed_at"` +} + +func (s *ConstitutionService) GetQuestions() ([]model.QuestionBank, error) { + return s.repo.GetQuestions() +} + +func (s *ConstitutionService) SubmitAssessment(userID uint, req *SubmitRequest) (*AssessmentResult, error) { + // 获取所有问题 + questions, err := s.repo.GetQuestions() + if err != nil { + return nil, err + } + + // 构建问题ID到体质类型的映射 + questionTypeMap := make(map[uint]string) + typeQuestionCount := make(map[string]int) + for _, q := range questions { + questionTypeMap[q.ID] = q.ConstitutionType + typeQuestionCount[q.ConstitutionType]++ + } + + // 计算各体质原始分 + typeScores := make(map[string]int) + for _, answer := range req.Answers { + if cType, ok := questionTypeMap[answer.QuestionID]; ok { + typeScores[cType] += answer.Score + } + } + + // 计算转化分 + allScores := make([]ConstitutionScore, 0) + for cType, rawScore := range typeScores { + questionCount := typeQuestionCount[cType] + if questionCount == 0 { + continue + } + // 转化分 = (原始分 - 条目数) / (条目数 × 4) × 100 + transformedScore := float64(rawScore-questionCount) / float64(questionCount*4) * 100 + + allScores = append(allScores, ConstitutionScore{ + Type: cType, + Name: model.ConstitutionNames[cType], + Score: transformedScore, + Description: model.ConstitutionDescriptions[cType], + }) + } + + // 按分数排序 + sort.Slice(allScores, func(i, j int) bool { + return allScores[i].Score > allScores[j].Score + }) + + // 判定主要体质和次要体质 + var primary ConstitutionScore + var secondary []ConstitutionScore + + // 平和质特殊判定 + pingheScore := float64(0) + otherMax := float64(0) + for _, score := range allScores { + if score.Type == model.ConstitutionPinghe { + pingheScore = score.Score + } else if score.Score > otherMax { + otherMax = score.Score + } + } + + if pingheScore >= 60 && otherMax < 30 { + // 判定为平和质 + for _, score := range allScores { + if score.Type == model.ConstitutionPinghe { + primary = score + break + } + } + } else { + // 判定为偏颇体质 + for _, score := range allScores { + if score.Type == model.ConstitutionPinghe { + continue + } + if primary.Type == "" && score.Score >= 40 { + primary = score + } else if score.Score >= 30 { + secondary = append(secondary, score) + } + } + // 如果没有≥40的,取最高分 + if primary.Type == "" && len(allScores) > 0 { + for _, score := range allScores { + if score.Type != model.ConstitutionPinghe { + primary = score + break + } + } + } + } + + // 获取调养建议 + recommendations := make(map[string]map[string]string) + recommendations[primary.Type] = model.ConstitutionRecommendations[primary.Type] + for _, sec := range secondary { + recommendations[sec.Type] = model.ConstitutionRecommendations[sec.Type] + } + + // 保存评估结果 + scoresJSON, _ := json.Marshal(allScores) + secondaryJSON, _ := json.Marshal(secondary) + recsJSON, _ := json.Marshal(recommendations) + + assessment := &model.ConstitutionAssessment{ + UserID: userID, + AssessedAt: time.Now(), + Scores: string(scoresJSON), + PrimaryConstitution: primary.Type, + SecondaryConstitutions: string(secondaryJSON), + Recommendations: string(recsJSON), + } + if err := s.repo.CreateAssessment(assessment); err != nil { + return nil, err + } + + return &AssessmentResult{ + PrimaryConstitution: primary, + SecondaryConstitutions: secondary, + AllScores: allScores, + Recommendations: recommendations, + AssessedAt: assessment.AssessedAt, + }, nil +} + +func (s *ConstitutionService) GetLatestResult(userID uint) (*AssessmentResult, error) { + assessment, err := s.repo.GetLatestAssessment(userID) + if err != nil { + return nil, err + } + + var allScores []ConstitutionScore + var secondary []ConstitutionScore + var recommendations map[string]map[string]string + + json.Unmarshal([]byte(assessment.Scores), &allScores) + json.Unmarshal([]byte(assessment.SecondaryConstitutions), &secondary) + json.Unmarshal([]byte(assessment.Recommendations), &recommendations) + + var primary ConstitutionScore + for _, score := range allScores { + if score.Type == assessment.PrimaryConstitution { + primary = score + break + } + } + + return &AssessmentResult{ + PrimaryConstitution: primary, + SecondaryConstitutions: secondary, + AllScores: allScores, + Recommendations: recommendations, + AssessedAt: assessment.AssessedAt, + }, nil +} + +func (s *ConstitutionService) GetHistory(userID uint) ([]model.ConstitutionAssessment, error) { + return s.repo.GetAssessmentHistory(userID) +} +``` + +### 步骤 5:创建体质 Handler 和更新路由 + +创建 Handler 并在 router.go 中注册路由。 + +--- + +## API 接口说明 + +### GET /api/constitution/questions +获取体质问卷题目 + +### POST /api/constitution/submit +提交问卷答案,返回体质辨识结果 + +### GET /api/constitution/result +获取最新体质辨识结果 + +### GET /api/constitution/history +获取体质测评历史 + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `internal/model/constitution_const.go` | 体质常量定义 | +| `internal/database/seed.go` | 问卷题库初始化 | +| `internal/repository/impl/constitution.go` | 体质 Repository | +| `internal/service/constitution.go` | 体质计算 Service | +| `internal/api/handler/constitution.go` | 体质 Handler | + +--- + +## 验收标准 + +- [ ] 问卷题库自动初始化(67题) +- [ ] 获取问卷接口返回所有题目 +- [ ] 提交答案后正确计算体质得分 +- [ ] 体质判定逻辑正确(平和质特殊判定) +- [ ] 调养建议正确返回 + +--- + +## 预计耗时 + +40-50 分钟 + +--- + +## 下一步 + +完成后进入 `02-后端开发/06-AI对话模块.md` diff --git a/TODOS/02-后端开发/06-AI对话模块.md b/TODOS/02-后端开发/06-AI对话模块.md new file mode 100644 index 0000000..35f5468 --- /dev/null +++ b/TODOS/02-后端开发/06-AI对话模块.md @@ -0,0 +1,833 @@ +# 06-AI对话模块 + +## 目标 + +实现 AI 健康问诊对话功能,支持多轮对话、结合用户体质信息、流式响应。 + +--- + +## 前置要求 + +- 体质辨识模块已完成 +- 已有 AI API Key(OpenAI / 通义千问) + +--- + +## 实施步骤 + +### 步骤 1:创建 AI 客户端抽象 + +创建 `server/internal/service/ai/client.go`: +```go +package ai + +import ( + "context" + "io" +) + +// AIClient AI 客户端接口 +type AIClient interface { + Chat(ctx context.Context, messages []Message) (string, error) + ChatStream(ctx context.Context, messages []Message, writer io.Writer) error +} + +// Message 对话消息 +type Message struct { + Role string `json:"role"` // system, user, assistant + Content string `json:"content"` +} + +// Config AI 配置 +type Config struct { + Provider string + APIKey string + BaseURL string + Model string +} +``` + +### 步骤 2:实现 OpenAI 客户端 + +创建 `server/internal/service/ai/openai.go`: +```go +package ai + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "net/http" +) + +type OpenAIClient struct { + apiKey string + baseURL string + model string +} + +func NewOpenAIClient(cfg *Config) *OpenAIClient { + baseURL := cfg.BaseURL + if baseURL == "" { + baseURL = "https://api.openai.com/v1" + } + model := cfg.Model + if model == "" { + model = "gpt-3.5-turbo" + } + return &OpenAIClient{ + apiKey: cfg.APIKey, + baseURL: baseURL, + model: model, + } +} + +type openAIRequest struct { + Model string `json:"model"` + Messages []Message `json:"messages"` + Stream bool `json:"stream"` +} + +type openAIResponse struct { + Choices []struct { + Message struct { + Content string `json:"content"` + } `json:"message"` + Delta struct { + Content string `json:"content"` + } `json:"delta"` + } `json:"choices"` +} + +func (c *OpenAIClient) Chat(ctx context.Context, messages []Message) (string, error) { + reqBody := openAIRequest{ + Model: c.model, + Messages: messages, + Stream: false, + } + + body, _ := json.Marshal(reqBody) + req, err := http.NewRequestWithContext(ctx, "POST", c.baseURL+"/chat/completions", bytes.NewReader(body)) + if err != nil { + return "", err + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+c.apiKey) + + resp, err := http.DefaultClient.Do(req) + if err != nil { + return "", err + } + defer resp.Body.Close() + + var result openAIResponse + if err := json.NewDecoder(resp.Body).Decode(&result); err != nil { + return "", err + } + + if len(result.Choices) == 0 { + return "", fmt.Errorf("no response from AI") + } + + return result.Choices[0].Message.Content, nil +} + +func (c *OpenAIClient) ChatStream(ctx context.Context, messages []Message, writer io.Writer) error { + reqBody := openAIRequest{ + Model: c.model, + Messages: messages, + Stream: true, + } + + body, _ := json.Marshal(reqBody) + req, err := http.NewRequestWithContext(ctx, "POST", c.baseURL+"/chat/completions", bytes.NewReader(body)) + if err != nil { + return err + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+c.apiKey) + + resp, err := http.DefaultClient.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + + // 读取 SSE 流 + reader := resp.Body + buf := make([]byte, 1024) + for { + n, err := reader.Read(buf) + if err == io.EOF { + break + } + if err != nil { + return err + } + writer.Write(buf[:n]) + } + + return nil +} +``` + +### 步骤 2.5:实现阿里云通义千问客户端 + +创建 `server/internal/service/ai/aliyun.go`: +```go +package ai + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "net/http" +) + +const AliyunBaseURL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" + +type AliyunClient struct { + apiKey string + model string +} + +func NewAliyunClient(cfg *Config) *AliyunClient { + model := cfg.Model + if model == "" { + model = "qwen-turbo" + } + return &AliyunClient{ + apiKey: cfg.APIKey, + model: model, + } +} + +type aliyunRequest struct { + Model string `json:"model"` + Input struct { + Messages []Message `json:"messages"` + } `json:"input"` + Parameters struct { + ResultFormat string `json:"result_format"` + MaxTokens int `json:"max_tokens,omitempty"` + } `json:"parameters"` +} + +type aliyunResponse struct { + Output struct { + Text string `json:"text"` + Choices []struct { + Message struct { + Content string `json:"content"` + } `json:"message"` + } `json:"choices"` + } `json:"output"` + Usage struct { + InputTokens int `json:"input_tokens"` + OutputTokens int `json:"output_tokens"` + } `json:"usage"` + Code string `json:"code"` + Message string `json:"message"` +} + +func (c *AliyunClient) Chat(ctx context.Context, messages []Message) (string, error) { + reqBody := aliyunRequest{ + Model: c.model, + } + reqBody.Input.Messages = messages + reqBody.Parameters.ResultFormat = "message" + + body, _ := json.Marshal(reqBody) + req, err := http.NewRequestWithContext(ctx, "POST", AliyunBaseURL, bytes.NewReader(body)) + if err != nil { + return "", err + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+c.apiKey) + + resp, err := http.DefaultClient.Do(req) + if err != nil { + return "", err + } + defer resp.Body.Close() + + var result aliyunResponse + if err := json.NewDecoder(resp.Body).Decode(&result); err != nil { + return "", err + } + + if result.Code != "" { + return "", fmt.Errorf("aliyun API error: %s - %s", result.Code, result.Message) + } + + // 兼容两种返回格式 + if len(result.Output.Choices) > 0 { + return result.Output.Choices[0].Message.Content, nil + } + if result.Output.Text != "" { + return result.Output.Text, nil + } + + return "", fmt.Errorf("no response from AI") +} + +func (c *AliyunClient) ChatStream(ctx context.Context, messages []Message, writer io.Writer) error { + reqBody := aliyunRequest{ + Model: c.model, + } + reqBody.Input.Messages = messages + reqBody.Parameters.ResultFormat = "message" + + body, _ := json.Marshal(reqBody) + req, err := http.NewRequestWithContext(ctx, "POST", AliyunBaseURL, bytes.NewReader(body)) + if err != nil { + return err + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+c.apiKey) + req.Header.Set("X-DashScope-SSE", "enable") // 启用流式输出 + + resp, err := http.DefaultClient.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + + // 读取 SSE 流 + buf := make([]byte, 1024) + for { + n, err := resp.Body.Read(buf) + if err == io.EOF { + break + } + if err != nil { + return err + } + writer.Write(buf[:n]) + } + + return nil +} +``` + +### 步骤 2.6:创建 AI 客户端工厂 + +创建 `server/internal/service/ai/factory.go`: +```go +package ai + +import "health-ai/internal/config" + +// NewAIClient 根据配置创建 AI 客户端 +func NewAIClient(cfg *config.AIConfig) AIClient { + switch cfg.Provider { + case "aliyun": + return NewAliyunClient(&Config{ + APIKey: cfg.Aliyun.APIKey, + Model: cfg.Aliyun.Model, + }) + case "openai": + fallthrough + default: + return NewOpenAIClient(&Config{ + APIKey: cfg.OpenAI.APIKey, + BaseURL: cfg.OpenAI.BaseURL, + Model: cfg.OpenAI.Model, + }) + } +} +``` + +### 步骤 3:创建对话 Repository + +创建 `server/internal/repository/impl/conversation.go`: +```go +package impl + +import ( + "health-ai/internal/database" + "health-ai/internal/model" +) + +type ConversationRepository struct{} + +func NewConversationRepository() *ConversationRepository { + return &ConversationRepository{} +} + +func (r *ConversationRepository) Create(conv *model.Conversation) error { + return database.DB.Create(conv).Error +} + +func (r *ConversationRepository) GetByID(id uint) (*model.Conversation, error) { + var conv model.Conversation + err := database.DB.Preload("Messages").First(&conv, id).Error + return &conv, err +} + +func (r *ConversationRepository) GetByUserID(userID uint) ([]model.Conversation, error) { + var convs []model.Conversation + err := database.DB.Where("user_id = ?", userID).Order("updated_at DESC").Find(&convs).Error + return convs, err +} + +func (r *ConversationRepository) Delete(id uint) error { + // 先删除消息 + database.DB.Where("conversation_id = ?", id).Delete(&model.Message{}) + return database.DB.Delete(&model.Conversation{}, id).Error +} + +func (r *ConversationRepository) AddMessage(msg *model.Message) error { + return database.DB.Create(msg).Error +} + +func (r *ConversationRepository) GetMessages(convID uint) ([]model.Message, error) { + var messages []model.Message + err := database.DB.Where("conversation_id = ?", convID).Order("created_at ASC").Find(&messages).Error + return messages, err +} + +func (r *ConversationRepository) UpdateTitle(id uint, title string) error { + return database.DB.Model(&model.Conversation{}).Where("id = ?", id).Update("title", title).Error +} +``` + +### 步骤 4:创建对话 Service + +创建 `server/internal/service/conversation.go`: +```go +package service + +import ( + "context" + "fmt" + "io" + "time" + + "health-ai/internal/config" + "health-ai/internal/model" + "health-ai/internal/repository/impl" + "health-ai/internal/service/ai" +) + +type ConversationService struct { + convRepo *impl.ConversationRepository + constitutionRepo *impl.ConstitutionRepository + healthRepo *impl.HealthRepository + aiClient ai.AIClient +} + +func NewConversationService() *ConversationService { + // 使用工厂方法创建 AI 客户端 + client := ai.NewAIClient(&config.AppConfig.AI) + + return &ConversationService{ + convRepo: impl.NewConversationRepository(), + constitutionRepo: impl.NewConstitutionRepository(), + healthRepo: impl.NewHealthRepository(), + aiClient: client, + } +} + +// 获取用户对话列表 +func (s *ConversationService) GetConversations(userID uint) ([]model.Conversation, error) { + return s.convRepo.GetByUserID(userID) +} + +// 创建新对话 +func (s *ConversationService) CreateConversation(userID uint, title string) (*model.Conversation, error) { + if title == "" { + title = "新对话 " + time.Now().Format("01-02 15:04") + } + conv := &model.Conversation{ + UserID: userID, + Title: title, + } + if err := s.convRepo.Create(conv); err != nil { + return nil, err + } + return conv, nil +} + +// 获取对话详情 +func (s *ConversationService) GetConversation(id uint) (*model.Conversation, error) { + return s.convRepo.GetByID(id) +} + +// 删除对话 +func (s *ConversationService) DeleteConversation(id uint) error { + return s.convRepo.Delete(id) +} + +// 发送消息 +func (s *ConversationService) SendMessage(ctx context.Context, userID uint, convID uint, content string) (string, error) { + // 保存用户消息 + userMsg := &model.Message{ + ConversationID: convID, + Role: "user", + Content: content, + } + if err := s.convRepo.AddMessage(userMsg); err != nil { + return "", err + } + + // 构建对话上下文 + messages := s.buildMessages(userID, convID, content) + + // 调用 AI + response, err := s.aiClient.Chat(ctx, messages) + if err != nil { + return "", err + } + + // 保存 AI 回复 + assistantMsg := &model.Message{ + ConversationID: convID, + Role: "assistant", + Content: response, + } + if err := s.convRepo.AddMessage(assistantMsg); err != nil { + return "", err + } + + return response, nil +} + +// 流式发送消息 +func (s *ConversationService) SendMessageStream(ctx context.Context, userID uint, convID uint, content string, writer io.Writer) error { + // 保存用户消息 + userMsg := &model.Message{ + ConversationID: convID, + Role: "user", + Content: content, + } + if err := s.convRepo.AddMessage(userMsg); err != nil { + return err + } + + // 构建对话上下文 + messages := s.buildMessages(userID, convID, content) + + // 调用 AI 流式接口 + return s.aiClient.ChatStream(ctx, messages, writer) +} + +// 构建消息上下文 +func (s *ConversationService) buildMessages(userID uint, convID uint, currentMsg string) []ai.Message { + messages := []ai.Message{} + + // 系统提示词 + systemPrompt := s.buildSystemPrompt(userID) + messages = append(messages, ai.Message{ + Role: "system", + Content: systemPrompt, + }) + + // 历史消息(限制数量避免超出 token 限制) + historyMsgs, _ := s.convRepo.GetMessages(convID) + + // 限制历史消息数量 + maxHistory := config.AppConfig.AI.MaxHistoryMessages + if maxHistory <= 0 { + maxHistory = 10 // 默认10条 + } + if len(historyMsgs) > maxHistory { + historyMsgs = historyMsgs[len(historyMsgs)-maxHistory:] + } + + for _, msg := range historyMsgs { + messages = append(messages, ai.Message{ + Role: msg.Role, + Content: msg.Content, + }) + } + + return messages +} + +// 系统提示词模板(完整版见 design.md 4.3.1 节) +const systemPromptTemplate = `# 角色定义 +你是"健康AI助手",一个专业的健康咨询助理。你基于中医体质辨识理论,为用户提供个性化的健康建议。 + +## 重要声明 +- 你不是专业医师,仅提供健康咨询和养生建议 +- 你的建议不能替代医生的诊断和治疗 +- 遇到以下情况,必须立即建议用户就医: + * 胸痛、呼吸困难、剧烈头痛 + * 高烧不退(超过39°C持续24小时) + * 意识模糊、晕厥 + * 严重外伤、大量出血 + * 持续剧烈腹痛 + * 疑似中风症状(口眼歪斜、肢体无力、言语不清) + +## 用户信息 +%s + +## 用户体质 +%s + +## 用药历史 +%s + +## 回答原则 +1. 回答控制在200字以内,简洁明了 +2. 根据用户体质给出针对性建议 +3. 用药建议优先推荐非处方中成药或食疗,注明"建议咨询药师" +4. 不推荐处方药,不做疾病诊断 + +## 回答格式 +【情况分析】一句话概括 +【建议】 +1. 具体建议 +【用药参考】(如适用) +- 药品名称:用法(建议咨询药师) +【提醒】注意事项或就医建议` + +// 构建系统提示词(包含用户体质信息) +func (s *ConversationService) buildSystemPrompt(userID uint) string { + var userProfile, constitutionInfo, medicationHistory string + + // 获取用户基本信息 + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err == nil && profile.ID > 0 { + age := calculateAge(profile.BirthDate) + gender := "未知" + if profile.Gender == "male" { + gender = "男" + } else if profile.Gender == "female" { + gender = "女" + } + userProfile = fmt.Sprintf("性别:%s,年龄:%d岁,BMI:%.1f", gender, age, profile.BMI) + } else { + userProfile = "暂无" + } + + // 获取用户体质信息 + constitution, err := s.constitutionRepo.GetLatestAssessment(userID) + if err == nil && constitution.ID > 0 { + constitutionName := model.ConstitutionNames[constitution.PrimaryConstitution] + description := model.ConstitutionDescriptions[constitution.PrimaryConstitution] + constitutionInfo = fmt.Sprintf("主体质:%s\n特征:%s", constitutionName, description) + } else { + constitutionInfo = "暂未测评" + } + + // 获取用药历史 + medications, err := s.healthRepo.GetMedications(userID) + if err == nil && len(medications) > 0 { + var medNames []string + for _, m := range medications { + medNames = append(medNames, m.Name) + } + medicationHistory = "近期用药:" + strings.Join(medNames, "、") + } else { + medicationHistory = "暂无记录" + } + + return fmt.Sprintf(systemPromptTemplate, userProfile, constitutionInfo, medicationHistory) + + // 获取用户健康档案 + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err == nil && profile.ID > 0 { + basePrompt += fmt.Sprintf(` + +用户基本信息: +- 性别:%s +- BMI:%.1f`, profile.Gender, profile.BMI) + } + + return basePrompt +} +``` + +### 步骤 5:创建对话 Handler + +创建 `server/internal/api/handler/conversation.go`: +```go +package handler + +import ( + "health-ai/internal/api/middleware" + "health-ai/internal/service" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type ConversationHandler struct { + convService *service.ConversationService +} + +func NewConversationHandler() *ConversationHandler { + return &ConversationHandler{ + convService: service.NewConversationService(), + } +} + +func (h *ConversationHandler) GetConversations(c *gin.Context) { + userID := middleware.GetUserID(c) + convs, err := h.convService.GetConversations(userID) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, convs) +} + +func (h *ConversationHandler) CreateConversation(c *gin.Context) { + userID := middleware.GetUserID(c) + var req struct { + Title string `json:"title"` + } + c.ShouldBindJSON(&req) + + conv, err := h.convService.CreateConversation(userID, req.Title) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, conv) +} + +func (h *ConversationHandler) GetConversation(c *gin.Context) { + id := c.Param("id") + var convID uint + fmt.Sscanf(id, "%d", &convID) + + conv, err := h.convService.GetConversation(convID) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, conv) +} + +func (h *ConversationHandler) DeleteConversation(c *gin.Context) { + id := c.Param("id") + var convID uint + fmt.Sscanf(id, "%d", &convID) + + if err := h.convService.DeleteConversation(convID); err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, nil) +} + +type SendMessageRequest struct { + Content string `json:"content" binding:"required"` +} + +func (h *ConversationHandler) SendMessage(c *gin.Context) { + userID := middleware.GetUserID(c) + id := c.Param("id") + var convID uint + fmt.Sscanf(id, "%d", &convID) + + var req SendMessageRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + reply, err := h.convService.SendMessage(c.Request.Context(), userID, convID, req.Content) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.Success(c, gin.H{ + "reply": reply, + }) +} +``` + +### 步骤 6:更新路由 + +在 `router.go` 中添加对话路由。 + +--- + +## API 接口说明 + +### GET /api/conversations +获取对话列表 + +### POST /api/conversations +创建新对话 + +### GET /api/conversations/:id +获取对话详情(含消息) + +### DELETE /api/conversations/:id +删除对话 + +### POST /api/conversations/:id/messages +发送消息并获取 AI 回复 + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `internal/service/ai/client.go` | AI 客户端接口定义 | +| `internal/service/ai/openai.go` | OpenAI 客户端实现 | +| `internal/service/ai/aliyun.go` | 阿里云通义千问客户端实现 | +| `internal/service/ai/factory.go` | AI 客户端工厂 | +| `internal/repository/impl/conversation.go` | 对话 Repository | +| `internal/service/conversation.go` | 对话 Service | +| `internal/api/handler/conversation.go` | 对话 Handler | + +--- + +## AI 服务配置说明 + +在 `config.yaml` 中配置 AI 服务: + +```yaml +ai: + provider: aliyun # 可选: openai, aliyun + max_history_messages: 10 # 最大历史消息数 + + openai: + api_key: "sk-xxx" # OpenAI API Key + base_url: "https://api.openai.com/v1" + model: "gpt-3.5-turbo" + + aliyun: + api_key: "sk-xxx" # 阿里云 DashScope API Key + model: "qwen-turbo" # 可选: qwen-turbo, qwen-plus, qwen-max +``` + +--- + +## 验收标准 + +- [ ] 创建/获取/删除对话正常 +- [ ] 发送消息返回 AI 回复 +- [ ] AI 回复结合用户体质和用药历史 +- [ ] 对话历史正确保存(限制消息数量) +- [ ] 支持 OpenAI 和阿里云通义千问切换 +- [ ] 无 API Key 时给出友好提示 +- [ ] 紧急情况提示用户就医 + +--- + +## 预计耗时 + +40-50 分钟 + +--- + +## 下一步 + +完成后进入 `02-后端开发/07-健康档案模块.md` diff --git a/TODOS/02-后端开发/07-健康档案模块.md b/TODOS/02-后端开发/07-健康档案模块.md new file mode 100644 index 0000000..dcef11f --- /dev/null +++ b/TODOS/02-后端开发/07-健康档案模块.md @@ -0,0 +1,512 @@ +# 07-健康档案模块 + +## 目标 + +实现用户健康档案的查询和管理功能,提供完整的健康信息视图。 + +--- + +## 前置要求 + +- 健康调查模块已完成 +- 体质辨识模块已完成 + +--- + +## 实施步骤 + +### 步骤 1:创建用户 Service + +创建 `server/internal/service/user.go`: +```go +package service + +import ( + "health-ai/internal/model" + "health-ai/internal/repository/impl" +) + +type UserService struct { + userRepo *impl.UserRepositoryImpl + healthRepo *impl.HealthRepository + constitutionRepo *impl.ConstitutionRepository +} + +func NewUserService() *UserService { + return &UserService{ + userRepo: impl.NewUserRepository(), + healthRepo: impl.NewHealthRepository(), + constitutionRepo: impl.NewConstitutionRepository(), + } +} + +// 用户资料响应 +type UserProfileResponse struct { + ID uint `json:"id"` + Phone string `json:"phone"` + Email string `json:"email"` + Nickname string `json:"nickname"` + Avatar string `json:"avatar"` + SurveyCompleted bool `json:"survey_completed"` +} + +// 获取用户资料 +func (s *UserService) GetProfile(userID uint) (*UserProfileResponse, error) { + user, err := s.userRepo.GetByID(userID) + if err != nil { + return nil, err + } + return &UserProfileResponse{ + ID: user.ID, + Phone: user.Phone, + Email: user.Email, + Nickname: user.Nickname, + Avatar: user.Avatar, + SurveyCompleted: user.SurveyCompleted, + }, nil +} + +// 更新用户资料请求 +type UpdateProfileRequest struct { + Nickname string `json:"nickname"` + Avatar string `json:"avatar"` + Email string `json:"email"` +} + +// 更新用户资料 +func (s *UserService) UpdateProfile(userID uint, req *UpdateProfileRequest) error { + user, err := s.userRepo.GetByID(userID) + if err != nil { + return err + } + if req.Nickname != "" { + user.Nickname = req.Nickname + } + if req.Avatar != "" { + user.Avatar = req.Avatar + } + if req.Email != "" { + user.Email = req.Email + } + return s.userRepo.Update(user) +} + +// 完整健康档案响应 +type FullHealthProfileResponse struct { + BasicInfo *model.HealthProfile `json:"basic_info"` + Lifestyle *model.LifestyleInfo `json:"lifestyle"` + MedicalHistory []model.MedicalHistory `json:"medical_history"` + FamilyHistory []model.FamilyHistory `json:"family_history"` + AllergyRecords []model.AllergyRecord `json:"allergy_records"` + Constitution *ConstitutionSummary `json:"constitution"` +} + +type ConstitutionSummary struct { + PrimaryType string `json:"primary_type"` + PrimaryName string `json:"primary_name"` + PrimaryDescription string `json:"primary_description"` + AssessedAt string `json:"assessed_at"` +} + +// 获取完整健康档案 +func (s *UserService) GetFullHealthProfile(userID uint) (*FullHealthProfileResponse, error) { + response := &FullHealthProfileResponse{} + + // 基础信息 + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err == nil && profile.ID > 0 { + response.BasicInfo = profile + + // 病史 + histories, _ := s.healthRepo.GetMedicalHistories(profile.ID) + response.MedicalHistory = histories + + // 家族史 + familyHistories, _ := s.healthRepo.GetFamilyHistories(profile.ID) + response.FamilyHistory = familyHistories + + // 过敏记录 + allergies, _ := s.healthRepo.GetAllergyRecords(profile.ID) + response.AllergyRecords = allergies + } + + // 生活习惯 + lifestyle, err := s.healthRepo.GetLifestyleByUserID(userID) + if err == nil && lifestyle.ID > 0 { + response.Lifestyle = lifestyle + } + + // 体质信息 + constitution, err := s.constitutionRepo.GetLatestAssessment(userID) + if err == nil && constitution.ID > 0 { + response.Constitution = &ConstitutionSummary{ + PrimaryType: constitution.PrimaryConstitution, + PrimaryName: model.ConstitutionNames[constitution.PrimaryConstitution], + PrimaryDescription: model.ConstitutionDescriptions[constitution.PrimaryConstitution], + AssessedAt: constitution.AssessedAt.Format("2006-01-02"), + } + } + + return response, nil +} + +// 更新健康档案基础信息 +func (s *UserService) UpdateHealthProfile(userID uint, req *BasicInfoRequest) error { + return NewSurveyService().SubmitBasicInfo(userID, req) +} + +// 更新生活习惯 +func (s *UserService) UpdateLifestyle(userID uint, req *LifestyleRequest) error { + return NewSurveyService().SubmitLifestyle(userID, req) +} +``` + +### 步骤 2:创建用户 Handler + +创建 `server/internal/api/handler/user.go`: +```go +package handler + +import ( + "health-ai/internal/api/middleware" + "health-ai/internal/service" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type UserHandler struct { + userService *service.UserService +} + +func NewUserHandler() *UserHandler { + return &UserHandler{ + userService: service.NewUserService(), + } +} + +// 获取用户资料 +func (h *UserHandler) GetProfile(c *gin.Context) { + userID := middleware.GetUserID(c) + profile, err := h.userService.GetProfile(userID) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, profile) +} + +// 更新用户资料 +func (h *UserHandler) UpdateProfile(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.UpdateProfileRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + if err := h.userService.UpdateProfile(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, nil) +} + +// 获取完整健康档案 +func (h *UserHandler) GetHealthProfile(c *gin.Context) { + userID := middleware.GetUserID(c) + profile, err := h.userService.GetFullHealthProfile(userID) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, profile) +} + +// 更新健康档案基础信息 +func (h *UserHandler) UpdateHealthProfile(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.BasicInfoRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + if err := h.userService.UpdateHealthProfile(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, nil) +} + +// 获取生活习惯 +func (h *UserHandler) GetLifestyle(c *gin.Context) { + userID := middleware.GetUserID(c) + profile, err := h.userService.GetFullHealthProfile(userID) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, profile.Lifestyle) +} + +// 更新生活习惯 +func (h *UserHandler) UpdateLifestyle(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.LifestyleRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.Error(c, 400, "参数错误: "+err.Error()) + return + } + + if err := h.userService.UpdateLifestyle(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, nil) +} +``` + +### 步骤 3:更新完整路由配置 + +更新 `server/internal/api/router.go`: +```go +package api + +import ( + "health-ai/internal/api/handler" + "health-ai/internal/api/middleware" + + "github.com/gin-contrib/cors" + "github.com/gin-gonic/gin" +) + +func SetupRouter(mode string) *gin.Engine { + gin.SetMode(mode) + r := gin.Default() + + // 跨域配置 + r.Use(cors.New(cors.Config{ + AllowOrigins: []string{"*"}, + AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, + AllowHeaders: []string{"Origin", "Content-Type", "Authorization"}, + AllowCredentials: true, + })) + + // 健康检查 + r.GET("/health", func(c *gin.Context) { + c.JSON(200, gin.H{"status": "ok"}) + }) + + // API 路由组 + api := r.Group("/api") + { + // ========== 公开接口(无需登录)========== + authHandler := handler.NewAuthHandler() + auth := api.Group("/auth") + { + auth.POST("/register", authHandler.Register) + auth.POST("/login", authHandler.Login) + } + + // ========== 需要认证的接口 ========== + authorized := api.Group("") + authorized.Use(middleware.AuthRequired()) + { + // 用户接口 + userHandler := handler.NewUserHandler() + user := authorized.Group("/user") + { + user.GET("/profile", userHandler.GetProfile) + user.PUT("/profile", userHandler.UpdateProfile) + user.GET("/health-profile", userHandler.GetHealthProfile) + user.PUT("/health-profile", userHandler.UpdateHealthProfile) + user.GET("/lifestyle", userHandler.GetLifestyle) + user.PUT("/lifestyle", userHandler.UpdateLifestyle) + } + + // 健康调查接口 + surveyHandler := handler.NewSurveyHandler() + survey := authorized.Group("/survey") + { + survey.GET("/status", surveyHandler.GetStatus) + survey.POST("/basic-info", surveyHandler.SubmitBasicInfo) + survey.POST("/lifestyle", surveyHandler.SubmitLifestyle) + survey.POST("/medical-history", surveyHandler.SubmitMedicalHistory) + survey.POST("/family-history", surveyHandler.SubmitFamilyHistory) + survey.POST("/allergy", surveyHandler.SubmitAllergy) + } + + // 体质辨识接口 + constitutionHandler := handler.NewConstitutionHandler() + constitution := authorized.Group("/constitution") + { + constitution.GET("/questions", constitutionHandler.GetQuestions) + constitution.POST("/submit", constitutionHandler.Submit) + constitution.GET("/result", constitutionHandler.GetResult) + constitution.GET("/history", constitutionHandler.GetHistory) + constitution.GET("/recommendations", constitutionHandler.GetRecommendations) + } + + // 对话接口 + convHandler := handler.NewConversationHandler() + conversations := authorized.Group("/conversations") + { + conversations.GET("", convHandler.GetConversations) + conversations.POST("", convHandler.CreateConversation) + conversations.GET("/:id", convHandler.GetConversation) + conversations.DELETE("/:id", convHandler.DeleteConversation) + conversations.POST("/:id/messages", convHandler.SendMessage) + } + } + } + + return r +} +``` + +### 步骤 4:更新主程序完整版 + +更新 `server/cmd/server/main.go`: +```go +package main + +import ( + "fmt" + "log" + + "health-ai/internal/api" + "health-ai/internal/config" + "health-ai/internal/database" + "health-ai/internal/model" + "health-ai/pkg/jwt" +) + +func main() { + // 加载配置 + if err := config.LoadConfig("config.yaml"); err != nil { + log.Fatalf("Failed to load config: %v", err) + } + log.Println("✓ Config loaded") + + // 初始化数据库 + if err := database.InitDatabase(&config.AppConfig.Database); err != nil { + log.Fatalf("Failed to init database: %v", err) + } + log.Println("✓ Database connected") + + // 自动迁移 + if err := database.AutoMigrate(model.AllModels()...); err != nil { + log.Fatalf("Failed to migrate: %v", err) + } + log.Println("✓ Database migrated") + + // 初始化问卷题库 + if err := database.SeedQuestionBank(); err != nil { + log.Fatalf("Failed to seed question bank: %v", err) + } + log.Println("✓ Question bank seeded") + + // 初始化 JWT + jwt.Init(config.AppConfig.JWT.Secret, config.AppConfig.JWT.ExpireHours) + log.Println("✓ JWT initialized") + + // 启动服务器 + router := api.SetupRouter(config.AppConfig.Server.Mode) + addr := fmt.Sprintf(":%d", config.AppConfig.Server.Port) + log.Printf("✓ Server running on http://localhost%s", addr) + log.Println("========================================") + log.Println("Health AI Server Ready!") + log.Println("========================================") + + if err := router.Run(addr); err != nil { + log.Fatalf("Failed to start server: %v", err) + } +} +``` + +--- + +## API 接口说明 + +### GET /api/user/profile +获取用户基本资料 + +### PUT /api/user/profile +更新用户基本资料(昵称、头像、邮箱) + +### GET /api/user/health-profile +获取完整健康档案(含基础信息、生活习惯、病史、体质) + +### PUT /api/user/health-profile +更新健康档案基础信息 + +### GET /api/user/lifestyle +获取生活习惯信息 + +### PUT /api/user/lifestyle +更新生活习惯信息 + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `internal/service/user.go` | 用户 Service | +| `internal/api/handler/user.go` | 用户 Handler | +| 更新 `internal/api/router.go` | 完整路由配置 | +| 更新 `cmd/server/main.go` | 完整主程序 | + +--- + +## 完整 API 列表汇总 + +| 方法 | 路径 | 说明 | 认证 | +|------|------|------|------| +| GET | /health | 健康检查 | 否 | +| POST | /api/auth/register | 用户注册 | 否 | +| POST | /api/auth/login | 用户登录 | 否 | +| GET | /api/user/profile | 获取用户资料 | 是 | +| PUT | /api/user/profile | 更新用户资料 | 是 | +| GET | /api/user/health-profile | 获取健康档案 | 是 | +| PUT | /api/user/health-profile | 更新健康档案 | 是 | +| GET | /api/user/lifestyle | 获取生活习惯 | 是 | +| PUT | /api/user/lifestyle | 更新生活习惯 | 是 | +| GET | /api/survey/status | 获取调查状态 | 是 | +| POST | /api/survey/basic-info | 提交基础信息 | 是 | +| POST | /api/survey/lifestyle | 提交生活习惯 | 是 | +| POST | /api/survey/medical-history | 提交病史 | 是 | +| POST | /api/survey/family-history | 提交家族史 | 是 | +| POST | /api/survey/allergy | 提交过敏信息 | 是 | +| GET | /api/constitution/questions | 获取问卷题目 | 是 | +| POST | /api/constitution/submit | 提交问卷 | 是 | +| GET | /api/constitution/result | 获取体质结果 | 是 | +| GET | /api/constitution/history | 获取测评历史 | 是 | +| GET | /api/conversations | 获取对话列表 | 是 | +| POST | /api/conversations | 创建对话 | 是 | +| GET | /api/conversations/:id | 获取对话详情 | 是 | +| DELETE | /api/conversations/:id | 删除对话 | 是 | +| POST | /api/conversations/:id/messages | 发送消息 | 是 | + +--- + +## 验收标准 + +- [ ] 获取用户资料正常 +- [ ] 获取完整健康档案正常 +- [ ] 更新资料和生活习惯正常 +- [ ] 所有 API 接口可正常调用 +- [ ] 服务器启动日志完整 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +后端开发完成!进入 `03-Web前端开发/01-项目结构初始化.md` diff --git a/TODOS/02-后端开发/08-保健品商城关联模块.md b/TODOS/02-后端开发/08-保健品商城关联模块.md new file mode 100644 index 0000000..937dd1b --- /dev/null +++ b/TODOS/02-后端开发/08-保健品商城关联模块.md @@ -0,0 +1,673 @@ +# 08-保健品商城关联模块 + +## 目标 + +实现保健品数据管理和 AI 问诊时的产品推荐功能,关联外部保健品商城。 + +--- + +## 前置要求 + +- AI 对话模块已完成 +- 体质辨识模块已完成 + +--- + +## 实施步骤 + +### 步骤 1:创建产品数据模型 + +创建 `server/internal/model/product.go`: +```go +package model + +import "time" + +// Product 保健品 +type Product struct { + ID uint `gorm:"primaryKey" json:"id"` + Name string `gorm:"size:100;not null" json:"name"` + Category string `gorm:"size:50" json:"category"` + Description string `gorm:"type:text" json:"description"` + Efficacy string `gorm:"type:text" json:"efficacy"` + Suitable string `gorm:"type:text" json:"suitable"` + Price float64 `gorm:"type:decimal(10,2)" json:"price"` + ImageURL string `gorm:"size:255" json:"image_url"` + MallURL string `gorm:"size:255" json:"mall_url"` + IsActive bool `gorm:"default:true" json:"is_active"` + CreatedAt time.Time `json:"created_at"` +} + +// ConstitutionProduct 体质-产品关联 +type ConstitutionProduct struct { + ID uint `gorm:"primaryKey" json:"id"` + ConstitutionType string `gorm:"size:20;not null;index" json:"constitution_type"` + ProductID uint `gorm:"not null;index" json:"product_id"` + Priority int `gorm:"default:0" json:"priority"` + Reason string `gorm:"size:200" json:"reason"` +} + +// SymptomProduct 症状-产品关联 +type SymptomProduct struct { + ID uint `gorm:"primaryKey" json:"id"` + Keyword string `gorm:"size:50;not null;index" json:"keyword"` + ProductID uint `gorm:"not null;index" json:"product_id"` + Priority int `gorm:"default:0" json:"priority"` +} + +// 产品分类常量 +const ( + CategoryBuqi = "补气类" + CategoryWenyang = "温阳类" + CategoryZiyin = "滋阴类" + CategoryQushi = "祛湿类" + CategoryHuoxue = "活血类" + CategoryLiqi = "理气类" + CategoryKangmin = "抗敏类" + CategoryXinnao = "心脑血管类" + CategoryGuguanjie = "骨关节类" + CategoryXuetang = "血糖调节类" + CategoryZhumian = "助眠安神类" + CategoryJiannao = "健脑益智类" + CategoryRunchang = "润肠通便类" + CategoryHuyan = "护眼明目类" + CategoryMianyi = "增强免疫类" + CategoryZonghe = "综合类" +) +``` + +### 步骤 2:创建种子数据 + +创建 `server/internal/database/seed_products.go`: +```go +package database + +import ( + "health-ai/internal/model" + "log" +) + +// SeedProducts 初始化保健品模拟数据 +func SeedProducts() { + var count int64 + DB.Model(&model.Product{}).Count(&count) + if count > 0 { + log.Println("产品数据已存在,跳过初始化") + return + } + + products := getProductSeeds() + for _, p := range products { + DB.Create(&p) + } + log.Printf("已初始化 %d 条产品数据", len(products)) + + // 初始化体质-产品关联 + constitutionProducts := getConstitutionProductSeeds() + for _, cp := range constitutionProducts { + DB.Create(&cp) + } + log.Printf("已初始化 %d 条体质-产品关联", len(constitutionProducts)) + + // 初始化症状-产品关联 + symptomProducts := getSymptomProductSeeds() + for _, sp := range symptomProducts { + DB.Create(&sp) + } + log.Printf("已初始化 %d 条症状-产品关联", len(symptomProducts)) +} + +func getProductSeeds() []model.Product { + return []model.Product{ + // ========== 体质调养类 ========== + // 补气类 + {ID: 1, Name: "黄芪精口服液", Category: "补气类", + Efficacy: "补气固表,增强免疫力", + Suitable: "气虚质、易疲劳人群", + Price: 68.00, MallURL: "https://mall.example.com/product/1", IsActive: true}, + {ID: 2, Name: "人参蜂王浆", Category: "补气类", + Efficacy: "补气养血,改善疲劳", + Suitable: "气虚质、体力不足人群", + Price: 128.00, MallURL: "https://mall.example.com/product/2", IsActive: true}, + {ID: 3, Name: "西洋参含片", Category: "补气类", + Efficacy: "益气养阴,清热生津", + Suitable: "气虚质、气阴两虚人群", + Price: 98.00, MallURL: "https://mall.example.com/product/3", IsActive: true}, + + // 温阳类 + {ID: 4, Name: "鹿茸参精胶囊", Category: "温阳类", + Efficacy: "温肾壮阳,补气养血", + Suitable: "阳虚质、畏寒怕冷人群", + Price: 268.00, MallURL: "https://mall.example.com/product/4", IsActive: true}, + {ID: 5, Name: "桂圆红枣茶", Category: "温阳类", + Efficacy: "温中补血,养心安神", + Suitable: "阳虚质、手脚冰凉人群", + Price: 45.00, MallURL: "https://mall.example.com/product/5", IsActive: true}, + + // 滋阴类 + {ID: 6, Name: "枸杞原浆", Category: "滋阴类", + Efficacy: "滋补肝肾,明目润肺", + Suitable: "阴虚质、眼睛干涩人群", + Price: 158.00, MallURL: "https://mall.example.com/product/6", IsActive: true}, + {ID: 7, Name: "即食燕窝", Category: "滋阴类", + Efficacy: "滋阴润肺,美容养颜", + Suitable: "阴虚质、皮肤干燥人群", + Price: 398.00, MallURL: "https://mall.example.com/product/7", IsActive: true}, + {ID: 8, Name: "铁皮石斛粉", Category: "滋阴类", + Efficacy: "滋阴清热,养胃生津", + Suitable: "阴虚质、口干舌燥人群", + Price: 188.00, MallURL: "https://mall.example.com/product/8", IsActive: true}, + + // 祛湿类 + {ID: 9, Name: "红豆薏米粉", Category: "祛湿类", + Efficacy: "健脾祛湿,消肿利水", + Suitable: "痰湿质、湿热质、身体沉重人群", + Price: 39.00, MallURL: "https://mall.example.com/product/9", IsActive: true}, + {ID: 10, Name: "茯苓山药糕", Category: "祛湿类", + Efficacy: "健脾益气,祛湿止泻", + Suitable: "痰湿质、脾胃虚弱人群", + Price: 56.00, MallURL: "https://mall.example.com/product/10", IsActive: true}, + {ID: 11, Name: "清热祛湿茶", Category: "祛湿类", + Efficacy: "清热利湿,解毒消肿", + Suitable: "湿热质、口苦口干人群", + Price: 35.00, MallURL: "https://mall.example.com/product/11", IsActive: true}, + + // 活血类 + {ID: 12, Name: "三七粉", Category: "活血类", + Efficacy: "活血化瘀,消肿止痛", + Suitable: "血瘀质、面色晦暗人群", + Price: 128.00, MallURL: "https://mall.example.com/product/12", IsActive: true}, + {ID: 13, Name: "丹参片", Category: "活血类", + Efficacy: "活血化瘀,通经止痛", + Suitable: "血瘀质、易生斑点人群", + Price: 48.00, MallURL: "https://mall.example.com/product/13", IsActive: true}, + + // 理气类 + {ID: 14, Name: "玫瑰花茶", Category: "理气类", + Efficacy: "疏肝理气,美容养颜", + Suitable: "气郁质、情绪低落人群", + Price: 38.00, MallURL: "https://mall.example.com/product/14", IsActive: true}, + {ID: 15, Name: "陈皮普洱茶", Category: "理气类", + Efficacy: "理气健脾,消食化痰", + Suitable: "气郁质、胸闷不适人群", + Price: 68.00, MallURL: "https://mall.example.com/product/15", IsActive: true}, + + // 抗敏类 + {ID: 16, Name: "益生菌粉", Category: "抗敏类", + Efficacy: "调节肠道,增强免疫", + Suitable: "特禀质、过敏体质人群", + Price: 98.00, MallURL: "https://mall.example.com/product/16", IsActive: true}, + {ID: 17, Name: "蜂胶软胶囊", Category: "抗敏类", + Efficacy: "抗菌消炎,增强体质", + Suitable: "特禀质、免疫力低下人群", + Price: 168.00, MallURL: "https://mall.example.com/product/17", IsActive: true}, + + // 综合类 + {ID: 18, Name: "阿胶固元糕", Category: "综合类", + Efficacy: "补血养颜,滋阴润燥", + Suitable: "平和质、日常滋补人群", + Price: 88.00, MallURL: "https://mall.example.com/product/18", IsActive: true}, + {ID: 19, Name: "蜂蜜", Category: "综合类", + Efficacy: "润肠通便,美容养颜", + Suitable: "各种体质日常调养", + Price: 68.00, MallURL: "https://mall.example.com/product/19", IsActive: true}, + {ID: 20, Name: "复合维生素片", Category: "综合类", + Efficacy: "补充营养,增强体质", + Suitable: "各种体质日常补充", + Price: 78.00, MallURL: "https://mall.example.com/product/20", IsActive: true}, + + // ========== 中老年常见问题类 ========== + // 心脑血管类 + {ID: 21, Name: "深海鱼油软胶囊", Category: "心脑血管类", + Efficacy: "辅助降血脂,保护心脑血管", + Suitable: "高血脂、动脉硬化人群", + Price: 128.00, MallURL: "https://mall.example.com/product/21", IsActive: true}, + {ID: 22, Name: "纳豆激酶胶囊", Category: "心脑血管类", + Efficacy: "溶解血栓,改善血液循环", + Suitable: "中老年心脑血管亚健康人群", + Price: 198.00, MallURL: "https://mall.example.com/product/22", IsActive: true}, + {ID: 23, Name: "大豆卵磷脂", Category: "心脑血管类", + Efficacy: "调节血脂,保护肝脏", + Suitable: "高血脂、脂肪肝人群", + Price: 88.00, MallURL: "https://mall.example.com/product/23", IsActive: true}, + + // 骨关节类 + {ID: 24, Name: "氨糖软骨素钙片", Category: "骨关节类", + Efficacy: "修复软骨,润滑关节,补充钙质", + Suitable: "关节疼痛、骨质疏松人群", + Price: 168.00, MallURL: "https://mall.example.com/product/24", IsActive: true}, + {ID: 25, Name: "液体钙维D软胶囊", Category: "骨关节类", + Efficacy: "补钙,促进钙吸收,预防骨质疏松", + Suitable: "中老年人、骨质疏松人群", + Price: 78.00, MallURL: "https://mall.example.com/product/25", IsActive: true}, + {ID: 26, Name: "骨胶原蛋白肽", Category: "骨关节类", + Efficacy: "增加骨密度,改善关节灵活性", + Suitable: "骨关节退化人群", + Price: 218.00, MallURL: "https://mall.example.com/product/26", IsActive: true}, + + // 血糖调节类 + {ID: 27, Name: "苦瓜洋参软胶囊", Category: "血糖调节类", + Efficacy: "辅助降血糖,改善糖代谢", + Suitable: "血糖偏高人群", + Price: 138.00, MallURL: "https://mall.example.com/product/27", IsActive: true}, + {ID: 28, Name: "桑叶茶", Category: "血糖调节类", + Efficacy: "辅助稳定血糖,清热降火", + Suitable: "血糖偏高、糖尿病人群", + Price: 45.00, MallURL: "https://mall.example.com/product/28", IsActive: true}, + + // 助眠安神类 + {ID: 29, Name: "褪黑素维生素B6片", Category: "助眠安神类", + Efficacy: "改善睡眠,调节生物钟", + Suitable: "失眠、睡眠质量差人群", + Price: 68.00, MallURL: "https://mall.example.com/product/29", IsActive: true}, + {ID: 30, Name: "酸枣仁百合膏", Category: "助眠安神类", + Efficacy: "养心安神,改善睡眠", + Suitable: "心烦失眠、多梦易醒人群", + Price: 58.00, MallURL: "https://mall.example.com/product/30", IsActive: true}, + + // 健脑益智类 + {ID: 31, Name: "银杏叶提取物片", Category: "健脑益智类", + Efficacy: "改善记忆力,促进脑部血液循环", + Suitable: "记忆力减退、脑供血不足人群", + Price: 98.00, MallURL: "https://mall.example.com/product/31", IsActive: true}, + {ID: 32, Name: "DHA藻油软胶囊", Category: "健脑益智类", + Efficacy: "补充脑营养,改善认知功能", + Suitable: "中老年脑功能下降人群", + Price: 158.00, MallURL: "https://mall.example.com/product/32", IsActive: true}, + + // 润肠通便类 + {ID: 33, Name: "膳食纤维粉", Category: "润肠通便类", + Efficacy: "促进肠道蠕动,改善便秘", + Suitable: "便秘、肠道功能紊乱人群", + Price: 48.00, MallURL: "https://mall.example.com/product/33", IsActive: true}, + {ID: 34, Name: "综合酵素原液", Category: "润肠通便类", + Efficacy: "促进消化,排毒通便", + Suitable: "消化不良、便秘人群", + Price: 128.00, MallURL: "https://mall.example.com/product/34", IsActive: true}, + + // 护眼明目类 + {ID: 35, Name: "叶黄素蓝莓护眼片", Category: "护眼明目类", + Efficacy: "保护视网膜,缓解眼疲劳", + Suitable: "视力下降、眼睛干涩人群", + Price: 118.00, MallURL: "https://mall.example.com/product/35", IsActive: true}, + + // 增强免疫类 + {ID: 36, Name: "灵芝孢子粉胶囊", Category: "增强免疫类", + Efficacy: "增强免疫力,抗疲劳", + Suitable: "免疫力低下、体质虚弱人群", + Price: 298.00, MallURL: "https://mall.example.com/product/36", IsActive: true}, + } +} + +func getConstitutionProductSeeds() []model.ConstitutionProduct { + return []model.ConstitutionProduct{ + // 气虚质推荐 + {ConstitutionType: "qixu", ProductID: 1, Priority: 1, Reason: "补气固表"}, + {ConstitutionType: "qixu", ProductID: 2, Priority: 2, Reason: "补气养血"}, + {ConstitutionType: "qixu", ProductID: 3, Priority: 3, Reason: "益气养阴"}, + {ConstitutionType: "qixu", ProductID: 36, Priority: 4, Reason: "增强免疫"}, + + // 阳虚质推荐 + {ConstitutionType: "yangxu", ProductID: 4, Priority: 1, Reason: "温肾壮阳"}, + {ConstitutionType: "yangxu", ProductID: 5, Priority: 2, Reason: "温中补血"}, + + // 阴虚质推荐 + {ConstitutionType: "yinxu", ProductID: 6, Priority: 1, Reason: "滋补肝肾"}, + {ConstitutionType: "yinxu", ProductID: 7, Priority: 2, Reason: "滋阴润肺"}, + {ConstitutionType: "yinxu", ProductID: 8, Priority: 3, Reason: "滋阴清热"}, + + // 痰湿质推荐 + {ConstitutionType: "tanshi", ProductID: 9, Priority: 1, Reason: "健脾祛湿"}, + {ConstitutionType: "tanshi", ProductID: 10, Priority: 2, Reason: "健脾益气"}, + + // 湿热质推荐 + {ConstitutionType: "shire", ProductID: 11, Priority: 1, Reason: "清热利湿"}, + {ConstitutionType: "shire", ProductID: 9, Priority: 2, Reason: "祛湿利水"}, + + // 血瘀质推荐 + {ConstitutionType: "xueyu", ProductID: 12, Priority: 1, Reason: "活血化瘀"}, + {ConstitutionType: "xueyu", ProductID: 13, Priority: 2, Reason: "活血通经"}, + {ConstitutionType: "xueyu", ProductID: 21, Priority: 3, Reason: "改善血液循环"}, + + // 气郁质推荐 + {ConstitutionType: "qiyu", ProductID: 14, Priority: 1, Reason: "疏肝理气"}, + {ConstitutionType: "qiyu", ProductID: 15, Priority: 2, Reason: "理气健脾"}, + {ConstitutionType: "qiyu", ProductID: 30, Priority: 3, Reason: "安神助眠"}, + + // 特禀质推荐 + {ConstitutionType: "tebing", ProductID: 16, Priority: 1, Reason: "调节免疫"}, + {ConstitutionType: "tebing", ProductID: 17, Priority: 2, Reason: "增强体质"}, + + // 平和质推荐 + {ConstitutionType: "pinghe", ProductID: 18, Priority: 1, Reason: "日常滋补"}, + {ConstitutionType: "pinghe", ProductID: 20, Priority: 2, Reason: "营养补充"}, + } +} + +func getSymptomProductSeeds() []model.SymptomProduct { + return []model.SymptomProduct{ + // 疲劳相关 + {Keyword: "疲劳", ProductID: 1, Priority: 1}, + {Keyword: "乏力", ProductID: 1, Priority: 1}, + {Keyword: "没精神", ProductID: 2, Priority: 1}, + {Keyword: "体力差", ProductID: 2, Priority: 1}, + + // 睡眠相关 + {Keyword: "失眠", ProductID: 29, Priority: 1}, + {Keyword: "睡不着", ProductID: 29, Priority: 1}, + {Keyword: "多梦", ProductID: 30, Priority: 1}, + {Keyword: "睡眠差", ProductID: 30, Priority: 1}, + + // 心脑血管相关 + {Keyword: "血压高", ProductID: 21, Priority: 1}, + {Keyword: "高血压", ProductID: 21, Priority: 1}, + {Keyword: "血脂高", ProductID: 21, Priority: 1}, + {Keyword: "高血脂", ProductID: 23, Priority: 1}, + {Keyword: "头晕", ProductID: 22, Priority: 1}, + {Keyword: "动脉硬化", ProductID: 22, Priority: 1}, + + // 骨关节相关 + {Keyword: "关节痛", ProductID: 24, Priority: 1}, + {Keyword: "膝盖疼", ProductID: 24, Priority: 1}, + {Keyword: "腿疼", ProductID: 24, Priority: 1}, + {Keyword: "骨质疏松", ProductID: 25, Priority: 1}, + {Keyword: "缺钙", ProductID: 25, Priority: 1}, + + // 血糖相关 + {Keyword: "血糖高", ProductID: 27, Priority: 1}, + {Keyword: "糖尿病", ProductID: 28, Priority: 1}, + + // 记忆力相关 + {Keyword: "记忆力差", ProductID: 31, Priority: 1}, + {Keyword: "健忘", ProductID: 31, Priority: 1}, + {Keyword: "脑供血不足", ProductID: 32, Priority: 1}, + + // 消化相关 + {Keyword: "便秘", ProductID: 33, Priority: 1}, + {Keyword: "排便困难", ProductID: 33, Priority: 1}, + {Keyword: "消化不良", ProductID: 34, Priority: 1}, + + // 眼睛相关 + {Keyword: "眼睛干", ProductID: 35, Priority: 1}, + {Keyword: "视力差", ProductID: 35, Priority: 1}, + {Keyword: "眼疲劳", ProductID: 35, Priority: 1}, + + // 免疫相关 + {Keyword: "感冒", ProductID: 36, Priority: 1}, + {Keyword: "免疫力差", ProductID: 36, Priority: 1}, + {Keyword: "体质差", ProductID: 36, Priority: 1}, + + // 体质相关症状 + {Keyword: "怕冷", ProductID: 4, Priority: 1}, + {Keyword: "手脚冰凉", ProductID: 5, Priority: 1}, + {Keyword: "口干", ProductID: 6, Priority: 1}, + {Keyword: "上火", ProductID: 11, Priority: 1}, + {Keyword: "湿气重", ProductID: 9, Priority: 1}, + } +} +``` + +### 步骤 3:创建产品 Repository + +创建 `server/internal/repository/impl/product.go`: +```go +package impl + +import ( + "health-ai/internal/database" + "health-ai/internal/model" +) + +type ProductRepository struct{} + +func NewProductRepository() *ProductRepository { + return &ProductRepository{} +} + +// GetAll 获取所有产品 +func (r *ProductRepository) GetAll(category string) ([]model.Product, error) { + var products []model.Product + query := database.DB.Where("is_active = ?", true) + if category != "" { + query = query.Where("category = ?", category) + } + err := query.Find(&products).Error + return products, err +} + +// GetByID 获取产品详情 +func (r *ProductRepository) GetByID(id uint) (*model.Product, error) { + var product model.Product + err := database.DB.First(&product, id).Error + return &product, err +} + +// GetByConstitution 根据体质获取推荐产品 +func (r *ProductRepository) GetByConstitution(constitutionType string, limit int) ([]model.Product, error) { + var products []model.Product + err := database.DB. + Joins("JOIN constitution_products ON constitution_products.product_id = products.id"). + Where("constitution_products.constitution_type = ?", constitutionType). + Where("products.is_active = ?", true). + Order("constitution_products.priority ASC"). + Limit(limit). + Find(&products).Error + return products, err +} + +// GetByKeywords 根据症状关键词获取推荐产品 +func (r *ProductRepository) GetByKeywords(keywords []string, limit int) ([]model.Product, error) { + var products []model.Product + err := database.DB. + Joins("JOIN symptom_products ON symptom_products.product_id = products.id"). + Where("symptom_products.keyword IN ?", keywords). + Where("products.is_active = ?", true). + Order("symptom_products.priority ASC"). + Distinct(). + Limit(limit). + Find(&products).Error + return products, err +} + +// GetRecommendations 综合推荐(体质+关键词) +func (r *ProductRepository) GetRecommendations(constitutionType string, keywords []string, limit int) ([]model.Product, error) { + // 优先获取体质相关产品 + products, _ := r.GetByConstitution(constitutionType, limit) + + // 如果不够,补充关键词匹配的产品 + if len(products) < limit && len(keywords) > 0 { + remaining := limit - len(products) + keywordProducts, _ := r.GetByKeywords(keywords, remaining) + + // 去重合并 + existingIDs := make(map[uint]bool) + for _, p := range products { + existingIDs[p.ID] = true + } + for _, p := range keywordProducts { + if !existingIDs[p.ID] { + products = append(products, p) + } + } + } + + return products, nil +} +``` + +### 步骤 4:更新对话 Service + +在 `conversation.go` 中添加产品推荐: + +```go +// 更新系统提示词模板,添加产品列表 +func (s *ConversationService) buildSystemPrompt(userID uint) string { + // ... 原有代码 ... + + // 获取用户体质相关产品(用于 AI 推荐) + var productList string + if constitution != nil { + products, _ := s.productRepo.GetByConstitution(constitution.PrimaryConstitution, 5) + if len(products) > 0 { + productList = "可推荐产品:\n" + for _, p := range products { + productList += fmt.Sprintf("- %s ¥%.0f %s\n", p.Name, p.Price, p.MallURL) + } + } + } + + return fmt.Sprintf(systemPromptTemplate, userProfile, constitutionInfo, medicationHistory, productList) +} +``` + +### 步骤 5:创建产品 Handler + +创建 `server/internal/api/handler/product.go`: +```go +package handler + +import ( + "health-ai/internal/api/middleware" + "health-ai/internal/repository/impl" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type ProductHandler struct { + productRepo *impl.ProductRepository + constitutionRepo *impl.ConstitutionRepository +} + +func NewProductHandler() *ProductHandler { + return &ProductHandler{ + productRepo: impl.NewProductRepository(), + constitutionRepo: impl.NewConstitutionRepository(), + } +} + +// GetProducts 获取产品列表 +func (h *ProductHandler) GetProducts(c *gin.Context) { + category := c.Query("category") + products, err := h.productRepo.GetAll(category) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, products) +} + +// GetProduct 获取产品详情 +func (h *ProductHandler) GetProduct(c *gin.Context) { + var id uint + fmt.Sscanf(c.Param("id"), "%d", &id) + + product, err := h.productRepo.GetByID(id) + if err != nil { + response.Error(c, 404, "产品不存在") + return + } + response.Success(c, product) +} + +// GetRecommendProducts 获取推荐产品 +func (h *ProductHandler) GetRecommendProducts(c *gin.Context) { + userID := middleware.GetUserID(c) + + // 获取用户体质 + constitution, err := h.constitutionRepo.GetLatestAssessment(userID) + if err != nil { + response.Error(c, 400, "请先完成体质测评") + return + } + + products, err := h.productRepo.GetByConstitution(constitution.PrimaryConstitution, 6) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, products) +} + +// SearchProducts 搜索产品 +func (h *ProductHandler) SearchProducts(c *gin.Context) { + keyword := c.Query("keyword") + if keyword == "" { + response.Error(c, 400, "请输入搜索关键词") + return + } + + products, err := h.productRepo.GetByKeywords([]string{keyword}, 10) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, products) +} +``` + +### 步骤 6:更新路由 + +在 `router.go` 中添加: +```go +// 产品路由 +products := api.Group("/products") +{ + products.GET("", productHandler.GetProducts) + products.GET("/:id", productHandler.GetProduct) + products.GET("/recommend", authMiddleware, productHandler.GetRecommendProducts) + products.GET("/search", productHandler.SearchProducts) +} +``` + +### 步骤 7:更新数据库初始化 + +在 `main.go` 中调用: +```go +// 初始化产品数据 +database.SeedProducts() +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `internal/model/product.go` | 产品数据模型 | +| `internal/database/seed_products.go` | 产品种子数据(36条) | +| `internal/repository/impl/product.go` | 产品 Repository | +| `internal/api/handler/product.go` | 产品 Handler | + +--- + +## 模拟数据统计 + +| 分类 | 数量 | 说明 | +|------|------|------| +| 体质调养类 | 20 | 补气、温阳、滋阴、祛湿、活血、理气、抗敏、综合 | +| 中老年常见类 | 16 | 心脑血管、骨关节、血糖、助眠、健脑、润肠、护眼、免疫 | +| **总计** | **36** | - | + +--- + +## 验收标准 + +- [ ] 产品列表正常显示 +- [ ] 按分类筛选正常 +- [ ] 根据体质推荐产品正常 +- [ ] 根据症状搜索产品正常 +- [ ] AI 回答中包含产品推荐链接 +- [ ] 种子数据正确初始化 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +后端开发全部完成!进入 `03-Web前端开发/01-项目结构初始化.md` diff --git a/TODOS/03-Web前端开发/01-项目结构初始化.md b/TODOS/03-Web前端开发/01-项目结构初始化.md new file mode 100644 index 0000000..2de87cf --- /dev/null +++ b/TODOS/03-Web前端开发/01-项目结构初始化.md @@ -0,0 +1,429 @@ +# 01-Web 前端项目结构初始化 + +## 目标 + +使用 Vite 创建 Vue 3 + TypeScript 项目,配置基础依赖和目录结构。 + +--- + +## 前置要求 + +- Node.js 18+ 已安装 +- npm/pnpm 已配置 + +--- + +## 实施步骤 + +### 步骤 1:创建 Vue 3 项目 + +```bash +cd I:\apps\demo\healthApps + +# 使用 Vite 创建项目 +npm create vite@latest web -- --template vue-ts + +cd web +``` + +### 步骤 2:安装依赖 + +```bash +# 基础依赖 +npm install + +# 路由 +npm install vue-router@4 + +# 状态管理 +npm install pinia + +# UI 组件库 +npm install element-plus +npm install @element-plus/icons-vue + +# HTTP 请求 +npm install axios + +# 图表(体质雷达图) +npm install echarts vue-echarts + +# 工具库 +npm install dayjs +npm install lodash-es +npm install @types/lodash-es -D +``` + +### 步骤 3:创建目录结构 + +```bash +cd src + +# 创建目录 +mkdir -p api +mkdir -p components/common +mkdir -p components/survey +mkdir -p components/constitution +mkdir -p components/chat +mkdir -p views/auth +mkdir -p views/survey +mkdir -p views/constitution +mkdir -p views/chat +mkdir -p views/profile +mkdir -p stores +mkdir -p router +mkdir -p utils +mkdir -p types +mkdir -p assets/styles +``` + +### 步骤 4:配置 Element Plus + +更新 `src/main.ts`: +```typescript +import { createApp } from 'vue' +import { createPinia } from 'pinia' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import zhCn from 'element-plus/dist/locale/zh-cn.mjs' +import * as ElementPlusIconsVue from '@element-plus/icons-vue' + +import App from './App.vue' +import router from './router' + +import './assets/styles/global.css' + +const app = createApp(App) + +// 注册所有图标 +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) +} + +app.use(createPinia()) +app.use(router) +app.use(ElementPlus, { locale: zhCn }) + +app.mount('#app') +``` + +### 步骤 5:创建全局样式 + +创建 `src/assets/styles/global.css`: +```css +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +html, body, #app { + height: 100%; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; +} + +/* 自定义滚动条 */ +::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +::-webkit-scrollbar-thumb { + background-color: #ddd; + border-radius: 3px; +} + +::-webkit-scrollbar-thumb:hover { + background-color: #ccc; +} + +/* 通用类 */ +.page-container { + min-height: 100%; + padding: 20px; + background-color: #f5f7fa; +} + +.card { + background: #fff; + border-radius: 8px; + padding: 20px; + box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1); +} + +.flex-center { + display: flex; + align-items: center; + justify-content: center; +} + +.text-ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +``` + +### 步骤 6:创建类型定义 + +创建 `src/types/index.ts`: +```typescript +// 用户相关 +export interface User { + id: number + phone: string + email: string + nickname: string + avatar: string + survey_completed: boolean +} + +// 健康档案 +export interface HealthProfile { + id: number + name: string + birth_date: string + gender: string + height: number + weight: number + bmi: number + blood_type: string + occupation: string + marital_status: string + region: string +} + +// 生活习惯 +export interface LifestyleInfo { + sleep_time: string + wake_time: string + sleep_quality: string + meal_regularity: string + diet_preference: string + daily_water_ml: number + exercise_frequency: string + exercise_type: string + exercise_duration_min: number + is_smoker: boolean + alcohol_frequency: string +} + +// 体质问题 +export interface Question { + id: number + constitution_type: string + question_text: string + options: string[] + order_num: number +} + +// 体质得分 +export interface ConstitutionScore { + type: string + name: string + score: number + description: string +} + +// 体质结果 +export interface ConstitutionResult { + primary_constitution: ConstitutionScore + secondary_constitutions: ConstitutionScore[] + all_scores: ConstitutionScore[] + recommendations: Record> + assessed_at: string +} + +// 对话 +export interface Conversation { + id: number + title: string + created_at: string + updated_at: string +} + +// 消息 +export interface Message { + id: number + role: 'user' | 'assistant' | 'system' + content: string + created_at: string +} + +// API 响应 +export interface ApiResponse { + code: number + message: string + data: T +} +``` + +### 步骤 7:创建 API 基础配置 + +创建 `src/api/request.ts`: +```typescript +import axios from 'axios' +import type { ApiResponse } from '@/types' +import { ElMessage } from 'element-plus' +import { useUserStore } from '@/stores/user' + +const request = axios.create({ + baseURL: import.meta.env.VITE_API_BASE_URL || 'http://localhost:8080/api', + timeout: 30000, +}) + +// 请求拦截器 +request.interceptors.request.use( + (config) => { + const userStore = useUserStore() + if (userStore.token) { + config.headers.Authorization = `Bearer ${userStore.token}` + } + return config + }, + (error) => { + return Promise.reject(error) + } +) + +// 响应拦截器 +request.interceptors.response.use( + (response) => { + const res = response.data as ApiResponse + if (res.code !== 0) { + ElMessage.error(res.message || '请求失败') + return Promise.reject(new Error(res.message)) + } + return res.data + }, + (error) => { + if (error.response?.status === 401) { + const userStore = useUserStore() + userStore.logout() + window.location.href = '/login' + } + ElMessage.error(error.message || '网络错误') + return Promise.reject(error) + } +) + +export default request +``` + +### 步骤 8:创建环境变量文件 + +创建 `web/.env.development`: +``` +VITE_API_BASE_URL=http://localhost:8080/api +``` + +创建 `web/.env.production`: +``` +VITE_API_BASE_URL=/api +``` + +### 步骤 9:配置 Vite + +更新 `web/vite.config.ts`: +```typescript +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import { resolve } from 'path' + +export default defineConfig({ + plugins: [vue()], + resolve: { + alias: { + '@': resolve(__dirname, 'src'), + }, + }, + server: { + port: 3000, + proxy: { + '/api': { + target: 'http://localhost:8080', + changeOrigin: true, + }, + }, + }, +}) +``` + +### 步骤 10:验证项目 + +```bash +npm run dev +# 访问 http://localhost:3000 +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/main.ts` | 应用入口(更新) | +| `src/assets/styles/global.css` | 全局样式 | +| `src/types/index.ts` | 类型定义 | +| `src/api/request.ts` | 请求封装 | +| `.env.development` | 开发环境变量 | +| `.env.production` | 生产环境变量 | +| `vite.config.ts` | Vite 配置(更新) | + +--- + +## 最终目录结构 + +``` +web/ +├── src/ +│ ├── api/ +│ │ └── request.ts +│ ├── assets/ +│ │ └── styles/ +│ │ └── global.css +│ ├── components/ +│ │ ├── common/ +│ │ ├── survey/ +│ │ ├── constitution/ +│ │ └── chat/ +│ ├── views/ +│ │ ├── auth/ +│ │ ├── survey/ +│ │ ├── constitution/ +│ │ ├── chat/ +│ │ └── profile/ +│ ├── stores/ +│ ├── router/ +│ ├── utils/ +│ ├── types/ +│ │ └── index.ts +│ ├── App.vue +│ └── main.ts +├── .env.development +├── .env.production +├── vite.config.ts +└── package.json +``` + +--- + +## 验收标准 + +- [ ] 项目创建成功 +- [ ] 所有依赖安装完成 +- [ ] 目录结构创建完整 +- [ ] `npm run dev` 正常启动 +- [ ] 访问 http://localhost:3000 看到页面 + +--- + +## 预计耗时 + +15-20 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web前端开发/02-路由和布局设计.md` diff --git a/TODOS/03-Web前端开发/02-路由和布局设计.md b/TODOS/03-Web前端开发/02-路由和布局设计.md new file mode 100644 index 0000000..3401092 --- /dev/null +++ b/TODOS/03-Web前端开发/02-路由和布局设计.md @@ -0,0 +1,594 @@ +# 02-路由和布局设计 + +## 目标 + +配置 Vue Router 路由系统,实现页面布局和导航守卫。 + +--- + +## 前置要求 + +- 项目结构已初始化 +- Vue Router 已安装 + +--- + +## 实施步骤 + +### 步骤 1:创建用户 Store + +创建 `src/stores/user.ts`: +```typescript +import { defineStore } from 'pinia' +import { ref, computed } from 'vue' + +export const useUserStore = defineStore('user', () => { + const token = ref(localStorage.getItem('token') || '') + const userInfo = ref(null) + + const isLoggedIn = computed(() => !!token.value) + const surveyCompleted = computed(() => userInfo.value?.survey_completed || false) + + function setToken(newToken: string) { + token.value = newToken + localStorage.setItem('token', newToken) + } + + function setUserInfo(info: any) { + userInfo.value = info + } + + function logout() { + token.value = '' + userInfo.value = null + localStorage.removeItem('token') + } + + return { + token, + userInfo, + isLoggedIn, + surveyCompleted, + setToken, + setUserInfo, + logout, + } +}) +``` + +### 步骤 2:创建路由配置 + +创建 `src/router/index.ts`: +```typescript +import { createRouter, createWebHistory } from 'vue-router' +import type { RouteRecordRaw } from 'vue-router' +import { useUserStore } from '@/stores/user' + +// 布局组件 +import MainLayout from '@/components/common/MainLayout.vue' +import AuthLayout from '@/components/common/AuthLayout.vue' + +const routes: RouteRecordRaw[] = [ + // 认证相关页面 + { + path: '/auth', + component: AuthLayout, + children: [ + { + path: 'login', + name: 'Login', + component: () => import('@/views/auth/Login.vue'), + meta: { title: '登录' } + }, + { + path: 'register', + name: 'Register', + component: () => import('@/views/auth/Register.vue'), + meta: { title: '注册' } + }, + ], + }, + // 健康调查(新用户必经) + { + path: '/survey', + component: MainLayout, + meta: { requiresAuth: true }, + children: [ + { + path: '', + name: 'Survey', + component: () => import('@/views/survey/Index.vue'), + meta: { title: '健康调查' } + }, + ], + }, + // 体质测评 + { + path: '/constitution', + component: MainLayout, + meta: { requiresAuth: true, requiresSurvey: true }, + children: [ + { + path: '', + name: 'Constitution', + component: () => import('@/views/constitution/Index.vue'), + meta: { title: '体质测评' } + }, + { + path: 'result', + name: 'ConstitutionResult', + component: () => import('@/views/constitution/Result.vue'), + meta: { title: '体质结果' } + }, + ], + }, + // 主要功能页面 + { + path: '/', + component: MainLayout, + meta: { requiresAuth: true, requiresSurvey: true }, + children: [ + { + path: '', + redirect: '/chat' + }, + { + path: 'chat', + name: 'Chat', + component: () => import('@/views/chat/Index.vue'), + meta: { title: 'AI问诊' } + }, + { + path: 'chat/:id', + name: 'ChatDetail', + component: () => import('@/views/chat/Detail.vue'), + meta: { title: '对话详情' } + }, + { + path: 'profile', + name: 'Profile', + component: () => import('@/views/profile/Index.vue'), + meta: { title: '个人中心' } + }, + { + path: 'health-record', + name: 'HealthRecord', + component: () => import('@/views/profile/HealthRecord.vue'), + meta: { title: '健康档案' } + }, + ], + }, + // 404 + { + path: '/:pathMatch(.*)*', + redirect: '/' + }, +] + +const router = createRouter({ + history: createWebHistory(), + routes, +}) + +// 路由守卫 +router.beforeEach((to, from, next) => { + const userStore = useUserStore() + + // 设置页面标题 + document.title = (to.meta.title as string) + ' - 健康AI助手' || '健康AI助手' + + // 检查是否需要登录 + if (to.meta.requiresAuth && !userStore.isLoggedIn) { + next({ path: '/auth/login', query: { redirect: to.fullPath } }) + return + } + + // 检查是否需要完成调查 + if (to.meta.requiresSurvey && !userStore.surveyCompleted) { + // 如果已登录但未完成调查,跳转到调查页 + if (to.path !== '/survey') { + next('/survey') + return + } + } + + // 已登录用户访问登录页,跳转到首页 + if ((to.path === '/auth/login' || to.path === '/auth/register') && userStore.isLoggedIn) { + next('/') + return + } + + next() +}) + +export default router +``` + +### 步骤 3:创建认证布局组件 + +创建 `src/components/common/AuthLayout.vue`: +```vue + + + +``` + +### 步骤 4:创建主布局组件 + +创建 `src/components/common/MainLayout.vue`: +```vue + + + + + +``` + +### 步骤 5:创建 Logo 占位 + +创建 `src/assets/logo.svg`: +```svg + + + + + +``` + +### 步骤 6:更新 App.vue + +更新 `src/App.vue`: +```vue + + + +``` + +### 步骤 7:创建用户 API + +创建 `src/api/user.ts`: +```typescript +import request from './request' + +export const getUserProfile = () => { + return request.get('/user/profile') +} + +export const updateUserProfile = (data: any) => { + return request.put('/user/profile', data) +} + +export const getHealthProfile = () => { + return request.get('/user/health-profile') +} +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/stores/user.ts` | 用户状态管理 | +| `src/router/index.ts` | 路由配置 | +| `src/components/common/AuthLayout.vue` | 认证布局 | +| `src/components/common/MainLayout.vue` | 主布局 | +| `src/assets/logo.svg` | Logo 图标 | +| `src/App.vue` | 根组件(更新) | +| `src/api/user.ts` | 用户 API | + +--- + +## 路由结构说明 + +| 路径 | 组件 | 说明 | +|------|------|------| +| /auth/login | Login.vue | 登录页 | +| /auth/register | Register.vue | 注册页 | +| /survey | Survey/Index.vue | 健康调查 | +| /constitution | Constitution/Index.vue | 体质测评 | +| /constitution/result | Constitution/Result.vue | 体质结果 | +| /chat | Chat/Index.vue | AI问诊列表 | +| /chat/:id | Chat/Detail.vue | 对话详情 | +| /profile | Profile/Index.vue | 个人中心 | +| /health-record | Profile/HealthRecord.vue | 健康档案 | + +--- + +## 验收标准 + +- [ ] 路由配置正确加载 +- [ ] 未登录自动跳转登录页 +- [ ] 登录布局显示正常 +- [ ] 主布局侧边栏显示正常 +- [ ] 路由守卫逻辑正确 + +--- + +## 预计耗时 + +25-30 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web前端开发/03-用户认证页面.md` diff --git a/TODOS/03-Web前端开发/03-用户认证页面.md b/TODOS/03-Web前端开发/03-用户认证页面.md new file mode 100644 index 0000000..e8926d4 --- /dev/null +++ b/TODOS/03-Web前端开发/03-用户认证页面.md @@ -0,0 +1,478 @@ +# 03-用户认证页面 + +## 目标 + +实现登录和注册页面,完成用户认证功能。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/登录页.png` + +### 页面布局 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 | 绿色渐变背景 (`#10B981 → #2EC4B6`) + 医疗插图 | +| Logo | "AI健康助手" 标题 + "您的专属健康管理伙伴" | +| 表单 | 白色圆角卡片 (16px),内边距 24px | +| 输入框 | 灰色背景 `#F3F4F6`,圆角 24px | +| 主按钮 | 绿色 `#10B981`,全宽,圆角 24px | +| 底部 | 注册/登录切换链接 | + +### 配色规范 + +```scss +$primary: #10B981; // 主色调 +$primary-dark: #059669; // 深色(hover) +$bg-page: #F5F5F5; // 页面背景 +$bg-input: #F3F4F6; // 输入框背景 +$text-main: #1F2937; // 主文字 +$text-sub: #6B7280; // 次文字 +$text-hint: #9CA3AF; // 提示文字 +``` + +--- + +## 前置要求 + +- 路由和布局已配置 +- 后端认证接口可用 + +--- + +## 实施步骤 + +### 步骤 1:创建认证 API + +创建 `src/api/auth.ts`: +```typescript +import request from './request' + +export interface LoginRequest { + phone: string + password: string +} + +export interface RegisterRequest { + phone: string + password: string + nickname?: string +} + +export interface AuthResponse { + token: string + user_id: number + nickname: string + survey_completed: boolean +} + +export const login = (data: LoginRequest): Promise => { + return request.post('/auth/login', data) +} + +export const register = (data: RegisterRequest): Promise => { + return request.post('/auth/register', data) +} +``` + +### 步骤 2:创建登录页面 + +创建 `src/views/auth/Login.vue`: +```vue + + + + + +``` + +### 步骤 3:创建注册页面 + +创建 `src/views/auth/Register.vue`: +```vue + + + + + +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/api/auth.ts` | 认证 API | +| `src/views/auth/Login.vue` | 登录页面 | +| `src/views/auth/Register.vue` | 注册页面 | + +--- + +## 功能说明 + +### 登录页面 +- 手机号+密码登录 +- 表单验证 +- 登录成功后: + - 已完成调查 → 跳转首页 + - 未完成调查 → 跳转健康调查页 + +### 注册页面 +- 手机号+密码注册 +- 可选昵称 +- 密码确认 +- 用户协议确认 +- 注册成功后跳转健康调查页 + +--- + +## 验收标准 + +- [ ] 登录表单验证正常 +- [ ] 注册表单验证正常 +- [ ] 登录成功保存 Token +- [ ] 注册成功自动登录 +- [ ] 路由跳转逻辑正确 + +--- + +## 预计耗时 + +20-25 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web前端开发/04-健康调查页面.md` diff --git a/TODOS/03-Web前端开发/04-健康调查页面.md b/TODOS/03-Web前端开发/04-健康调查页面.md new file mode 100644 index 0000000..56ff86f --- /dev/null +++ b/TODOS/03-Web前端开发/04-健康调查页面.md @@ -0,0 +1,845 @@ +# 04-健康调查页面 + +## 目标 + +实现新用户健康调查功能,包括基础信息、生活习惯、病史等多步骤表单。 + +--- + +## 前置要求 + +- 用户认证功能完成 +- 后端调查接口可用 + +--- + +## 实施步骤 + +### 步骤 1:创建调查 API + +创建 `src/api/survey.ts`: +```typescript +import request from './request' + +export const getSurveyStatus = () => { + return request.get('/survey/status') +} + +export const submitBasicInfo = (data: any) => { + return request.post('/survey/basic-info', data) +} + +export const submitLifestyle = (data: any) => { + return request.post('/survey/lifestyle', data) +} + +export const submitMedicalHistory = (data: any) => { + return request.post('/survey/medical-history', data) +} + +export const submitFamilyHistory = (data: any) => { + return request.post('/survey/family-history', data) +} + +export const submitAllergy = (data: any) => { + return request.post('/survey/allergy', data) +} +``` + +### 步骤 2:创建调查主页面 + +创建 `src/views/survey/Index.vue`: +```vue + + + + + +``` + +### 步骤 3:创建基础信息表单组件 + +创建 `src/components/survey/BasicInfoForm.vue`: +```vue + + + + + +``` + +### 步骤 4:创建生活习惯表单组件 + +创建 `src/components/survey/LifestyleForm.vue`: +```vue + + + + + +``` + +### 步骤 5:创建健康状况表单组件 + +创建 `src/components/survey/HealthStatusForm.vue`: +```vue + + + + + +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/api/survey.ts` | 调查 API | +| `src/views/survey/Index.vue` | 调查主页面 | +| `src/components/survey/BasicInfoForm.vue` | 基础信息表单 | +| `src/components/survey/LifestyleForm.vue` | 生活习惯表单 | +| `src/components/survey/HealthStatusForm.vue` | 健康状况表单 | + +--- + +## 验收标准 + +- [ ] 步骤指示器显示正常 +- [ ] 基础信息表单提交成功 +- [ ] 生活习惯表单提交成功 +- [ ] 病史/过敏信息可添加删除 +- [ ] 完成后跳转体质测评页 + +--- + +## 预计耗时 + +40-50 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web前端开发/05-体质辨识页面.md` diff --git a/TODOS/03-Web前端开发/05-体质辨识页面.md b/TODOS/03-Web前端开发/05-体质辨识页面.md new file mode 100644 index 0000000..51971f1 --- /dev/null +++ b/TODOS/03-Web前端开发/05-体质辨识页面.md @@ -0,0 +1,691 @@ +# 05-体质辨识页面 + +## 目标 + +实现中医体质辨识问卷页面,包括问卷填写和结果展示。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/体质页.png`、`files/ui/体质检测.png`、`files/ui/体质分析.png` + +### 体质首页布局 + +| 区域 | 设计要点 | +|------|----------| +| 顶部卡片 | 绿色渐变背景,"中医体质自测" 标题 + 介绍文案 | +| 测试说明 | 白色卡片,3步骤(绿色序号圆圈 + 说明文字) | +| 按钮 | 绿色全宽圆角按钮 "开始测试",圆角 24px | + +### 问卷页面布局 + +| 区域 | 设计要点 | +|------|----------| +| 导航栏 | 返回箭头 + "中医体质辨识自测" + 进度 "1/65" | +| 进度条 | 绿色细条 `#10B981`,高度 4px | +| 问题标签 | 绿色背景 `#DCFCE7`,文字 `#10B981`,"问题N" | +| 问题文字 | 字号 18px,颜色 `#1F2937` | +| 选项按钮 | 白色背景,边框 `#E5E7EB`,圆角 12px,选中高亮绿色 | +| 底部提示 | 浅绿色背景 `#ECFDF5`,带 info 图标 | + +### 结果页面布局 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 | 绿色渐变背景 + 人体轮廓图 + 分享按钮 | +| 体质名称 | 大字体 32px,白色 | +| 分数徽章 | 绿色背景圆角标签 "85分" | +| 雷达图 | 白色卡片,九种体质得分可视化,颜色 `#10B981` | +| 体质特征 | 图标 + 描述文字 | +| 调理建议 | 2×2 网格布局 | + +### 调理建议卡片配色 + +| 类型 | 图标背景 | 图标颜色 | +|------|----------|----------| +| 起居 | `#EDE9FE` | `#8B5CF6` | +| 饮食 | `#CCFBF1` | `#14B8A6` | +| 运动 | `#EDE9FE` | `#8B5CF6` | +| 情志 | `#FCE7F3` | `#EC4899` | + +--- + +## 前置要求 + +- 健康调查页面完成 +- 后端体质接口可用 + +--- + +## 实施步骤 + +### 步骤 1:创建体质 API + +创建 `src/api/constitution.ts`: +```typescript +import request from './request' +import type { Question, ConstitutionResult } from '@/types' + +export const getQuestions = (): Promise => { + return request.get('/constitution/questions') +} + +export const submitAssessment = (answers: { question_id: number; score: number }[]): Promise => { + return request.post('/constitution/submit', { answers }) +} + +export const getLatestResult = (): Promise => { + return request.get('/constitution/result') +} + +export const getAssessmentHistory = () => { + return request.get('/constitution/history') +} +``` + +### 步骤 2:创建体质测评主页面 + +创建 `src/views/constitution/Index.vue`: +```vue + + + + + +``` + +### 步骤 3:创建结果展示页面 + +创建 `src/views/constitution/Result.vue`: +```vue + + + + + +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/api/constitution.ts` | 体质 API | +| `src/views/constitution/Index.vue` | 测评主页面 | +| `src/views/constitution/Result.vue` | 结果展示页面 | + +--- + +## 验收标准 + +- [ ] 问卷题目正确加载 +- [ ] 答题进度显示正常 +- [ ] 提交后跳转结果页 +- [ ] 雷达图正确显示 +- [ ] 调养建议展示完整 + +--- + +## 预计耗时 + +35-40 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web前端开发/06-AI对话页面.md` diff --git a/TODOS/03-Web前端开发/06-AI对话页面.md b/TODOS/03-Web前端开发/06-AI对话页面.md new file mode 100644 index 0000000..ff68e43 --- /dev/null +++ b/TODOS/03-Web前端开发/06-AI对话页面.md @@ -0,0 +1,616 @@ +# 06-AI对话页面 + +## 目标 + +实现 AI 健康问诊对话功能,支持多轮对话和对话历史管理。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/问答页.png`、`files/ui/问答对话.png` + +### 对话首页布局 + +| 区域 | 设计要点 | +|------|----------| +| 导航栏 | "AI健康助手" + 绿色 "在线" 状态 + 更多菜单 | +| AI 欢迎语 | 机器人图标(蓝色背景 `#3B82F6`)+ 灰色气泡 | +| 常见问题 | "常见问题" 标签(灰色)+ 快捷问题按钮(白色圆角) | +| 输入区 | 麦克风图标 + 输入框(灰色背景)+ 绿色发送按钮 | + +### 消息气泡样式 + +| 类型 | 样式 | +|------|------| +| AI 消息 | 左对齐,机器人图标(蓝色 `#3B82F6`),灰色气泡 `#F3F4F6` | +| 用户消息 | 右对齐,用户图标(绿色 `#10B981`),绿色气泡 `#10B981`,白色文字 | +| 时间显示 | 灰色小字 `#9CA3AF`,位于消息下方 | + +### 输入区样式 + +| 元素 | 样式 | +|------|------| +| 麦克风 | 灰色图标 `#9CA3AF` | +| 输入框 | 灰色背景 `#F3F4F6`,圆角 24px,占位符 "请输入您的健康问题..." | +| 发送按钮 | 绿色圆形按钮 `#10B981`,飞机图标 | + +### 快捷问题示例 + +- 我最近总是感觉疲劳怎么办? +- 如何改善睡眠质量? +- 有什么养生建议吗? +- 感冒了应该注意什么? + +--- + +## 前置要求 + +- 体质测评页面完成 +- 后端对话接口可用 + +--- + +## 实施步骤 + +### 步骤 1:创建对话 API + +创建 `src/api/conversation.ts`: +```typescript +import request from './request' +import type { Conversation, Message } from '@/types' + +export const getConversations = (): Promise => { + return request.get('/conversations') +} + +export const createConversation = (title?: string): Promise => { + return request.post('/conversations', { title }) +} + +export const getConversation = (id: number): Promise => { + return request.get(`/conversations/${id}`) +} + +export const deleteConversation = (id: number) => { + return request.delete(`/conversations/${id}`) +} + +export const sendMessage = (id: number, content: string): Promise<{ reply: string }> => { + return request.post(`/conversations/${id}/messages`, { content }) +} +``` + +### 步骤 2:创建对话列表页面 + +创建 `src/views/chat/Index.vue`: +```vue + + + + + +``` + +### 步骤 3:创建对话详情页面 + +创建 `src/views/chat/Detail.vue`: +```vue + + + + + +``` + +### 步骤 4:安装 marked 库 + +```bash +npm install marked +npm install @types/marked -D +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/api/conversation.ts` | 对话 API | +| `src/views/chat/Index.vue` | 对话列表页 | +| `src/views/chat/Detail.vue` | 对话详情页 | + +--- + +## 验收标准 + +- [ ] 对话列表正确显示 +- [ ] 新建对话功能正常 +- [ ] 消息发送和接收正常 +- [ ] AI 回复正确渲染 Markdown +- [ ] 打字动画效果正常 +- [ ] 免责声明显示 + +--- + +## 预计耗时 + +35-40 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web前端开发/07-个人中心页面.md` diff --git a/TODOS/03-Web前端开发/07-个人中心页面.md b/TODOS/03-Web前端开发/07-个人中心页面.md new file mode 100644 index 0000000..dfd2ece --- /dev/null +++ b/TODOS/03-Web前端开发/07-个人中心页面.md @@ -0,0 +1,588 @@ +# 07-个人中心页面 + +## 目标 + +实现个人中心和健康档案管理页面。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/我的.png` + +### 页面布局 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 | 绿色背景 `#10B981` + "我的" 标题(白色) | +| 用户卡片 | 头像(圆形)+ 姓名 + 基本信息 + 用户ID + 编辑按钮 | +| 健康管理 | "用药情况" 入口(带数量角标 `12条`) | +| 设置列表 | 消息通知、隐私设置、通用设置 | + +### 用户卡片样式 + +| 元素 | 样式 | +|------|------| +| 头像 | 64px 圆形,浅绿色背景 | +| 姓名 | 白色,字号 20px | +| 基本信息 | 白色,格式 "男·28岁·175cm·70kg" | +| 用户ID | 浅白色 `rgba(255,255,255,0.7)` | +| 编辑按钮 | 白色半透明背景,编辑图标 | + +### 列表项样式 + +| 元素 | 样式 | +|------|------| +| 图标背景 | 40px 圆形,各功能不同颜色 | +| 用药情况 | 绿色背景 `#DCFCE7`,图标 `#10B981` | +| 消息通知 | 绿色背景 `#DCFCE7`,铃铛图标 | +| 隐私设置 | 绿色背景 `#DCFCE7`,盾牌图标 | +| 通用设置 | 绿色背景 `#DCFCE7`,齿轮图标 | +| 右箭头 | 灰色 `#9CA3AF` | +| 角标 | 灰色文字 "12条" | + +--- + +## 前置要求 + +- 前面所有页面完成 +- 后端用户接口可用 + +--- + +## 实施步骤 + +### 步骤 1:创建个人中心页面 + +创建 `src/views/profile/Index.vue`: +```vue + + + + + +``` + +### 步骤 2:创建健康档案页面 + +创建 `src/views/profile/HealthRecord.vue`: +```vue + + + + + +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/views/profile/Index.vue` | 个人中心页面 | +| `src/views/profile/HealthRecord.vue` | 健康档案页面 | + +--- + +## 验收标准 + +- [ ] 个人中心显示用户信息 +- [ ] 编辑资料功能正常 +- [ ] 健康档案数据正确显示 +- [ ] 各菜单跳转正常 +- [ ] 退出登录功能正常 + +--- + +## 预计耗时 + +25-30 分钟 + +--- + +## 下一步 + +Web 前端开发完成!进入 `04-APP开发/01-项目结构初始化.md` diff --git a/TODOS/03-Web原型开发/01-项目初始化和模拟数据.md b/TODOS/03-Web原型开发/01-项目初始化和模拟数据.md new file mode 100644 index 0000000..c378f5c --- /dev/null +++ b/TODOS/03-Web原型开发/01-项目初始化和模拟数据.md @@ -0,0 +1,277 @@ +# 01-项目初始化和模拟数据 + +## 目标 + +初始化 Vue 3 项目并搭建模拟数据服务,为原型开发提供完整的数据支持。 + +--- + +## 前置要求 + +- 已完成 Web 前端 Vue 环境搭建 +- Node.js 18+ + +--- + +## 实施步骤 + +### 步骤 1:创建 Vue 3 项目 + +```bash +# 进入项目目录 +cd I:/apps/demo/healthApps + +# 创建 Vue 3 项目 +npm create vite@latest web -- --template vue-ts + +# 进入项目 +cd web + +# 安装依赖 +npm install +``` + +### 步骤 2:安装核心依赖 + +```bash +# 路由 +npm install vue-router@4 + +# 状态管理 +npm install pinia + +# UI 组件库 +npm install element-plus @element-plus/icons-vue + +# HTTP 请求 +npm install axios + +# 图表 +npm install echarts vue-echarts + +# 工具 +npm install dayjs lodash-es +npm install -D @types/lodash-es +``` + +### 步骤 3:创建项目目录结构 + +``` +web/ +├── src/ +│ ├── api/ # API 接口(后续对接用) +│ ├── assets/ # 静态资源 +│ ├── components/ # 公共组件 +│ │ ├── AppHeader.vue +│ │ ├── AppFooter.vue +│ │ └── Loading.vue +│ ├── mock/ # 模拟数据 ⭐ +│ │ ├── index.ts # 统一导出 +│ │ ├── user.ts # 用户数据 +│ │ ├── constitution.ts # 体质问卷和结果 +│ │ ├── chat.ts # AI 对话数据 +│ │ └── products.ts # 产品数据 +│ ├── router/ # 路由配置 +│ │ └── index.ts +│ ├── stores/ # Pinia 状态 +│ │ ├── auth.ts +│ │ ├── constitution.ts +│ │ └── chat.ts +│ ├── styles/ # 全局样式 +│ │ └── index.scss +│ ├── types/ # TypeScript 类型 +│ │ └── index.ts +│ ├── utils/ # 工具函数 +│ │ └── index.ts +│ ├── views/ # 页面 +│ │ ├── auth/ # 登录相关 +│ │ ├── home/ # 首页 +│ │ ├── constitution/ # 体质辨识 +│ │ ├── chat/ # AI 对话 +│ │ └── profile/ # 个人中心 +│ ├── App.vue +│ └── main.ts +├── index.html +├── vite.config.ts +└── package.json +``` + +### 步骤 4:创建类型定义 + +创建 `src/types/index.ts`(与 APP 端共用类型定义): + +```typescript +// 用户类型 +export interface User { + id: number + phone: string + nickname: string + avatar: string + surveyCompleted: boolean +} + +// 体质类型 +export type ConstitutionType = + | 'pinghe' | 'qixu' | 'yangxu' | 'yinxu' | 'tanshi' + | 'shire' | 'xueyu' | 'qiyu' | 'tebing' + +// 体质问卷题目 +export interface ConstitutionQuestion { + id: number + constitutionType: ConstitutionType + question: string + options: { value: number; label: string }[] +} + +// 体质评估结果 +export interface ConstitutionResult { + primaryType: ConstitutionType + scores: Record + description: string + suggestions: string[] + assessedAt: string +} + +// 对话消息 +export interface Message { + id: string + role: 'user' | 'assistant' + content: string + createdAt: string +} + +// 对话 +export interface Conversation { + id: string + title: string + messages: Message[] + createdAt: string + updatedAt: string +} + +// 产品 +export interface Product { + id: number + name: string + category: string + description: string + efficacy: string + price: number + imageUrl: string + mallUrl: string +} +``` + +### 步骤 5:创建模拟数据 + +模拟数据与 APP 端共用同一套逻辑,复制以下文件: +- `src/mock/user.ts` +- `src/mock/constitution.ts` +- `src/mock/chat.ts` +- `src/mock/products.ts` +- `src/mock/index.ts` + +> 详细代码参见 APP 端文档 `02-APP原型开发/01-项目初始化和模拟数据.md` + +### 步骤 6:配置 Element Plus + +更新 `src/main.ts`: + +```typescript +import { createApp } from 'vue' +import { createPinia } from 'pinia' +import ElementPlus from 'element-plus' +import zhCn from 'element-plus/dist/locale/zh-cn.mjs' +import * as ElementPlusIconsVue from '@element-plus/icons-vue' +import 'element-plus/dist/index.css' + +import App from './App.vue' +import router from './router' +import './styles/index.scss' + +const app = createApp(App) + +// 注册所有图标 +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) +} + +app.use(createPinia()) +app.use(router) +app.use(ElementPlus, { locale: zhCn }) + +app.mount('#app') +``` + +### 步骤 7:创建全局样式 + +创建 `src/styles/index.scss`: + +```scss +// 主题色 +$primary-color: #10B981; +$primary-light: #ECFDF5; +$danger-color: #EF4444; +$warning-color: #F59E0B; +$text-primary: #1F2937; +$text-secondary: #6B7280; +$text-hint: #9CA3AF; +$bg-color: #F3F4F6; +$border-color: #E5E7EB; + +// 全局样式 +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + color: $text-primary; + background-color: $bg-color; +} + +// Element Plus 主题覆盖 +:root { + --el-color-primary: #{$primary-color}; + --el-color-success: #{$primary-color}; +} + +// 通用类 +.page-container { + max-width: 1200px; + margin: 0 auto; + padding: 20px; +} + +.card { + background: #fff; + border-radius: 12px; + padding: 20px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} +``` + +--- + +## 验收标准 + +- [ ] Vue 3 项目创建成功 +- [ ] 所有依赖安装完成 +- [ ] 目录结构创建完成 +- [ ] 模拟数据文件创建完成 +- [ ] Element Plus 配置正常 +- [ ] 项目可正常启动 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web原型开发/02-路由和布局设计.md` diff --git a/TODOS/03-Web原型开发/02-路由和布局设计.md b/TODOS/03-Web原型开发/02-路由和布局设计.md new file mode 100644 index 0000000..e53fdff --- /dev/null +++ b/TODOS/03-Web原型开发/02-路由和布局设计.md @@ -0,0 +1,363 @@ +# 02-路由和布局设计 + +## 目标 + +配置 Vue Router 路由系统,实现页面布局和导航。 + +--- + +## 前置要求 + +- 项目结构已初始化 +- Vue Router 已安装 +- 模拟数据服务已创建 + +--- + +## 实施步骤 + +### 步骤 1:创建路由配置 + +创建 `src/router/index.ts`: + +```typescript +import { createRouter, createWebHistory } from 'vue-router' +import { useAuthStore } from '@/stores/auth' + +const router = createRouter({ + history: createWebHistory(), + routes: [ + { + path: '/login', + name: 'Login', + component: () => import('@/views/auth/LoginView.vue'), + meta: { requiresAuth: false } + }, + { + path: '/', + component: () => import('@/views/layout/MainLayout.vue'), + meta: { requiresAuth: true }, + children: [ + { + path: '', + name: 'Home', + component: () => import('@/views/home/HomeView.vue') + }, + { + path: 'chat', + name: 'ChatList', + component: () => import('@/views/chat/ChatListView.vue') + }, + { + path: 'chat/:id', + name: 'ChatDetail', + component: () => import('@/views/chat/ChatDetailView.vue') + }, + { + path: 'constitution', + name: 'Constitution', + component: () => import('@/views/constitution/ConstitutionView.vue') + }, + { + path: 'constitution/test', + name: 'ConstitutionTest', + component: () => import('@/views/constitution/ConstitutionTestView.vue') + }, + { + path: 'constitution/result', + name: 'ConstitutionResult', + component: () => import('@/views/constitution/ConstitutionResultView.vue') + }, + { + path: 'profile', + name: 'Profile', + component: () => import('@/views/profile/ProfileView.vue') + }, + { + path: 'profile/health-record', + name: 'HealthRecord', + component: () => import('@/views/profile/HealthRecordView.vue') + } + ] + } + ] +}) + +// 路由守卫 +router.beforeEach((to, from, next) => { + const authStore = useAuthStore() + + if (to.meta.requiresAuth && !authStore.isLoggedIn) { + next('/login') + } else if (to.path === '/login' && authStore.isLoggedIn) { + next('/') + } else { + next() + } +}) + +export default router +``` + +### 步骤 2:创建认证状态 Store + +创建 `src/stores/auth.ts`: + +```typescript +import { defineStore } from 'pinia' +import { ref, computed } from 'vue' +import type { User } from '@/types' + +export const useAuthStore = defineStore('auth', () => { + const user = ref(null) + const token = ref(localStorage.getItem('token')) + + const isLoggedIn = computed(() => !!token.value) + + function login(userData: User) { + user.value = userData + token.value = 'mock-token-' + userData.id + localStorage.setItem('token', token.value) + localStorage.setItem('user', JSON.stringify(userData)) + } + + function logout() { + user.value = null + token.value = null + localStorage.removeItem('token') + localStorage.removeItem('user') + } + + // 初始化时从 localStorage 恢复用户信息 + function init() { + const savedUser = localStorage.getItem('user') + if (savedUser && token.value) { + user.value = JSON.parse(savedUser) + } + } + + init() + + return { user, token, isLoggedIn, login, logout } +}) +``` + +### 步骤 3:创建主布局 + +创建 `src/views/layout/MainLayout.vue`: + +```vue + + + + + +``` + +### 步骤 4:更新 App.vue + +```vue + + + +``` + +--- + +## 路由结构 + +``` +/login - 登录页 +/ - 主布局 + ├── / - 首页 + ├── /chat - 对话列表 + ├── /chat/:id - 对话详情 + ├── /constitution - 体质分析首页 + ├── /constitution/test - 体质问卷 + ├── /constitution/result - 体质结果 + ├── /profile - 个人中心 + └── /profile/health-record - 健康档案 +``` + +--- + +## 验收标准 + +- [ ] 路由配置正确 +- [ ] 布局显示正常 +- [ ] 导航切换正常 +- [ ] 登录状态守卫正常 + +--- + +## 预计耗时 + +25-30 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web原型开发/03-登录页面.md` diff --git a/TODOS/03-Web原型开发/03-登录页面.md b/TODOS/03-Web原型开发/03-登录页面.md new file mode 100644 index 0000000..dc076a9 --- /dev/null +++ b/TODOS/03-Web原型开发/03-登录页面.md @@ -0,0 +1,271 @@ +# 03-登录页面(原型) + +## 目标 + +实现 Web 端登录页面原型,使用模拟数据验证登录。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/登录页.png` + +--- + +## 前置要求 + +- 路由配置完成 +- 模拟数据服务已创建 + +--- + +## 实施步骤 + +### 创建登录页面 + +创建 `src/views/auth/LoginView.vue`: + +```vue + + + + + +``` + +--- + +## 验收标准 + +- [ ] 登录页面 UI 正常显示 +- [ ] 验证码倒计时正常 +- [ ] 表单验证正常 +- [ ] 正确验证码可登录成功 +- [ ] 登录成功后跳转到首页 + +--- + +## 预计耗时 + +20-25 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web原型开发/04-首页.md` diff --git a/TODOS/03-Web原型开发/04-首页.md b/TODOS/03-Web原型开发/04-首页.md new file mode 100644 index 0000000..7d57b99 --- /dev/null +++ b/TODOS/03-Web原型开发/04-首页.md @@ -0,0 +1,391 @@ +# 04-首页(原型) + +## 目标 + +实现 Web 首页原型,展示用户体质信息、快捷入口和健康提示。 + +--- + +## 前置要求 + +- 路由和布局配置完成 +- 模拟数据服务已创建 +- 登录页面完成 + +--- + +## 实施步骤 + +### 创建体质状态 Store + +创建 `src/stores/constitution.ts`: + +```typescript +import { defineStore } from 'pinia' +import { ref } from 'vue' +import type { ConstitutionResult } from '@/types' + +export const useConstitutionStore = defineStore('constitution', () => { + const result = ref(null) + + function setResult(data: ConstitutionResult) { + result.value = data + localStorage.setItem('constitution_result', JSON.stringify(data)) + } + + function clearResult() { + result.value = null + localStorage.removeItem('constitution_result') + } + + // 初始化时从 localStorage 恢复 + function init() { + const saved = localStorage.getItem('constitution_result') + if (saved) { + result.value = JSON.parse(saved) + } + } + + init() + + return { result, setResult, clearResult } +}) +``` + +### 创建首页 + +创建 `src/views/home/HomeView.vue`: + +```vue + + + + + +``` + +--- + +## 验收标准 + +- [ ] 首页 UI 正常显示 +- [ ] 体质卡片显示正确 +- [ ] 快捷入口点击跳转正常 +- [ ] 健康提示显示正常 +- [ ] 推荐产品显示正常 + +--- + +## 预计耗时 + +30-35 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web原型开发/05-体质辨识页面.md` diff --git a/TODOS/03-Web原型开发/05-体质辨识页面.md b/TODOS/03-Web原型开发/05-体质辨识页面.md new file mode 100644 index 0000000..4f18dab --- /dev/null +++ b/TODOS/03-Web原型开发/05-体质辨识页面.md @@ -0,0 +1,626 @@ +# 05-体质辨识页面(原型) + +## 目标 + +实现 Web 端中医体质辨识问卷和结果展示,使用本地模拟数据计算结果。 + +--- + +## 页面组成 + +1. **体质首页** - 介绍页面,引导用户开始测试 +2. **问卷页面** - 60道题目,逐题作答 +3. **结果页面** - 显示体质类型、雷达图、调养建议 + +--- + +## 前置要求 + +- 路由配置完成 +- 模拟数据服务已创建 + +--- + +## 实施步骤 + +### 步骤 1:体质首页 + +创建 `src/views/constitution/ConstitutionView.vue`: + +```vue + + + + + +``` + +### 步骤 2:问卷页面 + +创建 `src/views/constitution/ConstitutionTestView.vue`: + +```vue + + + + + +``` + +### 步骤 3:结果页面 + +创建 `src/views/constitution/ConstitutionResultView.vue`: + +```vue + + + + + +``` + +--- + +## 验收标准 + +- [ ] 体质首页正常显示 +- [ ] 问卷60题可完整答题 +- [ ] 进度条显示正确 +- [ ] 提交后本地计算结果 +- [ ] 雷达图显示正常 +- [ ] 调理建议完整显示 + +--- + +## 预计耗时 + +45-55 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web原型开发/06-AI对话页面.md` diff --git a/TODOS/03-Web原型开发/06-AI对话页面.md b/TODOS/03-Web原型开发/06-AI对话页面.md new file mode 100644 index 0000000..dfaf1c6 --- /dev/null +++ b/TODOS/03-Web原型开发/06-AI对话页面.md @@ -0,0 +1,573 @@ +# 06-AI对话页面(原型) + +## 目标 + +实现 Web 端 AI 健康问诊对话功能,使用模拟数据模拟多轮对话效果。 + +--- + +## 前置要求 + +- 路由配置完成 +- 模拟数据服务已创建 + +--- + +## 实施步骤 + +### 步骤 1:创建对话状态 Store + +创建 `src/stores/chat.ts`: + +```typescript +import { defineStore } from 'pinia' +import { ref } from 'vue' +import type { Conversation, Message } from '@/types' + +export const useChatStore = defineStore('chat', () => { + const conversations = ref([]) + + function addConversation(conv: Conversation) { + conversations.value.unshift(conv) + saveToStorage() + } + + function deleteConversation(id: string) { + conversations.value = conversations.value.filter(c => c.id !== id) + saveToStorage() + } + + function addMessage(convId: string, message: Message) { + const conv = conversations.value.find(c => c.id === convId) + if (conv) { + conv.messages.push(message) + conv.updatedAt = new Date().toISOString() + // 更新标题为第一条用户消息 + if (message.role === 'user' && conv.messages.filter(m => m.role === 'user').length === 1) { + conv.title = message.content.slice(0, 20) + (message.content.length > 20 ? '...' : '') + } + saveToStorage() + } + } + + function saveToStorage() { + localStorage.setItem('conversations', JSON.stringify(conversations.value)) + } + + function init() { + const saved = localStorage.getItem('conversations') + if (saved) { + conversations.value = JSON.parse(saved) + } + } + + init() + + return { conversations, addConversation, deleteConversation, addMessage } +}) +``` + +### 步骤 2:对话列表页面 + +创建 `src/views/chat/ChatListView.vue`: + +```vue + + + + + +``` + +### 步骤 3:对话详情页面 + +创建 `src/views/chat/ChatDetailView.vue`: + +```vue + + + + + +``` + +--- + +## 验收标准 + +- [ ] 对话列表正常显示 +- [ ] 新建对话正常 +- [ ] 删除对话正常 +- [ ] 消息发送和模拟回复正常 +- [ ] 快捷问题点击正常 +- [ ] 免责声明显示 + +--- + +## 预计耗时 + +40-50 分钟 + +--- + +## 下一步 + +完成后进入 `03-Web原型开发/07-个人中心页面.md` diff --git a/TODOS/03-Web原型开发/07-个人中心页面.md b/TODOS/03-Web原型开发/07-个人中心页面.md new file mode 100644 index 0000000..476371e --- /dev/null +++ b/TODOS/03-Web原型开发/07-个人中心页面.md @@ -0,0 +1,462 @@ +# 07-个人中心页面(原型) + +## 目标 + +实现 Web 端个人中心和健康档案管理页面原型。 + +--- + +## 前置要求 + +- 路由配置完成 +- 认证状态 Store 已创建 +- 体质状态 Store 已创建 + +--- + +## 实施步骤 + +### 步骤 1:个人中心页面 + +创建 `src/views/profile/ProfileView.vue`: + +```vue + + + + + +``` + +### 步骤 2:健康档案页面 + +创建 `src/views/profile/HealthRecordView.vue`: + +```vue + + + + + +``` + +--- + +## 验收标准 + +- [ ] 个人中心页面正常显示 +- [ ] 菜单跳转正常 +- [ ] 退出登录正常 +- [ ] 健康档案页面正常显示 +- [ ] 体质信息正确展示 + +--- + +## 预计耗时 + +30-35 分钟 + +--- + +## 完成 + +至此,Web 原型开发所有页面文档创建完成! + +可以开始第四阶段:后端开发。 diff --git a/TODOS/04-APP开发/01-项目结构初始化.md b/TODOS/04-APP开发/01-项目结构初始化.md new file mode 100644 index 0000000..72acef9 --- /dev/null +++ b/TODOS/04-APP开发/01-项目结构初始化.md @@ -0,0 +1,377 @@ +# 01-APP React Native 项目结构初始化 + +## 目标 + +使用 React Native CLI 创建项目,配置基础依赖和目录结构。 + +--- + +## 前置要求 + +- React Native 环境已搭建 +- Node.js 18+ 已安装 +- Android Studio / Xcode 已配置 + +--- + +## 实施步骤 + +### 步骤 1:创建 React Native 项目 + +```bash +cd I:\apps\demo\healthApps + +# 创建项目 +npx react-native init app --template react-native-template-typescript + +cd app +``` + +### 步骤 2:安装核心依赖 + +```bash +# 导航 +npm install @react-navigation/native @react-navigation/native-stack @react-navigation/bottom-tabs +npm install react-native-screens react-native-safe-area-context + +# 状态管理 +npm install zustand + +# 网络请求 +npm install axios + +# 图表(体质雷达图) +npm install react-native-svg +npm install react-native-gifted-charts + +# 存储 +npm install @react-native-async-storage/async-storage + +# 表单 +npm install react-hook-form + +# UI 组件 +npm install react-native-paper react-native-vector-icons +npm install @types/react-native-vector-icons -D + +# 工具 +npm install dayjs +``` + +### 步骤 3:配置 iOS 依赖(macOS) + +```bash +cd ios +pod install +cd .. +``` + +### 步骤 4:创建目录结构 + +```bash +mkdir -p src/api +mkdir -p src/components/common +mkdir -p src/components/survey +mkdir -p src/components/constitution +mkdir -p src/components/chat +mkdir -p src/screens/auth +mkdir -p src/screens/survey +mkdir -p src/screens/constitution +mkdir -p src/screens/chat +mkdir -p src/screens/profile +mkdir -p src/navigation +mkdir -p src/stores +mkdir -p src/hooks +mkdir -p src/utils +mkdir -p src/types +mkdir -p src/assets +``` + +### 步骤 5:创建类型定义 + +创建 `src/types/index.ts`: +```typescript +export interface User { + id: number + phone: string + email: string + nickname: string + avatar: string + survey_completed: boolean +} + +export interface HealthProfile { + id: number + name: string + birth_date: string + gender: string + height: number + weight: number + bmi: number + blood_type: string +} + +export interface Question { + id: number + constitution_type: string + question_text: string + options: string[] + order_num: number +} + +export interface ConstitutionScore { + type: string + name: string + score: number + description: string +} + +export interface ConstitutionResult { + primary_constitution: ConstitutionScore + secondary_constitutions: ConstitutionScore[] + all_scores: ConstitutionScore[] + recommendations: Record> + assessed_at: string +} + +export interface Conversation { + id: number + title: string + created_at: string + updated_at: string +} + +export interface Message { + id: number + role: 'user' | 'assistant' | 'system' + content: string + created_at: string +} + +export interface ApiResponse { + code: number + message: string + data: T +} +``` + +### 步骤 6:创建 API 请求基础配置 + +创建 `src/api/request.ts`: +```typescript +import axios from 'axios' +import AsyncStorage from '@react-native-async-storage/async-storage' +import { Alert } from 'react-native' +import type { ApiResponse } from '../types' + +const API_BASE_URL = __DEV__ + ? 'http://10.0.2.2:8080/api' // Android 模拟器 + : 'https://your-production-url.com/api' + +const request = axios.create({ + baseURL: API_BASE_URL, + timeout: 30000, +}) + +// 请求拦截器 +request.interceptors.request.use( + async (config) => { + const token = await AsyncStorage.getItem('token') + if (token) { + config.headers.Authorization = `Bearer ${token}` + } + return config + }, + (error) => Promise.reject(error) +) + +// 响应拦截器 +request.interceptors.response.use( + (response) => { + const res = response.data as ApiResponse + if (res.code !== 0) { + Alert.alert('提示', res.message || '请求失败') + return Promise.reject(new Error(res.message)) + } + return res.data + }, + (error) => { + if (error.response?.status === 401) { + AsyncStorage.removeItem('token') + // 这里需要导航到登录页,后续在导航配置中处理 + } + Alert.alert('错误', error.message || '网络错误') + return Promise.reject(error) + } +) + +export default request +``` + +### 步骤 7:创建用户 Store + +创建 `src/stores/userStore.ts`: +```typescript +import { create } from 'zustand' +import AsyncStorage from '@react-native-async-storage/async-storage' +import type { User } from '../types' + +interface UserState { + token: string + user: User | null + isLoggedIn: boolean + surveyCompleted: boolean + setToken: (token: string) => void + setUser: (user: User) => void + logout: () => void + loadToken: () => Promise +} + +export const useUserStore = create((set, get) => ({ + token: '', + user: null, + isLoggedIn: false, + surveyCompleted: false, + + setToken: async (token: string) => { + await AsyncStorage.setItem('token', token) + set({ token, isLoggedIn: !!token }) + }, + + setUser: (user: User) => { + set({ user, surveyCompleted: user.survey_completed }) + }, + + logout: async () => { + await AsyncStorage.removeItem('token') + set({ token: '', user: null, isLoggedIn: false, surveyCompleted: false }) + }, + + loadToken: async () => { + const token = await AsyncStorage.getItem('token') + if (token) { + set({ token, isLoggedIn: true }) + } + }, +})) +``` + +### 步骤 8:更新 App.tsx + +更新 `App.tsx`: +```typescript +import React, { useEffect, useState } from 'react' +import { StatusBar } from 'react-native' +import { NavigationContainer } from '@react-navigation/native' +import { Provider as PaperProvider } from 'react-native-paper' +import { SafeAreaProvider } from 'react-native-safe-area-context' +import { useUserStore } from './src/stores/userStore' +import RootNavigator from './src/navigation/RootNavigator' + +const App = () => { + const [isReady, setIsReady] = useState(false) + const loadToken = useUserStore((state) => state.loadToken) + + useEffect(() => { + const init = async () => { + await loadToken() + setIsReady(true) + } + init() + }, []) + + if (!isReady) { + return null // 或者显示 Splash Screen + } + + return ( + + + + + + + + + ) +} + +export default App +``` + +### 步骤 9:验证项目 + +```bash +# Android +npm run android + +# iOS (macOS) +npm run ios +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/types/index.ts` | 类型定义 | +| `src/api/request.ts` | 请求封装 | +| `src/stores/userStore.ts` | 用户状态管理 | +| `App.tsx` | 应用入口(更新) | + +--- + +## 最终目录结构 + +``` +app/ +├── src/ +│ ├── api/ +│ │ └── request.ts +│ ├── components/ +│ │ ├── common/ +│ │ ├── survey/ +│ │ ├── constitution/ +│ │ └── chat/ +│ ├── screens/ +│ │ ├── auth/ +│ │ ├── survey/ +│ │ ├── constitution/ +│ │ ├── chat/ +│ │ └── profile/ +│ ├── navigation/ +│ ├── stores/ +│ │ └── userStore.ts +│ ├── hooks/ +│ ├── utils/ +│ ├── types/ +│ │ └── index.ts +│ └── assets/ +├── App.tsx +├── package.json +├── android/ +└── ios/ +``` + +--- + +## 验收标准 + +- [ ] 项目创建成功 +- [ ] 依赖安装完成 +- [ ] 目录结构创建完整 +- [ ] 模拟器启动正常 +- [ ] 无报错 + +--- + +## 预计耗时 + +20-30 分钟 + +--- + +## 下一步 + +完成后进入 `04-APP开发/02-导航和布局设计.md` diff --git a/TODOS/04-APP开发/02-导航和布局设计.md b/TODOS/04-APP开发/02-导航和布局设计.md new file mode 100644 index 0000000..4846bf8 --- /dev/null +++ b/TODOS/04-APP开发/02-导航和布局设计.md @@ -0,0 +1,448 @@ +# 02-导航和布局设计 + +## 目标 + +配置 React Navigation 导航系统,实现 Tab 导航和 Stack 导航。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/首页.png` + +### 底部 Tab 导航规范 + +| Tab | 图标 | 文字 | +|-----|------|------| +| 首页 | 房屋图标 `home` | 首页 | +| AI问答 | 对话气泡 `chat-processing` | AI问答 | +| 体质分析 | 心电图 `chart-line-variant` | 体质分析 | +| 我的 | 用户图标 `account` | 我的 | + +### Tab 样式规范 + +```typescript +const tabBarOptions = { + activeTintColor: '#10B981', // 选中颜色 + inactiveTintColor: '#9CA3AF', // 未选中颜色 + style: { + height: 60, + paddingBottom: 8, + paddingTop: 8, + backgroundColor: '#FFFFFF', + borderTopWidth: 1, + borderTopColor: '#E5E7EB', + }, + labelStyle: { + fontSize: 12, + }, +} +``` + +### 导航栏样式 + +```typescript +const headerOptions = { + headerStyle: { + backgroundColor: '#10B981', + }, + headerTintColor: '#FFFFFF', + headerTitleStyle: { + fontWeight: '600', + }, +} +``` + +--- + +## 前置要求 + +- 项目结构已初始化 +- React Navigation 已安装 + +--- + +## 实施步骤 + +### 步骤 1:创建导航类型定义 + +创建 `src/navigation/types.ts`: +```typescript +import type { NativeStackNavigationProp } from '@react-navigation/native-stack' +import type { BottomTabNavigationProp } from '@react-navigation/bottom-tabs' +import type { CompositeNavigationProp, RouteProp } from '@react-navigation/native' + +// Root Stack +export type RootStackParamList = { + Auth: undefined + Main: undefined + Survey: undefined +} + +// Auth Stack +export type AuthStackParamList = { + Login: undefined + Register: undefined +} + +// Main Tab +export type MainTabParamList = { + ChatTab: undefined + ConstitutionTab: undefined + ProfileTab: undefined +} + +// Chat Stack +export type ChatStackParamList = { + ChatList: undefined + ChatDetail: { id: number } +} + +// Constitution Stack +export type ConstitutionStackParamList = { + ConstitutionHome: undefined + ConstitutionQuestions: undefined + ConstitutionResult: undefined +} + +// Profile Stack +export type ProfileStackParamList = { + ProfileHome: undefined + HealthRecord: undefined +} + +// Navigation Props +export type RootNavigationProp = NativeStackNavigationProp + +export type AuthNavigationProp = CompositeNavigationProp< + NativeStackNavigationProp, + NativeStackNavigationProp +> + +export type MainTabNavigationProp = BottomTabNavigationProp + +export type ChatNavigationProp = CompositeNavigationProp< + NativeStackNavigationProp, + MainTabNavigationProp +> + +// Route Props +export type ChatDetailRouteProp = RouteProp +``` + +### 步骤 2:创建认证导航 + +创建 `src/navigation/AuthNavigator.tsx`: +```typescript +import React from 'react' +import { createNativeStackNavigator } from '@react-navigation/native-stack' +import type { AuthStackParamList } from './types' +import LoginScreen from '../screens/auth/LoginScreen' +import RegisterScreen from '../screens/auth/RegisterScreen' + +const Stack = createNativeStackNavigator() + +const AuthNavigator = () => { + return ( + + + + + ) +} + +export default AuthNavigator +``` + +### 步骤 3:创建主 Tab 导航 + +创建 `src/navigation/MainTabNavigator.tsx`: +```typescript +import React from 'react' +import { createBottomTabNavigator } from '@react-navigation/bottom-tabs' +import Icon from 'react-native-vector-icons/MaterialCommunityIcons' +import type { MainTabParamList } from './types' +import ChatNavigator from './ChatNavigator' +import ConstitutionNavigator from './ConstitutionNavigator' +import ProfileNavigator from './ProfileNavigator' + +const Tab = createBottomTabNavigator() + +const MainTabNavigator = () => { + return ( + + ( + + ), + }} + /> + ( + + ), + }} + /> + ( + + ), + }} + /> + + ) +} + +export default MainTabNavigator +``` + +### 步骤 4:创建子导航器 + +创建 `src/navigation/ChatNavigator.tsx`: +```typescript +import React from 'react' +import { createNativeStackNavigator } from '@react-navigation/native-stack' +import type { ChatStackParamList } from './types' +import ChatListScreen from '../screens/chat/ChatListScreen' +import ChatDetailScreen from '../screens/chat/ChatDetailScreen' + +const Stack = createNativeStackNavigator() + +const ChatNavigator = () => { + return ( + + + + + ) +} + +export default ChatNavigator +``` + +创建 `src/navigation/ConstitutionNavigator.tsx`: +```typescript +import React from 'react' +import { createNativeStackNavigator } from '@react-navigation/native-stack' +import type { ConstitutionStackParamList } from './types' +import ConstitutionHomeScreen from '../screens/constitution/ConstitutionHomeScreen' +import ConstitutionQuestionsScreen from '../screens/constitution/ConstitutionQuestionsScreen' +import ConstitutionResultScreen from '../screens/constitution/ConstitutionResultScreen' + +const Stack = createNativeStackNavigator() + +const ConstitutionNavigator = () => { + return ( + + + + + + ) +} + +export default ConstitutionNavigator +``` + +创建 `src/navigation/ProfileNavigator.tsx`: +```typescript +import React from 'react' +import { createNativeStackNavigator } from '@react-navigation/native-stack' +import type { ProfileStackParamList } from './types' +import ProfileHomeScreen from '../screens/profile/ProfileHomeScreen' +import HealthRecordScreen from '../screens/profile/HealthRecordScreen' + +const Stack = createNativeStackNavigator() + +const ProfileNavigator = () => { + return ( + + + + + ) +} + +export default ProfileNavigator +``` + +### 步骤 5:创建根导航器 + +创建 `src/navigation/RootNavigator.tsx`: +```typescript +import React from 'react' +import { createNativeStackNavigator } from '@react-navigation/native-stack' +import { useUserStore } from '../stores/userStore' +import type { RootStackParamList } from './types' +import AuthNavigator from './AuthNavigator' +import MainTabNavigator from './MainTabNavigator' +import SurveyScreen from '../screens/survey/SurveyScreen' + +const Stack = createNativeStackNavigator() + +const RootNavigator = () => { + const { isLoggedIn, surveyCompleted } = useUserStore() + + return ( + + {!isLoggedIn ? ( + + ) : !surveyCompleted ? ( + + ) : ( + + )} + + ) +} + +export default RootNavigator +``` + +### 步骤 6:创建占位页面 + +创建基础的占位页面组件,后续会详细实现。 + +创建 `src/screens/auth/LoginScreen.tsx`: +```typescript +import React from 'react' +import { View, Text, StyleSheet } from 'react-native' + +const LoginScreen = () => { + return ( + + 登录页面(待实现) + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, +}) + +export default LoginScreen +``` + +(其他占位页面类似创建) + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/navigation/types.ts` | 导航类型定义 | +| `src/navigation/AuthNavigator.tsx` | 认证导航 | +| `src/navigation/MainTabNavigator.tsx` | Tab 导航 | +| `src/navigation/ChatNavigator.tsx` | 对话导航 | +| `src/navigation/ConstitutionNavigator.tsx` | 体质导航 | +| `src/navigation/ProfileNavigator.tsx` | 个人导航 | +| `src/navigation/RootNavigator.tsx` | 根导航 | +| 各占位页面 | 基础页面组件 | + +--- + +## 导航结构 + +``` +RootNavigator +├── AuthNavigator(未登录) +│ ├── Login +│ └── Register +├── Survey(未完成调查) +└── MainTabNavigator(已登录且完成调查) + ├── ChatTab + │ ├── ChatList + │ └── ChatDetail + ├── ConstitutionTab + │ ├── ConstitutionHome + │ ├── ConstitutionQuestions + │ └── ConstitutionResult + └── ProfileTab + ├── ProfileHome + └── HealthRecord +``` + +--- + +## 验收标准 + +- [ ] 导航结构配置正确 +- [ ] Tab 导航显示正常 +- [ ] Stack 导航跳转正常 +- [ ] 登录状态切换导航正常 +- [ ] 类型定义完整 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +完成后进入 `04-APP开发/03-用户认证页面.md` diff --git a/TODOS/04-APP开发/03-用户认证页面.md b/TODOS/04-APP开发/03-用户认证页面.md new file mode 100644 index 0000000..49cf192 --- /dev/null +++ b/TODOS/04-APP开发/03-用户认证页面.md @@ -0,0 +1,535 @@ +# 03-用户认证页面 + +## 目标 + +实现 APP 端登录和注册页面。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/登录页.png` + +### 页面布局 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 | 绿色渐变背景 (`#10B981 → #2EC4B6`) + 医疗插图 | +| Logo | "AI健康助手" 标题(白色 32px)+ slogan | +| 表单卡片 | 白色背景,圆角 16px | +| 输入框 | 圆角 12px,左侧带图标 | +| 主按钮 | 绿色 `#10B981`,圆角 24px,高度 48px | + +### 样式常量 + +```typescript +const colors = { + primary: '#10B981', + primaryDark: '#059669', + background: '#10B981', + cardBackground: '#FFFFFF', + inputBackground: '#F3F4F6', + textPrimary: '#1F2937', + textSecondary: '#6B7280', + textHint: '#9CA3AF', +} + +const spacing = { + screenPadding: 20, + cardPadding: 24, + inputMargin: 16, +} + +const borderRadius = { + card: 16, + input: 12, + button: 24, +} +``` + +--- + +## 前置要求 + +- 导航配置完成 +- 后端认证接口可用 + +--- + +## 实施步骤 + +### 步骤 1:创建认证 API + +创建 `src/api/auth.ts`: +```typescript +import request from './request' + +export interface LoginRequest { + phone: string + password: string +} + +export interface RegisterRequest { + phone: string + password: string + nickname?: string +} + +export interface AuthResponse { + token: string + user_id: number + nickname: string + survey_completed: boolean +} + +export const login = (data: LoginRequest): Promise => { + return request.post('/auth/login', data) +} + +export const register = (data: RegisterRequest): Promise => { + return request.post('/auth/register', data) +} +``` + +### 步骤 2:创建登录页面 + +更新 `src/screens/auth/LoginScreen.tsx`: +```typescript +import React, { useState } from 'react' +import { + View, + Text, + StyleSheet, + KeyboardAvoidingView, + Platform, + ScrollView, +} from 'react-native' +import { TextInput, Button } from 'react-native-paper' +import { useNavigation } from '@react-navigation/native' +import { useUserStore } from '../../stores/userStore' +import { login } from '../../api/auth' +import type { AuthNavigationProp } from '../../navigation/types' + +const LoginScreen = () => { + const navigation = useNavigation() + const { setToken, setUser } = useUserStore() + + const [phone, setPhone] = useState('') + const [password, setPassword] = useState('') + const [loading, setLoading] = useState(false) + const [showPassword, setShowPassword] = useState(false) + + const handleLogin = async () => { + if (!phone.trim() || !password.trim()) { + return + } + + setLoading(true) + try { + const res = await login({ phone, password }) + setToken(res.token) + setUser({ + id: res.user_id, + nickname: res.nickname, + phone, + email: '', + avatar: '', + survey_completed: res.survey_completed, + }) + } catch (error) { + // 错误已在拦截器处理 + } finally { + setLoading(false) + } + } + + return ( + + + + 健康AI助手 + 您的智能健康管家 + + + + } + /> + + } + right={ + setShowPassword(!showPassword)} + /> + } + /> + + + + + 还没有账号? + + + + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#667eea', + }, + scrollContent: { + flexGrow: 1, + justifyContent: 'center', + padding: 20, + }, + header: { + alignItems: 'center', + marginBottom: 40, + }, + title: { + fontSize: 32, + fontWeight: 'bold', + color: '#fff', + marginBottom: 8, + }, + subtitle: { + fontSize: 16, + color: 'rgba(255,255,255,0.8)', + }, + form: { + backgroundColor: '#fff', + borderRadius: 16, + padding: 24, + }, + input: { + marginBottom: 16, + }, + button: { + marginTop: 8, + borderRadius: 8, + }, + buttonContent: { + paddingVertical: 8, + }, + footer: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + marginTop: 16, + }, + footerText: { + color: '#666', + }, +}) + +export default LoginScreen +``` + +### 步骤 3:创建注册页面 + +创建 `src/screens/auth/RegisterScreen.tsx`: +```typescript +import React, { useState } from 'react' +import { + View, + Text, + StyleSheet, + KeyboardAvoidingView, + Platform, + ScrollView, + Alert, +} from 'react-native' +import { TextInput, Button, Checkbox } from 'react-native-paper' +import { useNavigation } from '@react-navigation/native' +import { useUserStore } from '../../stores/userStore' +import { register } from '../../api/auth' +import type { AuthNavigationProp } from '../../navigation/types' + +const RegisterScreen = () => { + const navigation = useNavigation() + const { setToken, setUser } = useUserStore() + + const [phone, setPhone] = useState('') + const [nickname, setNickname] = useState('') + const [password, setPassword] = useState('') + const [confirmPassword, setConfirmPassword] = useState('') + const [agreement, setAgreement] = useState(false) + const [loading, setLoading] = useState(false) + const [showPassword, setShowPassword] = useState(false) + + const handleRegister = async () => { + if (!phone.trim() || !password.trim()) { + Alert.alert('提示', '请输入手机号和密码') + return + } + + if (password !== confirmPassword) { + Alert.alert('提示', '两次输入的密码不一致') + return + } + + if (!agreement) { + Alert.alert('提示', '请先同意用户协议和隐私政策') + return + } + + setLoading(true) + try { + const res = await register({ + phone, + password, + nickname: nickname || undefined, + }) + setToken(res.token) + setUser({ + id: res.user_id, + nickname: res.nickname, + phone, + email: '', + avatar: '', + survey_completed: false, + }) + } catch (error) { + // 错误已在拦截器处理 + } finally { + setLoading(false) + } + } + + return ( + + + + 创建账号 + + + + } + /> + + } + /> + + } + right={ + setShowPassword(!showPassword)} + /> + } + /> + + } + /> + + + setAgreement(!agreement)} + /> + + 我已阅读并同意《用户协议》和《隐私政策》 + + + + + + + 已有账号? + + + + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#667eea', + }, + scrollContent: { + flexGrow: 1, + justifyContent: 'center', + padding: 20, + }, + header: { + alignItems: 'center', + marginBottom: 24, + }, + title: { + fontSize: 28, + fontWeight: 'bold', + color: '#fff', + }, + form: { + backgroundColor: '#fff', + borderRadius: 16, + padding: 24, + }, + input: { + marginBottom: 16, + }, + checkboxRow: { + flexDirection: 'row', + alignItems: 'center', + marginBottom: 16, + }, + agreementText: { + flex: 1, + fontSize: 13, + color: '#666', + }, + button: { + borderRadius: 8, + }, + buttonContent: { + paddingVertical: 8, + }, + footer: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + marginTop: 16, + }, + footerText: { + color: '#666', + }, +}) + +export default RegisterScreen +``` + +--- + +## 需要创建的文件清单 + +| 文件路径 | 说明 | +|----------|------| +| `src/api/auth.ts` | 认证 API | +| `src/screens/auth/LoginScreen.tsx` | 登录页面 | +| `src/screens/auth/RegisterScreen.tsx` | 注册页面 | + +--- + +## 验收标准 + +- [ ] 登录页面 UI 正常显示 +- [ ] 注册页面 UI 正常显示 +- [ ] 登录功能正常 +- [ ] 注册功能正常 +- [ ] 状态切换正确触发导航 + +--- + +## 预计耗时 + +25-30 分钟 + +--- + +## 下一步 + +完成后进入 `04-APP开发/04-健康调查页面.md` + +--- + +## 备注 + +由于 APP 端实现与 Web 端逻辑类似,后续文档将提供精简版说明和关键代码,完整实现可参考 Web 端对应模块。 + +APP 端剩余页面(健康调查、体质测评、AI对话、个人中心)的详细实现将根据实际开发进度逐步补充。关键差异点: + +1. **UI 框架**:使用 React Native Paper 代替 Element Plus +2. **导航**:使用 React Navigation 代替 Vue Router +3. **状态管理**:使用 Zustand 代替 Pinia +4. **样式**:使用 StyleSheet 代替 CSS +5. **表单**:使用 React Hook Form 或原生 useState diff --git a/TODOS/04-APP开发/04-健康调查页面.md b/TODOS/04-APP开发/04-健康调查页面.md new file mode 100644 index 0000000..44ab615 --- /dev/null +++ b/TODOS/04-APP开发/04-健康调查页面.md @@ -0,0 +1,238 @@ +# 04-健康调查页面 + +## 目标 + +实现 APP 端新用户健康调查功能,包括多步骤表单。 + +--- + +## 实现要点 + +APP 端健康调查与 Web 端功能相同,主要差异: + +1. **步骤指示器**:使用自定义组件或 `react-native-paper` 的 ProgressBar +2. **表单输入**:使用 `TextInput`、`RadioButton`、`Switch` 等 RN 组件 +3. **日期选择**:使用 `@react-native-community/datetimepicker` +4. **滑动选择**:使用 `@react-native-community/slider` + +--- + +## 关键代码示例 + +### 步骤指示器组件 + +```typescript +// src/components/common/StepIndicator.tsx +import React from 'react' +import { View, Text, StyleSheet } from 'react-native' + +interface Props { + steps: string[] + currentStep: number +} + +const StepIndicator: React.FC = ({ steps, currentStep }) => { + return ( + + {steps.map((step, index) => ( + + + + {index + 1} + + + {step} + {index < steps.length - 1 && ( + + )} + + ))} + + ) +} + +const styles = StyleSheet.create({ + container: { + flexDirection: 'row', + justifyContent: 'space-between', + paddingHorizontal: 20, + paddingVertical: 16, + }, + stepWrapper: { + alignItems: 'center', + flex: 1, + }, + circle: { + width: 32, + height: 32, + borderRadius: 16, + backgroundColor: '#e0e0e0', + justifyContent: 'center', + alignItems: 'center', + }, + activeCircle: { + backgroundColor: '#667eea', + }, + number: { + color: '#999', + fontWeight: 'bold', + }, + activeNumber: { + color: '#fff', + }, + label: { + fontSize: 12, + color: '#666', + marginTop: 4, + }, + line: { + position: 'absolute', + top: 16, + left: '60%', + right: '-40%', + height: 2, + backgroundColor: '#e0e0e0', + }, + activeLine: { + backgroundColor: '#667eea', + }, +}) + +export default StepIndicator +``` + +### 调查主页面 + +```typescript +// src/screens/survey/SurveyScreen.tsx +import React, { useState } from 'react' +import { View, ScrollView, StyleSheet, Alert } from 'react-native' +import { Button } from 'react-native-paper' +import StepIndicator from '../../components/common/StepIndicator' +import BasicInfoForm from '../../components/survey/BasicInfoForm' +import LifestyleForm from '../../components/survey/LifestyleForm' +import HealthStatusForm from '../../components/survey/HealthStatusForm' +import { useUserStore } from '../../stores/userStore' + +const steps = ['基础信息', '生活习惯', '健康状况', '完成'] + +const SurveyScreen = () => { + const [currentStep, setCurrentStep] = useState(0) + const { setUser, user } = useUserStore() + + const handleNext = () => { + if (currentStep < steps.length - 1) { + setCurrentStep(currentStep + 1) + } + } + + const handlePrev = () => { + if (currentStep > 0) { + setCurrentStep(currentStep - 1) + } + } + + const handleComplete = () => { + if (user) { + setUser({ ...user, survey_completed: true }) + } + } + + return ( + + + + + {currentStep === 0 && } + {currentStep === 1 && ( + + )} + {currentStep === 2 && ( + + )} + {currentStep === 3 && ( + + 健康调查完成! + + 接下来进行体质测评 + + + + )} + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#f5f5f5', + }, + content: { + flex: 1, + padding: 16, + }, + completeContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + padding: 40, + }, + completeTitle: { + fontSize: 24, + fontWeight: 'bold', + marginBottom: 8, + }, + completeSubtitle: { + fontSize: 16, + color: '#666', + marginBottom: 24, + }, +}) + +export default SurveyScreen +``` + +--- + +## 需要创建的文件 + +| 文件路径 | 说明 | +|----------|------| +| `src/api/survey.ts` | 调查 API(同 Web 端) | +| `src/screens/survey/SurveyScreen.tsx` | 调查主页面 | +| `src/components/survey/BasicInfoForm.tsx` | 基础信息表单 | +| `src/components/survey/LifestyleForm.tsx` | 生活习惯表单 | +| `src/components/survey/HealthStatusForm.tsx` | 健康状况表单 | +| `src/components/common/StepIndicator.tsx` | 步骤指示器 | + +--- + +## 验收标准 + +- [ ] 步骤指示器显示正确 +- [ ] 各表单可正常填写 +- [ ] 数据提交成功 +- [ ] 完成后自动跳转 + +--- + +## 预计耗时 + +35-45 分钟 + +--- + +## 下一步 + +完成后进入 `04-APP开发/05-体质辨识页面.md` diff --git a/TODOS/04-APP开发/05-体质辨识页面.md b/TODOS/04-APP开发/05-体质辨识页面.md new file mode 100644 index 0000000..91f2c55 --- /dev/null +++ b/TODOS/04-APP开发/05-体质辨识页面.md @@ -0,0 +1,471 @@ +# 05-体质辨识页面 + +## 目标 + +实现 APP 端中医体质辨识问卷和结果展示功能。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/体质页.png`、`files/ui/体质检测.png`、`files/ui/体质分析.png` + +### 体质首页 + +| 区域 | 设计要点 | +|------|----------| +| 顶部卡片 | 绿色渐变背景 `#10B981 → #2EC4B6`,圆角 16px | +| 标题 | "中医体质自测",白色 20px 粗体 | +| 测试说明 | 白色卡片,3步骤(绿色序号圆圈) | +| 按钮 | 绿色全宽按钮,圆角 24px | + +### 问卷页面 + +| 区域 | 设计要点 | +|------|----------| +| 进度显示 | 右上角 "1/65",绿色进度条高度 4px | +| 问题标签 | 绿色背景 `#DCFCE7`,文字 `#10B981` | +| 选项按钮 | 白色背景,边框 `#E5E7EB`,选中时绿色边框 + 背景 | +| 底部提示 | 浅绿色背景 `#ECFDF5`,info 图标 | + +### 结果页面 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 | 绿色渐变 + 人体轮廓 + 分享按钮 | +| 体质名称 | 白色大字 32px,分数徽章 | +| 雷达图 | 白色卡片,颜色 `#10B981`,透明填充 | +| 调理建议 | 2×2 网格,各带彩色图标背景 | + +### 调理建议卡片 + +| 类型 | 图标背景 | 图标颜色 | +|------|----------|----------| +| 起居 | `#EDE9FE` | `#8B5CF6` | +| 饮食 | `#CCFBF1` | `#14B8A6` | +| 运动 | `#EDE9FE` | `#8B5CF6` | +| 情志 | `#FCE7F3` | `#EC4899` | + +--- + +## 实现要点 + +1. **问卷 UI**:使用卡片+按钮组形式展示题目和选项 +2. **进度条**:使用 `ProgressBar` 显示答题进度 +3. **雷达图**:使用 `react-native-gifted-charts` 或 `victory-native` +4. **结果展示**:使用 Tab 切换调养建议 + +--- + +## 关键代码示例 + +### 问卷页面 + +```typescript +// src/screens/constitution/ConstitutionQuestionsScreen.tsx +import React, { useState, useEffect } from 'react' +import { View, Text, ScrollView, StyleSheet } from 'react-native' +import { Button, ProgressBar, Card } from 'react-native-paper' +import { useNavigation } from '@react-navigation/native' +import { getQuestions, submitAssessment } from '../../api/constitution' +import type { Question } from '../../types' + +const options = ['没有', '很少', '有时', '经常', '总是'] + +const ConstitutionQuestionsScreen = () => { + const navigation = useNavigation() + const [questions, setQuestions] = useState([]) + const [currentIndex, setCurrentIndex] = useState(0) + const [answers, setAnswers] = useState>({}) + const [loading, setLoading] = useState(true) + const [submitting, setSubmitting] = useState(false) + + useEffect(() => { + loadQuestions() + }, []) + + const loadQuestions = async () => { + try { + const data = await getQuestions() + setQuestions(data) + } finally { + setLoading(false) + } + } + + const currentQuestion = questions[currentIndex] + const progress = questions.length > 0 ? (currentIndex + 1) / questions.length : 0 + + const selectOption = (score: number) => { + setAnswers({ ...answers, [currentQuestion.id]: score }) + } + + const handleNext = () => { + if (currentIndex < questions.length - 1) { + setCurrentIndex(currentIndex + 1) + } + } + + const handlePrev = () => { + if (currentIndex > 0) { + setCurrentIndex(currentIndex - 1) + } + } + + const handleSubmit = async () => { + setSubmitting(true) + try { + const answerList = Object.entries(answers).map(([qid, score]) => ({ + question_id: parseInt(qid), + score, + })) + await submitAssessment(answerList) + navigation.navigate('ConstitutionResult') + } finally { + setSubmitting(false) + } + } + + if (loading || !currentQuestion) { + return ( + + 加载中... + + ) + } + + return ( + + + + {currentIndex + 1} / {questions.length} + + + + + + + + + {currentIndex + 1}. {currentQuestion.question_text} + + + + {options.map((option, index) => ( + + ))} + + + + + + + + + {currentIndex < questions.length - 1 ? ( + + ) : ( + + )} + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#f5f5f5', + }, + loadingContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + progressContainer: { + padding: 16, + backgroundColor: '#fff', + }, + progressText: { + textAlign: 'center', + marginBottom: 8, + color: '#666', + }, + content: { + flex: 1, + padding: 16, + }, + questionCard: { + marginBottom: 16, + }, + questionText: { + fontSize: 18, + lineHeight: 28, + marginBottom: 20, + }, + options: { + gap: 12, + }, + optionButton: { + marginBottom: 8, + }, + navButtons: { + flexDirection: 'row', + justifyContent: 'space-between', + padding: 16, + backgroundColor: '#fff', + borderTopWidth: 1, + borderTopColor: '#eee', + }, +}) + +export default ConstitutionQuestionsScreen +``` + +### 结果页面(使用 victory-native 雷达图) + +```typescript +// src/screens/constitution/ConstitutionResultScreen.tsx +import React, { useState, useEffect } from 'react' +import { View, Text, ScrollView, StyleSheet } from 'react-native' +import { Card, Chip, Button } from 'react-native-paper' +import { useNavigation } from '@react-navigation/native' +import { getLatestResult } from '../../api/constitution' +import type { ConstitutionResult } from '../../types' + +const ConstitutionResultScreen = () => { + const navigation = useNavigation() + const [result, setResult] = useState(null) + const [loading, setLoading] = useState(true) + + useEffect(() => { + loadResult() + }, []) + + const loadResult = async () => { + try { + const data = await getLatestResult() + setResult(data) + } finally { + setLoading(false) + } + } + + if (loading || !result) { + return ( + + 加载中... + + ) + } + + return ( + + {/* 主要体质 */} + + + 您的体质类型 + + {result.primary_constitution.name} + + + {result.primary_constitution.description} + + + + + {/* 所有体质得分 */} + + + 体质得分 + {result.all_scores.map((score) => ( + + {score.name} + + + + {score.score.toFixed(0)} + + ))} + + + + {/* 调养建议 */} + + + 调养建议 + {Object.entries(result.recommendations).map(([type, recs]) => ( + + {Object.entries(recs).map(([key, value]) => ( + + + {key === 'diet' ? '饮食' : key === 'lifestyle' ? '起居' : key === 'exercise' ? '运动' : '情志'} + + {value} + + ))} + + ))} + + + + + + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#f5f5f5', + padding: 16, + }, + loadingContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + primaryCard: { + marginBottom: 16, + alignItems: 'center', + }, + card: { + marginBottom: 16, + }, + sectionTitle: { + fontSize: 16, + fontWeight: 'bold', + marginBottom: 12, + }, + primaryChip: { + backgroundColor: '#667eea', + alignSelf: 'center', + marginBottom: 12, + }, + primaryChipText: { + color: '#fff', + fontSize: 16, + }, + description: { + textAlign: 'center', + color: '#666', + lineHeight: 22, + }, + scoreItem: { + flexDirection: 'row', + alignItems: 'center', + marginBottom: 12, + }, + scoreName: { + width: 60, + fontSize: 13, + }, + scoreBar: { + flex: 1, + height: 8, + backgroundColor: '#e0e0e0', + borderRadius: 4, + marginHorizontal: 8, + }, + scoreBarFill: { + height: '100%', + backgroundColor: '#667eea', + borderRadius: 4, + }, + scoreValue: { + width: 30, + textAlign: 'right', + fontSize: 13, + }, + recSection: { + marginBottom: 16, + }, + recItem: { + backgroundColor: '#f9f9f9', + padding: 12, + borderRadius: 8, + marginBottom: 8, + }, + recTitle: { + fontWeight: 'bold', + marginBottom: 4, + }, + recText: { + color: '#666', + lineHeight: 20, + }, + actions: { + padding: 16, + alignItems: 'center', + }, +}) + +export default ConstitutionResultScreen +``` + +--- + +## 需要创建的文件 + +| 文件路径 | 说明 | +|----------|------| +| `src/api/constitution.ts` | 体质 API | +| `src/screens/constitution/ConstitutionHomeScreen.tsx` | 测评首页 | +| `src/screens/constitution/ConstitutionQuestionsScreen.tsx` | 问卷页面 | +| `src/screens/constitution/ConstitutionResultScreen.tsx` | 结果页面 | + +--- + +## 验收标准 + +- [ ] 问卷正常加载和答题 +- [ ] 进度条显示正确 +- [ ] 提交后显示结果 +- [ ] 调养建议完整显示 + +--- + +## 预计耗时 + +35-45 分钟 + +--- + +## 下一步 + +完成后进入 `04-APP开发/06-AI对话页面.md` diff --git a/TODOS/04-APP开发/06-AI对话页面.md b/TODOS/04-APP开发/06-AI对话页面.md new file mode 100644 index 0000000..baf5408 --- /dev/null +++ b/TODOS/04-APP开发/06-AI对话页面.md @@ -0,0 +1,476 @@ +# 06-AI对话页面 + +## 目标 + +实现 APP 端 AI 健康问诊对话功能。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/问答页.png`、`files/ui/问答对话.png` + +### 对话首页 + +| 区域 | 设计要点 | +|------|----------| +| 导航栏 | "AI健康助手" + 绿色 "在线" 状态 | +| AI 欢迎语 | 机器人图标(蓝色 `#3B82F6`)+ 灰色气泡 | +| 常见问题 | 灰色标签 + 白色圆角按钮(多个快捷问题) | +| 输入区 | 麦克风 + 输入框 + 绿色发送按钮 | + +### 消息气泡 + +| 类型 | 样式 | +|------|------| +| AI 消息 | 左对齐,机器人图标蓝色 `#3B82F6`,气泡白色 `#FFFFFF` | +| 用户消息 | 右对齐,用户图标绿色 `#10B981`,气泡绿色 `#10B981`,文字白色 | +| 时间 | 灰色 `#9CA3AF`,位于气泡下方 | + +### 样式常量 + +```typescript +const chatStyles = { + // 气泡 + userBubble: { + backgroundColor: '#10B981', + borderRadius: 16, + borderBottomRightRadius: 4, + }, + assistantBubble: { + backgroundColor: '#FFFFFF', + borderRadius: 16, + borderBottomLeftRadius: 4, + }, + // 头像 + userAvatar: { + backgroundColor: '#10B981', + }, + aiAvatar: { + backgroundColor: '#3B82F6', + }, + // 输入区 + inputContainer: { + backgroundColor: '#FFFFFF', + borderTopColor: '#E5E7EB', + }, + sendButton: { + backgroundColor: '#10B981', + borderRadius: 20, + }, +} +``` + +--- + +## 实现要点 + +1. **消息列表**:使用 FlatList 渲染消息,支持自动滚动到底部 +2. **输入框**:固定在底部,支持多行输入 +3. **键盘适配**:使用 KeyboardAvoidingView 处理键盘弹出 +4. **消息气泡**:区分用户和 AI 消息样式 + +--- + +## 关键代码示例 + +### 对话列表页面 + +```typescript +// src/screens/chat/ChatListScreen.tsx +import React, { useState, useEffect } from 'react' +import { View, FlatList, StyleSheet, TouchableOpacity } from 'react-native' +import { Text, FAB, Card, IconButton } from 'react-native-paper' +import { useNavigation } from '@react-navigation/native' +import dayjs from 'dayjs' +import { getConversations, createConversation, deleteConversation } from '../../api/conversation' +import type { Conversation } from '../../types' +import type { ChatNavigationProp } from '../../navigation/types' + +const ChatListScreen = () => { + const navigation = useNavigation() + const [conversations, setConversations] = useState([]) + const [loading, setLoading] = useState(true) + + useEffect(() => { + loadConversations() + }, []) + + const loadConversations = async () => { + try { + const data = await getConversations() + setConversations(data) + } finally { + setLoading(false) + } + } + + const handleCreate = async () => { + const conv = await createConversation() + navigation.navigate('ChatDetail', { id: conv.id }) + } + + const handleDelete = async (id: number) => { + await deleteConversation(id) + setConversations(conversations.filter((c) => c.id !== id)) + } + + const renderItem = ({ item }: { item: Conversation }) => ( + navigation.navigate('ChatDetail', { id: item.id })} + > + + + + {item.title} + + {dayjs(item.updated_at).format('MM-DD HH:mm')} + + + handleDelete(item.id)} + /> + + + + ) + + return ( + + {conversations.length === 0 ? ( + + 暂无对话记录 + 点击下方按钮开始第一次对话 + + ) : ( + item.id.toString()} + contentContainerStyle={styles.list} + /> + )} + + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#f5f5f5', + }, + list: { + padding: 16, + }, + card: { + marginBottom: 12, + }, + cardContent: { + flexDirection: 'row', + alignItems: 'center', + }, + cardInfo: { + flex: 1, + }, + cardTitle: { + fontSize: 16, + fontWeight: '500', + }, + cardTime: { + fontSize: 12, + color: '#999', + marginTop: 4, + }, + emptyContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + emptyText: { + fontSize: 16, + color: '#666', + }, + emptySubtext: { + fontSize: 14, + color: '#999', + marginTop: 8, + }, + fab: { + position: 'absolute', + right: 16, + bottom: 16, + }, +}) + +export default ChatListScreen +``` + +### 对话详情页面 + +```typescript +// src/screens/chat/ChatDetailScreen.tsx +import React, { useState, useEffect, useRef } from 'react' +import { + View, + FlatList, + StyleSheet, + KeyboardAvoidingView, + Platform, +} from 'react-native' +import { Text, TextInput, IconButton, Avatar } from 'react-native-paper' +import { useRoute } from '@react-navigation/native' +import dayjs from 'dayjs' +import { getConversation, sendMessage } from '../../api/conversation' +import { useUserStore } from '../../stores/userStore' +import type { Message } from '../../types' +import type { ChatDetailRouteProp } from '../../navigation/types' + +const ChatDetailScreen = () => { + const route = useRoute() + const { id } = route.params + const { user } = useUserStore() + const flatListRef = useRef(null) + + const [messages, setMessages] = useState([]) + const [inputText, setInputText] = useState('') + const [sending, setSending] = useState(false) + const [loading, setLoading] = useState(true) + + useEffect(() => { + loadMessages() + }, []) + + const loadMessages = async () => { + try { + const data = await getConversation(id) + setMessages(data.messages || []) + } finally { + setLoading(false) + } + } + + const handleSend = async () => { + const content = inputText.trim() + if (!content || sending) return + + // 添加用户消息 + const userMessage: Message = { + id: Date.now(), + role: 'user', + content, + created_at: new Date().toISOString(), + } + setMessages((prev) => [...prev, userMessage]) + setInputText('') + + setSending(true) + try { + const res = await sendMessage(id, content) + + const assistantMessage: Message = { + id: Date.now() + 1, + role: 'assistant', + content: res.reply, + created_at: new Date().toISOString(), + } + setMessages((prev) => [...prev, assistantMessage]) + } catch (error) { + // 移除用户消息 + setMessages((prev) => prev.slice(0, -1)) + setInputText(content) + } finally { + setSending(false) + } + } + + const renderMessage = ({ item }: { item: Message }) => { + const isUser = item.role === 'user' + + return ( + + {!isUser && ( + + )} + + + {item.content} + + + {isUser && ( + + )} + + ) + } + + return ( + + item.id.toString()} + contentContainerStyle={styles.messageList} + onContentSizeChange={() => flatListRef.current?.scrollToEnd()} + /> + + {sending && ( + + AI 正在输入... + + )} + + + + + + + + + AI 建议仅供参考,不构成医疗诊断 + + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#f5f5f5', + }, + messageList: { + padding: 16, + }, + messageRow: { + flexDirection: 'row', + marginBottom: 16, + alignItems: 'flex-end', + }, + messageRowUser: { + flexDirection: 'row-reverse', + }, + avatar: { + marginHorizontal: 8, + }, + messageBubble: { + maxWidth: '70%', + padding: 12, + borderRadius: 16, + }, + userBubble: { + backgroundColor: '#667eea', + borderBottomRightRadius: 4, + }, + assistantBubble: { + backgroundColor: '#fff', + borderBottomLeftRadius: 4, + }, + userText: { + color: '#fff', + }, + assistantText: { + color: '#333', + }, + typingIndicator: { + paddingHorizontal: 16, + paddingVertical: 8, + }, + typingText: { + color: '#999', + fontSize: 13, + }, + inputContainer: { + flexDirection: 'row', + alignItems: 'center', + padding: 8, + backgroundColor: '#fff', + borderTopWidth: 1, + borderTopColor: '#eee', + }, + input: { + flex: 1, + maxHeight: 100, + backgroundColor: '#f5f5f5', + borderRadius: 20, + paddingHorizontal: 16, + }, + disclaimer: { + padding: 8, + backgroundColor: '#fef0f0', + alignItems: 'center', + }, + disclaimerText: { + fontSize: 12, + color: '#f56c6c', + }, +}) + +export default ChatDetailScreen +``` + +--- + +## 需要创建的文件 + +| 文件路径 | 说明 | +|----------|------| +| `src/api/conversation.ts` | 对话 API | +| `src/screens/chat/ChatListScreen.tsx` | 对话列表 | +| `src/screens/chat/ChatDetailScreen.tsx` | 对话详情 | + +--- + +## 验收标准 + +- [ ] 对话列表正常显示 +- [ ] 新建和删除对话正常 +- [ ] 消息发送和接收正常 +- [ ] 键盘弹出时布局正常 +- [ ] 免责声明显示 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +完成后进入 `04-APP开发/07-个人中心页面.md` diff --git a/TODOS/04-APP开发/07-个人中心页面.md b/TODOS/04-APP开发/07-个人中心页面.md new file mode 100644 index 0000000..324e919 --- /dev/null +++ b/TODOS/04-APP开发/07-个人中心页面.md @@ -0,0 +1,494 @@ +# 07-个人中心页面 + +## 目标 + +实现 APP 端个人中心和健康档案管理页面。 + +--- + +## UI 设计参考 + +> 参考设计稿:`files/ui/我的.png` + +### 页面布局 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 | 绿色背景 `#10B981` + "我的" 标题(白色) | +| 用户卡片 | 头像(64px 圆形)+ 姓名 + 基本信息 + 用户ID | +| 编辑按钮 | 白色半透明背景,编辑图标 | +| 健康管理 | "用药情况" 入口(带角标 "12条") | +| 设置列表 | 消息通知、隐私设置、通用设置 | + +### 用户卡片样式 + +```typescript +const userCardStyles = { + container: { + backgroundColor: '#10B981', + padding: 20, + borderRadius: 16, + }, + avatar: { + width: 64, + height: 64, + borderRadius: 32, + backgroundColor: 'rgba(255,255,255,0.2)', + }, + nickname: { + color: '#FFFFFF', + fontSize: 20, + fontWeight: '600', + }, + basicInfo: { + color: '#FFFFFF', + fontSize: 14, + }, + userId: { + color: 'rgba(255,255,255,0.7)', + fontSize: 12, + }, +} +``` + +### 列表项样式 + +| 元素 | 样式 | +|------|------| +| 图标背景 | 40px 圆形 | +| 用药情况 | `#DCFCE7` 背景,`#10B981` 图标 | +| 消息通知 | `#DCFCE7` 背景,铃铛图标 | +| 隐私设置 | `#DCFCE7` 背景,盾牌图标 | +| 通用设置 | `#DCFCE7` 背景,齿轮图标 | +| 角标 | 灰色文字 `#6B7280` | +| 右箭头 | 灰色 `#9CA3AF` | + +```typescript +const listItemStyles = { + container: { + backgroundColor: '#FFFFFF', + paddingVertical: 16, + paddingHorizontal: 16, + borderRadius: 12, + }, + iconContainer: { + width: 40, + height: 40, + borderRadius: 20, + backgroundColor: '#DCFCE7', + justifyContent: 'center', + alignItems: 'center', + }, + iconColor: '#10B981', + title: { + fontSize: 16, + color: '#1F2937', + }, + description: { + fontSize: 13, + color: '#6B7280', + }, + badge: { + fontSize: 13, + color: '#6B7280', + }, +} +``` + +--- + +## 实现要点 + +1. **用户信息卡片**:显示头像、昵称、手机号 +2. **功能菜单列表**:使用 List 组件展示菜单项 +3. **健康档案**:展示基础信息、体质、病史等 + +--- + +## 关键代码示例 + +### 个人中心页面 + +```typescript +// src/screens/profile/ProfileHomeScreen.tsx +import React from 'react' +import { View, ScrollView, StyleSheet, Alert } from 'react-native' +import { Text, Avatar, Card, List, Button, Divider } from 'react-native-paper' +import { useNavigation } from '@react-navigation/native' +import { useUserStore } from '../../stores/userStore' +import type { ProfileStackParamList } from '../../navigation/types' +import type { NativeStackNavigationProp } from '@react-navigation/native-stack' + +type NavigationProp = NativeStackNavigationProp + +const ProfileHomeScreen = () => { + const navigation = useNavigation() + const { user, logout } = useUserStore() + + const handleLogout = () => { + Alert.alert('提示', '确定要退出登录吗?', [ + { text: '取消', style: 'cancel' }, + { + text: '确定', + style: 'destructive', + onPress: () => logout(), + }, + ]) + } + + return ( + + {/* 用户信息卡片 */} + + + + + {user?.nickname || '用户'} + {user?.phone} + + + + + {/* 功能菜单 */} + + } + right={(props) => } + onPress={() => navigation.navigate('HealthRecord')} + /> + + } + right={(props) => } + onPress={() => navigation.getParent()?.navigate('ConstitutionTab')} + /> + + } + right={(props) => } + onPress={() => navigation.getParent()?.navigate('ConstitutionTab', { + screen: 'ConstitutionQuestions', + })} + /> + + } + right={(props) => } + onPress={() => + Alert.alert( + '关于我们', + '健康AI助手是一款智能健康咨询应用,结合中医体质辨识理论,为您提供个性化的健康建议。\n\n版本:1.0.0' + ) + } + /> + + + {/* 退出登录 */} + + + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#f5f5f5', + }, + userCard: { + margin: 16, + }, + userContent: { + flexDirection: 'row', + alignItems: 'center', + }, + avatar: { + backgroundColor: '#667eea', + }, + userInfo: { + marginLeft: 16, + }, + nickname: { + fontSize: 20, + fontWeight: 'bold', + }, + phone: { + color: '#999', + marginTop: 4, + }, + menuCard: { + marginHorizontal: 16, + }, + logoutContainer: { + padding: 24, + alignItems: 'center', + }, +}) + +export default ProfileHomeScreen +``` + +### 健康档案页面 + +```typescript +// src/screens/profile/HealthRecordScreen.tsx +import React, { useState, useEffect } from 'react' +import { View, ScrollView, StyleSheet } from 'react-native' +import { Text, Card, Chip, ActivityIndicator } from 'react-native-paper' +import { getHealthProfile } from '../../api/user' + +const genderMap: Record = { + male: '男', + female: '女', +} + +const HealthRecordScreen = () => { + const [profile, setProfile] = useState(null) + const [loading, setLoading] = useState(true) + + useEffect(() => { + loadProfile() + }, []) + + const loadProfile = async () => { + try { + const data = await getHealthProfile() + setProfile(data) + } finally { + setLoading(false) + } + } + + if (loading) { + return ( + + + + ) + } + + return ( + + {/* 基础信息 */} + + + + {profile?.basic_info ? ( + + + + + + + + + ) : ( + 暂无基础信息 + )} + + + + {/* 体质信息 */} + + + + {profile?.constitution ? ( + + + {profile.constitution.primary_name} + + + {profile.constitution.primary_description} + + + 测评时间:{profile.constitution.assessed_at} + + + ) : ( + 暂无体质测评记录 + )} + + + + {/* 既往病史 */} + + + + {profile?.medical_history?.length > 0 ? ( + + {profile.medical_history.map((item: any) => ( + + {item.disease_name} + + ))} + + ) : ( + 暂无病史记录 + )} + + + + {/* 过敏信息 */} + + + + {profile?.allergy_records?.length > 0 ? ( + + {profile.allergy_records.map((item: any) => ( + + {item.allergen} + + ))} + + ) : ( + 暂无过敏信息 + )} + + + + ) +} + +const InfoItem = ({ label, value }: { label: string; value?: string }) => ( + + {label} + {value || '-'} + +) + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#f5f5f5', + padding: 16, + }, + loadingContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + card: { + marginBottom: 16, + }, + infoGrid: { + flexDirection: 'row', + flexWrap: 'wrap', + }, + infoItem: { + width: '50%', + marginBottom: 12, + }, + infoLabel: { + fontSize: 13, + color: '#999', + marginBottom: 4, + }, + infoValue: { + fontSize: 15, + }, + emptyText: { + color: '#999', + textAlign: 'center', + padding: 16, + }, + constitutionInfo: { + alignItems: 'center', + }, + constitutionChip: { + backgroundColor: '#667eea', + marginBottom: 12, + }, + constitutionDesc: { + color: '#666', + textAlign: 'center', + lineHeight: 22, + }, + assessedTime: { + marginTop: 12, + fontSize: 12, + color: '#999', + }, + tagList: { + flexDirection: 'row', + flexWrap: 'wrap', + gap: 8, + }, + tag: { + marginBottom: 8, + }, + allergyTag: { + backgroundColor: '#fef0f0', + }, +}) + +export default HealthRecordScreen +``` + +--- + +## 需要创建的文件 + +| 文件路径 | 说明 | +|----------|------| +| `src/api/user.ts` | 用户 API | +| `src/screens/profile/ProfileHomeScreen.tsx` | 个人中心 | +| `src/screens/profile/HealthRecordScreen.tsx` | 健康档案 | + +--- + +## 验收标准 + +- [ ] 用户信息正确显示 +- [ ] 菜单导航正常 +- [ ] 健康档案数据完整 +- [ ] 退出登录功能正常 + +--- + +## 预计耗时 + +25-30 分钟 + +--- + +## 完成 + +恭喜!APP 端开发任务全部完成! + +--- + +## 后续工作 + +1. **测试**:在真机和模拟器上进行完整功能测试 +2. **优化**:性能优化、动画效果、错误处理 +3. **打包**: + - Android: `cd android && ./gradlew assembleRelease` + - iOS: 使用 Xcode Archive +4. **发布**:提交到应用商店审核 diff --git a/TODOS/04-后端开发/01-项目结构初始化.md b/TODOS/04-后端开发/01-项目结构初始化.md new file mode 100644 index 0000000..57953ed --- /dev/null +++ b/TODOS/04-后端开发/01-项目结构初始化.md @@ -0,0 +1,185 @@ +# 01-后端项目结构初始化 + +## 目标 + +创建 Go + Gin 后端项目的基础目录结构和配置文件。 + +--- + +## 前置要求 + +- Go 1.21+ 已安装 +- 环境变量已配置 + +--- + +## 实施步骤 + +### 步骤 1:创建项目目录 + +```bash +cd I:\apps\demo\healthApps +mkdir -p server +cd server +``` + +### 步骤 2:初始化 Go 模块 + +```bash +go mod init health-ai +``` + +### 步骤 3:创建目录结构 + +```bash +mkdir -p cmd/server +mkdir -p internal/api/handler +mkdir -p internal/api/middleware +mkdir -p internal/model +mkdir -p internal/service +mkdir -p internal/repository/impl +mkdir -p internal/config +mkdir -p internal/database +mkdir -p pkg/jwt +mkdir -p pkg/response +mkdir -p pkg/utils +mkdir -p data +``` + +### 步骤 4:安装核心依赖 + +```bash +# Web 框架 +go get -u github.com/gin-gonic/gin + +# ORM +go get -u gorm.io/gorm +go get -u gorm.io/driver/sqlite + +# 配置管理 +go get -u github.com/spf13/viper + +# 日志 +go get -u go.uber.org/zap + +# JWT +go get -u github.com/golang-jwt/jwt/v5 + +# 密码加密 +go get -u golang.org/x/crypto/bcrypt + +# 参数验证 +go get -u github.com/go-playground/validator/v10 + +# 跨域 +go get -u github.com/gin-contrib/cors +``` + +### 步骤 5:创建配置文件 + +创建 `server/config.yaml`: +```yaml +server: + port: 8080 + mode: debug # debug, release, test + +database: + driver: sqlite # sqlite, postgres, mysql + sqlite: + path: ./data/health.db + postgres: + host: localhost + port: 5432 + user: postgres + password: "" + dbname: health_app + mysql: + host: localhost + port: 3306 + user: root + password: "" + dbname: health_app + +jwt: + secret: your-secret-key-change-in-production + expire_hours: 24 + +ai: + provider: openai # openai, qwen + api_key: "" + base_url: "" +``` + +### 步骤 6:创建入口文件 + +创建 `server/cmd/server/main.go`: +```go +package main + +import ( + "log" +) + +func main() { + log.Println("Health AI Server Starting...") + // TODO: 初始化配置、数据库、路由 +} +``` + +### 步骤 7:验证项目 + +```bash +cd server +go mod tidy +go run cmd/server/main.go +# 输出: Health AI Server Starting... +``` + +--- + +## 最终目录结构 + +``` +server/ +├── cmd/ +│ └── server/ +│ └── main.go +├── internal/ +│ ├── api/ +│ │ ├── handler/ +│ │ └── middleware/ +│ ├── model/ +│ ├── service/ +│ ├── repository/ +│ │ └── impl/ +│ ├── config/ +│ └── database/ +├── pkg/ +│ ├── jwt/ +│ ├── response/ +│ └── utils/ +├── data/ +├── config.yaml +├── go.mod +└── go.sum +``` + +--- + +## 验收标准 + +- [ ] 目录结构创建完成 +- [ ] `go mod tidy` 无报错 +- [ ] `go run cmd/server/main.go` 正常输出 + +--- + +## 预计耗时 + +10-15 分钟 + +--- + +## 下一步 + +完成后进入 `04-后端开发/02-数据库和模型设计.md` diff --git a/TODOS/04-后端开发/02-数据库和模型设计.md b/TODOS/04-后端开发/02-数据库和模型设计.md new file mode 100644 index 0000000..2599587 --- /dev/null +++ b/TODOS/04-后端开发/02-数据库和模型设计.md @@ -0,0 +1,51 @@ +# 02-数据库和模型设计 + +## 目标 + +实现数据库连接模块和所有数据模型定义,支持多数据库切换。 + +--- + +## 前置要求 + +- 项目结构已初始化 +- 依赖已安装 + +--- + +## 实施步骤 + +详细代码请参考原文档 `02-后端开发/02-数据库和模型设计.md` + +### 主要任务 + +1. 创建配置加载模块 `internal/config/config.go` +2. 创建数据库连接模块 `internal/database/database.go` +3. 创建数据模型: + - `internal/model/user.go` - 用户、健康档案、生活习惯 + - `internal/model/health.go` - 病史、家族史、过敏记录 + - `internal/model/constitution.go` - 体质测评 + - `internal/model/conversation.go` - 对话消息 +4. 创建模型聚合文件 `internal/model/models.go` +5. 更新主程序初始化数据库 + +--- + +## 验收标准 + +- [ ] 配置文件可正常加载 +- [ ] SQLite 数据库文件自动创建 +- [ ] 所有表自动迁移成功 +- [ ] `data/health.db` 文件生成 + +--- + +## 预计耗时 + +20-30 分钟 + +--- + +## 下一步 + +完成后进入 `04-后端开发/03-用户认证模块.md` diff --git a/TODOS/04-后端开发/03-用户认证模块.md b/TODOS/04-后端开发/03-用户认证模块.md new file mode 100644 index 0000000..6439cb2 --- /dev/null +++ b/TODOS/04-后端开发/03-用户认证模块.md @@ -0,0 +1,59 @@ +# 03-用户认证模块 + +## 目标 + +实现用户注册、登录、Token 刷新等认证功能。 + +--- + +## 前置要求 + +- 数据库和模型已完成 +- JWT 依赖已安装 + +--- + +## 实施步骤 + +详细代码请参考原文档 `02-后端开发/03-用户认证模块.md` + +### 主要任务 + +1. 创建统一响应工具 `pkg/response/response.go` +2. 创建 JWT 工具 `pkg/jwt/jwt.go` +3. 创建认证中间件 `internal/api/middleware/auth.go` +4. 创建用户 Repository `internal/repository/impl/user.go` +5. 创建认证 Service `internal/service/auth.go` +6. 创建认证 Handler `internal/api/handler/auth.go` +7. 创建路由配置 `internal/api/router.go` +8. 更新主程序启动服务 + +--- + +## API 接口 + +| 方法 | 路径 | 说明 | +|-----|------|------| +| POST | /api/auth/register | 用户注册 | +| POST | /api/auth/login | 用户登录 | + +--- + +## 验收标准 + +- [ ] 服务启动成功,监听 8080 端口 +- [ ] `/health` 返回 `{"status": "ok"}` +- [ ] 注册接口正常创建用户 +- [ ] 登录接口返回有效 Token + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +完成后进入 `04-后端开发/04-健康调查模块.md` diff --git a/TODOS/04-后端开发/04-健康调查模块.md b/TODOS/04-后端开发/04-健康调查模块.md new file mode 100644 index 0000000..67bd45e --- /dev/null +++ b/TODOS/04-后端开发/04-健康调查模块.md @@ -0,0 +1,60 @@ +# 04-健康调查模块 + +## 目标 + +实现新用户健康调查功能,包括基础信息、生活习惯、病史、过敏史等信息的提交和管理。 + +--- + +## 前置要求 + +- 用户认证模块已完成 +- 数据模型已定义 + +--- + +## 实施步骤 + +详细代码请参考原文档 `02-后端开发/04-健康调查模块.md` + +### 主要任务 + +1. 创建健康档案 Repository `internal/repository/impl/health.go` +2. 创建健康调查 Service `internal/service/survey.go` +3. 创建健康调查 Handler `internal/api/handler/survey.go` +4. 更新路由配置 + +--- + +## API 接口 + +| 方法 | 路径 | 说明 | +|-----|------|------| +| GET | /api/survey/status | 获取调查完成状态 | +| POST | /api/survey/basic-info | 提交基础信息 | +| POST | /api/survey/lifestyle | 提交生活习惯 | +| POST | /api/survey/medical-history | 提交病史 | +| POST | /api/survey/family-history | 提交家族病史 | +| POST | /api/survey/allergy | 提交过敏信息 | + +--- + +## 验收标准 + +- [ ] 获取调查状态接口正常 +- [ ] 基础信息提交成功,BMI 自动计算 +- [ ] 生活习惯提交成功 +- [ ] 病史、家族史、过敏信息可多次添加 +- [ ] 所有接口需要认证 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +完成后进入 `04-后端开发/05-体质辨识模块.md` diff --git a/TODOS/04-后端开发/05-体质辨识模块.md b/TODOS/04-后端开发/05-体质辨识模块.md new file mode 100644 index 0000000..c8e3de8 --- /dev/null +++ b/TODOS/04-后端开发/05-体质辨识模块.md @@ -0,0 +1,83 @@ +# 05-体质辨识模块 + +## 目标 + +实现中医体质辨识问卷功能,包括问卷题库、答案提交、体质计算和调养建议生成。 + +--- + +## 前置要求 + +- 健康调查模块已完成 +- 数据模型已定义 + +--- + +## 实施步骤 + +详细代码请参考原文档 `02-后端开发/05-体质辨识模块.md` + +### 主要任务 + +1. 创建体质常量定义 `internal/model/constitution_const.go` + - 九种体质类型常量 + - 体质名称和特征描述 + - 体质调养建议 + +2. 创建问卷题库初始化 `internal/database/seed.go` + - 60+ 道问卷题目 + - 按体质类型分组 + +3. 创建体质 Repository `internal/repository/impl/constitution.go` + +4. 创建体质计算 Service `internal/service/constitution.go` + - 分数计算算法 + - 体质判定逻辑(平和质特殊判定) + +5. 创建体质 Handler 并更新路由 + +--- + +## API 接口 + +| 方法 | 路径 | 说明 | +|-----|------|------| +| GET | /api/constitution/questions | 获取问卷题目 | +| POST | /api/constitution/submit | 提交问卷答案 | +| GET | /api/constitution/result | 获取最新结果 | +| GET | /api/constitution/history | 获取测评历史 | + +--- + +## 体质计算公式 + +``` +转化分 = (原始分 - 条目数) / (条目数 × 4) × 100 +``` + +### 判定规则 + +- 平和质:平和质得分 ≥ 60 且其他体质 < 30 +- 偏颇体质:得分 ≥ 40 为主要体质,≥ 30 为次要体质 + +--- + +## 验收标准 + +- [ ] 问卷题库自动初始化(60+ 题) +- [ ] 获取问卷接口返回所有题目 +- [ ] 提交答案后正确计算体质得分 +- [ ] 体质判定逻辑正确 +- [ ] 调养建议正确返回 + +--- + +## 预计耗时 + +40-50 分钟 + +--- + +## 下一步 + +完成后进入 `04-后端开发/06-AI对话模块.md` diff --git a/TODOS/04-后端开发/06-AI对话模块.md b/TODOS/04-后端开发/06-AI对话模块.md new file mode 100644 index 0000000..5c8e1e0 --- /dev/null +++ b/TODOS/04-后端开发/06-AI对话模块.md @@ -0,0 +1,96 @@ +# 06-AI对话模块 + +## 目标 + +实现 AI 健康问诊对话功能,支持多轮对话、结合用户体质信息、流式响应。 + +--- + +## 前置要求 + +- 体质辨识模块已完成 +- 已有 AI API Key(OpenAI / 通义千问) + +--- + +## 实施步骤 + +详细代码请参考原文档 `02-后端开发/06-AI对话模块.md` + +### 主要任务 + +1. 创建 AI 客户端抽象 `internal/service/ai/client.go` +2. 实现 OpenAI 客户端 `internal/service/ai/openai.go` +3. 实现阿里云通义千问客户端 `internal/service/ai/aliyun.go` +4. 创建 AI 客户端工厂 `internal/service/ai/factory.go` +5. 创建对话 Repository `internal/repository/impl/conversation.go` +6. 创建对话 Service `internal/service/conversation.go` + - 系统提示词模板 + - 用户体质信息注入 + - 产品推荐整合 +7. 创建对话 Handler 并更新路由 + +--- + +## AI 配置 + +```yaml +ai: + provider: aliyun # openai, aliyun + max_history_messages: 10 + + openai: + api_key: "sk-xxx" + base_url: "https://api.openai.com/v1" + model: "gpt-3.5-turbo" + + aliyun: + api_key: "sk-xxx" + model: "qwen-turbo" +``` + +--- + +## API 接口 + +| 方法 | 路径 | 说明 | +|-----|------|------| +| GET | /api/conversations | 获取对话列表 | +| POST | /api/conversations | 创建新对话 | +| GET | /api/conversations/:id | 获取对话详情 | +| DELETE | /api/conversations/:id | 删除对话 | +| POST | /api/conversations/:id/messages | 发送消息 | + +--- + +## 系统提示词要点 + +1. 角色定义:健康咨询助理(非医师) +2. 紧急情况:胸痛、高烧等必须建议就医 +3. 用户信息:性别、年龄、BMI +4. 体质信息:主体质、特征描述 +5. 用药历史:近期用药记录 +6. 产品推荐:体质相关保健品 + +--- + +## 验收标准 + +- [ ] 创建/获取/删除对话正常 +- [ ] 发送消息返回 AI 回复 +- [ ] AI 回复结合用户体质 +- [ ] 对话历史正确保存 +- [ ] 支持 OpenAI 和阿里云切换 +- [ ] 紧急情况提示就医 + +--- + +## 预计耗时 + +40-50 分钟 + +--- + +## 下一步 + +完成后进入 `04-后端开发/07-健康档案模块.md` diff --git a/TODOS/04-后端开发/07-健康档案模块.md b/TODOS/04-后端开发/07-健康档案模块.md new file mode 100644 index 0000000..f734921 --- /dev/null +++ b/TODOS/04-后端开发/07-健康档案模块.md @@ -0,0 +1,96 @@ +# 07-健康档案模块 + +## 目标 + +实现用户健康档案的查询和管理功能,提供完整的健康信息视图。 + +--- + +## 前置要求 + +- 健康调查模块已完成 +- 体质辨识模块已完成 + +--- + +## 实施步骤 + +详细代码请参考原文档 `02-后端开发/07-健康档案模块.md` + +### 主要任务 + +1. 创建用户 Service `internal/service/user.go` + - 获取用户资料 + - 更新用户资料 + - 获取完整健康档案 + +2. 创建用户 Handler `internal/api/handler/user.go` + +3. 更新完整路由配置 + +4. 更新主程序完整版 + +--- + +## API 接口 + +| 方法 | 路径 | 说明 | 认证 | +|-----|------|------|------| +| GET | /api/user/profile | 获取用户资料 | 是 | +| PUT | /api/user/profile | 更新用户资料 | 是 | +| GET | /api/user/health-profile | 获取健康档案 | 是 | +| PUT | /api/user/health-profile | 更新健康档案 | 是 | +| GET | /api/user/lifestyle | 获取生活习惯 | 是 | +| PUT | /api/user/lifestyle | 更新生活习惯 | 是 | + +--- + +## 健康档案数据结构 + +```typescript +interface FullHealthProfile { + basic_info: { + name: string; + gender: string; + height: number; + weight: number; + bmi: number; + blood_type: string; + }; + lifestyle: { + sleep_time: string; + wake_time: string; + exercise_frequency: string; + }; + medical_history: Array<{ disease_name: string; status: string }>; + family_history: Array<{ relation: string; disease_name: string }>; + allergy_records: Array<{ allergen: string; severity: string }>; + constitution: { + primary_type: string; + primary_name: string; + assessed_at: string; + }; +} +``` + +--- + +## 验收标准 + +- [ ] 获取用户资料正常 +- [ ] 获取完整健康档案正常 +- [ ] 更新资料和生活习惯正常 +- [ ] 所有 API 接口可正常调用 +- [ ] 服务器启动日志完整 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +完成后进入 `04-后端开发/08-保健品商城关联模块.md` diff --git a/TODOS/04-后端开发/08-保健品商城关联模块.md b/TODOS/04-后端开发/08-保健品商城关联模块.md new file mode 100644 index 0000000..76172d9 --- /dev/null +++ b/TODOS/04-后端开发/08-保健品商城关联模块.md @@ -0,0 +1,92 @@ +# 08-保健品商城关联模块 + +## 目标 + +实现保健品数据管理和 AI 问诊时的产品推荐功能,关联外部保健品商城。 + +--- + +## 前置要求 + +- AI 对话模块已完成 +- 体质辨识模块已完成 + +--- + +## 实施步骤 + +详细代码请参考原文档 `02-后端开发/08-保健品商城关联模块.md` + +### 主要任务 + +1. 创建产品数据模型 `internal/model/product.go` + - Product 产品表 + - ConstitutionProduct 体质-产品关联 + - SymptomProduct 症状-产品关联 + +2. 创建种子数据 `internal/database/seed_products.go` + - 36 条模拟产品数据 + - 体质-产品关联 + - 症状-产品关联 + +3. 创建产品 Repository `internal/repository/impl/product.go` + +4. 更新对话 Service,添加产品推荐 + +5. 创建产品 Handler 并更新路由 + +6. 更新主程序初始化产品数据 + +--- + +## API 接口 + +| 方法 | 路径 | 说明 | 认证 | +|-----|------|------|------| +| GET | /api/products | 获取产品列表 | 否 | +| GET | /api/products/:id | 获取产品详情 | 否 | +| GET | /api/products/recommend | 获取推荐产品 | 是 | +| GET | /api/products/search | 搜索产品 | 否 | + +--- + +## 模拟数据统计 + +| 分类 | 数量 | 说明 | +|------|------|------| +| 体质调养类 | 20 | 补气、温阳、滋阴、祛湿、活血、理气、抗敏、综合 | +| 中老年常见类 | 16 | 心脑血管、骨关节、血糖、助眠、健脑、润肠、护眼、免疫 | +| **总计** | **36** | - | + +--- + +## 产品推荐逻辑 + +``` +1. 根据用户体质类型获取推荐产品 +2. 根据对话中的症状关键词匹配产品 +3. 综合推荐,去重后返回 +``` + +--- + +## 验收标准 + +- [ ] 产品列表正常显示 +- [ ] 按分类筛选正常 +- [ ] 根据体质推荐产品正常 +- [ ] 根据症状搜索产品正常 +- [ ] AI 回答中包含产品推荐链接 +- [ ] 种子数据正确初始化 + +--- + +## 预计耗时 + +30-40 分钟 + +--- + +## 下一步 + +后端开发全部完成!进入 `05-前后端对接/01-API服务对接.md` diff --git a/TODOS/05-前后端对接/01-API服务对接.md b/TODOS/05-前后端对接/01-API服务对接.md new file mode 100644 index 0000000..1743657 --- /dev/null +++ b/TODOS/05-前后端对接/01-API服务对接.md @@ -0,0 +1,299 @@ +# 01-API 服务对接 + +## 目标 + +将前端原型从模拟数据切换到真实后端 API。 + +--- + +## 前置要求 + +- APP/Web 原型开发完成 +- 后端 API 服务运行中 + +--- + +## 对接步骤概览 + +### 1. 配置 API 基础地址 + +**APP (React Native):** + +创建 `app/src/config/api.ts`: +```typescript +// 开发环境配置 +export const API_BASE_URL = __DEV__ + ? 'http://localhost:8080/api' + : 'https://api.yourservice.com/api'; + +export const TIMEOUT = 30000; +``` + +**Web (Vue):** + +创建 `web/src/config/api.ts`: +```typescript +export const API_BASE_URL = import.meta.env.DEV + ? 'http://localhost:8080/api' + : 'https://api.yourservice.com/api'; +``` + +--- + +### 2. 创建 HTTP 请求封装 + +**APP (React Native):** + +创建 `app/src/api/client.ts`: +```typescript +import AsyncStorage from '@react-native-async-storage/async-storage'; +import { API_BASE_URL, TIMEOUT } from '../config/api'; + +interface RequestOptions { + method?: 'GET' | 'POST' | 'PUT' | 'DELETE'; + body?: any; + headers?: Record; +} + +export async function apiRequest( + endpoint: string, + options: RequestOptions = {} +): Promise { + const token = await AsyncStorage.getItem('token'); + + const headers: Record = { + 'Content-Type': 'application/json', + ...options.headers, + }; + + if (token) { + headers['Authorization'] = `Bearer ${token}`; + } + + const response = await fetch(`${API_BASE_URL}${endpoint}`, { + method: options.method || 'GET', + headers, + body: options.body ? JSON.stringify(options.body) : undefined, + }); + + const data = await response.json(); + + if (data.code !== 0) { + throw new Error(data.message || '请求失败'); + } + + return data.data; +} +``` + +**Web (Vue):** + +创建 `web/src/api/client.ts`: +```typescript +import axios from 'axios'; +import { ElMessage } from 'element-plus'; +import { API_BASE_URL } from '../config/api'; +import { useAuthStore } from '../stores/auth'; +import router from '../router'; + +const client = axios.create({ + baseURL: API_BASE_URL, + timeout: 30000, +}); + +// 请求拦截器 +client.interceptors.request.use(config => { + const authStore = useAuthStore(); + if (authStore.token) { + config.headers.Authorization = `Bearer ${authStore.token}`; + } + return config; +}); + +// 响应拦截器 +client.interceptors.response.use( + response => { + const { code, message, data } = response.data; + if (code !== 0) { + ElMessage.error(message || '请求失败'); + return Promise.reject(new Error(message)); + } + return data; + }, + error => { + if (error.response?.status === 401) { + const authStore = useAuthStore(); + authStore.logout(); + router.push('/login'); + } + ElMessage.error(error.message || '网络错误'); + return Promise.reject(error); + } +); + +export default client; +``` + +--- + +### 3. 创建 API 模块 + +创建各模块 API 文件: + +**认证 API (`api/auth.ts`):** +```typescript +import client from './client'; + +export const authApi = { + login: (phone: string, password: string) => + client.post('/auth/login', { phone, password }), + + register: (phone: string, password: string, nickname?: string) => + client.post('/auth/register', { phone, password, nickname }), +}; +``` + +**体质 API (`api/constitution.ts`):** +```typescript +import client from './client'; + +export const constitutionApi = { + getQuestions: () => + client.get('/constitution/questions'), + + submit: (answers: { question_id: number; score: number }[]) => + client.post('/constitution/submit', { answers }), + + getResult: () => + client.get('/constitution/result'), + + getHistory: () => + client.get('/constitution/history'), +}; +``` + +**对话 API (`api/conversation.ts`):** +```typescript +import client from './client'; + +export const conversationApi = { + getList: () => + client.get('/conversations'), + + create: (title?: string) => + client.post('/conversations', { title }), + + getDetail: (id: string) => + client.get(`/conversations/${id}`), + + delete: (id: string) => + client.delete(`/conversations/${id}`), + + sendMessage: (id: string, content: string) => + client.post(`/conversations/${id}/messages`, { content }), +}; +``` + +**用户 API (`api/user.ts`):** +```typescript +import client from './client'; + +export const userApi = { + getProfile: () => + client.get('/user/profile'), + + updateProfile: (data: { nickname?: string; avatar?: string }) => + client.put('/user/profile', data), + + getHealthProfile: () => + client.get('/user/health-profile'), +}; +``` + +**产品 API (`api/product.ts`):** +```typescript +import client from './client'; + +export const productApi = { + getList: (category?: string) => + client.get('/products', { params: { category } }), + + getDetail: (id: number) => + client.get(`/products/${id}`), + + getRecommend: () => + client.get('/products/recommend'), + + search: (keyword: string) => + client.get('/products/search', { params: { keyword } }), +}; +``` + +--- + +### 4. 修改 Store 使用真实 API + +**示例:修改认证 Store:** + +```typescript +// stores/auth.ts (修改前 - 使用模拟数据) +function login(userData: User) { + user.value = userData; + token.value = 'mock-token-' + userData.id; +} + +// stores/auth.ts (修改后 - 使用真实 API) +import { authApi } from '@/api/auth'; + +async function login(phone: string, password: string) { + const result = await authApi.login(phone, password); + user.value = { + id: result.user_id, + nickname: result.nickname, + phone, + surveyCompleted: result.survey_completed, + }; + token.value = result.token; + localStorage.setItem('token', result.token); +} +``` + +--- + +### 5. 对接清单 + +| 功能模块 | 模拟数据 | 真实 API | 说明 | +|---------|---------|---------|------| +| 用户登录 | `mockLogin()` | `POST /auth/login` | 验证码改密码登录 | +| 用户注册 | - | `POST /auth/register` | 新增功能 | +| 体质问卷 | `constitutionQuestions` | `GET /constitution/questions` | - | +| 体质提交 | `calculateConstitution()` | `POST /constitution/submit` | 后端计算 | +| 体质结果 | `useConstitutionStore` | `GET /constitution/result` | - | +| 对话列表 | `useChatStore` | `GET /conversations` | - | +| 发送消息 | `mockAIReply()` | `POST /conversations/:id/messages` | AI 真实回复 | +| 产品推荐 | `mockProducts` | `GET /products/recommend` | - | +| 用户信息 | `useAuthStore` | `GET /user/profile` | - | +| 健康档案 | `mockProfile` | `GET /user/health-profile` | - | + +--- + +## 验收标准 + +- [ ] 登录接口对接成功 +- [ ] 体质问卷从后端获取 +- [ ] 体质结果由后端计算 +- [ ] AI 对话调用真实接口 +- [ ] Token 认证正常工作 +- [ ] 错误处理正常 + +--- + +## 预计耗时 + +60-90 分钟 + +--- + +## 下一步 + +完成后进入 `05-前后端对接/02-联调测试.md` diff --git a/TODOS/05-前后端对接/02-联调测试.md b/TODOS/05-前后端对接/02-联调测试.md new file mode 100644 index 0000000..9e37536 --- /dev/null +++ b/TODOS/05-前后端对接/02-联调测试.md @@ -0,0 +1,156 @@ +# 02-联调测试 + +## 目标 + +完成前后端联调测试,确保所有功能正常运行。 + +--- + +## 前置要求 + +- API 服务对接完成 +- 后端服务运行中 + +--- + +## 测试清单 + +### 1. 用户认证测试 + +| 测试项 | 操作 | 预期结果 | +|-------|------|---------| +| 注册 | 输入新手机号和密码 | 注册成功,返回 Token | +| 登录 | 输入正确手机号和密码 | 登录成功,跳转首页 | +| 登录失败 | 输入错误密码 | 显示"密码错误"提示 | +| Token 过期 | 使用过期 Token | 自动跳转登录页 | + +### 2. 体质辨识测试 + +| 测试项 | 操作 | 预期结果 | +|-------|------|---------| +| 获取问卷 | 进入体质测试页 | 显示 60+ 题目 | +| 提交问卷 | 完成所有题目并提交 | 显示体质分析结果 | +| 查看结果 | 进入体质结果页 | 显示雷达图和建议 | +| 历史记录 | 查看测评历史 | 显示历史测评列表 | + +### 3. AI 对话测试 + +| 测试项 | 操作 | 预期结果 | +|-------|------|---------| +| 创建对话 | 点击新建对话 | 创建成功 | +| 发送消息 | 输入健康问题 | AI 返回回复 | +| 体质相关 | 询问体质调养 | 回复包含用户体质建议 | +| 产品推荐 | 询问调养产品 | 回复包含产品链接 | +| 紧急情况 | 描述紧急症状 | AI 建议立即就医 | +| 删除对话 | 删除对话 | 对话删除成功 | + +### 4. 用户信息测试 + +| 测试项 | 操作 | 预期结果 | +|-------|------|---------| +| 查看资料 | 进入个人中心 | 显示用户信息 | +| 更新昵称 | 修改昵称 | 更新成功 | +| 健康档案 | 查看健康档案 | 显示完整档案 | + +### 5. 产品推荐测试 + +| 测试项 | 操作 | 预期结果 | +|-------|------|---------| +| 产品列表 | 查看产品列表 | 显示所有产品 | +| 分类筛选 | 选择分类 | 显示对应分类产品 | +| 个性推荐 | 查看推荐产品 | 根据体质推荐 | +| 产品搜索 | 搜索关键词 | 显示匹配产品 | + +--- + +## 测试流程 + +### 完整流程测试 + +``` +1. 新用户注册 + ↓ +2. 完成健康调查 + ↓ +3. 进行体质测试 + ↓ +4. 查看体质结果 + ↓ +5. 开始 AI 对话 + ↓ +6. 获取产品推荐 + ↓ +7. 查看健康档案 + ↓ +8. 退出登录 +``` + +--- + +## 常见问题排查 + +### 网络错误 + +``` +症状: 请求失败,网络错误 +排查: +1. 检查后端服务是否运行: curl http://localhost:8080/health +2. 检查 API 地址配置是否正确 +3. 检查 CORS 配置 +``` + +### 认证错误 + +``` +症状: 401 Unauthorized +排查: +1. 检查 Token 是否正确存储 +2. 检查 Token 是否过期 +3. 检查 Authorization Header 格式 +``` + +### 数据错误 + +``` +症状: 返回数据格式不对 +排查: +1. 检查后端接口返回格式 +2. 检查前端类型定义 +3. 查看控制台 Network 响应 +``` + +--- + +## 性能测试 + +| 测试项 | 目标 | 方法 | +|-------|------|------| +| 首页加载 | < 2s | Chrome DevTools | +| API 响应 | < 500ms | Network 面板 | +| AI 回复 | < 5s | 计时器 | + +--- + +## 验收标准 + +- [ ] 所有功能测试通过 +- [ ] 完整流程无报错 +- [ ] 性能指标达标 +- [ ] 错误处理正常 + +--- + +## 预计耗时 + +60-90 分钟 + +--- + +## 完成 + +恭喜!项目开发完成! + +可选下一步: +- 部署上线 +- 性能优化 +- 功能迭代 diff --git a/agents.md b/agents.md new file mode 100644 index 0000000..d204f9e --- /dev/null +++ b/agents.md @@ -0,0 +1,4 @@ +# Agents 开发规范 + +- 涉及到任何代码修改,记得更新此文档和设计文档 +- diff --git a/app b/app new file mode 160000 index 0000000..c44696e --- /dev/null +++ b/app @@ -0,0 +1 @@ +Subproject commit c44696ea7262b895945c31d230f4db0eaae9109a diff --git a/design.md b/design.md new file mode 100644 index 0000000..d5b6e9e --- /dev/null +++ b/design.md @@ -0,0 +1,1049 @@ +# 健康 AI 问询助手项目设计方案 + +## 一、项目概述 + +健康 AI 问询助手是一个智能健康咨询平台,用户可通过 WEB 端和移动 APP 进行健康相关问题的咨询,AI 将基于医学知识库提供专业解答和健康建议。 + +--- + +## 二、技术栈推荐 + +### 前端技术 + +| 平台 | 技术选型 | 理由 | +| ----------- | ----------------------------------------------- | -------------------------------------------- | +| WEB 端 | **Vue 3 + TypeScript + Vite** | 国内生态好,学习曲线平缓,开发效率高 | +| APP 端 | **React Native + TypeScript** | 跨平台原生体验,性能优秀,生态成熟 | +| Web UI 框架 | **Element Plus** | 成熟稳定,组件丰富 | +| App UI 框架 | **React Native Paper / NativeBase** | Material Design 风格,组件完善 | +| 状态管理 | **Pinia (Web) / Zustand (App)** | 轻量高效,TypeScript 支持好 | +| 导航 | **Vue Router (Web) / React Navigation (App)** | 各平台主流导航方案 | + +### 后端技术 + +| 组件 | 技术选型 | 理由 | +| -------- | ------------------------- | ------------------------------------------ | +| 语言 | **Go 1.21+** | 高性能,并发能力强,部署简单 | +| Web 框架 | **Gin** | 轻量高效,生态成熟,中间件丰富 | +| ORM | **GORM** | 功能完善,支持自动迁移,多数据库兼容 | +| 数据库 | **SQLite(默认)** | 轻量简单,零配置,适合演示和开发 | +| 配置管理 | **Viper** | 支持多种配置格式,环境变量绑定 | +| 日志 | **Zap** | 高性能结构化日志 | +| AI 接口 | **OpenAI API / 通义千问** | 成熟稳定,效果好 | + +### 数据库扩展方案 + +系统采用 **Repository 模式** + **GORM 抽象层**,支持通过配置切换数据库: + +| 数据库 | 适用场景 | 切换方式 | +| ---------- | ---------------- | -------------------- | +| SQLite | 开发/演示/小规模 | 默认,零配置 | +| PostgreSQL | 生产环境推荐 | 修改配置文件即可 | +| MySQL | 已有MySQL环境 | 修改配置文件即可 | + +**配置示例 (config.yaml):** + +```yaml +database: + driver: sqlite # 可选: sqlite, postgres, mysql + # SQLite 配置 + sqlite: + path: ./data/health.db + # PostgreSQL 配置(需要时启用) + postgres: + host: localhost + port: 5432 + user: postgres + password: + dbname: health_app + # MySQL 配置(需要时启用) + mysql: + host: localhost + port: 3306 + user: root + password: + dbname: health_app + +# AI 服务配置 +ai: + provider: aliyun # 可选: openai, aliyun (通义千问) + max_history_messages: 10 # 发送给AI的最大历史消息数 + max_tokens: 2000 # 最大返回 token 数 + + # OpenAI 配置 + openai: + api_key: "" # OpenAI API Key + base_url: "https://api.openai.com/v1" + model: "gpt-3.5-turbo" # 可选: gpt-3.5-turbo, gpt-4 + + # 阿里云通义千问配置 + aliyun: + api_key: "" # 阿里云 DashScope API Key + model: "qwen-turbo" # 可选: qwen-turbo, qwen-plus, qwen-max +``` + +**AI 服务说明:** + +| 服务商 | Provider | 模型选项 | API Key 获取 | +|--------|----------|----------|--------------| +| OpenAI | `openai` | gpt-3.5-turbo, gpt-4 | https://platform.openai.com/api-keys | +| 阿里云通义千问 | `aliyun` | qwen-turbo, qwen-plus, qwen-max | https://dashscope.console.aliyun.com/apiKey | + +**架构设计要点:** +- 使用 GORM 统一 ORM 层,SQL 语法自动适配 +- Repository 接口隔离数据访问逻辑 +- 避免使用特定数据库的专有语法 +- 数据库迁移脚本兼容多种数据库 + +--- + +## 三、系统架构 + +```mermaid +flowchart TB + subgraph client [客户端] + Web[Web端_Vue3] + App[App端_ReactNative] + end + + subgraph backend [后端服务_Go_Gin] + API[Gin服务] + Auth[认证模块] + Survey[健康调查模块] + Constitution[体质辨识模块] + AI[AI对话模块] + Health[健康档案模块] + end + + subgraph storage [数据存储] + DB[(SQLite)] + end + + subgraph external [外部服务] + LLM[AI大模型API] + end + + Web --> API + App --> API + API --> Auth + API --> Survey + API --> Constitution + API --> AI + API --> Health + Auth --> DB + Survey --> DB + Constitution --> DB + AI --> LLM + AI -.->|获取体质信息| Constitution + Health --> DB +``` + +### 新用户完整流程 + +```mermaid +flowchart LR + A[用户注册] --> B[基础信息填写] + B --> C[生活习惯调查] + C --> D[健康状况调查] + D --> E[体质问卷测评] + E --> F[体质结果展示] + F --> G[AI问诊功能] + + G -->|定期提醒| H[体质重新测评] + H --> F +``` + +--- + +## 四、功能模块设计 + +### 4.1 用户模块 + +- 用户注册/登录(手机号/邮箱) +- 个人资料管理(基本信息、健康档案) +- 第三方登录(微信) +- JWT Token 认证 + +### 4.2 新用户健康调查(核心功能) + +新用户注册后必须完成健康调查问卷,系统根据问卷结果判断用户体质类型。 + +#### 4.2.1 基础信息采集 + +- **个人基本信息** + - 姓名、性别、出生日期 + - 身高、体重(自动计算 BMI) + - 职业、婚姻状况 + - 所在地区 +- **生活习惯调查** + - 作息时间(入睡时间、起床时间、睡眠质量) + - 饮食习惯(三餐规律、饮食偏好、饮水量) + - 运动习惯(运动频率、运动类型、运动时长) + - 烟酒情况(是否吸烟、饮酒频率) +- **健康状况调查** + - 既往病史(慢性病、手术史) + - 家族病史(糖尿病、高血压、心脏病、癌症等) + - 过敏史(药物过敏、食物过敏、其他过敏) + - 当前用药情况 + +#### 4.2.2 中医体质辨识问卷 + +基于《中医体质分类与判定》标准,包含 60+道问题,涵盖九种体质: + +| 体质类型 | 特征描述 | 常见表现 | +| -------- | ------------ | ------------------------------ | +| 平和质 | 阴阳气血调和 | 体态适中,面色红润,精力充沛 | +| 气虚质 | 元气不足 | 易疲劳,气短懒言,易出汗 | +| 阳虚质 | 阳气不足 | 畏寒怕冷,手脚冰凉,喜热饮 | +| 阴虚质 | 阴液亏少 | 口燥咽干,手足心热,盗汗 | +| 痰湿质 | 痰湿凝聚 | 形体肥胖,腹部肥满,痰多 | +| 湿热质 | 湿热内蕴 | 面垢油光,口苦口干,大便黏滞 | +| 血瘀质 | 血行不畅 | 肤色晦暗,易生斑点,健忘 | +| 气郁质 | 气机郁滞 | 情绪低落,多愁善感,胸闷 | +| 特禀质 | 先天失常 | 过敏体质,易打喷嚏,皮肤易过敏 | + +#### 4.2.3 体质判定算法 + +``` +原始分 = 各条目得分之和 +转化分 = (原始分 - 条目数) / (条目数 × 4) × 100 + +判定标准: +- 平和质:转化分 ≥ 60分,其他8种体质转化分均 < 30分 +- 偏颇体质:转化分 ≥ 40分为"是",30-39分为"倾向是" +- 可存在多种偏颇体质(复合体质) +``` + +#### 4.2.4 调查结果展示 + +- 体质雷达图(九种体质得分可视化) +- 主要体质类型及特征说明 +- 个性化健康建议 + - 饮食调养建议 + - 起居调养建议 + - 运动调养建议 + - 情志调养建议 + - 易发疾病风险提示 + +### 4.3 AI 问诊模块 + +- 多轮对话支持 +- **结合用户体质进行个性化回答** +- 对话历史记录 +- 智能追问(症状细化) +- 健康建议生成(基于体质类型) +- 免责声明展示 + +#### 4.3.1 AI Agent 系统提示词 + +``` +# 角色定义 +你是"健康AI助手",一个专业的健康咨询助理。你基于中医体质辨识理论,为用户提供个性化的健康建议。 + +## 重要声明 +- 你不是专业医师,仅提供健康咨询和养生建议 +- 你的建议不能替代医生的诊断和治疗 +- 遇到以下情况,必须立即建议用户就医: + * 胸痛、呼吸困难、剧烈头痛 + * 高烧不退(超过39°C持续24小时) + * 意识模糊、晕厥 + * 严重外伤、大量出血 + * 持续剧烈腹痛 + * 疑似中风症状(口眼歪斜、肢体无力、言语不清) + * 任何可能危及生命的紧急状况 + +## 用户信息 +{{user_profile}} + +## 用户体质 +{{constitution_info}} + +## 用药历史 +{{medication_history}} + +## 已购买保健品 +{{purchase_history}} + +## 回答原则 + +### 1. 简洁原则 +- 回答控制在200字以内 +- 使用简短句子,避免冗长解释 +- 重点突出,条理清晰 + +### 2. 体质结合原则 +根据用户体质特点给出针对性建议: +- 气虚质:建议补气食物,避免过度劳累 +- 阳虚质:建议温补,避免寒凉 +- 阴虚质:建议滋阴,避免辛辣燥热 +- 痰湿质:建议祛湿,控制饮食 +- 湿热质:建议清热利湿,饮食清淡 +- 血瘀质:建议活血化瘀,适当运动 +- 气郁质:建议疏肝理气,调节情绪 +- 特禀质:注意过敏原,增强体质 +- 平和质:维持现状,均衡养生 + +### 3. 用药建议原则 +- 优先推荐非处方中成药或食疗方案 +- 结合用户用药历史,避免重复或冲突 +- 注明"建议咨询药师后使用" +- 有过敏史时特别提醒 + +### 4. 安全原则 +- 不推荐处方药 +- 不做疾病诊断 +- 症状严重时直接建议就医 +- 涉及儿童、孕妇、老人时更加谨慎 + +### 5. 产品推荐原则 +当回答涉及调养建议时,根据以下规则推荐保健品: +- 根据用户体质匹配相关产品 +- 根据症状关键词匹配产品 +- 最多推荐2个产品 +- 保健品不能替代药物治疗,仅作日常调养参考 +- 必须包含商城链接 + +## 可推荐产品 +{{product_list}} + +## 回答格式 + +【情况分析】一句话概括 +【建议】 +1. 具体建议1 +2. 具体建议2 +【用药参考】(如适用) +- 药品名称:用法用量(建议咨询药师) +【推荐调养产品】(根据体质/症状匹配,非必须) +- 产品名称 ¥价格 [点击购买](商城链接) +【提醒】注意事项或就医建议 +``` + +#### 4.3.2 动态变量说明 + +| 变量 | 说明 | 数据来源 | +|------|------|----------| +| `{{user_profile}}` | 用户基本信息(性别、年龄、BMI) | HealthProfile 表 | +| `{{constitution_info}}` | 体质类型和特征描述 | ConstitutionAssessment 表 | +| `{{medication_history}}` | 用药历史记录 | MedicalHistory 表 | +| `{{purchase_history}}` | 保健品购买历史(商城同步) | PurchaseHistory 表 | +| `{{product_list}}` | 可推荐产品列表(按体质筛选) | Product 表 | + +#### 4.3.3 对话历史管理 + +- 每次发送给 AI 的历史消息数量限制为 `max_history_messages`(默认10条) +- 超出限制时,保留最近的消息 +- 用户消息和 AI 回复均持久化存储到数据库 + +### 4.4 健康档案模块 + +- 基础健康信息(年龄、性别、身高、体重、血型、BMI) +- **体质辨识结果**(支持重新测评) +- **体质变化追踪**(定期重测对比) +- 既往病史记录 +- 过敏史记录 +- 用药记录 +- 体检报告上传 + +### 4.5 系统功能 + +- 消息通知 +- **体质重测提醒**(建议每 3-6 个月重测) +- 反馈建议 +- 使用帮助 +- 隐私政策 + +--- + +## 五、数据模型设计 + +```mermaid +erDiagram + User ||--o{ Conversation : has + User ||--o| HealthProfile : has + User ||--o{ ConstitutionAssessment : takes + User ||--o{ PurchaseHistory : has + Conversation ||--|{ Message : contains + HealthProfile ||--o{ MedicalHistory : has + HealthProfile ||--o{ AllergyRecord : has + HealthProfile ||--o{ FamilyHistory : has + ConstitutionAssessment ||--|{ AssessmentAnswer : contains + + User { + int id PK + string phone + string email + string password_hash + string nickname + string avatar + boolean survey_completed + datetime created_at + } + + HealthProfile { + int id PK + int user_id FK + string name + date birth_date + string gender + float height + float weight + float bmi + string blood_type + string occupation + string marital_status + string region + } + + LifestyleInfo { + int id PK + int user_id FK + time sleep_time + time wake_time + string sleep_quality + string meal_regularity + string diet_preference + int daily_water_ml + string exercise_frequency + string exercise_type + int exercise_duration_min + boolean is_smoker + string alcohol_frequency + } + + ConstitutionAssessment { + int id PK + int user_id FK + datetime assessed_at + json scores + string primary_constitution + json secondary_constitutions + json recommendations + } + + AssessmentAnswer { + int id PK + int assessment_id FK + int question_id + int score + } + + MedicalHistory { + int id PK + int health_profile_id FK + string disease_name + string disease_type + date diagnosed_date + string status + text notes + } + + FamilyHistory { + int id PK + int health_profile_id FK + string relation + string disease_name + text notes + } + + AllergyRecord { + int id PK + int health_profile_id FK + string allergy_type + string allergen + string severity + text reaction_desc + } + + Conversation { + int id PK + int user_id FK + string title + datetime created_at + datetime updated_at + } + + Message { + int id PK + int conversation_id FK + string role + text content + datetime created_at + } + + PurchaseHistory { + int id PK + int user_id FK + string order_no + int product_id + string product_name + datetime purchased_at + string source + } +``` + +### 购买历史表(PurchaseHistory) + +> 由保健品商城同步,用于AI问诊时参考用户已购买的保健品 + +| 字段 | 类型 | 说明 | +| ------------ | ----------- | ----------------------- | +| id | int | 记录 ID | +| user_id | int | 用户 ID | +| order_no | string(50) | 商城订单号 | +| product_id | int | 产品 ID | +| product_name | string(100) | 产品名称 | +| purchased_at | datetime | 购买时间 | +| source | string(20) | 来源(mall=保健品商城) | + +### 体质问卷题目表(QuestionBank) + +| 字段 | 类型 | 说明 | +| ----------------- | ------ | --------------------------------------------- | +| id | int | 题目 ID | +| constitution_type | string | 所属体质类型 | +| question_text | string | 题目内容 | +| options | json | 选项(从不/很少/有时/经常/总是,对应 1-5 分) | +| order_num | int | 显示顺序 | + +### 保健品商城关联表 + +> 用于 AI 问诊时推荐相关保健品,链接到外部商城系统 + +**保健品表(Product)** + +| 字段 | 类型 | 说明 | +| ----------- | ------------- | ---------------------------- | +| id | int | 产品 ID | +| name | string(100) | 产品名称 | +| category | string(50) | 分类 | +| description | text | 产品描述 | +| efficacy | text | 功效说明 | +| suitable | text | 适用人群/体质 | +| price | decimal(10,2) | 价格 | +| image_url | string(255) | 产品图片 | +| mall_url | string(255) | 商城链接 | +| is_active | boolean | 是否上架 | + +**体质-产品关联表(ConstitutionProduct)** + +| 字段 | 类型 | 说明 | +| ----------------- | ---------- | ------------ | +| id | int | 关联 ID | +| constitution_type | string(20) | 体质类型 | +| product_id | int | 产品 ID | +| priority | int | 推荐优先级 | +| reason | string(200)| 推荐理由 | + +**症状-产品关联表(SymptomProduct)** + +| 字段 | 类型 | 说明 | +| --------- | ---------- | ---------------- | +| id | int | 关联 ID | +| keyword | string(50) | 症状关键词 | +| product_id| int | 产品 ID | +| priority | int | 推荐优先级 | + +**产品分类说明** + +| 分类 | 适用体质/问题 | 代表产品 | +|------|---------------|----------| +| 补气类 | 气虚质 | 黄芪精、人参蜂王浆、西洋参 | +| 温阳类 | 阳虚质 | 鹿茸胶囊、桂圆红枣茶 | +| 滋阴类 | 阴虚质 | 枸杞原浆、燕窝、石斛 | +| 祛湿类 | 痰湿质、湿热质 | 红豆薏米粉、茯苓糕、祛湿茶 | +| 活血类 | 血瘀质 | 三七粉、丹参片 | +| 理气类 | 气郁质 | 玫瑰花茶、陈皮普洱茶 | +| 抗敏类 | 特禀质 | 益生菌、蜂胶 | +| 心脑血管类 | 高血压、高血脂 | 深海鱼油、纳豆激酶、卵磷脂 | +| 骨关节类 | 骨质疏松、关节痛 | 氨糖软骨素、钙片、骨胶原 | +| 血糖调节类 | 血糖偏高 | 苦瓜素、桑叶茶 | +| 助眠安神类 | 失眠 | 褪黑素、酸枣仁膏 | +| 健脑益智类 | 记忆力减退 | 银杏叶片、DHA | +| 润肠通便类 | 便秘 | 膳食纤维、酵素 | +| 护眼明目类 | 视力下降 | 叶黄素、蓝莓提取物 | +| 增强免疫类 | 免疫力低 | 灵芝孢子粉、蛋白粉 | + +--- + +## 六、API 接口设计 + +### 认证接口 + +- `POST /api/auth/register` - 用户注册 +- `POST /api/auth/login` - 用户登录 +- `POST /api/auth/refresh` - 刷新 Token + +### 用户接口 + +- `GET /api/user/profile` - 获取用户信息 +- `PUT /api/user/profile` - 更新用户信息 +- `GET /api/user/health-profile` - 获取健康档案 +- `PUT /api/user/health-profile` - 更新健康档案 +- `GET /api/user/lifestyle` - 获取生活习惯信息 +- `PUT /api/user/lifestyle` - 更新生活习惯信息 + +### 健康调查接口(新用户必填) + +- `GET /api/survey/status` - 获取调查完成状态 +- `POST /api/survey/basic-info` - 提交基础信息 +- `POST /api/survey/lifestyle` - 提交生活习惯 +- `POST /api/survey/medical-history` - 提交病史信息 +- `POST /api/survey/family-history` - 提交家族病史 +- `POST /api/survey/allergy` - 提交过敏信息 + +### 体质辨识接口 + +- `GET /api/constitution/questions` - 获取体质问卷题目 +- `POST /api/constitution/submit` - 提交问卷答案并计算结果 +- `GET /api/constitution/result` - 获取最新体质辨识结果 +- `GET /api/constitution/history` - 获取体质测评历史(用于追踪变化) +- `GET /api/constitution/recommendations` - 获取体质调养建议 + +### 对话接口 + +- `GET /api/conversations` - 获取对话列表 +- `POST /api/conversations` - 创建新对话 +- `GET /api/conversations/{id}` - 获取对话详情 +- `DELETE /api/conversations/{id}` - 删除对话 +- `POST /api/conversations/{id}/messages` - 发送消息(流式响应,AI 会结合体质信息回答) + +### 产品接口(保健品商城关联) + +- `GET /api/products` - 获取产品列表(支持分类筛选) +- `GET /api/products/{id}` - 获取产品详情 +- `GET /api/products/recommend` - 根据用户体质获取推荐产品 +- `GET /api/products/search?keyword=xxx` - 根据症状关键词搜索产品 + +### 商城数据同步接口 + +- `POST /api/sync/purchase` - 接收商城购买记录(用于AI问诊参考) + +--- + +## 七、与保健品商城的集成 + +### 7.1 接收商城跳转 + +商城用户点击"AI咨询"按钮后跳转到本系统,需处理以下场景: + +| 跳转参数 | 处理逻辑 | +|----------|----------| +| `source=mall` | 标识来源为商城 | +| `product_id` | 自动创建对话并询问该产品是否适合用户 | +| `product_name` | 产品名称,用于生成问题 | + +**前端处理逻辑:** + +```typescript +// Web: views/Chat.vue +// APP: screens/Chat.tsx + +onMounted(() => { + const query = route.query + + if (query.source === 'mall' && query.product_id) { + // 从商城跳转,自动发起产品咨询 + const productName = query.product_name || '该产品' + const autoMessage = `我想了解【${productName}】这款保健品是否适合我的体质?` + + // 自动发送消息 + handleSendMessage(autoMessage) + } +}) +``` + +### 7.2 跳转到商城 + +在AI对话回答和体质结果页提供商城跳转入口: + +```typescript +// utils/mall.ts +const MALL_BASE_URL = import.meta.env.VITE_MALL_URL || 'http://localhost:5174' + +// 跳转到商城产品详情 +export function jumpToMallProduct(productId: number) { + window.location.href = `${MALL_BASE_URL}/product/${productId}?source=health-ai` +} + +// 跳转到商城体质推荐列表 +export function jumpToMallRecommend(constitutionType: string) { + window.location.href = `${MALL_BASE_URL}/recommend?constitution=${constitutionType}&source=health-ai` +} +``` + +### 7.3 购买记录同步 + +接收商城同步的购买记录,用于AI问诊时参考用户已购买的保健品: + +```go +// POST /api/sync/purchase +type PurchaseSyncRequest struct { + UserID uint `json:"user_id"` + OrderNo string `json:"order_no"` + Products []struct { + ID uint `json:"id"` + Name string `json:"name"` + } `json:"products"` + CreatedAt time.Time `json:"created_at"` +} + +func HandlePurchaseSync(c *gin.Context) { + // 验证同步密钥 + // 存储到用户购买历史表 + // AI问诊时可获取:"用户近期购买了:氨糖软骨素、深海鱼油" +} +``` + +--- + +## 八、项目目录结构 + +``` +healthApps/ +├── web/ # Web前端 (Vue 3) +│ ├── src/ +│ │ ├── api/ # API请求 +│ │ ├── components/ # 公共组件 +│ │ ├── views/ # 页面 +│ │ ├── stores/ # Pinia状态管理 +│ │ ├── router/ # 路由配置 +│ │ └── utils/ # 工具函数 +│ └── package.json +│ +├── app/ # 移动端 (React Native) +│ ├── src/ +│ │ ├── api/ # API请求 +│ │ ├── components/ # 公共组件 +│ │ ├── screens/ # 页面/屏幕 +│ │ ├── navigation/ # 导航配置 +│ │ ├── stores/ # Zustand状态管理 +│ │ ├── hooks/ # 自定义Hooks +│ │ └── utils/ # 工具函数 +│ ├── android/ # Android原生代码 +│ ├── ios/ # iOS原生代码 +│ ├── app.json +│ └── package.json +│ +├── server/ # 后端服务 (Go + Gin) +│ ├── cmd/ +│ │ └── server/ +│ │ └── main.go # 程序入口 +│ ├── internal/ +│ │ ├── api/ # API路由和Handler +│ │ │ ├── handler/ # 请求处理器 +│ │ │ ├── middleware/ # 中间件 +│ │ │ └── router.go # 路由配置 +│ │ ├── model/ # 数据模型(GORM兼容) +│ │ ├── service/ # 业务逻辑 +│ │ ├── repository/ # 数据访问层(接口+实现) +│ │ │ ├── interface.go # Repository接口定义 +│ │ │ └── impl/ # 具体实现 +│ │ ├── config/ # 配置管理 +│ │ └── database/ # 数据库初始化(多驱动支持) +│ ├── pkg/ # 公共包 +│ │ ├── jwt/ # JWT工具 +│ │ ├── response/ # 统一响应 +│ │ └── utils/ # 工具函数 +│ ├── data/ # 数据目录 +│ │ └── health.db # SQLite数据库文件 +│ ├── config.yaml # 配置文件(数据库可切换) +│ ├── go.mod +│ └── go.sum +│ +├── docs/ # 文档 +└── design.md # 设计文档 +``` + +--- + +## 九、安全与合规 + +1. **数据安全**:所有敏感数据加密存储,传输使用 HTTPS +2. **隐私保护**:符合个人信息保护法要求,用户数据不对外泄露 +3. **医疗免责**:明确 AI 仅提供健康咨询建议,不构成医疗诊断 +4. **访问控制**:基于 JWT 的身份认证,接口权限控制 + +--- + +## 十、UI 设计规范 + +> 参考设计稿位于 `files/ui/` 目录 + +### 9.1 全局设计规范 + +#### 配色方案 + +| 类型 | 色值 | 用途 | +|------|------|------| +| 主色调 | `#10B981` | 导航高亮、主按钮、强调元素 | +| 主色渐变 | `#10B981 → #2EC4B6` | 顶部背景、卡片装饰 | +| 辅助紫 | `#8B5CF6` | AI咨询图标、起居图标 | +| 辅助青 | `#14B8A6` | 体质自测图标 | +| 辅助橙 | `#F97316` | 用药情况图标 | +| 辅助粉 | `#EC4899` | 情志图标 | +| 页面背景 | `#F5F5F5` | 整体页面背景 | +| 卡片背景 | `#FFFFFF` | 内容卡片 | +| 主文字 | `#1F2937` | 标题、正文 | +| 次文字 | `#6B7280` | 描述、说明 | +| 提示文字 | `#9CA3AF` | 占位符、时间 | + +#### 圆角规范 + +| 元素 | 圆角值 | +|------|--------| +| 大卡片 | 16px | +| 中卡片 | 12px | +| 按钮(全宽) | 24px | +| 小按钮/标签 | 8px | +| 头像 | 50% (圆形) | +| 输入框 | 24px | + +#### 阴影规范 + +```css +/* 卡片阴影 */ +box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); + +/* 悬浮阴影 */ +box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12); +``` + +#### 间距规范 + +| 类型 | 值 | +|------|-----| +| 页面边距 | 16px | +| 卡片内边距 | 16px | +| 元素间距(小) | 8px | +| 元素间距(中) | 12px | +| 元素间距(大) | 16px | +| 区块间距 | 24px | + +### 9.2 底部导航栏 + +**Tab 项目:** 首页、AI问答、体质分析、我的 + +| 状态 | 图标颜色 | 文字颜色 | +|------|----------|----------| +| 选中 | `#10B981` | `#10B981` | +| 未选中 | `#9CA3AF` | `#9CA3AF` | + +**图标:** +- 首页:房屋图标 +- AI问答:对话气泡图标 +- 体质分析:心电图/波浪图标 +- 我的:用户图标 + +### 9.3 页面设计规范 + +#### 9.3.1 登录页 + +| 区域 | 设计要点 | +|------|----------| +| 整体 | **简洁白色背景**,现代扁平风格 | +| 顶部 | Logo 图标(浅蓝背景圆角框)+ "健康AI助手" + slogan | +| 表单 | "欢迎登录" 标题 + 手机号/验证码输入框(圆角12px) | +| 按钮 | **蓝色 `#3B82F6`** 全宽圆角按钮 | +| 底部 | 用户协议和隐私政策链接 | + +**更新说明(v1.1):** 登录页改为简洁现代的白色风格,主按钮使用蓝色,整体更加清爽简约。 + +#### 9.3.2 首页 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 Header | 绿色背景 + 动态问候语 + 祝福语 | +| 体质卡片 | 白色圆角卡片(负margin悬浮),体质图标 + 体质名称 + 描述 | +| 快速功能 | **4宫格布局**:AI问诊、体质测试、健康档案、用药记录 | +| 健康提示 | 黄色背景卡片,今日健康小贴士 | +| **健康资讯** | 健康知识科普信息列表卡片(新增) | + +**快速功能卡片:** + +| 功能 | 图标颜色 | 描述 | +|------|----------|------| +| AI问诊 | 蓝色 `#3B82F6` | 24小时智能健康问答 | +| 体质测试 | 绿色 `#10B981` | 科学分析您的体质类型 | +| 健康档案 | 紫色 `#8B5CF6` | 查看个人健康记录 | +| 用药记录 | 橙色 `#F59E0B` | 管理用药信息 | + +**更新说明(v1.1):** +- 首页移除"推荐调养产品"区块(移至体质结果页) +- 新增"健康资讯"卡片列表,展示健康知识科普信息 + +#### 9.3.3 体质分析首页 + +| 区域 | 设计要点 | +|------|----------| +| 顶部卡片 | 绿色渐变背景,"中医体质自测"介绍文案 | +| 测试说明 | 白色卡片,3步骤说明(带序号圆圈) | +| 操作按钮 | 绿色全宽圆角按钮"开始测试" | + +**步骤说明:** +1. 回答65个问题 - 根据您的真实情况选择最符合的答案 +2. 获取分析报告 - 系统将为您分析体质类型并提供建议 +3. 个性化建议 - 根据结果提供针对性的健康建议 + +#### 9.3.4 体质问卷页 + +| 区域 | 设计要点 | +|------|----------| +| 导航栏 | 返回箭头 + "中医体质辨识自测" + 进度显示"1/65" | +| 进度条 | 绿色细条,显示答题进度 | +| 问题卡片 | 绿色"问题N"标签 + 问题文字 | +| 选项区 | 5个白色圆角按钮,纵向排列 | +| 底部提示 | 浅绿色背景提示框 | + +**选项文字:** 从不、很少、有时、经常、总是 + +#### 9.3.5 体质结果页 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 | 绿色背景 + 人体轮廓图 + 分享按钮 | +| 结果展示 | 主体质名称(大字)+ 分数徽章 + 状态描述 | +| 雷达图卡片 | 九种体质得分雷达图可视化 | +| 体质特征 | 图标 + 特征描述文字 | +| 调理建议 | 2×2 网格布局(起居、饮食、运动、情志) | +| **推荐调养产品** | 根据体质推荐的保健品列表(新增) | + +**调理建议卡片配色:** + +| 类型 | 图标背景色 | +|------|------------| +| 起居 | 紫色 `#EDE9FE` | +| 饮食 | 青色 `#CCFBF1` | +| 运动 | 紫色 `#EDE9FE` | +| 情志 | 粉色 `#FCE7F3` | + +**更新说明(v1.1):** 推荐调养产品从首页移至体质结果页,更符合使用场景。 + +#### 9.3.6 AI问答首页 + +| 区域 | 设计要点 | +|------|----------| +| 导航栏 | "AI问答" + **右侧"历史记录"按钮** | +| 空状态 | 对话图标 + 提示文案 + "开始对话"按钮 | +| 新建按钮 | 右下角悬浮FAB按钮 | +| **历史管理弹窗** | Modal展示历史对话列表,支持编辑/删除 | + +**更新说明(v1.1):** +- 进入AI问答时,如有历史对话自动进入最近一次 +- 标题右侧添加"历史记录"入口 +- 历史弹窗支持编辑模式,可删除历史对话 +- 支持新建对话 + +**快捷问题示例:** +- 我最近总是感觉疲劳怎么办? +- 如何改善睡眠质量? +- 感冒了应该注意什么? + +#### 9.3.7 AI对话详情页 + +| 元素 | 设计要点 | +|------|----------| +| AI消息 | 左对齐,机器人图标(蓝色背景),灰色/白色气泡 | +| 用户消息 | 右对齐,用户图标(绿色背景),绿色气泡 | +| 时间显示 | 消息下方,灰色小字"08:45" | +| 输入区 | 固定底部,麦克风 + 输入框 + 发送按钮 | + +#### 9.3.8 我的页面 + +| 区域 | 设计要点 | +|------|----------| +| 顶部 | 白色背景 + "我的"标题 | +| 用户卡片 | 头像 + 姓名 + 手机号 + 体质标签 + 编辑按钮 | +| **适老模式卡片** | 黄色背景卡片,开关控制(新增) | +| 健康管理 | 健康档案、**用药记录**、体质报告、对话历史 | +| 其他 | 健康商城、关于我们 | + +**列表项样式:** +- 左侧:圆形彩色图标背景 +- 中间:标题 + 描述文字 +- 右侧:右箭头或数量角标 + +**更新说明(v1.1):** +- 新增"适老模式"开关卡片,放大字体和组件,方便中老年用户使用 +- 新增"用药记录"管理功能,支持查看和添加用药记录 +- 用药记录弹窗显示药品名称、用量、频次、日期等信息 + +### 9.4 组件设计规范 + +#### 按钮 + +| 类型 | 样式 | +|------|------| +| 主按钮 | 背景 `#10B981`,文字白色,圆角 24px | +| 次按钮 | 背景白色,边框 `#10B981`,文字 `#10B981` | +| 文字按钮 | 无背景,文字 `#10B981` | +| 禁用状态 | 背景 `#D1D5DB`,文字 `#9CA3AF` | + +#### 输入框 + +| 状态 | 样式 | +|------|------| +| 默认 | 背景 `#F3F4F6`,圆角 24px,无边框 | +| 聚焦 | 背景白色,边框 `#10B981` | +| 错误 | 边框 `#EF4444`,提示文字红色 | + +#### 卡片 + +| 类型 | 样式 | +|------|------| +| 功能卡片 | 白色背景,16px 圆角,8px 阴影 | +| 信息卡片 | 白色背景,12px 圆角,内边距 16px | +| 彩色卡片 | 渐变背景,16px 圆角 | + +#### 图标 + +| 场景 | 规范 | +|------|------| +| 功能入口 | 48px 圆形背景 + 24px 图标 | +| Tab导航 | 24px 图标 | +| 列表项 | 40px 圆形背景 + 20px 图标 | +| 操作按钮 | 24px 图标 | + +### 9.5 适老模式设计规范(v1.1 新增) + +为方便中老年用户使用,系统提供"适老模式"可一键切换。 + +| 元素 | 普通模式 | 适老模式 | +|------|----------|----------| +| 基础字号 | 14px | 17.5px (×1.25) | +| 标题字号 | 18px | 22.5px (×1.25) | +| 间距 | 12px | 14.4px (×1.2) | +| 头像大小 | 64px | 80px | +| 按钮高度 | 48px | 56px | +| 图标大小 | 24px | 30px | + +**实现方式:** +- 使用全局状态管理(Zustand)存储适老模式开关 +- 通过 `getFontSize(elderMode, baseSize)` 函数动态计算字号 +- 设置存储于 AsyncStorage,用户重启后保持设置 + +--- + +## 十、功能更新记录 + +### v1.1 更新内容 + +| 功能 | 更新内容 | +|------|----------| +| 登录页 | 改为简洁现代的白色风格,主按钮使用蓝色 | +| 首页 | 移除推荐产品,新增健康资讯卡片 | +| 体质结果页 | 新增推荐调养产品区块 | +| AI问答 | 进入时自动恢复历史对话,标题右侧添加历史管理入口,支持删除对话 | +| 我的页面 | 新增用药记录管理、适老模式开关 | +| 适老模式 | 全局字体和组件放大25%,方便中老年用户 | + +--- + +## 十一、实施步骤 + +1. **环境搭建** - 创建项目结构,配置开发环境 +2. **后端开发** - 实现 API 接口、数据库模型、AI 对接 +3. **Web 前端** - 实现用户界面和交互逻辑 +4. **App 开发** - 基于 uni-app 开发移动端 +5. **测试优化** - 功能测试、性能优化 +6. **部署上线** - 服务器部署、域名配置 diff --git a/files/ui/体质分析.png b/files/ui/体质分析.png new file mode 100644 index 0000000000000000000000000000000000000000..b4ac5721adf320590af7b62dbc7a33fa4f51bf8d GIT binary patch literal 266650 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

#lr~f`RY5CS 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 z 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

&!PW&`dlSsHOCDaM~U?fQ@34u83nTy@_tev{n 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 g|{IuP|zxeQriofsC*^g-K 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 literal 0 HcmV?d00001 diff --git a/files/ui/体质页.png b/files/ui/体质页.png new file mode 100644 index 0000000000000000000000000000000000000000..fcb3175150049f5e6647d557c7ec2a7ee9592c3f GIT binary patch literal 491043 zcmeEu1y@|l5-uSG4U&-H8Z>wyxI00DySoeygG+F?;O_434DJ$SaCe)*1B1Std+vMZ z-oNnHoz=5?cki{=)KquZS6%h(4paCpiH=Hu3I_*={!L0u2@Vb(3I~UZg^c*82Vzy& z|EEGWG**%QQ@{H2g==6u%K1|fnEl=N=ko6d{#^X~^ZF1Du8I!22M0$6_f1S##ZB+D z6U9qs2)OS_5aq3p>`#bnKWnSlE+wrard3zDSi1u}z4&DAowdt7Hr6rXwmxo>5gDKA zp8BZAI^u~hS<5(-l>BX*OU-&INlZyc3{poMR?zZe6A=nm%jw~MP+m4`@%0rvnb14j z`*17vwukjL)t55p1GrSV*a#?iZzPc-^#kEQi`iE{e|%jYoaq1RmFj+%V{a}=_UipV z#Sa-P$38}gqBfLL2>w6H)}+9Hwc+2932l-1Nf^ER_Fq5Mo9X>uZG=xkKYID$qxwJn zghPq_rv&jn{L}dBhS(3dAWsB>FmcNN6z3JH>+k<+zYm3bg?fwp^?iiYe~JhH0ebrS zKg5Nn#Cr9o@0|rDPTYU}XWG>zr2o{66d61M?JC7DDTYt~DISVKOFia)h>H>{gn+Ej zBAFAXA@(2IdiDN~0!jbT-XBr_r@+6}_CE#wZwCIoQvSDu|7QdLw$=Z?fCy^Xe`4Gw zM4SvKq7@a_#H(}mxv;#+7j8P+ zZ{8^7#LSR0|BypC2#}SZ9^nz(82h+1BC9oX)KGAp`!P1*jo?9zYUoEXcD}!AFVqEzIY5pa43JgKE zgcr@TreVh})CJiE`8HgvtI)fkTWaDf>D}DnDjQuSYidh@>LQI2O0DD6qgt8<%I8&@ z!7#~x#1t|?PLV+s<5rp^O* z2kvcJN^w>gZW=n|6L+;eeY%3y7kuzd??D2;-$+crt-C4(J9_m`34n^YR^0`i zu{P;PVAPpg(pp_NzxInlR*$_d@5UwJTZrXBlxp=OKH84iUgOneb$q4WX4AQUwY+4Z zZx!-hy~$Gett!OsgsoY2oJNj~emWX&@t3O;s$bu>O|sZA!s&Y~p;PVoWJNKt zZm`5Y2Gl3fs2~6S^R@t!6RmQBC}m)SA=AvEX=;Mi=B5T8p*(~?{SEl|%Y39T^kr)0|drKVXPT=bpp8gBGc+^ zi{n5a(#e4a0*_VTzzBu$vc1ZK!JHfZf+SNTK3N+t5U&$v7;Ncc$%nKHiK?g9b_xao z7Mi`K*48JH|Cfc`Tr)6wV`#2|_E6Hbo-D0c+aTZMEk`rZ_xMVwfM-?2S%;lyAK>ntn5iFJHKJ;Wl_- zrU=6F8k^wc2e_jbZPqdrxnxE4PbdjY$GO{`A8}+KqV-6wGc1}dk&G>@d7VPI>Jf(g znSDz+h&VK8)tIQLs2m0Mao?ouEt=6@`o0;5w}mYO5k2n_a`V%I!wWzl{j_6(g7$W8 zYnvZ8H1(&1`t8ws#u+veJq%!u`1s7vC{Lxx?F*KKc{WbP>@*K2dmQOMF!dMr-T5|L z07H-XujsRH&Q8^43`=|q@1IOg#&-VR)i6>2ctG}fk!%^^igBg%HD}3;n>RLh8ug&H zph5#5XTcGIB^BlB^;+bc48tQL>bHq}F)emPDnuJ--lH(5ZTKe;zdODi3A^M|k8}QB zEQ%zCPrgW*>PY;)7fr;ciDvE{kW?B2cK^NBosN!9$H&{-n+a4^RYkwNPd(3A#e~3F z<=a~R6qj9@amzcX+hOHVLCQdsJ#y#w8v9>^D0GbyNxgc3O=`NuGp$zZnVQDG_PG_u zm9u8#?!kBt>K^wI3KNhvLz&PL5*78Xb%+9_m?$^$J>Tuj=^qWK?!r#MbfGmkZkKjs# zpiri397DN<+4%jaha8`PVANI^;%iMKh&p0I)&;~;FX-~(89rrTJm(!;!c2B?yLL~H zyHnb+(rj}sJrw|oMUx6L37+z7B4QMm_a-fFpG@eH8V=5VI7p|j7Bk(r|Y;@(v(#&ZYV=?Hr(bm}!%Pj*Vi%U#EIayX278)nde7_`Y%OjB_` z(7tTUo_sez>lP_`2Rs=Dt%MP_w-!?SflLA-$w4HP5qK4QY%gTf`^83H?}Uf(t)O~2b$ zqla{>M|T&(EBa0o?3X=&`Qe$LYQWe_%PDB>30GnpgJzxB{zN*BX&W~}1tb|@+01HC zWNoek&0WpQ54G!jWaM6R=+2Dk=_{;w*SBJ+ zpXQHlKXLixqZ!}7A=eAO{&QNS6GafGpTH1WC*X4jSw?XWl~Pv?XZeHML6rRMG4U5b z;Ddr*$8Q4mJ(0kdpW!Z{;{!ZRk>w31wB8}s+>furz#qB%^oVYe8OkErt=#RD%5I(z zCp0=uOroE4t9{OPV88dZv91^)3&g}fT{};79cQNtu*FjAj5wueE6ZXpFCD{Z*s4V5 z6IG=&J7kaj3p+XIrrIo2583ulAdE9Xnz<-6_-`Gn)fYleWN?N_?d}7;AOQV%2%}!l zp7!9-vA-D#=%}FORkwGK(pvGN8fSIl!F4~O?FZNuCr8Y%kx#Q$zu;x;qcqlOj{>89 z3-lE%d*!9Lqk#(=Xw`h*y%Ujm)}9sBOo}MI&ufe0zt7~rt)5PUJX)B@F=pp7A#%4G zm|rQEQoJW>)fPM7qZ#q_`0D=VWG`#b6#C>y>*D?PsAUsM1u#_=jqtiD*H5HLcK5;Y z9=uC2-C%e+w;YP?_1Y?Lz*M#L(bR8OsFF9;+WmdMV(Or^Ktndku)ctFmxp1Y#y5U6 zvMjivWHgu{ST4xGY?c)lpBm_NM)2G4`i7lQAn%RMVvX>+zIXcXG!f#oduQ2d=SQ%& zl3DJidayW=l!P2I@5^#C1;1|^z0P|kYlmdp_5Yn*U>1>b=s-S4Pu5?^H_1CzcTc8r-k-kkG~bPi%eh8uz_Kqk;9yt{unYH%py4Djo| zp1bgKVJ!(dQCf>UjX`L*qj@S}b71hu(&W|5`g+wZEA#2Z&`{vLO5Uyp30vZj*fLpN z@7iuw6yL<9W!F4s7G3O=YIQsvtr35V4ES3`iN^DSlQyO5yZBv$UU5u(bSf_5geFZ4ITq~<$NFI{3X}X|i@CHx6Iyj4B5-%Y=a6Mo2=-Y&v{JiV?nN*u?XjM@x-mn3bZwj?kX_ z^lQ9cNtHlu=FuK#qZQA6;HJs}fv}&;gpY9t3Z`Ib|B6-IRIDrJsc})6?X{y2Uy# z_%ozZ$SaP4FViLh4+qZSulBS*Tnb+hrth%OE>vk9IM*>oi z+m85PG}4_@t}ZgBU!Wfj?eXC>V_Q%0vzkm8xiRm1JBdf}R(s4~+IhX==1uJ@(*=fv24@ruKTL;m_7Hz)bnJ;ky0 zc0EdO7m+;lC{dUB)bUy2t|PB%R2*X@7%(lG+1>M1cG7}l_<*dVR=%At{sjm;|P13fSgbK zJz!jl_-{qa%UZ2F!7EHWfGad@(|RV3&V(S`=d*0sc@3BtXlrHlQ?*=eWWG|{RBCKz zD%-1-S`*zejC~BAc5)TL;9iQ`q1+c?-DTLXO4L@aAL9l#$S~gH@q+Cq{L8sO$A#&% zIJl9|`!t1!`PPv53z`3kiZoIz*SwC*sB_Mbg$cPUZ$XqbByt8PT&gHliSaHnbPURZ z0+pu|b^=Ae-|euggE4b~EBvE5jIh)nwvC%Rur_FfFWvlVm-P1y){Q;3`QYzi3LF*h zmSEf8-LFp5XZ@nw{|?}aWppz(uYRIWu1ZKsAn2JR2-mbr_a3ZtpQr;*2HkacK_;^^ zUrl)hNUF6QoRL{2?Y31FXo=A8-dBmV;;_H%QbY|&n0L@&EM zU-;u#=nmw~%Xz~`>k6r3Fhem`sLpJ5gN@6S&4rKOgP7$)4xzy*J)!eOzs%GvZ}ub7 znD$;hng9i7AoFR^`Qwdjy3|>(uQsgFR#EVdK}rY|727u!rdrUYdVL1Fu- z?2$K?yi3$)R&C%`Zsvst$R&(^?`RfjRrWS@arlr7>ccyd8W?szFtwW$T47I$M%RBi z7)59bY;-}U1QUK~%xj~iJ&x!+KA0c%e}iU{i+WiQJRuXzl|>~iT;Sa3xFM9S!>hui zD%_BMu32vu^>tFYwX(N%kr_6O)7Pe)8}3sextyK6*6s>WpZj8xC64b;tOvo<{gf<9 zgV9>odLG3C?`PUvCcj2`-NDAL*CO1lHGcNk)|}}VnWa;=6mapFYu5!cb3XtQN}6Dp zY2VsiO`G88FDpg=zPohoV$i=kOs;ePP;!I!R^X{teoXxt28wQ{(`(50~l9fKQ_D<|g1ls7T9_|N= zg6w^>j|IU>ZlpuTu?M4Hf-T|CHhf>6pv@TX+;!a9?R5K28E!e^ zjM;defs;r*jbl1?gXy#mCnCMn2(z^kCXSsMl7EfyAB6u3-%`D;SHj8v5$d6=xU*s` z=p#!a*g3Vf@f#f)i$vb0O6 z`2pPxdkf;dcNsyq%ovWs5S-!<8x7K}Q(vQ8_vE9xWo{W9$PaEBX~RcA%jb!g(jpGs zDN8U^adzlaT^(0ey28<;pcmzx3p#Mq&`o>G8($;>@@Ty*aW2LfPItec$Rrf~u04OU zp&Rf87DdR>;%Y;kE4&lNOL}f#DK30*Pwa%-UYCyP8s@WJ?t}btmVpkRoRpQoBtQ4L z@R9@+CeMmIaf*?9EF0z3_5R8bADrVea!qRI)%_41BJx^NBt#hLBOJ;8CqsZ5BZtb^*#5f%}r{iHk`g4kyE|2eqlQjhonq zj;bl`NKYUbHd9xal`2p{@p8xEn~}I<-YClS{45*=(l5b~exi$34D|MxmkEo%e1K>t z=vOCLF+BR=G(_DNI_;awExFZwCp{6ONA}g2A=ksT%D8WIN*c``?_3}jWF4JiS#I^P zR(0s)>)JL}(o>|K>i>BOX|j{iLQ1T9^dNuBg0)YVZ%ZFQ;7eR;HjKF%+(2BbDRu;R zOd8*I^-YrtFK=)+)R|^qk)_4+2o_qmqZjP>vL6nt>w->NwlM^BBF*sF^cTBR(=3(yN9_jZ0eTSrq( z(Z#zKL5FP#L?5i;?}gQ+VKg6v>77Uu;r^LnERO29`Cp(dJJIhlewE;@2^TCw6Evf=-8D1$r^U7#x z7pjo9Kot&yv946hojOfpmxacGnEmDbN{9i7>XV{BN zkNeilQLd}tpHP{R5E9}P-&LfwKNsv7gejl&}jd!SG4 z`4pq9r|~m>SLwGk3)DRZ#!8pzFxK3SZIADp01)Ac{OUeXaYHTK%%xDf+^HyXpk(($<5@i4RzX4avHl34v4+ zl16l%4$cydS1rsqn?le7NI*C^*WExGecxV201!Xn@I>J6!IiVIViEr+3}3NUBjoRA^agfSe!K zxL1kz!)6@qB@;nVkMirT&0#cweq=J`g6em2CSURvEEEyJ@DWv(IN$0|_2(ROg{a5V z`$$9M(QPy=C?f3hU}@|ndjj#b%Q{3sg-SbNI}tZg?q@&QLla0?$ih*?cCv9v;;M-s zN;9ez?VL1n0_+3N+-;9Byvl%bLPd58O<&8(XX0aq`Oof~na=YjLOb-UZ@Y?al&VoZ zSDI`tN8z($G{>0(z5e)1K@m~c?E}a^=YG?voixDajVs|f2r89H?WcFz49MrbSY%tc z)##@_pLy66KEefS#G?4|q^Rk;Jk{D`GZ^9w!3L33n#{V7Q|xgi^a*AJiqt$F$dIod zU(MQck@*@Z8cH9djeRAt2_?#Z6H$K8`0FHh>~~q$!1y306jsqN-)My;Cm1V3BCr+c zIT4OC^*P}z5(mzfo%bPHM(`83#RUV+_NL{5Cw#9N`r;0JcQq2!xp4m^l?`gxdFRfy zeu7wsc? zpiV8^mm9P1GU7@*QYQ&#Gs~@xc`tz(s-mO__x_Xctyh!0g|g!9_ZWw7VcgvL?@Sp8 zqO{vX9#*(`1U5q12_IK_`2OrgdEOG>C-wgPskHD5T&O1^+Hf$Ln-cUP_Z_A_7lRX` zN`DU>$p=;a+GM>e!p;GgKn!A2CPXya3^){=Wx5-OLH2vqU%9flOpA5XGQJl-k2iw& zVpk_q=~g6pW@VufCn3c4^dz4PAcfV^eI@+{sChTGb!HMB~*;} zJx*R8qGoo&FP*KOh9nS~9$(f8uqk%GFWRH;jd|Y4J@!3`TBkgRaNrIS`a9f3!F9f0)D*6_5KsmhLJ-u;#(n8X+t?W5Zai|;qcLqWz z5P9=Ce8YS7wS9Hy(G%R+n)9q&9a+&A(g3M;yFKsA^PUjX9E0H?O}!d}tO`Ka!kSYJ z#(7jUXWhv}QT{#kCbRjz7f+QSn2)+jrO2buQecC@8Shn*v+!Xu-NNuwA%Jo{hJ~1p z-e0K3g7g4v`lhz=C3`Zt&}4{kQj#bt#BEb*@d*29LjMl)88c!QLuA=gw*3|nawUnx z!F!vIv1T|U9;3Krw{=ej|D}$hWFZxftutEjB~YSWSdkRWPme7gb{Z_(L}6hbx^9Sm z6F13Is;=)6zZc59?$V{JhgJmh(lrrQ>kag8i|sF@nWjLAnvGI)h)NeecL2pb*NHPi z=$6~x^N6cf_-y2^PSM34#0W5Z@_-3>ENrnmCv`0uN-N;8PFc^V=MMy#?UIw*vg1J& zS|?5zA6wPOfVXuwll~ZE4^#UvOzVP|4P(hwjO+pN_4H>ZcJ!%g>z}Y(!?u9Kr;|Co zQo0f)@{r%nwk_bSeV~%RD37@O0z?D31g$@oen`4Yja_H?X!wB9 z{a)YMHhpf+Q{Ss*@qVAf-3?^hGMB@Kjs zCPi`CeSdZrwWXv|YVd^&PYL&H0)5b3F?R?4(3;1G?7uQN24?SS9)7GzRyZ#a*Y<65 z)HkH>twonF)C>ez*)W4?0WGeNYJ1X}u2XFlAtEAu!p7*^NOLH6YiCdB?$59TQ`qGm zYqdkwRVde)Z0eiKT|(w>9Ytc3!6mFk<>T`=E-Q$Xe_04b3G>inhnJglrsIpnPq?35 zRZP3asgCnrE&TZTzR|uswwJmLXT{@_ekMAAWB8T_M1wo}Q-Gr*_|hp!{Nqn7TeA*! z{jJ)|Ku+LFoD1y!w;fNpneTA1G%wF67+8o;X)pMS9{K8tlPO^@;%Qq+2Kl7r*~8A=S6tlG7S?sYR^4_>j?mLA z%W0hgy5ELqk@`M5;M%-lBA_MIiQbga)5S?}nY`&nYd`s<8*T5Z2>crPsfu%Pf!Ta2 zD{))cPIqykULJ>?X(mH5Z90a8|5yMND?%$lEYYKS@O})?ZD2n1oj8XfVII~LP5#;D zxE>Ru7<_N5cbc6J{oBjiQh2a#X(R(!}zspB_6ev7D zINy`+{ETj~W>Cc3Wbtok$sZs{nl4Rs{K#O%U!^uiK0|kt-y)2cw9N9#UwL;md^4mXfXtCG~16%=knkwq%d$moyu0!{mF*MGpEy^JB*~?*CV@fRfhTHqGJ(qinWSx`0 zS>owzfnkI8VIQ~6f~ByH`9-6QBR{MnJb}f0om-coW9nDkHB?% znLgd$ILZat>f|4ZXFd((&4lR3c3_3O+oBx|3wH{6!q zd~gRz@boQnYSSa@I;%vFx!wxWKn|AKkzbp1Eu#kr)Hj;LaGt}qqubnK9(A#2>5_ic z^eNK_`|aZKdCMLd%G9rvDoy$AIgb2Pv;3^|;<7>}f%`4t7@1`OA@!zyklSOw&U9=S z?8iYP=Cori-*6S_Ld4LGrS_4B;)f$J`2qh`eM`04t6-1)w*Cs;cC}`7HHWusAdF82 z#BxD**Er9EIPo2|t_4(t0x$Gx6|vyv3X;ynl9Z%9_4V7a?}#h7W4(gWJ18bQIj6|e z9X;i9+k9H1*X3yPq3~aq57zYsCGxMQuXRxa zG|KF1RAi!sPu6rRtXkvCyCSmFJ0l_o`|_u$vtT$CuDZ zhjKMjV<9zy1(`LN!>OKY96pj=)e`#)&K@#02d&*@A>$I>?_@ACU)aAWJDX+i?hZW# z=>%!eBy>QHwzY`L8VnCsN|R*QUG9d0nf4!`NKD*?;5vc?9z~u8)>~DM zCbjQ*dan4(Aoiz)n@4s0Y>Y&d@vXuQ(_A)0Y5q*{p;S$>CIY8%l$3G(unGyy42mN^ zuYi@+iuTHG-gqMyN;P?dwt(g_GjF?G1_1ssEGyNvu2cIW@uf_OO;xj(2X?lJa`aH_ zvsaZqS7{45lQ;~H;Dt;cAm7_p=I>`KiGSR^wcD+Ra(G(;ImbW)0rG>Wx(0*!xkfnq zj_SZ#FYmF1J-HhQ;*gR_MXEuuasdD+vAyoOfWd5oe#5?THjdguJI^lc61RPb;-_cZ&w}7S=5$KS4`KS{4iE)ROD%=5^^w482RvE&x{n5d6;Y=i4c2_RymnnqV&g8d2Nc2#tvO71Fz9llOjF|- z-o?e3r~YJ@#FHYmC)sXZdyy_6ue;A7sK>PpGH&SZ{zAW0PrCM865+y@bb|f}mb~BB z_u4{tt&EpT=V;wwZ~+1GPeEG)gWM%`st#xPoF=5tlRig{>l(DY^Um5;;{46dhX9#m zro<2dSS;UlSV%!*BXHbf*?k@N*R3e29SIYwR`q#}fY$r%*@M}dfqdJwpe7QMwu1_e zY~NkHb4eRvQkVp1*vu=T+~AGKQu+5Jcm;ZsF*!V!fgb&tF?|2#)i@(p=vC%<@6}K} z9ex8^!nQVAhaw1;tiL{Ri9G{U-*25W~{d4+Eq*G>iiek9Fl?f zp(p+t{COXEO^(wKuG2zQqrod~27QG6F6y_Q#dw}TL<1pL6h=BGphL6aqFiaU_r|ZB zgz_;zo0boGm!_bvwnOTa?e;auD|8O^cY|O^zF=ys&2e6n&6NCJ!XRO*`33*wjX7w? zE1wf*jr$YfSzM*!ck5A#T|1qrps_Ui!7owqN`=w*95TO%y1<==ISxXuD)*y;&jF84 zVE2Qo$Cx9EpBA!Gx}Yg!!28YjN_mQ&-Ix1fVP1I`wnJFC#}mN5OFQI+mxV&t;f`y< zOWd%&?e(yV0cEUe9d9O+EvtY!p_|P(tJ-k{|5$rl~L(C?L4HPE~cYnOqQ<+ zw~PlVz`@Uo6}fD2m%3TjvDnHR-j6cn)k)=JlzrS%ZM1P<%VDK!X_+mo% z-)KQ5L$=Y(M;gV+bacl0R_S~D9bp-W)F@LG88z-{_2tq$;M?XZN=r^kfWLU6rOLr& zJ3*36z`E3zhsO}}toQ>xukX=E{#-4C6^jexn7Yj(97p^hefH7$JYo0Uhc@}p?-Rdq zN{ovJO(pBR6;FM3x9dVKcerIK%^81FTU%FVpkoZy@x_?ljqM$xTjy5`XB_E%x$GtW zVK^ezAFn+2eMDKFzp(1V{<(wYqXn1PqELszb-FOHSV;D?xS1cq&{*S^?_>xz+aiVL{XE+^&5IOj;q~{HO$Dq(H;%1m z&9btvkbys+JS~SBe(^5-&F9uK(fX``$HeP0u?^?|lMr2_6momtJG*>=Pw`(# zV$|00Gzs$5&@mBQHx6>jup+I0Wu&RW>+hE$Ly(8fc;w0r;D?#9WZw zP(f$s+M2JuUGI~3iJjE5;h5m?;7xWyUEX_LZ1r7ewJ6>8g?r7AoW3D-igHzXVTorysz~^9 zp7-8>zi>}Kr#&jeX?&D@a0>pK)Rwfff|rQ49j7&;D3uk-vs-;KBeVq$ zPnX(;S#|Vl?@xj~jM(;yiuNvR+d10~zcv|HYBm{8SAhXNrbvPelgCwOe!f*HVvQkl zjBjjqb<}DoN}nMNcODqqFTTGivJ*E*{9W57(=1{MK8&<1=Nawnn(;M2YKL$4_Y2$d zs|H&Jv<>MtbLNe&=(YFa=@(ibu}E=ApJ;tXZG0Ll2h{Bq7dHUve;lA?!vpP@208U@ zkfH$Xk#Hk*H%K=hJJ)B3{n=Z|T+JiEG=F*?r{IZnKLYPuZY3V#e4B>JlT(lAle3dP zk;+>H(Hal^n=yWmoU%3GHELWIZyyr5Gl-lY`y6;%?s=B89xt=m6?UVLk`7**(OopN zhOCtt_6hCoBiMT??HS=MS0h;no*kVdY|73#MIuX6ua~kb7 z4&7;CWcL0nN!!-p4A%I%Z$x5af9B^+(9{?wNY063xErvl#NrhbMzA1}eKI@$DjWW; zb+>SG@;mMds1bjXQA0Z|Ry6|pb0|KhJvLX$t;ri{HHAv&&f-83v=yhtrNH?%E2A1@ zW}+OxMKo^jQwY5~Y0)8nvhIC4@5*F4wGam;mUH3+w)+*q+@iiklKxGx7)O9ld4kUR z9yJgIHVC<{dlYBzxhsvLj@1E@)v9z#Nxo3|cf0W4W42j0JUqyj$g7O8cn0!bhiHKS z4@OG)ws4vbW+IZF_!W>)8vd^d3A~dZMh?o)MuG?W$_^XKk_8n3p1Ffq`la|}n32~R zg7_qKwoDA=$wTsxM02g^k)Lfimgq?{8;tGB`{}&rO1a!Q$RM;7@`jY*!nzBGurFGdGb^T zCh>*Sv$&U&*MbMV_@9WocgBTVL57<1;s|Fi$?7D@PR-0oNWcN!{yX_8eu_2G*Zv+Q z#ho!vRVa%7(HR1zOyAB$T`8yzzMg%;?BUcUTyI6+Z+*R#pk1mpTFb7QI{Bj@c)~2-4(sE0XKdvR@oX^#z_s0@6VY`j7{!7L2z?#jLL{8yA{JXwn49 z=?!{*$<;I@UAC^ACF|1oZr5d2k3ABCOhUbQqP)d?XrlXWI+#XiFI3jAS&PUUd-KJxuT9WJ=Lm&Z@0|bYK>d8;;ge{F3DCI z!Y2|dv=gpK#+n6x0@H^55i}~utqpC&7+hpT+hh*o<@rmiIB)_ioDrHRj@YL7*tX$z zgTV7x;`UU+y-q%F ziETO4~5DC#zAbN4RY~V*36+l7;8oBl-wI4+cuV0PhRNCpK zcTzetZ*OhuI6Zw4d|ajFv_(>B>}>}k-!t>lg0HIkH&Td&3EQ4aYywO=hQhnp5}$jW z{(hC9>g}slWwP#=48DCRKk}}_36OrT57S3O;64j;Y&$4oEoe(3tsC*D2NoZ;K+XN@ z%ZnJ_Rq^fmB{xuC2Pe}qKfS)FPO6re;KGur!@}>HLk5^05mR`i00Hn~b1>>GVG6v; z_y*YwJ*WstP(35=U4v_IB|IMcw{*4=Xk?G9B-uX}cbA?1*qIGEhlR z>40L*80Hrf@2W{+vJ6nGAy)u|8tl)PpLy08qmIq4TK52JE-m;g*yW`Xb5Z&p3SHf# zz@-fhGDs)HF_|b%a>Gq2`q0Wn-A7E_4_#n9mT2KhPu^A9_jBI7n=56DwCUV|u1!zh z#gSsRj(u8kdA1syfcN=8K+t1hnMhQUqipmC+)?8dl6d_RO>)3St(qFwkb4wPft;$U zLPa~w<3bBjUpR_6d;W7g`CD2M&jkQ}Ik0)X*g2x*`8Vz^zf%>rpj^iPU}d>B<4H*8I4eG^X1Hf>_>~{(8YU+HnrpuLh8^Xv`KOSFK+;Bk5n4`glhjyeicF z0XP==7=YmP&Jhyq!#x4AJj}X#M>@lt{Za<|J-~qW-pps!=#+l9jBNsJ=m#&lk%YA8LM~)#SWTXT%^4{re=R*I9+t5tN^^&zQA4E9x}R-Y*nEVrhMzHLn)R5 z8$PD`ewuRTSUKvhA*%1*CwU=s*S+dIgx(xgQ?sqSdm!HKOBQA7F!T_`9@WN087gzv ze=@Lz8|CM3b#w~XZTc16>g_^eN4hKa4HP0~%fYVG83z2k-Sr_I=fYSIC4Z&!g+HMvr zVY#Z1hwM=P?Wi~B>VZ*DHKPswbO+X!;9UX969`XoJYx*4qab8wE#k)%sQ=^!eAUdc0@wgb9 zMM|fyT2Vp5U4}4S|249glBaBwv-QqN8Kb(}!=s8@*)jUMUVh&%nGgh2K`XxT((OOY zMjIM2TL$YS(BicWML&appx0&SYFT!*7R>gD_NwWAPn>-+yG_hHbBlVtfb}4AOnr1z ztQuQsz{yK_8EB9hBH$h(q3Aw@+K5s95trC=NT)Hf+@j)4nm75C+XvBcyt`s{k%=DE z3Fds>u--l0%pSui`QS(!#8(dTG7YoUzaX+_iXc|@c{A+MfSQQRv{znzr7rHW#{OL1=Wei zMN(^h(&LPD;I_>OL>Ui>zM46pl}airIz{3wx`m*tvGq z+L=X{>~JrG+mTfd5#gI6i0VW?WLzziye@Qj(zZEWL=swSk_KvarTd}i)Xe8KR|xTp z0=<8<&3YN%a4dG1m-TJ$$qHCqgUbj8~p`jz0uHN096G~InLtcmqnv{fdcN(>4& z7-c0@MzrU1%{RStnC=MhKP@O{iM zqkGfCmL{QZ@DuVuJI@{vv+M5@I$ER=7=F|oA*`OD-sm|lGjhm`yexIfta5DF?SJ^i z0r};*d!gr|xwRe}uUFR;+f7speHU<0pW}3ch9>ppdAGsujdqX_H5CPfT z4Q6mq>LimrQ125RrCrx=vyZU?OUr#t7*Wq(rXGOgAK#d^7#{I(JMM;daLw)OsFN)( zRBF2_*48Rae@Za%_6>MIdK|vu{H6i&>AW4Es?`uNAQtp_%==uZl<;1Jy@f(HDV3MR zmY$Amt1sH^W^(NnEa(LHgq`IIOWSZvAVfS>cWR(tJ=6&xBHNwe|D!X)v?^(H8sXEr z=W#zytM4<9d8!%`;I@piwS6Ra6Fuy@JPf7>z`wJXAIs)WsYE3YP!& z^ds?Hq!9G)#RH*KBq=1X&Cb=^HL!7tP;)`a4XUYFz>M8@GdcL-VNT+m%Al)F{ zUD6#&N_Tf7B`poo(%mf`E8WdfOTz-o5-czX*v?DQ7M}GMl=-+YE;N1Xs&OyfP}FN$)TF%fCy}{YKJW^E@pMmXL%64b zdA39?z25q9chK*ft8%yanGX?!*QzCK;D_8$u9Pb zka#)}!#zU5IzZtteijEMe0Rc6Bmvy~^n+0^${4^`L{K9zuwf8!yoMUKyFn#j9ymAAaEqN;rAb zV;Vy3VXPV(!ri_AZbNlE>Bk1dXn`st4BY`t5*>8H=HNnVeUy*2&pXD;kt``reQ zPC}=j2d?^1SX)$?nd)21sMjbXll*s&+4+6~h9-|9-4c;bX(LnX{WWW@_p{F`PH<}U z1bAbQ1qU2yn~W%U;|&(F z8pz`=3*xi*eWYJE#%0u$sVS#i6okui7f7*X$bPDEY)~|GXTz+GR5(zux*gHeb`)C4 zc9UI8`d5;v2XS*9t@3J=v3ht5#*G#2%UFI%z24CJ%EPsVT$z2KY}f_H6IivyvKzNj z2x@3r!rq_W_E4lovmij+|FW1N{xgABSZ(fC6PV5L2 zw*P7;nEeUx3A#sOJ(mAch_mKPAIZ|P+p**%dQxZ&T6j-x_}JN&2j+$>l<{T-ij=$# z+I+T>N%1{Dh1R9IgWm2|-`JG$3HZSj(x#*fY#bl0V{rOCLZYuhk zIJ1_p;P-QZrJwKCDy0`nY4Oj)Pube7qQ>A5d@SEBJZ~j+g|dv#^+vW@eQ*C(zuT7$ zhav;sXhx175ocZ@vy&mw_mFQ*>0|%08!itq&d7w0?WT(TdbmL9f?z_c-APjGh|u!O z-UZ8M+t!r|?s1rL;#)XH3dO_k z_{NvrA`f*vYrUt8bl_CKmiB()`0LQtCBDOSqnYMn-+JSgeaBE>(}{29gV`C*B}VnB zYwp{$w_|_UM;@3Jn2NGz%nm64-*fe)`r5qn7ee5-Gl#VucsGYwWaq}FTr~M^@quGb zR*{`;hk|-t12tLAV}jOC{Qy4v@YT={+wQitZ4IK4DOSQYlXR|{yJ)Mn)JlBPY5x-mXjW zww}v*G#KswN|sZvH_9k_6vBumy%6UrCS+%S2y`H_-qFl;d z$~=ok7OI8rj#os@#a?b-N}XHv1usRDZiP9GT{*|>7f_BrJa#EFoJ=5 zIN5YW_Bqvk|L5B{nb1@N1@?-^NoP{uPCL7xN-WU^@yyK?1U_?3`@L6qZUzpGMjmcs zoozl23B;(6X*&X>05UN1uhzSqysxE}r~C-fVB_$!81!OcLgVf2s(t|3$aZBsFwq`X z_>*e1t8}5x7*}MeXg;&;32axvQX{+rFm@hje?CPp}ySsQ*8FR~w%Z1Ub^JW%Aj(nBkc8_DD+yZ3XMZDTi;IO^6 za-N0Qo)3O5T+Ch9;9Dl@ z*sf$fco*E9ZRg>?o>`=1ZDV6T6h~SoRB!0-1tG#OzN9W+KU|f$oCzmhKq3o3=&j!0 zr;G6`uVI(jyBy zK&RPhJh}y9xW-5Cpc4?+=OF49OA*4(%`=0SQ_UNz8N+sWIoqXy7~8EqtK*0@7`wKW6;ty-q+GtW9{c%%TUTv509aIRSN?;aGpj0_*O(YTL2h7t+rD3UE)nfh{ zS;ms~>edzTvdml~V%NoMB8lla#)vhm!k!O!GZSpKVE6aaI**PO_S@UQ_)|kpWx)2( z-#h3TC6nU&Fb9A8`iJ}M_453pDqa7p`sa4v5|E{uzB=RCTus8MKly2FyT@5q1-JIh zgmdxkALhbx57QpcW#9H2MERJ#P1Yj4Uqw`n%YD;U_on-X&2O0;?<2YF&7OmVt(Wi+O;LlRV0s+ z4FXJEm2lJgWOm5ttzCrmz7;41_I%v?64tC<+48&-TT+-Ow{-BzToh>uRVv=u^W=b% zujx3lL4$kjawcgu~$4Kc#`#IJe-gu8X!j~v92*@d}942Z>f zP;MQJWT z(k%>0tgzLi_kdU5IMc8ukmYv&WI=daIpoT6-_r^=UCnz(iKd$sywGP>DW_i6gDS*Z z*XPHSgLzVOPYG-~^CX>hhY5Rb@G1T5mMzqRTBsq{DwTssTxN{95abvuNVmNT@_Yuj zJUngqsity^92l6`V$oKt-$8qV;7%_X$?q`wHPsSIsnKrl7h7>I3&21dK6@KEKUNmMc4zs zmMxE&+iE#wsgtpKIIW?C7!naP1EIZk{`TdzE$VL=Pxt%I+-(-F7Dxz-v9<-9H$;sy zFa#ffMKrv_1tqUoNWmqmR7U$Z1sJ>pNDGpL0nVQF8)e)M$gpQyR|ZBh{BeituhzHY zu<`J5M^&@G^kxK;-*%iL6zf!9oZphAwrBE;be2CB>r7r&X+MI_o?_oF;QNU9KNe-h z3>57=$fbFt$9Wnq8MKTi*abSr&Y^&Iit6&d7&V=mf^oY3)^lQegqMbP4*5-O=v$^9 zg+c9)){`r;0?Orc93AGkU7gTk{jO)7mb@>$n#m_k=73Usnf`5@)I-C_9w2{*1m{>f;TPMQf;c+k@-`{u~{@?zN?8#;5#^VcGUkZgS& z`lua$Gh$*j)hfWE-3(HC1>kfT%R0gyMyquG&?DPV5jp2B-}mzzZMS1%@v3ecz>36S z_ZCt@o)9tbuQ&QBL2K$sg6}<`>!RYAuf-VI4gYr+Y7@1B07`ee(JK>9^u4PhF)IUx zQl{i?Z=f6`GuJNRCH-rJ6?bF1kNxSQmVC6zw0$>N?_|rz=sW#1+q#7FvTpFsC9yu& z(d4~~e0u86Z_&($s8hACubVsX`J3`Y8G@tcw_kK%Ja_INb3)YU%L{qWKeD>*)6SOd z=S~Os%pyRCK$81hUuWwq$0v=)=p-vM+DVddAz zlXX=n-kkiIFes0F1K`{C*&@WQ+e)f4djq-^Wjl{4Z-YCPT~Nh|Fyv-|_ve@^OP-3y zC>R+UBOEuxbvY3z4G2mRM!Zcp`Iaga);V2Z{v{GZABJgfIQb>hZmC_VYvrlJ?8rBi z#BvK`LFgwOI}@OGr*?J|ez%n?M_Wx^1jJ&+PnMgRxkdDAc62a6gALskc{>%m z?B;lWXxV*uFJ{MsP4&j9Z1q|l1YnYfSmHW0F_D^G{HvV`Rsxfqwb;`S&@hn3u2*#x0GBYUs`lQBhg_=o~?Mk3)Z9yZaeni61-&fPWe^V%M zi^5(H<{`w24qF`0C01$esDGz#k?mG$p?T_wHYlU>dQ#+jp;h_4fQNW};vEIldq3(a z%qW-+A{)_B&Lpv!Vk0TwP;4X?8NlDd8G^a_v`!3pX_K2p#G0Y`%F_P$@WcJUIC)Y28^E!;Q>m9`|!Kh%ofp#* z+o4{Hyp^uEE{(gb&PIH;3FCZPw*{<5K-zXedyDi&ECS!y1cd&NzqY?=Ba|5G=q1!- z5RUlPPfXiGz!6sy!45_BzGzzhGDJ4}Rld9!tl=FZ+=)o!#7O#HOdUCMV?WY&XGY1V z_J;7ALEpnx-CMX&I!PU>=fM7wtrhEKstUrsE6yy)}(5b9gsCoSQzTR~buE?u8RH|C>JgIH+18ITiQ zi>zL8#p|ZkaEJ*@=#%Z2lh44Wg?V(InNN`Pvldc^Tube>2)HX~P|DbSCz!L`l5(|) zC4t2mcTAv(<+_A(3z`<|k(+k1!pzX~F8@;E1wU)%hJlijqXe(9oLF+%h)!){6tiZD zMpVk?M$eh!OXo~u8WEoDw}HFny1V!CO@K`YzC1~`;K}v0p%%1Q^Wb`@+6xQj0Ct}K zGwH6V-p&x^dnAjsl7pcDZvLZ+`W9ofNSscKw*teGpuwI0M650Ff()Xe;|zofF0JrX zjH?sDHmRTMX_o6@_(-=KGvCcJCEc{@YD_p=QyU5Zm~JgvJBFo9zPfx^N^r}0z0Nd& zW4CDg7>v=DvcS~1D2Fq`^czBb{1Y?2gA4TrpOgM=aoBvn z2;Bn-X=x<*D%8dHRFb&+?P%gyAdG)DAm*8`!|F2R4Jhs(HGgE#->4bv%~%@!vakQ- zo};_C{~D#kX~aQhY{R{(kucBJ*K)RB#CInuOS(%iGk;}W4iDn;KrCX@s^;(H+obO%J(;X*(?y`3+GxD7YMWT zTIRRRX?1fw8;IC*WBUdJjdP^6Bh zve_2%_oY-tF5IQ2m2dkadk zvB+VLPtVwNj?^t|ETh)*pOJW|pRhF$T{nM#%est+IyrN*iq<5_>P|#iw3~FV8ghcEdz}XCVD~_LRaC=nk5uqs_a|QonF>uO>$0pR>CQ4qW}> z`Q%CE67j%?N4nz?|9r5DDQJmGuS9&rf~+`kNby4&-fjACWG1-3vQPd}g)pFmZD=#5 ztkI@idC8BCozp4*F;tJJGRynK&@d9yvg`R^AxWu=_!oZiN0C*g=Opo7O;YH+kAMNHAnlWZGR2l0Q_ZGBTj8J zXWi1jxd03%>Ux%l9#I2p;fm~!#DLcpVJa%)DQ2`fCoX=sTU4f}Y+X5GEpKev?LKnb zKa3Nu)4gA{^n|PR{QDUC=gFoDTTr>>lF9i6!JbalPZ^BHRCLiPo?-B%JODo%EtX?P1U6S@=XqqGV*qGp>z{xQwe7yA zioq^HNPVOsSiI$!(gfNzqE1EnX?>6KI2KR;v)eHRX_x4`3%*STt}x*!?*YknNNzha zr|cmwh^kf9yk76y9|JwpWK5v*FA;8jO~~#b;kT#Skmz4ye=Cpt<+%ECJ-WX` zRG^O6xb-^FMAYsx=9lwm%HR+B<$Z1a7R%~qJpHGQ(VNjuyfEk-6#(?V8U#K1iY5(G zMXjfF=Lx*Io`U__B+tFr4qfLgM=|$(J`2gsEwHU=KEyhUSBGjX#sg1-3jgoNb5tf& z>(Hk7F1?wGE4JSP`RE>m`*7sqtVTtBfY4GN?Si8hYeV>}<^C613NYDFZuD#Wp^~3# z1wj1Uoo{Y48m!%ur@WRo1GGoB{rSW`IfHysz6t?_UlgFtL&yK0$n*~}6Ruj}oIvuk zt8}9)0}+45a&#FB?^+pV@-QEo%-FF1Iokw$RUuGFJ5og>S!RM8=zK&F_9VGQ7N+%? z@b65dKW@K?j5CbCUl8TCV!~}R(A8&7#0afLz%I~Ts8++O9yX_6twz+ckpG|c>U56p zn9f?GRVN~ZnhVq3p7-|C*i7ZXkkQr8wF&E;1v{)%KCWQA`G%kqf|3k91|WNOu=Lh~d0knoItnP(+`fw-*QRe=!9+ z5;e%TR(Soh=FFk0eg#oF0%1ws+td1@ce)t=PD?R()h zXlNs%s^h>JazIR5+3z_XOqIr{s$?K3Fe8!xFqnpM;@D`(M60$}#*r(xuigSEoHx<^ zC;FJAVh74boU=rFu?v?{wHFpjjz%l2xunQL+S>SA%Ut7dj$BNO)KpcsBn3lTkZzOr zV9L)SlDP&gj$*tBN2y(1!iQ%9AfplviBlbYS3-q&mQ73gJvnXA39T<3npJqV=$3Fl zQRu)wa^gWtqIpzUOeaN8gm^cwI1IQ+oyQbIY_m|n1wG#=3ftE`vi-* zR8&+n{qf^r#X*Wh*q^fmcgO(8hY#T!tUm1zaGrs_` zNv*)SI>#;Xvg+!zSYlrJtyYP;fM@^4Ne_8d)daJ|G9=(c)4QN_$-q88+D3#i@qfA> zi_YY8JH76%!DoAhpK0Nv2xTnq)AHk#m!^E=m2-sYhq#dy8H(}Tx!s14=NPJk7H7&D zXlA2GQRHXBUNfw+hJR93LYBC;M`PGg%eA8LY|QA^m|{)O7f$!t>X`k-Z?0sW&h*}p zg4fczu+b@uiEowG5C47_{8el}n6q#}8aezSdbcm@y(P}d=zA$v}{TP z`c6JdmRlI|x^hHOZ8BScjy3ln)em|zlFhqbQN@o^SmhMgaeq{PMCCHrI*rPzovj5w z9s^&6_)=bmF*qgt-xzgFVP7N{SeH-v3Cjn4WZ4({KO8%_DLn?xrVG;XZR>+BO=BqMzl7=uQ*qk4mD9dnZ*{ zQm%GHl$5xe&ujMd0I4gpFVo;PW|Xp20B-h%IOj=Abs^s!wZzeI^}Zn+@!cqx{@TzX zQ&d!}rHp)AcCoYc-*U>n0ozavL6y7(~V)@S$I^&|cWi*c8MUis%ghh(~FpEW24rZkzY6887rm!de9 zjypA0|NMq+2Jw4*tFGq+Z2T?dw}lcSGk@PMrp`UQrOSHeI>?=ooL1?|=(n%#Xm3Lf zm@(&46(e^Ct#jk}GY16A<~<6NQiujDHe+Zs3U6^Ik~Gb)%2io+_r)hBdwee)sUwmkb| z(@Ty3VGPD-j*w4b?QwAQ2X)+XXQxeo;X&K7)Gk=g#Nee2&<@o$%zynQO=0r|!{-~` zI}ZCdGv=0@b)FZ3>BgFL_>-=qGeR7~qzoR!zyCP@Woij=4(8l800a;RnAAnXcUTuq8}b>)pCK_o{sH*j3#t*pFq zvAYO;IKrSYc0_nF|7@WxcwS(oNGrA%wB30pmUlF)35UhVJMGEkl=T93U%Ws+vrVc% zm)sSNj&tplJt_Znw@=~VYX$Su)mF7Rmr2Mb9nMI(Ue(BK&`{SSqR!%Uv+;zk>3>l~ z4kxgPBtDU{u>n*-uTBMyf^DVOe0QacK62EmU<=|rii|35R!V$R&YvZG-nWDeDw6X&F(b!WLXT|I} z8IS4Gie*}igCs86*XRFm=XATey2>;+H)sEnehbld;W6O{jdWPx2Q^og$3Xlis`kw6 z{#`At;RmmTh6ZKN)nu+y5_JrILOJUSJB$#%j=qp})&*rJce=12<_y;i{ooGZWOgW6 zuqn{LroC4ve3!^!E=RJI+Cdb1tP{Ubdn4&-X=>_jN;SwS&>pvzy|}n0G8hN;?4b7I zx)~;0YLil^lTG;H8A2f%*m8z&-_;JPTE6v9*M0xCZR*YaPifj8AJ;TD5+GgGS5V+s z+8G_4vO#jraAD#0u=m#hFEepw!eLQ{kXiXVQYHbv<;pW}69nYiaZd{|v{4j)TU^w<08ygd4X&PAi`};Y#xr;K~O9JRZCej#*8UUP(M`~QN zbMeZY6)w*v-M@C6beruB%T5)Xi~voY1Ci)(H_CbNsULN_;Is>>5%%%X9e zf!BPx8?!VR@K?@1d}L|a@wR9c3;{kj!k1{qn6Noc#+bJLbn$`zwV?EM2{j7$_KWa+ z8%2sD58>^oVre-VGdjzt?rlN>))(kbO>h!HBt60Hl&FU|hku zqRH%LoX&XmQp^MKuE($F+wDI1Wf%ni7$b^HCCW?K#e=&&or*pJeki{6C?Rh>K5blbhvNJxxoXj?Cr$JQ3FXOmr*X~?^s0(FhFF)aeD<9nD9 zJ+%n~B>pk#Pe-#kz%Pq8Vgtf<^}H4D-!UhkUY~qRSCm3qLBI6VOqCzxun{?^>bDj9 z@D3X8{Oy@*)CLk6Lmf#Tn`vPtz9*E(duFekKiz4e$+N6&JwdTac+2fV? z>ZbpEM++N<Ov;8MKEHB(F8(;pw&_v) z!C!Oc#q1#Ncu}Pf43vxYsC$VVgyF)gZ4(+RKQuh@TUt`Z1k6QHSIZkoZJq|(hlmg0 zZhamQ&L?jF9p@f#Oq2OpXRi_QxY~@HPn*hv*+$ndj;*9UxKKm_bH=c9_U8XNxV;30 zLzxiAAydjJ{RM@_3FL?3?sQ@}Isap=cC`=m82@_+Cc+6z)U0BR4|lVZ``ZV+a#9#T zOZ5%oE@=Nhi!~!(;X80FzEdzf-0DIu7qCfL#A^yUGos~WH1H3>74P9ZWrXh#sr+B( zaKgrY^6)>7JIst+ui$?74y@ZUQrO$kFN9^IUf#sEg>B4)y2<#4dNOsrQ`K~yQA85I%{rK(@_xiuC z8Ko3G;YSf#*40be%jWr}sHQ=Ts31&|M9fi?>*7~e0*g{Jc%I>iXMolZ_p zvmf&*xbYWf$MMf;{5CsEN*vM#@arH45<(Hu&Rhrci> z-<<7pDt&=wr1cUnx+)x@NnZb&lgE!mL9JxbNlTFE%3mqQ#J%Nq(U!>5!LRRLKW}S{ z`n;&s6km_D^-=TtnP^)DQlhg}hBO}q8Y;QGAoNvn1qlbU&1i?0%1 zcDp}jt&}ugQag(3>(wo>FB9kwPfk+qFJcf*Nh%0(Z>`CHY7F@u*myC*3On9RnIDPv?!}!^m+Gb6Kl&p6%d*!ljeSV5sCd0zqd;lQUZLbG=QBxKD^Z*0o<}m zGgI*xE0Z?GjcQPrR@;HQ)AUSPuupjz5cldzhxGrKCjC{>oo_(^^e7ReRFmiLxkZYBXX@={&MW?T&vVOJ3H74duGRpVoNjXrqa}<>bo6ARaVbTI?2XojUKm9zO`3w!L zN9bXrdoP2Ns!&JlB3zDBF7a>waw)OAwuqr<*dUR}|C%QVJ44wMxMnV8jtK}%>E$n? zLfzD*N|2@3ozfFcurn3l`{2Y{a?88yuHFHF>a{G-Eg%3|v^Th~xNrWOsEJf2!D@~p zh#Cs0oWd?VQK_2tU-CT zVXh(g`-1g_o6ry+_|w3bAnGA6B<=P^)c$`ioOzaI%=5D$c@Kv8QYaN)@AgPr|G zL)FM3%)yY4?2$S**&uMh+-uZ^J+C4C*;ek(>U9n{NiQB#Z zHe2?(AEf%5$WG_im*$<#F`liQ{AU~od{#H#gxW!}czF6Gz1Km9I;7&-lJ=cGaYC_Z z?Dg~`7I8A`?_Gd02B1Inxg#Uco#<9Ao5|GZvtA{9u~Qud(nAM}79B@U^43SK?@Bxv zWvFoX*5Dw6lbB2A4aT|f2#nPPLy zkb=JwPLUfM7%x@i889=gm7Xt=z%H!z3KRPL4lY1DMdwF0U;W3YAA8xXP4y2_v^;NP zhaWH8>OR3DrK?eM5R53G3(P>XH?)cM+a;gqY!)z`tE~{dV`}yjW8_gY|1CTA|c~E;d&VTQ2Vzs=6X_O3Y zGW>?i9U&W3-Q}od408Uogl+f!^;rtcgC3GSs2*lXV}*v8*M7E8y+5cTM&@hV#}qh% z{gYD%()b={s!h0CpyW#K*neSGGgQ>;qcZtzR1}hVHm~g>1vj@c$loSpUVc;gW$Tvp zj&=pm#O`=IKwa}^f7b~Mx%`F0V!A4BSB=-U;cFj0DoF^0vJ62i%gbE|9d#y~9y@P@ z{7ldG+^V;LE1(x2VIqe;VlZ`Eopp|XbLDLAD(Y;K%j>XAQ(0MQli{{uyuqT6%ze3h zZq7%Xp@HEMc~7ZXQ|+r7>w?GV+IATs2A&FKi z0_xl0jkN&wq>^4Lf|S3IPK>gb76=EWuF!6ik^xQQn_lwR+rC=*@P<}fx`55rYyp^!DB|w;DQZFy2ZG6wpt#D*>v_Lv!JIVHEvJFN z_A3JK+a;e6&(@tU(h?6{qc}a4;VgX%e|8k#VPF=x1#aJZw^@GmGEC0+5;Mj*g2$(0 zl{^uo=jWe|_WjB5wtzAAByiQG?viUD(dpsR2zH)P^s&pYD&pe;BHqfWtTgb+&66ym zX_(b*m307&=3LONVkBpj#>jWm>3iVQ<>FPHDx&`m)@FSuyTJ6m8qbu{(BSey#n(V) zJc7q;H``-GAT{9vuyKlYn_TX1+ntbp`nN6Qh+o{(XF${P^{-CgWlx&zwPP+yw?Vmlt@T~uTjtfXQ6KJoDw ziHfEsqDA%~Bi1Eu<(;bc2s|%>>_1W$C;o(aqJ0DOu=Av?Nni{ zgp#0R7KP6=blo+kBHMs(W|+ye#}|e@Z^m?(&DOzd=r;;yM-9;cyTP`^h9QeC5IJe; z%|zzz?a|H1VN>M8r)LmR2mTbKt|F6T2*?DBqHBz|uLRnjE_u>i#5wH#~DOUdyXZL!%*FCHh zGaRbzL0s8ltX~`+oY_%jljo-VqKId%{($)LR&H?;OVNa z9%BeL)s<+|iNycZ-|^(QpZ%@|8eigHHFP+1#$+$xk!>hMLYv#GIG&@S8uu&dat}BI zo2U@oKZFLCmEv6KXVC`w=+&V=b<_RV2_k3-%kfc(44{~bvQ>DkwEE3nPG0@ut6;iK zN}H8Ij{Q1iiArwj4l!!08e}!|QE{wZ>Ps;`Jbvz#({(188_TQIslZk7HL&O$x7GC_ z@%lCAv^GJ4Q_BcEdwaQGHEm(tqvH}_Ox+~_FaFhbcq2M&2tUWG2n-Phj1w=!%gC%h z5IFX_VL{A2j*4K=Z_a|=<9vyTUGfFt&~r{kCB(>`yR`84L6r1B0+Q?n{hoEwP8ykb zvJ}px970M(iu24q5qr9c8Hd3u>2nNmj8<=4+jg`V%XXG`#cR^G40H4fp$wd#{BFSd=%^=k!rUn;zhclr|tJb0o|^LiPyz4@)Zi|rb!J{9CY)I zH;$aIPYIf31>;Jgvw}qNN(gV zVlM+@l^PC5?FS2F{NG%F_`pLKAF`=emo_*h!0l9`vg}a>^#XrLR>cjZS&XQzeS17sM>WUs7v21H5oda z2)^HFan^9#H#FI7)G7M~q`d;MHXkPn5o~o|_O2v$%+pOYdezI5i_r>T)3p*b!#tXF z5`rz6>Xjz=QQkbEa%G$Sc4Ihe#M_Bs61J&5dFn%`kzTG_`f6zs8hyaLG3%pkmh7>+j;~P!G5I0_V z8-0$3vZ;pzQ5@;MG4R^3&3bR`7m0*o$v>J76|&3BZyoA!vQ=9!a*ZP}DKob$OWtlM z9tR69eC`5xE^xqw{)zED!7mfLHWN#eKf9BEeP+Z7a(MUM_c};vS~W(&rBGULYO3CN z@^dG^noX|Mwk4_U+zYSQyXNMzVjB^U?0y@X^YJ}9AJJi2)cuc`Eg0-RRHke*gWtlW zJ6%L8Et}CN9tPmQBEI*2Nsjl=!geSG5KtAACfcuzm(siAbJj^0;J+&+M}wVM7uiDJ z^*;C=p1dT1!PDSizsVWKSgXxG*WxIJxH*MxGPe08Lr(-aj58w; z1r==kyjhK<5qEGFFL)VA=J6sCsh3Lz|Kq_j97)H@`nI6&lyTz;`KdX9+n*zQpfcmo z`6L@;vKZ6_p4Zm{WRrVOGZEEI{Y;vNucTd}*M9{`CU4xjcTJu^=I+5)Y)F69%xNcCf=>r$uLae0=0c=H5^lR0=#Iqlpt^{eoY4 zDin!O%Yqu|=A-E0ESfBn?aC~%l>5FrHzP|ew!_GU4I(JAGN-dry70w%+$tK`AkZ40 z{*dnkyeZW4_)^lXc%$7-v4Y!DIGA0&X1oh^SHyes)7&{oXvEY+wSo3_)2|1_HAuf7 zh)#RwY+l?W1T%vFCN;qQp+qkp7Vji=SKZtWEaLqK1PThH>Jg54v_|&hfr4H6%hh@& zi_y*3B@Q8#b9z=nr|u#*XY${+(xr{PZ&GOP!s)^r$$9)f{c*jY{3sxB zz0*fu9FCzx=y{A3prEdv^uW6B|0CKy{D+AgmWiF;o!CKf^d-2UT2>e)oFInzxrW#V z8?i2=?)CL)STz2wex=x2*W25hm|?A!kXhTo8V)Eux! znP5lK0rU!)U4JI|hi|n^ju6L_X2-5P$cisN?XhIvW3g0miixNr;hgDFz3A>A5Wx?_L}NLN`0+i~;(69^x2=J9$Mt~G)N#BuSL?+Of$x2m z7fTt32z8!L#sbR6ZD3$HyT|k;@9O2Xj;*hxE07Bvm;*$dcV+2)^k9St;UwyYkAy=4 zP*;u8kF@q?zT{+zmI^-$BEUuQkYWy(ep==GSt9)qu|}tWjp;ub7c*qO`IOlW$+XrV zj&XxskxEV1nZ>65SUix4&bWYE+r^2CFrA;FFLnFN+T+c41+Y2@tqk3zwcy;*aS3ZmzW3<3|-(J42_m{k|N1 z2k%~#BKbk@e7vhJ0uv^FYbAmmqf;2)v7YwsSjetw`ud+ykCGe;nc-6aJcAzb|K9Gu zuyk0>yLCd+Z8%-5b5!~VKKYSxsqlbe$bFme9It^ZMOk*10{27Vu6XJ5Q}Vt`fg7AB zV;)Km=@v336Y!@%#aEe+Z!iQI?OJ*G5W*h?Sp8(4HqT4m#%l0TtNV3c%1q^c33MUU z-9*ki>|O;^o&ZvI1>GNLfGV?`QOLqJP3Fk=Oc7NvBsMiJ#$yP&z^2$@cqcty5(L{X-i(*5Z-B zo2u7g_5v`%O{PJ3H7(bH;n$qA=c|H<yk+~~xiaDkQW}`ut;_J)>FxfB=aBRFB^7{Q*BT)&da;9?)HmSEygWXUVg2ZJvK5kI3n&u@2f?y+T?tk~ABKd(c z+10XoqWr%Tu%B|taZ*v0t8~D*qXiR}erP6-P(k53>6pwge&zY3&F0~NYU&Dy+M*2W zv3cAXxY73)gf;#KrixHpq}Y}#N1-2Sd@^`~keoE>g9YZ<*sp{YDi)c7!L9|ceoE+= z8v98VeTq$>LHFTy*x+XZJ_T53V>r@H$u9Q$u9%3y+VEk)$hGmGnVnTx12@YzkX0`K zl>zZTu9gz`M}x49$8E%z%BtIGNBYpljYsSckZ&PjT63L`;U`PBco&!@?9%p2t*vM6 zOBVUl@BZo9D!BPTDX>Jzyg|D0%Zd>;Idb%L>gx1=M7@PW)X~=cO?L<=CEZAOH_{~_ z-7$1`r=Zf!&`5W8OLuolN)8Rf5bt>J^SkfAFmuj#?|t@KpH&(I2=;y4F+~yo<$5b@ z&$wDQS<42`pIWw&T$PE6lC6?0!4o#lA;+U*Ae+*p{%EA5?+USACfh7&Y0-wCEtb?N z5(YBEnIrg*cFtyYe6C%1a)U@aWCxN%8^JRKP@568#qk2x6 z5&0da)E4a5@{jDLhUH`;o@A%^v%1{%S}a4Evdc_}ZP0!*x#~M-Y9R1_qEK|_&l z*v?eRuxrm65^NH{zOjkjj0>6vgFk?`#<#f~dIgOAk3VmU3UOB-#Zb-SZrinxCWj$o zr8@o?Lk@;yFRLMQ_V!uJK)rt_Y?J+cwp-^3j#EjRDxz#!%R6!ZeGV^{&3oUwb|DKf zyVX7$mNRkgB6L$j;L<4i_E3SNC@PdrloBA6t2%+AuUnjwRXsHHD7eY>pLRm#@D%~Y75mVUn$9kfUgw4T7z41Zd5YNupIJG{>)*+ks*YB(oAdLSYmNX1Q6K5UHm z9ff1?AbIkVPHjdSD91+@?NnSWOxKG1FQFA+%0hl&;Y59LR7t_m(KX{N5{uPVoRv>g zN_n#JSb`J_j~AwRbzjX>fmq^2mO>HO`%7g(38@xh0>gB8Jo8;4bY5 zdas{aJ+iN#V0dZ#2&eJk@Li*MCijRzeJ8wW?QCz7@;K$+to=|`gsQ5v;RCl^QD*v% z8hKo%8*^oc>qGtF1CveoYl~A)pQ5)=)-#WD%<{@G+z%QqyFhzz|Sr*M~}sfYocPk4vdHmfJ08t2w#Yl;5JTw!Z3-C&rvuP40hbX zN28^MMeX6d%SPUZ<#w2`{VmX`zdeIcB@*h-%^$ZKniE1MkS4zLb!uo~u#Zgw6g&Fk z&Y4~?<>Tzr^VUn8Emf(Q=oM~k6cCmDX}@drQ}>A4aRwa!HoKiu29dFgo2v5@3wDA7n>!0SGv|4z^eTf=-Dwc>i}}^@we&)m#GFQ*qRvM zB|YFYCXIfEncS`KDN`X;g1g&t>V7D;--M*wLL+3R785N7UpS^MEv9Z9i62Vm-9AS_=ocWNR-%tv~)&Ig`EbuNxNBfGI-< zdV5;`M5W<)>YD$#zW3QVFy|&I_qkAshJODqY7*>ypA?_21(}!~&3IVDq%&+ zlTH^mzTM*0VcLBQk-sxs^RmZ|ySdNX%fo@*w2z1fOq2mO2|tCZqmMeBMw09M?()&k%j#u7ZpxxJWE%8r)9K4JYPwZIcz z!Y1(+C(fW;Z*?{5UW*g=6(J}iW>i+jSYTS2lSjC=KsSnt9{urWzWz<7|if7j?wdy zr(&XPbzk-I?GM6f75s|UJLH3%RKSGiJtIdn&tWc3piSZZ4!{9qgs^D!a0Oe&8|zcr zu=XN;s}Y6igGo}7!uR!O2Gbv4khc7o`5G0Mt6>tn`AZM8c$iL8-OaX8ww>2=G-_E? zjm7)DuAG!f-Ho$LKK{mcftf%Hngj0Rq_{wx5~U#Dt8n24H){WY0v!|m1GY2JqI!mW;0lU2(jwRGzE{t zy{T~#1+eUwm@Yozf;@E}gtcysNtVO1UAXq;&&y6-wW{TDqJxOjAe`y9T>9$QOJM5j zq0!}{<11vvpQN0Juo$)xF0ZD{CfzuE*c1#=jpxjQg#8buoq{_?jj+tGY9n$HfR7Wi zh>>jVL@L!mV2E}3D^#1tw&Iwy0xpx0Y;uCTp)60G| z)R<0du{jlC2hSO+yYhv(etNg5rcSDz9?g|fteWOqrm4sD>H4)Nv#S(I{sI2g@VQ>8 z;67=7G8azO?9mBy3y85ZI7|t#pBhUQOT%x|dvzuY>G)4S;PyGBj}=}gwvl}MjsJJv zug=HaDD@Q!!lTga@q(!pfuHfplLdIc0^|Cg+@?k7As5@)W97Pmjwdank3(zN)bSH( z2FvRXR05aJ#DBT0kFFdk9B%D~jgr_zA6>wIWyL-@b-$Tot{Awy?w?pWdW4_cI8bk3 z?7!z}q^~r%Gso_AtBps^zYUdWGZl}f%SJcCym5llU+kK9GO!|#u0Y$K&K0YP7Kkg@ z-XnK${}E;okWDWV=GlIFnVrkg|LJsle!c)ATK9lTL`IhS`lrGRL;Q!8A%>t|M-S`! zq6Nm>WNjm#&s(kjYcx)hLhgC6M3{=Cxb{~M#1>k#NXjUIxju(PHumRgA_bXUChIyS zIdx=)9nM?@^R~$PcyJ?ltd9GEgvf}UYl!* zGF{vopsyN}_FH4Y#4uRNehiD@6cp5(J0wVe(}#cfMzR6g!_lEbDCc$dqPC8lZ@n8W zHs*_(|1LDN-qzvl0?n)R-(rm(2lBls+&iwa4zI({p*U~=_X9*e8!c+Vgrn0u|1?VqWN)r9fzJ4KHTtxE9G^`ZOvpOug9K~7N}th;UMK} z3J*(~5}}(*eA4;LRXSa^^(B~Y5R6FSzyhDhoAlN9^-39?~=wA&%&!?b|%o5iFPtL z%$bno`I*t`Pt9b$Ev0=i={wyI1v9%JnF?jPl=N8ow%=HCR+@=?hVx8j@xWDD_-j8+ zyHJL56xPj7@W<>DUL?rDLFYacOfHSDRnulroHLg@1f32TD0gz$rc?+$FAjZDcztNL zRJ_Lbhmd@#0R&4Vi=#e73-Viu7PBh&GG~F56|>CFb&FK^E#J4RT+Hunu7y1Ec7@_K zoqq9F&*ccab|QRuMuZ4GxQXss+!*S{4OSa^ zWG4Tq!Pv;G%58UJ{If$DV)2C(Q)cLok%uRX_)`5-tiT^Qb;thCxz7`AL$$0Hpbz8q zzcFf`Cv5(-k%sAFk$n#k@t;u57Nj*lj~f|kj;ZJB(150G=U4O2Bj%TLdExWk3vaN- zB31|o;gE7z!G?NM)#h|YEG$@6_Y`kyfCr{^l`RihK3*)L@fU2l9D~A_M0>*|(wvc=2~J+7T#GIc;peV`@fqS`6 z3syzPPvOshr-LZorm6K)HpwC(XeE%p&wa6U(KtR-FePyj-}Ph`Ep1A4Dl(ig57R4P zYa9`7MOaMaOj`&Mg%r;@d$6rsIuF_F8z|$yk+F}4tHygtn+(g5ZcYE9=A3~3m=ql6;*jpZ zaEIyf3kRX(vOiBDC;+vLo$RSSekI+Y?pEGD0b*zd)6s8{JRCA40^VXnVcQX^k*GbZG`(Hg$}rRGT?%S~BfbX+!L@pyE+&fl z=EG9;T)K;yFgCtscG<-t?HCBu=o%&Tj%07wJys%5=PNZEW@)s+%y|G<(9JHS&f_=r%iGk4t8WArkxc-xL%#@$14OZA3=q9%d3Qq)QG6>w*@+& z(UYow&6thIvCzN*E^hW<1JLAgGn4VmNxH`#l7)Ywq2Ho}ScM<%dx4NAzN%?$ z1wtIGJA=LuO!&L~ZG3*&e(N$=H(*OkKsYuz1sv-w(;7d|Xte9xDKHmF=wiU~g%wI& z;e*fSb5rKERmaEKdYD0o^gQuslrT%-a;YxE!DLT=;}@tY2y|Zj*0(T^EKM&H4`-2&Gr_% zVB+yce({!U6sNru_Elyt9p)$PR(w26B1=qIKykAO7MrK-*l_SMVJ&7D-6(7rG!vz= z#xDLo18J0&k}5%BD*p6CMv~tX8IiIsW=tZ99R6C?@8wII_-C(RuJ}|5e34-Js<>^W6I~yk81hIRf zpcl5b5GDCL=?aWn1pCjac;GLv(kxJZ{f{8#ldH{G%H@m!!w{B0=3W*v>V18(r)SJ! zBHTXq1x_pazs@e#F7x4HlL@-7m)lY`(jXwj9O~Omq@=YI{Vt}{KJ+}f{T$=}2i-XS zKGpM&D9AwQ*E*s)%KSSMV^A0CvTU^?R4p^v=zD_JP{PU2HHWE9cw6VjV5LH;Xg~xb zB$Eqi58T@wjPfltOA??WvZxSCo%Do6C08y^yW@Q)~YdVG3aWDLQzC)kr?Pf4Uh$gl364m$J! zBUXRt6~l6N#DG#KUmrWJpXqb7K{r;p0a``^*XR1I=gki53n{^Z-i!W1qbk6|tl=Y` zjV`~IsZg~Bx#sNUs$gUpAHS@DqvGagK%~f~$e?+A-}Hf7`Lx(<&{r!NBMi*HE}Op4 z9Xzw6dt77{c0Deaj@aLQY%q4y?6#JsCC9_9t^*3 z3ZhOE!u681x?b{3F=yJ;ww+6WPf}VAjL%-fg`0e8p4EK!$5NPFt-0x-$g8wvneCL^ zz{~3AKQBErJ+rv-r3P8asr;de!-Cw%%g&%`U3lc=Wvpc@g6 z)XdCQ?8`^`eMln%p3qrKE=^P7C<<|BsSm8zICkKei;-baTB&ny@;EUm@beZAn{&s^ z9?kDS;u=36HM7nW3kySa7(VvKji^xkegqq)WWagpI-NfsTDXo7%&*i-RuJr&j3CaM zG>_qR-=`L3FB9-;cwhPKyyLLC`Az(z?Ls?#PLxj|1Q*&&H$mEyuN1vP4)CoBFO5qxYM+~bA)G!Ko8!nn1D=C3Yy z*q`G^@P@69apSZrV%`21_3wLIm#I(f&E_yVt10@e`8F&G)yW-@*JCD@EC#HY47hOY zRYsx+!#n-%48a$pd>={}Uk`Tf^qqnXvFn^@m>(PlshAsEzVAFG{fY4xipJ7N6G!{O5asu$J2HccKUs|^2A(zo_L9sJHZ8|oW{>EeH1XSm z>R4lEbXgw3zTOBI;s2U6E}owf#H-5`8)|=9C2Q=EgvtFcLq;)dh2Gbv1KKCptCMrp z8vKRb3g<=uY@pHE7hJS$JJr}XRVQKlQkQ3DWap5%=dPJ()%<%Yw7J}aCb661oN_fGC5QRhxaKgyVef3DJVMs|JaTe3IE_JDKl z_!InnWh3bApr@PP%q)Y4t_dXXic&@SYKF?ATN|HW)@P^VK24im|V)p^$s3q5m1rTy3$Kp!Wq zlg4J8den2-Ng@)U85?w2zLfol2QeEkIwDd5Z3LO2Ec(1%8tn(OU=1nU-KSFQ?kQi@ zYV>qx{9+^m->#@x#Rni_>VYJL7`TIIWGU_7KkNq+wN}5r5B>{0zx26lIMq zfC7G%(Z=2;+33+!_ENXsT1#)odp8TIpU~4y%yxokr8$Hp_E&>Xp+kdxxZR^2(6Nd6 zSvAROfAmQO?EWG_^nCoK_CA8K=ryYb!GD>2rAr$ZC7RJ8k7i(~^@;=Gc%4e13f^=n+vEsf?$DrF=`9|HsWu%LfMHPB{A!ka+ZywZ2 zTCtD8%7-RzmWw3>A7?#dQsCz>dd!yG6w9@cZF@TR;-&K%-snL=iZXh#G(q>JBpU&0 zudd^PDd1=M2mKYY)}08GPQxfaw%9(}%@2?2OUOqgHYnrRDxI|2Y{s*viINVIE^-;p zPR;=2mcmpFD>-M1>H`xIQ}x1!db-}hahsFHw3Q_wge5K2y_z(BdkQ*QLp^HzL)pX+ zD1hw6D+S1Erk>Yp`E`mA6aEoqy!k`6Qzu>n)rZI&rij6M|3jC6_p5>TU==ShP!gCF z`T!r@n}NPTbejm=XmE=o`6~z`$yb@NFBe(oQg{#i5o?_=^5sFkHPbnFlt`ptrdYME9hP=+VzlO>0itH$VewTjK8i}~P|PHTOZdDWp%HnXWc z!89NV5}qSYJW@1@AY;JjLBy?evybmZque3%YN1%T%VyHd zp0ml;9Gc{IWi$&jyQ<&mKeW=5MApZM7C%GAf*%`&6o zfybvm5tH#E_6ck|T%7ej%%T=1(z=L2sv+Pd7_vUWmqyh)FGVj~j6QXV*YUPo+e;7L zb@+RN3uY4&+5BA4XTWrlGckB}1<}WAx1Eeh-j|@r8jmtW648)Ml2_oy2c4GOSqyw0 znVWpS-k90X;d@mir*5Ig7CN25a9p~l(qH58CQs18#>`0h<)^23mMRNUl zt;_`$@uTmygZ`TC*%tgP?~IUJjD z8MSQ5zw$wqJUd3x!QrtDA3fE-(u$1rsbv>~E%MjyfvI54L(_u>c~shTlKr-+aR7D? zK~0R4+Z~nKU5Fp;t%}pu@-n^u>cssToAdtkzW6p|^1)B}okhx(?R6K30+7&4d+g`m^v8 zS@JSi`grJMbawU&c)h`CJ28EPG_3s;n&&kBly}9)rh2UrNH+YdBb;Cg;8NXU&uYtM znS9>c>yGwj@S6t9Spl_<8P8BOdM6{yx|bRMP+UU$#yoFe_r$A#i7zp`=4Eo3;)5Uq zG+dn_8(h`0oj83CE_Ccst{Vp83l6$DKgcJHOm6`_!MhFjlm;{lDf2Jli;^`mMFn8p_3-{IVs3 zstpBmpMV#at9mCr|8?-9OZ8fQ^2%`KTW?MD^-AmSucFt}8Gkk+3rUfpn0fx)V`Sm6 zI>rNN=MpOWiLUdtV&YpYFGn1DuT^;y`g8WQPp^U*+NH%&w~d7gZG|{v6w-a3HPJiX z;1`RM6i+3;K~#gh%p3(UauV?g_LE7+BoR)u5T)o9q2}q{8{^++n&f6;ySEC?=vpENOdBO$&ZY zQ(lp(iYgRI{g*NM*9b z@qB3?s!E1*5Hv!^0lS8}Yg<>wp3cbkvSH6j8IjwBOwkl2%;SU97p~x)N);RS(7k!n zAr9qACJ>I{JH$*CBM>QJ>DA3c(n~ve*TtQ`=h@DbF=LHO#&flDy1?(iiQe(OSUP$h zAi<`eJ0?5{X>rnF>x;;|=(=(6+ZMEhmP+T%El%ET9|Rb~*ZaKL;&65Ty-^uRQgAki z$>7m&JiG+FX^h59W8WwYZIUjF&~JbY@P=Mr@ba;m)?X;Zeig2IymL@+*O?CqZTfsD zSiOote5kF_(qkZOJXccJ86 zM$4H$<84%T>a(s}iEp*#qFeEhk+?9W$FRqMgseJR{uIDDrMl#fzZlV|g+Rgey5kgP zJW#@q{cxn$5MPa;25Aq+Z|n07IiN2>y(R(P0g@iIV*?_ei()?VCzCh1L#8ccxm!Lx zR{h5-*Bgz}O5~iq*gP$jQn9k#G^{@)`rX5stG+#=lo>gyCmK4&N|;O{Uzjf~6%BC$ zV=_hf^{n5T+Y9I7m=SyNmxI-t-g3rlUk7Akq{36|RYD zwjp24q_T!9y`wA?UucBNKE6bkFz1C-qOz;*6K$~(-Uy4*-o%vwpx70Zt~!Pj8iq-C zN%5j)2bgN9rP8E9L%`3XLF_1Io@%>0ND3BtJmbvVC+$77dK;8KpJ+M1?FvWWAjdy4 zppE5*)alQ^^FqKBpF8JI3f&7ST~z2&nKp%?e#xf*73;T zaqez^t4<#}%#}VG##v5+2mtM;-PC!lwMA_5Zr2(>0?b6BB@89q`H945avmQO_YFOclZ#b>Hly#lA&Y^Ry>%!>Wbq`)L>B0))r)`iy+A)$M*E)*E&W`M>!Uy8X<24EV0O>`Xc08t_$dW9;rhi2 zcdgekU@h@m0G;B}7I3m?L$&yoqe9-Rs%^8<)iG#}3)6kW!&xct;DxKDV7mM3LBLlZ zV->G1Cy`Gt4=f$i%*`W8ip(P>jCeI%__Q_1G&MB7JbsKtJSQ?k$;>c>jWD#ekkpyC21sb)%msHjK75`N^>1uZj$P-8i09z0Ic4 zDlbv;cv%u|71xhvYqkl;q-pwB#~k<;(P*B_n$jWrfz@Z*^Ok#*4WbYp^44u8zFyY` z{0Fq^ini=|j^l$|pW*->V-aJ%xZXAC;AyJrhWr;c7RoZGlFwCsGF28m`!qrmz~8yq zF>W}hI0Al*&U+bE8_m@=&7{u{WFenrdXX>CNd&Y3_8yTg#K&#zb5n)RKxLt7VR52U zk#)1l&)rVXfBw%>yhHXmkDJTBL~~QG7~wkVQnwNB-aK=@$(34&@?|jjwuqhvn>Q0u z<}Q;xB-g@bf0vSpQ{}(aPPC=a!rX$CavCtV8XavavvaLhbB4w{^6HU!35my`kF?Ax z27H)a^1H=_0BXz-@RvC)KJYDQPyR=-`Co}f(dS@vHK^S<5A`Iy56G6r)1K&HT-_vo zz~bovMJz1(Gp)Bcr9o}H$|L(xvU$Y+4DnRPMTz$gvC^UIfxODk2855F9e;{t{SN}* z2<>9dRHUR;M&fd$m8Vv{4)K^PbFSnDmG>Jubpf5cXo^I>d)Y7XflDazXh~@ zCEDbk&+!B1CW8rB`o)kqUYqtyrHkw9i_Ei0#Hj|0H~5vN&^QG+7}M+$nBT$2vy*jx zdZ`n90B#%sDk7nUyf*zG1A$}qcKG^#-gJ@BV5F9rhGj}cE-oI>#RiSv{aHe05RE8N ziSW#MY#hK(a-83EsnE7G|NLx~3bY-SCIy!pfA5=g|X~aX`cITr@SzX_L8ZzjjO&cTqY4Y&5 z)@Wu9Xz;oS3P+OFn z=yWR^R_rUof5bKa=uSFcQP{sPz;shN%jy`R&49bcYe~>Dl}cE><79t90a}Fu>II4E z01mzTC!Lt+xVQ?HtZI%VsJYos49=5t9^9VCK9kEs)uY&`5Pfe*7TL$Y`d}xuY+-FJ zm#8d7+pcx+QqTl3dVP4Fu~HCuZ!lsv2+z5IlC1w*BhoANm%rPLb*M*^LhxwZ zulNz<65Zp`=ewc6voof>h@z!Vw)?xQVSQqR3vh3Mjme$t|8QBoV-(I@YT<|lDP5N$ zaQFtaY$3HsyFcWVY;A2V3|nPRPEITW8dbJGQn>zk0M^M{E<&E3ZUfwHC3&`!X6kQ9 z0_3Wt%arI$3Gd&*d8I_?@Zqb0TjW1$Atkisrktw_U^H|g6%eOewMV{>W2uwL_OXsy zK2;jP|NBRmuFgA!3sdA9BlU;h!4W-?zavJyqDAA1i1Y%kP&N>uB#R#O%jfF<|LCwH z5R%xL*z+vR1}8Kx0Dg|ew|ujsB^wT%bv6hBWrV`FEjD$)ABkwcQoTsXJ@*o)Or~{MY5$omp%A(X78XB%&i*H{PMliyksA_*n zmszY3j5j&9U1$g86iGk}sbW}#So#0T3;u_YL;xu#hT;BqFQkx|7}QCvH8e~?_JVpc1P$hhCl))_z0Ywwjb(itx zV+4@QQB|YvM0sDWU0Mao8qlHXk`fM5@R;?Ijl`5AFlwYPY-DXDavV-bYFD)h`10HaiF8+9&GVQU-ed#=!=a{Kv81ctk!~jQ zTajLs^V46+LjACd1lg3076*Go(vQ=tH(207%UdkBSbD23!h7BIkC2A{A+JnSP~w{` zgO}G9DqoMGsdhXtXXoc%&)tn(4Tv_bn5D@cyZEvede>IT+8@+wZMEAt&j7ts!JTs@ z8~W!tXM$5>c;70RDTHeDx- zV%FR3u?kR$5I5$IVA=dG_$XlU$@1M)Fv%JFHKNUz--Nk+o*Uj$YwBj*P4nz?nb+## z;qRFBO-{IX+)FqryL{rlsT1IF&g`q_ijs z{S*CtXath0akGjFRBD!XO-)>DJc&U(ExE9Hc3lmi-R8`+rj(Kg$@ z?i*A(V#8kAY+@J=6Jslm$Zeoy-rU?gxwzT#Hqz76<6iyh=hu<-SD<*!7wdz6o7aCJ zh<@h*;}wJ<>E|t*9dr?OQq3+r51IWA*4GHY{%4!aUVYRs(t7e(OgkYOJyBYSrp z(dY_`>OPY>tF3LH~OA=FuR=G!}btu~}nNh>K#rtFLkV8fPF zL}+*M%&JQc-Tujf&y{XC8l}4xDWYZ~o0^j_{Ec=hyxRWCt+(&f4xgg->=~*6bW?~{9OCms} zUGrP|9lBb8t|&s*ZOL^&nXR}LFp7X}tj+C6b4VI}44K?t&5}CKK;T zm!HQIw5yImL!9@~{Cm)w7IHJSgd#|n{)m*Jt~>iya`S;v(Q_`kpeXYH`qy5JZYlF6zu? zb9ct$mLXa)UI04DzP0k2163Wa_r{En&U4}w>|Q!o%ozHG@x~Y2e}NYQ%$UoFB6&4p zH;fIzX$?S?J<6di>k37u@&`x_i+**rUUv)}>i0g{qwJI6`wd?UcJ(c7c($l^5= z{dj>D0(|W@bgJ0exwL(gYuCjZ;2qTu5p8omPc(ps_UXNLn~o?AI4lhuCn?jTW7~=^ zD{$oBQv!GHznGnP9?6bm1-sv6S7o~iu6)|CF7{kpAxg%YzXB6d1DX_Ca#LLNh`f%G2~}&yb01ZmsCnUf=8&b>ZlAA9v^& z)1KbmC2d|K?g_tZ6IkgGsT*-G>00j%=vH>wn#fnvG(>J*ZW_R!DE*5G?vtp>f&$;|(jxKOr6yQ5Y_~ zXRstZ;Ok~Dr1{9Vka3p)lO#v#SKpWz{gw= zN-)dRC_+WJc#6lSax+F@Y<59d3T{3Z{J2R-;wHt>Y0vBXN~=h<zVZn2Tvp&F^6V5{5zk zEgo$)Klpp7zlyqD++wuj)rF^~hBu=a~hakh1BIM7L zrcpVH&&CCYtDctwKSUThap4lf7;w7}9LS(fX_W3y)$MPjhreAKq6=_R;g%D5Jx|u!`8WiHK8D;`>z&}F z-jL58Y`$B5bNKb)Wunvjs6hqC;smm5)y*KrfBoV3_&C9(miz4Q4dQkK+cWExpDzMF z0qi}_M7pjvffhaROj8SZKU?-?vU{{pfti-GPmvP;0j~18fRP9xb7Xd+6flF?Xs=0C z<-^S=B_*Yf0^w1rc*bQ_xP$7}YHkZyrvJ)V@Y*PFS}@PYI^alqM!`Mok`8bj5il2s zBr$zAZ{HjdvK9&?uupWs45lq!|E@9%P=--G7Yqt|78DNWbC{b5Ab)!twhW;BlzqBZ zgw=}wt~4`vOFG(=q#~t{svE+0D)uR;g_7~j|B?q&&1oUCInp8PFSmCJ#^WxfMQm~{ z*SO941@4{`xwqp`Q9T(+W9>`F5OvWiv8blu*d+y=FI2!oB5HjKPnY7s0_W0A-~1qn100&&h*$d)x9iZ{^UbL^2c>{j`SqdAyR4qz<{x0qc*5#e2C0<>CUB+@>n)4 zRP97fSjAqwWK8tjP^FaVe_uff4uABj6R*#_2 zT=2Jym^pspM85ehR{;Tv7er>WK87xo=Io$y4#Q0Mn@cX6r6XU|jfs7O7URnEjR`=h zHCOypZ>P}H0885^j-_gH<9ylYtn?e9+p31i$27pmc}(Ko-88|zq_sjsyt~~4P_f=& z9DnuW*hn4J9<Tfzdr8OdqIq#J1D+3UaBOeJ{my! zMDaJWnzz@@+!gM{8z*w1NdwjzScX+sq^wB~%<|0j#kSAw#O?dqmJNlMHAHgP+k%SV z%X}QO87I|orB&jE2*S&ZmFrbiVWv0G>89)X8qY_EDbGc%!*P7wIn4maynfMFtq#j46!RTbsl&z#PSk zKLLtXBAC%xA0+17pV7yhg8sA|3=j8E9Zl!T4j5%~QB|C(Ts2*xFk``~e43wK$zSvI zZEncbKF?%1nClu8I2|J!LS`%qqnyDv4^ua+?;K<1AzsJifnP(1g;39{OC2 zugO3~fL_DzG&y7Q83>gSv{XL}TGY6Y;Fsj#b34 z9y?xugwv=m&v(z4`<5FQpxga2*K!ay9Cr#jFN^mSJoc7r%Ccy0Sgk~G77grP`9|!K zdYXFW<;~BRHP>4}#mO56?0k-k!QND-T~g~eUgzVaIIOmu{@T#>vc>VInrZPxptmkH zhEj-d1{h^SEXG3p`wqoZe-A0#c+8VkOofbEyWEp_{_qp6Ip7^6==@Fgx`g0O(+J8< zOX!S)m~H#~`v606RY6{{E+BE_Ch9pFp^oNJeWxy3ZH`K%y@Fh=BVH z77#wHo&M<>&wNr|qEC&Ms3UK27j6Kb)MnmG>&UyOE9Q}o2WmWA)Y!3zglJ(xr-WR5 zBu%n2E>kwpOUH&)1=M6pmq%!SHHheEAxa?j-rz#f{S-_XA$TrI1Z;cndHb;0A|-pc z{u@&ruOaX*YjdY&te6vG4 zBO}8CcMSupmYquNP!J3AUJ3pC(cBQQnK4>v%&w-Zc}J=hrma(VtZW_ou%5r{d0(*C zMOTCQ@Hw!XFpcY+1ils0ndRW(eG<%2qCqv6M5dV)wB)A83q?wD+QWGn{~LHxWP{PC zS3&B_qMV#&EBE#F?*sPLn|*ojTRKG=96FNkDx1xPmID0!4L~U#C~La(2m-AvGU@)bD)o`^PPgVk{J+djs_HD7swA=d!Wa9&r@T&D>h>#eG zeV<@H9T;+2Qdq-Zj)05~Nhm^D(|!U?k6I|O3jI}U%66VMZNs}NhOC_`da-T>8exoV zZj&_F3>*n^skZ@~iZfC+%x>Fo<8xpb9%qewDlNMzo$S(0&M9M9OF_r1?D+CXW>5Lqxy#i>q6zkmgM%C0>5PT1=rE6Z=c^9;*5jhgUdy{+u$?@m`l=(Tn+Z4vufXRn&8S!(xr8zDr8k2>Un>O zAXT{C`!OA2FDB@9}n zCu4f^P1<`NdNCe!U|vDNPk6Jas|{9hdPpCQAA~xNtA?5%1t+6d(X%uck!zIG5}uTEQAz47cJIDsqV||oVgN}m zC2fEM{-Ud%4Cns?pFm*0%hbB>U3(G!YLrNZchoiR4%gc;zUNy+{``YiDYf1|@so*Hto?CofJXw;0*n!2|Z|PgN)ZrW4Q&OUoY^lB#732}~Sah1feHTPD?j{yo`V?M2U6_jVa)8O(j{B^$HK}v= zp*w+%kHlI03jtP!$I?(9#aQ4Zz-fqo^bKh}m z0Pa@%J{BxDv6{=PC0-yCd~x=BJo6Zbo=#i5Aor3b-__%EeZBd*kLUGw3>u z5NgaID`ag!Gj?t%Rxm+W$leL*puqvI+~x`d?l3iDuaSRSI|!8WR^a&%Wxs?eJlepv z)Hg~lnU>z%l#Jo!ZV&ZsUpvh&tr6n$t(-hD&pWtv6-!2s;n1-wrNX6#OJD2 zI-mQ%Zda*RVaHUim7Wa`et-G$WswIF6d_ShN|0Eo@-KUif9RaWpkF(g-aq`o|EGaU ze~lU8Pe76~pBagn>Rlq{?~;)(POCMU3tD%#4WSGpxU>0}Rku1-%xS;CUJ1$WMXcSulhdoJ6xZ|p7~iQ zIy%e42eP%(%p#eH(`)i`wu|>sO~lNUOl2dtTBs_v6@h!u2JBpH$5M2f zs>QB=Ki--^z}fOr*Un6-bPQwvK(<}~e(~q6f4@~4h0QdhR_fpF1GIAHbD=Y#YvQJu zMYI%d$hg>ZF#2*c7yJf`+{ z0Z_)gxgFz~t_V(V8<|^;c4_sxy$u`zs#;;mzuJ&tSVE2EcXTVt2Bkb%WN9*fQ>Lx`t{ z7c-x-)Y<(uTgts$TEXCoXXfJABZ;JT5IJOY5XuJ^3kho7b^G(wIh|>ktP4ppnUpKZ5gkw^Q9&+{ z?w%M{W}FXWeTdPA7w^fevGvRW1h+^x&=`>Ixg9Xz#64{9LpSr`MD%fdo*EdDaoB!E z>Y_51HB2?NvMglri}>TvbCs~aee@G@nRAIRu9us+G8u;#&t;|y?PuwWwds2-e@zD% zhbDfg=lzZ786Ajh3QwxfeS09O?~R3V)$YI~CbV{a6~fQ2P!nfA4|i2k;}cmKgH2)G$9O4#$6tZcwc)OHvL zjKS`g_sdv5Eg5D>wf*0Gnc2C*?FN{0-G08?&Bg^eH<_83_lRZQvz5#{U1(4l*Eet$ z-27dc8oKi?wdTF_9H{`N{Cc^5zkHLKuIF5}?xmSfFheBKE{5?ONcPEdH9IkDStmbK zwh}n_j%B{LY*lPuwSoI==w7&R!FZjfjqi2=0h2Dqt6YRR!+|POQkMn>kcN;QsZE)L zJ3;)c0fx<3R$}0B+;bPsNf-l&=}OKe1hPGhoBAqEfjOq#c0^7p!+NOG08-X>cX!VQ z!)@Qc^Ugc6s)aN&CnDN_|E z+>h#fgr3@DR5ccnbHR$&oey^gye>$01Cny>xMTBHQ{cV zjg%>4?-dLVSul@KT7R*s?jiek>Fhq?Wu?{QHRr%19HLN9WNU7#W~vS1Nvqd(wn%1G zHPTmRsS$92ANxvmdFq?gnK!cStLg7{DRD3)gZaa#Hs-z5x1;WNB7l}^27$*_;tcl- zXTXci_o-`JXljL~nwRoM@y9M9P_==(3#=WJ?3njt1fO68`uoE_gVo*7N=%{~i92m! zNvSe}7_Ow1W01u^4ltU0&qvK4#J}nIn0(~WM_{T5Uvkss=!+Z)f8u8&=_&d0slS@` zc5{Kd8#%W?&dB0EciQCubl55%u+o7fhR_=5VM?C$iP(lQ^XYWO4FnusUs*ROfARmb z_omU2T-TZ4%{`IWf!a`ekwuETC@xi`xUZtzw%lz~9%U7?LO|YyFKT4#{SXM zK68$BX1vYm8FzcUYZ=RS+mc$ANO4gW_nk$FEN;cxt5B#yVFxmi>wMpfcLRYyCUQXn zNTA|TsVo2yZ@KTqi~GKN?|0w(D~Vs2GSTOw@Vzyz3f4!bhBN)q$DvHKL z8!vziK@OFj{>W`Jxz5)Wd!L>$AO&YfDTVW zfiJel4009*b6kW=z(bkvoKD%$I z96R%lZ+=@5Nv%+}+C*jlN#2!WS5dw*v&+!7{nz+UnQ;!s5deZR8`7CxzlYmpoP{-C zwYstGDzwRU?VIGy#8DY6OdD6maEyML&bnAG#JyDnSPglvmRVKD;RoC*WyWsyxXl(t zUBOoDcNaDDXDzPf+SV=3z2E+$5-W}F=LE>o*;&Mtg(Zuai0~wcC$fl_Xlpl?UcO6% zvi>BnW)=74nhH&h!@xyFEY0SMCrJIts7Uj=oCzshs5a518K1 zBt=BEHF%JSEfqfo-PYsk!7Qfi`vzDdOh!<+xOfp^wn2ryR{wd*!t~x+G`wC74ub3; z0=1Um@ezX@P$6YMsTh^>(N@Lsvh7H*wTg-zQFfxN5kxg}ym15_Qg$VK&@&bp6uMSW z4(+tkF#D?YeRdNx*)b4>U#!6C#<=A0I&wZUgDx#V%v!)gnW?<|=)1RGRXFvZDZbj4gg0WupD)?d_E-H(V+0?d>u#^1iW5m|Ou|G?0h+#(D}F3k?+bmeknmlZzs4 z+qP{ph-%+(pJ7`HN+1DBz#QWF{6^x^k?JtWDHSg7b6n5<9!Rw{Bv8p((k$fNT@w~q zq<%n4yt-u48q0qx0Yhs@CFn)7B(P=`cV%5sK`3(VN0`+$rrk1YZLr98mvyFoc+-_~ z+ikbWn`e*8dTdrt-6ZX$LFN*BnzhCa!yw^}Swr}W_C!c&$UPnjSANsUYubF9ceD>3E zqLeVd^TDOkQy~+O+m1z4b2y>1%-ETaScQo`+2$ouiWzr~&O%&F($p$tAlhzTGLulW z3i$$j@g2nx=K|-TgZtUHnAHc3Upwpc__v$>*mnMGGMl=lC=+4igk)8Ea*{=E0G-!_-( zx~YWph3$e{=tJr(=mK&L@FlftYTV43+1a^MZipR|C>-jOFp*8e|DEharjHmW z1G&TYIn!Xg5agr>=xS?mS^n;KIpau0zTX^JWCrQZIYZV zAVJ!cT!a-gUC2S1UqwV>6(nO0`PKqxh$TD+cSYoN$7FOCivkaRNi8?>UJ1$f_rw1h za*=l*D52NY%KL6uhWLI(gM8m)GXQX)uMFm$SfOq3b1!5s%5d$N*(%I<&}5?$ShI?I zqXTAkF_zEn|CDS)il*JRqQ0(O^8EA9!*AI6g#w?7jB1dFDv`zqu?mf#q9*0~s?V*m z&d@vHk!v4Dk3{xvxXir1Z`pf`JT9l@qrs2lqthp4aBxsc)@8n+zSB?wjg_EAf$&;> zsPsD>N5p1x$-hl3Q;%p3-sioTM zI)wJx!U9}U9Scb1G0JZW=YO~VID|O8cK>a zMi^k-xR>z|sVppzE1wDG5ornFT^F2dQgWnQuiS{PUU%Jf(l-?#?~Sgh^>!a)J`#n5 zoIQKiJR98q_--*V5!^?bTw2+8-it_=^LKBJ&7jE>(uC^N&z;s-0)6d0?ZzrA1%-r~ z&`3~4%SfPQ758fVr+x|gPpU3YH536Z;7^yf$O8{NAdiN27$w01eJ;|w5x@I|>+X?X z89r#Lc3jeMu2*&!d%{NciSOPgT4?U2?>fSKq!eZ0$UlY53(lBw}G$12XQY+*Pk~k>Ywat7-%G{oS~n@Z-^vqeP>vB_(OvcMeF4 z73K$EDfymAJv`~_TP-W?rcJ;pwVbZXHLU&Bif#9_m(_e~U8LRr;92&EQrHPr{-v4! zEIayl$jyn}p3vE(4{#fW2j3h4&1%Mu^Sk7WmFhosF$`oQ^=-*D)Lq22msO^h^Bdcn)s#P%hh?PO! zT?E}8>>ZM4ZoAHd=chf?{cFMYSS!L+rO$4?w!TuG^ewt=`sb_?|GR%bcJH_Chj757 zrTj=~QZ}X96lE&5L^um@D=PMb*{qJzPz4&p|wY{Nbl5Ndl!^;mJEV9`1~v2 zso!_+zss1JyhS%W|HkJ8)Xj;{1O%3OIQ;ils*l{OwG?vw@^no;Gs`doXHCL*#nA`Q0a%M6)A@O>SpC6*n6g(qV;g|ir! zA&oIB7KdMppc%e@ZzJ{x$9}VlMKgH0zH&CBg8I4_)z+gcPkrC*iX=-8N;K#2yq99k z7%TG7$Yb(}$gq4T^D*=Mjzt_$LC-a08DeSFpt6b*3!1J$0%QSW7)%HD<6guw6xtJV zVeEqOZO<`XJ=Y38)hy4AAgNxZxYZ8^X8Z)Fl=V#a1x1<_@%G8Q5xLYbZSExt`PSz@ z|FzcTj}g*-yO!1p+h4g1v1T8E)rRlf&Q!a!LC=X{f95+$L-lIyS8!cxOJLm}$GDj3 zXUoiDuf6q}Q4Wmz20jW_dcSY(y2<$Du4H-Wn{}t_001BWNklNU!WlNbyR&P1*@J$|jzlCr0dK9$0QW8+b*|36P zFXuDD-!Y+`T2add(ky=aFFPt_~|tttMAv>8ubOx!O>J3E?TmAp_aGdADB#_Sn0-fP-t zWN>0orrMk!mRSTYvn2A4JhPUaW|@|8Q0*#8fJ#;8Oi?x>Yih0|Cd0WItPechct+I6 zeHFXc5=~bNR$cAwVWE&3L*APqY?T!$ib)z_TxIa0sur)*jJAV1R#pOyzVBDImrZQ# zz<~qu&p-1&8YQBfqDiKXef#!F?zy*(?_p?}SN*`ifNbm7Rw=gB9l7$f7TO%f7ey|s zITC1AQ}Re(zG08_*&6+9;Wot1ZO<|6S1v|=km8k>U14+@hX-L{Z&FayGvFGJA3J0- zskYu$yOia1a_FQSJ9f+*TzEk7#t-PhXfd=%gLX;B$?~yl?q0MzC(k?W<&sfjaWM=* zPyi|=;HoyZY6^O_`~816!O51DsH>|>N@EOywhB8h_CW5AT%0xIcQLBB-L-hV`l6Ce zBq-}&0*1cN#w0P=p6?$rQfV#&!>9$t-FZxG-VkM3YOP3~6`d@zPuP9KtH`ftC)P+~ z+uM@bpZh@Wg0iq38jC>}Eux9Q zep7a)i*gwGRF`m-D<0f&ja&{scWi^Xn0b-BJBIEM9R~yKZCA~Zq{Fm-Qc`^N_q^EOE;wrq1HQ|u= zMeT20*?#o*%IE*H*E@>4pF@AxUih65+8cUPjv=^!sLC`JiZQuYT?zAhpg!z=K4P`t zXrixbQseVw0=3CpfER2r6f+07f!PakS$GQ1m@~1QXJf&#JC6F&Bk62Qmji#dM-Cl2 zCO6*dY!LT8vf1fxY{+~aKXe2Ben@&Y!!~%K7RzEw3-S`}obCbThR^4=8yPN{(_tJjAQ?Q2 z*&^J^JPxeOj2o?)S@CC9b=g^cu~MxwpynX&)#l%|np?1hKP%!+;4z6{wpn8pUZXGA z)|t?j>dCtIaraA`ZX+K|eqer`%i(3}cTK=4mF1pK++%!mm)p1Q>Z`7v3qWIpXPLs& zGtrnv3dhTnH$MguuLjXK&k2#rU5lm~iiPur#`XKUclvm5vV=~e< z@FDw3wc>BDk#-ilr&{~f{;r53Wnp-PEp5zN_t`yk$VPX21aSQLto+qqy((|Nos$<{ z5IJ}5Ts845_&eo7%Y>HY-f!yeU~ofS5~#G!bzZ%SJfB0xfpBjpO3LET{jt`co4SM- zT)bonsNznYf$x6DYameCmn_&8t6<$A?rt=;U8Aa>Dzd2TDz6L_Wpwy0d9?FNBr|fT z1o??tC*!=O@wiL+Dwo-6E)ggd`|a*M;Dy( z3CNl+V$LB=;N{%0ywk^61D5V=$b4M3L_ObFi;=2!&mvCacz8x;aV;5zidk~>a!t(N zob`pT2PPie*cYNP{2Lhu*hlT3@jo{)9kuRI&MIur*%%P8tdN(w2+IoV?~wD-6&?mJ zxr4~(kpYyJB3hD+Z0ssFJoqdHCm=j+eZ_O>n~Wm-!CM`2>eMN@>`G(;!~sbn1u?^D5O0K=$QOHZy zm!10rn~BA)l!FI9kXN3bmbSKCk}aKZ0=<$ao$eOfWXGO1*}XR}AAXnP^hj?$B@@Wm!c6O2OSPwJT(xNq8m>VC zYgJ#WVQA$q;lqFQ=utTtJ1M)j@2Y4(N=Zt#Z{IGV^!s!EhD~!W``|U1m;f;&EcNvq7_?5J+$^*nz=@-}Z%qS|^#&QLKrfXuzGk8&SCLWdpomfC zoJXP^{4SUIRZ{@OEJ~k%;54i6VpG8Exl}+y@uX1@vsB)Vsbl_e&a1fd-+G8pA5kju zToYOpDQ{r<-RFb%`VnLA&(6Vj@uG)`uYK)FFhPk-o~IHWmJ6drqfk?gef{HGXZa-H^}p7CFQ#~NZ)lIV+qDLV29LYLa>rIJpA?q2X1|ZSYspyNX4g#Z`aYVT zo;Ivi%n!r&Q3&We-%mw&chd~09mintT`V=24aZoG*Vo@Wvbu2S6F@4NlM!AkrntVv zR+G{oNnH>ctZJoGdC)2kz0o45UG`fM+}_!cOyHBm7`=7Yj$G6y_m#Rj1AcFQ3`-AS z-+vO{CgEgQ+A{bZ_?cR_k5|xfXY+BFMxk{>xGykcg^p)`ob%p`%fkJAZ{aP z)4}0DaZAyt(S^6EK*o!X8+^<5UoF9;}(M zjZ&IDFC=B*bC<%iLoYJ|-Vv;QvN4$@3kzE$dl`Ol)VaUptjc6OWxgN(hmgGfD(;&; zA)Vbgl%>!a`mZB3y(wYm3E6)2VY%zaM4tOL6fjs7zW9q?(Vb)0v>G1qqZx+oF1mcb@(^zokpqggQMo`acNMPM4?)3hJgwBXbSU4jJGz2dGu#EK}JQzsPT7pBi3i)t1QF+e+^ z^lStYoSy}x2b#Skly>5H-2*$J9XRX6?*dTk>M@7_KJC^AoIbtuZKq2;|J217I~0U4 z_}0mCa}lXtLy3rd`NBbYbr+a3y~m{VZb`;E9o7?OR5LFe zjG0Mb`bv-kd?cUnaE24XFf%ji3Bt5eLs#@%-gv$8}LTc`ORo6lm=b;22zKhR%(O3F@^z<0C^! znFaVB!OpgQphIr|@gs0|ae}jnLQ#nhW6p9j%x{2v#FpiSv{S}1GWt3B$FF@2ihsfc z4i?)-W#0ocShpt~mmB!DvuLDAK77%@>394@QHK5=XxDJ36d>HM{Xe7fGe7fLiS~Tc zSUZXlCx|9yU7BWoch1WwkP~O+gl3MqQyMLy1 zfzxkws02#4&<PQB zJisQ8jr9R0diw0M&$2fqldlI<`^liz9Unvlf`oOcPVx6-n|>j^*I|e;EagBJAVAITkY)Ze3l~41Kc?U zI=^&ubYP87;XsL`Hkc=(^n7@6hWcg(a*gg3C?A^N;2l9*Z#5X3*bqGa}zxkWLl`sC=RKth_e~bp6byetv~*thsz@Yt{;MERNMDYR03;Oarg5YD{wel0jf~86u}8J90|)=K*~QD`cU?4*3AFTDMNynf+? z!(IVbl|mPgR4}3N#mrzKf`qCpF}t0jrbdyqnv&P$n@MppkT6lcF3To&x?AM*`>)7j zxHM=}>v7kN>z)oRL8m z7f@kILgC?qoC?PzGXpdbKU2~9G|+YyC5fp-V;{zWqo=)7zHrSQ=8$oALz@f_56gK# z&3qwECY>ZvHb4=+}r>T9p^qlKfE1KJpT(@R)S#Y9M^ zU>yl%;ZKe_6)2^Jf#ZZB#T4~fH`hQU3wX@ES~;#!oK*qpBqxT~xPPc{qSF_?J`Z+b z@|?)S7pu|08L$K;VhH*z0j0%2NM3`l|{ zjSt^X+ykQA2l1IfFb4hG)1|zGV67xZM0Ym7YYg`%!wTXW*6cr4a}#a4v=*<>zaKYh z1z+KAS7>hj#;jxWPp={i{ya5v>@d#$%RlZ(K6| zJR+?jlb{#1N?^?@?zIlke;t)_n$45RxSTwBQvUeOKQXj(!(Bj~;cGaKXi~o5$-ZWg z_E_V-VTNU7k-`%({bE1(-~%~&v1I%m2ReHV{atBKqa$4WKB9qq$Wzv(B@Q){r*pP_ z%{AAULrgU@t%=b^9aQvh?7Y#)^N(KpzWJSUnY&4d6e+4Vs&{#YUstWw=8u(WYUv1q zf0YJO8!7Uo4Yv%VLtCNhl31`oH)>H~v}GMd+jkC5jW$|GgLPhd|6o@5`$Z=RH7M&>0{-Wy(sSi?XHY+OFWRoZQ)JXAbJjBIDt7ij z-ipue`kmpmH8S;c=h}*Z49iL}JuasKX-{pS38^5n-7z4bj_EsU*kC}>2eJ!B_@Bf3m&<+|m>G$_ z$2WtAm%q`C)UF3L+_M|~$qwm-AF;P=uu!)0x>LF119cood?JyS6HqS3dkeDBA=z-U zyDn1nBp$O3k9N(UQbp?AjFmP45W4|0Mt!fKJf}|6G?~e zFSi%kQw``P|BP|?Swh$L4=(MM!Ei+}T2&CIFBmy|3H_|F;y z+@Oz6%u{b~HBWW;i5D_51EJ;M*vvIah0!ZJ0p+SEb9dFJ{Wg8)Cn4VXMWHQ>zy8P_}gc|j`I^gc7r@~@T}bZFx<}y zXVE{h*3X}4)KrtW{P`(rx+%D5#UAgwUg{0C-?EB(y`xbM z>`IFJV)ga*;_YmUu4hG^lhz+5VS%%)FvGJLcN#68r%bK*{L{vb8|Cus<@1`>2U8Vk ze^GU;{NLS<8_Iyr>DpG!rgb{U9xZMzM64y2KccsSxgQ}`M#aF_r8$4 z_1a@bk(w&zOuZrB%cri+t@6cmsi;=C4h&lfHcGW-`0p_X7yHXNlyS!?}3}m1sl_lF!TP@lQRaP=ed~meCbQq8PSK5 z?^)$5K)cr3T5M*2RiWZO!NU9iwCr;2a=m$#bhTWXVCiyfQ6A-e$-z&}9ON?B0C9q}{cQ<30Reb-`)t{1Wy#umAHE-3cZE$46 zQ>D({wjT0Hn-?-S4t!kSdD{S+<=;B++11%EPhJ0ohMTVIMynTWeB!sA{@I`XzHI9A zt}Hv*b0g*ja^?A=T)CCBfsXSuGhDKi<5@Srj}xy8$gv2@skqz$zWDvUH_FJ>lSq*B zx@0@}M+9B9Ip~qLM|r7?y#1_etWCI>2o*m%J{Re*|DeTXpbzvgRmwzW27Ks<-bb<> zlWYmWxdtU?{agu@6BmT_Nq-wy`s?q%E`#yBF=47jNDp!;7pYJr6)u_I&@aP@XHJ~g((jHrxrKWxLEn}R|`iyc1&EC~9xGc&f}z-{b+9-sCipH-STZPCX@ zf#$_5X~wd63C~X}4xRI5-lJ7I=gw<|3tjgs{M~?t_E5+7!&oj21~RzrajgL`nnFH| zqD|%8Y|Cpa%6L8ZY0WC`YhhASBz3Ma25rgXX%Nus>gp0^S-a)NTi_;BKjmDA+=PgD zjDUqB5{t@1S3P862HqL{sHWh~C69X?C1~pR}C|oY?2rFa_@P=bwLG zP9Pl?4@^r|+-+gyPo_Tx% z3j8|)T}RHJpORORBsQ;3`anmcJAB@`MhmB zYfKC}TwZ8(N@vmrO^+flHJ->ZhTZ%;iBrO}&rYGvl(8Uf+~~}Ai~-3E@#mcFY}SIf1*HET}-URNsio|c>< zd}s;e7)n}Na4fUT+8bTaW3L3(yyC9NBYnKR;CjLSP|a7n+Hwe6A7Ub~Ec&g^(8^-t zl6=?-6BT@ntF>42-?c$i+^l7QEH*5C)=7G@0xe9^9w@e5$Rd^deX_X-#S=QXb{io8 zcEC0CNRc4)<&(JlllOi>e({;F$m!Fk<;^%#zoS!Y#FtJtxGa4CNf}y^(7pz-m`hZS zb{-H)DMLVQkAwG~d9kL!zGGZK?0jxSs#*TL{enYb*bWm9H{`StA%cpn>(<-Wizj2( zxn`(kYNja!STp;g!#q$8)2VeJ&Av{ZQ*{dp$)Q7l$}K=yijB#=_g*ih_Lq^@0Bu8) zpFw2lZFl^%JoEfJ63zD*H>?le8J7p{x&kOSGcQ1)&fH>s$XW8%q!XC+o4tP4Mt!;;tK~CpEnq#7 zq;!W9a;$h!#_>|28x~Pe#@raUnKHxk`q9@rdYARAL4c>;_JZpdmq4{?sMXh9Tk#&s zxK4672$HQR))$j)+qOwp=9shrTw-h+w(owEzb5+8PpA^NM?Gh;hz!hW)Ab zP_{~+*$<+`w_kR<%VpoJzJ1~DFUXhw`pf3D@3<5=Y&Pquknf)y_8emlN}&3?n=u;y zZ2R#H8|t`4=*t_giR#{Y=biGi-Jg^Mj-r}TRfARa=ReE8W-{w$N{}s-bjBJu^GQlM zS^$6ouc?(t0t!f(P#WNzG#eD8My%vX_}vOg8le%;@Z84{6{?C5M@7hEG=L8 zi`RgxLlE%1AqV?Cci=z|9bMPnLH*H{`|f7||m)dj(;p0!=>-u1NuH*;oIt}buzalYakM(}XaZ_6VD_1AMAZuYt664{Vp>g+?mdRV$2v3Gg%UwtfGD!cGSQbI zo5BBi2@$qk%*)4SlkxzRZ26Rp001BWNklN3$tB^x z3iw207dVe0v@y~V7BY*2iF`$hcV4{;NX5n#;!%1WFve)%dMnK!(bBu%ZJ*lf2q@es zacJPr9Xu~_Q12MpQpg2q5a7RlQIfcS&(4%go`wH9s>)CG$@AZW>(;(KlAcHd0pD(D zR$qDMLn!jFOCT{5%f{`Xql!+!qmBP@LU6!@>sPF>8P}hdZ~u7*6#6bn_Dsn2H?_&e zO$;QwfCNuY?1p4FNM>RLt}~#GWESQ;vIjHUvBNoqemWaLt!LK2onb|m>xwm^7GanD z3r}$vaSI*rIZk1XjAhesn!`G`n}8qO(4Xgg+MOWnN+3wJ{Z*0odRS;yOjws-L)GT1 zl1Oy^G}yGjeTLx?_6ELJicr$c!4Ut25quvvlg}W0V^6#UrM-TJyyg}6^)nSKKazd> z_Q{PsH#$L-{*r|n1HW}GW!bg}i+Td4cr7=gJeU)>Ib6Q`a(Q(3qw;r8JIcHIgRlHZ zYj2ULIS&}@Z#M#a7AqqoBL-zRNCuTO>qBUMu&A)}!uAA}Rd_*bJ9O`$oMvV-PQAv> z$g|DbswO7DOUmsR%BvT_A=}SN`!QB}`P6G+*}c0%_Uvf~@A{Cd$o&5AzbW^Dt?2C^ zB3T&DNFTl_pj}K!de%{1;L1La$Nk}lZw5mCy5!Q1s`ER)^D>Zfh%xpFGTL|9G&+Ah?>yJb6Kt2buo!oC6~AMAz@S>n`-`+r~HE(1==Xd}bz#!$Q*h zOf{WI7il}qda&oV+E-w3<$9KYGRAOS(PBiPz^}9~<|^X`BYO6cT9v=xP`I8~*4)@k zoR#%?(>^FTaj5WP*+L0uafYrXPa3g|214)0*q7tOcQVk!c! z76Y|V-1$*KzOa9QuDJ`rQ9v{Brqp_7n0yr(cD_6A~g&Od`vEQ>md(a4pgG&6Xb#34U_c{a$^? z$1stRa6xVvkI5af!%dH?F%vq^XCR07WOAOe?tg*uXZp5sjB3fq0xHQzq2MXYi|<54 zwwVi9G(DJ*5UC_gidE;!6bqDG2xnys)F@+c&)^GLEhglYXX$|ZMkjAvMmKjyadi}A z|Jd{J;mw9B<=w>%cD=v}-5C~8Z>@@hKG?>q#UzVF3IG zKO?e#{~^#o0zro+UdnHl0_0st?=dbq-~Rd-+E3zua85dK>*szR&vO5_5#zEEhk`WR znD)zTW)^<$19J48*F~mI22>+Ht6f{=fyywR}SN7n~aT$f%GeEDRU(V81 zNfzE~1LS>`Rt#B#YBj%=>7uTKg{&~ni-GTzBI+N*JBI6K8avT=J|mrY*<}#NcFO#I zEs~#O_q`R4gJkkA+BSXWw6DCm=-=7t%hN?<41cv#G}F=ssxMKh(W ziDJ&zdhR7U-`b(BIw8%Jaa1LAi*Otw^YBl=kWAjHIAb-+c4O<%%obGDtfqD!=;G zDP&lE%1ORt_3{vW)mR@Bx#`?EmXI0;ZZE6XN>N|!!PToR0j>>N^UQXM1*LH@m8@jC z9uzItcU`bfR(mE}w|(#0;CkbGifhj7cWWsCuXRPd>OEWYiu**5vkCr5=$OPtPP@Lo z>I3HIF|SwR%Ccg3bWx&daCSpE`+Rtp?AW+Nws@60>(W3UZ{mk1&z+UuZi9V(8Hysf zdY;gebK0I06zNe5LAyo3_4{93bBFT`yH0UVCuguC;5cCD3P~oo!6={>x%G{MFOlcL zul;Xc|EfH8^UoU&;sLgUTc)63v5Y!*OD+YUZDgKQxyysJw&zM|SJ4kA;%>mCURv(u>i?atQ~mBr7o~?FYZVtn z?+d+>Fw6mJ1&UE7*c8`4mkU0#^wHNeu#5FUHEwHyh^CO(2&_1_e`;7B_-7lD{cjYm zDtS3~dKAf&cB5*C@4XZ~hku`Q`+C?Dyc#g}4BojcmU|@j=;hrO2BH9Yuc{C{+r1*?t;G`xRFlH!)rOz=KKdx>Mv^ zN6`q)Ub;b~W=&mpKGZMSnX_0=WcES*4ZJALL1ks8ZUt6H(1ce4s<`v{<=SP2ONaf* zDSUoH%%*LBcKE)X#lUq@L8GjPQf42pJq|H*C4`r5$N&MDI8fbY6Jdqi%y;c~N{ zKfVJ2!Ve%sxc^CWkTYu;*R;2{!d{O#0bejyW6X~P4{%%Q6zU0O{aO{C! zalI>GeP6Ha9=a~{d9QVycoFw{V_9l#V|~xSr8PRP5yt3n&okCwRcJ0PF|51Mu35!h z5#~r1KFNT?hoU*j_aO9y`OJRbV-|o9r?%Q~;>l3ZjD>!-# zzj)%}5paP6HLs!1Ge8!pT>bLP-;iJXXTK(&vMwV?{Q&8N{BS4CP zCQ))0m^DZ@6{01cuWIP&{7dZl!a=z3CuQMr<~uC=dUpzsWv=dSH$0NOFj>kF?s{wL zoJ5n(Bb1{b1?SuLaAigWJ-vUU}3@|mJ%j{V=ClkfLKF` z55or?zYj&N<*H=;=IwmAh!I>{oC@qp!hLyGT>=tLdCyFAx5udmEMZEI7vB9D39B>8!QR)x1vq zopM<#7r;;-@ic1Ox<%J>f@!DBHeElbnaUqfhbU4 z&P97tKSb=>BLBhaC%pXAmF_S}@Q$HfEVG+R0!}YECOj1w#{V$4cB74*C1TdAH@a*( zZI3;X=J=Yk(~79-94eHa`ZH`OQA;wloEy#9B}>8+E$jXFm;SseKg1)Ka^DMi%G|Xt zS0rlXrVqycuAq#!!RNY4whqus)pr#zxv;Y3bpAf*G^KR9sb<*OOX(m85w-n}$H(%{ zYYFUK{A|ce@Y%Y2}n{>z=R>REyJ9Oc=EEd+Ct+Cak)`x8@Xb7TFKK{;d<8 z<=0LlMZ5n=dFct34WDlU$fHH#_kA(Ih|`*Td|p+`2AuMfSko|ut$#4>3lQhFHdtpU^BMP}B5CYjB7t9>;REc~jfw~e zE+tGcd`MJPLB1!IUDnI6r9$i?gzk;rJcP($sP|A-T=dOBrydCd@~92k^qgq3^vqVv zkcGV*kRIO$NgDm=651ZW_|Pul46OEzp$8d_Rf_tPGbDA#*ER>B0i{y#u&v*VbfuMS z^z;xME!0|`p^dN&~8jN5at@iT!H@LQ)nP+QsC%)d>rI6K#83h z@^rl>FoUV*O?YTB>&ce|Xy9k2J^A)6U(j=eD0ff*IVNPI#`0HiO%_=^t}L#%rN`tJ zn8K99Ruz=0)mU3S!&^=5%8{9oA-P2m>?fV+y^2Snj|s;2W_({W%r)(3T+Dp3g``wJ z9z2%1!|jRME>mb~BykMQPnUv!nxTJDE^eM<&Q`>DCRLGf4Z8N2Z+r({T5UhN&R3{L&ua|E~N8^a>L+qk)WO$>OFL8JRQyoZcf)J!cJ zWyXDoqt4O0r{TJ2W}ie&3#!^ca*zJUm*9c8DSWQ12H&TfFpGd4Ee{c8Jpp&UK1zuS z26%S1p0_@;#QsjK32iNs$>hrJ-KM}ayLQ|?iTdyQnTrp6Y?9KVD5)fE!B0NV*0(Zu zi)W|}_Pe}K$b@k*_9dt@{m+{w^kre~XcMz1^&^SqN=9yWJI?4Oo zpDV%B`Y1U*mG6Fi-P^XqC0b~!@LcJ6HjK=w#Sf$Dvs_nA9>L}#fBUh_6{=fKmXsbrOo9R zBLkM>rIX#7Rl?!H0PRNRD&B&sCl<|`_w&DsCF&{&qSP|lKyo7UlcaqR#b5d<3yH&@uY`1I zv|Hob*_2>1*jVWver=bI8k#Hh*8HoHv9(|hEGUWLoyO;!<$ER*ePvI6ICZQpuUIZI za=`>H%C2;gYSC<{t>`wg1$aE)*@Q4>e%sR6l(e8;sQMQ#ds=QY*NLB?NXS{R_}hyv z*x5!tu*^zME{yQ5;7t9|2jkYsraESyfTdb6V_ScD-MI;S0od@ls~i3@7HM_qw;HUF|1=dVL_T{d%)o^S@J;>GxV?&v5%J$G_s!_QBFA@9$kY4<$6HK*{1!1`(r^gR5Grjszg z*OK~y!8U9mIs~bTr0Rxld+Rl)&f!An*D%5w<(iBA23>J-M0j`CPDWGaL#X9_&F7gY zG1r4w1Tj}RBh3mJ;$6@k1GUDq%|}>(pU9}j3G2}CXe0PyZ!XB*4|}7fsFXy(j$yy# ze*{zeF880*GmExs{nFMF7JDwTZakHkr^q;!sb2iR*#<^UZT+|54`d?BG^gz|UF(xI zU+*&eAZ;-I37!kM9>k~VDm1z1`FNMx!xj?#;`O+?={m1G7k4zA`97(91K@Hbu*?H* z25e639_W0^0hxX={`+JISHpbvPD2TW*7Iw4>NK zo=FT`UsFKLv%H$BEbr%8Y`ZlY3<%Zvso9y)&arO+&dzf>-n{lJdn9PRDhHh}B!G>` znleS}PadczY7F{|ak|yiGJ*9!6Xk*8xt&f*?jb&}?Q^{IwNjpz#sW_jzK31Q<}F;* znVgzSx1rV4lHWvqA zy5+mr@!3W4_>d7FcIgug(w0|kDSziRcQii~vu@6v_leF*b1Lkx$aOM0)f&GL<&QQw z-+vxmp9&jej>Ydlln1mi&Dnf)uPe);I0UXXXyk%SNx`le1*jB5-kVDk}@wYp141M{)aY8$`59{`xc?1eaxP zrjPAW&&iN&lRs=|>R-m0-xk9hZf)56!Th71!(%=moe>-@T zjZn%>xYdbwmC0_nB&Pn2K1P%%?&mnp!(EqG84Ghau)eXuFx`D!^}4F+JN5cLvLH9q zOxXx~f%=cR%s{}7Ggfk8VzMv+=u{Ud&}#jGTylZhp+Lv~km=Y>c(S!47g#F#7{nog zU-kF<>A#0haq$<2e{^v>kIB>%T7^~!3^bdbyQp68g@>q#51?s(t(v3uwX!HU`dQRv z|FBP9ggz!)LPJCM zCI$#WEvR8~_+G|(9g5$De`fdmSzc^`DsQ@Vl`eh@K@Z(~UAi5j881$<>xAyhwv~oL zOC;h&(v$0y3JnXJBq~b{=^J0#Bd;J{IC_C5w5{p55Cow{k*P10`af3uim?u5S|h>) zXPj6X8|NChEq)(T4!sr+Lnn7Q=>VMmwvF+>aQ$wM=eB!_rp+=;RQG)O%)|48We%jM z^~-~+?s&9AhPDW_PLNg-jG2Oc-IPV}s`h>{7H94_ynhpr6(AFPM%##h+lBF3?Sf?= zCAk< zFkbF{vi(Z{I9LCI@r!d0IkN2E&pv7T^Q~lRN|hAfP$lL^^L!yL{bSj!Q%z>{^SDfA44WB3h zjJ1CUkAnKo&H!?wB+KVJ$D|a%zQ?d}%4PS52(Z;E%y)aUF_&)ITWqZhgMB8#=@}B>2ek_OdWhPB%e}iZiJcj?=erubIr|6N2&2EcP?h zkS}m|F`xdKD_!IsC16_(?YG7^3x)aB;cqZol3(jOou(9nN(0++VLOzV6H`_@Ug8^R zC=ExG)ep?Tb%a4wcM~zh{e%keT_WNf;)}CP^F4IAPQ0eN{FHe@3C< zqaFs0e0+K&;RxZoev^aM=&Qse8@(DqD%^H;3DbB}6-nHYcA&aCyy`1o}o4{$SR90p} zVwbszP+(14?ynyDDI8^?@p~n{#!Y~;p`evvIV-dYbtEESvxm@m7A&x-Y=CYMXF$%- zS&Fi%t+rGI12yQUtfGIOtwrrVN7-OJDgGniCA?jexM_I2zea-do^dV3yXdR1F0RhV zUrEPPcSiG9HApbM@y9=Rb)yl|q%Sk&SH=Ak<()&D35>X!?3Yrj*TAP6-9CU z(445w(Qy(7*I(l7336W-np`>S8Xdzhu;mH_O8ewpRJlycuAY}wk6beKfKbF>bR*U{>s0+8 zX8msND&ftW*i70~C;o31fK@oUv&BoYJ>MW21UzaGeHueIeu>Nsu&7n;$>b111(|34 zd6f7-yT$Tq1@lcnvT$-S=VR90OJ_k!4_Y!$3Lv!f^iG-j7oQgB^h1`+awOYtvZ9>J zO*PQ%+chy@;b!#qhes=v<9DB#yz^;R`rb@z4

J6SWL`&e__0g4!Rxh9-|~o~3)q??%7$Xwz(LzSX;9va8J?RxS!K)zFLBMe5UmhqKO09wMTzC7@7nfwdniNqOg zT=+vz6-5XvLVda$XF0&fSq`q~XV3eBVjeUQZ4vohY-Gtqbup9jjDnLuK%V(8a$dU7 z#YQ0NL?)ggeq22W(&r+7 z#-kb_>qE^IZ&julz!huyS0-*q{#Md^F2qz1e?PY}qo)PNOtIMfgGdb94D#SO)?8`1 z*&5cFYkPY9+gl{*!?(it-F-eE@y9RNub?uKHRWZH?}}4MYB|fka(Ht~&p4{k69^_) z>*SgEJggC?Ymiz;slqSSm}S`+p3B}CD3UHAN3R^ z5cq`Qc!G8TwW=eo!O!ee`f+sh-`@*~8wf8Z9))+lpnB z7%g>Yo;E1dQS4l!$dwSG&1LmYO3ELr5D<#~!V=$*|BiDW7rY1QySk@7(xK*CT@fOX zYqme{PCuzXG#&d8Eo!xg#m_7zt9y=|V(yLWkD|x5G)LpzxbQuU&jcQd zR^}E0_C(bI*2LkH3R4T}t8d>5bNWbAMlnmV7p!IfF2cOLm`YB5uP?0BhV<2p`kNl* z*=+yMFVrGFN|lPdyIATqo;gb9$pN{khD3PJ+l$1Q+X8N9=5j0K1(6rZW{}1~E#iBJ zN=o^IzQpW0CBYk_cS`b(_M5P+r`-0(n!aMH*{>onj;TiCG%^&3m1JkaEoTI)+SpSh zt_Xn9+tHj4H>cl?4i(sPVnm0KLLi{zsj&INK}%k%w{7Bx5jf4|CTih~WA5@vk4mv# zI4ep6xouUtxnL^HoS;EroTj+5wkNw@=-jbBNu%DUE$pXU+m_FR1xN!Bf6>KxLCtK} zo$h>;BCER{=^@ujwce$-Mk`NUZI|9*^N}3gS-asWx>kC$k=yVN+Ls*!WIgt7&?c#m{-0@#vz97Yjt-6m& z5SsqR;b|U2!$X8LZjD4)GMg9_v&M0?tDS^NvDMX8upn}G)xPiK1>cCRkpA3IUi7jo zfpjM=CFxWT>Gh@Zu|Om10a}5(_|YgWwXol2WTW;Nko6CH)pn9AE^?!7YcBKpDWv`g z5t!~5x~QCxj{al|gOxPjD?PSfr4TqHcVyGWp>gbgEeu!`XN0~;8`I=bK%zq3ZpaI1 z;otBWZwi$2C(2P$|4SgW(F{u@*@_Fj+fL)tK7cA`I_np_{F{q9g&f_~Y?l2Uv)QvI zq{A{yc?D4xbi{_(nPXz(mU}ZSicFh>SWlAbdyoxFZ*a1~Zwg}_aPaigz{>$nMkrhM zGHKr(+5(!&M%bJ3NSFd{93}NfEGj&DGz1J3ftcu&B6txOC+F_rS-hue8HuF(1hsav zs-I;3HRbpxju)Les~vXe-KQ>tVp>r317H|o%D^7~9px98&SuUFBl~|^0K`1~uvxNW zDSa|fP&AbzvlZkH6FBXfGPFhf;(@U1F#)alo#)NrJIz5rMBpPH1ja`@-LLz$mmh>y z^2iD7B-mU8P9km+(8vD{xJW99&oedhN0#F-8%;Ps1$V_41+F^}5iV`SLpR{K zQZTzFcJ`jVtES3KDN=T z=B^ixqD(IKTC0pF@CjXmgCMIHcXiYzUHk7)Z7wo%B~?N%pf`zb zq63_T23{)`;a+6v3hOj1$Z|K9@|DQObgfpZ6{kmuZIfiC^LUW6qGT}(0E(moTOiQw zg%jqf6*hQ+5ddKa&-5t1(n0LF*(JYoPwx*IRGR2ff6GJs02==r`^R5I16vC^#=88W zZJ|Z?=Dy2DBkV>DPTic1JSH&Kbt0=R4@&sPhdTH&=og}iT;|JlYB6?U=L&lpTi{hACaTHvObJ(?(heRqvXKt5I6KJ)`TIs9o%)RQ}COw+-B=J1%dw+MzT#=hVtN|u=J{hBB|8N(#s&<5S-og*uE4>{HmjNjE(KfM>#C5570JMNYoOHoYZxfUqM z$69>fG6<&C3~-Rbk0qjlS*u4|B`^;amnionUgPZAU-nagl!`V@!-rT?GH_?V+q$V* z^wXEHtPi~A!=7r`e4iq@t4tr#6zKEv8&-ACT{wu-<69g{bEl#Xknn$ucfrWVxWfLk1Ziv0=J~oT;Q#Ry}t}Q;D0Ca zlQZg0viQtMOU`h6o|BiJ?`8Oz;bXzBDO`fTh*oJhDJPU8Rxcn0(XHrlBfLUL)~0X` zm&X2>V37vF`U|EiJSd+yqJ>fW7Ytqzhul$Cv*@)gd95`#gaIt#D+p80ZO zFM+$&`?&e{F!Ky?9yn5ct=a#NUnjE<(8S)m}eupC5IW@A`3 zBw&l~Dkae?>azXXiL>PmxWSGrPEXUDv=S^`FS0m0!1ncrUepY}5AuZy_kEbeT>LUV zhw_GMhVI<$I(1gTLX@@W?iWm=LSa~W*#}h5bmJ)Z+H#$RZN`WXleynD2_Pw@jSi=D zonweH49y|B0|aC|9U%Pk;+2*q5z#T$vUYycsY$f(0m*L8xmB%qOSx!PY~^!eKaw3y zCKR>w%po6aubcg_vP}Sb!{1}$pVRHErgZ|1+R0Y%MGUn`&h;`X3r+r6+WKP`^P+HP zNlPyaa_1cGdDG}V-R?-ntMA!rLE>;oaLvJGp=Vq|)c zT{7rfJ#i`7kmEJQU=$5&r3poUV|~fLRz(H502ut#*HiiVf1XIL*via(dWkO7spDF` z*(C2;*F731*EQ*wJN`3}Y7N4qv_K|!TUDCTRX7esOQR;C_THne@yW0va}pU+VWnBr zTECy0#iB2*hOwz8lK?3!r)Zb1?NCJ>iHd3iD|1BK(R5+{FEO?1Lh)4Ij{bT(o?EZL zb?G$q+g-6$-ua?;D1&?vHB*D**MTH-Q+fLDRsvGVq}<p1!_>Bc)i1@n2_XQ4!HxS@ji32$$dSXiOGt0$93yEn^Q#r^%2L0p0SI>jT zjNf@3i6JB?SOVRo^6)dG9G!{z^H{w{ z|Gul8kKt#qpMHv6WD^G)&u~vJ-XKefygZ_uo?QNHgeTF--c9pMb@f&+`T;H^UHpQe zn(}Y!*mbDA&3oTBj6`y#4KD{Pp}_`O8hAa4u$Eq0nt{6GO8`mOX0*VtHn$ zCs(5p|9!NxB$>-^3SyI!K*#h*L9G>0$G5z3^n%DD-1Vv|qi%-VRkwcjRQAM~s7v=9 zY*Y9xC)_SyuU#qRzrjCi{`m{`=STeH=wYk;21P$0d_K90fXl1_$B<&wXywo$&3Xajb`gln)+_8G|+ux(rGB9Xf?6qDQr)3tW}h$ z6l!OHO&x^_5{1)jBO5sD#+bV&A`0I5UE#K68RH2F;>}f+j^!@FdEdk=mb2^Gv3cZm!$9>zzEXg0dyuRYO!PQ}YN$$mjQt7Us- zi|vHr9CYuYRG6zT$OF(^75+Hty(#%zU)QS2txo8VIhOs=82C0Cnv~~YFlL8M@;F-a z&&9v75t3*xfYDoJ)$Zt<;GIR)1^!(|RhUWMYE-um=VmpC&TDNE>Z75jZg0UGm?%HP zda?qR_*3yXo;Lw)(bkV<`&+AOc*EQo#g}T@Zm-O^lfR(5IXiJ3K;@_9?r;u|_-GJ& z;J^{8_Q^Y)Np}dUwj=pGTw^JDb$Gu}iG4Zjm)~E58+UoRD5Rz?W-0v~4W4tzJM^rryrimwM&P9!=i4=)ZMiIYNFV?H z4nB9}p^v*$Ai*3%XXZW0SZ0PguEyxVc7HY@===Mor3n$#G0u82&#kQ^OGsq8<0;r` z`ZYjxx*b{ALx#6#)L-JwXmjvno?blq=d)BhChD-&7X^WB|dqluXeI#6i;7$Xi6@q)^a%-m}1IN9+`;Zwf7%&op}2OQ7(;s?NAeYuoOv z<+RUAa2fpZik_Y><$zIE_QfK(+VC76qBjY#t)AB+RC9Ortc%n-#GAIlOs^eBqJ0`k zxYMv*W93)xRf{O$5}v|RnTv-oZ}m11h<*)|sC#%N?%n41_Tfcoz^}32qfl)z@S6K( z7DZez97rjuBV{M*mdxpIQ z)usTGRCaRllwScZlROXccyX17X^B`^ghEYA4C8aWnjKsJYkiWXa~|>J7gI6rybbj& zXhvwi#x*bf-?{EelD#65ap6G$k=PP*Jkoqug|7GV@U1?}GBYK2pt%XreFoT?KF&=I zY)&m`m)(?g8eFRwVSni5&aTk%O%_L`c-U`CE`bHzzV;WA;aW11Wcxh$*P2{j`rXcu zBDd^}Y|5AKv)GJI{gC^s7#B!qptT->vGg)-CRrs0GdnZ8*^aF7AU#g+a+|K&Nuir- zVt-e-15-UZ=;R>*8Q2R2nUqHTjiH5b1o%#FvuWs{@Ag~!+{Q+*Dl!^XT5UE@Y4EkN z$QnHZm>F?9wF2&{{gN^L>iuM8U7iyjm_GF@wDiwg($ z1ubq@Ncr~+7`LqpinrpN3`@#XO*+{ul43w=G80`wMd z=N6jbM+trxV~xl&ejnaMYP8l-{%tXFN`_ca=zh*}zmvO7<#kHf$)a%F2GMuaEXN{)=cFzG3jscBGYse0n zjwut0ofH1K%k;x3Q9VjzJ{6;#b5r;CHvp6tx#23YJYzAVZpT-hMs|pJO&XLeMX)75 z%wkHb_4mXI?nKaSPoNkvCd#3qzRbYoM-fkjTzOYgfm@X^6N-7evCeT)uox=u=R37C ztG@7i<1z>T293^&N_l5*4{>9BO1S9vPIse z!zN(LzATn{G{Qmi(Fm)Y%+`+|+9v!1B)c*GlE8FQTb)|tAi2A)^g+}aY1BHre&$M~ z6%JNh*ZZFyoo(>L#C89r1Rg|zemvjE3{|Gv^`2H-JNPsLveapYo3OwRzl=2}mK$j@ z+@k{MlBycxtUO-i!&e+O5kJEmi;|loL@Hb)xUQPhk0&nyx#(l-+Pq!htG>WMtUJNm zUTx~C9OKm?Yt*$WK8m3}^}~jVoY@Ve=bD@Rg&_<}z}W1B$Y0L?(c?LcQW-U4s9vP(6hI#kWQJ!Tc<>xd$g1`b&nttYkh3%uRlucPi5g z1s6PQG12Sw{6d@F+Vc}1OxN_5VxRig?#L(glR1|4V*fULHJOS4N-Oo8OxsVU{T&2a z4!0z0D%rxec}Od`0iQd)R^CJVH(SxxAT2Rsk=>aG)vdh8cc`S=M6@OR*ZvR7b9kio zdyVnJu3i=PQg)*;Jat#4scM4f6-<5mEKUo{=(rk$^+(w8_HN+qgB;QYnos^M!0sqe zL4&$~e{>8rG_l9uO28=L;idJzej2vp4Rn8G@rj3ek-Y#|b4@FIQCXb|U3!k!?zi~R z?&N!BA32(~2COyGChUpRs`+J`2b%Uf8QnM3&pO-U4TdlrVc~-VUz(}`TIGi%ckMs1 zFRi!B$M7?j;Nv!odmtxI!LJiwvUczk8P~m7p?}j}O(2e6zFi=!_1nFRF<#u*oD*Y3 zy2jR&#b;74H#z_f39$jX?Cs6;l2}=Rs&86`(em z=GU$}in~-2#e*G%s=C4o+n2(u*G+9>9q}u@$GS=scp)NcCI15te>xysFHk4$>4)q< zL_U)e9XayV^VTJo#J=-p{=8IDKxR^2`m!8Y{EK@H(Ea?qSKYE5bxs#>NvAE@1Zt93 zv)%r-%3iIPIjnwwSDmKcJcA@b7tfsKEHAGRy5ay9@CBHAGj{D(J6(P*b>g=eUZhX8 zmo2_cLL0m;O72M6$yX?J?F)c`f$a4d{K~ZIb&z8ORNsBT%2qvo!JS$&DPc+!^lr2=I_t{D&byVZbOn8=Je{d{GJe)dyTx|>B zQNExBZ@8mPr)c;ycU;8cg@=FH{Z^}WXXoK5xe?rRAb9t1ju&u&w*}ZfrCK&#{0j=N zGD%!tZg@hP0r}rn%T62`TFaYA;z5?~2F0q|U6ec)T({fj`csJ#qo~qjJmUS0+g0MhnIPWP(WSC*m2hxP;58hXW7Et46>LX=4vy#8%G@`ptn6Gz!=tnX_QI z!3g|S%94-GNq+imWee(`=O0&ZKTAEOZNU3FT3d^H88`R{$X#zpLanJ4#~XS$GpX+L zbX~-@DWSug-mOAvY`oKQ+cb4n>UkTD`;vEhN$yC79eoUn6 zDLWLH_`HL{4mtZk_VQP9;13x?@SnbAwV#J~;A>fMQQpeeqM7JF2mJ0Qh>Bh#D!l*! zYOGtKQEs_A$71JSE{4P{WA=RFKWMQ7Up}>!1+Tfz$X7g`2%J4sgiZdg z0(TJa#MxH%7H3xRUH=h#xA31Z3&QDkv7~JT?8DA4EGVz)IrCn!mnj+m6m9>f>B9eh zEBv@vG6xrtcMtHgjF?cCs<1xv=dRL2K))<`3yNoU{Plm?6*4KymbyyW9Eq=gVfovAsvsVk;7%^PW31oiBLxami+sY-HARwKWzVsv8T8 z33BjkkVX&t>h%qMcYP(Ag~{=Q&Mt{UGL1pnUUBew?>V3*;PZVp2_RGW{F+?cjNp-j z9Wm*vdY?79s`$B!fBUV|A)P;1{Fm#H19vby(cHOo}2H;N{56enCg^b8mQ&s6i0DVRgZGTk2tuUHpYJRMVImqZqa*Q0qZ5bnLn&uu7v5{2Dg~NQ)FuB z-CO`J6@SL(@r~zLOkG-Ri)^RIOwF0~i;KF&4skWn1x9qc<97A0f|wVN9H>X1df(l~ zIBfw4^x=URbEYg~NJGRe1ye%79~lH=A&0JqeMdl>Q}*(_OD9y8cjY1Xw&d@un&+CG z!n9|FOKHP%y1itjR>V6^deofn*O9xX?(=&71ospN%tgAy)}O;#yoE!+Z!c%zzF1#EBylPw^ zy;;1(JWdO(hW9x6`&VPG;eqc5wvZG(VJwawuE*<`(`M5|Rw~#JsWh?3d<~6;(=>h+ z*fd_Ct0V2gt<&!TV)-Vz&Q!m+c-rbVZv!D~?MLG`82nAlK2sZU_!+HMGwE#xYa@Sq z>8DmktlA5wFCdFP87`;n6rA*8aY4z9yKO{US{VA}2zYc3-TDc^C%MkGf8oN97|)>7 zgJ8@KmxGD(J=Op%?4tmc%b9X=;V(C3igu1%CLCF~wljdjy7()RPFO5}5PI_br>dFr z2UsU3Fm9UqakqqxxOe!v^Ig}!Sgo>ALuxev>J_uwN*}I>yVDO5tG8afE_DCLk^pV+ zPVOQLq=!A2(iKnFQQh;leo}cZ^A!*it~lR`+u*(2BndqvEt^NM-EcQ!oG=$4*`;R_ zYh-=p1qf!>Byaw4Lkcr@C3*gB`fvHcs8JOi89wHO$OH9IOF(w##+Qeew}~+we`WOQ zd--d|q_4yfX9&vCWye7$+w)QNYk7><b%x?h>eA83^g`>&cE>x zHy@mW!6fuJ6%WIzZkLHO=nDyt?;7a2;h?qV45;uwU8mUW@AS|F9m}9^D*7F%Slg1H z-op__?jpPZ70|VRKiTvFPQ3DWsO1b29hC5SZ`9aUdUtETrODnt%NFF#24QNT{AQFv zkceCV`o7x{Si@k-Fd}#MlLQ_lsVEcuj{?K29SfC z84a`Gl1?=KLnEU+6!?Y|kysxwnEMs%FOPpzE8V+J-QAKES>w9NF*fg@F~m~#?ofKX z|B8`izU3~IuRtTnG1Nv^TL+)^sEcGHd9OCwNU#PQ+JaCd)}30Z=$}70cm|UuwOwSq z@ZZc@{QkQ0UT@6@06+XFYx5c4K1Bp3XspvX{>77hi4f4F(hrs z2burX0z^O@l8o~PchgH53j>66pR|n2`jwK%G{ zQYQJwm`af;QTOiL+r6GDKGTZC`hl-V4{Wxb$uon_c1ML=U`BLk=w6 zg$10BSvI~=y7hhFIYfC*slM0a>f$#Se~|Z&0ceax_bB@1{W*KBEA~&t_)X&MfZTQW zt}0!zrNiL%M|`wXWym}CH66cS!(KskvFtxteD?4D8Ww0d?tY%t)ybt6Q&62L^v(uh zKQC9m<$cqWFv~!3XuGc}h$ALa;D3?kqo8jK)NGe0q5C`*!3@93v0QZjNuNsak*UBJ zK>3iN&ZxBaZiSOzy$&H8U_(5}2)>xskbfs5>t*%biY|xx*-O%3!^k|G-wgSsy3-Iz>k~SDAacm#Ad$mNO1OC>)EM3RcD7tPo6gX^ky~x|9yZ&PoJPEvE+uFa z?R9h9n-!w?^w$I=X(;pp_1ZH31>kAS$YuoayZt1+rT{5TdJb}4YeuxK4bdXs@?i0X zVbD6p+#zcC4!xuY6eVSLxi@Us<|BS~I^%raAN4rq6vra(1u6RbEQcF-vakNkt?hS6aR2@Vf6%p2rYS%{9nx$`dO&a%erTs>Fo&8s;kAlC9CZ9!U|2QL53Omm zX{Rw((q$!Fl^s*f7Yr|ZisD+#9E4SYxsTdE0`t!J!T}Nw1D~-;JY9Np*;)Dn<@x#p zY48QC%I~lB|~h4VW9|IuH)=_Dch6 zcYZg~T7uAFc#}Wd#%fN6a^KT|$CZ{0{aJ?#7=7ihXoz1>L!Otpz_*l1ik^f8EQQY! zY=h!7<`c%3?7Uj3f>BGq&CLr$QJsd?LX4T(HXXMkhs+3!HLYlrg#BR5?80lVw)t&! z+b(~=w@t%SU1lQ>&gLOuZ^u@lEWYPl26mGM6moaZV9Rep!oFLvl()gQR>@DeM z*iPCIg6EaWt1FpV>XWxK2c)P)?orP8We_^yR z0}Tr>#I0JT5K6@RzK`@5bl|@bg^6P-Y=rGt&d-a}@c-MH?Kf>?X%V%vS*9DAx3yQ;-K16Ik9aq1E!7Bo+Xod%8 zP`Ui}b}$9D3!&-zKi~FVIF=nzVCN9oiimr)$ndG`_DS(Ix-68FKBincfG&dW{DiMI z@Gi^-c6P|xWe^-M2S-OhuUS4H%MCmddafz9ezE#l-S-JSiw$HM@8&S5$*i}M9nurH z5`593q&us|LHY8U-LcYN@_B0W6=jUC)k@j2Z}RPVvO*^A=ysn6%q#SsazdH;ps*#V z`eodrX}cSIDDFw!8lH5KpQuuSrs7L4SNR-XuRxPzo4KU0xCNPWJURoT0tZZ*I* zlv<%zQ^xT=m>{4DS!C7K{Wr*mXBor%P1yXCrX~QNBBMwWj~n#V9PrfKcD%m;_OD<5 zRU&X|Wvt+n?#ZDVL~pd|c?5?$7KH5-D&`=n57{B`$Rryf0@-#evcih+MT88` zlQsT4`L6|-rU^BnhyD@H-Jv{U-HT{q|TLZW7O{RPUbO#2F!{ zFjh&KDkC~%9L4rjt02ur(SH%csh|=}uD>@mAo8jMvO~2RvecyuR#A<&`1PSW4Vo&^ z@<>degvJrWpwrcb2Ia9)}XIKch+jHo41}Lp*$;$9t9iZ5aqnA zSIoTvHP)Koq-y>hpe6j}KkHJth}P0JHmdn0kf4HcjWiVXR*LeqzJ4ko@q0l-O${;W z!}(6i;!a6s(%np6`HkF=#F1DN8Orn9qrn@Ke$jIJP&)S(6VlH?p?Uc9PYEN-W3^_( zg$gwlIPiQ|0ws{P@*c!Y93Ab09OHnJAkXKOn)=8n2H$-#MIt%9D9vOIxb%w$K_`L& z`bfMOirdtE+n*sD)HO=$mIFcO>Ud`V-imrVh35K1@f>CC=q>OzKw+YkQHosrp=+FvB@XLKJ zMZk(GFyQyUL)Ua{Ui_Isuw9t`X<%}J(dTYr??RH8hh1rYQvpVAym@WbvrBQO6n)$i zcN)clIQaKe<)=|1gD;@;*5Z4C)9u{*;bz8x>!QVPxr#1T(0%vW@UaA&yi!ATuh(@O zX6fjT+v`K?-Q6|Pp}0n0JVRWs8y>$HBL4OCTFegRF6cH8 zm^PA1C#aug5z4oz6E9=`jsz=pmW56)XY)&!Vz9>PS?j~g<3swRTwO9V?;6){mU1JB zb(VSsQWU1FK(^&L4Qd-nHQKLC{Jm*!H(}@3CE2W4(@q4*2cj9OW+qC**V~9FFwiQ? zO45aoe%4}K_W~5fq zi_>zTxwF#<{?qR*)r}Z9GGMr(Gf<8H(v|2Dz>*aL2<{c2{c<*u?vScI^PkG(NYKMNP?S->%~$s=vJAMkb; z5MHhKviBt^>W4c#S_IEcFm|D#q3b865lvkNP0eMJkDtL^K1W3;3JcPP)CZeqNYDd3 zt92ZjD=17iof9Z-D2tI@F{!+PJJBuLQPP43q(#(O+1Y9vBMs;=GEn%ZJ(5Y@oGoIj z@?HQX=#j%#X0>(VNs!$1!J+z3TfIp1t;W7&9P~P!$Y60d4nm+W3@sMVQ*-0Hg3cQ9 zBK@PuLGq#`6Xm|$?|7cSlCq6u+OE(1o_31WzUZxndyC+HmbgfM-4~Qu9e@ini8S$y zwe>7~y-mcOfr%gX4t$L8MpP$6uC3FFzxg-jK`q)^Q%EkWr-_wRKj`avFy6Dn;)`G7 zRNu?1`Hhzdw0)0}2CAZYP)8&jkUX6Wy&b$IZ@`1IZdvrT>s*_55$JLtMJ=6Q6!lOI zZpt-~%3?r-9;>xF;$*b=^yjnDP|hLmr{DYE_i2;{_MUC1V|=bo;%lfj^N{?sa)Y%J zpYz?(ga;i~^M~O{K1-@Xl4?YijH_8BB&Jfrnbcaqo}<#*Q2- zIAJ|2Wzjv94|}Nin)oqrSfc(C$eKy7@e{mlT;<;VrC8Jp;Z@lZx+!D*s|oKOPV5{A z3wcd@U9(kQ1c6>(=0$+~V&LQDypD-Ffy<9Fkm@x8sz{w~!@ih3^=u4@S05QILs`M- zu&H_W1yTHLt%zG%j)2Kw?w^%JD*MmTb+HX?q7jq1aQCI!lt4utqV?+=8)pyfBO$O5 zV{`GJ0{D`f<<0|C64zS@n2HYK(7tQ8HTvf6my4RDUFd!oCMGJEWfy3SMJ5YIyy!1o zsYMwfd;Akl=$+ABCx#}#oDdo2n$U23M?G)2(dE-0*rfrZXjaHX(BRO1dV9Vfy-_A{ zRe+ZbdN)yt{@jNO4!93q0P8Jlf^D6gYjhw0kAiHjyCEsGp|Em@xF?pPiX9PKqr^K> zGC@*rLK^jel-|jyJL)w%l{F6sL*2o#=b;lwWt{iZ2`aJgIHW#Mu(U8;pll5WleItm zG=|-$4uASCM_o)Ui_SpFfP%WiU(lY|Hu5{51)I%r{ncP&cG5=cX!J0Hr0sgV^L|~| zl@V*)?*`$z{%XbE1@>GmH-{w2aH9H9Li+huss4ghayU2r?`mW8hDnS-)NbYh>CNqC zu*I%+|9Yi@w9fs5MHbwT%!C~}H)SIqX-B=+ed6E5U^jm-{k4SfIIZugjlpO@$s)ta zCb^VP{ZRC6!U+D4pkcTj;+8AkEOMi2E20XF#SdN4o|tzy)rc38&mwHKY7#XTX?CC? zMg;p3T&jMq#qMwQS%)G(vD1=8l)zR+L0WnVhTyAx0UqPwR^ zgmSXm4%-J?YLsBp(E{90X4L6`k!LUWG9pP;K&HOl(jBjsI&16W%zIjF50d*_KM*RT z6N3iFd$|o+4@5Z})X_qagg4*5zk%+0k^y1k7Qkkjy}CPjO~sr{>$rX!1+x~1eAU|~ zEJkz*Sk)%Kup&3Fg(Rp)@S92aUbEL5hGmM|ull&3rQH$Op=qIzQf4TVZ|=|_p(nkO z52Ikld-m57UN2Yn2i7wPpqb^IcF4ok?PTa;1I&-unCq^;;;iq{g!ZWI$XMZN*g_mt z0zmPZb_A%!w2XZCqAd?GVBYv3B~GOX17$D1Hb{-CT~}_xtrc(TEhqhVG(VZ1&gfOW^s25N(EovX#n4>Ym;krjPk~mTd!u2)y9FZ< z<@E_{K(v0D+DyMC1{>5+U6P&?YB)N{uw+)DPth;>9eFth8C$as68K#+VQgG-2t!o6my=))d_aXxlIsVG@X zHb11u%26a~6+9HqitU^Xc)hxsnf4P}zsd#A;^5GF!BS(@OPEvW+SKgirCfJyiq|wC zsWhp44!Gl&4B%OOsLhH7QX%65%{OzhQVY>r7P? zvfXaa?jwyl-Q!x*f%+W zMh^B{@0*w^L)VT2%qBkbH)q#68W0a48)M?#mp|u)ze&Ttzl%T0uSpFe@o073N|Z@Nk?eh`0w%@bX0dFuM=I zh-R=|wRfD~%Nul@n6Zwpx#Ncespwf|Hm={GqP!W`gqDzO&uyj0 zhgDtqHQb$jht%m>d$Zbbpd@v%Zhi3rUEm$*@Mdr)M{kT@@T`LTz*T{b@t;jKofOM3 z5zf8Nq)kq6hbs_o&XtsT?1MyWe5Ki^g^DlssI17>(87 zxQ7t3W#q(`F-S*C3voirU1DAr+Psj8eFrWhXt(}B20yczE4nP| zdyoH#yv$ZzbfhLpfltYrG);o3;I}qKybs*~3@gQfsgB`50VR=ud~}v1U2DdS&&hhT zUqL785ShzL*5*+}bJ&!Q-=S^Nnt+^uPSIfow3wn$f)+ z4FT#X5%O61t>)FJmcmQS;2wtqoNCX3@)r`#P(m`g^8mNn7xWV%9R^Mh0>J}(e^yhq z+MMucjRO0GkGdwtpv!XD@>f&O9%TK5p*_P5beftBY-2l3D;@2q3ZK&HBFjDe70oE@ z?~AKxUDq@fi~*;O>?t1?d?s9SJ4qw>1rJ7;gvyJSe=~vHaM?y_m1pXlA*R3;y6&-A5rd>occtv)!kmzCkmnq<^zmKiDs6WZM-N<$s;30-AO?(!E*=QpmJ z-go`o(U)7X%s+4STVVEyDW1oP7sK|7s;WG981#oxCQu>&i^#z5p8SioIx%@N%_ehX zu?ydJtfg0zi<1hHBDzY05SV5c@lO@z(MI5_qC9SqVXbPaA*0Nf$x-3&wXNDkdGtwQ zP>?4P@12sFhAg5lEl!3G+))Rd-K9zOnQG>Po_+V7Kq$&~MR{!{N{s9|WiUb(;ZOaf zc3kk+7)*!&tWIt6!yu17vHtDl#_Zna!+_7%@m#!(qrnp<8@JJDfS+@25pZk4hjgD} z@Q@NFW>-%q_^GdRzL8mA2T1UO&tp{bNZo&TM@_Gmvx#hSG58-kc+af#1tBPg89Wc9 z4{4k+yw&pcZpQWupqtFHVsGoarfhj47t5TL_-AhGi&0d>+!T`Zb-yf4`s*V=!OYmo z+WRg>!*P5k9KvM&$hL}h+1)){FY5nd{Id(TYXCp`5uS3Kt(L|*+4FtyhY(}!OF7oz zB9q4E1MSYO4PKZv3aAWr4^c!+Ff{iT1wPkc(ASv=67K{4jj|?09-ftC7Wiq&yObzX zsqGgkvR2VG7V)RZHO_hDkZALBgSrkL?wjYfpGX6aida5xl%Kex+lch?`L6jeCPt#{;+{SR$OBE52RRc&+=(9E)|<^bimE z8B4H6<|Q;y{;7!{fviP;w-e}e@&FSGdCy`1%kcx!PnWneZUYVBwls>FLp0Lt>5QMP zQWG-{Ggeu8B8U&Mv&!Io&8@}}?XB8sRq#&ZM*Odw155wNkwMygniIL5F$;CyZXMp- z6ZCpHFL{cC=P<$tV*S`;n3)PJg%^iaCM4usm|R4oY`zaIAL5hVluDLC_mPB~^&tqJ z2YKza(LiQ1kYN2oXEIhK`7O@@lK4=^xh+g0=AB>klj>4WiEf%iynvSU`LRD>(%?Z2 z(y#dHfioRE*t=V~7{Jb?;HUC&G|DNaD2+Ll$i7ATSPFf%KG(}X9V;!}YAMc7$@dSJ zP0Y1Yea?o`$HRK}{+u2-;Up=(+V-AvVLy#`vq${Gb!?-$PJ<;bMkJN-WE+GLNeCKEU}k6xSnk@=mSnp z_7^JflSw>H0-JfTjNZ5LkBxiGP z$oAvE_%z-|vBtrWfI9Bmb&B(S&)pfy+wHIF-y2gb6mB{6ulE)UPz2LLhx#)@r>SG)S*>av__{QcW>M z_IUn_kA4%7BZ4nSjY^6R6C2;jTkta3lWk)#w(e{6wp!$sr9E7M?^Q0u-{3CHg!r@F z_O-S@Q|XwU26)2baR+uFL_zz(i!dk?PRkm{(7oCDj=0l-aeHkx4(9{L! zGjGM<8z{^?A6`-#w0BuQ19xaOCrX08YW-J_Q#TDdE4)?>X~bThe(^oAMD0sMX{tNj z54ij{4Hkd77Z<>Xd|c;-iQxBh?@Fxa&ASR-*!_PBdi9D&kn1~FH#5ylqje0{4GW7u z|4F03c4jQnd*`y3TRZ;gCvAHH5F+-UNb~NOp6zGLYCKT2m`36HIM1SMEHnXdSD2Kf;~3s&oGe4K zQ*EJ~B`ZNW{Qu^xw zsr>t%ZiKDEFFCm*&vlx8>z{U|k0wpGV5sA94lnxhRrv! zC|}gi`GUo@9G>G`3kL)<0DuZkSpnJw7Ru3LySG33h2`8R{{Ca6>@GB)634bZR$=|5 zpqPhEs9dlR6KM+!Whrq@MS(RB++}QyVHur{UB_(sPlJae`6XJF6aCkz)qw%*fTNA! zL8*Pz&~JlP%TJ7v~sgm~ejpmE+s{hUUD4b9-Lk_}ehlds%E7s?o8-TR50 zcuvgBk?H*8Y>)OcOB{DF0rDag3RAye6V0d@tEkFoF1QBKh;E2NGhmD=M@-2IGP=l( z5=fzJwgvEVRvlDQ_r!j$^_0{sJlKPndPn#*now{}{Z65f_X@MV#K zdl+zZnp_jBjnm);BEj!q-r3?}nTeF)o@B$9VeWcQ@LE(LkMdGF0yoQ{PgR^rG|Lma zWqRz*4E!JhtAM3ZV|C(Olj$e`Md4q?d5g^hN+-_0n*DWpw7U_H3*14URt+Q)%*|h&?=Rw1iFIw`)3axVJ!CK_?LAP^w5) zamR|hvl2g}s5Lp)xalWIboA9$Ac+d$Rvd=l)*{uw`0jAQk-BPQ+`(`A;!85PotU=o zO6r&&N2(dmEX3bw;B0$rU!dW^v|xg;I9?tm-%R}T0Hw2TEK^ui&_rrVRe3mx`&Whj z(|VwYlF)xFc?4gm@!B7S=lvQePR~4t$ZR^5&Iu5K3Pm0G=?s}1!B8NE*}PlhztZi) z@MIe;0+=tpW@7HBX8E+7p%6#L3nT}h6`j5Xhc@xl9aa>JJW?L>DF5`Gwy%@XLBT;0 zF8I0(2?%jU39=d}-It|>aewj^yXbuS0dY{~1BCTZg8fEWJ#@ugvQe7sOgAqm)67%K zU5*8}ck=aQQiid^!aRdah9k)P+kKLdSNr@s9Di}z04^;(s5EgU?6>oAhacBz1*IF8 zYP@Lex4_#XO-GtCFy@fV1!|=)3mn;^|KdFcr;AXNT1* zZ)+?tR*s~w6SImZxTZLHmcBC=1QurKZ;s!g?YHO&=u{E1_M>p&0-VKQye0$w^)3Fom`g8cw{mz4XTIO}o;W;b{{yqe26^zlC(@A-r zQ&P2vZQGkGaJ9XxG<_V5401KJ#_~D}wJRZG#zHZ{UZBX&bDyZo3qzqo)Im2pH=m(= ze;Z>1=zH|5{P*u43mXg^d$hbKfGPoaqUA#6>}s$RdG5<)+g&bg%LcI6x~7>(`U$Rs z2(%RF9!G<<5e6;192nDjKkMfdo|iM&oa8TSlAJGp#QU0d=WxdDRjg@6IUzTMr^pVv zKkm}7Mi%8*1ln@O2+amtM5EX{`4X*s%X53;zuE~${+CsRpmE}&yZNt5k~&q|ry77s=q4*SF|tmir z0eZ7d=fOjZ5P?L}AA&5!haH>WTV$F2qzsl7!mCKdl)Fz8vM=)+R3j^J$LB8U+P2tg zzJ1;Y3e!vl{RoN>w3JiCqx0rgVl()*HXH4uDJo~gq8shb;Ta@yjU`B{!yAG1#m5Py z>=Yl$imYfS=*}nqoBQP6x`j$TivwPYriv-WWXqV`->5%kX?j1f)?Lj&h}be*?gbg1 z%GX-);6_ilr<{Ze5)J&(PCeQFAIS|asL%0Ntz=Bz3AdC#`}H%XZQb_1)Hg;@U1-;N zxHl!*K!UA^(gVMdhyPO-s8`{F?t*&4b2kL+=}+*ZSI~giqlscEG8UbzTg$v3IXK}d zBZIyr5U>0JDA{KDLc|WY(re!YumrkODRF@~&D8Qn*u|2CETJibRWZ|1pyPLrjmm&l zL5P&P2CX0aZ?)~XOaG=6%wY^xw*k`E=Sd++^>|h^+n8%W#TdBytK_rbOmoYX=1R;W zncwx+GQ2I9pDcewg)n-poPOm;syJ~XlDyhjP-rPtX=%@}C5)KlaE@c*-TJ<2{}N>If1*FN zVmtOsFcWxi2#`2BeJs*}4R;?{ZOQs^>wa+i_>}Hlt8i_XAM>^C2_b?zV|$?-l!TS& z;kU6ajD9YNbib>gdKFM*L7QVsVCB%y7Prl8v7@d=kc6FnxuML})+Dw5?n62#4@+94 z)NHi=@+mr4@%m!mEzdaVy}I%sQ{8I(h(aX{xWV?ToukFkdFz>*0qUc-xQ_}J7siR> zf-%e&27BBi8y3$BYo-g>Bj;rK#4-ClaLGq9@U>RWfz)a77X;WpFPjic4UdtLWo@&* zwS|nOm2VzP6U9$=Ly@dej!rkAETYP}eILjYi_G0ew*dBnj`<68wj)eE^GrG-DQSMe zo0&Q$Wb{;%JKTp*#1&}Ru(UB zX^D(Qv985l(^eO+%Z@|2(P+az$?d5%^2c59urA^!_44=B6q~=Ot+o+(YbB18bIL*c*~RhN3-LO|}3U@0;GxkFN@Xq7FY{tKZI*vXY3Hx3=Qx$DKxm{{QdLc~JXYaJ;pSHh6Nh^39IaMkdftRD{_Iq#|*~o1rf+)O7^!hRKU9`fHSrXJu z+?b5q9>Ean)B5a%E6$fF;u~85DZKy3Msyo)2AAa_E_B?lJsLy_M>V7Db*3>cc_o;2Q@QAN46R)NB)pv#w!zG) z1SqZ}vTgDIQ;)lGd6#XuHjHcVE+Hi7!Uq<=<_0=AX)}U5#PCl#8jB zKJzX&gpaYF0A5%<3d1N5Lc{FAry?Saj6?1CPS^ScwdVUC0$}F*qNGU&v&3fv>gIlY zT@u$J;!L9BZh9EvV-j*LsT%t0P=vv&ge$%_OCxPamqvZ}$sfYrH&8CZFiKnhxE{;I zEKa#TA~1;bB;h?Z=>|(2G%lJ?Q1+4WLdi9P>u>*DndkU6ufi@*1yA$5TTY8Z72tRM z3`0Wo2i;ZX+-k7XPP%0WnTxk(PUbt-O>F+r0UzK9CdY6z7LdArSq}@u@(92shL#k@ zSd2-IebJXb2f4xm?+sPa&m+4_uV)?SW?rzvDugSvh$z6h%TKCP$Vt^ezz ze;dR=0Y6$YKdB??zZ?E{x2G0|8;kt(aG%aoyR@q6Iltx5i0|2^t| z4ikhS3)rBPyE6qwc zmKUbnB)0NdN?Ov2?mVm1mi>g@lN`7KKQgE)Qkah0wq6Iq?Ocy>d;HJfZch0}&UKN| z-EJ4hLv6Y7Twf(6YEni{`ksF0oatwINEb6%zst7Qp0#^d?&iS1UlTMg*^T>r0&q8{ zVj@3?`Tj=1yB#w{Ji$FE8(7XKbanqsye6*vmN!k zFT~`J09=~%z z-cm?Z-v`(UFut4jl{Z?Ks&fYYWX2S0@=jkarJP#-?H7IEOjiG6XJ^OzZD3$Pf4#SQ z@86%RyO_KtwQyj1I&mGV9XImT^64%1i&J%kvS65CD0a%Iy3>30#2yDV5xwQ)p+VN8 zfBOh~AgZ$KShvZDz(T$y3JvapBflY~FdhfT{^Y-D?1eyPj{a^#saI4*99D)7JE_xY z^hT{Z@-|k;f1H&&Jd!_sX8g~8%{4r*?4;~bUr+x%WfQVf^PE_Hkz@Z=`ZQhlp!eCp zH52$Q&l!9QiA=e#Grp?AdB{z}`_Jv+F*K0j)Ge6$Rt7$eoxpTZ9J)M0Z)bzj|CouT zllqifiC#bN!cJ7xV;&|o6_+n;VAyBq+d~j=;+jar^bP*rchBfN85~XtL?6(X`}sV) z4}Z`?K5^(BalK9Q@lGm>a8vAel0Ngnt;W0j=ig08)zUta zb34$aJA3v0cRiA01YZ8?&uLR-WXBsNKeef5BhcEmmziym(&%6;sJIdxR&HFQj2R}R zV(k#;Dnxk~-Ep~72ljz0{f~j4I7k7bnsB_Qi*+JZA8mgV*pp}kHRNM zi;w^RaP`(deRub_ z-~K}`t|ysi=FFV?$eg)naOk(d)i-Z_9qh7nYTEYn*eLONKx4tgyxeM4>gD62G8Ej#5#yO8qYM)Z^$8cWGgdRKh zv@l_n+RSzoX(o4mLjThUp}5}x@HwJgF7_GNZ9zmCsi})fq*2zyuCvY`J~ktH+y`1x zo1GoC9+Tpk?851?{<%S-xjK;#JuurB+u=5AoP|4$vWFLg@&BH^EryW}i=N{WT8qR9 zuTaDD9WR9AP(XPFytR$9W;)CWU=cB0f(b}5IoHzELYljjB)e7ujXMrr0h-9KvJbp5 zv&E|N0nA#6--0Eulu1icQb_ATU_4jG2#*HW}2b$$0n zmVH6;c_hBM?qgaEjrNZENd?4iA^ES~nWPyH4hYnQr=BHBC3rL_A9-y4ioS1=j~-*K zD_1$w)_Alc6jcIFG2c@L>1GIM2dQTv z9cql8w$+F%-(D|go5?%{dM!DVCZhdL^)6fs*n;wX_yMM@;FY#=H(FMBEu<}lsi};3 zI1q$g$aInoRIdT2yIOzlTs(f09Q*?cEBHJTPj(vnJtksa!7iFAcPw*rv%+iKtcu`0 z$WR}0$>Krmtxft+A*%W9vNpQF0AEP zerS11c^2;|c494>oS%QSx9iP38M`ruwkU_Vd&Y8vudM9ra)QRfU5=zii@wgJQ-$Hl z9^MQAq>#vbHH#80<=@mJtbO9sR&?=&UnSf2U2x(V1u`zrB{nIIuY$eSBHHkyw}m&I zT_8s0mds#DFIoG;o4CK>83oC#0;iUB!>hfvC22e&cXTp1c-1Fb_@Q;39=F@&gDOe2 zKR-*)+;7FCP#6nSs#Q|`HBH8*go`rC__|fw!>T`G-JlZdE6|N_2TRcv3^Bact z#tt~DfA-FkEU^PyYw11ZA|*-r{flq?9!kA7Xl8AVRKadgJo_y7H`@2kJ%7?u*O`lp zz#C+r9}|;i7p6g;}MF?Opk=jart1Y(@T|GN}_SBqTsAIre=mDI2(m1NZj^+V~{M@xA_r^Sr-mvd$B?iZNo6}cIv zg>S&RSOtV47RgiQi4v{?=4ZNq0cvZDfyyuf%rjsVYKgJc_jC*SP17 z?soaw9m?QB@#sI~FXUz|*R7o6yrvM=Owgz%Wom{&yt}F>DQ|^=f)}|o&_~P#PDh&WZl^`n(869kqaYT7v|<9@4fBfNfe(q zn+_2&3KUgWSNP#YzcF016X8lPy=kN2%MLNr|LoJ*E@$q%;@_a_{q)bP;6XHCObnHF z!Cfy3thpA@i;$}OKEeI<;9M=6xwY>a5j(>KQ~9{Ij~4E9T1oQMs)8r!;YvKmCp#C2 zZDJ*!mu@#&dXsGW6HD}uFB@jVgj}|Zi%ki9jGmw{6btA!=q)1;#L`wk+pgS^X%$|@ z9xS7YJ^U@|Ejtw0JZ2dv^Iat>#mS~!+mf@^y9Kz~ixSKQL|Y_4OH(4=3IUY-*?c(oE<3%zHzqSP@{e z29vQzX#Zl0x0H)^I{OhtgyTi5Vz1(>KDNRNj-G;Ap>}$oOlZC9Fdkzqq+5%w6PJp&RK2Um-3a43=G zv8+6xl4=XsYG-WW7V;PGq7~}3?UO2Ch{Cs_J+F}MYnB^f;Dnv#*4s&M+eSrqo-Luq z%dSar1|45K)ai`fRnx~b{+Kr`duE2{lLXp#F`bM!XYD^Lw1FLK%CX>1b?Pt9tDlGZYxrs04jevT_Rc24Rqi!mY{gyG*?{ZYQ@BOae=Olp%%{#?R#0d zU0s;B_c!H@g4VU8{)@ZHg>i_&1*7>ls67SObas@^G*X`JCs=A4^4uzNY(@y2YV(D* zs8419dMm61hzVs_9UJBL`mg zyoc<6#W}$+{x;I9$WON3E2n$}KO#P?FguklKx4N@KR?sLZM85a&%PJbGpU7;=nL(C zR;Ah-b@8s>J3kz!jmpCw0`NBBexDD;rh>ZLHb9)-*zHS@5p5#g{A>BzMo8wfHua+F z-PPST)YSUDKVPB0h1@XwpO{JL74=6;v#$m?>;DE`&VXtgEZ4E^YDIhN{7TN_Gj2g> z2quONQzw`$Yi80mMRx{muv-ZA$AC9!HCXna%l$v0AEEyl>SAMfThDH|x+_W~33LYj zb?n~<#5C&IlOUb>sQ*WV{}WQ?(m}#h*S9Go(45Bq`#yxL3IWQg(6e^_FSPhyk)Kl# zBvh^3ybAcg@9%-8%9xwMy8rht`?JD~}52mmn>4dhQ zV<-@N`aeB|#-|XLD-2N2=9w!bC-VP$(E6=A%v1fxL(l&n0%Snl2GCF$clEjQ|2z;< zM^tI$@jyhWOfJTUwftJwkXFN2_j>3f7U#CKH>(S+F z&;ZJTr4C+P17?9VVv1YmXHT|gdqdF7Pc^`R&eu#1NQ~4(J}bkmFD+`v5!=X9GWHf+$UINCT>^WcR^ z1%t<{F@8VciW?l0#V%(!EFpT%Mve#BshkMY6?9;+OsW&J38y#CysVX)h2ewg-LtXNV-H@L=PLQ)bsMe3v!~zK8VF z?ln@QFRsEX9sYMMz?Rykc0-FqXGGxI1YIlXyaOM;uHm3{PSaXIxG^y^;MA@b_LJ>5baNT2*+})wWwnTEaz2! zN1%LLt$pHkvDcph&ho_mBK}Y8bUX(0QXj8MgKMf|<6IxK2^pm;YDwzdm}$Q~wdfU| zhd6LtXKfUs#B;5nE$ShfXex>@8*J+{$QNgoBoE!%)gjGIC-&B&Z-Y~5q^KB?B49U0 z`3nzWhc~Ry?h@+(kr$;EGU9F83d&NAtm&ExCyh`a3)0eVHtIf_;d$Ccwogph@a@k? zx1^vZ!vr-}oPjG&#dY!I=7kiKW6S8bzr=#5l|5KLR0SZyA-;+(>2Bcq{c^1$nxSod<0 zp6f^b69bRpyy+_o*uG##XtWe9gyzpTSn$Ojrww1)o{|ylMgO5TbzbT%ep^SaQk1nC zUb}dM_I3N$OOo%prPU#ayd!P#$45$pI=y*50%p%l(hEFpSXZ4*uVDk=6${ag^1A~t z8dOJH5l!I2k(d<`LtP57lW&Oj-nG^0R2IYPm&%Bn3Mg+{8Rqr)Bq3BAEihQfKQBjA zvWuzTf4Jor;0%!3Yk;o4V+rs-N8V&jxD zhUEwCSl^c@MbLRCG2>Lk+?&K(6jI%NhVXr0=s>PC{ra|o^P@-wR~2z+Ix$Z2PIrlP z^p!wkd<(*exYY7UVM6>JHdW(skeu%o1mz7@NT(dcJ;(N`F)L}`RnUhH;NcLcED=M5 zh2i=!b#(5R^=J~EFg8WfTQv?7(eFt=3lnlgc|>P@dF{{PIRyvN7L^d|ouKG? zsCrB;Xbfsicu<8*s#N+Z6~~XKryX$V>`?Z+A@~*LkJ?)PJ`wL`{H+=HCz=LP#U)ce z%ncU={HuDl)I`M<&7w-FnK~G@!k;I}Zsq}M$-%5CDf5>X4^aGKHbTUFaAxbQIC19V zEXUlS7V%G!xUX)mm6r)#%&d__uGIRJro<%mRGm2cPJr@OY_-IkHd6$YI>FgMM|;YU z)L;nHcMMI*3kL{w?y!y{UokGdO`$BeH#KzEra1>lub#fI^#?p_C;g(2h>T8ar68JV zB1glN^^>LTfr)#q6o zoHVnXiL&Eu!LIlkmi_H%bh4J>4^1D)iQ?~^Rp;d$phh|OEv%wDN^M>Xe=J@CGFd5b_9vx2zQCMr!H6^DaiVP7uJsd%E2hr}DMiA5FF3R& z+J6BTCP^cb=0>~Va#fObK^3O}K^?it!@7;AJ*pe_sbO5R)qG}Y^TTc$(P*h#i|070 z$JqH_L~C7mo+y8oJ5dM5M391BvNc=pZd36jRI^&P6FzRRv;~-8MvpbcdL-V_x54x% z0TCASdS@Txb1SQdtopkmKF{-XWkV=mzrd~_z!12(U01_DuZ6T)HxcxQ5<*o#43dcYs+3nh#=B%B)#EQDgR zn!-xjYpu=w-k39el}!(mh6ytH)v~C=u38gZ@rSirzZo%bFd78&+N;LL9u`Z#R}G7| zXD4;b(J5lmhkq^Rmeh~)DAtWSt>4k;iS(^v`kYds;iRPx;R=N0^+;f|9$8Q=Lm7;S zlxcE2H0rP17gC2Rb@M|$f}zGMl4a%V_`HGkW^!%CaGet}ZD_1?4A2$|XG8sWO*+bGxs_1MdUPqwro1My(DJt#RNJf12Km z1;Q(@tM{j*S+ng;hgW{@{m7+^`WI&(AhT*8hL*}MEO-oL-L&|LM|RG-M=RaRaVpEo zWs*(**g<3ZW%jU3wP7;%EWI5k)T6Tdw(R&x0ICdph)&%0lPKn{ie7^QED4$Y+Zmcv z#36i#Mwx20i4o5f*QNK`KYXd&{2cLD?chun%-D{rjj-|5H$x62@6sV&%ugY@Hidc; zWS!{Ih&6nGd#>BJ@^T4V*SKx_3@SW7pC}+OK1pQDwLU(=DFe=4< z5aw&H=8tyodmRNqe4Ec2QP; zDs*Yhw0B`H%%G_926bvr*IKS#FrG;1wOsAso8(<;v8nq8xTK!ogBXNt)=5;2X)bRR z->+N`eI%c|KF`W$GW@{)952y_Ox!@5EVgyjK>U|S`l);|Nw~MO&K35QeC&4+)xS5rv-6b0m#ji1ksCtc>WQwdx}bbXmE z?X33H|E0YRY~a(~yV#|j+tTPVGUmhq=d^%d?^>m4A6DNB302U>eJu>1W~`$%)3E{; zN?;vlPb(X%s*0ZJAuSzJ!;0#=vW_c+`v*1602GDpsIIIa*&le^$|YuZw(udT_iuQ0j|^sR@?r zX#_<>%(wGEubXV4sv3web{nlw^S=FwE_4pHWvvNV6&)l|fpim>6Mp%Rz)8wdy^1r5 z>45j|ur>jq?Iuh|qAA|LX9dM-C;6h7Ea!Uvf*ss%@bPg&(+qb2%HKDSA12`%! zQVew;Z))!Y!pk~Tfs$ZU0WLjCNXrTY1wPoxUznYnH#gF9+LoDX4Q>2W2ji&E9?D1N z9ovX3mSq>7LjG;!cAEiWS$2YTrMbY_43#xobk!84gu60RHFJ*S9eF1T^Rt}Q%=pqK zB~tU@MIe9Rgv*Zoa7K7)v&f{hZEeL>`c#?e-Uj+xenh0+q7IG81~2|KQ8WIIqXVce z<)YG*9y^;yrhamuTdao+_aw8l^CWpu*`XyOe;ygbyyRP?TjYm%--kJiHTR!?IT zPiB8!E_O~{Sb)Os7g%i|o@0b-3fCm$-(Uj&!mSwHt3gAnEr^#Q=^JZk*(q&dmd0-0 z7KD$Yje}(8JuN9$#<1v3&fflfz(K$QUzEI$K{-Sy&g3O>GFL`osuG9q*LU4gCZ&&FZDBsxt9KjC zr)~Ys7MT6r%$_6T#iRP7<9seG_`pEuuSae`%lkn^D>je)t*}brmC-9Pi)m>}EJxeC z7=H#r1)Gh3;(W&1fX_3TsF1H`;1@G0X&|;W<1gRzR(@Wwv}^~VdxLmeGl`WZwFWVP zFAWU)7KLe1T1$;wE3ogrh-v3ybi9Ym$bao$E4U5{Rm;wW{uwaa#R7S?(esG#QXbHXNib4Re5M%C+6aCRY<)wj`LO!yG@SItk_pbcIz!A3)@p2(L z(Akv)YWs(Gu>c5Gro!6kr!U)vgJ}}(E2^5o!W};F=nm(9*%napbD)O*zk4CXgo^7u z(1Al^J!HlHxGl+UX0IP9$6ukd)7Ya)L*$~e4j-nsYn*%(! z?wQpw23;OW|1TM0Fa{wC^d58m`-s20>*d}2p!whLfe!ixS}OYd%|qgRC(v7hcd!h) z4J;hfEtc@Zxq6fP2G{K^q^aC4C?OZqI>3`_l9;Vl_W%p}URg-?14IRLoB}NsNrrr5 zV;@C)D6l=LeiyL7>HD+&A-elcgtSs^Ffr|zB>>2JWh+n7F$a15)PLRC(?-}f|5$}_ ze|m-K#{0jzJPb{rm=LjI&PlqmNYK?QhD`kWo~iz?T*5yJ5L>C%YO(qy+vhD5E07=~ z$l9vkiyWQGiGP_aJVOAD{a4WZqtIQra#k)&E;%8TwZf2MgTV`e zhq|)4(tGoHE(1%IIQ%9)JF#6}au6UUp6fqF33G^{534_xXdX6xy#1GCW>!M9hS}Du z&)mZ%>b944K_vR&Iu}WhQrl`uvY2yPW`0mnFUZcF2d^ovYQFn=qQdm zVrQ)~y_L=?qBoEoML_l2P%!6lPadB#u5LJ-M7~+J0p)=`J>-s_LwstEieZmS#}+Ab zMvj&8jP@3Yn3*#nB^5wQju0SXI~ph{X?S%(c6Hz+dCYm=_BVfpaZy6-mdJ_~bjmx# z40gkK5tK(Lrr%bTqA9#2Pof#jjt;th3QOk9uU7@%dZX?$`oAA4dP&?TZ9j){@7mlj52exm-HjX=E z0#;sJ;3Xw;izN#klD77G3GbaRg~F+`1BhPB*yrAmb?^gT2r>k)+Sy?8%Z^n2F}$AY z^|F*)w=-*kSJlFZNk%%isTrIWVdl|7ooA!c=IQmLrz-Uuj+R$ktIo6PmLw8MJBWxW zQHR4i-0`s`JfxNh!aVXfYl#c^-%hFV$$numd{3^=_^~2oVKEgEur~RzQAE%k05u96 zu=(<QGg*0)w2y|*pUr~s-zmCxNc8K{uiQzc8DSi zT}qw5@$GbOuwu#r6%D!k^&~wSe^`(SR)l#HC(iC9i)MV@=j|MG8?fvNU%WI`-C-ja zq$>N}NWZd!f4>LqD?0>SwgvFNxT=h)e(?MwT4=}~wq&3%<<4Y$h+#ggx}cyHK^RW{gPp*guLMYr$k0CV!@BnONfh zKCmh;k`3}4iRj-cb*Jz@)*ooaMyqHpY|~ebw&S`dIfM&bt#V2mEA;2V_1YFC{`_J& zT0pJVzo3V&Om|LkB$Zjy4_b@(hvMEsxqq`U)56${D$STB3kzsH@0!wvwmnHo*WDuc z)>1336jUtMDTT1b425B3Z1}=LlRaV4}waNl21T$v87T*3K-GD{`shQQm}2 zg0+S*fo45Oc09#@7~)msMDA-;KT~pb!1};JmMboljP4ygzq^JL>d3k(%Fruo%Fpp7 z7UgA8LvxjqIfX{W<$R{LRGa5lrRwgfao+XXp-=~mn6XUW>$}Qd(@wwYn||7rH>%rd z7Is2nHx;w|bI(c&WJI^F3Wyl2HQ^)Mn;f!OD&Vg4fJ*M7DSZ=HT`1|*3%rc;O|+G4 zWBAOJ06%c2-O|A_!9L<|2z--VTu;$E%BW1&A&c&=z08AFMfs(KO&uL2gFpzBo!N?o z`Gt3W^+li&?+sJGu+Dqq(*IhT25hL`#h3H7Y%B2r-SuO-pCiFtblD;ac?(m;XhAQ5h*ZQD^# zoHQp+LzPi)2z4Atw^E-VW3F{>bf(jO#xIAzs{_D%gjg@7Z*?lAt1mOjoM(GRWo5`* z9>}lXf>|rqrly8nC!`9iCf=dm0WAfqh8_)i_uz#|$P6^+e+*ejaw*klc#3Q637u;r z!!p~xUYGkOwX#-K4_|WLCL^;7@{UEx*?=T4mk~ug)44yCT11XM($Jk$ctEb)jG)6v zlNvAuRXm$`9yjtro4$h==@M~sxWUL|GAS}uyqc@3e49VP;v$#9UD#|BdYOjN$hwlv* zl;==XiP-kgPKrAN&S<*2Ad3Qt4fc;sp~R-FVNB)crA^ki#lPaLMLh3xGZBGcvx(T!XYtG12;_K1)6h;vBNrC1#GX?bm4c|s8 zok;u$1<6!#Er9N9jbF&89`Yu3;qF=2Yr~kpj>=|7xj$S!yA5!T?@QJCE0i3fNA9_ILo16yD^i1RqMvd;b5ji9H?kc1BHyu zDhI7u#Fm{G6dM|xP4FkI>|DeVrd6DoB&UDIFlp7efeR^z4NytaHXwVbTD4(&$VC3oTXz7uW)Rb79~Y#tx(FODT> z&*`QcYiTaRagN&lv%$X%P@vvOHjTJx`nK+zLaFwdG9U@zk$U6W!c2T;+l+x;o6o!v zohLbMCh6pQ)WLkTchs$ZOjS)JL20m4`tJ?TFT&FuBbSx1-skH_t=gaM-k0#-Le+Lj zWoQi*pGO6!I)|PRq0Su*L?~S0n_?64DlP~q-|bhV1r_aarUgcoq|z0Ko}R>8_zB!U zJ?TJwA8uG@Q0jN({HdCj8vX&&rEIR!h>u!6uE}gm;0Y)kS|dXMt*VJ6LW*}mGC-JP zOxoe{$t~84HZI=<_o1K|o_iSUaZj=d0kv` z`FO|=@TqH1)e8{R2W8o*KF&72aiA-3NX^dv)U@WJ-Mp7<*=+U5yH%INPm}4?qvFGksn+CQp2VnY43AJr-;cd=e$T^Hm)R6pRgJy9*LNeQ5Zx8+Q z?wEC~-XehpZPt8stfGOxBuCEJ=AC8d#$ZvZgZ77av_46n6<0tEff0HvcrJtt`k_}Z zeHo%zuVtt{7XclHC9S`2m)nl9`Kz>|M_=w&4Iew}T{&fBWC9EJ&V!ZZ`DqCsx0_M9 z&9Q(#G|^S{CnpElu1ECWX560~i@Da;GgG~=?$wsh6^0Fa8P@et15pS#;aMF^Fjl0* zK==F?+=h;i;Mf%R?TN{2?cxy=O*it7S|%B+ykCsiwA5F*t}U!33}gAfJ_c76q#(f8 z>Zcg783~e~OF|7lJuK&!1zl78Iwvd}sdv9bwm#;xQh8nPpeStfGPcDL|LBG>ynA7T zoXQixD4iJ!WX<%pL)3p2L2S|kP`rw7D0U*PE?Pc1E`9ZjMOOax=sukURL=C+J1J>avK^n~>ub zKHtN-;}qePU)2@Ex3+yS#0%RO3@Jj-C}}S0&>h9Rld)&onvuPOc_8T1Y9vx<^ZKUN zw%oLI#sey_bIkXlJHLSo2d7G?h$tl$)qQvrn%M(vg~Yspt!xGrCeQrfv=eQcMw|iRn5?&`AzT7nn z_iaBLfoIHdRpN68osq-Xy|Z3sbt{_v=XdSfB$8#yp9+%+Kt>=Q^zW> z!0J(A1Y^WmO~iMpjyg~`kAv{Fxvvk+VX}LkA)3 z=H+_Or%zk3zO-$-<{YGub6O z{*-jve)jAp@(d|SEhdXazmQl>pl7wj#hA`ssw20ks__lPj9@V`bn^JS`D1t+&G0O{ z<>FBPq3B1yG70J(k%k(qfFQQ6+F-vp0+^q-gN=Ry7(_BkyEQ&8lIpF6D9>%p*?!ES zULyZc-ySXSc=%)dEt{dJj@8-dc$z)vl781>X*@G>I3hxNt6v`<#Wg%*+}Y0kJB{o_ z;JMds?vKpa$1Ie{gs=h^DNli6k$@OSvwrH8*FH^fG5?vKzBs8kB(yi|(o2rcMnc5f**YE}#ZmwTkX?)vI5_+e;q{8?75$T*M=R=O+QmIJA6Z~Y zxQ@EY^h^;7>{3!vjD?KWLO9Wo8Ku+hri7kOUX>O=S} zBW^GS&8(=RU}8m5!AZnbi|da#f8uQT)_MIi#;XF8GE?cZ8N+vu+=jJS3SL2p$GZCQ zDAV`BYz1B(pQZZ@!aEsYR0hoJGswA5jf0Uh1@<<+m<}d8IbsRUL;T4`7}(@Hmd8de z2sh+P#Vp0jME)4rV|a{dhOO5D8yR6ec)fP2iI?v=G6&IhVj@`c(ojDZ(5x<_qV}n+ zlOJuLqWGp8Aj*q_=GE0+*uQHO?CgJ=i}=z(lIBgNo-31_&*s@e>)QWfUc)zM{Z|Fp zjEGIq^lKlbRbFyh;pL0U!8wGmjT#%Ju$=U_VcEP`-FZ^KkRgI)d9;Eg!*K@E>s>6ewuo!7I(gKGs)#cm!(AmZ18M zF}xDh`MekII<8E`pOJ}k8x3uf@zQ+`>)1NAdzEkl+Ua6<`c|NVgD8RM#-Nfa*m4x5 zv5l9=8P{Uis`p49>{@k3sBmrz>Rf_j5J@3KKp`*67Xv3vFZNDnY63HJAdQ5*-o)qy z<`EQ}5-pvKqd)I|`}5Mqqs#hLyygZ8qt=;}ax8*y+@ek!=XQ2MH$dgm*}VVg?pwxM zjSn;>fy)kCV&`cVi(fVyoq05>w^prs&~M8qF#!rA2?RuU*lA1!p2xrAx78q`)l{o| zeeJk5t`J+{5?UAL>@YA$yYBC$zpY9!#JAV3NxpP?L&*5-(C z|NB04Zd1$oR|!`|s_gjq#ZfA?mEPJyR&q7ZuZ6KeYWW`CL+YjTb3~_Tp_u)Ptc@Si z#4Y|pImj5t4DXAPA*X21rl-`-Org0CM)>f~Qv%hM5)qY!{OxE>u7R~q;gZgW{R{|g z6>)K?^OI-HNoA|J*CxS81ILm4`osD~Cuj}T7Hc8hcC7bI(f_{AtNnXWx`>L%UyDHs&E#2H_7puGG#|BnStGx(%+0 zq^*fe%W=Vr(Zkkr$lZPYRC-LqstfZqVFx>;kP^Y6z2I$|gYh&A+LxAwn&S2=FR67f zicx(CXUhJChiRpL^Oow;ZJzFLcV+dTF;$)W#7OY_r({)M;k&Lx&<_qQ34`?O zqlrW=x6L*!T@`DbkLS0T)ZcI&GRoE%d}GIwiFIkmXqsuA3FkTJIF&2a-7@YXfDP{6 z1QL9&7@}8sK6YH8QC~(-vw;jFY_Lc^mBN`wN*Wt!y;$8dU@2~ba~8NvdiJ%_pcDS@{7_@`D3dm zTBfB5c6cO6qS_$ZQ$DWjzLgIv$iM&<+_WpiZh*>EAuhhOm;1oT{|!-k5N@@RxDsbr z+UZi6)xM9Q_VkfMsmn~j2(=3kM#Hgfu=+XfWK-d&AOV0Ap64|!;H84Azed!uH#s~H zv>Pb|R!JXjNK-7qvzV*uY=?Fcj};YEQs#-rBv`KD86t$7u}a(0<|cV$mgs&*#DxVQ z`!}Meb<1s0@h1FK091+#6pAA#HoJ}UqaM39x`~#4Tp3Z`1bmP+JW={EgH7m8fBLY{ z5fwjP8GrQ1wHs(RHxgX&Lc?1iKz42CqmQ4`{UGjFaaoc`+`>VQk=~SC(W@=#t=#eS zZ2NRiOpj+x6N6anNX(Mjas`lb9FkNnKOfm9;r;px zZRrFWMAw6Q&dhfK2GL+d3*!xU(>iyNFEkRWs#v=W8YTr=z~~sE;lGFZchR3NEEt%| z(6BW0a)S72m}WFUXjh5LHn_0Q0Ydr=mE~|HSwH)LL`wQ@Tl`T)dOUC34v6F!2NRvm z(=vR8OooVD6K{_f=&oNDjVGmo!;=lDTyBq?J&1QYV(^ri&PfA`Uf+kwS z>!t*^Y)6C70uy01oa$%8gn~RJr|Xa_u?o{SG4FAAa5cdd9m}E5r}1s_1y+WKJ>tue z!M#;12gN@6fRkkMxr{ zzyBm{qH0K&z89(g$Y2G_-{vT5PYU7rde$@1(X|a*p&n1MHQ&?o8Q<0ied8rMPpK1n zVT14F1`*03W^GOyWuVt5bN6TGVdXs4tHE<0YVEUN(O(h*XH2hZwdQYx5x&>g=C%*! z`T(6RG$S5uc(3CPgR4~+P?_Py7+^OI?p7V;9}e_U`-#HPOnjb9hmp%R-hEsr&)|@M zN0*%>;{5HD9`A~waZx3j$5OfFAR8yC;&o+XJqh5NMOxKyhp%zNk{X4X#$*1oTr(j7 zC#8$Y+1dH3NU(zxa`j9FpU)V^^x`5-nk-;?YKqi(#M1Pz&b=vM#;i8u#j`i?{o3?k z%<^3w0R%;1VE3Cru7I-CsUQxdt=tJ+<%=-JUo-d=4m}TFas7i+^izPt4#IHjH+Ryl zec3!`aXcgD@$qUERNp}|s6hn|=%s5O{U2IrGC#L#XYdv7hR9)-(ZyQ3gZrxNN1i_!u&>TYlG3f55FOIcq%g?)65AK>b z(ub?ZMH0pMR*B?>nqALjte&qnyHV%A3n*`c*;nsi-0jMmRl4}3w`Ye9GMQm=NWQ!H zZ_MB|p*o-TyVtI{tc=w6aV9v=wjcbgX6dPLzdqY(0tbT>Z6bA=)O%2I-4So5D+t{E zkZyU&>wvK_PvwS)fusYt`?(z|r6}hk8*A{tZJt}*YqD%1kQOXNLOM0`{WE(UY5$&I zUsiHQNr~v~UnDe1WZtDKo5nO!&y$)E>yD0$wHveB+Og<35%OOLFFPdiqY%pO2) z(P1$K`BR1tYCTCxz$iIQ!Nc|cv^xMrTnFNT&rPI#QU@(->kI#@x1f};hmepXmyJ|ZXtb|9V;UzR!>8HG}0;);M zT0ZfN7%+vu_Y^I7OSb6x@Ff|hqfuh8-OVqOL{Mx#+EeZBc~NKS(QR?!h)2`$dO!A0 zc?t`IhIHV~i1gN}Fo!at@J{sTAX{|#C0j-7+551uh*U4%KV+LW(ZK8G#y?3cB?-4398T?V7@6_{s73!xZV(AZwObk# zf>Fj`K3`=?5?AcNBO4%!*WuiDc}mcFW{Gz_0*Z7Ns2{61{szT4z+9iDz3dwdFQ78z z%EZ<5Bj0uCt13q?9eR1Ltu#7OVIb3MBFhF$ z)4rbUNq&!?d>2^bAV1K_|IuZDQ8AYiuTurhXKbs8+`5}&>+Wuf}s zEGVP~g@Fsi*r&}cbH=yR*N|1Oa&&y0^i{vptA+0&C0Y_uERFkWxI@}ZPE9R4;s7rC85L7hzZ3R+h|(I$q11p!KA|8i z97VA+0WRi5wN#7Uh5=9-s{1gqel7Ct%UJ_5%zxXw#}uCV2#XHrxb3k~S$U9i)H*)+ znXbtSj|7?KL()x`fI>CCLs+zctk011+0OSUV?io;)3xtUEcuu)!v*ZsuVl<&x=oxFgV~BXxcbl>ia6b;iZtz4Ad_r=Oc`lBpcyhJK zlU(M`c-POBBwVDYSeIb4JgmX$l zH!yn!+l*(em_G~6a<>h5&%$l_4@Q{+8|Nn#*xJx#C=<9Xtz%8vr5u8gQt8yYhIgM$ z>zK}BJ{b3*x|)g(EK2_KUywLq*X=>K-+!X*QO$D1=E-vlkRgw~jkw3ihk1lH}dz4dW<4+8UN^7^xTkMo@jt!S`skY&fohpxC5$|B+MEa#?$Nj_Jsm zEqdugTpOwYD_RQD0<9`y=t48jPE(4my2-lD%3R1U zV+2~!>7O!q{w`%#+!o?dX&#{^QH2XiO@e1~vXj7P+WAO)Ga-U}l9Pr{ZV8Psvqd9k zW2lGx5RC#6_xS+HRIj7=bB4dX;}(UXR6?R}D?H?JqJ8V`3bxtv{&I4HEAYh~-Kb^9 zvk=w=qSExeW|jB28+WZ%Th?m*Lqn&cjpwlyHmi8QSz7?8d^LG0S4 z)7A^|4v_r6ijkr%*0>&Bypyp2!XREYyS1F$TqsW8*hcU{XyNv*>})^V_y3p#Sj+G% z9{l{;d{~|EUcS$y(9u?WmIsdx?@2AFINs_dGl@ZI<+zh@MZa00@Qmpyr!~=pe5(81 z<#OBl!)%1bD0j0%ToibX?Oa#v7oN##g&PEy4sjvSCEhy&6XGQ;B0vhL-%Hk(dL9zk zhmRM)5~jHM1N=$0d{y07PoMno^>Fz=_L6xUP3Y+kLyrGL+b^?lq(?hjy^qfxrtOG( z7wkjw&v+Cv;r{TetOYS%)`gfC85^n%UG~-|a z+CvDgbruWe8tA9n(bWk57iZ%9Z>LsS11%gEcJB3_^>{g#((_t_^0q#=$VH+GlRTKztUeKHSO&l2Rc)Fr~f=uVmD6o z?$6V}fot0u*OW-dH%Ma^s;c_5uD>A-?^3LhlJ|Tvv+SIfmh#JF`oSQeMGd@^F;GH) zb8^D4?fCcLixU%r24|wD((X~&dD8Oi*I1;%y;Nx{(}Xbc<0gkYrfi1;bKynxfQk=o zk~(D@(W6ffpWV03U*}0-&jYcI#OH-g+T^L{q91|d!aXwPFg2TP30gP{$+GT`-;KV4 zYnN836eERWn85d!M{-%GI>Ncsi17PL3-Kawt}&jJ7hoNOs{1<+?Kl~7jdz8amX;UU z_FG(x^lrS17#!c^Y1hOT7LS+3g6XF+)S-1y%rqUW>MSJcv%@EmyPdtaDL^sTQXR=(+lIvPqxQ@h5AKG2k za1MMhT8=B*Zg|Ar@ZK#7o9t)rW-cFXcq$G=F*2-)uDpJkYQEij*3b*?{w{9tro9q! zvfjAn}MLpTjuTeiGC$^a{@eO z)cRP~dpO-hcL&a{RKLnwKD4fpaGag7=_8u48~N|^8?1f{4cwGNA}%5Cn~6i1!I}Ld zBhGxkiCrFuyr^l;_HBc*jX^j!1TnA&_aI5h3h3vOH>m-NWozFuptiJ?0s1i;_Pgdd zkGi=d_ZTEI>Qc^GQH{leMO`wKLxAZb>AjK_!c@$w&I~MHj>+kKKk|Eyy`cXb&MJRQ z2D3~0STmHfzr7shqN!T^>f|SV94Si&QsW7JZ&;{If+ob!I@` zt3~4&X=RM0@WtVh{zgaZ%PL=Bir~woC^GfPPHsTqn8ue=lPxf<>U7q<$1Ui$wf}ZmQe{al+PtiGtu0*Xh`o`UoDBW?crqNPU_YdU0y}C2QerdY|SfHnS z0~b$K69`LZ10QFR1-ys8u)XYuj%<4DeVd2gGpHD(p!2QJ=KO7}%m2sTTYtqBbX|i9 z4#6R~Ly+L^7Tkk}ph<9dYn&hn?he7--66QUyL&h8GM7Bh`^`J^C(N3knziWLw{G34 zBYW?2s*s!o3d5&WS)J@TTQMcCmgDF5j7l(UJ}X+>iFC4TL#F;PO&g46jX8oCA? zL2}PrSlpAH%#f5s(NQr~lJkQp)oMYE8#mWb{84@pgYjUG%^(vzSqX^67aygu1MFsJ z5rd>FX^VCrcV3n)w)6Sm*M2r|Bo}vuN;bwV)vIZP4i_N}zk+W8i#2sP=bMK)LG)7M z1H+ zW8MKrxG^y@G7`ubj|twyDqwK25uB_M=gW14)%8`~?ENv87Qog(6f=OKG$6QXGharn z0mF)i*-1`XAP$hk{DSAtQ8xBN`b@bxBVeLG<0QQ&=J7{M;?XVNiu88WRl4g(96R7a zofDl3{#N=slDth#n>xIi+V4VO|B$O;NAn@aeEw8NPI5IZF;ZbvrazwEdwGW|GPnvFi>2G+l*4jX4$IZWu5evEu}nLG7H-Q1ckzRX=5Kpi zLb+83K52la|3$y#26__)H8ONZ*0a@C?|3H6*K3yk7IwM{l*)@4G?1@vG$pqEa1&;-?YCC}Ot5wG&tMrJVsDoT-j>|HUWdEKT+i` ziFFX&2>G-17pRmrOU7q@fSB%$x0TJK50$&Fb;|!_J5D#_wt7IfU@Q(NXJJ6MmF1UK zcij8DIQu-&6eO5EmR1pE?`2;x%6c$`RveW#vYIebm%$X1PqrzKUM`4lXSYb{MKk+W zM4g6Z#kkN46-U?b82%55#!n!gyhM3T8BoFnhjOQ*adIhh#Q0Vt3r%2A{EHbDM_Ej% zinGXBE-_B+R^Gu@Ej{V4U2|+xSw3QJka}WJ#f^tVn;&)w z*}x5rqvP4Wf|Y3f^fOJM!5?a}#$PCFV?N#f zTJYP61h)6>hICX+&K~K?ebTDp%&H(lytrN& z7oFh_$vV1LVN?QH&dVLFB+oD@{qGiT0Qe$e1ON?s_=+pSLl!HIF-0Ma*>2+nO$Tyl zg1gG~Ek(NLCdybZ1w87YYq6v%RjbiQjMVZ=_)esdmsws=8w}Hd|cY^Hoyr zy0Z+|F;ATdmU-Kq9ZOjZEqM|`Q4+p&SbnJX1oq?8l@AG>?$1HUfc#X)r>)Y;<)mp} zw9Td?-lvU@1lE(cs#8`x0s(4X-`u7X$(qD0@Sv5TH`?NGC@75u73$CG-@Q(SF3fMc z6**)6!Y2)fVJA-F`I*sFX9#kF{#WbFcM_j^EYp^ z`VqxfIqZ#sJO{x<2b0_Wm;PThy?i!n09J@$BS&p%I124ZpR3V=ce29sZ9>m(Gb+B>O+4qjZ(1@J$uD zX;v@!T3xN#bpHjFy2DR{c=noSuXWw^y)?rnHjEWgCy;~DZbTLMQ?C*5Z#0tR35h*4 z0~R2!&XfV2rO%U=3yaZ?3L&I_)VP2jlJ;%>{g7TxVBmMLFKMr{lS78?tB~8C*0n3M zExyP^XP@p`PkieIm0!K0uKlALv=9;UXDji#Zqa$F@kSL|t1hsE?Dbj6{MM`|(%ll8 zMDQAY1r@aSR<2mYvUg8dkH4~$md`73KHM!Ch-Aq(|9-Gbtn)PG$ea0#j<?Pbp$!yd<}lc7c#76lD0Ut>X0yhop>F!^4r-Zuw!2muyL8I&*^R^N>f}M zf5+`shghds;6Lae>Xf-G4|OL?y$66YOwpH=O1vUA@QdLKWp;)$HE&DLKQ?m;EE0ipPH$JTF+R-fEDMw~JDQ zt7|mZaKgM08d8o2gFn(6QXdQVDGVxbh5xn-)}}Zgu(+XLU}R6!sWv~+7p;Z!GjV3b zv7LIpRRgIc&O(;0OENpc?K?KKoE;V)pgf1V(D8&261Rk=mj;L0-;K9iK%}e9**_#4 zfBC3tKG5vA3A#qWj$`Q@78$i+4)C@x=~B{l{ff*YFdbEQ4?Iu@tyo9OAd4d;9okOW z#P4&|is3p4O8)^Bbc9;)m3hqDAg@EtNS1~Lq*A8)8uxZ#`KG&BbzSI5NtT9SnDn>( zm@qdp{doVOEeKoQf7?-wj_MUT{}-nk-bgS~GzK zTG#4_FEw9JzdBiS`l%rZ4MECH59BU)-MtptubLG*5CvQu>EA+QJ2Yc_hb}CuduJ14 z0iyKTn55QF0s=-nWrSOajOk`oc%|wBg481cX;SBKZo*dxhY)w4$DsVzZbe&=n=$Y53dr_)`{dBM`CIBsK ztcLBhbxA2(y;*OttR4=z+8G!!U`vSr+bp%nu8b}0PTiL3iB>=<2{OaNU6nKXXuI4R zm^Pmj@0lYg>MRTl<#V72Jt25F&t$!Mk)x2F%=3#BD)M92R9V@7=xE1R=F`^Zg@PW8 z4`JI)33W}GQGdIo_gKbJ=Z@=8WrgQT8nnXtB!~=c1Ik0a*&92wK?tRQNkwEZ@SCt$ z0l8e1jy4^9a}UbVwL%Cb0eliEiq%T*25Q~1#TfASmw7<|v<2MNI~ds{yTGs-!&efe zLxh6GlK6%ttH88HHxNu9-5sc_mF|1<)paZuodz}8cWiiyX*?id>?;b~AXV2)0TcDgM*a8W z9?kdLP{R!=6(#2$n`CPW%tLPh3_fknv&8?^>{tU_*gQzJlPF z6;1`A>E`{CuoK`LH z7LMy~k_l&@DMwLXDE?HF`ltD&h4rGWrxOh(=c-o&D)nj~j)CSASeuuY!ZZG938={T zER0_&M7&&gIFob32}9J~ z;&!ope^joSCm1DdO7d{bUjOjE;Pkf~Q=|AQ2qIWmT->!z#z?Qh6lwS_7(E5L99@)u z1Rbvx@S>}0R*=HTEC^BD-tJgJiglBmBF_fQg4?1Y=PIU|QOAKP^VbGh63{U#qC|1C zu9%*%3s`5tX-+qnFI8i=5S`_bafEJ;SA9;#!GV1~y-4vQLLBQJR8yfSd||M!ts>** zH9~M=Tcn+}f2q+wT-c20E)a$7PU>QOY8DErCmd&bom@qX(@=-IP%0WsH$y0g!S(@d zaY_nCMy+3ge=&VaKZq&irx_>3gv0)l=IU#I7u|RKU5?FvY!4p4wZ3bkK7!4>u&+ayGl>DHu~!6Ho^ce3%%?$r{@s% zxQW{yX~;&UBzP5@>a>b)KPf|F*7sMOhCgAbv$9==#QV`sX0J)Ab37@$=X-MB@j^9s zQ*$%8NiN;%-t04frNLW`y*raCSflB^(PhO8Bq<8ah`yPFy&8L}v`7>}t_J)2#0Apz zyvog23;B~=1ddP^+wFM5&3=@3ui%H`cS?QiJJ`H;;UJj0k)%pL9gnjfUr|&lKcfbL zvu@RU1!}CIZt9<7Wjj0q8Hz%jmkeD)ZeN%}G)##7gEaa)w~|y`6pW0*D)MTUULWoa z;1S{Xm8J8mt1K7T8g~zma*L1{xbaUv$$L4UoJ`K6N52#HZXvjk&yygA7~|cbgoQ=R zgdS<2yo>tDVRA9~C0LpdC*h;0QU^@lFSC_EYONZ>#uA(1!Yz_A;4pcIOoQ#u8eiMa zbQ`~zpe$c${gNa9N}u^j&D@r>vZzJ;@NaaO-#`Mgmjg1Wn}W@;c;(m-@Do4*iI*2M zJbY@9NlwcC=Ps(93Z5Wj7xDy`5XFH!`ib@9uR_zJn)AL~ZRifyYG zhQelM3Z4}5RoRS(@$Qy>C=K48ZS}D46PwM-4CkoOC9(gY#(Q>+I{kH7N>H^4s>FI_ zqSpZr<>|vhBPVDv%iwmsV6x-)jwurMorVl0(S^8G>mvYF#V&#GDj&CLgrj(y6*cQp z?QsY$uNuLe7`S|NSg1%+SJ6grY5q{p=|k_;hLXg!M(u1!gWdaGWxKM@zRqprI4Qq> zxt3Q?l=mLYVTHbw)?x)5)i^8^aK>Bgvinh~{qus!P%NEl1vR|I@7O9-A?UuR0k^T* z0kfMG7nhgokcXkcGp?xJi-UaJ0YCs#jOwH*GnA(#`5Ee2fnN#k`Fw~uAuo?Q?)@`RAqNi6S1|^~|*e!taU=;p9&(zVTe6PJN zC43)6rHW$SagoGP0|_y_5p7POq7MOq?g!9!FW{+AV6l|Zol$tQ1&zxTOrto`)UQ;aiYmfwqs5rucy zRg#Jz-%uh4sp-;XZDi2OWi{J536(eEf~i5;dCBVGJ2qnmsRF$b<6}<7Xh7+@2#eTa z?G#wR*#!4pX88QEKyf<(~83S9I>aaj0OaR1Rdw3RQo|XGQZ{TlizQ9!H2yv?WgY7veKMaKgO$l zV9|P56jEcJ07d7u@cJ8hl)iD%2|E{5kW?rLh8SV$(d1?4^2TRca^sKNSD+u(fd1sPP;E*Xqt!Y?hUu8SB2h{QVPYiCg|c={^N1`zXOyge zKq<8p)D`BZWFN4|U8 zsU5!yX4?>T=;no}-ZUp;PZPzI%zH?8>`<~tHc7hraK13rz_>9(R zxwDV|AmeZk|CyC}{`1U&wfGcNRJptAIT@?R8qA$6Lmai#KA?s(BERo0lLGu8ACB2UJBoiMo8<%hX= zJVB#fYtq@YH#DJZDrIf=hi}Dae*YJT98OszzB1Y%wy8gZ@AGnx=jZH<;_d|O~1L92~XsJv#;J)JdgzZ3jxE@ zNsnZG)OKRAn9ZG*{Y{yak0<-Y^V8UpKBJDZ!X_FtiG6W-|qkx7ZcYh^|TaR~RQ_@>GqBH=IHEjqaEeL!pbHJE?d@1@H94qrWj*rh975Y!~HQJ^Ta)mD96 zpkRGHw`Fuk040VBSdJj+7~4+FsVbv)9n;&fh$i!uYN{&WhAq^)0jD`Q;-A?XI1H|O z!cV<~zL+N2&2&`y%K3r;j1T)27k|1&dBBSNXoE#L)gQ-vh(B9dm4>{FuyCNm{m}+{ z*Jx{Oov-<Q!x)?}yNh=^S zyrzd2oxNlXg?stWgL^DLcxHZOp!$4xucUeu3ZKoB(%1`zyK*HN$VOrT@aN%;5T;|I zMcv* zg+>G}E^Cqnw?51@`Az}ZLS_jcKkA8XKNoCO3Qz>8zB{~F++U#&WG-ypnM-Ho=(0x? zOoMv!6ODBGrn7`8wf@Sw0(?30y{yu;KMtLKyUSa}9oO}(HjwvQ)24|oU(*^RHFO9nKg|V%GvU9T|torub22h!0;C zCBqn_YoC2H?Kw1$Mz>-O={!~m7t_x;7WBUHez>~xf~La6^SThIjUp4+ZvgR+jM?vH zC^nXTlii&*##QZTk*dfm;O<0}e8w_xF+~U!dd=H9xZ0ntmqJwV`M?DA#K`C<&U90% zUqAGcYB0K;eh3pFwml>%OfnI0^-AcLlpD5Ls4^NIfSVDA7a~H;nk0jFelwM?G^d1& zwmfZz4poXicobe%@~*tNG#8G<^8HmD!7f9wJf@QO<}aE{B1O^mn^o<@{k>}ZBLlco zt*R`*g1y1Sn5U0M*0~Uy^tE_Ob2z@-qN;3^=J1m!92s$2@XTnvOzz#4tc}tAV7|P< zG`*aOJ@=#YkaJF_bW~u#t#-s$(HIbcN}TXr>?~67fxXf&$4p0Z5nz@6jve;I#&7L>7U z3)H@UY*+|KYI^jO`(tB>d`&cefp0%3L(>mrj(t4eF+=*cgEXH%6WcnYllOo5o_M&! z>sJonV2I5SW46N2O@9f7?@2Cn$< zf;Fu^$|bauC2<`7M76c_M48W`{*`Sa|HlJH?X#{B_*3@aB}b@{H+RU64G<-Fk@~JU zr%{IBjwa-1=ofK8qVh9*N)6R;c?QUuu~=*_$G**;@?WR*+mgQPzeiV~Pw6EfE=Pe# zUyvwCQ|2%>%A=!l$Klu#;K3L;m?xgA{XQo;r-c zIDI({nj0A5UMq3FPn}Ylek($q^j53tOvLXS=@1r;en^zLpGU~>=&6lLGxTeM1odij z`YAV)VpYPZaf{urQ)j5UMtHh&4~E&tV)cPUHCif>jg9~Dp#vIC&A2uBqI+3Oe9s=g znV3Nhee7vB#o8hU%|*@VYn9GU~g^_V7gnw9t?`7;o0n}VQ^y`)%QL;KENG~cXDN(D+% zznnn%hsr*Z59}tR(|CvS(>bbJiYGh3vA`-ip@ZQ^z`tSw-r;^fbY{B#upz)CCfjrx z`j{5lxRx2`1_7erWHhDB>QTDosZl4p(7myYa(*mu+uZ0N7wctmgv)WwX{|LSO@-2< zPP22V`9^WkVND5|$2zna`nTd&C1$8N%yQXyX*1WoR_D>{ViCNpF7#KSTg> zf8-r_Z>_W3VuI6e-3*`URJetvNJmT?+I?LEdX1pMfIPpoJ>&QHV1I*V!5vf6owI?@ zKSYBt=nOMaT#|>Tlz7$SOI#6$L@`{_(vXm!n8EjP%jd-p>+%;Vv*K>Z#OA*uf~?aB zoEdm}_SEOrnCiV<^*;;nWLzRAd9!^sNcM8u)BVD+vx!_Ua>4s!RHx!(8A>1oR-JXh zBt!QD_U>JQntNt`TV<3?6t>Px3$(FoFzDw%Mi{f5E2 z!zx*g1JnXmDf9I|I~VcG><77o$@bNJn56Q3q~0xq-+({C&@}4+Gerz9K7&BQfaTr6!q=`LXDQ~?=KWaiF5$)vj*+;Vl z6bJxw6#b83Oa2fXy`B%6k)GNJoEjectZcvau}l#Z*-w3U`rUA_y!{!q@iJBn`W@s; z0j(h$fj&?0x84ip_D9E`b_}#BV`kd%BjJ7%<^o6QW2BjL7cOBHK5PTnc3oKc_+edV zdrK~K|0|_2ANMG;Fi@=kDh$CdMJOnAp)>VFT(`8)@cXCm-1h-r$ww5^V znU2+fp#1m#auk*9Wrd8+U9?^(f(8o=h7!u7b)Az++DmmBRjfXWLD&#FS3zs@yEw8t z!j$6QLedmukp^CRlx6i{ysdpFnqoI3}u9us=IwCWzSmkt6;R{9ji zN&T#j9{uAq6@g6zD!1|`O8a~_`ZG6qB0gTt?(F?8!g3((fA#>LAHw5B#!D=NWxT`k z5)HnJ`Zu@xgZvLrcPOeL{_6VzHl1!rjBvzg+uB{Mw`#j0X?i$+npg5;^(dd%94spV zo)usAj9OQtNn-z$lCbU^!^G$$s=i&%d;6P}`dX$ME0eQB^q-4GuT-07Fz}R~2*xf| zS=Bnp{l@xFQyGJICK=@9pV@%6Dug)Mie1myM=QOO9~JE|Fl*Sy4LDH%`3q%l$K)0y zM93v^ntClhMoCD^dBsUHjI{isJ8^KwPyLXQUzSK>m>r)-qPlO~#>P73Zh6|gj z6UTlzEQMQG+|*+Ivm1-@RvGICn>5q4|Iq?$!0}v~9Jn-oWO(lTn~6;EhQa+?fWY(e zrv(S5St8aKGRjfEum5t=R}R{Ld^9xXIYBDjT9pm|T-&Bq9Y>H`i5MKi+#s(NXIp{& zyR2C$wzpf%Hl0(EKapaR8=+;iP(w2P?tpWyhVA4rO&P~v!DKYORJA;fC0e-zUfY7CMQ+joxkaMO8EO?G}~tT0f=zNk@r0&bBE3uEdPn2OWXD?IO; zQsh?vHy(kru!9tz(jCeXah9B&g07oiJroD9{~>!gjM%+qh_DsYj)_Vv`sLKU^lSf;Z3Sa)-7z;)=IZxSyfU{KukPYxJlUQ)#s=+Zy>sk4^VIn6)Z$MmCk! zd=%L#jD61gnf*>`w>%$L`-rt%vj!_$e;N?n3| za@*HqyOi_K-1QKYO)K6P=TImVIEaq&zfib&b$$;;T=vYF(RlBn5r*v zYVLl0Ie-CU#-P=YJ$NDZC*Hyc>{4(ekKdwaKlxk16PPST^q^%sl|8kA9YGqQ5LaOk zJFvGUJT;CEP!)~m%c^5F+E293`E474+J;?$C`IafqWppmyVypvW+6^u1!OC>T_fYQ z8AaU)SoJ&W^FA-TdwxdrJA?WCchWpW=ry*ZjH)~U)3jM}66W?IfilXZT)hRe(cE6 zEoAccqRneB1M*1@+ze?Wa1e^^nRV$;eW$^jjXyJ}{cp4U^l80%T3ICDZ}H!XRTYM( z%$TM`YTew!Kt0~o*P+2p_l_U--ekQS++&V|!QR2JgiSQlVP42XQRy0`nqk0yOnc*x zEfsPWOkv6z!BU$Pe5xWswC=%F2>-I%31M#BrZDUoKaY-)QQ5 zXvsS29W##-_g{Ji$6Yxr#Q+DdWP$trY(6nrik-jjlvGRk+^{k647Y|p2!t-=!sE1_ z2X~O~Vf3uA_J*T{FR12ifTC0*gcKuEg_f>NSB^rv4gm z_>3r6HP3m*lu}cUn5lV3rX_LPkZcy|mz8j3BkcPrn=Ul6#J(^I_m4K~Dm~CJ;ZaVp zcvXyLSVk+gkV=Z35-5_QT15z6M>;TV`gH!MHVE2ZL*%Vds>m35#|FM0lku_H~oE5(oojt*(<`xf1Fx7QLIao)W)|m9cJd${6L-X<3`|= zRidsN@&@5oPO8JXojVwpiAS~U{s85$C5V#M%+fMeQ{PiP|3?ySK6wng)1jK>zAv$0 z?*!g}+nku}GxON`TjUc2nzX7!+RHs5I~MfL>r(PqPOC+=R|R-k3T-P;lr?W) z*2rOP8p-;j*XKlu{w^x$F(4Y>+Ehwg$nBhpG3Y9}N0OSK0IY3B)E}P3L z#e=N+a}ph|$>SQO)RO|aFK(87FD&2MY|nYtbmapyAptBm;Ufl8&8DL4+vRDS4Zz4sQg zO5TFhhMXDFB)Yg|?;dV@?yij(1ELWixl^r<%Sn^uxNn6%D%|5UbJQEXjMzaQf(Gr0 zt`Tls3i}&y>aTx#_{%dNtD+b$u=({Xe}H&rthk~}1ULs>Q{a?3^Rs8anJp}Q>+dl? zcYi2ydjdl2-(AcBs)4GLuV^W4<|tWS6e45A*Q2B=5OuL<@>hvIV$W1PEIt$(+qm#Y zr*Ocm$Z#}N@Ug@^^XW5n$<-x1QmEx`N4FbG`CD&D&|- z|02=5GGm{zuXUdE8o{Z#A03YfhJ(nW;!g?$nR@tg?QWfY-dS|brAUGTb%=U5C-q!X=#v$(GW@JZ42bTAQ6eIp>tGVSNLdn2Z9~sw>eJ< zF=l-W4}*EmQ2FDroRayP+8m`cP$^W_xzW4jcu2BR;e5N-MaV2nFPz}i5R+#2x!T6F zGFGKfn+53rN|wdrl?+B-EYoy%oa726gN9a$PeT>x;*I9~(Pp?j1L}1%+^IDg-*%^k zsJQf>qCt^pmSNyn8(_pARuX%wqy3;(r zV~2!O=bs?K_doX${~O|~AUOW5D(+#Zv^hzVEVpCkn*I>Ef%`vDQ z#Dntx<g0bTYE8J|fHYKcY3jDEvpl7U46IbIovxm1?f-ndiUWE**I7w3Kg5TEdPXs%Q7Z&7?bX|L=K8{Y~c=sh-v3YQAt|&p=^GLe&$vqJ1$%2LJWBcb>z0R*bpEDU1 z11hqs9&dXBqNMU$KBqM0*11@V))j04}DeTbZxG z1qP0b9>PwYOxMZY07mr!zt~eW_YE*8) zIyTvoXkzAeGE>|7Fl8|~c*PUn+ozbzhKVSpeDk^I>KOdw_|ry6UnGhApvW^&OaP)H zKe$xv>P>u=u;L*!cvix(Bx|?bdP*{XQ{mYp+al~8k!y93!Tn>l`BTNy8tCZ#b%|Q@ zAW*aKXgnjyD(g5rBRaNy$sQ6OnlT`+_x0=7OX*w{HmgMriNcN-19{4*ep<;9>lJi7 z0hkt5vHTc1Ofx6TeM6J#(S^c}wS!aYL>CSMVAS54;h^SGfpdg}>C#q*Ro5*>ty=TA z$GITkWkwOV49}=V!tG0mHvcFoI%<}UE7x1q}$hdoR2GY7Q;!3dU|Thy}j|H47zrJPrQt#M9V8i|0ScY zu7i125K7Fg$hBa}URYEbgJ#(p_SpXN6fSTYB>eUPFV%gQGzwS$D?PntEA1Hb7Y4b6 z(rJ^xwNkIMov`ryjAWY3f**6b6fx-uupyd9m4-XAN$sXl4EnW_>DmqQIE=a<4u}^2 zG%0p;4M4YpqyY>}Uh8VIcrsP;VV(Em`kl;{)~1P2XiK(hJdlAu`S{dJ_1vIEP?IWo zFW;;`oxgZq994N-eG~xX>oI4&^nGItrb6Bw_v>@B+4LZn^TPaomv)zc-f$*i`wCUJ z-Cix)`M@ou+f z(NZ!u6XsV?lJmk+I~ks5`*~Bm$bNb-OpV_KgLPHe0-n|tnKR-V}`g|tRVifb~{Q_OR;2}d=d+Dmj^g~H5ZBmA-auH>#UB8h?J8AH@ggU|= zMr^!P!-bz+?{52qSMv-ZaQN4?}W+Su!#`mFY!+lw=S8)d}KfChxLb!UM};6&4hNY z_FP)H_ue?CZ`yr9%u(_@RAn=pq`DMnfK}Bm;JWs>4CI^I?>gGu zMgd;d2tbHp(wr9yi#Or7T_P3$t>;qq`D5$zUa5=G6k~mCe4cSneqNq2P{Zn<@`b8o zY{aU5g&N=))CB~+N<_@0+Q0W8{aSaM2RN`=N;(BiU8gu9%0eCg_yn^7-sNxV3wlA` zhcWI=HW_H1`(oh6r-q0ukOG~n} zja?_hF*&WfYowfu9?&<>a2_ZspEeM0VOf|o^-SY*FB+;^6*Q=$E#L|MBtVI|rQ++F z%Qz*Uzox!w@lD4KC`N%RDvnBwXA2%^8WSuf^4!6sl)_c3;G|jZCBvF`V!ZZuthZP4 zDP?cUn)Rg&ll2Ebv2%B4v_&8HwtUyDwoR$qn!}i&{n-cHqBJD`eOoTo?S%FgRT8h; z4T|SB-FcT&l3TYS#(GEfIH8B9wU_65k0b3hl?S(VUwA+Q_~Szyj4*uYX!|-;YeKx* z*N1P^*Cy@vGggNM4)Rs60t$aLAzA>7W=r2YxfCKKtm@e-Z2jH#cus%6%))#PPsCG! z;s#MrP*6cpddf}EgQ|2aP}9r~i#|3vps`FPT-u&iRhl8a<<5{`o;YTYWXQIDt&pf+ zKYSW+T!a80G<{f(9gwmz1R0!u4=R6nH)=r@`C5h%2h5Y^q%QCQ_KfM zsj@d*z=3huU=8>I-fC@f$LDZ?b7{c@ z|B$_oU7?r9i)d(+a~Zs>*>ve`SQfH4DoDeNiD!%@T5qDvFZf5#F`(=Ly6J7W0f^W_ zS2vBwVVKqav@Z=BA1-cu92t&Wj~>Oq(Vm=})^sM;WkpL(WiNd6>}#vXc({t~PWhKR zibW3U7?cCh;$1z6NLMZDyqazq!MvqZ+dU7cMIyb@phKAjNgVU&hd?YSJ{ z!F(kFE&gNE291m)pdGbKbTI*Q<~`zK=JLgOSJl*XqdkO_WHvlzPeW6)ID3=x_Sh$a z*L7^Q!(xsADve@&tzE_2AM*Z10iF^@dk)5=mLPnql8kP@|MrUfWFcYg`MTcSN@~&I zMf(8av1(z?Vv&R>W2GxkK(Nf;<4{#GcEr`foMOdCQYYv-14T`gmBi$dkykzHdkqu@ z7i0jm3Eip^k3NcZBzm8v4rqYi;PWiqQEEY_3B&IJ?cvRtS!}1i8dymCOPgh756=1Z zl8u~GmMrmJU?7~+dE0eud7~p5(V=_j< z$*;n7r8EJuLpl`(q7y{>{7B!>OR>d(RuMX^2seR$1G+v zJ)Zc-Y-rI3^sGzxd!f+x@d!jGOOOV+UtEh{78hk=>L8z;oq#Ohz$x>KPMcHD&1HI$ zaJf-44qM_6Deb8J#cx5xIdzinqAlUY?*WwGX`>Tl@ZfRJE+t*(S5}*ik6c~|37%y= z0qrT}0m<9hZhWk$N!ll;X?L#FgrDDh+OBFLg`GmT>;6W&B}q&) zj&BTkmyTR-t4$zD-f~ws_kQkmnUBt|gd=H_EIr%iC%gEb3b zyIOuavEh5<0cJ>3F&l^A3ATs(bx4LGyzy|Natrs`x7*Qp$;N52m=SWU4dTARkK->U zl_RU3H@d{wwF$SN58)3bFG2~MUrs7+1xhR|=}^1p^A2?!^za6F(K*k7M$pP8lJfvm zTAgYa;oe(0Y(F_c^BhF##bZ2Aeka-oY(%*oU?ytWZ&|=-Lbo8s5NHNxHV>Qy@<`TA z8u;|BzKA)+PNJJ<@7a={bqKC?y2LI5YaUDoh9pkYnSA?H8#;zFua_(Z-4xjuH2u>Jx_|i!pe%=dJ;{h{1Eo^ zI|eu%dw@y$2#$4$&1(j?D4iK++%9ZII19s4W=$?YJ)gkC?c5Cb&X$wG76x?3Hl*4v zEBB}-Lbd^RW7swH>-g@-h}qqMk{1Oajh%8(F=*tCEEIR1UUCUlgwW-uW?Aug-aDf6 z#bCQ!yE&#R@obo;G2Y(KC72R2>OW`A&VVM5rA%$wFVY|dPbR`{;KsebtNd9794p>0 zkXohf3t=a)rDwWZM5^6JZK|1mrD5f>kkKI3yrqx-OYYR4j76=S4vT{X*S)lx4!-J) z0;(v>>H@YnGW9#&-3HBY^^CN;xN;APvfF30ott)V>Aca@+;G~3u@mU{Y5roZmIXVW z?}(wX+WS9Y6>+Rm>|tFq&)@zy%Jy>A<;f2&Z`>u2CQ5Dj$-EZA+(rvDIY{-muFg=W ziKKfcMgJQ$KyblkBXwdSt1^2^6J?h4YZ{kov14jPPs!VhoQqLWs29bosdH3A7oW){ zyLFKxKnm!-6F_xQr+4lS@D}&bR#$X+z|0sMW$~)?cUj$iNDK( zE7R4EFPZ^|7R~MCsy?^TtW^9tZ96VO#63QYUz|BhGLgxrhf#&ZN7A2E#xEV(;_FG=o;e{g) zaRh|pk$t_yeZnaf;ML&_n*cG4u&J3>e5Ci(x7~|WdA{;-ERvmW__g=xn$Lo37SwH1 zK=DZ-$Xmpf<)rndEHP@ZAFx1q?Fq6HwAx$E1ELjkFhQpIk>6RFSe!5~C%1_=?E72f z0~N90cjX;d4-BXBZg)PW!x{-G26joDz|J4S8;z#&N>D!np@#Z^j8M!B-}%an3kiE; z>PapN8ET7*Qpu@H`p`p$0LC%bvATl70$;pHkU~!mjsGL&hcp8OHNN9IQ*P4)S3R6m zc(s<)@$EK;V*RGvcY5OcduJcFwu zv8Ro9qd}rok5-`F*5=`30yW=B>12_TEE3Oy$?q}3W>3^XieP)^e)6FG+|*8)T>BHg zlU%n1K1l4sxZO)HciTkXWSlf7GLqj~Mg`s|7CDksK?#h}mxK-pK>m))J- zr)B%2@=2rIGqLBdIjR=)7};&S@}qK)c|D z>oxeS3uhe0C9-Wg@t)MN(rd`9)z@yWY;y{lK|0ZY|NGzNAOHA=v@~zf`x-ZHjC}N? zAC;Y^xHcnhbmXh*pbu9)Kb&B6rewQ{I$REnz=*Mf;%vvU#~!Qruyai|v-7MeIt)G< zjStu5^`?H{L)i7X8YR+4lo|Ac z0?J94{OlE-cJH`vzWKM+4$=wYyH+|VxC=9oANarr^fwL)bjAv1*S)*$y$VC((UG%W ze*f(`@1OkSCmoN0)RA<7n9!NyfSyj`%$YN_{+vbIafgY@z_RW-V*r+(?>Fz2c7^K$ z9N~cVE+li{wA10b^rDM}OzK7{h$BFTT^(}VD4Bl_R2+ux3aV6EZ4l3MY;RXsu&?uL z1-L+V%owcC3Os(+lYjcS;k*y0&yQ&xC{6M9jhL~lfsFFP^+06ZDVt$E*`=|MaI?h@ z8`Zn(`Y!i;{Qmd9R}yB=O6{X3V&KHd++ea*G5z}2zoq>++vkWQoRl;J ztrYtdI_$jH|NYs0T;zb-r-gJMZ0by7}IfCrXxx!$8b-RANVl z+d1aA4^oTGg=U?pv9TE)&LfEA;Uov;sRb`54bX4ye?b25N4GFk4PQWABvXy@o8SDV zIK>zVWG_5tF^qF_xW0HzGCp2-Joem5eR-KLjV}iWFTM1dWU42~qL<&1&7NJZMw%R_Cj5E*_aslnCl}mBI zJ7Zu~jZP#ljp_F!Re+w9@#bMP(+K~l9a>}qW<{FZY)25Yo%icCquxp2q9HDPdiB*; zbs-*&JkO(q#dTzEL6&z|hz|!A<7UlLsJx>QhQ;RJ%-1jWWoKQ;#dUEsp9M}yGe5T1 zlqpj&d$R}{;=DRU?3cOzLI)w3JxayL>0!wbXzcoe001BWNkl{kM^~9xIE=Aa7*3J1JDve9t@D?@^do?h?Ud!kEQwIVio`BXn#|4ybY^(AX997kjrNFdy6wHGQQ|Z_oe)wU<>d<*- z`K*Tq70~zFIqm=X&-<7W7~d(}tSjx)EWH1B+;N9|^Z$KSK8;z<7#5v++d@gj_19g8 zg{dp$rkig9o=sYhT4>`TftMyoWoofFmL{uwUmapfHa!=pE`3xm;;xK)usD}94W;XE z+<6;2?&XX)9X{GG-nY&Wz{zDj{fvRHPXRzL0Xx0swbzPkaOj}^8#?|JGu5ans6;S} zJy4oz5_aC^zWnm5YTs$AVfGad_7Qx}$XV^Q(+=u{bB1N=)LqnxXB)Zo18(5KXJ^5J zB|0#p)6T@tQ%*r&gw%isgZc5<^v{bAO!2qB{Y{b$O^RIt&b?oN+||O}Qm6eJ-}rx> zKW{4k`KH$CD_{8^o&8~|G;Vx<+K%Czw>j>E+&Cl(*XBnWJWiE)UAup&c@mxHMF;^%Lqg+1 zqw?mOgXHL=1N~t;SkY;F_St8JMxZA;HX7c0@4Z*A<@6g37xVOz5f)i0nekQlpa1zE z{WFA6iZp2V{`xn%M!@UeSHHMQ7yEKi??5FoA#~i?kv#aoABAk#XO4k(5s_6gNjLSp zc+qn@#kgS6e8rddNyk16y{nIY;GJyW>E(b?0*g}Fq4HW9Z@+GVPBhPd^UXIgZNIlh zis5y9mb?>Qz8H^qMgwobGxMd)2it$e+GRSRbr|m-rh*B6nW8nxw>!Iz& zV9I<;M8Ba7jL(>N0tO0uD`)f~KtGH&jkbgf@X8bI31_fWB8YdzO9xAz`JxmL??(9y zqmN?6_ml4gk8QTuMvEb9xfG#Ny(Ep_L5i%2=hMkrvEl{HxHap)KZu3qx=0hcM>6#_ z@PyT=Z70zgV_ixecb>NM&XW-p14r z5X@W;}s`2t06_Foenh}WDd%_b4{rVF=qSG zuCs6AKrIXjtoAb)xN>&BdBb}BjXpz9(t-txP%ir>H#6mDTvZSCIB9JJ1qaiqennm|f9PDY&7&9>e_Hp9r+cRF;0*g2@dk%t9j zEnaBqmM3DU>J~eOC{aM7VakJ@mAqqL3b|^CXb_LRP%j@n_!#;45uYx;L}Y2Gk-PD_ zYxQN~3+6krg@_izX}DvLI~tDq;pkkPeleQDVyqm>ME$S1`f7Q7eJlIUC;%6odxlQE zjtM%UJ3{V)XP;lt?z=Ov?COY8=+Ns8q^<_OX zS+H=3*PhQ-$;#zxWs?aBiPj**VzeHyopFz$vA|@kM6zJr5kgJ}DF~I37et}Rk8Pv3 z<-)irQ>Li_XXme)@_0c$|K-c%zPo=VS6+P;%E8P9ey^)_%v(0^q*ltF!+`tFE?RI= zDSq(1Z>Yl^4H)+?eBle)F=k_F?GWN%f~cwY?AT|HI7FTH>AP%?*@XXs(Z?(f+WQZ` z`-ff^jZwD19@xdHw`2(P2Lg0hcr>q1YN)&wOP9&4=~&dRP9vW4piuZHvhz+eWxH*6 zDuz!~O`=gL}rE`eE-plG&t_gcCh&>K|`qQ7PjiN2~ z?-%z>tBT$@M(y+ z;u9USl}nb%9w0Er*3?Pkdd%ce&ca3JzrA1k1KN?s4Gn6u{9^ZY7zEHRFi+y;r9RA; z_Jr3QbnwR@XGEyW<~(K(Al~d?lWP9PwMNYdVd(Vqm}zc?jT$=!`-UL&B{r<~w2ORJ+{|ThyO92P zJT*_sb240j+(BBOgbhcC&?7&6r0l%oWRR{YY+;$wxYg%9G=l;dEmEy3G}S3ar{fCRQmyL%hC`~r-CzX z8F-DH?fKttf2$2DR39?h2*Wj&>VX$8UZ_L@ox9nyr|Ih#NToMIl};Xi_cLInCy+Jg zB0|2CK5n^2X9*&C`9U+~j0_III?}eXY(|yAo;;f9NO>6!cDN`OQ9e-UsL9FHQYu6& zC|9ekbp%liYoKU%I5Wq=1!X2aQ36y|g>ac*>ucaZHZ`U69ao$JMz_2?ughj69UXJv zJmx{Con1vahIE>_@YKnKoFlGM8l3#jJMXAnXaB@}so|y#KwAW6VK- z*S6DUGheQ`;J}GadAanQ%)8gQw=OL!=w@7uXyZvA4w^2zvaany))*O_t&#!j(dM0+fKfWGT?@2;Iv12adb1KS%uBy)_QQuMQoas0SGH8+lMVlH_i2xQ}JX|I1(gs+@J^ z=^ENHpTj~i>w72x3)m<>gnKpY!3G|CfC zJfTdF%AR0YX#`(+d9A$j*4wi0etV&f^2KS-qHzn@aN^+EjnbC%kuAs$`fI#~J&A>( zo@JUcWwIJ(4tBT@dCr_^7)YdKtF5-u&S1wKC#rsuj5`ZzwxHaBtN_FAXspIe}#4sK4T_8$hj z6eAM)boS$naz#%sNFDLS#O=7_ju9wjbQ7TlY%IkYxMho%6eTrW>*8@@=*81dKQo9x zQ&W@_WnlwVUW8tUgPMDOeXkB0n7^*A`p8G*yz|a=j($mHsBs@V7BiHA#+~JOZ8xjV ze#bk)bVQwQ+wB#?+w*bEz2iO*uaGA&_`Gr8P{bGw!TX>C|1x&B_V%20KH|tj2Q)4_9a~K%|xjr{Rbzdbpu*TWVqOsi=e;%{U0E5&gY9xerekc z1lFUa40GHExut0=$%xVbQ72C4olcgI`O8j$29Az3N7?Va|F*t3blj=w_BukoggRO- z^Jr9NmwVW<^N^4yiStzU1wLGhy#rRBOS0aQYRJnK>ZyVh>I`2c%y4L6R`7i zw*%{7Cr-tZ#s2ugQ=L2oT2|f@**11)bZ#5Lcz1U_0I^^P8Lr(#ai$Yd+NLav#{&=i zUOT?EFTbvBdmk3bvaQLOupW2bdAB}CYgR2QN@!HWigP(&Bs0$rVy9Uy69dJI2-fq#MTej>a zwIO6KOA{p`OdQOTk#1~Ur_X`V`Mj z((xiA&3E7LjL8`-uegCKLeq*Bt7O822}K8~CoM-7mt+US^l}Xl%OFF2!wok;u2)bS z+Fqi}24X{3;PY)CXII=Bx>A!Xia|Q^xv(!j{0a={LL>k=B!Hu zj8bExBRE(mFA?bp&Xr!H_7VNxSHJ3F+%s_&+1q{<HOg=*^iqNAH9EKHKn6>}bkC zpC3!{xpQ*I)`1KkSLd+1^LQ=$1@<*dA+_Q2<|VfrK)DDzSqya6>HwyEP{`kXn>)wd zNh^J5RsQYQqPZFHRwO?2nPaqE&IbJUw-0EjQkTE6?v*|--8s)3_wJz859d-sLPfJW zNx_@&-~avJYUETi9dR#P2s>iZsZN8vVMxHc?z|oE1U1}jLNe;^Eqd#%x767A72>`l z8$W)WZr-7x3Sqqb0umqk>;Gr(O914ms@h<*O;>$!K@5l<%yB`FQaENveQulVWpOJ4` zafn#>3B+SZvnYX2qwTP$bF=2mb=O_<4YvaE>nDsp()W)|*TaT7PG$LE`GzA1g|Z3!?5tUtiO?;t2c85bFn44O1i zG7;T)@|jX%69}Nhi7c>H=NPN`5bI#5H%e}pTt!S;zz~p-bF)@S4%NnF;5o)MFm<8h zZnoKxI!Cik;z!1Y^{T@uC5FUw*RD5%EP7rVPxUh;pZd2?Oap%ljGZtu9mVv9fx)StqRGK~1GiJ{cTsQ`Gbw0*Dg+MIo(8<3~KmBx}YkEN7 z*z<1+5=fhd4fE1<79JdUc+hV9`}-r(?c*f?m9JcZjJkg#YlWe%t&|P{W86!J zZC*92)1Wf$WR{uaLnWCYjj#_VG4kqOmDF@rIn}KsW|WT7){JUXGQqlGk-_3362(^6x=_RgGfifAMl((9aa&e_i%v#Zx?zqnIMlo)KRj9slxZnaglu#;^SYbr>XfeG?MI7L=8FxzTX!69(hVNI?DoQMOBGj5P zKnc8$MZ=qM1M#L)LEJJDJE>~!D$wq1 z`+73MUJ#UNVD^4Qv!Gb37o0>xG%}Ow?%h5?)zG2Ut`YZX_)OwXT2WV5EjHOK#Qvaz zc<}G&{UXo9oBll&uh5eDx!hyhm`vGa6k6EuYv}64}fIhEBRa?1Y z#UnwamDUc~wRI08Q_p>pwA>$N>O^S8c|xqHwQg*j2P}OEP0zRw6OA@5i9IIW84eFt>C9L!zn-I z3MB0eOO=L1mYaq$N%E3-pi4!VL0M$fy`?MM+YUYypUC`{;*ndT;>x9|=jm{|Y12k` z`Bj(8L4b?W+a!Cb1|^~-24v_Z4mTF8#%||kMTagj*+U@Fk`iQSjX}j3E$vwFX)?@U zCLeroDNJ=z?v#&x)NNSfCB1DyrogS6y(3O#CE}bTLd~@|eFqY!yCrc?igiMaBWgfg zkF0=$6|;Yi9sy1e(Ev!5aUJ?shq>opcnO(E|K!Gv$DsnMREElAA5J{+L}65u?Saa6 z-(IM1lRkTCj>1idgq^9Q4;1dQtASQ~QH?cmB%Dtfs*TQ}%a$#5kFE0Qq1)P+R0GaK zblFcsN)1_0=HgqJ0z(Tz(g71*=#5+~VhV*n>6n$kp^O*3lHYpcO;LxF$X8Yj^Y)*Z zHk?N_wLUgG!)A(f9dn1DwNO7_a>*s`#19^i`uQHdpUz`ckK&CS3p#+cG`SIQK4P8f zbjNWe^Fl}0&_@CHFI)B~HigGzgK27pQx#mZTHxa#5g>5*OktjF-L^yO3wtWs7}nzF z6)_1*mf2TVV`0A!J_L0AspOaurnFF!o2{t7@4jWC;q>18e%*1tHa53CmAQwp#$prn)8l*#mc`O9AlBgjyELi(R3y$(2U zGJCqjNDpa_nV~?r=aSdZ`rmR1k<`wg8U$iP+J|@n61V>CZ%0lM+GB$Z)zOs-Ppj6yp3A8K9|2oHS`{*kBD-KogYudhf$Pj43y` z=9=r|5LFL>MzF1P=qM%hx7~J|XaO`w`YDiAf^o6Ax-WYD*BS0eFzs z9(B|ah_nAA!TQA)*Ga@TM)9I!s|0sIGAW;=$!kA&)gWUmH9$hJrx1(>^E1Y{_wne*Nd2%_^rX#&!_%-vfJr%@{DSep{VMY!35Jr)Rj3M7sR|`7 zj5NUKX{Ss=#{>`y7cxX7HryoJ*C7{WL* zgxF(GJSmJLGAYaZ$$qk^M5h|WhxXRzp6#8={9;Z^$V}F$afkT~%{};=Mq=T=k37Oh zv5}C4*dQor@+wiELR$|ioteteUQ<=6lu(d)kE&z~ofaC>lQE;YA+2}_AugYLPQpYo zt~=Q2ZdDzsDAA`_5VAp4ocbHz`Pt8YR&aXc;hzPPySbuuNu?VkTOyOQ5W}SpJR}>% zaZ{&2is&7VqDAYLsfPR2j$I=YsW}zLg3L>Xaj%wxP%Pn@k|_wy$4#cXqTRL90lL*^ z=lvRzad1P_O)=Z9xLe@Z&4xfX5LmYC5pkg7+~ZuNjWO3GeT%3e;~~DGAua1x?Vz~^ z)Xzxmqe*+YE-1D2=4zg8VJJR6cj={md3C<05c%6sP ziN!3`zK~9{4L+RiP#G^`MyFEkw?7=xFTi6F73N7aA~5ZKoU7!ZBiILH#($@9a^OLQ z{iEL%F`hej4nhz6=e#*>5Pmp#j`h+Pz|Rw3r|vPnU0oxgrZb)0sdF!!gI!l?cjQ38 z826G-3qRXcqF8|_GL$q_(Q6YD;kLj`!EXeJosKYD-~QG&Wn+*<10ohJHPu7CV`)8X zsZnbMM6e>EkpRYC0=sYD9ye<2DA*B#*~P+VnKAt=_v|zOeiN%x1&Ih|yyyyCBuW_%wyivjz@;y`q zlGrm{_emc;)va0qCLg9A3l}a7)qOOzp;)IC5^fhub_jnK#gPtaUYb)OD%Wlo6*XiL zGnF*7L6b0Z`kC(0l}p9`v<2bF9((dpH*Lnr7$)B3rG9j5ql7yJ>3K3p#3Gw5ZxD2bz5I?mtA%l>c@Cv6N?3z zfCU#h$l)`(Q<(I<+f#HfKA@6Ll@pT5BLlN^DPm3Ikgt+d+O4yU!@8LS=JM8CZ*{kP z`xeZ}OFWH}i&<8^v#TJt5 z@zFMrG*P?9TgiN~Z+G7d+kMbg9^6?dy`==5CF5Y}9UVDdazPTSZPV&vbRrzEzS`y+)a8lWNc<3Oi1`>*21dcClZ zxcPDNbHTq+|GxGc*TI(|;m%$-A6gIGo0aS-)QxIfI$M!(&)%f+>HC51VIL$~12!_+y>EN@kCI}%spT&n>{v-8DK)CZIFcx4 z$BI^_A({Xs`rdW~P*$5p_Vtjr9V&69Z@J}G!D`N&8KS*l`gAhx+{n*A|9mjuxug2% zW~otz(l}(1sbPQk8#f)bb--QL001BWNklwT7JEJT&WlLK8z16+Xj| zkUqMJ&*T|%XP$YcI8AoPUt6T(!P?>hh5u$>zVL;MK}-Dlk;6d9(B&4Jl4<9`LrZ7E zRbjRQ6C1HL2h+Z9Uy~eWs;d*w>OLj{Ag*I#A?AHt)}SN)u;ZCaHQNk*c<|z?DjtML zQ`m}*El{RjnRbRqm%sI!Jc<8?MgCG1L%+JAnKoF3FmLFer##JqW-!eT$QD&Y0<})w7 zv`+BZj{SxEBWbX=ckdWEsTHP-tcOm+^x5FE+^4vI{`ki~3cJqtE?w%i>a2(DWu2PU zmliN=4#$@m@*pAwhZ2s(DW{ww;e@q)Y`KiHk@$k9moe@I!B+S~Ymu>!w!x&SJdr-W z>QOhezRtb#o$nOJv>rrI5Ym@n zH&5n&>lQdF;p@j&t#s93&Up9`6P@;EA)F+N;slAzq0v%>)m;ZE^Fc?wBg3d6NfFoY z*fAsAn4=C8f=~_nQH@ffM2w&OjVi{Mw`{<>;dKuQ{qZM&NT<{nz+<*;>kE+DduBLS z84m_@JO~PzONQSpw9s~sC1d&Tr8!Uk{0X_}D?k-EHvu{bJ+%B0_kj~X4D2v=xc>0F zUrS%q^oc}NBe*0Wg+}5-n4iEtoZ&uEFQwtsbf^t{A`Md%h?QuPL`I|n(ygPXOmtto z>~nIETKVv=ZQJ&0$b=jRt=^Sad|sG~wl?@{fEgm4ZD`mhHq`Ux z%>?7r?4Ek+DMZHjTcIA$TY=%q=nLgUPQ+VPT(||?<9F~7h z8Gk1X?z}m(gaNLrfte1OAX4=_n3_B9yid$<^iV)%b=%lIp8PDqqLg~jfI;6or@^FAb}y% zG-lKkF;U1aWZ?LHEu3#CVP)ZB<>IDPl*~67e40_vfs>!ifJOpODKFna0!1kRi6@y# zzMIc5nhSr+E+hnunM}fQ-Y3ozsR5aIhNq;IMdQ8dv+~KKdLW`nqwdW?wm8;J!nFE% zFX=xDshs)mE5XE3jh4iQ84X9J8xyf(oB3XTckK<=3Xx;t5k`JUp^m%mg3~Js+t+CU z*2`hqLuQu;reYOJwRsp=hq%l<2yru{w1i`F_0?Ak@ngJZV#&gL`2HxNX1{qKRlvd& zi{vFYbz{V#R5ch1NKUu`QsY8jhB(xtuf6sfDDQB2$NG)Wi9^(He*3uChEAL?vV$K1 z+d?8wGb2XN;5?!U6Pa$RbZO(RQg}UF=om)rAfq_awsNFokM+q`Bu4;FB5V(_pazI@ zm~-!IU-=R?0c_-*iTa8)KvvJ7Kw$Oim&Bou>xSkrmt68W*bIAzJr)g*N3*`b)Ee{O zGp-ENNG6N(lr&mOAbIDX%8aXoQI6Ar6q&zsUQ^nhy=FVumU|_mlp#YXY~W|d*t>lH z#&x785AC;Bbr8t}l5yo)C4=NMwlc56{#i_;((PQ6AWHLdEkpiJZKt-IB+1j|IOzZ5 za$sQ}xsUibkkc@TzCqnN1n*yEaeYX0F5&xAjazS3MzX%npYKr1)O-a!*m zYHF#$IPSPffsVrUpbdbIQ6hx8k(L9o4 zO8>J}kE{~SFZVU>_neQMJN!F3UXmaY*lO}b(s{;*SK7M`PX83tsBJ#mtxUT_X_M$W z9WmxUMQt!mP+7O;i=njKYyW-kzy0lRi$b^ZSMK=gD}h_MQo}qVq=sD#UR5 z^!D^Vnh(d1eXN1U@;&$bq|<|1p|}s0=ZtahrIF?da|4KQE$p4Ye)U&f)ezVKgPB8=Umr{b0;!H-GlLxo+F`mnE^o zjvYHB9GS+2r&^d287@NF2XevEJcW{!6)TntA$asrGJZa`>oJoidRt@=p^Gp10?cTt z+I7kpUCh6EFSMe*AcNYF!R4~cvnZJ6e!z^4BB)z7(GzxS^o4FB$uE#Bt-;Gq>D z4nahm9AnHw4v7wNpyWe|d3UEnD)a$xQs1gokIM$KXwkXuw9`&=`}Xb@BAkX;WE`@V zjzz5HDlowk*#h59J$8z;LC2i;R^niE57d?0Uf$yEWGRJb_FJ(7XEYibBKeD%?v^2% z&)T)?BvcsFi<1Dq_r33TmwoXIZo;H@L!&d){qzom%RqVhsXstcvJ5wQ8{MNu{FP{c zV#x+K{fs$o+=NMTFq<%OjMS4U2&{+Am)M?g{8VTTR=UNX{4}N;CFzh5LB*|`F`pNw z)6{Tx=E?7K)iG#YQU}R>bqSbCC0pFMkw>^|uDZfqfBlW_J-{HLVn&m`bax8c{n1$( za2sTLDgEZUnm+vuxr5SQGLI}8HrAUeWTbvPXfr!8Y3Ag~6NRZ?zy1|DjBAKTFG=qR zd(?h>%9KesK(7@hQVSUtGJ->gR)tYf$@q#D3rSyaV|2;!fW39oW;t+^8P%+x-nQ9? z?<2ifuwa23KXIgMYVc+cEc^)0{PIc701w~PhWb8x+i3o#8IPk9Xr;GgVo6uHrkVAV z_ckHKua}g2fx@z7E8YD|?v>vdXI+_gwuA4D$9;qnmNrz(z*@0nOxnUi$vLko#Eevi zS3g^!VP-f^zMqUC_qz!bGG>0ni{D>;^<@x%JtFjp_i#)}f_x;I8#)NTs2y%>q)>}d z*&-AU4{ryK(%@SPGqSB=hP z4E-o*!Y1yUoX^}}ya|&3{lN#9$zg+qOh4x^Gh|c4$veC`5JO>7n~P{NIE)fgI`!%S zK{ez)#(gyy_xVyE@26mizn^<9f?9C>i1|(&d)y*1d1XCnno8d>3Zi*41z2j?sQ zu7oz`xc8q38~Tyrd>idYW+d#dt`IQBy(@%@`1|FMRCQx>u94Ej|pM6Tgc`;u*a~?=GZQ1Bg_-H?g0Q)G8vdszE1l}`sgqXtQG8iS( zPKiC++Y_cedumWqv2NW4A)Jh=Ldms8PKb^nEUu@h19OoB)a z2BlW~O|%cB_*o)pj;l!2*Kd%|a~EA8gniN^#As)U?}1}!bEpQNJ@Y)-h_`Qj)n^fm z`=nb8Ey;G%EtMq+lbBqE7*h)0u#X!p!aO=0LWE23ha|OKFvzj>_q|SPChDLi$8vm`?EGZ=MPV^mHl>P58ydQ2m>7)<3T1X~oCc<^a zHN`bcn!)z--=wvZCXIKE`@G45GQ50CR5DHmRFmp?Q;UpDozDNN(agq+(qP(TlUCE| zmHSlv5SSVH2)z;sh4kS0XP*-(IQIsjS)CL;Oz{1rJN)Ec5iNS?;JuVi&z(D4m`5g< z$}YT@_t4Rl`ycl%GTaRftrCutg+5rM_bl8q=FasQaT^;E;Rk{=Ej(y(Zy@8(x;(S% zohb9&n{suVf-h=)a+QyL>|^falTXGz5r?p@RT3x?YaI{oQ{aUn+(XG!Gg=(8^y>Vj z;72t}%tBjV&m1j`)PqpGLC8&gH~YO{!8yXbYfhJF|45Ug<3W69&puNk&GFEi3e0%) z-E158Ube5g4k3q|eaLCCFpJDFeLwH>c~^Ld&b`NUI(h7e5P?`rD~zJbuq0p??QN=I z4uDb(r%fN6>=dn(Jpj|=uP#=YcnQXnYT^#o39OE=Z^j=-v(U&6XH<23~ z@58`)q;K#w2>Tk;)!fwJYFeQi7xAQje;fP{WHU&%4Ma@dp56;J?(fOT`|J=)q%9$OISTf;%v>m zC`YM=PZF6YF9i=I?vW{;ZK9GwG!`;B2+ZV*giXw}m!T*%p_4jc=GsQ+AhQpLZ829P zLkEVH@29U7nbS&0P}P~0uj$NUjqivEg=Ncafe8||8I+D|9Cz)y;t2t}pT_|#K32PD z{%PXF1wdB$1pzV*gC3;{{i9J7Qx2_p)6{q&rj1ByO#w&XYM(Iv; z9J9wu|IL2MJi+^Tc$Fx2!C^uV6d9*$IJna1j>_R66lL~-kiWMy`$I)7wD;sb3nA^2 zXC%-naXoPN;=lcYArlRUOG~kA#(U#R81xfT2Q1;inDU=GF`u|ClZj*7Ej{fcD6-z-G=NtNZ3?jt&Fd# z0z=}T{XWbGYF~)8->{-_mIK@N0Donyy5F+Q6FL?ekG&>KBGa9^<=_C_shG-u0cZPs z+U&+qnif)5A+nyyj~36g7jF!@(|)_x5b$eme^T5TN!HAsxsX#@(pl~ZeOL6^h)gNx zU{u2xDWN7s*LRcI_6Lc~I@G^- zFsNg)BHGN8TZmvK&w~-Jt|iBmTf&;%96hkm-++bYHnj+dkPDmWv-y$;My4UtJ`|>s zEN#IdN$c9Zdk-|u!$jIn9P7Y5Dh`Yal*{hDl&gdxG+8R(BuY|9^AV9=SNpj0p0THZ zgZ=R)M_zv8&787}Fxf#gAv#@muy%~x%)TdasvxdPk~_ng@6&PG@4y5`UVYJ|PRtW! zsQHi^BLGXt-5+r_zfk zb6+^F+01fj2xvv1frzSp6^9Oo$j$)h^3a&CY_)KtO7Wyg+>489p%VA(R_r(3_OoTr z-R>@@Y4BJew+SWgQSzE^9bF+8Wt_Cmu57hCdv~$7A*~OJx()>jxSRz6fVx$3iJ0`A zx%whWy92EWG2-7WdT$)S6jQjkfyXSbo3+EgTD`=lDxHbm8{QARt%xCcH4bTSoc z*SS_h9qIa{Lp^-yehg|*-+uE>=T>)jmL9gx9ybKKgFsJ7VD$N(*40_Nb4l^}U8&xe zs~!Dm8Rx#osVenz0Z)%xPRXaB=T&+F}K{zMN9J%5|k&=ms4 zxOat+{cZ^4iGbHq}vkvVa%2`C*X+6ux@P2fgFE3leFjSEIeQb(K==b z6o>$`cyh_BQ{G@@P!)sDJ`04mEFT-JbD%5-%Ni{Rn8e*CLfIie#+yarpLerJ#0TBA z^;z{!>SkTh+oQJa{9Xm`*-X1QX@Y5Ik&u|3243qyW9(5wz!1oZz>pz`zygQIy?YQ6 z5eeGpz?Y91K)Jzb%xJldn6=js$R7b?-1En($aiMPE6-o~5tX=R7{kJ%YiRu2FkW_% zd)d?K(%JE+$P`PKRYYW=RibrMfHjZB?VG;V*DkBjYElVL_WX7*!hW){UWjEyjDr>_-pf4*--z#ZG|8GrOA_&d|MJ!@_jV+p5~;ti`0R)eD4ZFOjLnT7@2o(` zL8V=31H$^kc>f0;k?ezpN%wm?gYEfJA`r$?SL5bj+35F~_2gT@L_Nq^!7Ltr2wkO%1+NZlPc zed#RI-N5N#=RIMf45o=Lv@ih_v$_89kAK|1iXbCKG=yXHrp~_4w=E3)$ah!3T*hZQ z?CUKv-ZzyQefK@!mM>o+8S(V{=;tRtx!7HM?e$0l zeUIDn@>aY*De-IDkgbA@Wq&G3>{i*=_x|-?-GBYpZ9(6^)Tb7^wHr1f5f>Qvsu~xMRk?L*HzA=BW4j|E3Z?h5Q&ZFy)u#Ay z{?y{n$ko_{wp9#){J+}mMVjk&WJ;~98Sa|f;%>#tr`);ce+HkwfH^?5T*-DM-9VnX zbSmNY?M3!gq(A3jgxOhhWqZ`HmYsdl)aO7KI)>&R;Oc7ly8PYaVP$Y3puQ(uThU80 zRRRiL{2NPM{(f`!Uib1VJKZ%mT<4ZO{IFzf`Ssh27WI5Y;10m zq&~}*J?uXD$qQu-`}OVI8vOm~zxi9C)ubJJ8k=Ah$2<)Ijn=6eWbIT&{6Hh8T7gZQ zHo1!~`i%STcW*_V$aE{2M^pPr~_g3-m?x(htnyf;#S-s!e;=R#KWr~O80c)aN_KqDp#4+-&yY6y# z+;z8`KYzZPHD{hYcg7iKxCb71z^z)f${l_5(QfkO$srTn2Ak+tUU|jMoH>KN4;ka@PS*mI>nOE5_W{17^-h0LQ_0U5PbsINslsVC` zZ+Do4I`<@gbCxqp7QVUQLX<*yx^r{&_cS*f60@*@bI(^5h9O;*R#nsJ_0d$c*BSyP zL%n0y_j7v7Py03lXI(N-A*SHmr zta4M2e=kKUt{M{2dm*K#l&1v}7D{|XLW+M^)YLP-u}?WqsX2C-vllFK^Uql*hX68& zD_1@4F2DTp4$S-MXHIjxSjYtOzNHU6;vQc0gquBkCa&2M8HFXr)N*}TQaSvm6P2}Y zcf&rBa>Zhv5sxDSX|9qArPYD0dD>6;G$hl!T3g9vS3zpl?v^fF;a+_4MTzz@3=BO# z^`Jz?oeVoS#`DiVA5yq%DQ`!d$OK$*#TD+xTfXm>KDfeN@s(rby_+^~1T#_L=FVT} znvm|A@YdE2aZB#G1I%~5`|_8+1mxjBr??0G3#H2GO1JF6M^ICxTfc6LdtuFYg*mUN zs+6{JV?X}*R_C&cN5auBUE%@H|{@F35I_G*4>xZAsNYTkp9>RIG*825- z<;~Z-gAO`K<~@Js6+NW#P&{YOOjn;3-u2*vt3X>R$m3Up^&=D^Wg=744qx`V189#a59aP=*K?Pb)Q=IVF-ueJST!9FG+qfKA{=_DurW_f;GKy?YC zvap0XX70*Byk}mpYhpYDEXjfxH;S@vCFQ|hULNDL9Q@H($3Eo5{PIMHvEqLt7#l0% zwMBsZ{z4zXbRg4gQ_=dp)*uFaswAzS)oNWWk4*Q^f%8F!`(ftz8gOipsk6@>*?8Y* zTw_ccwa|WYLydQrLbpHvE7yX&!s1jq@ZLuS2G*#+R;Z%VJEOeJ z3;VRqf-vfO!l4XBsQI6x&?9rU*Lhl$|8Ub;H56zUJnQ+|CA9^LzcNqiCc2KRfNgj> z#ucKlA_^YX_aCZ=j5}t_)$Z^Fb0dSg&y<9RBHkl<`Rf~<9_z*EJ_JEmGP68niv%A_ZHn#oN(7yO0mt*@HgLP&77iDXYa&@N76wm}a^ETdYxh z(;oNS-2fzYuaiv<@9`ohcISG$n*xSvjK!RwcB9Fv9Vhj0A`NZGR)xe=#9`A5Ao0;xCU(}4lWSE~L~i$-1kyUJ%k}i-g=i{##q*|o1-Qooc8eMRUG>NWTS)c) zJ-~uXKa<1jalW#-@6DJi*w2}Ck#iVlEgjIpJ>bzQrX;0; zUwLV+<%;Q!0=*dVf(vQW0%(b57S$ zIsAMz4#~<*$B$smWP#o-+4-g+Tj%XHf{0}0rB|hw zEPR4_So+(^QuCjpEBQClVeIUH+-aP?y=oXgh$k5mdjT@; zn9bHoosL?^V|CE?k}n~SY0T*jGD{BtchtAxds*l+Oc?h`54Y@8$sI0U*@O34Njj%| zktoKYPMhNV&UHizXppx!I%;uIk9LKmfdSJ2u_72Lc1#B3H!#vIv;|s-yz&fjP|Gz+ zG|rQX`oJ$sy}$F&+6O;jE#LIA*le=skACDm?^gx(T~L@+gQJKH$xT|dARUwO=S@H0 zIWOy-10;x03q$5@0+ewkJDy(V50tQa!}NQkL2=Qous0=VqycM*w^RA)SM$vbUq=^Z zEDJW1Lz#YL;xh2sp3?V52ayR7$8f5%HnpE?6WyQI8&4veY2ai~vI$6RyIpSg20dEb z29eQ&-7O0b$6$x-(Ri%QxW}keAsekdGz|>~20798^+v$H?CW$*Gzuw9zh7l;3^lE< zE+SN>fNB5=Tn9aJVyE{b7m4rVEaxro)k-&6B_f)*W|&TWgG^WnblT3f*dh1zG?4hG znI4pOCU15}&s^j4>azmVWoslConiMq9_UM`-~`aZr$k;BrdH0!dW}_uWZT;AMi!7O z!<#zq^ww|L;ASJB|% zJ#ryDnF&KhtjwtR(aQd2XHAIWsIyITNMk(%FgM8oT*sV2-+sJi%)bB0A8rAf!~z7V zAMuc?wzThLxA87Pn1fNs-Mf>fc4iPd;+pX=K>{E@5f#jf`Wst9Xe}hpUyxUT(>~*T z+UK3=G*Z@y$#@b?Un5E`#;~v1YL)DMzfl+d=L#;nV0>J0{xP6lh?w3HY8E6GsoxhG zC%<=MswjSNvgR<2mgfa8#hJISDRwiOdV|-M0SP0Kr;4AySmH&No$Hw1^p{Q3K{*U@ zOsi5v{Ev>t`s#gq+}Y0|5;G5#$QP~jP%W;Fo2@$00o21S7aSr!O3+?TN2WvWP{#9)nEN|Jsc0_a@b<@@h)!li zm7fD7#VU|%+CX*y>FbmaV^ukx&xB+iG4Gz^>ylG-(^*GIB%SoZ(Li+&bCL>nUl~9i z?6M|F*GUp$ZQjx`njUkSIN4IJwsU{BN~rqS7AUdca^;QpTHW~UHB7@P)mz5gjHy@g`0%C4K?@XEn?|37u;h}ZPMxXTO zVZIFKg@QVzq^Wga($xH_rJSSzQ}kZ4-0v;)kxU0!aCmU>8>lGHrFJfxUd{Ac)kN>?h4hUJu_8j8!e$JZEF!p%)gRAvcCLje)M-rC5{HB! zF#X~R$ODHwbKmY`k$)K?tS`*$s3V=a9-erthuT4grKcg6U%cJ;h~dI|h*a{UWuaY3 zqr<21_$9brh9?&o^Ga{OQ8aHhO}qi#sqj3MjfDMXJidRfwSA*lNuP9msax|B9@rmM zbBvrczjRRS$ELABk8-_gjc%uU3rN(HCQEzS*Bvu9pK~djI>CBk`Xj^hPqwM{ryAVi zy|+(>Rk&0GmsP9gR&`;!T#~nVNm?Xv_Cljt;YJU)7a4}1M02viEreRsck;+$X1rTfq;_?0l51!i@5H}Pc74)&%g;ein8$F zhdz~1F=1`)?;rQ4iI?198e+(rj1fu8mSVS~C0;M9o8O0`BDvCrSG^yz&l448kX|ep zcRE6-=0x$`R8O}}WcY+ImVs2<9$F+$Hy4=C+;)7N@KM9a<5t;@5iZG*!H|sYCmW(5 z*F$lZ`xwBRdy&!Vwiqx;w`2>6tQjMJQ9Gc=aOSi`DBcZ`7=nN5#tiPF-=e75du=DbwT#z50>qn9!f2IMI>il65{zbL;5HOF@XIe*E_uvGzxJJYT$@ z%;-B9PP&<(3BNgdGT2!R0uC;8x}S6g^b!v^Bfd|;ZI)v@D=M}}KGlD`cwol-tv4QV zh>CjIONh6n!Qq+;13a=RT!*zQZE$?0f=I3lBcGPs`mT}~A=D+X+1bz-VZ*$BcNSEwyE`;h(T$GS6Ar97O|QQkOACjhMl=!!kI=JJ{@=76 zQI)$1({W~1g34qGujF*E-576Br);&Z@N9;5E}$#O3bU$Uq#azB<+xlX7X&81JU~`y z!F+Y(%O%t83#?^VeJxIXtVvCiQlVJA288=^7vR+5;UNEDdRl}Ivy7>!Ox zOv%(%;L+%Ko!>?w4Wu%pBjm7_8xd77Sm?P7#bdO=j= zpQQLfWU>D^e4lV~Y|(78q-=mk(R7Gtz6p^xqt9#Ibx+7GynVgwM?iNV5K+x_PZw9i z;EgkuG@Kah!jt-PLD(;oK$aJh59*|?O{(*3e5E_&X4@)kQ zG#K2q2ik3RTzzmxDQ5O`=#^HPA>9y8<-TJ;%#vJ?63Kx!sLx6msq^HYW;(VwvstZR z-K+1GE0z!44LB{Vtzo4%3QuZ0&cx>08DibTpH)N<65@N^%8!x~UVP(y!ojqF5j54# zpQ~W2>h(}0(NVp= za6qmA_6Lxmyr{e?5TarYWj{-!qzs}6iBzy!N7RcH-!r>sL@1&`#eCZd!hb9w(gjhD$mj|E;Dxys9t#YUgOD9*A|)=TKVGMaFn4bLZ4H=`t%WW} z+W>f_Ypyej!DU7$q`yl@q7+spxd-}vfmg8&_`8c$Iwz!OPLRnB79XvpVOlS0b3v^K zMUzpN$u^rL8HQ-S1#XCJszdHYnI8a>mwbmg8WK}eUsw@?4$}seveWW>`BlwSM(Bsz zhhBd1BbW+CKnY1kSY-=`qWLfsYBsxz-d(}O<#`WE!aWd?IX zPBZeL>p4Prr*|aLXot^c9a!Omcc1NfEsoSxGDn?J(Gb)SN+( zoQ@k<5kJhF62mO`f7>Jj&V<)>8bmI6ExBINUZM}vZOXE3fVi@VcESF7!Bk>}0}A2I zbl#MbAyMnGtwTOodsL~qym~KvT_qMi?;0FayS^FHJo|ZQ+jUPoq;AUD8m38Bq;$<_ z6pkAOV_er!GGB{us%Dr#6{a-H4MmiaTTgC19fk#C&nbfPL<8DFD2>k3miZYjz#L#HN+*5N@+ii}mV&`#D#-0wh<|Y5-J@HV4ID$c|12Op& z@*(a;4wEJ>JdU_<>h=qTbh$8&@sQ0X(6Wew$b0+#5N4Pi0%B~r?@@Yh;>p3$LYNgj zk*13$e3&$Jdg$U9nT2Qy;Mjual|1G!Ue}jfAR)&J=wDjv7?PcRZ_3w6E}piTm(PhZ z%LE26L=3h)r{GZ}nQTO~%lvhTpaw`0<#(n?^T!6%FHdc{zUpA&jHE?KNfOjURe~)T z2C3JUDw6x!Jvf*mq~=%O`Kd=-o@e5<-+NUr1#IcNt*>zDsJ^w{kKD2` z^LK~Ro%~xqXh}V(sgybxl1nHc|A#H)-g8$;7)VOtH`Dj_rVO#VR`ZSp0*VH>w;m3L zNfNu6*}{Fq?jPAfM~soteS&6G5oH>qq27mFym?>KM39ZFWtffhknzMjzAm1T^F4`A zY0IfgiD;#XZwL>|Fcx39O?w1hCH$yZ)@q@YoAm%lWqZipv2*)T(o{!hhH*pAmT)O% za1!V7(r4=vW8&-V_xoozn2It9#pBcMdv+1Ddl}r<0Aw7g(rJN1j@p z&u(eMzc)2uR+~Dp(!t{~r)1mO+*^Ndt{` zY=9;#J4r)>9I>v{OHS(R;;29b;NE)C-zu57+mID>e*L-G>QD^2{{cu+Q9;M0rXg_~Y_vxvoqLK)lYu2$Snf~g?n*AIAVw8fZT3aCm`eCxNKC+i zr{V}7?nxvT90!=}z8Sx}KESf}9O|ea7TJOZrY2k+;L^RWFZwO`n5gGy;89+70X00qho|UgJN%^~9!e^D7ZOkL^(=tXHHldAhRF@98}D zp%cU{QsT}J8#9QD3nggWEu+j*to-JCIW<>-{G;wshZbE)gG?H{jHrlbXu8CURwQ!h zqhGsqe;KZ9{r>uN{?P3K(R3@czE+P8&Q-HA&&44X_f-7!t#GL!!$+_GV^kmvoAcx$ z2&h9pY|V;ll5UV<)3HNV{|#+_y7}H(e@K&PG2V8#4o0R1{K4;F2s7yZVWIfl0d%mdgF1@n2@h?+nI*V-;-!-SSq^A+zV0K;aN5+f83xA^Y zO=Ye>zf`$EatAvW^Vm-(M7C7yE98a_fW=` z5y?fCT`@!iR>OUdQV|V((zXq=QNFJ)^hF+|$NP|p2*JreG!=q&i-L_zt`AvL#y2fh z=ZpIWf7mwx$c4~;n$>Re1p~pDR3Cp3e|4~Q@_w1w_y{vLNM#L*|K-MRV9h~+FR1Qg z9R~$w38(!r*fOG;K(WGj!cDWZCc9FNvJ_^n*CirNS5wkUFt=W=*Fm`Fx34z4$mg3C z>1eD}W~^yyet`?cj##m}ew!wg_$DNQ2RbbK-9~itpZXTbXv=n_fXv~F17asxZxp=> zOpm^m`Mq_rJ<+{ z5~-aEaCE4uf1YJ7=5&CVZU8SzR2e=P8;e1_W!Swg1@YjHy67@v~)RMqQ1bs zKu8_tgAlx1dnEp3Zi$ua&0VH{@5Hf*yD_c-ju7Y^R(u|YfvFP)2&srKNvLA-iXfh_ zIQCJZ+o}~G>gWq708-^8W5y2)PTwCAJ$9iM+?l;S%PkxaM9PXnEK?t$cQBI^tO^(5 zS+>`r+NDjO@wHP)&pKNxbGm*xWtrqm+YHD)4R~DMbr_Cj6ULUT=UQn@IF}VgWjKf9 z#;5`E=ALG|*ZVP{F|ZHd#*U5pKnx3t?pJ5DrkDsH?#-x1_Rs4SnV`nX>Wp5r6&>WX zg=>GexRr#xVjn2Bh~R*m$cbsKUS6=z8a5NKK0PuR=#9nl-_JzivZS$ebIe478PnFR zTZY_nWfeVvX8{z5`#L*-bt*Xng{L6Ul0 z8eQua+TJ(KaDHGpU)aY~KEtt=?$_*DI{-C`UXjkiY^ z&ItX#jZr5wj`lPp9k48I)6*QUugF^*zSG*9>};&Jzx(qtMbJFQ*nP3jf`+(}7)t)* z{)qDiLxtQ}qpY=O-Ff%xwMmBc0jL)WC}hDiZkwB{O`F!6+JBFGu)ah1yi3`1M{lNQv>udj zKhs_xR5F;aCZXNvxE2U-m)F6kT1zYq7m%=ux#M@AK0}*G;|c6+eXb_#ZG7 zfKK4{UREgct^=Zw<6* zP_Tj+jklmGnq^yg`Iu$1gFCyhcU4QIkqW>x(rq18H~?w)0g>A8gAZV z%2VPVT#(!*Rxx7rjwOBIT611!i8WIF%)^99)3!S;Q(TxpH#b3Z6hs^t6iS40LsXB7$y3fZ^Fg4Hd(fnZkC&G&Ky&fdmy6sYvy>MwT>7l=}Se zv4(CwvB|0nCXEOEDdX~TC8*fZLb8ZRx+UuVj`-ZF@^VBG_suTnK#>j*3&S)h5-|;+ z0s#lNc0eyN4$yy}RJ~po?g*DHGVj=8#WJ%bxIJ!*?qSX3Coft$$O(JDnrvg8N@>IAMM!-Z25OW^tFpsmz65 zGHnDflWZPo9Npn)T*{d`9-Y@6^mUr%H6kk%J4O|m>&2%>M0s23CRfZZ>aRuq>7dEyFAe^>nYc5-PG>Hyc6#c<0t*7OyrRg&ai#n2RsO#cZsSLf$)qrPxh2>mUsB42%3_x) z?j~6r7S)P(`1#u~QEoW!4%mA25;+LX5i8A*Crr-+Y<0;oo>4Yk8kURc*gc{(B3Knl z1hJURkmK1#+hE9g1y%P-dgC}HF&Yud`w>n@GZyhPa!3p(OF!;k_ ztd7&R!)C05=y^Zk0R3l|mM4e24;-aKOczTpRHGdaHT3UKKo<&y6xTwJC1n0ZjjT}c zVmqDB(>U_OZ#}HEGEJgO{%aXC#zyeO4hQ1HgNX>M=%MUt5xy2Ah1K2?D$lG3O@~RA z>rof^zG)LvynH~V_etkvWyz3fz1AQ^tcl&ZQ+sAZ;x<_TL%;Hxp~Bet*D%OID(j-U2K|jr3hEn~gZ|CnxsH4P1LGmq_IImmG36&K5#LZ*j;#{5WqIDRKO|Apq0A-5<(r07w(Wab ztv*0zG3@DVv}rw$I^Vp}Tsbezwu!Q`O7xzDD78^{KmUyD;CorSsMV_s**jLX9Py@_ z(+r&W_gQVk-b0DuJ9t0ae22@xRX&Wh0QK=^OqWt-k=9l?|GGBZKkH`OqMSgw*gyGb zx}2!6PjkS)ulN3!X)AFxI_k>X8rSDyss$BRdGL3)K`{e^i}K zp9Hypp4yV);NBZHa&s-$@I&M7VXd}w+jqVi1j+7TGBfOmDW8E>vCv1VY(OZ9@w9Rh z?mRW0Ja1aLDhZM~6uncrN|u+HA*^mN;sqhj%K++@8mxueRAHFIrx!e8ZG}ZcxUBQ0 zkuRJ;kO?FKVm30k6)~E_m)G`Np%C)*IycTM<(*EGBRIxQ z+VvD5Hm)J{FvVq4l{&NTc8DNQ%;xIu8#L-Pc7Lh+iM1bp&w2VjKOY0jwNKVj)ee6U zA>j8-^+DKER+WWb1k8K}sFR6A(tPuCo699}8ZmV4M)E|$20W3V6v0IbaAY0XX=;M*L#;9#)L7KZU z8Ez3`?+bFTGz23o4jI?nDpmAG-o0z0tXywlF3_apBDZBZFc~1V z%KOw=Ri!S-4FazcB_v4IHvnT0f^pUgW6<#8|3H5&wq{}jCmA0Ckr>{*N1S$l43@x9 z-B#Jd74!rrWdYM{qhe7R8P)DnyLqZkT~mJWL##CLN`}xr9Cd4m=zg7@gr%2T*q}He zE@`6LQDN|0Ofg}R3}3^`#y}{QLFw!xKmJguEw_L54i9=DpcXuXuG{25{+Ge-`xETi zimbBVi_fqE?qnnesaRKx*#}pxp9wR@`RNRW?V+{sJia-OCcVsn5TJEiMqc}Y36CNl z#)uS-p*HONC_|<$-W8qR@dTX*u@GuKU^$vf@05dX1@9Qe7xAMhlvM1Ilop;jyR766 zQZCJbVX0IjMB# z&e?=B*@$u?EGijC6Qy;qVeVLnzY42Kbn3Q+Rx(L%M*jXZ0!eJGF2DJs=X_xu6y=fh zs--AooXJaK6^|-@6!Vz0weh15Pkqd2kK$T;Ovp693YL?Pvi8A(Yp$V&?`wbj`Vr%< z=<{4dT@zqpzXK-r!GC~fji#>D+ELw+?BMu({y1C#{e)-TN(FOsI>GJttQQ`tlHtr`z2r8)h-6rCXu04xJSR&7%jAm{D--=fut48Z3pS6gaxaQ~&F z4Fsd~VE^BIUv3eKp18&soc1Idb=ei*Gz6Q%WBMN>b4U4%dr+)AQvQ2X|B=O(BLIem z4)vSo6LayukNK7ixbQ%>a!>o8q5ijKbq@b$?>!>B$HaeYZvW@%k@RQDOS<7q>wkX^ z@Kk=k&n`d$+xyi2@$#9B&)&@p)7AF>e*AxA#{ED5h44=Pty6~o`Es_;3v7RyTrmG% zqXkUvXSvj`=dZ#4e7Vi%1)Dsp3&#I3CosZ59SFp)e)vBx$AE$w(69BIfjbHK&nN>x z{KBs%8=CJF|=lCZZ^}b4y^AS3@BKU zN}a!wYg!eYh)*@thFg>%JB~e@L}3U;A}t@6mP2&Ab(CSuqpZdH75L@-z%pu!@fv_K5y;1Y|B?+2Cn%g8}0YF(nhiB^WrXv8hHp zxsFd_W{KwTUz~Bq#o;tF3ob3zYEP+8$R+17k_^g9u8Sf)=}`U@sSg16gRfJ+4vJh> zJ}}}JTgz9twL}xU-IOmbW5j2(=mM4*EIrtOBc1K@>136Y2=T&DXZ}!pyo;06S;^$- zBgr~sC8wUfZzeV<^6s5&=BMDt9~I5( zK#s0__8Ng=`@!Po)$^d{#=_hMd$s4SVBW}#rA4M%kKfKO( zjia;;H-H@q*R1IrR8L$TA6U$O{LJx^Ilx9FZ z)--A>vLj0TU1DgzU?Zy(h&8a$LqHM`momEXJ>)OE81>%AMhHbtwcR7E8pG!n&*39R ztn(6>h*v6G|3*S3X3|SnG{!Yy^;cqzE20Nc`6=0BB>TOCzQXGB|H1*Q%h$eZQlc(N{#C6ZYDey;r#4@!+NkCrt0GT8bY zbJ#sq4YKga&`s*ja1yLH0u|Shuk@+=yqJ}5!9807ImEs4!%Fzl!SfXtMpS(>Ot=t` zKS@-~mhebIXBY482@NhM5Kc;g|MnK_YjD{eI-@@SthPLdttZxtx69G!2-vi-Xaq-& zp%}_HR#R-mN4@AnKxM#$$*_8nusq z{$xTB!(hyIt(|7B_`Qw&V4k_EU%3LFE-2bp^gk6gy zz&VY914V&mVAI*aLwUe(1tZ(4RFC;HAEz-GRB(s(hkNp{t%-9g=yn4Odvea*EF#7u z)Gd0L$8gjH5F0o>VCzwJBp$%OBGusm#*@F5kY7!R@puvm1zKeEx-ZtR?<1*lfCqQL zS~i&DmCAIV_CA*~I36iOO1%G2iH2_Q4f+QW}>I;m;c= z)S;EI3k@$=_KGW&B~k0)`7f&;gM#HDkMX*8cFrP>eDj++f>yPc zN8WIj&5JyhL|K)_(I^X%qcP(IuVW>Fh$QeONs+Vg5NhZJb(=Y=@R zT3`NDu;2&1Gh+nQ&}jXMs3L$iQ{q<`G?$e!?5Po|`;w&v2KyFP<-Abr>0M2s(ucl6 zMYv4=5as;4YT#Fc7Zi!mqf~>$-ZnL@_DW^caMzSK1hN33h%p7m5VUc>F-;^C4q2MOZqm# zy8<5`9*+CH_4|s?Er$luia8v+aU=smP8ml4M#f~vDFvN*O+@(N@(~OBlO=_UptPif zA7^jE8A-_2x1`fFgsqZDGVG6Zp(EBcc2Hbh(7&DfM-R9S_QC{sQTF?kQ7);n zjZnBdS@C=4@l^mjeO5`_G)ci(M>WqcW$kr{ug2XgE8JS7#MRqB-b_q+h`Y<3Vj0iN zYUbgvWIy55ji1M|0T^eaR!nTbTLs+JuSPQ)bC^6RK?89So~)b;I3axj2a2zf%v8T( zGFGaoD7eDfk==2nl&_7u9zc_HyR7x*-~LAG5eDTVC^fk2pXj1*RtFFLCkL`0$S+zf zN%u7zJWh2$o_ATS&-Lv3;@Vi1rHV^=N>B%M(r?KZ;$0MpY(sMSDr0urm$w)OH6n@2 zd!M`%8tPEXIRO`<+qot_$-S(G}ab3)8pv>DP4V1zn3=lx9;a9>V>f z3kAPYZSdJ#Mj0+p`!G@+-9FkeX(WimX5E7Nzw%8}rQ5-Xw^ARt!{U+{SH8I_#ii`O z2lpI{WaP1;Dq~2sLGOgw*+=8<+-C^C$S5z;V>TVk2nz^;F?x ztUJLYwWAqcfo&n=rg_uZg7heJ@HvO`e% zvns=|#K=rGJf(>K!G-nlKZn(0mI=nN+F3%W7$LWZg<8{6)f`~To_Nf3Jj3W zFn$xk@e&TlCa?C9V{w;M)AWxX=I@Y7nzxIvrDkI2jCy?@^)`jxDnDB#JcTkw#6*7h z5Bi~))cE=#Xoc5XQrtBZnXjMH3ut|CWS-{egoZ`q-SlWBe$ z_`JF7&)MzCs!grC7UUe5YsQs6`1sPPcI!7` z1k@a(SehG>NJnAw$4cZCU72r?U0BuwD#llJA*jw~WT@EFgPQ)WM^d3orP@}a7M;>8 zg(-TI^r>4yB|`X>V1{n0`uBVC8w|vg<#kWKPL(jdWF#dPB@I?8AAg4p=nJp6o58m) z?Pe*9Ohu62*UH&jJ2H_Sc0yc6yG14P=$b}4nrI-CP)WKMxi|~wO)O8-2V5zqb~*QK zOoDDCn zew|&6mw)~-sYA%NdaZEl*spH}6#dO#7u40|ym0yk(%w3aI5Nl{(mx6p&mh6J6xnp%z8!Q4oXRz2f07T~ys1<7RCYc&noP8J|ooL$i_Vm;5A zF9!qq+0s22A1R>T(?(FCNY1VZ`pvr%h$D&d!_yd;_PJLSYgEv>_D)EUihuqhVd02cry*JN|&*9(YcPUyN1R7GFF<``F-Xd*P7aHbZ;s_IC)B_{}wAhE)_1qI_Y=*fTQvn;B- zi4Fi45cSK8=Eb}9L@PILT^a^8ss?gCelkdM!HsLn_m8tL}d%RE+%ifgLjrqGeI=zkmE0evp6x3?L)~m015X(UJI>Gm&tt{A^nQ zp8fyijdH|3FZ`c7{`V>QKXdi}?oMddY=dJJs(x8%-$ZH=>x|(eS|8?nw_`i2Kq)Yx!W?TFWL}-{=Djpp=`cj*B+|5K zI(L@kxl3GKY8Yl=W^PGN{=T%b@~^C%uzuj+&&CGr(k&A&?WWh`+i-gsRjQ_7FDg_B zH;C?|^tEt{v!^i2(Msvv>r@mVw>`{$wlt>Va&A}t ztI|G$(1_e%Zhrn0o#@w2KLX!rlhx|M`}W0QirGcQ-~G@YY@3elWEu@JX`ODb?A1n# z6bEP=9tKJd(L194DIv0MA3!_vC&=wcUEwDt$*!vNZ>IB#*|I7Xu`%<0XmDfe8j@`t*ANa5Wd3#`*T}aF{=@P!8w! zW1dO}nNl7`MunDmiG4R7orZV@@IHIQ_;$sa&)#BtnOsl`t^hgpC=!&jKor%@w-o!O z_eb?+_ktxgyjr^RjjL#vmX{5mxYw7Q909#sOyb|9_(UE8sD2ek41NVX;OWqHC(f3e zyWW5vO`8*!j^pIyq+o=Fxp`lx*6vWWGk`FR&!E2-D`n20t2tilHpyT(fAjFvWZiuq zK&}a?F`JEF3IucPB3QShsqQ{!wOrm>tk$6mnf7|Q4^snSOLMH7oXp}`&3yKwtlL&)0Fwyk z|GxV^sp3OS7CIes?H}8{l7w7zs8U}Iz?KU@^^y)l_^pR<52Z~RKDNByZ*A7Icsw*c zwCX2T0ogHVt-=~%FiLhi1u;g4XJ(gwl;&TO88R7$c)I0}%G&`ag?jJC(|F-l~ktyD6@FJU%dbh5^KkS&wrb}_r34yvs=CTI|e$D{&ceY;B#KhosZ~=w&gP~r*M2raxbZP z{|&Wgyv9}uEQ{A&{PymSjh%o0{%IP#X~Zeq4xX)v>XzKwBF&Czn&{BElP1vj-h+U&UGR;? zvr86QbVLvgLDDu+A?#Z+0Q{Q0Q&t*eT6%pnYn2x z(`iv{r~_fj>{p#OeyE*nq2jq$%sP?Gg5eqmLXur~g;PVj?g2P(2w56d?7Sk5Ot$Da zk2VJ_l4)27>pomL$lBw-UqaJf{!A*v_xXo#t|H4vsXo1uZoZB1zMp&&WjBrR=xwL6 zgH7?4M;cIp#7k@rWB;4=>BCvfE&f_Xkf`|tTzly4q?^v6`+5CB&p>W>Wrv*xq1-9E zeXn}GpwvK%hBUP$

pI*Ob5CVl6eUsWq4wq%Zg=h$dg_d&KtiB6|R^-^r%N>Du6%c0)w9wrwF*%r+Zzz?>D6Ts#NL9#F z7#gfqeo7Q)=?eYpZPHxpkMhJhdYr1Mukaz_Tx#&w(CVrWlzNBramOQJxD)w&I}Vdo zxaTi6+$Z-+h3k4AzsrXUY|4gS2c?PE5tqSbokC{yC^*rr@V>Jm-YfY*x%Qn3CHl(< zM!Ah6cyDd2t)8kQrc-BH+J8Jgbvxm6dMB0-u8~MDTI`JUujyUzPFShF#7j1l^V^K_ z4CGSsFcwrYh)xAu)I5@c!^?@|k1y%x6-3pHIRLfHGvf!k&F)RBjSh}P)!EVu{EsXA z_1qA=e`Tf(S^2SlWk_~nt7KC=%=jh_U6G5|54!&^uFfesvIdCO6DJc+Y)qWV#I|kQ zPA0bPiEZ09C$?>?J2r0rmuuaZemQTwx~uB!+V$@N4K({?HK*S|tSRC&%LGPgNVtPr{Cs%MzhB#WQO7dW8uEBRx!!Bje|h!y^rKJLk3 z+IFi0WAd-V89BkX$}VEawh?7+k&Oq3gW>jiWbn!Y%jRjZe{!dRI2-|bl+MPZZyUkl6h1ht&`Qk){1Mg} z>w8G1E_lY{qKGlLh3tEuXQD@bXIo$Q9decMB3xkk-It*E^HW}1S5gY$I>q#voYm&eHGv2vxwBv-sp=HE{p}b zpKZ%=e*7Cl)4>Dprlk3SotH1^9V;>9!Fbnf)(gPeY7%q)FM-LIgM`rQ{RF_h^CB1a zkJ)%Q+TrUO87naUCR$dcbHfsO^pJQp2anY%sq=b3zCE5)Jk;<7yZ=CY=QRZs4DY*u z{G*QIK^>CNJ8sg6g5u4b&nbR#geI-qV5Tob#^*&xP>g@-a^%pr%YY8~ggR|)ajD~M zVcH&ao?IdENG++=>H7N?t&2vc6Vwb{LX+G&Ej;_YA!)g0zA8RzH-CuZlk6}mtpJz5 zYPz^BtBLGkZTud-{+%V=C(U(I$oPv9;*M9)h&%@({w(xNdg)*~;J z5h#9+g;EBIS|$J%TQKbRVC4<%oxvFSwFf~jAR$C7N?7DiR^(teQGdWuk5=kNsh#lF zlUNNnm-3r-neOT6P@~s9lhV>YK#+XO0g*qPYP)CFoodY<*fbx`#i)eO&cicw;A?^8 zcZZewuP|p}$^`VekuDAmcA48cl#bf$KlpL5|LMPtW0~}4r6(X@GW$OR;ou}2&XcDa ztd>$L6%DNV>^=KzA;xSsw_rKMP{(g8Yi*Jh7@!^#Ek}FY6fuA2AUai#LUZ*DAJ}B@ zdTYCx-x2!L-sRoq1WGNzBKXnkdvd?CI>zUIgNImr+5dF`MGX(q>aszIes5(HKd)ET zHTG{f6pRp*!k>g~mhsX3DjdfJZdrsGKQrYn6PfG4dWx8Ahfq$TA$OyoeMQDlk3|Xi zY&h^gg|9KB;-t5$*!`~ZpU)I*&f#YT-%Y^d>3VL_hk!)_iZ`c_v zKiB;wzby>>OU8XRxx`b_KpnWSX2vD$`PqX!{xs; zpr&ug4q?(73lDjU_BvmA(Z9UdPhX&8+wKraEGnRZG!{nrlLv;m#1p1~fYr?+IwpLO zz1Pqv4jM+pYybI2!uMf^13%5Dn&ML1rx?bODIC9A%61Z=t zL19b;#S=B9tSFaW`&Rv<1TSeD5$v7K%si%P;$B%@ri!kJ&(5X+v--tI1%EsvHhCqE z%K%JIcQ*#@i*W@FmMRFww;6uXT#?xIeu$C1Me?dlr(`Rlwq;A>O%H}4lcHIla10KA z!d)WqLIq415L4^hBE{IUUv0J@h-B_MolMWwRhIH(G&i#U+-*FwWzXrc$-uzig4BGX z%zf>~7eFUFK^_5GM2>!)iI4pA;ECmy*$go!MEu1I0R}(6Ci`*7^x&X45umQ7_*a#Y zKr+Gf{&bGXbe@4B%|>U|E}!}Gp^4mFw|q|L23g3E-G0?6NE7ByFaT(kzqJt@h(DGY zSGz|c%nH|FHb~)dC`f;wZqA97DJsk^XxsXS5?oM$b;)4ex}JNmdMPU_%U*;O@F|k= zjhVW+vdt4$uU1oyBs2<({!x#`;7mT7r!;cmbWV7~g|f2@_*3Cb-g0$iQ3>!R|M>pb zxU+ZwdCBEtFOP@CIe$?=^2Er6<#;d5oHo_m?E^Dv`1_i@RqP}*JLh!o_SAg2pon%s zSaT+qq=Qjl4@#L3YL<#f#SK9Fpx2}Qx0Q{Crw>5v+X?lex;m6`PZTH4uEW41TrMWJORBMN2YU2jCAclM z`W?qK7uhxa?L(c{rg=Csb*~TmHLdQF?gJ~QjEcwej#7IpFd^#1nSik?@s_vhV{ zG;W}J++Sd%?qbiDaQ5AONt+u|%vH@0;}OO+thsF?vD(0rJ7-(6^M`hywjp=tw)(P% zAwDtzCyA-4Y4}h^5kz7nfAX(SJrE!@8ZVA~FjO?Hk0C=`B>!)xR&&1Rdf(E%Y)RC& zP{3&$=CZBMP+b<3}lX=8&Y%nv}(8GC`$n==st|sfRNk(-soj z=B|G%3<49OIZMu_4hFH#(08PAN??B4$;MEFf5vnt5>@>^%I&#-x_yUFuQN1nYLjU; zM^;@9yetdk)()k7O1d$fFd5swF!+S(E#L|csj5f{c9vJS_W;NUMq2`#I~^}lU4>UX zu$b}@NHI8&ukA&GC{`yZbG*g2ce?fQ{EKeKzsGY%(#7(Bwr#fB_t5I|)s79*2p@8H zh%`t8?xww@D$7fM3Q&X|t8nEDYv8C3zh&+XbsU#7@GSOl_>0KfnoEt%A~C<~g4o{D z-o)4c{P^+_Im0YEX_tD2od`2p%~ER+M+ZXSO%0D_fWhGeW1lz@|AN1$!=mX9R-d5d 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 literal 0 HcmV?d00001 diff --git a/files/ui/我的.png b/files/ui/我的.png new file mode 100644 index 0000000000000000000000000000000000000000..b637f31edc36cd0f80230298764671f0c4d014b6 GIT binary patch literal 229180 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%0DtzzOp9X?lcVBY$=f_<{ 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%0DHsU)j@z z+6ANcO1^&yZxiAb&HujFVLjdTIYWf}rZek5mktZKbfjj_39_#cllUD#GFARBo~vs3 zII7Tz@U3E}`sl~k4aBMGnqxh^?wm#|IL{M~H>;W5jX zVPiZVYm29N;A}ts!&D*V$5shJ)XIw*WA`t*dH*p|`-3u}>;XDPww(~loc`@11J0sP zfZ_Z`{vUseKn6x|n)X9g>>m}uKi2WU0q6e-5C#~c@XNBm|1ln+)nS1@r{@3ub{6t% z=f@-t693yDozkoD84Q5QRR7~@|0g^6_*;k=v78o?Y!W_ADAk0QEw7mJr=Rt|Z)Pd? zq#i#YSEGV9wZh3bwGKJsfW-5EFj^?RzM;HdO&P8OpCtW8C#qB~8GH0)Ej#t;Q(Gxc|5p{dce%@Lrn7 zmLLW@iQ0+16tu-CLtx7P*N+XNT~`hNwlD89#P<&Js>^eFe|PmsQi2if`fB*;`~Vjy z&D?}0*?!)CyRe?1vLnj((GYO2)8i&Zu82%&?ol)R1GoA!Har426M5cp(i;90mtj

UA*Zjq|O5qm2Ud#1j3^Q&*fk8_v%Y7};p%`-_+%nRbWc+5McB@I@E6#dIj1k)E3w zLKf##3v~-Vw{Rd^`s=mx$N++(dfTsy%#XdGA@holG#5xIbODUV^@$soWU$?}STI za-rh++Q|8)c=K`bzLNPLU9xdc$g1Yp{(fIc0K@cuv+LlVfiC`9slbx$MR*Kxqmm5N z|6_#%v@y(o7tQ02A%8?c07NY8f2Zg%R{d{8tP@YbRGpk1Cq(k!7F!@f{BMXYAaJ$U zsXqdx-q6#}7dbfz#^EGSs5{I@IoBu?#bf?69HCPbJgG`&!V`Mn&eceVRkW;SuqB#p zr(9cu)EM*ZFh+Zs*g=>4PXq${3;o#GCWNJ=w`oeHm7=U%g>xZoBX|{}!9J#Uh3w{Z zI>`8eWJ*Q?Fk1gX6A7gQagup5#<)pJ=+&$93+82pLp6Zfz$3>x2B~gO)=K=7hiw90 zW?jNK;POKVu#p)$NvUY(4{Ur>wp7{0f9Egr%?O_GCdRP0;Lpt1`2!O$%>EQj1YYfB zgmnxIh;(1AScO@j?y_g(>UD2yKdmNLZF_S4%eC@KqA5+3e=p~{1mI&7s*HdF$Ys;2 zbnvMn-WB&>*F}iW3y4&N17Kx8UQZgd!#L?mh0;^FzXPiYs+Vg;qp?yg9m&<_%9<>+ z6ZL;16A&9wA2~9BW%6A6#9~)NKx)jzw+5<_zgZ=c0Yc5HOZLjOVCuyMQXhT(WTqbb zzZYSG3?&6HQMk~)j84R-yy9T{2J(`>-=X)XP_f2R1udlPHNFjwANX4YuG;)LtNIGt zfgj)BJT6K`_&N*ckp!D?!h`tQ4xvUa8t8->e#&3n-N2mS(b=A9V+d93@-qJ0c=9KbyJ-ax4+K`;%>`i``auWQl@s#?K+1xq-b z*NE_sC>PyzaTh92W3vCTxG8br(?7~?{nv;5zxSXyD&X)$2K^iA1AOXNz+Z*`r6%8B z^c-NA<)Xk}c_Gd!e_aG%(**)cM55N|pQoAswaox2ldKqku$lV*z1k!}=-qecA9!

4p^xo@I!dLryF!H#Br)pecBG#@`PkYhQ4;>c` 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±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

`9_1NNZg?Yt&MeV4X05aM$Z{nc91wgK zth*0XWmVhUkm9a14gpXMHj;rAV&nqIpEoZTIxjV6k_(vD8~ebgKT~c$QndZx^sNDn zoxW~WBJ8(-erD&ots6|MzA8L!lM|~8xd;+?yo=oQxqFL%Nn3Ts3L6gw-&V&hzLXGg zX5FBfNkk7wRk9wqHWF%^hMHaen!BhR3fWxvabsb&N3Pkz8iag zNnX$)9q^3qki$Q^7Wqw|GGc~$x@+`=dIc_-;#V$jJ+U{MwU?K?QPuZG?eiOTsp4uh zz=W|_rJ%j1mB_qyAUzbzD<3F@%;te*gmkb_JK!}t?ns0jycf~sSD1hR{!s4N&^jmq04OtVH5Xj^7jhioeSYZOK&edH9&3O1ZNE0SurftWB z_7%lR_WwX_1x#BockNd?mw)a+;xeAzDnu{JKWiH4P$SlgMWGet=&TXj{4@@xS@wHn zz2LH$a)+zM+$f|Y1H^(}7+4OuS~OU>W8gRA`OsMJ6?as(OOBVj=3!!S2U<%sPWhMD zPm^9V(j%V-!AB@IK?Pip%nvWz-5U)pO_6zT7R|`QqXgLj0R|D<1~)m^y%mm-##soh1#h!+oS61$`@ys}zE4IyX7}NnW)y+^06vC_j>hu2DWlHaaDLKSe@N1Z~r>hHIqR_PB^#0E%{eq zf-Ynuc&5X>_irq6@~6Ms#~_3eCfbs$bV}3CU!U7)4qnvdzL-g( zJD2*ddcUVy3mpr4RdL>xewIw%q3k>e8{b9j-HunaSX2Ssxc67?vg{GrwALs3?{cm` zd`0Kf`}t!4Yw3>j!f#PvY0tTO)EJn;^Nll#s(44#Zy`kc^`?m5Pc37Sd0+B_SMF$u z_I1`Jy6R#2^+f1_;9NebfK;0Gpig6l$)QoUij?6M!yUkx4@-;~ow04xzDI!0lZXAS zmL;JnUNt`|7aF!zUKYwpupVt`LuU_1v?8ompVTeO6|4g-6h5luZKywCW%h@!r#)

8a242V=)J7t3Yx8u%!@D_4oOeoa!Y;pDB(i+8+; zia_V%_P3$3r0(R3k8Sj{;^w@`&BN`PCv5)CeUKGV>Y%0YLyq;g>fDfbPDPdoNpzpz zngDnsc{}?yR=l%9ME5_PWNo78rm7!1g3&?ttF0%JR}}9Kq6AZ1j{5gQ*PtL1AQ^ZB z+LFsC;aW39gvZ-Z(qYPa0?{T##N7|?mwTSua^QaDP!$9LBeo`*VM~d!uO_+_@}Bgl zPw`DY4uAMfH~_`=-RK$qV=A53kzr4uHOlGT3$trqtUABAaSKVPCY8ut2h;VUac+)L z&**7#!9g5_cp_fBzOYp}5`dGV*==j3SMRaUlSLzmKh-nVI^w>}#(D z_PgBn>n8O6PfQ@8Yh}D{*X*Yeelz@&=4ZZ!{MhjpmiMPyhSKtP`7wYP52I5JEPdZu z|6)Y`OSGWC>$>s&2?2o1fb&Ab@?vM0OGzW3a8gBRuH4Mx%Cz}_xRZvNZ{siUrWQSt9 z6(}!48iNbS{4z_>twj?#a@nI`_x<`kH&Q<=__H`5ZGJ*3@UMd%7o0!GbIb+)A3*w6 z>D|DXCORDdXsV1?kSx7%21!RV!irpqvrvUL+@wdOcMQI2)0*C+!Ohbc>sQK3Uif3TOMAv)d z#R1d8Z^<+LWG#L9K3Km>wpBq(q&mCIzkHRz!!%vx9dRjcs=3|V!0;og|(L>LVMtuh2Ko8gj*8m?*JHjF^oabW@x97c8P3}RP z4-g@phg~#&jGlV)dE~j_ults`Bp%jRVtODC{+v9;kgaLTGr#v!8H?R3%;nH>=>2>x zsL{{$QC~ylxjx?f;L4+6bJn}>l%24a3drVC{Nl@_^%w5ry>jfFtE$t0G}U!xFTL={ zU?R{-JACypn>%lyR9@s1stdbUrsMXPhk^1E2^7T-7@c2M&)cc4=B3a!brI@qK;C%7gAzb4d zw0;jeCL;CMN{UyeUrCX!(y6rnc7(F-y259Y3qcFmfzk=&0UMc$`1R^Z)4;qUg~^D! z5-VUn*8kYN0=dwocU%}AUt6g=bFqAf`KzfWo;9q`#PjOriV4etrK%<0X7VTpWbC?e zPkO&2?zd|$B0^#q*<2NJy@#*}*%JjJq3t`wKmQt@2qS%gInh)koRG>r5336~2L#Mg zZMgC1v67U)e$C5Jyr)=d`>H=`)i@mxB#e`JVH-X_PgRlAJ>D5_jIRh4{-XTMI~Ghv z_@+J9va%(cJnyp*pHOe=Ca%V)>Y(fT(Q4;8HwQcsq_IwjN~R^%o}*$%Dj2frq5(jA zJF80-dY3R(#kRNEz52wx*?Vuy+JFNWtG%1lPH23V1umA+Qpc~O_76B2IkUNiX$x^4 z=5Py0klf$$^jvpvYA1B>fXmExwbo6|P>>pV^gX&GF}C$GN-jI*@rY#g$#;?AnjMy3 zXE*3Ua&^AY-%A0_U%Ah3Mv6m)OAgcE5Uck4e$-kltyH1)g7e(Qac9CZz*(X3+5yUr zfoFkb>yhEzuL2&>1AaY?Igtsz!MnG`vb5@TyGhrvc5^^}J9(`zYCBSp1UP#5OPb$f z|Lx`09vEEei>WtWC3MwUaV8^`O-K}3_duO0D(oO z#=sXN7CHM^&aQuTC1_cz31ZNtIDUKsp^$X)hxDvtC)ccr&lY~FO24kRipl0SDI`FB z-Ae!7^$;TYRr^)y0SIyl+F+LS?IzoNLrV;wUbVp2O=7$AxOW8Mℑ2AlZ)@Bbsr@ z#k=WUj|$}OR`4FWWf**Hx8o$+ZF}x{t>=1+8h)l@Xb5;bzMen<=JXGkWLTP#2<0I= zZ6mc22mJEi9+piCx$OV|fxfxmJ=|lzwEL*|(0Sru`Ql{HkpV^E4I_enZI6jK2vUke z%93jn6^ViypARn~)Ab0Bb1(1vqIyt?$fm2~BH-?jZ!@C(u&|3RZ&2aFT_;tkf#+W+y#J1+$$p?)Nm(B#fcue%rRHQZ3RTL9L;MADG zBahs#b0!T#O~iq9Z%>Tm8%Sb}K8v_<^_t-H>*zR?BsQ3Z;Qb~HIa_pC5eVL;8{3d8 zIRE0e#w>cuQ9G%6_F)cEwb8=UBGh#|Q|9u=Wv)wU z-k);>OEL`fn!xULj9Ej{gpAP7Y;$3sbh->74G($(-Yy=8eg^Kl)1IF?rfdbSp9*5z z=v&!-7E5Rxvqm=A(iHUWxu7KKTmU#i64K@@Y67Dzp2_BKV8OW1-&JiV45;J!!ZO{X z=$8=|t%q2=jLqb7@7l?vgKC~~1d$L*q}T>D?l{2AOVoQ<+zp-*fISJO7OcL7NRd3^ z(@A=PO-MhJF|cXey3ccvBT`W?!`&PJd!$s;;+vFnln{8fp@2FPnP|Sfd~~%%C*v_t z(W>8E8-wz-s2gAYaT5k;Lvb9#q$Jy1G-_z>9=x+*v3Px(l;pZ>a}dA3e*vo`+!fEc z`WARRCcY9l@bfr<(Qov7OCq<$Nb#OBc8ZLJPt?oAk_JI9o>s;t=QS?V4Y*v2f+Fyn z7$lou&D!H*P=g2ez9fmcb%6fWr|2E2D6!XF%@eG&$BVEW(5kbvw|m>+JM@>MrU8zV z*WDBZW_t<;vrCxtLkrs= zhj{ne5th1HMzRgK8O2bmcUo1(UT-<=%fqjxUJN)q7worv@JWY1ZDqPK*LP*E)&6kZ za`v}@Lq>thP`33^aSu;=ng4W-X90SjZr6aJ#M^${ND6iR?;XfAel1Id#(kkdW}G3PyN|33|D^ zPs}=rj>tHCe${S5$WUR}GTNld`Q=c8j9!mef#5Ch68|l=ehvJfEsh)7eY(V^-Q!uER;Ib15cvX`_CqHTs4rexy{C9-l{g7 z5uNJmxWI$DKci{#mf?Q}eB=mK^)LfImcn@QesN3WF@bmH&TP&XZb#BO_kjfF!J`?{ zJKO?2?(x4LB40*rtQ?4Z1ZIWe+9%tx`#Z#QSZU1I5yWp=?LIv-D44}dm3}v@Uchvm zYdts97KpkeL|k1hGi9ZjwodyF#D4{pZ<&$a6Gs^giNl)*pE6!KD`YraFEV#nxYn#o zJI5#`3W*63M`_FKg+8aZx$>xvL)Lj8gG?*^$lqnseQ7dS*4pcav#AyOn|k3dKYG?R zQ>C|$!t&wU)cU#=CG_c#OyPHN^;1>v?}WSk&l$?8k@me$b5t82y<`8?k=N z)!zo{J~M(+A1x;%fMst6;I$y=SIKPsl3EpC-3}XL)t2(|0AP7eI5lbng#B*f)-tJH zbGq4G~T=`k}?&j>7IfP{X{prYdJ9&@m%%SCda)%B(+d|sEwsR!zSXh2Ney!*-|UdU zckM`XhflLdLu*3JZvRq3YTLDV2`F8VBh&b!BzqZM=s7Q`R~w_toSiXSnAEygyH&$X z_ZnST4U?R&$nNVtmCf0_q8K;}&Z|ZejRY#?{0k?x6;QHOdTam3HN4n9JrBUNbO}JQt*Y_$^V@Vs0 z(?%3e|G4$tKZAyE!;2qbPJ-Wv;^=x~y8p}bAv+6smQUF(mZrBlnLN3U7n2FMU)s@^Crfi4ONk8wF^t zU%zrwja3VtDC$3veAc0GkLF0OxBy9D8j3V&E+z!v^|gO2W3MTkA!Y_?2KrJQ)iDV5 zNY`Kx&c$k_InIJV9bZ&?z6R+*1Ci3yUXrR>5dA+rrD|VHK27v^ z`JyBsJSN>fQ>gT--k;2hh22!+3f}`wEIY^?eMe6nQf&vg(X{n`zB?@Fpqb+%6e)c^ zL=~&@!F!sP(tYAkyNYXHvsA)}huQ8Ns{A&CW#U(g!+iI) zo)_qL%TOCWGa_I@93VRS%D9W^tyeYNLgq$?V>r@&Ov5|H=<|y7e8koDz-*Oq)E8)& zuv&ea=II%oH>+Wh`>H>=(Sc%PRA(YjAVR-vb2$EcAdaH-@A6hF5b4oDQ={1(kVwqJ zDgeRm?S$#6yYc(IT6LyQ0JnzpU z<>Z4$J;cjYG>2jbW4}ShhSHx@G4X0a12e3mCKBbrCgq^Yk= zYskPo(`Otf@6n+CG#XxHWm;{|1Xb=*xf0WG93YvY-ciw$qxsclcvr^iFcl+BJTeAL=2hTyhMlPci+F}EOWF7)LpB%qM!RX z##eL_M>zWE$1$RQ-D%J^q(Q6RJ43rDEM3J9s!^GNzn$3(GcB6=K~grFTh&U-rGsN7 z@Y8m@;HqeQoSZ6}%ypwtrPDfBG#p&0>GHrsAhlWp;?2X-!hdxtkdo+XKLa!I>x|9N z$;H2pa+%LivOl2+NIDsbna*8dfJ7?o;`7kCxdm zXZdNcF^}QCz9uXHqgI0v&Isf!ROZbpzj#HDmpKtg@~uuOh}?3N$#u|4iok|X$M{D- zj|nd($yQTfTEqhpKFcNzH&G7D?qfor%Gp28P8Rkd>Sk6TWR_`dDd8JfOSKI_r6*my z9j@)f{!=_aWs0$F-Jb+vD`8)lH;ey?hGzvWajR!Go*Hhzh%4p6l{ang^03qW%J;A= z>R0CT;2DtCsFOo4*`C%DnznB84R!o%^!7q1@nB2)1d*!!h}Tug3Pb4Fz(>0P=*7uO zAQ!N5^9-=OnWNH9ZO{s!I+r|d}4Oz^%9?NOZ zC!qD_2b9N%>fFe9WQT82G!G}<9C?^2(QAh@i8SAX(rIPayIxZ@S676hsMM;UA?aod z;h(J(>8`v%Py(&(k1jc`P9$$9+T8t-ClOI^JUPBIh7x~W>60B1^Y$8#HpVNlQ;T^N z=4k<49J^6?)4PdGC@6*rwmUFT$=25(a#F+MGHAC6@UaDGg~ECCPOqXWKb1A3%H|L6 zSGcmG2);GzJ9am&dKMK(a}*C$fEz7%!wtP&=mFDVZzVT;phQ4XMB5U~!O%F}I|kSE z?!`Oat-Lxf0t1RuE{Gjys-k6yo=3C$a^UylH-1>3-%Hv&G9WXx6DDJ3{0#A$&R6V6 zIvZ{G)(j?OI5iu`8DRx&Sl%aWu!(tKdtnBB*2we9W1CwKv}5*eBqkYk=w4&1M{UrzP%^GFqmo$89y? z^5@WvWfi?2+?>ePf4QIa-szn70gujD{a%?4Nb$o@)4RA5LXQv2s)G8Z2_w_O#T)^7 zEpR#wLr1L|m=)7b9+Qi^d!CcpX?i!9dCzm9pr9zCF8vXw&Zm_hBFg-^Mx1d^f;&?x zYb5)>K+ares=}4<@#`Gx!&;#4RG|1;MSZ`-?By$Zj-gM?n~ZC=$snUn?#-yAR_OB- zRdm~Wf>6&6wx=jt!n#^_3q|68Yqf*{br6waIu&j8Mg= z6?GaY)ZvRX?boEa$@kcu`9IkM3k#9tf-Jp)h7s~nT!B|_Q&+Or$bJB&E<3LmExbF? z?JP~LO2By;WlCZhnY-SauA`y_F@JQ;fWdOP8_!7D&o@7uar+ji(ZvHsL7jfZ+wavSDkH-^Y z+(Os!>HPi9m|}6BJUxpOTfkGTu08MTv~WVtN51W>?P}SlK}|Z*8R`@ z7Ye(_C;Ev=!!+hgzu04%Jg{PcxdQZwDYrwE%KL{O; zvg9LWV)A=V0SzVl0j|IT#Pl>%hd+l_RX2LfE;sniU73OMudi+BKKf(^gTAfT9Uud) zTXMPUuP7Wv%s}FeNd9UyCfW>w*~?v@oQ>#Ni~LGj=n2`AK7#vZ#wI!}SB zGq*P8qMB_0&F8zogRp6;Jp{<098vMe>l&|k0>q#ow@jQ?mzTR_<(6rP_IX-(?HM~> z<#S5~06#kdH(|Hw7x<&9wauL=&iI)YdCNW`O;We8^wbeORK`S5f2vTEaKIqUtiIe~ z<;i2#vBL5J7QEU>&5E;$U*)><66aGX9v?Bq8uvsn!PJ*-!WZ`|E;>5p>mN|YHRWrD z@x4>+vzO`?F&AMz3S33!a35>zXF~#3wj<%2IJFXor>)4WW@HcyPeg2}7f| zz*TkmPckWKvhk=M%3l*(?ot0%Gh^xgRIwA*6{rz-`7={Ov?2F2fmlkM5!UFfsXbA> zIl_qQ51!4=`ZE3Y)#Y(32nOaUmintGnZlrHi~BQ>Bn)^tmS-&-^j=49f1J2r&^9?} zqAOKIG5pHC)m~rFgCv?#I(hRVy_VWvNLjvzqS&~F(;A6#0)i|regzel^vu{j`sVi# zLTz7L>Bk~n=UE#($>qi=>Id3w(vdwfmQ$BZlU6l4Bw1MAFwEwIf103dfqKvHD$U6~ zwy}s8i<~;AKfi-k=9Udcd%;Pw1#@SWkqKI2gui=j!%u|d2)<=geh3>e$u4da=c5^D%p`4W=_fQ-3QAu> zAmbx+8AjYucAm;F13ekF!~IC3=t(93jKLNL{M8q4QU_X!*~qR#{En4TkVL4bdo|nd z^f$vi{3`AYVfjE>O!?vZM`4)?c`+CqFDQa@;OeEx<)C7BkXr(0E3w=DPDm~ITiqDa zsa6I0oOIT&>nH#DtRrv(GNOPIDS2lKqP7_lc$#*QVViy93ehiaOOCcKp33#oM z^?V4j!Sc#CZjW=%m?7%}cN{*w=bMeS^^<|0pMKMz4+;2sXEM|NloNA}9d_9)tv+A= znqIB8!qgz-5|+nxBZH4>tqdYdTW^T)BHMbhJfGmd?r2DPyxOo*mbl`X6%=)ICM7)j zz^XkjCeYheJY*>Bba#g*4G2DP8nXMxC=x1fLug~!M*HTaK_D|bPJ{U?uVLNjuJ z{;caBI6t{Okd}{rO5HO{5UiO760`v4WeKrzl?vM9o0t)uGruf#fmdB7N1nB1MN&7f zqVsZdS>RE!)^vARoCl`_5i@Ct4@#fcf9@3tDLcxS6aix$Ip08}~V+QF)Dsydh}j@a(L zO|z+|-ZPnnZINaFY9p=qIr}B?AlB^{>00`@tD{$l$0iVxIDzvv{3X>$Cy53jUMV6kLa1+t zM@8gNWc4naHM0cvv{r{x$1#8~-m-JYhva3KV~a9K+Sa#~*Xl){;9x50*WGdI z`=1tcx?EXZUczcVF90{O9|VP3M}3J0u=ig4>ejF>Dux(i{rCR@oDzTE$qn4~LWEoo zS+oYC5Y2%?dR}|{6rz}C2*X?zG3Rh5iRF-oc)rwOi5(|eBoIzfv#XEl;)grDj-4PC z4-LKk~o{opfhclFOVpzTln)K2-m%dGIRR0dbp! zds{v&;JGyURW-AINKgL2P0awa7Yey*adqdb^k3uf+i{qxGYebK17q?hl-Q3KO^?E! zb(l(cuzN!GbIvPXV+Zs?d3a3jN)?#WvPg*HWb#u}_%_~(=Y zt~Zuh8pQ2720~p=iZsTCn!OB-z8;P1@z_htH2|cMmU;1-umDO)v1pH)@C7Am-?GSF z>JBp6jPky3^oFQAFJydOWA0FP>^n<{!c;;30?_|IW1&e}K6mGErO6X_Y|E-=CgQ4c~tbvC)3@oNs%sD7V&iyQPNj_*^}X_M1n7sS7Azg=a(F zA^`F5_{{mQ$EscK|9NB(9$nIb;VtyX3$G@Px%f!iP_#TIA z!Z_l;cntJ&CT;+-MJ7VAMhyX_o9)=eld(pE$$Hua+>fGKDc}eRbI|hXaeKs7k;$aoQ9@Ek@hZMcU_^Q# z58UqYGO656Ahrx?M$a7jE7x#38A((kF#Q+gGl2 zL-z*ScgekZ*O8Vi!S!#8PsaGHe7q+4+M219-?x#cGpo-qN&9>>XJccU#fMmjK{={% zp2=z)9z8RbTGnzb@hqe|TWvW;sjl+-BI$dg9Op7HuV_I#mxm~5FmlvW^^Z_lZTa;w z!O=XJ*xJFFiQ60|aQkdq2)3+2e=c*tE3?)(!2h#tNu{`hlc_k+VfSXNkOT-4^EVMX z!vhNu9ApC)YEwg)1OB}F@JdHmJgEV*Qb@ag_WXXnnL9;M z;u|%o+I}x7Po`;TwtAWdH#IBvUX>zmE@pXS64&>`aQP+Tml8ICN9#)Jj&XzWy1T{D z8N^1PAjNC?IT82shpC^BJgJ}Zc;uv`((sKxs;{%240iU}Y;d5WiSc}=aKawk41T+y zmPnXt%#_t7T(?xM^I5nq6K^k(?uH)9YQI_w8{G0D^d5ooLe3~v9-i#F?;A$X+I8s- z#T^sTybVqVor4FnW`8&nQmq5btl>|1mt8_SRASo{)*V=E!qajCS;tBzt{4UnK8)AD z_y?_g^gV6gx!Y^3htGez1G{~ce0g_h0$=O1cNE^()o4}j0pYmb>Fa>8KE8(a>uuJ5 z&;2?&LN$%wV;pzNZnRTpuw8PisRb)M3PpD`-_mz+)XTp>H(TW@xEMFW7M%VIdSaMZ zi6ZnNyv0SGA&JvV3)+NMPd@1(q;HfVb3x><6f`Xcx&HGx0JZIn6sMS8x7ifJd9yB1 zBdA3dcUo?Ye#OZ&ZOJiR@Xj*ki_@&V7{MIO;5V7x{94t)ein`|vyGP#9#p?a$PjC^ zQ2>^;lK$k;LKgyq>D87&M~{!Ik)8jWij+`7E(=B(`FqIn)-Dc=M!Zm@i4SSW5e55> zdvymznOvM_k{*G0f&YeQwxFCDtcskZ2fnQ|ya8yzn7j z1co9vwyjvJRB(Tfd%_b34IZImdw|k7^`9Pj9a!c3in~3AnY-rPa;0bx6qFRx6qES7&f?E%;dS8_HULkbSqT^y!2Povx^hxZb4ZnkqNQ#P@o4q7|0e<`A* zh_4B2nX-sig;7-2t%fm5?YsiL_87lEjj70Vu98)_|Cd0q|6~A2d3+ENqKOC6pZpf; zZ$l!jLHqGv(V5l^(nP{(m96k{PgXhi9fJ~apFa$(>&6SndF0ZDEAmz$%K78@fSBI% zf+Soh01sdGMQozSI8c?I6-S4)AF^rl)qfMH+Rz(sZ&cEC32Z#bK7zB~Q@lPkSf5sR z2WXdn9DLiwD%5hJ_&gZkLD=}f0$~7k{>?<-Q~m*06EbX$+)qE$CjKb17Rp|Bt()nd znznq+-Iv6P4yn*sQwk_ajflFTxlB(5HK~y`t_EZtEIF&G__6Rhj&!(00pv$E?3`3> z)wXGw6=yyScsx6BZJI_lOOab8wE1oSdbmu`&$U_EV87UKVN8{;S-VT|vH7ofS8+oC z^O?W920!GG5U8$;CY%A3f`_Q#)ld}T#+Y5e&fdFvE$9FoNX^FO$Z3{+7@ z(P#Zxnu-39>ZxFgY~+pe!s9Zt{sp0VK={Zsv6KRByg;BXH5&or*}_7}X+kua0&!$m zqS)LM&&;M?=Mo5-kjgHe-Q#>0t7A%kx^f%3wF5fWy=!q^N2n9>|a z`|8oqAPz_}S`B_g6!F~$X4cu9(}bnf&Bt)?xTf6zWD@-Dju6itXGKQt3(Uy1V{@J! zeG{p6YFj|UR|{nzoBbTe1ZfDShh%Sn43VH8Z?nMyl)d#ej97IeUbx>}LHa_}Nnse}nuIp@_bE z&HHQz!KHTz#!(tWxp`nOebue5lcsQlB({~m8bVw{j`^SI%o?W#^1ptIDCG53d@7Qh|&L4l3V`@I*7XH`QOMJC#1W(JL!zY z7Ctuy*}?6LI@T!xo+Zx12PC19FF7lMk0iw=W>h#= zo=Mp0fm?UUsP$|`9ZeZOKK^c9XZ_*fc&0TWtsQn6q;_3f7=|!*9dIwV&n)BP#~8GDT!lP(0>v&ulaunEk%pY(8^(9r5iD<*RN#8YQL%}a?GU8}2*c5W1DC%>`Z zMxTM}R8hTxfNp-@IZSz4o8x^%-!$xMo&LhzilGV*nn!lUC!RXd6lMS1tC!haBHo_7 z8Aq^hi%|B4{V!HF*p;j3_l+|B9U-OZ+9I?e2ss)d2mUb zrq|m1yq0vO!WELzdOSE+(F41Wc(H#uyBD3EI#|u6JYzzd$90B9-Kn1v=S=953!~%! zAyoRf{()|U@%0D@1V@!Ip=>27?qZL`inq1D^Cv7^qG9MkpD=ZjltsKRT@g9%EhwKN znZW?aPuWVc3vE~aU;;Y#MoZ*OlkKD1E*fm${n@QA?H7?H!^FTpyK|PKFS7`^2Owk* zd!R5L<+2sRcB=XcRl;8qgc?b+jd*=Sy>a4U&FUe%m`Atr72MTT-c%vq_GaTeB6E4f zWsO>)0JF`{OQlk1avWeFzT7xgwk)kDKgxywrTs&APHfFw2^u|Ay##L z=SVcTgi}U~^YW3Q{OdBl6^-=K1lVJt8Hu9iJx=Q(EI8yvqKO++=bTHnb3Z%>lSpQ0 z_IOf75~n2q`U^DOr4R&tthwR5!BYt{ppAov%*N9KbP^nGYFMc*F!Jd!{x6d6?KUE^KTK?5fbS&A* zc6A%$LcAyV<~f5ynjBMSE6L6BGId6NT=W#%u1tg)uNVcE!w;0z0s7jvAycnM>A~?v^ zv$|{`qr0*NZE(ewqR|Kul^np0R+&u?yp9Ocd2ohvTs#Iq_1I?N8DSiTj;PQ(RR|g!=f`-)d3#}A9Shew z4-VcVtiT5VAixVLwVQOYEjd1T0*N)MM7(pR;EI8k;$ z1*$J6ONab_j4-1{3nU?8WGGL9(KnaMG?JG*^W7xsqne9A9Z+0OxOjVCPx)e{2(AsJ zwjVi*PN@}j+;8j7vG5ZXiE7md^$3@rKe+BxOH)1vqLqP$t@Uj}7X=ZA)jmSGJ!sX6 zx(2f&Hr}kU8zo)d+Gmq= zyy8V!pEa^MZ&3#_>ACcjoU~*}U(RoH_G5Zn{(-FS(ng!k_h9@vG{N$APza$+CYUx; zmUr!>PRvRJXomRF@7MmBv=`;R&uVr(8MVuL3x4QI3)$S*I&Q*ya;g`^l?x+f`5&7; zg(Zs%y6YR|tvu3Ml4AybMQ^l!@FzwAhX_eb9(=TT;9?<9gPuWLG{a!KUnZ&bPv|7t zZG+3_@$q1*_10zd!3&8 z!p3C2HFiPtktOHEL3r9!OI!VoMrLgtcR1*tVU+!84F@4J zyopqq&5|H5Jg7G0M#mGi8>c0=g><7O>YJi)O55$L=gZK~h1Em^D*m{(OR#Uz<*H)L zvDpk(>c35|nt$eUXV$^%>~MUf&^Rniz^3>+X*frzPGR$D_#mHh*~1TL*<+lk4b7$B zt*3*3I=N}7Tt3lpmh^2|aZRGh`;krxjZ+88B}J4j*p5dPT-AOT_o(>mv&q2$6Wfur z2=LSoxQ$JcAQAL{><$OUZ<4yV{q(rxb;95C0vpX=uc7yokD$bUfaMY>S(ijQXMs^r+m_z+dO%Yj z2h#i*ak{r^iSxw5Ss;C3pQ}&?dy^OP$uY2s&_9n2K+W3d3(6Z#l4{1m?=-h z`fTcR)bHNj_)N7_!tHNg{BQ_gr5itd&fcxhC4gNno)aIma(qwT7j?*7SN>0$A`7WW zgi$r){}L)6iDy^IQBwHj_BjBAy1HPUr{(3!T2%G8`kUsjpDe2uJ_RzOUr^k4HTA)& za)Z2f`j{a`*Zz+TQDQSjW7ck!2(c!L*sR?>LkrOBMgw{jGOh%4rL-Am z(3YaW=S2HsTxwS;X^YDQ!@cdv;d?Qw4r9gmxs8H*I(Ij{Vmv^vD5n+|;<)E6=+XLL zyFilc1o;0V$Q4Vc?uKo@=hr}4H-xyTgMu@Ab|Sx^^&jUv z^e?WxW1A5nT^B*9c)G1q&0k>1Zugde48~*ql(b%`WcSS)X;kEKcx|ccN#dd1IA@!@$81f?YKbd$`r>hS#3jlA=+u$0PVBM;^ zcRt{}BC#@eDRs3O1o^Ep!4VX7#k4ss=@twlg=~Ee4vm+(d3y!dxZTcFbQ;Rt5Q8%=!y@+wJ^bjEYRk9@A~(yJ~f!~s)a1nt7qC&jZuA5 zeY}J5QT4cdme8(w_aee0{Oq^>CAGL|)Q7}g(UW>#(3aN}vlHq>mb%_l(f#c6e`n_c z=}0ID8LJ_#HhmvH?#dB-M(Ct;1ML;RU9VBE^qfSL9S!WtGWF`!eChjPU*)Qa7-8pZ zwUm<@mgecZ&Uy7izPWg87rOb^3xAPRhZfn{tQr7J$yY}Jx8u5*-{lrWE5?pn#kp-Z zfFVvUFSuZ>C+jERuxOv_Im`mEAk4UrCoa259SiC~Q3csCq_qF6nn7HZNjc&9 z>yI}v3DkXPsBllupu>F-d*z6-ge`eR4w?FFGCdCdv*VwIm}&cuvPh%C>RyT3e`9gL z3v9@}+F5)$(nrbUWwz^$>S9d>x$mQ`BqXIoDTTu-2ZZ*eoT{Fi~ z#x3V~*$f%oXbW{zUH=^M8^@+>9w4sYP6^U7Qe6sY2^cHj%yi0y9XmRUVZ_7%c^prZ zok?Zz_l64bs%?}?ssF29b&8PePmg-Q2N%$;1gb8;Lr{N{@3boDZhiLO9-3_O`7;_( zUSh3{j_JqBX!`S**A1gR4fPL`9CWx;NHn@9%LuN zMDmDSy-YeqFpNlvM7YLxQkOIh6q%i{d3*O?xUElU);0n3^gjH4<>*Ar71CF!360HWrNxYAa;d93SBbiu;peIf0IasZKYvxvaD`Pu~VSN*O zt=6=a{(DCshkP>Z&k`Yw|MyT2mbO;tLWI;CU^bRde2~dGO<*B$;p-+ zyW$bcYNc-(|AB7WOSx~r?uhjCV&kf<*X4Ou(@As>Lt;qJ&>{##TQH+_E1_R%-VgC( zEIwoR?;X~nm-lM}vZqWv2JEuiGxg2^0uQ|w@w|5ZG5jB`B6no=M4b4(zYb|b$qQ7m zp<}rzW-N-x?4#z&HFT<0ka#3I7Bx5*(3I`c96aJ#9uUn+4v>PZ;Ljda-1l12JZl$t;?9YCfq1U&NyB;m~wcu|gX{pL3d158)NgzDD>) z0pz>4x1L;Rd;)?%BRjw1t%B|P*FB?Yq!!DrgGU}tq|^;U@l^*byQ_|L42&ukwE)MR zBRJ(rZznKvW=FQnm$s}ew^l?{rPr&~2Qk}v4bm6CS;1x@9zz|crvK)+e8>P=hw8wwB<-xu`wV{~B zs6omykE*+WuY;6q|N8;pWiA`x)1T>c;8bz_+_K`rqEMzO6&Br)%Q4PQ2A0foJ>Mz4 zQi2!K?cXYDk`b*rUO7qMZRDUK2igZz<=lmWWv8eXZK$WNYFq8DvbYoBVbyL4@2aR# zk_FBvmk&MH$SCiNRV(zu{cwfylD7v#0?{)3T_Pz~$s=@LCHL1wY#g~yaYuGizo27(r}^wF*?jE{(@@pvs^-fcGz zh8oEu_3C%afiy`)Od$)3W!9Yg^bfdxA)p#HxW zK+0HBff86R*o~K-SB2PVq_Ljjum;lzci&3&^?^H%WO=>myBJb}y--yn_RaNFE=Kd_ z&3b;9`o|f7g}TIXo+i^SSaoh9R^391M(6`)D;c~?z)_95MCt3$I$%cE2=PzOsnENX z4?S4Z>tGmNy9RG_Z7tK7ezIiTwL>QY%y3xmbY2=BAEIk0`P!jbc1Ijz@I3t;-9*}N zI}q%!QG2NwMb3Wn;p-Ztf=&`b;^b++d_J@lb(lV?F+P{QY8HJZ*8`QmrvzkQrYXPA1bPhWF;J3uXGTC?5^4{M#cjoC!&djBC~ z9Y}2)>GS&4^qn($jtNyes9hFRF*{rEV+u8 z*whsWB}WKbJ*&55Id#(K;uqN^g}|${L=T$t~=9xx~#ZV&-BDg<=hSr|8K{8lck>{{T|><$a-Ec zob<`M)#k%7i9sJ%$}GKM%((0Jl{TyaFpru}W<_Z^>(hMT&j!(GB#485~u zY~|MlKdboDblDD>GhV< z;i}XPhfy}$tT2_NN_1d4^f#;;$c?uy>8=}8&UoTU=_=2`eIhQ)sc>q3yC;UB2=K^!vXG=5l zEk1s2d?C^t!6#{kKk#HY|z z5KJGhB*-mlH0&t zUNqfUDs+=@Ly*qu3=g33)rvS9hUq+w2(DooF%>*b6fHE-z0h?4-0nWJz3SibesS@N zkB|H}btM4w6|~P)37c?M8~K+*PJ()H4O;O8Gz|bW!~RucmrR1{$H9R5`ehQM!}}>OC)BdF|89l2y1?6#Vhy7se=W z(~#Ieq-plEBw{%)Wy}-Zq9NW=+bH6M%n$q5zyg`g`Mk%U|XbuxIpA{Veo9TKiyZFXWpuq0f^NTFp|uGc?UNmvsel--gW zeDZh)18Z_t+7Tm*^?F~~0&Uvqi0y32q;Qhh?Oxpd`6n34qX?14b=ngl`)6aFf}1S* zwE{SXY3`(!EW3)B-Srj!Cx)j(^EbF>jiIJ~B7Bttibf&^f-RU-F?1LgzA4a7(9SE~ zSHO>Ok&j1xlPB?B8kJL70np6IZew229Y^}rOM;m*1#do>fKfW0VRT?q8A*K ziV@Y3^88T{FRRckK?VsQ8N^Z7g*jy-c0M_r9D#2?CIE<~fmZ5Gx#ai$x#Py~Z^U`*)TNm6k#4iZ_~vQJyh_2@)p=#nN2SgX4GVrX9;rQft%r)40%xH_P7Bt`}C@UB~2vQ9aSEr!E@c6q<5ryfF`Eguue zq+s{T;N8CW;O!dpUJcgIeQv50_o%+{F8!%5%Qg48``|3&?Bc=Rf$5x&qan?Ubyb=H zsWp*i0gXGr^Y2NEM1j#7?Hu2s5ZcY1B-=yMuONv`%#h2EFGD{(+0q_h8Whb`%%=5@ z|5{tm<;N-Jg@j*33FRoY%S`+DMjd{qPhHKf-&oVdh-2hqw${rUA#MVYTN zeXdr6kh!d=8Db%1`oAJc|D?3gnz z>W&m-fCZ9Pj;DEa?TGd5y7=kL->T=2xh=}7^Fh%yLm-MRub@{XfDs5|?|iHi0m#;8 zzYwvpZ){=3gihAO;$XD-+V>l5?BDqx8FCaB9O+lkhoMC}5BJ8@@TnHIz_moiByn6c zb}*(*CE>QiNp8ojS+C_TF=9sKlDyY*0ne*9wv^?IM^5O<%R1q<+m=oEF^3M1S&|l8 zK*Y8eS_)`jXN*Q3GLM7Xp>e>O(oigX2VP%}gk(JMcmJVWe0vqI!*-I<9I2 zCUt?`32MI|&*9cflu<4oiABrkYu;#?$}&dS$8W76!N8+wPm1j(9$zo}rjn|CO>Z)i>= z1S~6}v6pr&XCk^l29&4Qx3cH@Nt@Qw(oS(7PtdR9S4CN=W)-H3O~%E#j-jYL@g^sf z?Xbo-Yjb@oQ6~^>_$H98$%|Kh1r>&nk-(j*Tgd)t|IryZ3B_y*p7OKoAh|MqJvaZM zKAd|v-R{Pl2%1)+nbO!IZz<2mHSxkz9pMu~Xe!$s9(>yq<;x2T*CIlTwG>G@G=kFI z5$iOc2}5PN_>1+24GSMRRrLKMlAsy=1jTQ(@|Dd(eF_&D6_LaB2>QP?l*EWRUTnqA zl1%6>2d**g<9#d^Wq=Pw@sylXh=rSziYGja>a!h-)>!&HzlDUIrU#j?Z$ zHL=nutuLI#t9hjb;x&I(VdC=4=s6%saBEN|ny72@n-^rNlnl1WD8l)3EhF}v39kn9M5R36F;VNFs#+XCYIg& z9>|GA3?TvuW(R`X0-YpFcO5Xt-Cu-7Wt@aI@Ru&i+Q8OM#beay!$2q#3jeJ>aWyu9 zb(h$-2n;=btVdO243lDGxbZ}MrdocUX&V@SGo?@Ay7jRU zyhvo#r$6ntAUb1S$B6&TMQ3S7eAm37urmy}j#vP1EVHrMiJ z1nV!ViDr8F12crQa{u@400{Tj)r2sE0`!Qt-4>?ZEe-p}bC+EmilY?91cR*3=1lAh z!g)f1&s^s+g8swDkAah>IrdK4*`x=$h$TYZX{}2P^EtG31o8Ph=K`d8OWqrW^W;Y& z{lD+-W#Qc4#{-T{W&#eZo!Z&A0*CPBHuGt~XBCI!qW(xx%goJ7>w%Otq$YCj+_E3l zWCSTQ3?GXNr3Y&!W;yFF;Q|R)`&MSLX*l@>w%ANwPHHt)mtS#m%>x{ES!(@!9&(2J9BSx=9x_1Pk8bNbJq|5E;2<};6Pfc;%ut9%FOZf9w*jC#%+hR zl#pdyfLb>U24Qc4#iVI6jo=lmsf=eVFM#pP-Ut2+e>dhB?kgK6JPD2;YEm58kBMdH zG!0Mk8>AYsPohvR5gXYVIUiAQ$Uz6~i@Hfg*W*OrIl@&UDr5K@lu_jNK*;!deEIFcGG0&S6dh9HI9yIJv#e z$@t=^4VnGzD6iP>-)A%kRj#_}yGedrd>cD)O{Vr_A-W#*4XNAk_0FA%Ex!Y(3~;Ad zRZ;I>*VE)^H2uj_r)Jtcva~iVtB80O=Wo5)xF}#eiIBlp9~X*q^CP8u(uKPE&z&!LHuh^W;Ed^<6$QQdXvq&&Gken#^@_#h;7Ky` z0E;FLbMnYV0dImUQgX7kgA|dCpjR{>hzUskdztFzju@qvyFNieAgPxak?xxR=p2&j zicO3J4#sjVsixuWx_S+qu^&X9YX|@se|$0CtwFwQt6R|ck|UhHfCXHTi1>*3`IW-| zDgdMh+7#)B)17Q#gxPThc(A4S{n^PqKu&PFHQt#da-?G_Fq5q zw~hkW!SX&4Ub{zhm9~K|8WFEtMM^{lwO5>UFS0R;=kzTvbp~1Y!AUfRYMTJbHrIX8 zjwn5I1UT=Pth$&k@E$B^KuAn#^k7Tsn)g!hjT7Cnx5?@4q*18OhNHzF5J)2x>3qb7!+A# zEjPbvIR1X);GoC|6xfvDC>Bu+mBN|1@xLolDQvZ)TTHnG+tFhrUx*P|0rpzzK3-?8 zo!6^N3TN^S98=*rrKv~I4$oVQFAKOay~xTrcA}Gi>24E6{4r0xBV8I@n;SO&mISfy z^jaG;lcDu}9>`leXEbvd?(bwxAQy4X9sm$eQ#t(iJfjW;9OQ-o`A-jYcWB2HEVNIx z@BDRWg?8KfCF{PYnr&1a&Pdyc{cJ;DtedX>DLE7ZLjcp~-B9|7>XmL$XU)Hh&f9*r zW}HohA9U>2yWPuT=u@WYLhV8pjzGOtzdHDPz}mpxj;}8CSAxeC84kE-IjP+ag|K!A zsi0G8w8>D91Ej`~7WGKhrU9k<^WS1O3;Ls1Aw z)mQRY2Iw76yUQ=%oYE|p@r7?fA|+2-3DN+~v^)1Ge)Sg%=B^p4W8-!Pa5Ei2Y~rT$ zd#rHMqC4o^17@eH)IbSSYcAolD8?Lnv4|wfk@|8@B|3j|2~5y+e8y~m1$G8;$3$rMCyi zTT@y5hM>Y+FT%(meAIKrA98v6x7&`9U8)yveM@KRy|-w` zog(F8k8#aO7Y4JD?q4pt#?9pwRj&d4+Zcm9+3DmHcRB7Vz^PhCnjL+MZ`{}I=SFdK z*Pt_yU{QUwK`y{RNjIW-2p5#s6d{Ck9r@rPioifLIC!(PCtw}ur|81y!I8!E<7T~G zd-)b!jGIYLu={v!A?HsE;$hCl;2lNUl==O?1+&|;6;}Kbq@7NmWAg~c_LMz4()#^b zo#|v>y-)W!Z}(!-nx7#z@c(If)qRUk@E%M%_b}r?Z4tZ$5j-!8-t5ANy-#7$8T8P& z+WwV%vMHVePJJqFlH(~GFTc~og(NeGhPfpCt7f(K3WvSn_9r0{P*JPL$@U#TP(HZ$ zIB5Fy27X>X?>rExlxOVBW{G)LBLOu6o?!r!Y|Q^`|H&Tg;1d z1=zKALDj={Eg(|F>g1lRS`qUA#?VYT0nU`xd1rA(HLZSMjoG*|udV_kDW+J)%j`rH z+UTREb0G~9OjK0dS#bKZC z@6{`Xy1$kuWWbjM9wGidaz-o&IYx1|STt`M)PbW#j58z9E7@>AlTEQ%HslRjac2Ad zENM?piZ|)m2%0Z7yv;+1l=vr)t_%!n_>MV4_hgJhWsR`0;eyj!9t1*_~7Qj7&!3Xt5L`+ zE1j<-37PYO6tIE1+weeA=j;!z1P))8W7NeOnPhz@lUjddbRj`9=J=xyt)#l$l>MSWwy3}W9Mu|7xhDpTSciy&JUvE9_BPnMfA!8gcD6iPad$jZOmmE~em#+VE#OVDVc51fOV^D8mz+)pq*2*P1u4v1 zY$3@0DC^55#dZ3JyH^VfFL*X}qch*W^@egt5- z8(27{=0lkaOW^|4g_hzsf)HmIZ^%tg!!zZH32l~BIO^x$XSV%<$2@+md=EO#A>|kq zz=DFdLZ*>U{2`l!XPJbe%tb3EXEX+0%iZY#bs24dpVrO-9(;H7A?C`>XIJ(UX{?B2 z5(N!XU-9IyX@(RzaG|gx(G+t|PBy!bUo<^ROXuQFko({?LZ)(nJ*|#Q#vV@Df*z;u zhDGX)GmxRraZjZv38N(6uVch4={P@mM>b28N)`75{4YCu6xqHYA{|@mFwW#0DMm|T zFWgVafrJ;<%*7I-2(wvU(1lJ#Tn~a;T)0#R=y@a{*wzjWA`w;=HrCVIlj2SQ#L|V0~EOev0j2R4Xx>;S;8C% zx;^LOhtwl0d*`htgXFUng&IHjg8DS9I^>@16qoy-1IXe9aPK!PVog_7GYnfU`!Cj} zw?W<~GOj<5RGJD{byrLj`l&7sd-S$pwqeqf;f0-Z2bTF@%bz4+e6K28wY4Ymt{Q)nh=jTy$GdFpU`Q2 zSBFs^nZ%t$*d_BhbR)o0Coec>m#AGzz|~n!93!IJ=m=|y6}03)&`IbtbjKln-Bu?5 z_3rWA6!hX8uz7N!DQQm2p^Q3n%bdbYo!w9;T$OG+0lgYGz4>i13!7(5ijCLE2x-#; z6Y55t;@szxQ)ocAjLeebSNnKP{f{`6F|*?{z(e7Fsp>eY@rDIQD;SBL3ybxW+5myo z2lLe?JDx|nD~+}1TJ2d!b)y!6En@WU=+~a zAf0$eP4R85x<|tl>J`I0cpj;ewCwy?E@o>N8Wq2-(^bgCqRS@1FAf<>Xw4&=GVXmj z4_=%@`{)UIv>=hz;VSa@bxf9Lrti zH{~zRwap%)#ZYy(QjPNL9XDC{v+)-D;|vkhR@~p%D`o(I!PaOF3p*lT=O zepcY$Ho+>#I~H*8n?#UB(Vy}~3S3+Apw6&fY9d5$Bu61u@(WcI1`F_>SN!IeNP>$M zzK!c2h>=%wrp|E9xVd(MT}SuU#^lVXYEvpGU&Zm5D$6m_!Cbm2WP@;MvQgZ68a#z@)61jKwq#|tB)$Lkj3B|#) z4O7mW#HnL?9U-=D0*7Ab_bM^u4a(>sLGV|#DhH%s%07TSF?LN)Bj%86Dz zOzo78u*R}Z&`u!=!!YD+GcM{0u-32~TSw}MlFY^2K#+W$hH z??7H$tUBf~g&+<-whLwy+oYkkRs}i2N@D_maVhFXFV{=%Grw zq zk)x6)le5zVD03?HYn3ZBE@m^)`@s{9NLes6IWS!m?oRh7d7>4^AQEqU8wN)O zh&VMH3U6R23g+Qkf0uq9X|VbHh{X?RcZeF5=#eACt!Jc4D_dOWkZpMbEuirB5rR=f zqR+U)>}3~-w(_XYygylW_0E^t`b4@A*mI-(u4U8O&eYlqe5r>5&#vmozXljL)~E-B zBQk%2D~8Kkoio_xn45XoQZvD0?{qvR-OkR)1-`&X2X-^$17=@DP z*_YQCM8GnD@yA|kx2j}=^CC1qRgL6N1wve3XWY@4Qf8Sp8dOfMIn@4mnLZ=h5j8H2 zkmCU>Xjx-?g0xU9{6-Vt4=6-;W{0UuiNpN7ASwZHY<^B@=HtC^r(d(ldKExUAP#m-FLO$nu*4+?4lWWwOI&J=%xh8$4?(aS; zm#nun%GeNz72-MNRW4bE6-t-2@7oZtuDM2=m9QcWr+uc`LYjQMMxguuv;dPc5d>Y2 zmJAis`ZQaMECVKSy?#yFHQk=o_GD8~2A>gCR2Z*fxzdP|rR*fbQ2`%h8P){p=9Fz~ zQMq7_M0k)c8AdBJur;_U}78%W1_B3&X*<9E}#LX>>kG|1Jv^+ z6Ba6!65`X{7sj)Xj&e(1H&i;e_%G-3FNr&lU{=|cKf35Z5%5g5X37fH>@ zBoey%OSU@KbwhkdH)HyJkk4dJrwMA^GF2_=a3Djn-ud~qKE-I(3yO!$C!WW|dJPS4Nhs*J+ zk-~ZNW~p2Vg>=&KUwduqR1uPtMtOM@Y3<-y@8cpRb{&D>fE^7`vo%>Nuv4$zrp&jl zdY--s`77xRUCULWD;eYyP1Yn9>thv_JV@z2Z?nudvu>D-3pwM#_bX$oVK=?a-#R*L zBU^)8`(Rpw5rOz2sz(K^m5AflrVAM7T8$N<#A>_4&S@x}R}li#w65ZtOQlBLo1i6J z8tWZhuF9Db3DmaKVg$_G<^f4hHyS(&6ga=VqdNZ7q(9fDx|r{KXNY^~#ds;plV2^@ zBXG@8uvA*(iNtq)Y8-X@Sjc7`)bse~nZQsM6I>)z4-vp8>v9cjPU`WXb>jV;^s7RC zzWY?fafCgY%2VjjD!%5q82L)-$?Uug19yaNKre|dA};LTrDNG@+H=B}T>h7;7AAwF z_fmP>oWED^p*xZ|BJ)m}hqL*PH>C!JL(H*ECWlR`T4Xg;COGJYs95kLu^d$aBNv5z zSb}F4{Yp);O|^%ODVV~D6;=)alyg~h-CTdky35`Mo&WV*m+&<7~C@@)4gc&J<)y{dCH_nlRw|F z=Zy~CKUK-BAAtOo+z)CIp3Ybg^8g{);Wu7ma$Y_hy@ZbsG~(9#=n&1P* zB*t~ubyqmQ5V|>XEmk~(VDi6>!nyFDmhMjGoBLvk-xb`4fy5yAz!~rV$JAQ}#nm;@ z!Z^W$y99T44;I{mYjAgWcXxLS?hb>y28Tg{I}Gk0d7pdhezmJ+s?PkFvrqT#)4jTT zwW~(}S3c8www6KvfwASVP4U8}5}339O2JWlYV8*|Snw`{c;owDc!c~JPc59xy<)Y{ zZB$T-6l4m=vR@rAzvtZQ4V9`vA5k>IHHS}?$s^e5h-J!^1W0s4xMzC#5E$Tt*)@|R zHi;b&Mf0hwNRUz(+4}dcmst2GdfBQ5Ixl}s$x?|pITbKMv|x7FW9N0EU7dR1Z!IYi zPqkhn#pkq+N41u%j;+tHgiX2)%-(bU<^18a6`w?<5XsKOVMY&gU?_hH=I8LwH4HHY zN7*h5t zk714mZuFO9#!vW3u01{Q{MZ04p@I?2(OEJi;gdq&4fO$ZIb2i?6q9c|IH`?0sLM85CtcBpPm#wS_w2SB!vPDaaZR9NP@rpHcMC zwQ&lp40+`r&B}lX;L`( z-D#+1N<=Y}@Gs(Z-_@z`7J%A9mpg%Q4q0`J)4$>rkm*SDZSfQAdLL~(+L^!)Z>{Q- z4IW@HVlc+eQ?4>sJsI|UA3jf!20hjlz^A^cxHjycF>Yc|9P6S(K$?|Z@@9vALhyG( zj^@O@Mf2Z-^5J2pgKxTy>uqfUfRp)q3-uL|zb)}#gQU2hJ-jsvxidAm-g9`^J1} zJSWNmoYjJ1(?wcKFgjV$Yx0*=-GExj7fMde!->{uq;k~$N6vXA$I@v?u-A7_rJX-LeplrmF=jx z;%q1BnU&K}*;7?s@R#5acEZ&a^SU#iLDh}}%(NCxWxohFCVsDFtof6o-gA=Rfb-B2I_)zRCIQ~mU)VMnXgGMq(0fBs#$XeHZW6_Wb{ zFum7wnR4e^)k)JUrL(^cWzoh=4~s&SY?tdk&U`KhcK&}{Wp@N~0))IS=>OK2WV#GD z|LFuyUKpl{sFKP>!2u)P@${{14~f1b;XfA8r#2?LBLbDVh9Zuh3`Gg4#WZNCJ3E0* zc>+N(wQx|bg&(eUyY9D%4k!t#PtQarDR*PsIum+m}E}b$hnRhcr;{FyG0p-q47mHkD(nl)@IX0|d z+X90>!Ja+LaDPf0D}&w3gz}UTyHl1~2xUf(+B*opKTk%1_9hg@>yNa!-H6TBiqt0Z zWV2pbsY8M2XD_v%$LI3^Q5b&8hAG1IKIQgb3yS;5!CuLimYMkB)k{$!bhit|sH6JQtnHgM2mzE2*U9&!DvB3HXEYd|M?VMdC@E&vB|; zgXt6=s(ZAOzYSN*2@8Dbshu;0jQ&Ka*)-zVLu?oACv#c~2qYC+48t|?OmzOgV60Aq zVH@{hXsw|~FGdrZxp_d!_*9>0fiFC$80d}WBES~uA23~ zLY%Ah3h-@9FzH|((*nI@fmH}IOuTS#6q5(qr;Kx+)A>eI_ZUYo)wV#4&r+mQ7g+_26_Q8riYP|Y9 zTvu564>&zI;vCkit}ZK*ra6x2bvIUN){6c_GkC<8&amyy$I7eTPd^(Rb|r8FCq#*a zGT9Rp;Wn&1j2#O4(d*mfanN#f;k(ccRy@3;UzD#i0J<(uV2{(aU3%E8&OK=mrJG=G z2jZo9jySsD=J2>vzA8H4&%)EPi11g512gs1q7(0cZtY~Gr!>A*f7^2uMBB7 zilg?Q-gyA|d+h&Vz&DE!v8ZnQl?#b+B#&qrC$cO>!a4bR8J`4ktV>WW3*Afs>Zv9Z zsZuOfT}`SoZKua)kXhWdT#xlv z@qv~NlTKp;U=bPe@nA}veFf3J9a)nWSF)y80cjHmPRxs8`!FB?)x$z6ih$oskx0N> z7?P%2mp#j=Ae!s02~~aK9>{hS^&Y`i5SZ)G+qAa6?CMJY`E*z7i)M!YDGFMX@V1$b zZVCQQgwf`cU@ESP&C4oCb1|CfT>gl1Mg!-2I=#D~=WRJTg0}J9_-7@2{=52Zo(mcq z@_Z0n9QX<<2@o(a$iB zzn{opGuzXEaw$LR|~2Upd^ zFmG+ew12g>2w{ikg-1V{fDRItM$ybKlm_=I+=9NMQ`CeWVmU&xEQ(ki=B>R)&tj%^ zB4rGc7PFlmH#K$%`Is?Il6#9PrvS?$qQ(CSdEmiAt&q|+QCPY5lHxREgk{gTMbw~D z7mRWw4R+F{x!1{SE2RK4>wN#osCLk>Iu3skz{D z%-29~8kr`K`(r-;lACO3XlNZ|i&TS@WT?Gw2CsW^N(5O9^4bx`>6#>lPhN zySBB(WQV<}b}Z|abp5w*Q->raLfDcm5kG;&J;1`sMrEp#*QOrO4R2>9u;AB~(xxh; z5OnC3@6Yo=xxMY~^{v%YvF?JrFAJa0i<~jU9$Y1=;Wp-etkO(jT-&ajA`UTIQP{6z z>bWlL0Z&eGxLm=jY)oInD}hPF?;6+Ze>n)*MTl?hA2LqQU+w@tzvWsaV}-&T^8VPi zNk(^oRT|=MLTi95FnLrXaoVM5YmZ`oyJf7WF(%0$Z7j>ce{B!%MH?@T zvm@dl$w3FFWL=UkEXu=Ap5V6Qj;%+=@t!!so@IPhZ%R!6mK?Cp6NOXjeHntC`RDi# z=&kWb-7!XOlO|sHfIi>EY$_WlGl1E9d|5Jf&P`})5qOFFVBxZ>$v0-TVK$X4SR^wF zp-1Zk$I(*z`=2MWp)Gv(H`-jfnyag3HstSI5v1emqXQ4P(D5zn%|(eW-lMril?qqu zJegcNE4sEflB@CRspTbSqmrntyUF->dQm2B(G~A;fKu%};j-g}fR7f(shtQ~@xG+< z(Y$}dhr7~r&74Wnut15ze{$S}Xfy(!X`6{9^kGzK26P#22$ZK={+T+tMqqb5k+t~> zzAFzl6J7-GJn)7UZnp5#SO#lTlcYq-nY_5MQH67a&qd`FDaWdWE;adQ3s^N4^~m(#(tc_+3T%=Bfxw2I?w=hU9mbkw zl@itz2ztkhrMVR}DLWjF_A`>TTtAfGes}vZEY~jcCE_MK^D>wf^d5?lVoKq~@K!jR zJf9Z>BCpyjerC9NF6~GMLSJ-E>s%IrfK&fLmn{Drk*Ep|Y-L^k-JW=@)Bcn@G?R@9 z3VX^E%HgWVK~&9T0JkZSVK@qg8iiBz6uFL|!S|aHG?_RJx-hz6&`xRAm?VFpBi=}d z6^5F(oeooOCCQ9Yp>Xw^1|>s<>bPed>YxgTp8n&s69OlQb^@@wsLtQ>!{RQ-ck9XL z%l@GqH0UASUJ{O}npo03xhT`+A^Nj~qy$TOI@dv8vU-1lSO1@deVRw>A^0c$v}kCI z(cky$U~UbkvGr=gi20Ll&_hu3UzP@E$Z$L93dP9 zU}W1ZFEEYSm=hy>rJoQvPF5QXuby%w44OS%VE-cEy~1th_|jy+a^bV};y`fKZ}2o0 zZYTXOI`~xbvws-x|F!Y}?R*D>;AqO6NOb5vPLO#j&-RP+#w$_aIy&^#YuGMKlxMIM zr$#0Chl*FS`o$T^n1VRJ%Q4i2vqsQkX=e3m5qtzSLSZ!2;rccQ~^}~vUrc7#{+&`G^ z0MEf=ztBnT?jwC3_)jyjlA#&rstpl-$9Nn5_ecL-|L=2p_h=b^@PC{aq-l&lDkXPrqAoMvb^x=%r^pl zc^T+CA|28Fdu1`7Vk!P;T9Lir{~i+kQa+SsXqB`CPZ7YcO{9e~gzNocrE5ivqpWB_v$F65$Jd;_au?uIJYK+o zvKby+U6^87EiS^c&wKt!nOm>He)*a1Y@&L+IgEhbh;Ane>Z~(exEU-*D8&H}V%;~j zRbAKAMp$j*Y`TB)EiveGX3DZ1sF=Pzoc!QOK18o6 z*stuMjjIr>QS191=a5He6sNK1iAN^FG}y$P@`Nxq-!u7tP3M2#jn)C}sb`apF4I{+ zV_5-(8o|;8Cq`33Q%{CZ!@3ao{_0^GV0qwUI9-02p@c2#P&(74pe8;tsgQP>e*Bb_ zGV^iqDKL8)ZGcC3MkLZOSDE~N)hb_0uCocPuvh)4e(A5p<5&@u_E4dv|DT@x)0k}t zt!?FBn^r8RDW%!J~F zb7*~-|A8<6z^DHKP?~jslHo3{Uk#oHezXnQ5;aaNvDeWrLv;^@TcLcrByT%eR@=R?0HERHy4pfajSnN&b+8?V`Wx%5e@{<+59j_hf!?G zt^MlCY>MDvYFJEGJ7~8G01$6g1>P#|icm`SsH#jD)te8{w(jDD& zABb9QJ;+-8E5vMRS96`Le++x4G=Juf&wt@_mfI1+2>d$DsQs6X9&$Yeu?p>5l@nSq4`D7T=6m3PD6K}X#r!3 z=7RPd4M$ed-=c%=uPkpp7!7Y*oZkF)wis^2SRyKCA2q!ze}1*(4O{o(vBe=pq*y+D zC@;QYHJ&F#r8}maJt-3{%%Hyb)2|*%@FX*1Q#T)J&*q7e9aueVFmPn-mSzOL%q+1P zZOIs#F|FH4yPRQj?Ykl9&N&e!mG-n`1S*>bolO!?Ek*M@5Y#PVuM6nj$TwzU?=^)? zb}1~AB-LL;h4|<8j!PReIBsS7e zlG9+ZQFiu+<^(&YXzXvhDvj7cyoc=dav`UrUIh2k$%AyW2cP~LW@B_wPwz=aj^x4Q z#;=^1wA!T|N^%{Qy29JqpEy+H^X>tS6*5-XsLi zj9q^rsXGm+ALXGFykKp~Wk@X`G$&rtS3}CU7hJU*S4YlxS*v!JYfc6au$$UWcXj(1 zvf%;kc)kg_UmcgQIdr-W_yYM&->Jo-O`IHFioaw;@`wmntIvW^|M-4euYvRGH8Yb$ zLS9c9GYDANKScaW|F-Di+fMOyIc}r>$M(p&hM>-G-mU#C=B>ET9~7E_2Y(+!#=Djq z7Ohzh8dGL;n#%5%+dJxdYyQuh@gI8jKLjnL86aY`iQhbIoNGkur;jMx*%)QEfq(w( zy$#wTARH&u+)7`I(|U!3%gt4a9xG|HC&}?(68CAo0SlLqFl4x^W!SYeMP8%YY6@)!acgoTMzK% zeU>d&p#G@J8oFLGK=rMV1}e4K*?~U{sLDlhGqat+fO$&kDfq3=SHF7I&BI2Jm*jN0 zHVt3oJaJ;59F67etU4tJ^n6-7(Stl;z1EHRhyI{T;QTGD(Q%4n*<4%bdJx^QjgSSg z{&GjS^_ZE$@^?E*zs-C3Z>g?XUwI(tiGRrklqgBQ_pogJXNzps{pKdGRADp#61KRv z8A)HFE*^F1v>l^`PN30*dHDk|S%Iaj#hahQW9q>?(7r9Qrl0R6Oa zC`hGH!-5k0Yj876Mf)o8NUUFHV?3v_V*L~qe)0I@r;JW)z1tMCX~c7>lGR7~n3N=kcqHnrZ}T!$W1Zye;xbmF+euCo zH?b_=LmMab-gc%tSH0Y+*Bo=t9x*d(?u$z{M{%(v_u8i z${k+BLkL8jhE6JjHf3jRw_aOZBGcwFO15ok(T_N3#D`Gi`JcGgdL1|s`EP7)TNJGh zfdLl7Xivk2gh|&i;f*qR=h)gp>QGE9T@hBG%mYb?+=8C`-^55nh9H?1XStX@ZS8K&( zsoN%V90{nC)=G1%6Y4IH)f=k3yc@BWHqPMACdHHa_WR=BFh;TE90xGpeNgJnkopq_D!fmv_&g)K*s6aYW%+0 z`XVqNb2&E0@{qOV7WQhl^`4l`@1d*=1|j<-+1wd?(l_kk!g4_h|7%0PYxZKH@4($m zh}Ax{kNF9P4$|-xsfgFhDmB<97ArcC{Cq=1lpv1>hRQ*Yjo%MrfM+aTJnFAZogev9 zI)T%L8j;9-Si@UiJ+1h9k33yAHEw4uAuDdewXr2l9=o5aDEHwIxhk;NTD%HB*?exL z3?eN$_P zie*ojwV#Xcu1snH(uT2W9;Ul?#@@RFp5c1jfB|KO^pcDci8K@618J;Q(`BqfQx+Vl z_@8+X8Q}2jFoBL;zw)2O$DXmjHyjCS5w)EX$d?{E4Xahr{xlSIkpNu<3N{)0iI;;} zPz2t&J2^6t10;Hv7?NE@TTC9{Re|XxaHMGJQbA$`e)zYJL7iKkb3KLql!GS0eDM^c zN*&FW3Gzw~a>&4LU_6I-JFl^9U~NFUkizdE7@}|D$_Mws73*I@B6ad zYqOr+>~we01q`>H9nQy`2N&&WGBkQxpkYg`pmy?%_koII&iOqY?(EjcLvgw%^rn%u zo5F#dpdCB*{&rsw2)|5kb|zK{yOR_nau8q}Ms6{+3nm6<$|$9kM`yAzWB39vVA?Yp z)ZJPnvCA^qSdTYZkfAhk^KQIL-OZ(wimJ&v->nh7bb2fn>11;-39BtFrS!iwZD&}Z ztyHf~#RNM(CqZ1BYteX2GF`~hCDkwsev>iS$yj+`S3E%JI<$S-F7nzNO(1i0kEoxq z->`fNdaq}u+C+Zjr5RgT(jIx)(Rp>L2y*RaI_$rC&-?_3)*+HJ(vj^t_(MI$(xx1b zgV}NI^8(k!q{Ri78kKrr@6Si+yh>H~vur!0Y_*!DHqB;81z|0U!FXd?KSvv0B#Evz z?gD`4?+7)@ux;xBxsYeM0$zI|J?JhICh2T!`7k%dSGVNi+4$E(4omg9$^4RFV)$$` z+*x6ci-!GzHx&xwSjHn2a97vSiC)6IeZz)(5>DnM!e zRhNVHO9CC9>#p+_ASb%wFsbTxhFR5k2k z0B$jy20Fyowo5zc>DT3vsvWb1dTk(%lMwtyU$G$+oCIX|8p_BKngXniZA z$W^86W!o%98`+;Cga@Q;+dtnjY~j1gSkXgw_aWLFxp>%%M2J*)7}4ofhLuPX4p zm|ow%L3tNOMkZeNWWuTlIp)2=u9-P(n0hVE@j#xFNTo9K%@|4_fIw@_8F_Vb2@>|O z9436Q#Vwl>HDNRG_xQHm_w_fVCkMbaS~kfP%;NDDrL0@S*W2%s0S><2eFoF^je zM`Jau(Y8%7=b;&S5Mr3qp*7eR`Dwsx;7k7}sacrQEaO6XlzADhvTxGtg#yC<+RUmp z?E$Q*mWX=vg>j3z*I{2`_2v;B^vTg(j`bkM_T)!Srv_wBSD(H9v0jsWuFVBO@Jku| zzIKr{*P}treYzpldn55IEl!Z@Hj1 zX3fOr&}PI1lXa=d&x*6?-pOWL*o|ZNNU&8qvUn z;C#G=jMX*3q-2MuFB|bY=^=INa63|xzeR2ESqo_g?k4H*_!Haq2m-sL8|e^p6iE^; zwW$6P%6OMKOV?pBg;1}-Fx`Rr7~`MskC<8#?2%X`!3=bnXC z33?r(&j?cG^|++%$#_&5<4my{bX%CE;)@qz$LaFbr0Msaj-}mC1dZq=C~SJhN#ms} zl#vYrMbLYq_Ypu=`z55y8zyTwV^3^Umy;@jw`+06AMbAlF@)=pW(Y4}equam1~tpI zdUOik7F{SLyZaT;xZ;7SUFT zU1|5hbEDachhYXV_%VJ&@;~h*fhga4Z!(};f0!gUb0nuya2pfG?sQ{3V!OFEeA#4} zY(r=dDNEtDV~^>^(J+iGL?c@gh}BM@+5PLyvL!7%>D?y%eTqk&iTc_IJ_xRi;TL0W zz~T~Lgb&YlR}8pJd(#EnYUl9?lx3>Fmh*wj)CDEUZc~)N7Ty}+^1&@rterh>`^)B< z(WLKm=M4~^H1cZ4ZHsiP^CRzS!y*yuR=vB|+B;z0SZpR(Ew>vbDP}#TS3NcleBc5r z_7JB_!R2GX+4*_#*_CXLU0_7Fcd28{m@~I~iGb-xkq76iyB)izUv?`%mfn7Xq4kJz zlAIjldlfz*JmscV?00y7uLZC!^-W&tGWndu0W*30QY7;DTvIa}e8@z^C=#04KpfZ}|?Ez^wJc3G_8VBMncpNG%cpTzjV2P?wvPN(BK1 zapvEP(cMNebgO`j+mW&9H@C~qA71Ft9M-#R?g9{i_nd)R>MWV{95(K$LgUo4M)}e+ z${y<;@r<$6UoeDDdc!`(Aod3pxaCToqlN@S?-s~?#@A87vK1U3k|?1s*`G~yBoUvz z{ZA=1gsn}|TR|^i+g_8hEkFYoz1-RT0YqBly~bcuvpn^whWnB0Ltzs>b<0e-H=b(y z5&3N9_8Yu@A&%Ma6h^w0wMwpqV}vVWFa5Danz#gF_64Ti{`7+c$_T!)OF>lc(`(0@ zcqC#_v;`gvmbk( z^@sCKgH^Z5SKF21)mhjcHpFZpz*vN!GV_y5uw0>2%D zGeGU{P-fu$%BAsy>3>r--<}*Bts%{+^as9^TQo;4raC2XR#Y21;_Y6+So02@{`CGR zVG<(oBM?O3{2J{w!MfNM#vsfO13aFcjXx8FGsU3MA3^b)jQxWQS=F{?ZWq^#5AdM1 z#aWIP&z54G*>xh;BalC~3E8#4rg3_`UOnP{`VhR00wJJ$2;ZNt!`4Dm=ItLhSs(DY z?)MlIh7kw0Bo}Xfe_e`N{&*UEaB(_GtS8{#bEb2cB$a5ifHPvB(jqyFSJmCgXu21Y2$em`d9vdtQ)qi;NAWf1bk-4tTX+Zs4QUk?}}|E=1x#nOgt& z-mTECgvxx(@fH%4RkV=qo}7An4_XhKGYLmRK*mzep#;b)h&ss&J7H+~-Ji0^9Cv)F z|7HszcFq}-x;K3v!&~oiLfbMS$_!w$@0+*2q`MmAg&R#86A!J=&QR+VfS)NS@-_S@ za=aNnr&V&KbfS|=fz)V01kctDcDU*QD%Z-R6HdkKWF(5(N&71yTUBPj!KFcMS3{j+ zikcbUB+12KIY7=uMF0sjWz*?8Y%j-E6offVsUD|(qQj~FA%D3@cYm?DIv~wX1xCW| zOPJ4_gllwsYgc`q>v=9$^dzJMv#*^mB~$ z8k#O+q8QfXYh|?%)M;-E8Dkc(YiMn(xzfwcX*(EwVtqHzy}rdz`5xeNpM!us8Km%` zV$|K>m#^O)E#P++UIUf8WBHYwr{I@zr0#hllf5!ps2lxmnvlkc)42vAUR%ev!#T5o z4h8yI+3zPIHJh>%T-sv8swX^uSo1Emh}slNC|>KaHz1(CdEb84_2uV_5wj!Z6QoWH z&ha3l14gGAp^0uu@_GC@c7!*u>=If^b-!{XbGoRy~ZEMe1dJ#v_ z{4-@@=I!O4dqNKc-aOGTNoFt5L4md@EVb<+ANUWsR&g@0|g+m!AJaHYt{Y?@VJ72^NnhMS#wU+~I2)^~PLmP1D4& zy3Yk0E8`0whzA3hzAVl0-GzmzjL*g$u#SUWp6M`7ovZx_HlpnwXMdH=hy`bw z<&h7quK86RT%F)~Ybud!FWDK9O(9#O(<8EUSA{5Dd4rHMy6`!a*J`Oe&!`ZeMnT|4 zac27dpwaf6V|dZ5dQTd=OC8hAyQKdX@!>|_=Pl~_sX8I~_TiyO-^elag<~;!;XOHW zz=fRG6a(E0;_<7guvYC2D+YFXJ=3){;i>O8@GB9Hde{r3R-Kga`kkBC0F`>MyDjg9 z#Hnw-3_McOKPhWC3b87}#vK2y6tZrZcp%E;)-p{-%HyiwWoxB0p|aCg?Od%+tJpK|LD3IF@9+I zsUZ$#K5`lSl>+hWB~)&w!yi)~AYK|Qk-IQ2nDMA@`Ot+Cny z&&A@!0VS!uEP`HWB-V6R|C^bCs6p(H^C%D{#v2q($*8~eYJ)h@ifxlVb5Jd+clE|+vn@PP=0v9v<3>V{rLVs`?ZG!_pBEGePE$T! zFF(+`I@8g(^%=KBuzKIP^b-%gX2H@IfZXXSaTr2=PkhcZeLh~7>a!Y_+VGbo&{BYc zM$6oFrT7-)wlcOMseGS|BWKD8*KmK1>=X(Y_aOt?kQg0f9!fo^j$X$h#&+mD^-ehy z*Mp4ju$?eICleE?l}o-teJ(Mo=lf*w?`u*Z#`PIi zI7_9(BJR+)1Sn29TUR~%p_~xy->bflr}`rIK)WRDcpf{JH6GZPILw>1nhG7Mm%fZ&(h?F9b^U8) z*W8-{hi}t4eEScHX@-l4EzPS=r&GCR`pJH{=ZjM{RB26;1!UiNbS=J#8s{Q7@XwMU zL(K(V8aQ86&vhdvAaH@#0-atz%db_xzo^FPm#clg3JO{_NEuo^8PY|7!(b~}NjRw~ zu8n8#L``;tJ~B=_F@o2T=5&!4Qk+et*+S+ij51}1LMKxVR#RWoFt}UCnJ#=VGQB1{hZ3@wb z+aw|~7$l4TMv9!w9`@!(0+>0l{uX(T6Y2#kRKN&XsRNGUbP}Y&g>OqSaO^{+y=Y!6 zM;GS+`R4+EQ}aeOGvs#xz8kPSAiOj)yHubp=S$n~)FsWpeS<@@<+O~VTJO_L~2Y>3fR+T^dA(!8^ zdXSxN>*}(b&PDHsFHbhn(n}pww_mkt6ZjxV?PQ;v?#J5HxHc-$Pugy*pND;0%q3}! zW;5defPb)-SCdb+uLUb#bggS9UqU6lDaufLi7qmeaJS7$^b{<m(mj1?ZYGu*@0ME~C>bED{soAi*WXxJ1DwH%I&9t_RDJS%ma47>?J}*>+X`ZPh&VMi=ku!x8KK?(~~$fY1EW zo$O07W#%wAvP2l+TBGcd-=zS&u1S_LvjMt&skSB4-4FU@?>j|#SG!*28knGBNZiaQ zTlBDP7E0*6xru`2Zi{2QAvLI2<0?cWQy5bE_{{m`DE^boEzAK+G-|1pn^!j01>@#y z0yj(!Tynl&xZ7romkCs;)}>s$q?fA>KesopH8(tj_^(pEkD(<$d%l^VOT?}c!ctrM zz4DvLUY4AtKH(L6JC?ypPGsu2>q8@&Fl>UnJvV+The$#T0X-gz?hB-^D4@ zdGv5!mEcvBChM4S39M*w8uzEysrs!}zFyJxxcz}1S)b29-bY``sVAtnxh%$;wkbrX z5-u5(2ld>py6L!2f=`FQ9BqH#V-(x#13s0l7_ZnU8IF?=?oGILbKY zyr!`(DTDEbVb~>`z>)T!=ZvAA4=my_1* zx^bh~Ol}pIjP`>+3X6rViFd&ODurFxR(vx#Q={N6Qx3N9q%&)-4%d(k<-{F{dj|A5 zVWD#QRS;S^lw_CbeXIlK=zRRIQ5qkY^0j%Fgo$34-RhoI#6C#o{=_H%`M7MJV8Jy? zk1EL!13OQK1aCDhRE@J;b=@*f1&v=fnmQjTB`i-X6q3S6Nvb?kD65yBcV4Iut~M;dI-=S8j{RrWZ~Z4Y3Jo4&(bdS46*k+@!mBBm{oH2 zLIHxrj>wlz%3#~MmyRTmXQ500@WinU;;}xv!n^?4N`Z$v2)#W5x+9)flo#^mt{?a9 zIz7Q0;}qNtKas&abVJEEoigO2pw)xgF7p83h& zf0@%Ij%!-<@$dNB`DKTut$?puoD4t)UB#0_&7*K)7IxBU;jX6o@r8}gE)<*COLXP1 zz0pd2Z9}PSscCG2sh8d_$5XrCy(f+N+Q2cvEGj&F-0Tr`Sc=+&yz7$-%x&zAuvsRN z#oBWAlGOB^Ot=38$2zlu^^1_Bp9**-mxXNq&Fo4Vpyda1y@4Nf+EfsSSyY}=R#qV0 zi_pOuggh_X@_stX@&mv}uqlv9)F1#`&;2{>FhRO0E9rp4ss1d{j>a$84H>XDK`9FhIS>1sSZXT6xFm4>C*AJTWmOutW5EF5qdv&%FIKkpN@b*rx40}nlvkJtUM-2^1C2@*USZ|Y3upn z1hGvlXR-#kbBf}D8b28|<~L&CW|C&ctf((#n7YZCP>2>NY~8PxZhisnUzQDi-A-#I z0tJ}((d!x`#B_2!PiQ=Bv~^sC*Y?nMhJOg%f!qoFyei5^w~NM@zPF#E@3 z;6+pEir3L`E#j)A7Ar@L8y{;*yMe%T94y0&z6z2Mx4fmO>(M0tRhQTB;N3;kY3aap zBEtyo;Mw@&VLctA`IRqnYQLJ$)~lqQM$50LjY#YyZIo@cNDc}fFB-N;T#N#%(;Jwf!V{LNJmPQfq3OFijapNOO}45sp+EzrQ4fF`P4U?7I^2E;Px^H9iYVEgaM~poKK+sF7`A6ab&-DqynyS&Z0FdZ2(*UGVe>I& zAq#vdXFE_+Fw5iC0$&wiw?Nbg-d{fbs|Q+GOG1S;Y`&Wfun>{iL;H@{n#-_<(^2&q zwdba{YAb&Z-Uw{;=?sT`bT$Ig>CM`n*+P-iN{UhT5-b zDRk=Nkg)d?IQ;&54!Yr*+pa#683*RL0K_0!(q91n5eCA}?9kQCdV;t|M_KN;f?YV@ zvR`E3^CNZMTTrH--CwyLUF^@EJZ`EGBXhV(*bAX8#;sAz(aep zPKc!~$fC zGbm6@fSjvTYWY?cO4b|#I5QD-My$+?d4yja&Ho5_zoj@{YUGKz+NA0OUm7}0Ua%+Z zO?AV6vU*jun)o6toRd)~O9WmKYp0IqSgDIx29O9ny3I2JKTxjn^#!jBleN{z{+fQ@ z3{^`Nefn@Qh@ zjY3@3wO`zc8iArFS_2G%Yi&-KW(mxAhjG4Q)sISa33{BTfPT#Q$^hfV8h76!M#S53 zp(+fzOE9+8^}j0;#S=eJcH>u&!s+FvqbXT04D@oZ#VJ`D z>%WM$MjdN55GFH~sND`N7bJ!AP^K#P$*<{uZ`*&9@Ob}#UbbJ-r^M4dzZC5y8^29} zc{e4V_RF$Mc@MbHj8qwrx}3#X+70mcIPP7FjRmGV6UPweLzA;!+kyy$6J{)4SYHB^ zNWZSs83w&hRzHlJ2m?QMFW-6EgqbH=AQL@vD%$vary&B9J>(Ti4`#Zxi#42~{73;KPa^b^j+q{C4zaRA^qdmP47$Ww0w)#ijS z{vAd=%2NkRSvE0wwik=26U>g&ba6%(In^f&)#|Or36t1rP@|DGVhMbFa_wX%yG*2R z7dyv?Mr^4XhlZ(vLL<83VIn18yLFH*Ojql5yT9x;)0W%|h1E<=G_ zlGvPs-`nxBe^_5{8==rLk5cuS|8_&3by|Sb^B3NIRp>d| z;qGXj9O}RsHpesNA3lvVO1dxKsidwL#J{qY@!+eY6t8W>mscW5sk7Ycu<*}WuRe!w3xyUjh9y~Euh!m zvXLG)ldVPIbh|<$INeZlbyXS}dFvhL>0XH36*7uR)9l#5R*)WlUZZKiR)z`w7)g(vE}K2sdMIphgU+9%eIKO zR4f;ji#9R zwM>@7ZmV@C z-2I{{AdE8O@&_O9KCIAVKo_`L25EpRGh_ADZ)KtHI&aiS`$TK}ws zOl{p-yw_*R%V;&$`PREn45|JJ(h>Z0*PZih8eG2*Ln#(weyxwz^6wO$KaviE#(2Z) zkkeLLJ>iFZ4YZZijX*Ww=9?1_tDT7^+}L;Y z&CAXc)`3sbBLCA^hz$%t&AZ{2708<_eGK5xdv|E~_9yKaK4|ROskcUm!fn%|Y-1(p zOM4rP7c4r*L+vFW_2s2iin9k{x-r`FqrNH4%CDLlt8zodP{OA3LH@CsnN_$rWnt-egjaaZ zP_^nCrI0V~m4`!vvW1A@?C#?_ZJwem4CCyUgdvxJQb6ZrkG9}q!*m;%6yD3wnKamX zGJUNW%Xg6s^s6!j$sVMH(B&~0F(q+xmbPs#m>Owf-(5_PPB^0YwY5E_8%WSq*39<1 zu`v`o?7=3KbJn(gj__Gr+WGvY!Y=Oy*Xx5Bij{wv&yvS08JA->5*&1XgzqIaXn61y zGrwcgflBTm{f3-&|HqD|8RCLZ7t%bJ_kr&m#ggEi1QINtdeJ0Q_*{AYI?e4k#s#Sa zWPa5e90bkjE?%GK+E6L4VC##YP%dbbTJJ zh#RlL)P7l*06XMBF`r;HgEmV3!i%7LvT|e4I8qZXB;etz8c1vZR99UJf~~FTUT~A% zGz@H+pBBBcpcVK1$E<=jA~M$gNs?bln92DKfB2C7d;3Lj*IU>yJu|w25bh(&Xc&#; z2p-+t5YIT|LzI!3UkVJvRquP5K2{m?bdUf-5U|H#dB35Xqr^A7Qbip>q(R;1vr59j zWOwtf#!c>V=!v^*ow3f5% zTydBMioA~V{1QBrfLPRxAXrX@cUS#uBUeD(sgvKD=vL6~($MITw6reKh_gSnb&~=l z;t!R#*n=n=(By!7#q~%Cv(FfBEsnEnq(HNG%pJGxwwaxOqTopQn=o;uw){dQ?Ps?A zxLS4dYIyQUHPk{{oSSdHS$4N`TO+zo46gYK2#mzlFtjyx+d}FUfutv+D_gNhRwq{Z z!l+KHO4zhP##AhDXCAZ&qb4(c!yEXd488;I)&R5x1MT!e0ydq*KwlYnXZgp+zGkFi zBbI=u!{K)qhvicr`h?13D%1Yn!}9RM56hr+p~|{4?F@CuJKyJ-EAWUhMOwtr> z(iK5^hhoYDDJwXEu&2cS+i)mN-&iQ`eSEof$6SPPWQYS7x*G);DLK!@Wuz6i`+(w z`f^Sq>2U9{*Z0eo%P)h!U_7)TTah7bhk{(NK;&prH*ytrYVZf;tRC-<5)Yv6sP z62QQX7_9Z!i6ioRt8bHcFWUkQs&VyIv;*Uh@cW-1eNCF7?`|!$$QAHvLC|RYfrC}S z_}P=r%L~ikMi5_p>c*R74bEw^Oy)@}t+s&~eE3IuL2q{3sF?5(&nTWqcPG0QV8q4- zbeX>Z2hS?opgR_%CRB-l;t)b;lNo#yD+3krmgZGk8$B*G!+1a58It3JN8|^m4#|!U z8)ZF88pEKw5_Hs>c&psA@=AIA_1ER?F5_mBjPCii&5^NHxdbDD;`r-^N8~>)=Y9oy zAKFNYPvW?*KDS5ClHP1dVo!m6WI>Z{k~!XKYLyp9JE3P^=I@<00Cm*r!3eN?ttgb^c^in`q$hbz(eGC6_}x@k;U;oDHpA7=_l zDcZ^26sn>w{g9$+$B_I^+jjW?F>C@VW_%vD-hJ9ElW7(JiqbYRD524i>>A6;M^P5n z-oxNLbJ$byJV19om6gqL#2bLuoW4~Fy^pq>D8jAla#^0mo)X+co$w~K1p8GOd6fXn zG20*R+%6sAlX6$*DwVCQNwg#P*j{-iBOi*b zk}cR1!+WxKWsgo!4#CTgD)j5j!dUPH9gJSJ4Jtl6MF zde0}%sXa-PB1P%klb|nFz*wmbbbl9~`z@$9T*xD0ZJnoxtFJR|;1&nv$Mt#t#&N%M z-IU249)TZ!rtT!~^Gf;LL?~p$T(DhE^)|YiGn`3jA7(1MJvOd(3n+4GWrI}8OKNn} z3;tE3Qc-u@WbR8Zc!B511w3${Ck^3?VJz_AgAdB;)vM)(Rsd%V++k{*vCO<4{@i(Il76IIu7{G?rCq|?O{*_l=!7){CA||UB*)_B$&#&cG=SRm6$TQDCSH1&N zg-UJt`SL}c)JSi+_s1t3rIQc~;7Hb5XFlgGVJe-HmL^6BHHWc(eei=Hls|cNeBZ@n zRh+HgcU^`)U4;VKE{{L?xV-u1n=*PACleDTJcL_ZdHTaWUz0E@JlpgH`vm=WzwerN zn`%z7^h|Fmymwfp%}Gv)Czgn-A@oM{I`0j{NZ6Mcl}8?VL@vARGP&qQd?BjQhsEvszv* zemSouF~mUFwse!kKKx-h3MC55M8=)(o8gaheKR(Cqn%atMQ=M8r8liuCaZqxC**{! z6?WIipJMMq6hAueQMLM+dhS6+kHGCI?b&2CdQH|WyLN1otG2rEP{y`=CUXA=@0V=Z zY-W!mf~fOxUVWWrtcr4lljSJEXuv}`3ONjjzqF0^;bAzz~v=E@2$_41h zyDV3M#piTlHT^GYGDva6dNVO<{E*N$!86B?A|fUHe&Z1J5>umz3-AoXm$TNmw+4I% z4-p&)-C*lZ4_J(tJ5GX1NU8oV&G1Y3Fb)JJ&izbYOyiRitULP_! z`Q`WDuGcrZQ~1ob8q&Ww_J;JX#Wd&?qBUY=q-2?{u#3d#>IfE;sl_sCUl}_iE#;K_ z2Y@RkI3PqhqjK6B2`=sx+;OWJ%SXt|D-YTBf=?PFqe-8V?M-d6!vX_(wI0F#fflfa zvyq%8H&}V9$~4cCpmIV;;k(3m5&g0W^=i`uQj zhTfI%7Ss%l`CHZxy7OmmI?ps}V!e~Z!5p_^^KZ(|7rM%ZDmKdP@vPZ8N$geFf)%t+ zed<&4u_4@Z=qF+8ryjvQF_8|-d%%>^yO8zVY zwFq3i2e`l9Kw4g6ypZtrifbrO*aWYYXw>CxE94fem~h1);Olik1k5|?L*0Lpjhzi4 z&H!XWqZvtbg2~1aeBO1ONlRhr`9&OYYW?y07M^Tx_MMXB@aJA>r@!j$lbuj2xh}wa zpo|+k+YYuGdp}|&V`;{JU^;v3u-+FdQ#FNI80GOd70(YplfGX5d%}D;{pZ(wJ zmhz+B8|7wP^CW`nJpcUjl2{3CJ+76-%K_a98)E2lnoH?;va9dl1l&a$C>vZc*dQ~D z&3g`WRAa+w<>eaD1Xk9MEZV-2<8pV?O6!e5$6Gmy@plM*wX=4BZ?sC3f!uoQt;$$A;xMfB82NZP7UD`Nwa615rN@0(ngb?KW2S%A;5&-V^klKQW?#IVuAf z^}X+XPYT^3d4BKnB3G}g5|5eVF2DS8-IO`o$wj$*qy30nz6GlylcWtBHefR<H(l&Jpg5l zf@!yV*s;$u=_i^rS1(v(rZ`R z-7@aHzdm=oS2vBvQnh+LOkxce0C(GumSUIo?%lg(&C(vdUnATDz!C1t|u07@qN)}YJsvFNoJbS z6wg<$+IVP(EwBuQjYfPF5}6Tv_gQF&zklp?`PLe;Dzim^{Y!($*Tina{u7#A_rfWtvfE4eXEyX;4mXcIE0OI+$j|? zjC%~5)#A&*j=^_&NZp8$IU_>_KiD`&gUKK%1DS0HqXU&LvSI)u4$5RyD_4+5;QfKG zU|g{S6tB;h8~Y}Xe_R0=9~3Jm6oLCbJ8(uUa~;C+0gqb^U(rjJfamHTkZ=lKFW^;& z;Bh#LdSalwWMM`Q4t^bkD-C>@Z$JKr+hLAN-+gUV(^@V0WXXeg*Jl z0BY7Dhj&iG-d=Ci&CY92#4br3YKO1+;Zt(O<8b+j2~-~f{t#T0j~U>8!$?@RZ{IFG zn251n8SZLBzCS|0XhP7aJ}`iVLPSostdM^g>zAgMZuvYkze8wm*+{m|J~yWb8jTgk zlWW(?U^bP%w}H_lfVt=D_1KuH;Y%M)+N%S*cC^s+8_4Eke8#}P4?8;3D* zM4xM8Bv+hw@0K0%#b@?Pc$JAeP_lanlxszXjZENbl{<%i!*=}QzNh8q0Nk(T^b7rk zjF8IUZ8=ref^xrc@Q4)OgVhe8Dz`D1`EvcDfO1nj!=&17oPP|j6Ic~Hx}Jf&PGaLa z+7cKq?w8!}I_zbT*leL@k`r_g~1TzOa{c#(afMqec z^2p~Q_8gQ+IU|*^^2W5W*d&bDp!sq#0S23s?)^jklJ5d&r`IR0uHgX6*WF5z`g2D= zE25(pIOgCp^U%i+=O_4%9%e@AB`O(~e}Xq585}@Aw~>RZ2?$*hWu9g#gC~i;Z_ACy zKx|lUEcU3qxO&1xI>P@9R&M`m;SjDdg4G|hcO-1%ez-j&LBrWUvd$4bR)?5E&fmQK zy*yXi_9}bS>wjvZs{32V17r4J;#AiwQMEy4{j-~anT%^O@232L!SxtDtI`I#>TT*3 zjCcHO$5YK)&oM9ViFPtqbKz-Ltloorn%OmanrGY_wUj^ZqF6wE`(ofA>-p-dugX3I zAlbTZCGuI^Ylp&|`#Z5wR?t8iY@7L>r`ZBbV$k-cgjrGOi(A z#L~*l&-GC=vD(znEAwJE=edW3@oP?27Czp|Kw+HYp4a)5s#h0km5mzXJ8r*2Iv{IE zg88G6h&t*K{6#>qhR&;PV%-UT`P!K@l9Zxdv+eu-4vy<}S}{Sq_x4-B{+bDsb^a*n{vHS6Kd9jT_~4MP)C`wQX!|vrjE_b;4(s1Xpyhu4?5IYr zT>&`_@4r<5;+$aK_Yn)+?IpNDlF^s@5sH=4s$*D*V7{Gcb2A=5+jnZ#>0`KZJN>j`QwZE6J)pwF_=iKlwAC#Mfq%V?^Dwio891R5x=DAR-j|V_N4= zWm$?qKeyk0yKIUsHLO0{n(-uX`q85&-6O#zJV_qm9PD?e6}Qs{CyOAbZE~Ko(sH& z2JNFHP?6lZNmno(D^evjyohGMBrfIUGL1L02kwpA${#ta7BDPdsbYyzZ(JgA%wkJm zREDuk`rB|p`0F3vD7RVW$3d);9Vp#;5q0PfJpGjPj-@36-`~P$gwR?(3F_{NLoXuB zPAPR^@Qwr21L-&Qj!6fcB8RY&MS?n&b$M=NP@+ zXoA?u~hMQ8B>>GMq)%tS^w0nXea&NMzVEF7ICm{4AL`N zhTnMnezi3Y_d_r>F(M~kCA14)XPeE0gqnROxB0d_OTPCVp;vF=>xxq&^3Fj_a1bOk zY;_X!a;5_66yfG@ zTYkrUw__j75@@SK@Fl3v6I@;=>5P(!)PWm3N}um+(+WB+qJrjeeYrkOo%msiQpqA4#|@}VFjBh z9K+|y4Fd_;5??Cs1c6M&Oc5SdBJdsmkC-U@{iFXXFD*6EVn-ujx7T3;g2_Vx=ed4l z8g)E@tJe?zW$on>*>Hun0aL_M;j6nk&XK5T5zU+r&u3%cnBCJ59URg7CeG+a*c-r= z61LPZfO}S*29R;*nHkgvQLkN5Z2j3zB|Zy+`M;su6E<*G)<#y!BGNHan9EExQm|qa zLf>I>p;K{x=TX)%6oWOTw@o&!HYZqwC3>N*O}`-i%!^_H58N+`nf*oTS>POv zrIVmo=ADe zeOj;=z)*kFT}zy#_6~{HA`T}}@e#02mb8EI#ZIE^sPTT0N>xNZoh*|%{Jjlwh~1Z8 zAr^0&lAs=xn!WJCi|T=cbxd1ZXsm)7LtF{QuMd~hmU?`)@$Qf_isJ(eMztA zQn#Q2;9e{7SOTZd{=?^t_mC!{V<1#)9Hv}j{rdG-2}3}%G04u~#GDg@o}M20v5)_> zY)LFrkjQR9P*!Wsao4ps312R-P%t60h53`-1Lv%$G-?p8@WhwJg*xxH);Ovj&Zjk#wL*f03ZNKL_t*B#MrZwTVmU`Z3gILV$Ay}ie1ILt7w~M zY*5cxBEfXiDi&KmU!doREjr~Of0l{A7p&)-GG$Us0ee$r16v1I>WjO+ zF?o9|_9N;^!2&tVBnDWlEWQWsi@oPBp!&I+)ZJ`+!0uVyB~SMsll$J@AY0b=P?oMK zZh?4)5mLc?{oxTTkuL)q4#`HQ1fUKkr2vg}DBO++hXikiX$ogY5Pc95kK?0qFE+{1 zql?OIz^srzr@OhES8bQXzE_oz8L$$GvPJl1Fp6f0)ryU+Mm%QSvgC370++DWOM(et zf|=fg>3A1C;fDhV(GPA+szK#4wF0Ykx@1g=RS6<&sZFkum?In>kOO1ltVi- zf$Jt0end%>U@ z?Kb>nC;*8Sj6F_pB?0MZ$L!hsd~NrctKS8WN^AhTWRJc}8u2*3I)q>cqt>ZW2;WBl zKA!5z%D+j!{Mra6k8r)HL^4iUhWBO5y5;?s?UbjUdP;^{nziqgRgXM%Kklx~ZjZ!C z^!t-1j?0UK2PC~=iA3OYpHri1@8$&Og9u=>x~)UosbkFapdm7>=sO);(m}t@BJ?Xs z;U~c~zui)l9jNF!{M5}!I+`p7z@@S}bWge^h2ten8*RU7`y6{g& zR>)7^@iXHqPj04h8AaLfh+?m6JlsTN7(kz|UhD~Be~dyhWS*CkKuLQ;IWIg`F&11m zMUwn{9T4^i0gx}r8pFP8!%97#5nCgeY;Zy1jl=sT1AFPD0+DYiAP(ca4!R1en{?NM z*{p&4^0IzxzB|KzjKp&9=l%>c0$vHP3BuiN2J}E1!bTKsLO92 z8Iya_5sG6O>BkBquY+D>Bu7})td*K_=E;!d{fESz7L;DTx)Kvjly3<8Pnf{vpU;Z^ zw+1ZGC>U=bD?Mbff_B!;_qIlRfj{n|SfFx-t(#W?By;crz^I*D)_ORwT9upw}_cQ3`x(Zf}D>U>Ke&5|6lI^fnHN$8FxWmm{?exCOZ=9piVvig>X*Jyq8)bS2-gv_`6E=})F0c`;pjvzcC~}OqZhpq(?kRZV ziCy(x+je%r#9scYtFF>}NrPlHuwpUQQfpLGN;h1T+v@&sBR;^kk8@Fze z2OfAp3rRNDM4{*8*j)MespDEs>dD=tkpz9h1$L^ssnh|BU1T{=*Q;AC+LHap?1vdY zjKyLZieT0?g6R|tlfikdoMCVhtojqPX;T-nEQ=n=aKk3<8w)to7DvWI6M?Hf(+D^% zW6Vv`F0%0yiq!a_^ofqPq$d`Aw%U6(WCNYCI;T&cR@-PfR4!x6SIetRy$dsn?oFF_ zN)Ha83AojidDn}@T>Vsb$GLZR-rOM7#r+_KnV3=hvcS^M?%8Afg~h6$jeQ_O~NDLCX_&U zkkC6ABV<{|ws4cXY}qPSFP28rXHL1l|0-wB>^WynpE+mdxBNLC&78g0UhBKo-uu6P z>%aahra{<|;3bbId_q32)AVh+jM66W0uzbbNBIzZAN?0*Lm|ZX)fa?n=elT9qY7x0 zmUf+<#uxR72i^=7^Q`k_OsP_8G{M4*tIu=V%Tb$Z!6&(L!F_BQ573=@zf2Jz} z`r^uzescL%xci{|SZt+b(3gfrX*-GN8M9mMg3e+UcjLAI-%>5d*#@gD?QWPZ-yG}Bu>nl-CgmcS2L6;R(0P5uq)eUY7E;-eTG z$M+{ryedC#>oYIYHMalQSF-g~7P;J+>Wx~CL3~?()E#Iw%Qoy1`^?$X@^I{I#`Y@b zA65CCt?R5!M@50qZwC-9Mbm#A-Yt70YJPYhd^;%JKQk&Xyz;cj#kZK_O~fN4c=DQ` zTf;5#2$*g|z5{S0>vlfH#g84!tPi^`_r{yy zx7{pt*g(nfMN|}>z0kYTEKtqlH-vKs9Y^J&3Bi<1@&i|m$)r{E16p_3@DI#Rsawg? z=4rBV<3?QH4LH%f;hw7(@cRiRkkl|-Fx)i)%$^tah^$M(_jqU%O5-le6@P4TPY{-F>3Zk}X@4^y-n zm;bwm9y4*H3o+a^m&A;bk1(^FEs_psbls})6E4;<6~mC%TyYHd{6{&|H49&wG) ztx-CltQ(UeAbYDH^l}*O`du>yULh!#dM_S1a6;6dKiF6rB}Zpb_V3?sBIZO~JaR0T zHuZhu<|{|k?>O9?bS9>!--b7BQEOlOgR|@p47q_=mIgF#RocF4_@&uIKAO0?`Dj^= zV0Yw&a}oIkhwXguA-LRSHlUiqgL2KK7?eAu-RG$>njU%N5g6mPEeG8OWj;Q+zrR*3 zU2UTD>>Tu4hgsk8l&F#CG~UkVo-_t?7X|^EX4>e9a>Ipd<-#??JEsP*MDW~=qfe<@ zQ#;lUX>$gby!hux`t!`Vmt_d6HCCW4GkEX=_F|?>3b-kQ`(5OFsyH+`Y8 zX~GF;TKXg&?2sr{!i5o6U9bB(I;p*Gtjutgw3lrZyOvFf^?5_P9UF$ zj_;MBSqsed>akIYrhV-$ZgZQx@DQAb_4{_jZ`X9T*&e6Cc{Ft#IRW44Ir7i9Uu)HE zY-nU1mB7(Ra@Hr@$ESy5i#^euzYq%9ZJRgAvE~+e=%I(?>x=By*f!Vv@PhDwn=wh$ zsn&_4JJp(>S|=!TF3L+2)*4vf=V|cy)(9e+m;2zypbNjzs5`9c16$+lX>xyWz^=J5 z^tYH(?xKTMtBbp6HM%q7z^lFTDgy6^(ZBi-&QI%UXK!q^Vi@MYQ`+@Ul@PO~xb(nJ z-K0Tl(lo`alg{5l26*dNL1%ynW?`^8Y;cEfXK!1iE%sqJ4>tQQUmKa&BREa~nh(aXZ~& zpJD86fSqd*#p!YAz*qO_252HzK>A*G{`K;w&wf^ZWA0M4m97Z^Lp&Ecdy?|lenfC- zTq5s3zTeaZ^Bt;`($-J&aJn9ua9F^19drwkUrhm$$9y}bXhetQ`RAh zj|N_f;+}2Bo(CU2^n^KnPsbcHXz6W+mW}IOi5Z3l819#92f;^;Q@u1CPh{7@7vvvW zF_WNfK!}#3$DfBh^}byV-+$eh?2fiBnZLAN{_cUtu$O>F%hEL)dcQVcaDoNo@Oh8o zS<F3PBp zv`|~quM@Zr<9KK;LEQh1m;uuJ-aN8hKhbR)?%nsiBxg*M0hGVF7Xbk@$`O3i+ru5H ziH4|lT70l!HTI=Y>mTJp0s9hgKSH~n#Y~INA31>=u4?whFg;tiB|l^4o(mzj2qxuP z6S4PE)cME{xcgbdZfed=m@3k8>con1$MfMO%~|QmKB)YFqfTe`aG%UT31?yxr}0Wb zrG31v%j;Ap0UGYr*)A-Vz8hdg=u1!yiW@H0teE2(`Gsh39 z(w0FP)$gvm?mENQC`Tg&N%K;x$ATu+SJ$s!FOlaDnw|GjZ>l0%#w$_ADAE~t_YeKM zy2xAxqg{=~;VC|Ikc)`mU3~1hS`>BZ)`gdu6fN(Mx_DkABI`85pjER5dFcM%MlQ1z zF!p{R;)3~mz;g3t%BD(a8Sc2_4p|g<@dabXk0qcrHb&*@OE;Ku{owR&yJKS^$@ogx z6SPidV-?i1N8LdX7En{Yiyjf`Xp({0fHdedeunz%vA)g&FnpsrP=kRN({P2jMmO?R z3M ziM7IPz4MfCvz1@-7{mJ4NHV{C;+N8Rk-eXzFyzE%!nUG&KTEdOy?VoIiiQ*(LTA6n6E?Zf&$P6K!y9)AQ%UHAnA} z#}B+@48~x6b!M-*soCB$J|Sa`nxcKZ0byw0a>-^G{KM7Mfp?_t7TLM)Q91fN!bR%f zsm?C`)iR_f_Xsd;d*_{Z%HRIr8+HLZ2Ci@xmvenXa>*r^$U82$9Gg+qOAA~wTIRRN zpa1HIW#^d(<;jPhGKTo@$ns4(JEzZ#M55i!(&afo^UnxfYqJ>b6P#E$I(W+X zxXUyfINcxb*9zn+pLsT-{x-DkFjK!HYPP=Qi|>Et8`f|Li)b6wJqcyi&#(_umOIE@ zAoZ;qC}>F0OwZq3_2u`a6G(TZoeFL-nTXMFFTEczhhhl$C!x0!0yB?8PCD6o0jA&0@EoVE0nN%i2$oC+e*NbL+u`d}O-1 z$zZq4LB#ZpLIYE!QSCUjIbgJ_sRwsUnYVboEPwP_6Gh;Fi$flU_F{HiG?JZ>&$HIv zKVbCXlF6P4;cfFQBIaB!o1muKaB%}r3N=@_vf{-bG0{U*`+gGDesS=meD1#c6b7sRHGSZL>?jC}R%%W|-_1yl8QcR3%G zWmILH52cT<+z_`M*PXV}H@@=TyRF*;Y>31_O#0gq9~r;vJjbcdq%1(#4gG!C(F74Q zbnt=e)@w8nr^#K6wpzPktqeUIG0OXQ7FeUCFQV}vbb`aWI1D;-w$8atkq&A*-NWbaGHWard9dEzb7Q=o*?nuAX^Qm+9mjB1g=^pVK+(h!}*Rw{52`&EEe5)GE<7UohAKusxaz9|Jw6b%2Q80 zCA~B47WHQ4%5>6<+2sF6H$w9-)OMGj29JRlD<@l`^3wxP%c~o&G-Kwut{v}Odj)=j zI+~&h z_TpKxefxIo?0eD}(RRnrq%>pVC4py>E@Ia?E}cNKvwJ#FL1Y!MQ8y!L(k<0sXS#-}YRq{2tYRi9gz9Nq;gp1RV zc3cdOFxb`0wu9e1a2qiU#9&#Ut%JBw1PXZsWgEooK?u*>??%qb-g5^qv**^Fm_Ze0 zY%u$gDTQ>VO{?d^IL4f-(ZbFy^IUpgo1J0B0wD9_5I(13ee%^ahs}Uzpry^uOt~#^ zb!H+{>US2B-vM@(yB&XqdhegP*zWwQDf8(W^UUXuQ$=CVCKRPJszq0peA>8_V`#XS zLXYQGoWK=VTp`!5K@4{{Md>f-)pk|K2VgYSxebsuuU>&2386w_gPlxi%a$#v0BV^= z>-wUBcP#!N!q)Lov&-Vqqa*!dy<%RD${#s$ME>Qz|B|Lqm9 zMVHCbPh%0Q8&Re&3M+_tfd{M6r2I~H^~vlu7-g;LzoE-9awbsbeiK+6FP3J zoN0ZCF4j~76%xB?n+7c8O)2M&Lo+U^ZJ2jq_3r~rSB)1NDWQBoIG zW8Hw}RjT2>3Y%l8&=YTgt6X4ltorzGf9_E^gSPK)wmbEP)i($UL4`AxG@If6(sVa+ zc54Q5Rg>T6N1)K>&{Q?*X}IUtpLkTI2n3#&s@!VoaI3-o#~U`ASlfM&3iX|*9<7=_ zws*IgDt}`g{3v0x&rELIB3i$lF~YM?>>6o%=^WB^>8)P)Y@e&qjL?`^{8RcMuQpD?MBTvw!+N=QKL)-Os^ZAGS0!ebEP$c24Kt?mjWn%Y8R!}-DcT91``CfzD^PxzyP=j#>THe zRqky)PyQ~6nSn|TK=i_{ep(k@*xWM<_v5)C`NV_Yk$2trR=LKN&&L@@s1-pt5`i8r zJL1RF7T?->_%v*|yA1S)8pdWTSDmR)e|>eoumiV{yFIZPvkYSQOk>>R??J_MOZ#HD zsNi_Ca~(zty$Rf7=(`VgpOM4UTjj8eP5!P|w#k)C2IS+jH<=!_%-u%^QP2CH+$Gl^ zIc>tYzWs_@%*;s}X2^y^UJb{8@4$0o^@dIIzO|Q09LD+(-pFWTNgzsQtQY;qMr$H(5jCR&fGvk}Z(G+;o|iS8#n~&Uc{SHFJ?!BeTeR?&;wGr%`H7f$1|{=VWMFyTnz& z$9>%&wGVFH2~|JC4TgUqkGvnniJU z&)c|PL*WF9X=nT8gjtW`78ST6=)KZ_>51K#aY*VfnC&ph&A8aRYIJgTeQGAE*PW)( zJ?;6$JohtR%KUMvDDBw^Sa;2ei6UcNxQ4!?;a)?HHPwpx?sxu%G1{%kZY>-4-Y_xN zHQK@(U;k$Fh*qOE41ZmHWG{iicz);kMp0~PYBlzy`Xz7PyxHVoLi?HpNy7&3x4->u zV~~F6%A1YiXWXWpG4;Opy-yz5`R&XKa31auW3`*AQmV}9^!K!B)8r?6pEq%&_hV6< z`sNNGdV$tWDX6iM?*mQMrN4%nKl5atQR)ZbGNI@0UEXSb_H<+UmnvmWAsGm8)dlLaG9vlc-h=xO8drf3!ggvsG9|OY&DjI;)&Kgc{K2oichn&bs=UMJ{VIG; z9(m5N3C)@>NmX8rK~}0iNA}wKMaBBl`0J`jsvSZ5iz;-wsM!3p`vDv}eAM)HG`5htH^^wC}3dmPYS17*bBY`CZT}!1~}|jPPcf|^ zTT?=(5I_0klX4i>m$3EKPbC=bdXw*X=@G+U*_y?qu#eQ!Lk(25R(*W`^ixCXOM@_k z>i1@57A{;kY{KDuow4dccu_T)Qx62VV0HC%$%79*D1Uii zyKz}tw*E3xlxL6bGuPE;#;iz-S@@}!PEGIxTq;uKM5F5Ss~ciN6bryzcawV`enRep zdtB#6ztxj9YS^l_1O2Pt{&27o-V*Oio9-em1V6-?$V7u!i4%ABfq4+Cv?UoRS}dujpwKw{r%;B z`r9LQn`D|&ET-TSbdK*wm3*caQ?*JM@6}evVz~HoXt^Vt{W?2`HNP;aL^I@l}oJDO#_ z1}nkCdM(~7t6OIvj&VqiVS!g4c8IhO0B@AqTPUs)z9uK_sSkDtieD7bBJ`tWQk5ox z#Ze)gABDnIhsY@EJ2?oy&h6n&i5)vFeJIDvx}dESJHVg|~tM4?&wYvbz=US{6{aF_sCgH-~M36^%yZD)rwxPjP>~{U$ z$9hi|R8RXFJQ3jZ;E(o~l)+ec(ebi0bsp z(hm8D$F|8WulZG|zKCMti|^`vZ|6RFWlmIjB8%ixkMEJs)IV?9zYh13)_?iAI0ooT zNVw6DQ4J!K?c&jJa$Kdepe*t#>7>_wm48JNWVEN9M1`dLPuo zERHdVP1=jk7oL7xnmVRScPH*eeH@}J=6Md5ZI~Inbo!j(2`$&35C=z+_1Mu@=f1Sj z{9wR^_3_Sj*qy>$$A?{vdAAqWUJ>Uz<#(uV#!Qm7cLN@@8W3m@%DoQXVh${Nxmovs zhmJ*K?nz%S4ARqQ2W%Bh(#Syur>nQ$(b?}?Fg%jU(*M))%Jk2PP}uFj&j}Ja$~Tc; zk7c~)YuM*|+(g#1m}}E;FNPY=sVD)B`f}Y8^ZIdW`|#x+efb5m_%yVz#TYKCdae1D zn`{U`^>M|^V8=uE%MOH#Q-fFiLEB)#-i%%IG^x+%a4Z^|uPVB+g?6(3nP;An*;ihg zx}d&q^!>8+x~=m0|M>i{;$5uh8&EV=(Nf>pL99~LpIs+Unrqj?#l(cagA0fn?7DU; zsS2Q*2C$J+#(r5Cm9S-wiLR3vNJuYKE^*-jb2Xq>oSPb(Mb`!V{_KS|T$>5gjc}H+ zUTKD+?lGv*t~+_ooHNrHyf%)vEuX%m(}gKj;?*@q+e>}?KMmvkmg`6Firdf#HwB!( z^~%fSgj_10`ogCq(WH#*Fm$s68S*^o`cwK>b*eV& zlOKI*T1Uso$R`z6+@qLPieUh(>AB~gliqc`(g1(s5lIKkSQz>8%ZSi||1^Gk7#5V? z?~QPcP^C8dD#DJcvF!|Zf4=%JA3S(aj>3@Bf`^YQeK_Clx7HtdN^FSQo&>i)NR+zBs)aD=-V0N_yM58-C|u zUG9nd0r$F{y>w;E(SP>t-)jcCbnXoRU)1dZXV$=f-zx~7%ioew<#-|&Od zi6?9wR-)a!`zd+<``<6~Q&DN^jX9}NPgHsNo0A9S7qc6ntijt8hQMDP-vjk{gM1Xx zB=i|?cF;soKNeaf@4fskx$%Lo8$;kgBjR7+1u*0`=#eHXRW&%@%!S=Bx^djsU%yor z&qX|LXwUH&GK*WKeidHMAHC^L`5pY+_VE4k57>Yx4z+$i@>8R%U!%7`@^3{P;xPPn zV@~qX(yM_OLx_s*c*5+2s8`k<9Q9|_0dei4>JM-K|eO0x*815 z`vZBK>p5T1g)kD-Xt>~P#B9{_!DXvt*^GroP*dAQT~IZ8#o5LdyMPd%d!Kn+K6UU} ziDTDJ2yKXn6O~yiZl!f>6K@{L?pQg9c+J-E-CH+JUV`KCoA3Ry{I?t4C0m_k&+n$ z1AGQ%H(ReEjjDlYHbaogdvvx1yU%KBf&r;J@ap7=u^F7mZo*otsOt*e8n=erO-rYn z{+#gPW-zOw>1CY%3@#p@fklJb5ITLMFx9tR%jOp$kF1V7hO&MGD;+)(cV6V)5^?4D z@P;c*RFem1X$u<}4v|BwXSluP?EixXR=wLw-Y?z@TsHOVpu3)}FJcItKu<+`%LD-BU#}MA- z4E(Frjz8Ddiv1VRFYrqf!aDXvwH;6hHzVimt%!z%G2d9XljgJCMlsj5-`4iDuSOk4 zABW%g3amlV_PHKPeH7tK@4n`x@`4_{M%D{2-W4YV)>@^qsE`^vi5PN}HV-2Nj(|=&{W==vBN=CJl$V4s(m5R!+^=8|eWi zIC*CjPia7JBK0}K@v0j&nze7^<>zuLW6}ma=c?J8m9m@U#wUk(s`Q85ds{4PJC?OU zaQ5WnSRZU%Ywz1tLynCJY&wRI-qLTBjBU%is-RSQFXg8+#^o@WMrt0jm=ZO|%P9B# znQ*HZg0~0!UR5I=Ul4OnwY95q`FPpY{mH|ZSX?^K4 znnp~oN_rhn9w7k{#3tj*7NLh&xKLqty==seujE7)QZmx^?yM_-B|37%0R`r71Q{T6uIr<9NJ^zQL6@~geTqhm8t5K3 zBqpmui#pgr@}r)k1L=D~k?cd-1nZUv*j=`9UHL#h$yL}4J=P-$CLzX zYQ8x6%{Bfm690OEE6smto}oA(f#=iyNn|BLgbu0a(y=d7sknti>zA6!nJ7xX9~WNr zklO?QF>Bpjn@-lq?yo@tKjaXAEm9#X9=wGLH}0ZO$}wYet-=fj3q(H;l5#aAG&{C^ zhbrPcf+&_n%ifPi9FGgGr--x7Tc5j<*3-CqJiKq&JhO&b?_~vJj+tWBPbA)u`w|B! zt4ma=oC!Gm6&I;Z!m^JOC^ddLd=a@^){%SO1Z@Bfrjy8SR%oN%PZK5AK3bpz7!V zx=O(=1&pgQ`qmW>Eq|E7Sx{DzvA1iNpyMuWc`0C$HqvEwnS)Z28M5xf)6~Z${U_KN z)w*3xo`L;SaZnaRtew=h#=Z**o%@N{-Gy_TW(+gs(dOeYq!CXPuXZ1%1m$5091VOP z$|T%5A9$h|hmr91odcV=d`(ci^2&>+QI@Wor?Jn$y0bi>)~7b}5Lq0nSIg(h$tDuB z{kT1{ETXI~leR=Mk0%)?;*Gb%^7euND_d;-Rv5f6I{QVwjPxS(C=Vjzhk|bvUyG#I zZEt!caeenR12|;m_RZ}Gug-6lmf z)iXUPd4(%~e*0~1yhBzbO?6myq~k)St($$`_-VHrir;cGLbE@qq-k{UF$W|L z5hP3E1;1uX*vYQK&EvNml$|DZgiz2Q}Iw$Y(}uM?YvZ5F&9PPLaWt{5K~ z&8$%Nw4uE3>7K>3AKk0HMr(9_n*6?fh`pCVCa|UE5?1RZ({A|*K0=SZ?AP*H%JTG# zZs%KBhYG371A|kupoJ+d_RGKr=bVIR@i`H*ib^(OCoc;|HThAng?z7vH_9o$&77B%*m#@0t`kR@1FQ>S_@k_!5^-zBSSC;{ej6?%b?=K-MN<$! zn?Hme#(6n7e~=uvGWxOTRG+dQnn-Pg1>JG1kCB@0NytP>&@keiXh-#6vSwb=KyIrF*e}~g?s_<5->+=i;K(h^ew;zx zn@(Lncwc4~6RLaR{1YIb8M0Z{nNw;|vJI?UNW7oUd~~JNc6ks!z}9N0y&a{SBS7%6 z_B?I7>2%(>_;TI6lMjcUT%m5QC4*hD#Goi zb#1h4slGLbMck<2eYBnR-#@Y56-e@y1}t(c>KS9QuCbc7U@MtywE9eUn&=9v*ovRa zX5@Qs)*Uu`TwrXn?1%J?4~-!-o1pdc;*yxKD{i#ad;m3CuI|-73h$3BYJ|2cnl9Re zFkp4W9x2Q@1uU5#;bYOLMWVgQ%-)V2h*VdfY}4}vs3O1ZAQsVX)EL9oBPt%P&w8%d zthk>Atk*E1FdTySti+iZtNTNbOL)}oR}SUAHJv+ zekDFTJ4$K57ZVwUKhbc+tsJiLz3u#ZAKd(Dz9Vh>0I@M9ir$mAC* zv+#ej3AZHEX`1!^cG3@)_growTfnpH}-nfdBMwzy+4zkjS(`N3wT%Hwe{v>SkK#5wFzt3lQBe9!3j#cFCz5-xJ zDX>iGs|Zh(k06WO!laQ-NbpVe@0Ywqt|DEk20q>Uv2s)!h_Koj#}C%3HZ^eK=CqFJ z*G~D^W&Q@10)Uo9tlU7A4)ZUQTzx##_DTztsx*uFS>H(7G6u|~OAa2WUtD8HV-$3^ zdtJrHR{Z1<0SB7ZZ)c*n%wf%qYEi7rpgrobFHG~iz8Wt*i`6O4QjCWR=+h%SzsgFI zXvG1juwoceSdS{VaE}KYcsG5Ciz!T-S9kukO^7vx{<5g;sQMaGTXm6|hI7H7RCsUA z3G*|NeoH6w89AiI%|Z90Ti`kg7blT5nM?#4@Y25G(?Mu2zu;~K>nKKvXzV8*ZL=FIrObZtG(Iw(w^pb9o9E2Z3S}m2 zc8Pxre)E?OguJ6xt$;cIk1J;osyG_hvQSLAB+u4Q^Mt=QwFZO{*)+|HB+G5@q=8vU z$*t0XD??=D(9tSH5_r=%QdMj?0|fbq#`3#7uafN9GyUe+A9d&_p>)n4o!K=Warv2(# zjx|B6gfr^pT4iZs9(qFIp$dAxpv~=BwZ`*yJ~0i+mWn>>>3ds}z6kx%} zBjhfDWP6#wI}FCF+LA8XCXem5$`}BM7szA8lF6qxwOkewO`3)*-M!t@$C|4zj&ifl z&h3)kyW8Ff6FfJzH+q(7u=u@YuY@D=OO1_;O&bLcTu&spV4FDITsm} z;v3mnK1iT`$GYW67`P=42!0!scaptdh}t*O96m4&fk3t{GAOZayo$ZTX6pQu@uLWr^JLFNj}@U8@4;golX~Yq{wH;P*NiW z2j8~B0Qr<6!0HPUZ{yX+DkBX_EsW>AG*L?FpU;`~Wh&V)m2n~^h^Gj~`fEdyFO6k| zmAHUBT*ug)S6qI>`499fuF)DcJs<3V1TT{Nxjs4qo zMdPf{jE&5;m#9BS%9nd`t;`=*JJZvA9FWnw*ahhv?GLk($IH97YK53xWaxmK-d!I2 zz>cX`-%>+Wg7c0jgsNEi6b?>_Eptz!&T1gT{i+IONRGJ?C*d7Vp;n3r&&8MnI4@7> zE?*{U?Bh|@1@FSyON4?h+4gh++R*$a)4q1O?PYdNd`X4C%{aZWEjeX_sf(8-N=nXw z@=r6to3iuvX^zHEXi9nSMf2Q`5P6`el(c_%*F4#^Ts%kG{Tf|`2V@VB-rff{jY>;r zGD54OJJGP_*#duG0({#$-k*@RyZQ(3*N)P~N7E@rY8vF(->*Tt8?n#TAaggZK6m^o z>BroqX$9@ATYCpT|3W8r-rl$4gMLTgx)-d%5dJgMjA6Su$`wBH(zUGfI%Wg0;dO-- z1FK&NG2E4bx5m1t{sVnCeH5B=UtMZ^c8F2}-#@%;oGiEbp} z=O^L)%8n5Dyl{}t*a^IMPUU2Vx4TK>^Fd_O$gE0WDg6;arq{I5I|Aq3_)@f%PTWl5 zg}qO6HvX(fUr5|W*PS=NdI$K%V$-5hl<e-)N z($D)zT0L8c-&BcbJJ@s7foHxo=pnV?_!eD0y=sW)ifp25-E~CH`DQl{7_gE1sVce0 z<1$<3*ZFccI&kE2GDj0s)*6&z!x1uWd6M_?UBI#wF8FldG>3A>c-?3Hc?2}0&-wdi z3Kiof?zjBZkNbplaM z5*AlDMhlGZ3y90b3~(5i;KXt^MG@#l5i9Ym1Z^(z7~&^C*7I@e%g_{WnmE$l7W4R4 zl1=g+mys8#B)5m)+wh~pZUYVtYOR^RdLi-7j}Sjm8&Oa3cD3zew^$u> zqNi(QD{y*D$Bo%@EuCn=9kf&43wC?sz1#z>C|A@<*_5?uA6dK!W_k$Zz`1mX_pFW9 zro6lzHq=~SS{FknE>nEjc)MJ-L!N=cUS?nPvhaJ$2@v+f7wB1u^z}W9i;$QAItbO9 z?6(lEs{r+ykh#J+sRnG@4_)k~1)+D;Pi;x3K&cB>$bnsE!pU^h+6~Af7CKINCD*jB zNeI5rq+a#|X7;aq1S^)%F2b>t#zPO-(2MxWX1Y=&m6$4^HLD|O@c zecER0-C`8JyR_D=H%Sx-zp9xsg(Foc^pW`C3f zsO;ua9gte)-R%Oq{MBBq-vHKj&HW$AWyj`Hz5I<6URhSp3}rM<)+1CQvzS-3)YYU% z-K|`r+lO0r9=@HHT(Mp_COLrQ9NIv49ZSyN1z-rwf_rm;P2qBR(~4v6gj*vAwvr3k z*iYYGLH#Au+uxFR<@O~k@f@^=4^t!p0gq6Vz@WAkzB@XH7pYs!!;|E(lrZ;U*wpW= zs8cCtX>s}ZoZKFk9De;Mk4BQ0xi#qYr>^Q=V%@zTQVF}X7^%s#StNnGO1!Sm2E=L zZ8NBkJQp1phv2>@}-RX)*0jv#&onJDE))&Z!+Vrr0_4;t}rSa0R7R1&*y!tYVJcN1oQ*c`bNO zOntN4YrbaGwr`35srvu-0*Gp8d0hV#MJi_JkTWnquyGWa*?rv=<{E#ecUdD~hh*C) zt?!stS{7Uw99b5pBT$h-4KVY-%KpgZ1KY+BY(+p3A)XV8vFkj5j8plV1k}F_ycAc0Jq8_ronN^21Ba8f-HphjN&W;Di zSIx1LxFsSPY;jd;%oWeNUr8%#(pPmXTs-FR?$o%lahEZ=*iK#snWz_28OHC>dPcq@4`MYoUsh+Sa49af7vza{l}E#3E`x(lm5fev*o(+(QoT0 z_w-j)!8F=I72UlX`3_@JD#T zz=n0c;9>@3e6MLtAM2J!w!ZyA=}RUnfh_S(kn+4PwD77KHZj`qJ3S@!;N|TFip{8v z5P+vRs1SQuSQ@u!TYTF~-$+Sg-4Vs^c6{Mww}|hB$|xWMUMw)tjvDrpj z7lRf;g*XG@Htlb^YAuo6AGuC!b9s~cyzVZP`ouP(M9u-cvW8s1nU$ay*47;;S^ zl6Ki&6m2|ME#0M*^Z+>n7P6mu#PE)#??w;tyEdC~vx3}X3Ii%x7T(uhWx-wfQA%J1uLV=wOi7c z)a^X=NNCoUH>T;ZHq%>#7v^|1-r9}sPj9-vD&IWF2+;|vU>bD(Wrq@gY z1->70O=m)lY&4@6t4^wGOO$1^^kqGH6)+fpm^Nwy94w*nFMMxI=(Y&$_{gvrENH#k zvC3@6(`|<}vLQ2rQ6N;}vI@UM2gCiu(oTpFR>W9Q37I-r6QZb{4{6qX8qVDZF_39^w@9R>Fv_FYu2o;vtQA65ZoB{&PVoW+yD;R?0w%$hvZ@U zDH5?<9Fl?e^o*s`FwcI}E%b8P1@H%=^I@1Zw8+ZgT+C!b?fUKO6;b*7sT*T_wm!mg z_}07Svft~RapaV{Zjm1bISr3z3Tn$2TOaEC5(P(DVU@q&rJPmxpW+~FVHBy)KMK~_ zv(9>q5hvAS1^-YVYY;tQ**sWY(TW7VqXWdu*hxC;8mnhSZ~L028lSdrd-aHxSqRph z;kH%vNu5M9tTm`}_N}*_ebQ?-_i93N7|P(V->Nm}`{6|H7Gdj^ds_a;6VZUd*>@k_ z0;^t9M`radA5!`ap>8r+*EUDytii*h0rR2{gfX6!KXSGo+vLyc26|hk}%VwFd|H zg$_H2{hbG<&RZ`$P<8(Wla@n&D~Fo|U##To;{e-Q2aSET`olx-#@6t~wf^RmZV{## z$1EaU*HFC%GTr#BlF3<6NDaAxp! z;ksQ8lF}LH@&4vz7AF8!NFT9t?o%jD#bnNam4NrAE9463mE<8>vU6v70MYl!P3y5y zcWMfM+Pg#Se189KQ{LJW6ixZ%FpW38-!8f!qgXhJ_8@YH)7Zs1yU$2ZHUPf?=#I&? zS-OoMNZ+ub->P47f9}^XvR zgM3BB4PsLRp6g?#!pp@NCnfb=s=7K9xwh$`SygNuS$x&S<3dQ7duKlRxh*R>pv4JR zYU_y*mnz%2C?~LP-1l%fi+3|58f~Y^>FyEw%5{I8#%0Nm>^AX6VND+J@nEO&v?^Y_ z2BFcevy#zO58F}YB(T)}%Efh|h02ff?8-D(TW31O6-*SY<|BM}+~`Yn_= z%{E-vT-2m2W4n0iH{xE|nQcl~71l;hebI7s?T$w1OZBt+>CW88O*15@+a7%24!Rxt z0`f$?yt7D#*fFo97NjRlHB)Y(1W{^dd;_4f<(J+e<%gJ;&Qa2!hbI$NPW=&j{ZL96 zBWL1?d{4h)*A>%Idz2_&b@sT~(YyPJR=YBQMplMMr7NLHpswEQKO;oaW0k8WaWfWxE&Kf{BNS6&F{8sO1F{vt_@1qz(4vOS#o4Y%ZSIT8+FZ{B#gl73B@lEK4#Kp_{C#}`{Kck`b_D;! zq{X7>7jGcIR+Wh8-;S3QUC?=F@WHB6J?KeY3Ckw#dtCR_;j1@#nL`}jl z!*;J|i}}Q}2%$Gb%SHUNJ@zKaE#sqkgVke9{&p5}0hO&pB-Q2X#JCg8p}q0pY^Bt( zC>-xH)C}$Zb*Iat2K6lCa<1gj7b*Qh4d3O#o+^+0lag)1%!yy{^74V%I{htcz2YrT znl*Sv855%gF`#BZBDK`jQ_Dzv11?7v$p`i#Ai#-FIFqkuoyXYylg9SQ(-EkFtH*9o z&KF42&`d>9lEzE8h_pPf)iM{<%keSo)rDX*rs_ehiV3n{TgxbCED8$DnR1u*na8|?`{(LTfuiP-)u0)1H?2uq z8vbuF|CTop`0g{%wnrlz*5IMo07ykQynvMqR`T~~gy73Jl#F3R%)Ns0QelmvQTyfuj2-{I zVlduQU%2Y-eDC9m{ET~)eDz2C*K!2{T5-)WitrS=`13&eb3wXu1sSty%8eTs@i#d!33yEJ6y?8!#GA)SrI6#CbV5gh2bVjpzlR65TWpNwQ;B@Y{k5gcd0i)@)P1tHLT=-?Ar6 z-WJiKkQ2vud#YDs^@6;J)hbphQ_FWiO>yN%)bgUOV{MIadjJ{C-ALvV?e>QCdRj1o z{Hwz`VsK1@h9xsvdjJY1O{;hh^^A*BSt)!nUkDmS`%M>0G^y`38AHpwAm|w@OEJff zx3eQ$xy%rvfk#?vbWhdkUzPkvG4IhReZVS*(7B!(79`C1mVCm@n>sb8ph?-Xs9;}H z{U0Tfq2}ypq48!({Gl{{h+P4nAorRK#p+B_tKNR%E!Y2Q6#P)wCkXUVbCCF##&S#` z?riBl;VIt#2$dYV=5S_%ZxzB=uGA0otupAhU#N=1s48qf-qDh*=&Ah=w+bm>`aVJ$ z-TzrSsSFa>&~6J<@`=-}@42l=ebr zA~30R#bc$kf;;eL@A`iv9wS7UFeV*8>OPR>0RH%fd@B+tMs@YLzV3>V3={Vs^!d+k z_Z+zl)d#QV&(4cc-?Q)agi%6q!#F+%mU!+~|Ep#hbEq4|G4l#7TI)!ZA^QQL=0>6_ z=&wx>+T|S?%DS#7e{m||2(d4>C9bsAVW(9w;?$6AUFvMGko^xnlH>S>Dv#aH?-ja{ zUJNhXYIuUnr7#6hxHsH%v{7)uEJXi*82uN8H%p0iq)Q;+-?mHtntFoKa>5t42{wfmF~w_85XL_k{>OzWNm$%1{8GB0ryKa=y(m+REZu(o z8cFbv+tG$wGby^^Yi#TT+Tna|LglxSrWw`58x6EpYpumtd%&T^{;*@J$0_4-CBa82 z(>?fJykv(NiJHeNkJX;=ePtbcM1ri7p=Bki&rhWEt)%i#zjqcPR0?6J{`yg_Lfbnb+B@ogvQS=dCpOmD z=vsB}G4=i7j&d3=i%?!v+(H=J7x0PvL|PMl<`y@?P~#Zpzwc=_k>gC2R-CyZBFY{kU+A8@utDe0v`2$Mo7* zwL_-qy&sMj_r>#k75T{ne7tw5$_R#>l)gmgEjNiS59afF@ObNx?_96yxvi_xp>!C~ z%cp-m`gW>cl}O9?rt>2F^bF(vJ*JQ0mG+}s<4J<4C@I)c@rt;%`(MES=SBv>7fycd zPd!CD%G2FzjA0nWH%#wOcNVOOzp(jCdpxdBqb**cB zu2#v{Lu0z0tJ^*=0uQT$w`Xd=vyP{ym%e#*-~ObXSCkeG67>+({t~G4P-d*I(sxKB zOUHI(g3rcx?fj5KzX8WWks#8>p`H}%?Ik$AaetL{&1UH1$xO$--v0<1EFuT{BIhVq zKu^ks2X^sgNJ!B3Vu1VAVJXuj!S`Yvua<`!@Zb&HGJS1{Wa_u^ZAqZtAg;P##Cb6B z7`(#I`A9z2kH5FiB?aG!N zYx2-3xW?X~Qra4*HTpq~GEVQOnJv;cbaHnUs}rRe&xPeO9g2b_ZAi|~MM;qJ>bNy7 zcL}NzYXw3x=Elhn<@qy;lA@uR`K*WP?^J)UATsw}AS;gsC$nCgB)YXHlw+^`<_nY| zK9%^r)IhmnGYKPAssAZLc@2$W?6brg)(t0_lCm-dBdt(P7O4M;f5Zm(cIEU9L9&6_bEayZE>bA(;1UvIweBO^dU^A9mP9=c zG#thoC#jPG8vLnr@sUri&Wal-0+r93!4%;>5VM+AlT(|nRD9&_c-GL%ysf^eX_V!i zg^5Xw66M)P=6yZ%0}*?#nu_`&ns&uQeaoibRtI)JlPjF3@>GD3&wx_K5{s9`A*|x&dTd^S@Slp5#u|C z_a*>_-^Q#>L+!4&dpD2b2Fp8!H`vZQ#QJyP#eE189;QA!l~mY$^?|qQ4f5Ff^ie~| zFww++fO1L%)SOmCcRUGNsEGYiYwcVQL^iW$5UpDK@8?P+dNbz>zfkX^d4byVBi`jU z=c>Ej&w_{#p;APTlk{I$1w|g4xxmv1(eA{i!sG&gg+)&(CUPDgp4v)#5u>pbq9!^` z3h^Y`*oHbIF?D&7v~u$pmhNI?eX2UEh(c!c4fFwK_?G6%4VPf_alyJhz@H98X^PM0 z8|lT}hU{us_mP5OCy@~{ro#m@ayB<1=>9z3`qF)%*@AD)OtVQpmYf+SCdRSE*FLhr zokSmggmrhfau&^eu`&@@*`=T)V3@s)-Gu7YWOmGnBqN|H%xacD$jBrIxv{wEeF^$) zqauoZq3DraZSr3$Vc3RhZ@_#`Ez=qO^7ZozZP!!7&Db@@{#dN>K6pz+f=GQ2=7ntp z?0`V*WJNO<-%E8m9&F`%$?jsMd9JX_`4FkrSfLJe!&SfOkU~I_n*lg5_zfNA`DpT3 zJf+8S-gFE?PYk;}24+FAEdF&Jiq-pfNd-|lrj@_w*zzDsq@M47Rtg>dWwz+TItnr1 zx%Gw8v2;QzI!rNel;@6VSdSg)kwx%nE_`s>(Pf^d<)ymdLe`~`mST;KN<<V)wIQuu|u}E<01Qc~h4K(y;-VSywo-!M#r6T_FDvCuRT0U&Ya!s$W zW`vMK;wZ^`&R};(nichy49j`pJlDJ(+wU=v{GO@Ym|YWO`Lf=bgH@BO=%1WtjZ3GVxY7_iaNt zYm05W{0!a;E!`@6v9?Xq5lanf0A$Eil;0#lY5eP}*W>x}?LMM4I4YMpKFdDN9HST$ z-B$rN5B*l}=n8&cfk?Z#G}r%(asKC*-xq4;eCf_RI5Pl0IzX~M6=O^6wl4cc;`Ms& zcEE;jBj0zNRV^3C)qZqJ*m ztQz#~isLhoylpeqCA@3nu~m2n))P|SQ;L@E_HZ(}i_hENHa2xWLbC)#7J8L>+x?-M z;ykK2FVRUlBMbxu;L%F@qtYB$2$IPAX)M7E`sd}R5O6RE3ErAR-Q_OtuJ#!fV+7De z$ovHB*`vy^d#g+KgWqRoJjUX>m#OX;ES@8Xxznm<1*M(RRv5)MoovK(^gzC7E0fYU zTjg2eRw!wrKX9;^4dPhHoeh%r-G zoU2zRM@1pIdQ4jF-f9)!;8#r6Y@3){V{&B(?JLkY(ezU=qqmYanw&g&nRNM{?f>}vojX1N-F^w3`g4Nf%2ZUh^4DEx4Ghp7`vwuu$p{* z--~t=2*+ceH)%eqkpRoSS9x8$?$YcEBlky%6&fk)RQ%a76hioN(Ro*tYjtooAhB!$ za(+EkdDu!wazkW0MhdqOZBT)esKrfMESp6*B`!MdG3*(!+Khwv6L=N z?~1kevK@3`lF2_rA9i#Ue56SrBo>gjtuYCYggrL^{wQ}B@+xF5EPoGIg&-J3E}l#S zX8E;s{~mh+=$zl$5MjYT7MU3KS{E$L-l*IX&C5am@i?HJ}-Nu z{NG^;MNT82HxSodcFEQUSH?(_ZF+pU-uzVWUD|qwCdOVA!X*`Vt z+Y>rHpYtsxM(~G~xME&;bQFGkK7r(R#US&aMU#Jh-}PnAt*Cn=$aCY}?u&H#MEtG# zm(f9(D9l}+FJ^3&$EDroes$rZSf8C0=jRuVF4kJWi`ncrWqfh7B}Ow$M*V-5Cz7KF zH8%#%KfOU{e=x>)y zt!r|VwhHHWW$ATFfUbYp%*FhDL|9wXjdG<1)#w)a?9`Ob4LEL>uE#y~$$Q$5f0j3n zKGjfA_Jua-c9L(C^5QjKtHwlg>}g`I<>3@k;4r_WMD(KdS?ZC!Q8 z7KzZsJ7VAQ;r$kU$DLg2!iEv?5Y#+CV!=D`WWeIj79*k~hAQ*kb3Ba|OA%-zh>^8} zE;T2rfW4P%Z@iBuo;+0Eqm_ztit|292$XQbUQYWbV;|ri9CJ33J3LK93j4ZVfb14Y zfFc;OkC(}u0ge#@C5w}={hB1h<=S0Z2lK0z%BLq5CL)q7D>O@HV`+b2xepYsuhMh- zP8dzlxpmVLO9lebUc@7di2W(T8BdrF*Dy`H!3sg&%nEP>L5ANT#gaT1##5xKN zz;Na!U)2np7yik2I*}3Al-VS5QmroU*-r4?fLIRZvle`T3@~AeUCJpR zbZr{f`1t0mavihUS6W#n4I)d{AclOHDLZd) zhm=`4-4d3MURUV%@ZcWan!Ki^t@`=bm-2!9-%wFsny=37Mso{lw;YNBSkuN_VIfPr zSf0SCEdQdc7$0KvfS%c0E>9f$)DU&e1T8cLjx}B)$Z`k^U@cthZQqrjxCveGz4!Y6 z0`xvnj_vyF?8kB*O|0*~2ajiqaImzTr4%982SaHm4O8L&F#mrVA{CSZ`Q_13%+a$c z-i%3ryrP$>Ltdz#8&!%c-Cv)466wa;(sHr(qZuo0xg{+PYg4=aUaE|iOVTyDzq~9e={rp#5TMm0zIJ|V$JmR^8&Q+j>Hz`=Z9l%t*ymW1bBlg zw>T7E0GOg?C6JT}UJ>$xo9d}TkN4Gri&Ti?|D|g!5B~@mm}{q@K?4o}c{5rl zvag=@W0h~y!xcR8=Leuu0v=_Lv5g|B<&WW+z5ih@1p%t`g-AO*LSCX~A}sV@jp(HC zH#$ot(33c!|MLo_WKN8+eyz%I$`+z8$}4kS*X~$e3>*Go?tf;lVq$$lsr&w2Mv#wv zhuCyt>SzfM-i^^I$79(W2kuA|2>uCTy+}@r3ML{E{c5Dz`HJ6$u8bfzt2;{_Erz9{&_(i+WyRu%ij&3JU1z#c&fmwI5O){Ce6yu zplS#33+RIUk%JloT%Whma3~n$Q5Ci*Mt~i^)vg`>p}rUsT={2#(FkxaRGP?N(s|y3 z@MKouJfA4Ou4hO3)Okq!`x5-D5DomEd`W|KE8<`LnHeNn(FOQ}1_4$YxcI%D<5!?c+L zaoJTgDsTGi$_6I^UihMZH)WGO(vjo{p34_O9Wp3BWZQwO)_`h9wMseM25D8EG7^)*5Ya>2*cy5X#-bqOp&8$Ql z$Mb(hy8>C|XKk`7!C_ypF6hvLQH0+Rb}z5FNW(%V09A{dV(MLHh4yUqiR{X9JaAJJu69 z(r3i#%D#X?iiMXgCGjQ<2EfN zi$hx0xy(D)1$xox`KQacIW>~YNc-NS{>1em_4# z8d7Xm7{rSa;)b6HVT9{DAN3EqzrEO_0l+n`fnSwV# z5n#uiHtoBbli!mIdGvGOXIeKwT@bH)5o7OBtdJXmip6J2+urHGg4UD1-{XWl{ZXBH z5N4p_Rzk%3lR4DRh0=IIO%mOUjD!9&WWIhs(F*!gxR5zp?2^{MK%)ufQNT_ankH8N zqaczGVW`qK1ZMH$uc`fpM0^qDsAXkqi2nL@hm6@A+2zCO&LP>a;6GITMOzjgyqsoF z8{T>i66C`j(oZN!DHrhp&3}zPy0aHO`RezY2tCqnWkraWApr`uz1vFn2IV)vjQSTPW;dQq9oxJGT6d81&`)S%T$KEldY9iyd4+)xvO?iP*7fbdpoQ}KiU8G zx8GC5-kYr-&Yi|# z81O=e*VnV|iqOaZ%BcAZI6o0UlC=8l>2Aw(0M026SA|b5>Ng-DqQCPX&7?mxi@B|B zFw1jf>%|=3)uRk0oGpkHL{l-oamX}m#8*8u_K zq;6M}k|s1naq9F`CkkI2iF7u%;u7ag8B7*)v67-BlD2D<2yktQ5t3@h(&!Mcnc#wd30RZimUo{BhXB z-94`uVW7F`(96qfketHW+WKN$lvn3D*K0Q7oDunAL`QMhRPcfOGaN&0rKrFU<+yVR z2cY}e<2JQmsHFyo48?d*hjVBsGX{Bl?SF`-PvJ*v*_2dD{2w0&yq^`RMZEMQs_M!{vj|sMbqj=gZ6l z=%hC2tl42t4B1hhfq_BddhXl7wd&&O;UU}3NaD=G+{Nsy_^7=mlRUPrYxbSaQQ_U< z5p}IZ;^Oth=iS@>f|s7vRNoO*oxSgX0$v%ZU%3(i$ZA8 z^il(UmQ-z20BX4uX}!#SDbZ5hJKk7(NV`0(f2nttEW2SZ)k{W2CxH_4g-3f$CInM} z4`nU8^4SleE&6J^zGFIW1?1w~!tV3D2a107cDbia;sT#5-kw7Lc+ApR?-TOuUzA

s{I_4XbCjtCG9aJ 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%0D$Q&87zPB=UeM%35v6- z-&(tAv$a+_F7@HgR+slha#1ej#z*`4Kg{1>?-y^&4IVSxGP2{RIMKgnZPtGU-=9!* za%jw%9kezrr&h*Io8^JjI-S}6HORviyR`5E?*3?fp9{0u%G4u4$A+*8$`W-%Qj^WsD%`-^?BhikwD9XDBaofha)0^e z{u&#spVR)y|D(7)3UWGhd0hPwB(V40L}7fBRhZ!oB;WWNBUTgdY}?(2S^YvwV= z!e!BXZ~L9hB5(K2*Iu)8pqGKer?k!wBq;8aGS|AnPS;76_Rvg&xP;p>DBsok_9Gy= zm(j-Feg{VEa2;IMH3}zAK`5+sX({D3E!boIyEF7GiRv((7{~8pI(Jtz) ze+$D{e-i^0WdCoGL=6!^~8PZE!nV?+XSCHp))`0>Y-u&~k6VcfW%R78|W?0qPC zJTJ)TxKIdV7m6zFPdbp%W|7av#^3jdkJj&8N6oj>P};?I^+~c$1i8r1vz4hnb1dbB zzy>^Uid+u+w%u8EfBo1unRa3?em1Fm{Z@oJuJ+#rMp?;G$Jg50tZ8Tc#HSN6HZm-k z(4HH%o2NGz72u(-qgWC-1(3Nis*K1Fhj1OWo?DlUuXW1o1BgE>pY!|&T201@*elI5 z{a{;EQE_YFN}BXRrk&^Kh<%+aj^5rhbhJvv-2l9Gp%8?HU!YwBja-Nsj~_ISPzR%U zl5ZuX{u4RmPGT)~ar=YyepC1`9h9Y%A-HE*%{et<=*hbh*m6C*ZsI{m0@%Kul%-

8lv3}oq^Jg0)JeC?`#KWyQz(Pb-ATo%w1`m zx2X+F`u>G-dkpRFGyNzwU8_isIm^4goE&OEun*VYNB>4!;P=pE0pfIzIYtin1JmGM zu0B)x+YPQKzW(I=S-z)3_5E47Qjr8660RNkPi==?zHfJO)#-M4V%eMCXQlTA*`+$u z;CkVnrPqmzd+Qtd~Af1b<)W7up|+Ka)Mo826u${TXQ@Ho{ks;SoAw5hpnDb%P)K z$$Iql_yjT$55DxMRR11AHcDOW{iM^TtBSnakxu!_tSbYKR&omkRT9r2T`A=^rMk2! zO`h?7vLx-tT6kF=$03~_d5cD*xbl&c39l?B%Qv9$AHJz>=k#DLpI0(v9JSl42JBHZ zjL(I>Z&0K-t^3xUL$9Tx9dcGP%77tzBEZHJjeu-gv5-Jxpi`&tmR(p=Nrp*{(o8<{ zP^ZLhsjfYHe7-OkXg?dB@qy24c=VM4#y`8R%g!E_!_^P)`ek0CjerM%_R*5{cH-l6 z%9Melz$bZ34824kG11RX(y~@vpZ?8HDOj=3tgPi30>i%%`tT!3mJ~fc&7)GcIS4gu zaZu8_=&7{rGIf-+UxbK2n7n(-y&CDNTAL;9p|qNNi=Rs8?2`o`W|#jep|QafE}3Z4 zPmG2bJT)D+9Gy04G5t@If-AsTz7VNUI548V>k_yIyKRbl`?pzW4Doc3N4O)(4nhGF zI-28s*V#$O-H&JffD)C$Wk8+%EFB46QaA+51ZJS+fbm-OPciw}3%VZ!EB&>5mVjLo z=bz67-RSKx56w(%k70rZ$@3R=l{e)O%}+rH)HZy`$_hYr5ZLE1iZmXw zy5r?ASkAIqR|pUTU7^`Kh-ByzsX(ZFOIfo6Zws27A-AEtJA;Rgo&}Qr9*e>%*O0T0 z_O<#}oRz$1Y$y(u0gwoRGrP1Le<3?xY?Pw0n#pA1i|@wQ zRJUDHlw7azZFLo~LU)i31Q=-d?cY~~bEmW0Z$v03gn&5&CLg3wujHVvU!1?75$Q4Z z_6>Dce@-dPF8oSim-%ZJHgwLYc4ek#M zj7JV{f=39o{FQt(xjvDBwaq5nXhQjwvaH$lQ0m=&covn2SB}`1;Pz(LAzDMwU@45c zq=#CD&aT>B!b;g4w@HC2TDBrY@nlpD1loK!HCHq~QbGBEk)$99$Bz+AQnLEi-2L|M zVrdqC<$SUUXN``|an()c`kKrDl|d0h9@uc{9JW%@=)?%^ifjCW9F)^H);Wq^ixBWU zL}n4du`=Pm${y5a`B&I=H;vS65;b;^?Ij3bi(6}a{MkT>?r@cWQJA@1rPI*=bw5FK zoB*yJ11O3S;5eAH7ri&}GJ=bZT_LVWk$0~9y&VR}fGhAgFcXpjt~()?@x!vbK+!)%Zn>&SaFQf;%$8{CSJI zif%*@Ax6vay6{*#K@r`%|~ix&%sr<0aK+wpyP8bj4{&^D&2f>@jRjJHmmxXfyZ z%m}vpj_DGD;tyzXKC+(|?oOg(Uq!R`ySC+lY2NH>j-Mh$_?r}k&D~)SScuDkdrZp? zU~R4L_fwx0cuYyJuo^!wri|Hn&d$#c8%@?6a?LGsyoS+$wEt=4m}04rZVTXqhFiNE z@ezgJA%Vx2a6Vco5+B*U>u*LAh0gM^a%W&#tJ{lMH9BrTN8ZpsJ#!9bp(a40*`)hN z){+W?2h9l9z%&SS2!Y9>z zJ`BNMh0MOP5=4ij>1f!X>wug}%X*B^5U(m?o{k7--NT&;jZ~?5i9N7+89KZM@=#dT zhD0rH2=oWf3g>1d`&^J*TW)VxS3iuw^WDv8!gYnrrZOc7!m7GtV`FLBMy0c`H?tg* zgsD-D!8f6fi@ccXxJ|n|5uVdI9udOev#qLzx9yN8ct=TxoRSksXaY_H&%TfM7o4HN zK}i~el~0LT(%$D0w(+OFfB<^ZP!5$AIj7jach@2js~e{}5b;+?>9o zj+_P9uE)R`@zRs15tjnlUg19T6azp8(*ox0{?~79-S>`_>!Bk#b<}L#tuoQhZ>U_O z3R=Pj+S|tK;s90bL&75#9}|jm*_kh*zSy$L#qnDo2fAL|RvE}uAw}Zq|56t!IhlG9 zR`oD7#3N)2x^Ex7I}yAZI#sRN)!_+{+3yS#eFZCL1`nG7p~m$wWVpH9HNqSHdbESG zjg=nBuOA-|t^)Ju=QyWtFWphVWzv4hJ8qcDF%|!U_Y_SG8SjI~b6TMstFz}gtf4_IK3XwQvi9@wX zR~V2)Vauj(w?TdRQe*`{`qOXauR8~xX=644k-E8xx0{m)ytuC#ph2-*N znUHH)lyvr0*s-x`m&|3KhLq;I%Xt!@Z z9LZ}xOLp;}m2~UOaB51YA7j?++TDIR3IF?G8HxklyI+ZkQ~v^=|O6-LJIA&x0tQWF(eO0 z*AXxUc-Cty%p0n)LsW7T?fbz@)OiMk#qy^y-+`6Ir(|L@hL?>bSvd24-q|pGvRRXLc0-1|Ctu z=PotBA$@-XKLnkr)-fhYBP`ty!s0Y@mr&9yO#eb9)TsI9Lt+M7Rjm^CZ(m0X!T+BT zP6SCaenr~puZW|A=0wwnA8+(6DF;@9YK*j^G4k7>GD#-C0qf~}+}K4pP0q{*dcIl2 zOq321{))MS40Oaee$yu(^iYmI<;DY7rW~Sc3ZwBS^xe1Rx2@ivD`W-$kYQUK6zwuk zGAj0pMj?tgvUWia#IfHY8<5`E5qLri)8S1+6*+-uh9VjG>lTlU`i!lM^_ zMhmNhGR34nD>y?9GyI%TvIeB5^3%)$E`LL4J@JfA_ftYMUv<3E(mSCS$0=w8(lHEi zIF~U^Wz|XN%3kPF3X>Wj=c=6w`hL6*ol=f@;sY5gU4nd^);Un`T28Q9HlpzN?+xkJ zRH~r@z+-U(dK!kVlB6G~VK&wxw!;QBpI+{zDNk;W8Usf05=*D=tN$8LaigXTPbIN* zz?dm|P6(P5+Wgj4(mPSh#Pu7%y#mqa#iM>g$)X5X`tOwiOk{ljQ9W5lkaZ4FZeZ-N zbo#E_;vJ@uUza+7AbLRA)dlr~=qBNu63^bTAWWojWj-0FkkdyS8;o%s%kDQp3MFw@t-(QY^Nf8Z`$)T7%$r7Fx3Mb{= zWRO+$eeb}1W5I!qdanBsS=f54tzvzZ=VyY@8>wG8_Gz3$LE?&~O3gI%f=bEhiL`MW zLH7Go+wfgTurB(D58}BcGn76QR!%PI=v1 zu#IfpKP!lz)886%7x+p31u3pgpoq6@KV#?Z7$0U@i(q@M)`9NuDws(7*0KiMz|9!{ zy7He@E3Z$4qCTYz46p_x+?&vQZ{mI)FR#ixw4*zYHcDo&u*yE5Fv9*BzH*AQ{#7z3 zK&ul`34w=w$QW+$I0XA7R}DEvTg#r$@-!6Kxlgcw;V&XZfuAr4;zg&!IP(a;Stp1+ z&%To-KeV8-ickCa1@rpDLX;?T_V;{fm^6XHv$4yLnG81W?D`UHRl3SmF8=yB8P6r3 zp)#$q&Zl0g?%bp^j~rc8m=N4k-GFmYqb;M|#=)zfaPeyOKffD|MBYi{@e7WVi=bn8 z?dKCaAV-o!;IZf;onwnw zw@9}b*YzA-e(xQ&qItu>8HE5O1;+4oMgQy-Rlz1pszeWIy%lrvJ6UsK!%t$@(2-PT zN>&TP89|F$lap{^F!RSoN>%aAo{tuR3AUKOuNWPK*a*`&+hudHR|F~!b#Odt04>h0 zMuq#x9kcRtSObQP%y$UeaCFp{E|u8o9co25L=Dm%ZRJV`>MCu6Vnmyj=af>{ENH0`TC@-9%Xe75}QTDoTb`VYMpT#rAgnOs~`bFu9lZowRCnd5Go zU&brk@^=DigU!~CBB$_3z-Gg2Q;LJ`{gx0xm=%pUju$0?vOz@-HxB$*?T@GYDgtc} z=}E|vb1b!96C0%()X({2rS1-n##p9vMT{!rbsF&De?fBaZ}`3=4_RFSER-6Z@2;`e zbEM1gwQMs<1vEiWi&Y(=@U0$;WPgy~N%5Cgv@$zp@ccwmR z8>3%Nl${&42;T{&y%mm@5zf)(_RSF<`12P=OLp%r;P=aD$4A;jNzOS+k&EFT-%7l{ z%(qA*^G7VsWG_nSfhf6UOpi=xSF43c5;`)iywpYRvAI^vmD8bOg(~HF-?wF zaNCo#L?k#!6kqZV4~;nV_y^Ih3(M_KmA^Joq*BPqqZOQX&yzb?9M6IJVz9;pLjJ!a z;DOJ5yY-ID*!n>L%R%f77I#hY&5*VHFy)kq@(44Ac+YkvgJk9N4Gt|#8`2%*oi8p# z3m^nP^dHv1pVNB@w9v-{tS(0e6H|c%8(mXkxdw^wVczp~e=HP$({D8R^JP#An+vpE zU|0n#Wb#IG*AI5yBit0@+w02Xu>42;G7c`)SVQeL9RI=9_3N#-=Bk8Ry)wP!{ALj` zOB^g^A146uOK#s>b-q~arrB$XRqIpA@mT=sq03HLuq>?P~I?b z7ciXy@1Gx@@T2!gxyKz>N*hYp-M4d#YA{E#cCUwirJ9GOq@y#ThZytZT`D;I0X#I) zT^bY}nwCHYX}&JzA6r~Sk?bYBoFTGzbSLUVD|#zxgmKsVC+X<{kkV*@$k9Q_9E!T! z%r`JAci7wv)nmQ+_J$cUE$U`w=~O%prd+#NBbw*{AMKizNXkXdA>N|OaxVsm4JX0@ zUanfLb!~=(Vd0sj{kPhSo2Pa(p$CQ%;J5PUUXg;+y|!ajc*b5pFJI%&?u7Xt6lvK`gO)hj7xDx5UnhpXVfbKW zqgx}C)QQdH(&bqW&k}!Ol?r#Ih>Wt}q{;`Bm%g{A*JZsJEe|hxFFJ80;`b(x2d`&6nmgR7k1* z&tsJTw+mtw{|^xgu~EhS|J(lWssG;b-)HsTujIe|T2bTiHTBNvB+)8i{?(Xic3GVV{?wNMx z`tbgOhi#Fpm8>M^dFXyvn394N8Zsd=3=9m~M`>{t7#KJ(49qJn#8=Q)`rD-{pihWK zCTeofXISVzOf~a<7W9eG{O{MGr+KY=#r$Va+k1lG_5`jq8T5#d_yhEsb zNb}s4udzS2`BT96WnAbFUJF7%1$S<)>YA{Z>VK}W=wRU9fM1SDGg1BzZJ{K@_cOz8dVOCnPDvjlT_`W8TA**WT~t<3%rQ-KV!XQt9SAg=GmrgsIBqYpxx> zzA@5T!GOVTrQPm`#J+5ah|;td2R2R%5h7zl+@JYYmSi*Vk7*{xRfMRI9N zH(0ulLLyij#5L%0!kq+V&TNoLCI8XebecB%MTMNrFcRu=!*3j13P*#vV!v+lvf3 zv|p?pE(;dvn7I~=#t^&_PT62HX>yr&@&fcvGykAdWb0m4diwhHm6yGZO&k(7P2Xme z5R0ashX>$Is>dHQ1OJy5`59ek*7oVBGO~H}L(&V-jjX!C;F8d+f!0pg}>vLBUtU?H47k`T`r3@*O#HFc#Jf@7kPl zj^sym^>|&M%jt=&=_ z)8DW@pRwNE?KT$*yDv8Qo;}O}2R*?8*Gnb|W?D17-v~?+R_}Ibu!C`?)el6g)U2$m zjvjRES~N6Dby)`!S-DX-yJ*TRC{+zGV=`{OFS3bPJLba)-$0fcIDnonF}_Gkc~C4E zIbsxjCfQd1xHzzpA^#z#w9t9A#pl;jqJeLN_Vj6;UXz>lvhR87Y99(~v*9g?_enbm zi;0xNyE;mrZkKWx^I_gX;duoTHr{RI7j^iEF1fU1Ub>Qz4@#-BS#@-{si!CWvHUD@ zf84{e6x0#i&*6%XobNKn;Q-52+DkR;YASm+k#467p5`B_)mOLWfUQrBQ!_Iu^}*fz zIw>3$VMvmQ>Y*JNK6_&9c1!zCdRq)t(cC4;w^OQ8I)VnzceBi?%5N2aNRfdQ2e%rU zbX}(}cX$KeThGXO88qLhSHVD5YNWD#J&Y<8ZU`sTf3{S7WS(cJoyK@-M<9!ISyHazV zmG6`2KXyb<21-C#M_hgL&=EKa~P#6)Ht^MqrLk-pJc!fcW+Z?cDP%Pg`_7Oa8E zmO-v~qD_iq^+ts-(~0^TU{$tbc$Tv?ZodW+B00?9z89atOA_psW8}Ao2G3T;6@Jf8 zl~$LB=CFddTbm1SV4vos=?=TXEQ%avqrb}M4}!XLKbMKp`&|@Xw|}HfH-%8(6lLyMG7zi?Z65pc#>hKtTQw^7%*DZ^|#Cf%R=|-uxR%zQxd3cJI^ICZ(jkgI9_d}K^++s}Be~W_a{#u?r59nKCOV`ipy^i9xhpou}6HNE^Q~FFP2NK0i zn6(EsgEw|@mBr%&eOT{Qfi7c;61KnrY^&YW3&HghdI0GzhlM9DK-^430JCCT*W86T zfOpyRd{*w>!U-1%8K65D=E~Vq_YuEZ*JC^WY(kbbIhdphyB-~02){GiZ-Bn>M*T1_ zlP!`>wk{KU23{`3W#;Mf``SE(tC@_)6oQcSb>+1=lcghs_hKmQA6qejq*R~ip6UOR z&=}_n7Op*F*KVfY3RA;v{lJ=gGr2;Q_L9ZOL$LNmdI(>dcmWd9OY)e)nyE ziG_x#`kna-lMwAWXKGX`c4}INbak>oton{1aWUx>^@c|sqaC?XPTHR=?6|nf(?VxV zn%j|;D>pSnxl9WhwW&1=+=`nw_wU2ez3-vUpPJ4M0fW>AEDClej@XK4Gu;&(;-2Qd z31k7b7(Ej%AHU6v5E7#O4f6H`q3~|Gw>EL>$cwdUkA4Is`ttnSJ!y<-^(S&PsiIb% zB~!xpGAOvAE!CDSa)Q>`aTe!A<^Bw2KfcWtntgf+kb4{V{_soB)ai$9GmOl6d9XnnCFot$;q0?I!<0NtaW+Up&)kMQ2M`~7auw;o_GCRhFkRa> zEvm)f54yk7n%C>Fumiy`9ncvll`q0+Gb^eLUxgZxq48uAMgeLA22a*$=XUL2$e)B? za*#^%?ixczdROCjFH}br;(twJP_Vk>vN&Jn9Ck6sSu_qRH!>>i4Bcq{2KxctPzSp! zR)iSUaJ?cmL`{|ZM2K0bD9EO|tlDA)rvK~wHW%qyw_n2JbV>db0{dT{rn9yDf&8l@ zNYLl*227?uG70wS!|fLB6Lm?UUcrmS+!zcz`HuOj{8o;{fP%qe27drq3b-X&ZT6jqsL91pF-l%vARzN-gtt42e< z%s4kE$bjGGDh0JW~34f%u3$M7M|lKTeiGi*q5 z5Fh-`5UsDp2EIpUC2CCM%LM7kf>AjMYXSk!YNYKD(iAhervXORN%@G3F^NKF)znAw zY}B$BvKR8)%cevy9+dicA$LYp&M!MeR%8>)VhATHo3= zW4D&fSfYBO6@;z|JqJfHF)~Ghc2cZOC%TZXyc$D6k5`M^Y0mk%xbX~x4ZF10`5jgr zy(CEA?xyx=q~skv4u92^jui3@tcl;ZEWEO>U_`z1mB7rS(fLAzrnMd%5FpWeiZMf; zS|qr3_hndxDpi%@gU;?D(sf~E<yG z`T&*8FVrm;IbFTY2CnQoSG#cDPd1u(!r>mI`%;ZlVFE5YZ;*Oenjyd|FFz#Eg@yBQ zhQ%K5^PMogz<_+&)!ObKFmj8X*EolXZ*vTNxht{b}Gh5}GE zhBl7u_kzyyQ2^ozVH%!9v_?{DakRMST!Bu3$l{42UrxG(5hEOQ_>UId2&TGqZVuyT z8oEpmbwe*(EXOIUe!Qi4@@eFY&@<38@D#JMIy0W+_>-V;5rBsCWflu1&Os$ZoftxC z;Vxg&71H?--qRVEngA5>h7WI167qB}rA`rW-KNqB%XD{dB!g_`y-F}Si z(dKuZUOi|z4_fkqfM`^VwlnxYmm)t@&}Uw=8XO&`AzNSLXzC_>st<2ojQw?z46x&T z@d|Z}e{}4_rA4ke3A-&9r~Qhtj(2#aaP%toRDV1L+(<&bw*%sdT^`Dz`3H!U%BATT0WGS!_i z+&G85v2dOk+1FJiIhfsDVtRYF%@yh&Ps#yvgW7TyT4HBJr%H`SME;HUaf^$&m||4^ zL@cP&3cdZ?A?v5=p|eiTbe!dn5bD7MS&zIPrCCeH@~csU`iT*;cUhUkF!jkVi0x5y zeSmnqY&g?2wjq?_Z2^ZU1A*H9cVBtEMiZi0bwiab(wwj6E$WE!Iq>28UMV%)0U}>e zYIk;2N3LwL1QH}li$8)Z5QNK=<;p5go&Wd=4QLWawp6TMA~%#K&}G@xpaOt4Vf=Y1 zN%>1~_6|$V0Ls%EPq%?TMOTV*Z$Ld-fp!SR2(x)JDFOr|)Iw`UfDy#4Ca-K9+fE%DQpc zAl*U8@}%8-zwCg!Z$x6{1A2mK{dN7`J7zH3tt%B?=dviTRo?pfN=6i~o4gNni)MY% z6kmc%=Dg`a0=2e_3G+UZjL&m9LZe#caZydIWv)7OeCW-A`z!m`=4DzFUM`kFib5W{ zCWc?zk<4+HhGczB-QWDNbu3T-(twC_v&)dK%IPn3DHbKjfTWeAuGLQc%9BJCleK=l z>+<9f*eX)ic)(Dlz}-!_y{)MqbDl3(;msa)lhwVv=s?F^O)Wc%=q415X;5XJtld_D zi9<T0}#WD`-Jv+eILsgHTtBQ_f7`OE&q=9n{{)IJ2}MMxHe-+OAE#Uzjr#Wb_p z(@Yls!+Im6^|?iRv83do?dl0htN8#+)Z`WRNH+|vs?6OZB~I@$>$?She9fo!`^-L- z_rR8wX0#vId;^}h+p4O{&Q8o4!v#Ro;7*LcQ$;e7Fc-pBia&mofXWIOYk2u03O;_v zvVM>v^{7_2kTOk3_i{_(#5=8*uP%Dmg$8?ytoa6UTf53UFUU*qu{(?nango#VzW2h zTw8>yOt(RSxu4c+#z%kvMe1$i0k+^)yUXTx?gcjKxqvs0i|403z})aiALw+b>inI7IL7icOhh!K^-1nDo}B`rKu~Kk^+aRB8t`RXr7KoF6iY<%fzW z6c(Ud%b{2}v#tNO|IraJ?+2}cAoEpgLWw^J%JMSZ<1;*G^WD~HI)Z7(_H=^srUn4)nPVEy**GxTRm~m#bweb zmrVf1RhUT1Pz_rU;h}w6I`y)uuts-g2-->GaUNpup3%0@j>E72L|*o=(Jea+6i8YV z-8637+>tJe6*+2Q zmAUt23ecQ?^^r}l-lBw$`S93yE97rCdW`8mxR=1JGn5nxp|$8@lsMIQ>L7W9OW1Zj zoasN9E*UOH#S8i=7J_>ze?Ivc*G{Fl;*oCd!3D>?+b@70DAK zsV!Wa(x5{gyzen@6=O0Vk3=Hg#WL%;uLoZ#H#)SQem&$=+v2oU2t<)nniD+j!gjh| z1`MhyJ`PAi=J1hTL>DExKh1x@^?6}TxZ6=2S;%d0JJ5ab+$u`yeIf!}@+H2;R`?*& zQxJA#V|Jb0FHBWO3@haNP8e|jhf$+1UQ?HWgUmx0+^|dfon&?Pl_obd_TkcQ)JFDR zb2D*8kWX<*u!DEi=rOKF1VA`SUTr%??N2Cl4gIZJ;VEr9 z!>QY3&o?2{<3_ewil8;dVjPTG2C&F;4Y#TiMt9qE0S4Ju@=1=kTTw=(43Wi?2 z#^1{QbzXBAK(J)_PUrQ7ydn-w?z$&?{!pFZ!GcvqsU#k9O%=bk02(uZc5VI6L_xd} z*8dlP?f{6b@pnBXs|oP~K+#)B3?Ub2(z%OxqGXf8j5qoN3tV0;R^B-bN7By8)s=>V zl!T&1;ft=!>AWL%crh%`R&osmJce-Efa1DqIpt@TmMsSDN}Dny&2Lt_!v<6qncK|7 z>Tg{Ou*#0@1cL&a*S``mAtQ;iFLZIqOr*7*#TV5&Vn2O_#kErk{S@ku<~OSc@UX=V zWe9{L@#tFrH4xmaEB(>?ooDr~4rC&Ut>B=n0N8(V-@I%Z11VN7$yEl#NjP;p=8!!W zBDraGDd$fr3N61P*v;5H?c+A;)u7r6RMRv_^*nJmVh0UJw7raQJ>{Fz^%_q^qu6K;vQ+nm?_j%!z9!b z@tT2|b|5sMdnnnc%6rpXA`Osxfn{2GB09Cvh@WL7QV9HBgYmu?W$18cQULJ8zrWhr zIt4DNi+RlLkCoHqTlZbPXxd(v^0lL2c)f0Rc@Tf_wpDV(TB?3Djc2f{?z~&fBi#^i z8KT&V0tkDTR$jL1dHBnGzSpBXcN0L>OCddV3wcWxRAiId3@d##b@dwa4aBIXzV5>W zyz@ue%*uw{dQu^pf2j3piYfTmgoQ;{ z#pj01N$BDw7TFO{P{oxM>T&aEgX&T96IMa3o6q|VuY$dF^@`YamI8GIa0b&mJpV4- zT+qPXfWNAfjPHC!BQob52^J(}GY+~I$nR-ZaZ2nLySvDzIda!FY=2l>eKH4Qu+V(q z?VuI9{mAoh(y3#stNIO%YzDp6yIt0tC$cz-&(2?`^(wwu#CK!YL3cbK^- zP)RXYrSTKfoF>8uTc13W*|+8H7dN_rGU~~9lh*Y^uW%0Qm5Zy{XZ1W9E`Y_+e2`{U zWBKn+y(9pw6`|xSj!_H}$064HAH(ozf>tgvH=FpV#7eY?$NjM!^>cKw2w*=YQuj4j zK8z~yx+SNG-cf{PmNiGFvmO`}whf&htxNBfkA>!%6_@;n`@x0wbbt*IQ;^#kC2Bk1 z9n;)&&7%mR_u3*n(V61@O`6<_UM#}j<&!sTu)CiQ&G)1D&!pQ+rc{+t0Ek?nZcI-o zc3bCRir%7;A2vdN;Qwr|TMkzI!q{Eca`_AW(t~L!$U*9Z#7!nNJKj1IV?PL|h{&&X za<2ClCI$nLgu^(K?C(~_F>3$-={ogOn;%Q6;b^t5Pp)Kb;75omlCjAMKCELb_Q*;D zRydclK~%2FzZTJEHmYeia5H@#Zj{Znd;N#CZ-Fg$R`j!^7>RN5jGCVWF%O~n$d)wk zvl9)t*)UI37j)h|@_VLY2E0Sqd<9Tf$H#1M4zOR_!D=Zbk+K!$3{>}!F1t|S#5qNE zDdQ8p!f~zP%N1rNlG;~E$LZKP%!kUaI$TG2c8M1eQTla*FPy6>m@x38DcK_z6Jc05 zRcY$JlgE-mUfH+)?gjWd{wV0Y6YDhbkye}7BZ489wfU`JOI3ZQ=RpwP*oQ)9k5ocUGTnXfn-{bSN%j+3=zPuBc( zNXbwN=izX+&j5YzqGNf7iGN@a?290dvf$t$%sy3@*|}s6vg*opI}y_F-yM{Zbdt&3 z*F+kgpYG+`T3gnE2~j9Od}{?65ABF%*WGzG&u9sKw&zD}+#eIi#o^GrUcROpWu#YM z(ESup*Dk`Dt*|W%#>4$h-|_4%Zkc^Mtfv;h$M3?g8}De^ z?W|k94^Gu?UttJp0U|C-_oO?&qQygN)va=UcFT?GD;~Qf9uUyAN-Cz$-DGCM>x29k zuSSeX)&0&vUPMPp93%J^RS0v48}EMMF`d(EzFF;ldD&Ut$yImeGo5ZJMIaePT7;sl zIbZXdWG9T4biCQsCxF2X@0HWy6-jOKo6^&h)5RL=L^O8tGrx;Yh_>FRguUI>B`m0Nx>K(}d41-|FW&`Ew7uF?AX;8UC;Tr2Eg_DwX42XYGBxabS6Y zSs2;_Yh5IZ$&I+XYh1G%LUXR%N4C+^jkB8BjC{Amzx#Q~NH(FgQtKG8%KdzJ_OBA& z>81|keF|&rOO%AvOi#)+z3+l-zDLqTF!e!)tlEvm!;$&>vjNj2cFcB|{@4Anw5d8W zo{0V4gLBE7wKliHv-+qb?gs?w`gs8~%?1ZsFoL;kAHu!lLy8M z-!CHo^LB$P$G^-@&ovC(SYu5P=Ee@st=p}3Z&srlWYYfaD&Gjg)}b?N#ZriUMby=n zWyY~lOLkdx4n1=jkL(ezMytndgMc_XNIdFadb{_+z>Ldb%3uj~uBQC1>iiWgWE~>4 zEo9IeF)u*FDY>Y46$ZlTu&jq!1C8!UtPxH3KNkL#ETrQg|*>*}mAY;vt38IMTS7jUB(2Z?n7-t)?izGnr> z{M&;RECtg+Y&QUHqo{Tb4{iL~+8zOi^y#QDCz7E#{MaH4Wu{j^2lRRZgNWtjufyjH z#b;BEGnWXj#%Tevgiy!t>8#_)Uv}}t=K8!3GI?nXuz!KOKBq01g6BJ&?;9-yMRV%v z2FBf-kL3>X2?9pm1pnJjQcVp5NPd1?eU@+FH$hMr7a`(xvFu-GU|0t;tz$wCXMu{^ zJr(<7P$<&RavJz0kAxx&GjgqBX$htYCkPb9-Q~`4ktxyNWH=$QPS$ni8y=_^`0r zG_;X{=1}WYTT#8s^6|RbsKRR?!%gwydbmC++sWu&Nrw!K_w@R-GJ_GWdN!y34m_ccmDqF*g+3l`U$d*~3xf2xbym)| z20Irh{8Lq)O(=htsVlcU9v4uctd&Ww9#eCdH8|3$7g!WmiKfy;x=RT{B zc;_(=;E;6TnQ({gfB8=lFhF0rZJ!(Qrl&_zyUFcWyc5*%IStSk^s)64Pol^!KT0ro zuA>L#F|Bx&I7Hn{tRgueUxQocJzoC9F1q({n8!fSRSFWI?kCNG!$DEOf@hD4ti&M$ zwoRWmZmH-Jo=JFNFwf-RG-nyEgIAFRF;Mc604QK}(1St(&x${ET6|*gE^SkNxAli7 zlm7I6A3UW!(UScqXz}ov-#kC#*qH!1SMx((NkPM0zkS9iR0Szk1;{LG0Ats zyS5puJ*4ft|0LLj*D>cBoGpmPBPW15b!83=}Za!LA5-xO=G@|>H_QG<&&C%oaDl3mu%dX?+sm0sMC^DfHxLcD2 zYQpa_nSwqlsq_uqnB7=cY#H5+N8jeFYW7>72O)zoI)vM@26sQ?z#M9KSNql)j=Anu zqpGYqNrb(wy+&bol4l3i-FZaW!)F`WcxDEz?B_!Fb$jFbl24f9ReQACnHep!Zv0-R z4|$cQkH#KNeri2rTpB$MWqV{0$%HU2$F-)$QMUljR#gdxKqPBop5B`97{bUr8@#|@G3kg4KUzAIsEG- z+nItQpW9Ki1#Sz&=w7Q%B%kI;27AR+O28%cZ+S+<^nVrL=(^Sxz;4`ys9kHL%_t~E z>==Yf_`Yx}DL%~sCfD9SAnl=O)tdstb32EWpx#4$kYrJHfe&By%Jd^m9MtpLftwYjHiA zXO|nD*V)mID|v9r>g=8_@Ubvcx!WVdm{@IfndvpV7{mUn3-4?*ezfn3O{!05me}_8 zz(^mNXVAq{7r^~4YrAnPL%;Oh|Cs{eaV&pQ=bjm8W5PIU=@^o^o_PiA0jBRhjKAXK6LQD}t;+e#vf%eK~>Nw6DCB`}~S)wG^nCjgRMZOuCI}7=4!hHqbOco( z{P50FrtHURon_fyIk_l+_ug#1j#6)u>SjPJ7%eq@yq+Ln75DY|rW zTyL(35K@t?Z&goJ(S%=&Y5J#q>m#6wve~Io?V-#m?WX+zG=ep?T}Hqya2@sH+k%Q? zf{h=GB77Ud>giYT z7(x%_+7GLf>Sev8UZunyTQOY1ZT{r>RWR`__C95vXMbusuvm0%(5i;SN{1cuK3=Dk z&If!8iq;CZpYLa92A=_Y?mUp_^Q|uT05>Rg3pK96fb%_NJAI-TFo zd>`-Gy~b^DHkAJg_^CfFQgM1drIR)E!9T>AD8$#JBX-2&;MUM+m(<>dPd$}MtjLs- z{_EqmXq2Gh%l(5=0M6<|bcWBB_Wf~l)re|(S+*YYHpL~av$aTO=5w>nQoZuXeV5r? z5pCAn?NEY1iNfOf={r)5L%xZgI_`ny?ei@t>|l?$y~;m6E6E%6*tNdMFe#3T$%!Ph zS|baPJR26siKi4?20-4C9TB5xfb)Eh>(R+ zczs2J+{>CvArx}ydjE=fubF$df8EuH=X%L`yUUytSYl~^@oNzW3G!`0P}%D;EQIsN zw_+++n8)| z{^|Tyf9y7^eXAuA3yH_xc%|hu<^0)|Cl93gTrT&mTyEKOt=|m+M2k*GM~BhA=@jGh1T3s^E&2ziX0lA2LF<28jiGRZZYiP}?MYXuTx&B=d0uBz-d$vG zx5_Y{Qn>WEfMWjhS!-C?sjFRTus}+_b~B3Sfet8cdu`2dhHG;92O3F}b3iNNSo;L2 zZni&q$^3LvqLdHoJ~hRZ$74;XDhg3A77Jj?w@j>7AgCCaj->IZsH(o*t{JZMy0#gJZn%~A@EnZ9?Q;JxShVX8ym?-QPQ1$pNH$wYxXa(7yg=d2vC4sb<7=nesroa;jS(^-8N{} zT{di%$oYOyrC;{^RK8Eo$}ki%8XI_-d9F2n!ec5n3=1a zO&>YA^)7fb3R-V0oj?`31(9em>|`}(@r0NwX4(h7U#!HQaR0= zT3%@!bf``5Jr3Q1bX@|~WzDQ!hm-^3Xn1Npqft*^3Y4B;owb*geci=~M9~Uj=cH?T-o7zT^60JJy4HW31MSB4zH6#nFY06>47x zs1k(J0HesyBawh1nP&qc{dn#bcd_(!M$?PEaV%bKycE&<`!e>_RIWjw-=j5>dPuG) zKu%yc&3UUnWi!|AS`a$oP}`X%-`bTDI{gP(k_UYIKO<*S{{d`AltUBWg=SQfP(n}C zQLo^q5Om@ku}yMDOq91Vokh#_by_}uNp-oraMObI)we#4;r;K|D{)P$I>r&IhpV2W z-t+gZHL?mk+iz|!LOG5hC6`)TP5ci452*3jPQR{8Nq(N-5M*F&KKb%+ozi`l%z+;N z^vJmFr^ym0^ec(A&U+h|Al>Ml@|Jwh!N0-8|BdqG*4dw386C|x^>%R01W&t40+i&r zN~9XU2Dt1){GOYxy*eVESLWs{JDRP=Fz>x`D?dRSD`--=Y=4+U323|`c1!Yh8IUr| zW(krYECqho;TmAozYCTq5=r`)yH1Omc)Hm;*f(}sxn77?sSK>TILTvoo8!?SWwN<^ z*lYL@|CsPk_6llng~@Z_!t}eS$MBkkzft-n0Jg&lGNKjJK1d3(@4P*W&-5F80&jUw z2`Rm3(K?vj@=ebz`ROeifK@j zDUqzySJDryAFUvrHda#p2gTDIIqs$RMgjkmo^$eihE4V1lEdBy9>0NGrw_!NoYaqS zwM^lc1G5{ciU9_2%Sr10j3Wj7_^U^dau^bH&ziatO)Z6 zNiN=5%V%Np@;mP1cGj5{!5b1Pg#BzaXbHD1T~;9&lGU;}JJ}j(8@HL$I~d}1vQaZBkL%8k_N&ifz(W* z^6$An2D7~TeuL|@ivk3L^#`~xUepmVXm> z1~GUl3JP1j=nkcRXKJEpVObQ0vDGSwaWBQL6BFAT^0qUvj}8v(=&9Gz@d1#7o{6$@ z2o+tZ+ntRo7OCRf-+>ez5)@l>uMD-A@!{y@n=R9CH5hnljp_Ja#CZ`WF}2p!mz&O< z?-$hEqK*%Xl&AU_jk(d z|K5fU!bL#`+$Nshj5lNkdCPjm3aJI=@!>1cC3Guy+s?)5e{~u30Ngh?I37G*z-7q( z-j)(7yrm=SSB)c65|yUxgWGkk7Pj=ExPt#^0+P#LPSdV^!HZq~HtC+`j9s(3IzFqB z$Esuts64D46DJ|GoD3?_NV&UhJbL{afnFfPYvjur%x@3~#nldQOEvjzMA6-UI+&sJ zbaZHN)%A&zdc^KlxW*>(xFq5|vancV3N%|6ZmrT%ItwfsY0TaD?22{GfW|lTa;GGhK8if!Uex=QXReLL{Qq%Vo?l^@!2+G> zn*W+3D5C<)?6Y0DH4m*?+gMx5+g5agg!~f0}LLaFW{Bf_bATXtZ|3dd@VWYo% z`ZqUY`afnGs_HUn&@q-U0E|ZFzv?fY_3p0`K}o*L6qSzc<^ng_V@^yh%zqcK2MZN5 z0hsi}|CtO7h{Q5fOOC{1oY~~Vk51RPHac#Jm6KUATEg&V&!XSl|)+~rb7y&WbU_^BJaOl7lt>0ALRJ8U|nk@ea7 zQ389z^M@cniY#0J^0odXAwng&Z`H2VGZdWr_Edqhb%e`rtl22SlbctVAV_TLXh3x9<6$+GV6SZx27+sMICZvU))Gx+h} zeNib*{MBFBc&qL4FNetkL@A)wm5#aF>CZeEl+tnUq3Zd=&Q~MjKRnD*`b%15WGmAC zkoYedl!sC|H#IZvZwEhlIO zU?MvB6WU6B@PZQ)_iz5S1<(jknu-*ZKO(;FcLM$ZiW zy`w%52exsbT&MO%tU4DPEN0nH8cOMD~WEL>n=3ntSI3mhPDg+pKdVLfsX3_O3gS1(bCVX)U+ z)HA`^>gE#})_RaKA}!@gQ*nxsK-+xV-C%J#k^)m$f()g)X~(fSF$ZR;yS%@%5(kw zfaJJMYqUo%Nr}0uUZqBfy86n6rj9!y??f(5p`dtf0ekL_{faOCJ41gE z2JxJx0VTpA&|T=(A?E2(!s* zi88i}I{*=$HJuUT={NEc;mKFC^OY4eNF+L_BgrR(S8q_NpmKNa6FD z-mxCP0yiel7zx`V<+yh+Ur-(P(HbT(b(0ACS-5z!h`&%-rN`^e!&WIiZePB!dX)?h zgolo1@_)4a&1+aogzNC$&51WrDPJw!1R(*9uh0s?qj^>ytXAtSZpXN{ooUCFCcWtM zID#4j0|Ta+7pk)ELqT3t*(g#z+i7Z=2`=k)BmvmsSTcGXk69I5%id3$q zSw&1(vA&OY{ku}&7{|>>di?bjCo$8y+B(T~wDfdKjK*Pqp!TFXv=#3Vm>}17k0;|d zdYv4UuwOj&`uPryz`zBE@Q(vr7A4oy@XhFlGbn~@F$``xA6C2> z0M3(nf^xn;^$=0Ex<44MfY zzMln5=Co>N3N=XgD38@VhbjL`#F4D8kj^_d4 zHwCJ3G-_Yw?~j`*(Gnkm$WsK`SFlFLQ(@a7(58hjw|ZQUYymn?J=f*cvtKRPM|w5x z)CS`U?JLZqw&uUJ76c%Tu~ZvHBMTiA$pyGjt&P-E1r{H0K-N%2cG9 zm?VFu;1n0Rv@tQa)Eh)K#l9kt$x!d&E~+Qmf+0({)6`WRM18?472yELo(l4uxc5@3 z_X=Ou89E4R62H=F37KJuUhfPUq~0Yq5pD4c=B{+%5Cwg#x4=Fw)D%q=cURS67F|9# zY$C3~Jj)v1H_6-(J&(Fma_pn^vt{$oiQ;C(*9dsr^Fl4dMRyv0RZPwluo{~9%8>9wbVuR4Nj{)@= zSB}?R4ugS|kCKR=7TXzPPRtoZ8P-6S?^cFh*->iEPck3vM`c~yGo^M5#2VIBl9G?> z8;=G~Jmni6|BXOAabWR3nK;%oc4C%@NM-REk4(cY3}E1^$ZUW@0$+puo`vap6AkpK zQJ#I1%w7pOJBOW;6fbumV2|3FqRpT9>Cn%5AzwFUBy1ku#9qRC)E^So@|10*2G z&zAf7FS7;Dd;MA(BrF>+Yx@+ti7XmLW z6;ZEo+gCh3@yGs#c3FH#?i>%8`&zU~?_e`eUV;|eD)@k_L}%ca&?+}YRjKt1iFC|? zIyogMM^K^l@t9W|v`=>r67k7oy4A_Mnv#?xu^kF>=Ro}VHCjzmb70G4H8#rk0+T=k z7C;swvl^oNLtppqMf^KsG|80DVU&}N@XE_YxZDa7$#s)OtNdsJlqcRG%jW{#^>7Ewd)-g&_u->4%`d}dH| ztl~@j|2IKp`JuyX4oAKO`f}vh@a*`)^$uPXmJ0dUzW-2dDd4d_v*?QtDL7i{$O%pE;td4usAN!2f>>9kSXKCB}>tt8-V0}30%Oe z?yq2-s=IgU)_d`2eB$QAo_aIKybFYd6-%nVylZEKL#rQa3>!falAE=ZXUvDRs7p+V zdT!NeSzp~kSDcnTE`tErwBd+o+K+&dhH<*R)MX;do?acbWRo z5nJ{(|EbIfE5NnmgB2o@o>Zeym^5t13RiaS%Q8^&FwOE0Mf11BR~ugN3(>^nsZ(YMwl>Ohv!?d&71h`Q-D|vrF?6bFAr{j+Cws0=qF2jYCY$G{Ba2ah5anp zrRBO(HwGf#DYBcO4&yBUQ&z&-E$??yK14PsDoz06%n=v2nUFpJ@rgI*Dh>{7X*Dgpm=P&;Tj6kiyI7j? z^n>{;F3HvOylj4^x@p@o{OUi4v3vh`==e_>bOKg|^B;>jGNwMw%z?m^FEzf#>1?M- zEX`9qN990%GD`UDR>g41%0#ejoq0X9}%j!2Xi)wJkb1J}`p}dUK^r@< zj$O}Zf7yZn5<~eqJp9#X&SIyZ0)L~B*%vS3 z<+xn>>=HSS{Qpic-Ruj3Xg&NNABeYmw6|0 zlR%U$J4;3$lw|LC@n_@Fc~N6|%|8e1yV|I2f$Up(^~<{p*#kp~gg|6N)}YBfA&9)z z#goZ=_odvgh~-!nG1<~8X66<^9!p?&&_;3@9wZ1Tq7lL$-HGV}9?|32nfVlXcNn9_ za|E!8+q@yY(Yp9;S~qv|nwE9=f1Pg{J3J#n`-EiOADx8A?Xx;2vDW~N_`Nv5a*o}> z7h~l1TUAvOmA>DaCVu-)q+D5Ba)Dz$b*DF zpTi-{C{m_`X(}5nuu}-(OTTYO_@8!4@?Fml$)|+g$f}WIG2ai8R)b)YKJS+OCSxFzcx+Fw%1xk5k?c^pJD9W12|P*)9eM_ zTZcHsm`CwzK$TE*cV7Emzr1~SsRbRZ_kJ64LZ^2 z|GO0-cp(5!O%$Hv^l!7NVg$N!(twR?%Pg4|d~mf~u(e+;-B36mri~6^*;1C7>d4kS z@Nrrzf0*2)-mLg`_Ade6@L~X{5d_ik|D*$RaDqv(DzDgqftH8pzbS1lE=xvq9?-pP zdLDXJ@`PooboKOf3XPyC9l`cAMOld6v?x&;+@t|130jZ>e2@R80{`!K)PsPFs|yK< z=>0}ABSwVQsNbwIg9?$XhPABSJqEC1ptiGO3mY%)@>~s~eUg;K?R}p)u8lCLbXh_u|;1(3mP)hp|=w z>N|q)|9vDO2y57v-3XWeLKsf?@orswgv)1t-?h6gV@OREzwS6NZ=?>>NO!hK`SxWlFE8iN2XFNQp3o*RC^fIDX~*c;)dR2RWdD{Mrbv`*gC@su$Q|X|l1Jgxm zU3yxSeQ2F3QEHYs&DPN+PSI&|V9I1&y!|@gs^i8(StD+uPv6_4R7sn6qTSg1dMxX= zt6j*@SGza#F|z-E&_aa_e@MMmJb{44L9h*kT>|Y-ziIi7*H1}Lf3b^720IVFGvjM; zpd-HNxDX#ETK2uNg_X1`j6qL23I)tP_Bt;eEpU8%njMbP;bcP1T1fU>Nc_^9kOWWF z_6hqB0j0t!iV9iXuU~pF8LQ|npank7o=h3uZ!(7jyZk1DI@(;dg9r2f>yuF^^hIqy z;))45l+92)${vfT5(pMpY>;ETrJcm*j-rNLj=?S=L?$^v0dXre9v| z_o@Z?wbC<_>q(MqeI1emd#Mh;v!c>CdJ#~5bOIWHrEEr- z+u=+f0UUR?9%ZvobssT&v>4^it2s6qzPuk3O?6 z829$S)fKwO;+vABLTbNV9K@Xgd%k*~;}ZYt^XS*YBMqI;Q&1 zHGOlMga4MoHn7I)+I(&ZgnpcIseyj@ihG9laKT?66Qb-oD|u{hYCAGU(bf)L*-nh< z6j9B4k`?mLG@R89r+yV8vnm|A_sQI9Hv03ny=!B!TgJ1OI9!nu)ucn2F)d-VrsYfyfw#c^^mM2a$H@bfj8FTjPeG<2Zuc6sh+=-Ys`pRx~9LGNPsx@m|QGpJA@{x@c zSVZ5(oO3Ro4<_qsQ9|AcXs$K`gT)9FBGTEI4O<)ibFp_xFY1hSOLnHpv5{k>#4H@{ z-?3vydKOro>OyUnF2Z^{RoO1aN}s|%>8kF2)KW~$fCfp_yLr9{X9=5sSJ6?=pk3JP z)*ODKSS$n|od!(>#J@d7_uBaP)WSsMUjCD-U|oSnf#+TRV-b^!+&n|iZlqICZ_Q57 z$*Alh&eDa=vDbI_zPEvLXTw>lcD-*bN$GF1l|n z_z5$)c6-@-j&6_V5$jb@qoQB@yzHbzeq^yUi+uV@|4+O?z$ayEk--Z;tROU!WHVV$ zzDm>uDB5va*TswANQG2m?K(;>aiPHPM;`C634or5LGJ%``=Q^qQ=Yn^Uylnwr8uQL z_ZB-QiqyyzjrIDPtL=k7OFW<1NWg$;_0s@6>r)VUrA)eoW*g8TA`zt;2GR+o1JKx3b>lQegJfm8tVBf^{bHm$DZR?ydfLBRXL(Gc2i{ z(vg+VVxV+HlizWEjUFG;tu0@4vu=ShdBT$_JNcSQsIWhjh?dPMjidb=LkrY z5G}R;qD`e$RdS}f?welAL~+OS;8buBIN<(fQO|UfUc3mFt1fVy$2nMrr6Payi@5;Z zt3M%(RkNi3#Sqw_`Y$vL6o|Ki(UV5LEjyFDIb@4LKf;&*iAH|IdS1*D-*QZvGY+P1 zWc#9yNCaIA&&#)@zkB0flq%YI9pT?*^ak-6rV(7jAZ2{Z;UX99+7x~=eQCU#-s=Lw zX{OM-+X$#r+a?3dGC%Imm@ms?Gu=ERVpzb=;+RidB(7FkZ1PC=i8&webR38Yp5^+x zzW=rk61Ae?)O(xo482EEjoFD@&Vr3LW{5dBLzOSq%tFP_tUrtB#F8N|FY%ATQknKR z%jq1Z>>dY`tvuz# zm94iNdyHLg+&l2pM&aH@weFcGD2ac_1JCaH;p$0vN|c~XJy->Bom#-ypBZ@i_19I; z3Nc{QOD!24QY-QUSG&(?W|Z9St++u@gMC~{U$2OwlAZf61-bK5oRXi#DOY3d&Ihnm z&SgYE)=kz}s%KO1Xh!tO)Ej53RdQM-L&v}}Zpnh|>rBAOes~Ienv*S7f=whXjEz1_2Ueoe`T7Li z`}}e%=G)xReR{BIk-{70H}xAjl>~OQFp{QNiyTjPHv#+mb{+G(nmUhkn{QS zddL6LYAX-v-4I|vBOqwPi|X%>lZE5O^#DL91lSXB*CRcWM9cxB42)W>q{u@dxcrk2 z=W?m)2A#V^q5>%g(*_JM&Zv_8<#t`9|5j!r_Y8K+=NIu!v3GM9e`u^hd72FRYRwqa z1tLDqhj9gl^9K;f0+{-=AbjEai=N&m8Ulhx$QIYuZ9U{Ny@xJTQ0=WjR&x@u(f z@^@^#U7Z0ec4lT$S}VuQkcb1jNf7U$$YY@sZm$%;0zLeCO5{od@t~AFgW9qVj4fz+;Uj z6`)`q|1{>Tse+ci$eKx2C*$ceo3;+*9 zl;hKRBHT}U#R(1egX75vEWvtTpQf}PO1f0&&Q_b2dkc{;iT-Q*lus>Y^4d?77 z@Qm1*CS?s{1+D#3Or7R*;ET9SAm&lgFRVF__0eCZx@GU!!xe&_HN7DE*o9YlcQUWx z1s-%?H)60}E5hvcZ7n!;=d9;~SdWDl*ce9~&SeZ1`LB{#(#~fqzuhO;+WtnM;;ntq zGRmT2NU3YziSv#WISCgJnBrTmfG<4%IlmcmUCEIYx^gx?ya3COVq9Jh23@btyjHig zLDzv|EsgH`N=@0t)9gYNnY#TGo8cv+32CM;Cwfj1>@s9eNOjTo($IGCW&6urbhfr` zY)B^_aV^o~`N0>SAQ%BuX8`n#`VZB_`3eRO0hvZ|4N+Qv7wi1}Rn3W1HNe#@vC)RK z5OD$lz7?=3m(zh3$=eW$*7n`GD#H$&^dAR%3~w4GxV!++`SY-*$yMDS#I_`_6WrPR z!-evAe77I_JUQTRtoI&eI!QI*6FibPBREk2$e3E5plVFv^Z^Nbn6oi~QbLLI^Lw?6 z{7E{XdB>moO;zDQ`MY%jgwU)e*Sk=*5-CP!+$>v7fTeR|*qAuq){MIy`~TEf7eIlQbkErzjT5cHXU zFy2$jZQVuI2GtssS(BJ3HGtb7Dkwb9V3kufXxfjGt0;x7!|tX1KEWk$H>YyQNPJrD zP&!UHqasNS{%~H-#JDGPCX>rz5>429lGvJQ7#(W`Hq<4&@8|#&$7jf^wwo2cw`R`^ ze(kv4OI06}HSN^D=pYqO)->&gI-}bm{f&x}Bd1z8;e%GA5Hr0%^>X4r_r~kY-8tAl zDfIQeFD>54VVn4w+X5pM*SlB^M1EH}@_=8ux8+@Sj9u3HeGtKF+DcRXi?Y~$t+`xuZ$v$D< zL!>D5%;TE!?JC%llV27(G^4FMKn0B?G@0$LSJ<@3w2~y>vdPV-!qot5AeYD|^HZPw zajOpf&Cv{lxwsgpWc#XFhcInl1O-lVjW!EAgMmS7;_p>dMDJI2U+)YBu}C~)fV+40 zx{hDsi$U@ms?{LP<3VGGpB-eOePLWk)Bh!T(gipf>$%>CDf=>*n-MRa<-@}1>E815 zEc_@&EjmeY%iKR6L$Th^3Aa;U`y85#T_K^r9!^dBG*8j{f+i_^ z&#|g`hzh5V4l{G@ali#>U|2eGp#=B95Kkr3slOvni8w;US7i776N&W^L#_~w#l3TX zG&ssE%wZ*rhA135 zhifq+y6_Nrkn2maw$n(e7J|P~yH7c3NcAt`Rh%((7j6OaHQk_o0|Un=@yp4PkW!J8 z16Fur-B;;}!{T`MYh+e)7qrDU+@7zpv=k8y?){XcGukMs%i;|Q<-xH7l&{dY$6(b4 zOXas4i8qTu^4FCt-0R_t6gG5E(<3|N!RY&PiI+;$JeQ!;ukJZ&S2j5sJ_I60^IwJz zt8GPAzN<^TlrIn;kk%lEF^&?lMg)#e42JypUoXHDDdQ2W{#+x}^3UcpFBN^*3J+@y z6+!%Ap{wxPqy3QA zL0L|3dPeZ&c^k+oJwX3(t}TrH3-^l+XQT6PoIx0k78?eSiPN;?=5n z2R0AZ*g`gL@bIdS#|)Z5{^(uGZ4&)b0AI}Q$by2``tqJvO4|sPxsvZ3HGSvw%`9cd z)N&dbFkH-3@1%wOUC-@5<@1H=x@+K!c-L^PdrF7KF!ga5;Jv=}&~M8w$9 zI&shH6HnLEI(7}G!17UF^u;rtgF9cBND@ixT!X#a?C)TZ4&(6)WPVMzfGwUtwRKe( zY;d-SP`v3Db()-Whr<2W(a!}3%qi??i1MVm?+NMd$XBM@=;M?;n*a1|roYs=m*{y~ zR>BqH!w^25#-#0d|Dl+0Cjb6|#Rwg;p!g{-&F5yv&uajYaOG<27zyNO^ZhV%S{HSu ziPWWgEk8K`GIG|1JHy2Jbl>JOm7gPVfm{Lw_kpa{{vn(A5ky8?QO({A_5>yyR?dyT z?j*EBE;jWB%AFkwRBSZcP+k33rygy~Y`!;1I zytC{#KHG~{DXuVz)MCH6NOMH1hxCQ_FLG}+()IN1P%+#b~da8U>#4WSH z##&s+`-&^ny6>o%Wx+>(*YTSUmU8ynWgh=Ie5e%`7V4+9oa}EST`;lX?cRmZb}uaQ zItTPDR~wn{E13ZWLVD}5rlqb`TNn|HU%(xQHU}ji%!LBxw8+>v*z{RvrmtiQ^Xk(* z0^vb5STOjfg<{jiHu&-lI!GvPW2$oL^tR+=K;aEAUWh8cJEe_1fG2MpIm5bR*tDzB z0w+%82&~tH#&`Z0LnFf+uptK7*4CpqtW61k95*0w3Z z{UIZ7lQ=nOy~G_{MISUy|?xNEn>iHq5Ad_A+)mA=u z0PbMyQ-MnC)RVu9KbiDJRds_|9Uol0P7z0pyGxK{&tv##_PFCL+=O=vyJUP6)Nl^Q zW2rST%&!oSzqG=_%!&YYcPRhr{Q^zrU`*{K`f%})Z7Dz0SE3E7Mb z<==tIzR7HAU$i>Bjs`zRvzd51h*3GuW*o2^)Lw+W?5(cGpV^d3yv`_dd*3Q_?B*l4 z)UZ{mUMCJEP6rjX zajoMHydUhg9sD3-Q4Y9cTd4%$J&A2`076VV;|+09?|!}pVaI?5tf`v&@I_{QSGUJUB~dK6%o;sISwLjpSdDw8-B@2n6WX8A?OT-hPy#p`{JXU_n-E+ko~U z0mhq634lyNd`3%FOqR%@F7YfFCGQ1PzC0z)jn3{r!t-thtvypUOH>wvit99)Z}Gk5 zY5L|t`a&T{z_l7{4X%6TEerYOAcI2T=CGbuk8JOw+J_X4=3#Q2a2z64@%!J&m0ekH zVh78l?+ej6o*So;SX;rX^YZ!G?xdgh=tW7*o4=iqyc1*J=#mb!mJUS*Hkj|bJMQQQ z9IfN$0uvfcN`qr7f6FDyHlxm|t*R3qS+yc1Qkv3#A~U7G>=oSoFee+J>F45-8l=h3 z|1C9NoMFva7?y9;4PUIF8azz&-gqs$J-&aLs@Ir~whe}X;?^F}ISd+=E_xs)O*{Xw zUig)}@Xn9l)9VWu4ZdTf(?<_CHMwJEg<;wmSiaOW@S{J*Pi=hr>?0l_@|1#i0ff+d zzdAiKgrf94om4wEMA{iYEFUNV)AmBiyVQT;=j;y=jARKA$(LaMmtI{#o?4{_ z>eYM+>l`sTr{|P?^^E~}&g*$>+ujI`-|ce*%bH|CwYm)wk!7r5*@637pxK-Rg^P970RDk3HF0F>^OR=FAHkA>P%7_|xs7o(8``DqAm? zJG47`V+W?$+Ke1>2CUXVr(5As>mL;AB7}?1cdo4CL*9WL^~Zv5)(vXaWLKx&jE7?( zRu@jq2LzT#SR*#r{QBx)?ji+#Hw!miLN#_vFmFGWFU#hmZqS+GC(2mhjb6!j#9nWRGi%2NsBx;p)kUNPSJk;Mw! zW%^gcz`q`Dr)P(1R5m1{u-<-sQ>?&as?KcW>IN24oeCWI&him zQ3C8HeqnWcx|RL23!H8J80mEx2LH}ld0RS8wu#fZ|6#}aF;|oNML76*SG#t+*>cQK z2)2`=HaU9nme_OOZAMj8BtP)FXu)qfa>VIF6d)N2SNHSoE|Fo+?ai!}r(g>syK zq+SozX9mLk6|cD!Au^D%r6DOWWk)}+ak#%j&lAQ@JVPtPu1QI<%u-Q`EAQ0kkF6P zg=ad=R%hsoNhN+H>`1^N^!3ibm@G_REJpL$`=0kXytvkH>=OkiYOwWJVxxyK1bpYK zeBri3cUZ?@%&z809T@1;dE95k3I$y(@TnmNXHMP3P;iFzG?V7P;_aL>Aagp0_AvLx z+{tv=^)mQw>iZL(4D@i}pLj4(3l`PA*_)HMuKX(F{HC{uRegS2&>~89b3#Ne`1e~p za-b+%T;j#+DN=f-;$VhU*|58FwxC|%bzub-0meIQr)}2r4%V>a#qq-jf;o!R|HwgS z=nLn7cvtHfI-cMGqn97qJ8k7reA-emt0Z(A76FipITT@&ZrG*;|6$fKm!7-ysVYnN zXrC~Squy|)eUuuX?2YM+2QBEaIwh|UX(_CKXt2uXSkHEegb180{%Np`r7GxAoIoblx=4b1*!Z@C&ap1tld2{@ zb}{c+@X!^^``JeBv{VW?Pzs)m%p@FjJjNz09_8N-(j51S{Hv{eAb%lfo4*TzD>7?^ zI{HI1v3?9*8vNtHPg?Ekr5~&fPeRL6F@SR4=N=9+GVMyuk5$zyi=1x3Ri>>|Gxf3e z%AzG26aup-fC35>_~iEM7_z<1&z+`m(}I$@#in5_2#n7UVtS%3a`<5s#q;!kJVtqF zj>7P3Zra^wdAPlzG7~6~USqha-#n)8HWrQ0I=}Ca4{d&0MG$xeL>bVqL>RTx)7Pnb`F1U{{YTIhYjte*0ZhLH)k1)!D|uX}?m;2LLl|IwaxSMKFBNiMZh z_hn`9YegOTwI~Jv(q)>hoK#JlpQA2%714da=D-gJ*n;PXV9$?UHui};CL&Y@1-Wcx zb$FkX{AXwAn)7nMIyiJfy=`}m=0oT;0e&uPx-qF`;dfk-v|B*->HvKD@Gr{_ELCiZ zG}eCTgAV!lhA(P+XOcb+pU+g*gG`ps!Ij6)Hh*c_fWMLvfkv@c^i@J1h>h~`&pzqAgXSE^1d!5#S*-}5DGmN~(7osx`H?jLH-vCn-&O3SZy)t4jH%fIGG zHoqMPzm^9=xQ40UzB-*<|_Jcls!+QwW~8qA-p{^`{c(pn9~S+%;Jzy0>1 zaP`*JT?ftEXraI}F~`^*@s+|db=r1Hsmw^nrErQ0?`V|NQI1i2m|}Pl|HyGg+{!5w zG520p);}pJE98iSp6Y{^U^~);d@k~SSibYQA!YCYGj)M&YVT@VlEnR8cZ6R}eh0=< zEVv=g0!|;keiYoshn-<8=HON#`ka{eszG%lFFj!M9*jfdeJ3Re10to9M0%Q}8E3Hc z(5n6pv7~{KuQ;Y7xL-*1m{GMw`nS6NpY(QbZ5xF8)h3&2#4_~)3jZv4pA_PV@XdLg zMTGO0Qblc@uL0YU`30)mX2=?u+DwL)Dxigc+r=xccnsT>fE7}m8#*%YgCe1(t3Z#s zvgFAsDdU~u*y{~Pz6+z#T+yS#a9pRXzW(`(0OVx_n$rIqm~P0>D6w!$Gz0~C$k1;*kqam*Wg4u?+xvqwm;8?3klBczR6Q( z;*TU+2)Ai?d#h984EB8wZRL{5>C8rB2bOD_t<)_~fjli`p2xJ%noBF7_znO=>ByM> zKeZme;M* z*uh&y)8N2Q6k&~j9_NO<0ezl;W&SCn7(DTkEk6G+OdplBwCDV_i=D(`!$}*|@Z(?Z zmH7ltuCU=ycQ0`ULK0cn1BsS{8O%=$?XW)+qQT*C&#pzI7v{YSF>Z6t`)9;V&mKr@ z!ScDDs!U@?k8pR)OqQ9%Rp7BS8^6cvoPJG~1BXgmC_zxUjnJ8TdjnUk2_AQq#2uf? zCekwJk6TsEq{u*#oBY>s?+1Vrfo+lk7;pn)9fgR09I?!gcYRiC*7}+}=?9ssqLWCoFr`I) zf!8TNv(4QfJarx9-RsvNS)!xOiVznsEpY&yk?>Yz=eHhIbbhzy(8rq~)-#pzAn!PdDJulvk}p@(^3QlshdP4xe@32E ztoH@G^Z-T@x?YMn$Q=!Xg-OPjTFhLn=bH&U z5=U|EDs)~d;!%-{OP##6r@NhbcdtP;>lrK6LaT)IO&=kd(TM{)=si7}&X%2rGnf2e zw$~ERi{*G25>^`4v^dn!I6(ZFIv|8GSJi_Cka7p=WG62Qyp4uhH>KMc{UFZYRD zteEhpIFEOHK1KHpe!h~|qL{dGU6Ij_@xFw8@iE=f^WLcehpc6aOvvb>Xy;C%(BblA zXz?Yx?A{(69pLV43+y7WP(RuZ7must2WCWZ?>6}EpfciOK%q$@))mKuoHu7p>iq3g zCzdvZv!4W22M!O)hv_X3bg`LRzwLT9GT^17rN=1*Q*=YymKGEkI~zsa%1DaOC97r4 zSre-5ZojMLtxbfkXyXYKNfn>NByMdxECuCuX=A}OW!h4ENs4UdVi!&q7&QElMCg}# z!H~sc@2c&_cH`k8A&c%{zu*n&IJT%eLL)H9zX~hLkn}EOzb#n>M~{_-5!2Jv6DJqm zGVN-&ypx!x-0qenP-^z!N^~tsLxr+(x3`%xNkkfL&9A>oR(UKPoUQPO7Q8Qnf*{%^ z7s0Z4pyaEz#F!RFjl0A>?lyxJMy~NmX$FWaV0SWSI&#-W>P4a0cE!GC7nE6ugQ!#B ziH{Nz5RN;reR;mfU6j_hEnH_8H7>zCFaY!>SjZRaihpm%E#B3p^!~QYeu0V6Xei3K z*a2Co#DH(Bxxjs#*dEaeeAPkl2S+IC$q8yD43r3X3xN;1B`-t0cL2s(jo857Ezym% zC~6lO5Sserl{L6O5o*kOB;AVyp{_ z3et}^-!5lL+Q5oCCbFIZ}Y-pWa5=iRi_#>24mtc)q_XE zu?qvGNP>%tvDU@Y1v>?4fr~GIRbfa0ByO`8n%?18%|A|ew!<7Jirh=FC_Lj8&|ZE3 zpfR}cb`=2|9RU3Z?QW|@4eG0A@S??6EBNEmKYm*A7fL&2hIoLz*5+NFz1~4&NwvvP z7+2lb*!HH39n#?Sh)r2dE&a?UUdIGd<>{7_UJr{;xAtAL}Q| zzOshAYWM*CGAfW_Gk0v0G6Ueq_J`0xcsxuDj=c8vuNm-&fz5d3)$)`C&J{L~u;TQy9B3ChE7)=telC-L`|o#r*e1j49IZ zC>lZ)-qL*Gvc%b2O%+b% z{!bSfe}%lRKl2j%u2|5M%sQ~7+kMy{OD#VM#Ybj^8$(LKLG#|&p0F=!c&C2%PdT`v zFlabV7i}jCOCO~e0B>KE8bg*Rv!WwGjz}^&Sh|Qafm(zRABj$ZG$i+_V#Nq-{YEUg zz`;3B+wXh&-4q?J)H02vx*Q7>6XKJQImEGW#3ce|y;rW3@33701v(^Zxx-DveP`1C zR3-Nl8-Rj-z8*jd#c10sDSX+Erc6JiXA)g|w}yv4{X;3mw#J?ZdZ?=(*ulG9r23ejuPTZnQ__ZxRl0%Wezd7It=;!4;H_= z^y~|JvU`URn_E;^uk8IIpNA7ANUH;wRG_TS8q$?soKd9au0dJ&?FUPexeGVPzDb_I@)Vx^awMTCU4c2ygwI5JciHrwtwS_Mm&&q{ zg%jsMmct;yFH6d`4cm=>sU5YIr<|L2Ca82u=&`sFUXd+bmSc?(h~>#B3kQV`Uxp^Z zY9>XB6jmWc+xjr5r;jXggQ=qg7t$>b4xp;)q&eBkWVmLiozV^^#pY|xYkWu`%laTA zNqXDy?Vlwja|)x?WS3@1UHV;zPDQ+jB{)!(mH7%lscPqOVMrh7xGwGMIB#EZFB~wf z;y4`pIALjRad63>U!}?XU2b>skrMDw1jo+c7PIit@BQ6p^iw}S(`6UDjlir2H1Fpu zBF8Nt-6&K)EgyNE+r)2$kct#&?IE{(qfFX2kK4t2_^8@38qU;*I_eg(N@N<~WJPn0 zh{=20+zaS_UVl{OCT^r3+~wPH4*7VFg`8x!xGl|HH(w5_-1R#uijHe7(xHv?t;&$V z)*_49^B*DC<^tV-8MSuZ=71$Q)KjMX8d{i<-e> z=#pt{!CAfD;I)Qq1iyVorSQ9bfzfnbVSuP&``p4kB0)7i0|BgdWflC|i5M1k4;aM! zcXk5amf92-ATfI@_8|E2dYO!RT+kNgbwQnbU93Ea5&FXN+~)f7H*<`P1=nK(=A9}G zqh6!^1|g+FtN+-0BON|NtzpVy{vuO|zO0xfuGM1FgQ=}5j!(urxW8YiNpU29pu-)C zhbPeDGsa^^<#nb{8Dx=qX}sRTqD6v!lS#CeUbT4v>|Rao+H?pocsSPJeY&M6gp$12 zEHH8(NXKh#aR|Vab2jtytyk~!f8e6kNmabg3R0nWJ8|2_M<@q38nB-A)KX$&H1~7Y z3T#coQ|9yYgWm|>%^_4ld;6QH2lT^i()YAau;vWAm8+(sxx?~v( z$DrCy8Jl4BD05w94p-+peTWtMt2fd2HHu#I&%Y+|ma6)S9G2^<@ZoNM=V#^MKfJge zt|F6uGzx<}wM>vu38xoCk2Upa9d@C%XHB=KC**BTh}f32jrgLota*>vfr225eaCo9 zUoxLE&bxlUYcvrI_l1=kdG$8`Ze}DnJUgPq=?)}2XL_Lu5&_jY_bHw}%@VF8ui)S% z`YLHlVt4M@=n!up3?)2NoETUaVA8P8}xJ>^<~X*J-ds2^}j2KvZ36= z<0L&^uCq;DQj2w9_SXV3DJ!X^ks>2O*u%MO3jnzyeWlGmcupBUNnROa|HVawS-4E9G{qaLkE?14|5z#$Q zr%|7~kwE!w?5=dZy0>0N@QU7Kp4oiu+H%{_Xq#wQVfXw)Z|(Q{7TPhT0UDpJ*U?cQ zH9T=u$4mdM#|R1Y?ZV%%Ev_uHNxxK?79z$=J9s~|cKktCd&RaG+Hws($U3}*lMk27 z61ri}Q%7;L-SMiS5eZ(dLspKO1y%T^bAGo~auY2n6l%GJ`G7_oD8GLTT!!C&i5N9G ze!VT1sIcypw9~ihgx~d);~xXPy+Vrf&cOfK)Q)(Bj;4f~OjtRAUv}e#6pMnwa7{U~ zmufZ7LiUVD5D{nHGghm zIq$k{JA5;Ln?jvTQBs0fG{J6*+q|5gbAVVWrqJG&B+mtT^9SsR>S#%Mu@lR{&EiNIfs+F1%FBg#9qP^I;qDABbyslgw*mFSD}0Gyr?)ayTpMLp zrpcgZS?3YmbOkU1fa3G?RUaq4CbF?A(vOqlx_m!ge;LxvUT47eG7-vtIJ zL{b8A*a%wh5_MhLv*s`6ujDUfcBcYss;V?3a2@2$E8d>Z{;p^lx(f(jO-x{eND7 ziEdtYUP8q{T=rFaMwM`9Qj6Y6m7Fs-7u68+CGSFvSiA>zKfdW&kq0PlXSec^>K_fnHACZ-zzTW2TXt@ zf>{k?3_OaY73O6(Cb`lEJhJE276-4JP{!&XI1*c*9hz-k{u$E!M&|)de)->oCcXpb zt?SFToWE7lCq=$BLoR~!Y4$cw7K3p*VM_B_NBYXJ$i)#N<*B?HqTt4i7$gCp)-@-H z*P9sbIa_$~)Ml42xS}p{uClLIk|-BX^0kPK z-=X3?%?P0r5i)+E@hN$CeRntY?1yD6o7&L#h*ZjRzQ;7PT$Iyd5ad|L-*fk~F6H_D zRb^3!Tj#({ZKZ@V^ANtO;XF?B;%S$N4<{sSpYm?W7dv?}t`0S}DDY|ebad!K6CRN* zvrTS?oZ3`f(GS=NLoUulSSYI3{7?M0)Jjn;%wrxi_;DiOcw;HTL`qNzVQ9f)w19CB zkw}P}FWj*ml8Ic%2qtr$ObuTN921z0YRPaQwwC!!beD1d6O)D=r zL;*9(c88HB9d0^?_dkF8F|{uYtQW6%`wiZqCDwC0U(f#h5?QFpAkEzQsX1%>?bEl3 z3e61W<;9#Ysnex!4WeTmv%bGys1q6Kg8X2nl!_8lBcbgGZQT<23W+BKCq|NM=glr= zv9d~%aZXOHiSLdq&+jaNeqAgIq4SM>iB1BHm~Z3grxM*HoC?mWEXP;n zbx3TtR?_6w>6EVtc^sf!_QQ8cGVumM#k1fV+kjk}c9KJNM8zr2xb%tq+2Elv?;2sj zf%ER0X~ zoxLvso#h3A%>y@mYX;miXxBG`2rv5_2F<>qPt_lYR=&=pG=M_I=t#yt_7S2BD1uyY z9Wb}`ao(X__gG69!rjCEqa0(_*ati+Nk+~^q=>wA(xN#8EWU=$U;QF(8>p}(;oC5w z=|8c-IJ-3X#B5`Iet5XYGUnsp5yfm^kDhvqs8jmPMfag|9`f#=RnMc@DC&UuDZRCW zN+u1@=k`ocC~CjlaSUlw!f8Ld?Vn=U+fJw*!(2u?+`)m-6Ex_#{QI*_;yNt+0?Bx7CBy!aIHg+Gw=wnp;%hd*+PnAL z=10Cz;oq_Dl0DTCVVeG1Ya;$#rUDs(pkUxdq_YPiJ|`wV>fliohN`1ckgdfbdb~sM z(XN#V(NDa2BE@uFw}NG?st;mPE%2Gr)_@9T^LD9yBmBJ)c%wegPwEP{C4SMKikKjl z`jLbC!W_=0e?hT4w+1G~*Y^QO`_kV*GK5m5JIAb$0Pvwx4PjM0pmb*2SD+uXM@CSg zAP)yarSi3qT3#DZFVh3=Nw@loov1se(h}RtdxrDbf%l&a<|SX@%foO{Rit$ z!dT3^0`42An9xLjkK*+)ysGD%MJ?pdk5+){vh_1^&&ZO8*CYH{L?r53bb5+#&@L%R zA+Q|(r(834jU9TbVg#izL4*B6?3S~1C}s+yQ1iLz+fz;*Juv6;M)6ZQ(j8VC)(I|* zU>r>D+7FNWXk(-uC3@=MH=5(pO>Q~Os(6-h4|l)t+d`gMudjW9ve0c*Of&Atg;fx? zmB#7cYi#mZvmHJV~`crCgU{V6BwJYMmDu*Ug6 z86^rkj^;^QhXZ8a3VzeyuUI78;qu?xF8#RLTn)E&6Lb^ERxEy}om6+hlF7$wjB2vu2sG`Na9}`Nj5ItVg)imDR#?mMu(AbF^it z&VQ2dB#!l+AE7VGEKlkB7KhtJ+4Lo8h&XSb~F3;+&LBQr@+O2xXqJrY(d6I}URH0d}**0kPm&P7dWuz{i0 zj2&U{sw4(+z2lm~Aq-A8Xw60g_Ae}zBCjO6<9xft5n=%BADQ@02_QO&#_s_~MSo1$ z#`$@nvD2?|h+IX%jU{R5ERXVZxrORt@xow(b*wIbu*MX9`N=}pM1O@iR&PPFNTDcs z;GOyjNzF;U`46iDR3OO*U6}F7%pN)ZdT)?n{>49srqPujJ5e#TN#p3dXd-^W;k=?havIv?h?@XyC7w z12@{2>lf&?NuNygN<@d_Q3zQxm?R6nxO3Ctq_gPrJ8D5+evXgQZ`M5E+2_eV^wvRv zfT&b7t<0OdfwSk7tT?s4$gBUlL+5$1rQs6uj6vh|cBW z41W~wzl5hUk|#=`DyYg=k9&-n4wvdLFqOkKrL}$|rrVf_JPIX$isdLYId(Z!Nuj7m zPLIt~@j$bf^wm}ku!mAiu(NakIlqcz;p-vL_aQcNxeH^GmET8QUl*J=WK#>4lYdE4_ioYTKE3m%%Ff#s=}|he zHrUj7MX$VSJ>-@L=wT{x2Y#rMeF#8TF5_pwmL>inP0Jk+&$iVc>C%cNvdSsGyq1Fb z)zU=Imxc3=$D!WwEZcheE}GA6DH^Lssfi(t43i~(h53jfQRuAFgF6e2>Q*VLX`VxCDuiMe2Rj++Y+%g>c?$o2cp1d)p)-D-X%?`BT;3kJ@cK6{ zBT>$F)}53dAo5u`uFk$c?*xza>3?>*GF!=4aYZRl;~kdjm6;qNy4rNXPSy&1et~QJv;(!JDRIA7;8A{q0i_&Hy!{RPo;yC?V8nc@{FC9XX|8mSV%`eF!p~h1-p&I0#V@rai zG6u7@s;|EK#eyR^sZ?N<=qBefKo+qD8mp{Cg@gYiLDOSIV55n+dHSJl9IO&d217QB z85j5PRFabaHk73{+h>s6^H*NBhfcbPDw-{P1@r&r!ps<D|r-rF#*=@7C7 zDd!}56npubX4`F|!IKcF2-~uB#LORFQlLDb7IrnN+)`^;W0OQ%P8-ZF3E!&%KxvdJ-UBrcugWroq`#Akg?PhiB|lVK7)#Yd{cWIEX1+N+Rdwkm9$@~dyfxu z`VZ;l0-e?#yVq$Wg3fmKE6X82ZNm4Jh=7%<=OE5JVb$zb;8urlwMy|6gG>d~{8RyE z;wX3fS&V5(*?e9k6WSU$@41wm@O)id_!$4Sm5Su@UH*q1f~76l9H;Z97V7wS_r~|P z=L(q7tWC3M%xc*gXV57}(I!MyRD;aiZ5(=)D(k7jV~_vqg*-lQoeatr%d4rO&cuy$ z{n-JURp)6PA@%s#oc;=@=KGcyYnAY*e%{6r{AOtFakcQ<7z~LB1!#zObm8v}i9rRU zuys9QPky&YilV7}Jz;&fju@wxV%W?d@HGPgmtT1X z@rW3EyKLbnk&iw2X6Fs;V;|W2bib&9F|fsJmHV$+8QjYY57I{DEhQH3NuH48R?6A5 ziPO-}7WTFce0zfk&1H0!|Edo>91$RrfBRzwFTJk}4BYuN%e!l=ckE=Yg=mCB{P{KC z4`{LO4Qk$SE{wZ*30NBE?T~G*A&F5j%`#p<}fXL+Ubpqj|cVwj&{!`~zLu9!HK+4LI?pXNt$OW(h)?l%qw zs1Cw&^OFjtWIMOZb7$`O1V0p&mci6B|D>DyHaWPF&q9>Ep?frwBY63l_-@a?}up$>+GY_NU zcoI)@E$TLg>eEQ1?lZw`Xv|996cQXBA6dOyC-ZugLNNn^BG@A6zdX#+h9LC=dV*wa zZ|KTAYPtn<0x~f*6?Qa$_;oAsciEf* zqr#mF`v+Xvbw?9)ow0jG4 zYsU<1kCKOJZ~)M_+1}#tBbvC~zU;ngxAaKSg~t=J@X~!P%`X_kEKi477k#eOKQdF_ z?`lT=kg(J^8}6+A zk>&NT8}g<-MKb%uVB2>x!OqVvfSd>4s7NDOZWm!QlUu4E0gol5#z&1A6hfe{`7mUA znp!%pJAPTNVbdCe8__~fVaT!)Pvnt$qZj=C;-ZzEM|e;FYa{=BcNV4fCKGPK_oM6x zi)$J^_U{(YM_I_)Oc{u5nz9 zz3Jhn!2K)a<8Vdv#39n1o*rNjR}HgD2VXk!na-QA-8^0lfm`W@Zr!wz=a`@WYv-ef zW&>0;9jp<0o5Ar%knP(Ztn1#U$OpBosoy-fuP=VFR+MO4(u7z^L3hF$dQE*=D~|3o zp%$bTdWOtIZjp4F`s>CFoH6-q^K7?AtSQIT7n{AX;i;0s0jv1-@~ziV*;~cwhSeO2 zMTn@eSmOHW{4i}%ezhyxfFByU{Bb|yUp?P(W(`J2{{Ir`6mgkW*bc@Lryrdc9HUMgOc5Cvi4B@O5)!TR7 zjmc~^pvERkNOVQbp}U3L%2yeDR!Nbl!U;wy)KYr_UsOr_XVaCs_5NGZL;=lzu^3GRelzGR_Jp#bg}o+;J?3zP27 zRy2;BQnTqo#OAw4RpUgwOQ)qlE2^T*S!)}M^&Y^<6Hv7t*JdrYj(s*V7Fa@WN5p6= zYl%s^;*G5ZmcypVk4Lh8a~nY;jVblHr3kAshpeI z|A?0H`SVm^q#}*KYS-BoT_!_wpVWsc(O1?+irs%B0-EF{Qk{0Ev<`1ybn&nkQD(k- ze+tcPy=qZRVUE~eW;M%-%Da{7i%H0YzWB^IM#!sC zE&uxfmPwY4*`pkTc#qM$M&2vGJU*8iu~KvEf$)o7_v++h-#3X-0bvy1Tq&(kRmGt6 zUBgkr%30ZnL5G?y?PCi0*nC*)3X0dCvsh$5+xYC}eOIa_bKxL=$NgbD>uG`0b6nqF z2>-o(M>}gbg?1lr#zMT^h*LA()W8{Rf}V^w&swv{`dhm@ZneEQ#h?GlAX-%1qK=_r z3gepn`F>>^hlh{;ulQgXX-^g#;a}0=gm&wXDXo3JC0WS!9u=!sgNa|?RJ%vJE~kOc z+|s&-FTl_ER?Us6k=1d1&yD$sTo~+{^TtS-J&VIKIOnFN#3Stg25^8cs%>L4;)~qL zWcd!voz78=*y&DBPi_%=Z|tviPLl0)8kAD_;6b|gyZ!_gnhRBg0nxX=gc%ev{|Ork zL)QosfaHZlr^fG-wi*eK=@ddHQkvr(Wq&|K0W+V$k-PGfQtUybad*We*y+ndE)VI| zOvBetELk!d0+H|pRp?{c%$_!t@F(5*|Ytp<;t#Sm*K_Id8c zz|47`6@y|GA)er1w#9`F(b@KgACg%A4Dj29%evJXq1Na8_135n(L7~bF`l4K;Hv2L zAls4xrzB2pU#xWO#3fS=alys$c2~NL2SS>0tbR#iZynHQ$HUQnt8gLC<6Mxn8V=He?uyhbO2(mU(wPnhdwH8jjI) zCASM@HmE(sn_lCc*NFKO&ofJEg~_6o8}sIs7W(ydcqB!hKb+|S3^sGo2D zAr+PcP?TZKN{u?^DPLb4$qX9&t)9=7Rw6^0^0zJ{%RRpPo88}ay0X0#eL9{iGT7bB zsCkALLDc0DPIZewg`AhV?P+o?F=byiG<~0w0r!u#h~i z8CJyjz}M@CgP!E?YBsGjiomn>7&sqy9$z{Klc4(w6FW}9)>|!{jIgd=dXBv&?%-}8 z2@JwzVL(Gd?2fCG$8>#=-;q_iQHE<}lZ|UoRvtc4^8k+1m-uUOprb;@-B^}FCdUEm(ih0-VISk(uJ_I>({>g%?1h^a582_v z^)K#}ysx{TDNW&qB~0~LG`NSweP}$JlkoZoSmP(MvM~iUR?G>ckJY1D3Pft{G+a&{ zF}rN?0=wb-=!qB>f0%A>xyM=#ri5pRL_ed^{R)0RQ4LPU&}SwItMJ9*CJ`fw-d?Q} zflHjG`WiC&;sdNizTavoal!xed3ThjYYQXPIyAraZAu(`Wg4x+k+D#Jw+0ZH zdk7pD(c`$Hk}^dK5T%aoDUGkT*aywMW9X+LdV=%!K^ zN5=!wR%b@SET|zQwFvT5F99q_$&+{D>zW*#(pB@`ii+^>j#`N z$d@3M_vSC-ac&)?1m?W3$BT%^tELSJa`&rJ8eTM|`^W{}jL{t$ZKcrS^VBpDn#PE; zm$<<4+%XYv><#?V15_=P37QF)bHTiYL!`N=tt=3CKZwUgc>fG^x8^7@2Q0ig6%H2g z{rHrBI!5=c2s04UQR??sRynDet;e(|9-df}S!-KN)`=g&fu|CMM$;bV>N0>v&%g1aDOF3!1VT5x5OutBlf_@KIDBS z9MAX3%!V)zUS)}{5~Zurre>W-FoL!a5%cNQ+{jr#7yM41zxx-2=RZay+U!mF#0K}v zyvUpHpX2qeW(i*|#r;kHg>)pqLoWy3lZIX~T6Bzy^L+2cC9hSyeFinS(&_9kJ*@Wc8A+mp`CDIVgQu9r*U7kBG!2Xful`QrTYNVWn$DC5lxFprV z5@dzCC-If<2A(IA@TWvxh6XUvzMx0Uq@nk2aZ)E=*(t*MaCcqN;;Rw(%W6FVW9WiX z`&R}%6U?~|Lr|tVpqC$iJc*t}{MZevW+=z!Zw{F>xn^L8_b$ZU<|C?9%0o+%TKg(= z-j(}{yZ+oW-~ruX1T89w5*F~pEdAONY;k-N*PNhytrZ(}9f=rXH9oPif`L!pMv4+d z^!xsXf?IV+Tub9fdxrx{r;&_Vk|i}2r(sq0Lb~6(k-advbmEdDtSc*xz7@Tkl%5#^ z$-1mRT~(`CNIYNbpHKD*qY53<<%WZ2P<<0-3Yce+5hbWl;URfjt~ua|R<{*<6#j*L zl8_siiX4;;5hcrFDHzHdwCHv#oyLy^LKGjx-*0|@zy+znxZW@6@VfdoKjj31vAmqJ zA|phk6Z_40Hsg9*V};%?C64Xf8*E@vdT}lU!|-pZp;GRV z>ycp9oTW2|NN?&DiKNfz2yljrI@DX6!g~?FHqG~D;9q_bWC=B)W0HBhHTWJIf4aRr zg92{UCL+~2nay#bMlDy_e946#&ln$5z6p$RY#b{y8Z+kl4@H83Pe$#*>$=aCwb;Rt z)-XQqyr1rqy=JhUVYwN=biIJ)Ug7qYj40A|{AIrNE&2I@4KI2IdTGuXdYLJ}ZfNw< zxPVM$n%NEt_u@Ggm8>xXpkhaZUJBNsGEtY+UV66;rS+9&E#m?)?jkh^=GDOYSA;_) z&(n`?i|PhrbcAe5714R`ZRt)($$TfVi`Gla*WK;k#tvZNDDxLs=MOl2MelDd)a$M9 z8e6_1%xgC!ytn#4}8wI$|U|2SnE|L+)@s);d(T<&EiJ3%?QI?Znt^0cL+Xy^k0=h zydQ*YDw#{vEgdApWca{ct{R2Qq&?p@jnerLT7Q*RF%ZSQ;Qx9U&0m>V$Qny=D| z@T%lMk%dR{HLIeL4$P%i|70OUajGhFIiv~llz~Yp4?DqQpVItJ#~{C4@_^ddx^1`K zqzjg?^#On$d6a8c>nyTrt23XZyGQD?cyGNlLIGFZ#rtA0zqsBox`R$`q%GC^Mrr7! z#wVUnOO0LS1rj95V9#ZW%<3@PcsYO#WDsjcP`$I3VqOnE_>$Ch#-H2Zpx<|wb(W<&0xCS+*qHYRmy&7PavVzY0g5Zx$zy8(#(E2N5Rzw6TU`k^s>9b!O%%_sDrR6Ev~dYl|pK*DG9C4QFXd z9N4G{BUzmEN4$gqMpzg4!O8DW&#$*KWq8o?h5Gv`(g4v@ubABVZ+n_um2^s1ssI-T zHKHof-khHeSyzlyrY#*CBCdS9Wg|9O*K6j1zwJy${VmMjsh*wNkygX&|BO@92BqPT z5{N~UBlGiNwtP^#Yk-MJyVuwES-hLd#YQ3O= zZ3(pam{nB=gxTGQ^nc|+>4qr^MD zp7k0uA;{R}E&h!A+M(aHtz|HTMYWE#HeIm{>NygrX@gj8Ok1Pd_-^tWGOx!Ye;Y#u zD1?8FKvFl)LS-jjWShX{ns>1)70>^wgm#y;@t)*gYD<&X*v9o5J(c$a>7E9}RUat677qJrt>Yb6NBkQ;~-jvz# z+;n@z`Q7W8glO>X-jf8dYS&y2kXJliNCCvL;yQ&7WgG&I)Kj3gWS_=JhZa;<7c`7l z(&fHo>~+IfP75=ofvhhM{>>gs$0i2t6aCx`Rj_avtu9qQ3?q6%e=vRn&QqRt(m)5B zx1u}3rXF8~N?|X&gRDA^M0dJU9E>#nZ!@4OSu06xlpmuY&~_%la)8_`03grSGuox4 zjPm)qU&UAO4_6#d@#6+)9m!PpcM(0=4R4vpCV3=nrIHEqG3I4 zj)@7J8VCIvKBx(bghtAA!DZ?+zVX6II!;d;zb>|(EX1(}%AjBNSE0K6P=ig+NwCbx zQ>dACR@Nug{9MR!=oI`D^sAh!x$nt2*A-0>ZuiejacG$^4V>us9@zb zv8KZ%fGSf#q(Itv?cf)(wrwb%>^@Ko)1h3yTwmE=sU-YE)iAKYQN8c@c2;~ton-Q{ zuIcaQx(C%$=kfMzZ)4u3x_*Vc!Qt2Cc*{R|ny{r!&t4VWjF4pB75KOu^~~uS-jxi) z$aN(wN3KtmSzZcPBypU@%iQCAD>*b&+YqGXj(3B1HVCNWvK{L*Tq*2>JUiu>19`_q zsU|L^_K$zBi#x^lB5{wo((j%-FQf1_E|29ZdG$?N*ses4q%0vhgLu$Ra6Ab_$ zrzyyz&l&>c`Fc4ZSR2R8h55Iz)B-=qq-14l<}^bG;K| zazC##aqEC;E(roOHhj51uXMj&u${r~=P+?avpbUT%q*EJ-iu)>IhN;63G=PMw~>$D zi&Z1L3)cqTi)AB&lA&P_c!8&2#ws5mc|*}g$G~&7#Ska#E%le=6mY-OflUXK>-u47 zrEB;^#pCFO_Eoo_>>Y=Nzzg!5Y#f^@SwaR{3~J1vsy?%ilnZ(c?w>Ag6G~ zc-P+fWV`rXyIKw8W-?1|YrdcCw4`Vt+0j$Ao(6FFZ@B*7Uzi|Yb>;>gG3!y$8{1xj zBA~%2U5cZb7oDU&h7>D3!F6HYG2Z3ni7XQ~@f)2vSkBc?|NG1T=R5N8|L>vr2m#)4 zh?trjf9~awXAuD>sn48Z<R^w(zquAA~}%6@!FVZZcJvr`p#oCn2`Gd$33B zCgsE>)>=ai_&$xce@}qC=g8cyY@FX$10~AOIY`R2Z-1D_OkEF~deU)Ht9e=nKlv2g zW*W2L+Mf*bEvc6;--9#F28;10<(P3#xib^bCWsi9`c_OMs=uKAxc3l#h7%g8xlop0 z2bXgeFeGKw4nl1Su7~BNsKCHXXk+53dxL%w2Qkm-qb#SHT=z|t3)xZk#z>pJ*+j}R z!NZ^eH6AKXXd}M5eRlQm=7h)pKBWJh=HL8HJLX$U7dy8nNFQ%1{-T~Rs&a$wLEAcS z71!JEE!Lu`jW-U0(ovgKPcKreb^__Nx001%LbfD?ZY2cEHJq;<0xU<6pl`6)Ui z%S)041{tjA+HB-DZ^x&_JAmH)=M7=8=0( zg@I67KwjY-nD{9T5Am{uKt~MIw?+d7EBZAA-rFOZqOtUOnD6&<@-Bked21MV>z4v2 ztPp_WX==y+|K;~TD{=RB1AZgb!`}Ckl7=x6{j9<%T(!TedTB`Zwz~f6A^TkIgsSuq zIcN)uw-vGzywmmgrr+YcCE#Ygr5EaB^)`)qT=6@h@Y{jF>E)>q1wL&tiY{9U6MY9^ z&w+ps=p6IOzU%o^r{@&B)|IniMF^Zd!!4t6H3hG!7E>3tW}MGTsXPOH7)$K*ni)?^ zyp@{k4Wb}ixs1q22ghS7<=Ef*wI;w#%1$c%R#ev2*3Xsvz)PWTkki4bs}z={TBSGg z7|2sFb>xjFvG21`p`YqXH_KABBQnj#8E2eo39xa=JIHtgpDck*L6B=|VEHXb@!ml( zFS|O2XxS`GhNM%}tk1m>E+9uGx9TtDKg-pDVSB@alyG z^nV+N&T+ZeHa{yRY~IPpSAnXAwLKoXGQ=T5zS(01u3BZ8Hs#U$|5I{(dPQRy|M zd|w1<8mw_NWpGZwqW`bm>+C3Az+OyYC}tjhbfea+i2p6^!}p2KilrDI*E-9){v@I- z4GZqSkGJWqH#f!%mzKDJkB4j3l}0gV3#AF0CW#+cKW-jP=dh)v+sCb`x>q?)JY2VQ zxE%~zb{npDxLFh%)a`o}M6mb>1HhiIPxngO>Ad9rhDPR#OgD33h>BYmEgE@l)ld}A z>4dtjZsJGX!c@l(xK-`#%gR~YV`P5+lIGJu3V?-sJe)9%ZJUxxv3pHAz6TDazbP*} z*TlYNttSn1s=0gd{QD?;wrV|#M}IDQCM6rRsz<*q3~v@s=82jNyDe&$uNO)yZq66S zZsF?~&J{wMP}k#j3YX@Sv@DaxoDqDgnD0z5rF!OV|Hpj(+{Uig~s|dFbU{zWE|ULzA<%mwCpR`F~bf1 zpb*eZ`}d+U$DpDes;YPW4+P(FTo_9X138?~X@%;~M`bild0n=Di$9WaOZXsY-aH^&7AmA(6}}mz(%+e2?NEYcE3TVDoeg?_ zg`9a=jKt4L5{cQny$xj3#?*b}*RIk(40>9~YljZv=ejZ8`7%m>5X!gth z0Belw*0{WC7bGcClt?K>F#dgEk&K>@G96% zLRQ1`ctH?9cD|w}<>`(nzNzKu;NvafDNQ7fr`W*LI700p0~E>h{5-ifi8~H8V&mPe z{;}Uz%utk!c|Cu-;^KAQEbBvL4n^B>%QI3ma=ci-{LlBnIQa(h>A~F-)~cOZoIZvi zrS#`-Rhw0Bdv7?cZ$t6d2+O9)IJB9LnPMNI7Z{(PK*vN)o+s|ug>>!eMKa|QrU3d7 z?-cg)^z+!qLOHvb-DnX?jl8Jm$iQp?!=T6FEDT|Nm>!4a&O_(!N9!@*4a=6~S}7XZ z>rhaQs=iwhq=>#9+SA|Y%+H!5SUo*Xb;DR><- zBF0pTlX#0=8Y*uH_v(JMH3%fm%Kt`Vq%{V-SuQ0D!kI1e`4D+M!tPRaG3LQ zntg)933;@axHCw8kk-0#;)%b1_1jE*buBmIY&px&)ZsIULlbC4Lz zq;+$@%3-m2s^!wAW9&DC@wgWWx*nl$$4})qpBOmzD`~`KFn!GAh z_q_STS|T!zs`b?NiUo>1{=;=+q$o#rO}b-3Hr2m!zEr&f)Q3V-A6#9!ADacCbm1+i zuIr%P`-1Ua!RR{*0yGN8T{_YVG)z+MFnX9EvLj$;fVMmLN;MGlZM!C&>5@;biu1rF z`)Jq*cP@-ioh!$V;$)+x1!mA40);1cbb#7rpL1XE=WukK8pkE0UgSc3L#1H3X36Pv z;nGz3_x{K%x54^wZ9VL~KHqylF}S|_-Fb!(4aC7pq97Qi5K*SaLueX;LZGVJBNZ|Q zRa#^*9FA3?^<0AO|DEjzvd#pUP9NNR_P(6J%LcFP ze}Oe0R+-$S``;HYsf&255`?=MMLXzDiE>Nm5kCG*_Z&b zZ|e|2kS6W(G8T!UGXXRB>rN86f|l0um})A_*-#yT5jFNdzFI0?%Swagkb}!y>w`4G3GuolBWvVk3=Mhr_}`O&qDY)^ z(A2RY3wd$i`-HWbj0N0b)#O*VBK?$ppq+8z=Um8f`_F$J@}9cgGxP~Vw||+U`Otm3 zsvvWYbP^;T&d^QXsglBDX-z@6_o&Wn0BLJ;zw(o<;A|~4xs9frcu(#%jTNAb`GR|w z&&)cln!&ih6F!jUzNDqY(~9tm4lk46p9c;BCMBHO-~vvcL<~(cb2_K%mOGnDlyqJ# zlC|x@9NKfIQ#5g$pTV|$5Vjab=jp39=`lWAYxAIkwDfdUiIA&T@mvI7c0o2rC;%*6 z$VTDcbV@FPVx=_%tcJ(lo7WR?pTh9wy(ROF?s%?x_;o2Aa0@aeH_~4zwHVG3TV!OLqW|VKUhU+9?>01QclM5FA4pf$*ly1j1ep z!HDf{R?vtHI5~T*5V=O0j8Yhgt=SZ;eI1Ipk7?C4Yml!@yZd3PPWyk^B?{O6H)B!y zv#rk`aWvVncdH2^VOno5p_pJAWTipPJAP0$;+2)II|ti0|T0T{Vd6fl9i0Qd7_B0NbzX}BiJ)2G!AmnicbYAvAAcF|mp>b?4LBp!o1HO>`5D<5TYB^7_EFti+- zrPcPzRTopK=0gG1%?%M3$Q?hsVl$({iYwKo^Qtuc&J`L(DX7i55zuoC5E>KdITFJKmXL zSQP5t=XysFRJ6Ct^eu$Ih94%fUW+MxZGG`oYc?zTr<6E@&5w%uP(e%t}-OBe5 z5Jr4fQ1`P+i~YTQ!9%6`o9JPhf%8ImMPs8b7SV92xkhdn{CbAJt8f08O^6UY=mVn4 z6;=fDDYQ89L1BNaeukol?jE&|sZgU|cKgC3aT*!<#m)kQsmt)?FPJ<^-(enxoGdOg zg#pbSm)p^c_2Kw2*XAsa8`vX2LOXEc(r_kKjF`6XSYAuJJcp2o-7yXxiBw&gqc_E7_%=HgDIzm?fQ%q2E zsqMVUk{7@Gzf^b8@mO;wx*thX*-WYXP#vb)KVROo?qr-E6IQ*j-Sip-yk$0z3Kl#( zf;%7-wgNiQEA&MnJlg*^_UoQF!WVbm5wqxFPjEeQpYm_jNdK7bmE*F3=0SYo02ik4 z-7L}~>uI09> zOp-EKTbF;NPH4B~Rm*13HR9A{<8g1lME-pvzmSa`I1g2%j=e%71(w4FE2~ss2@35( zl3_>fDqTO;=rzdjv2h1vHXg;qvG~$Q!_0kuDIq&g3h@^w3gS`@e2!)7E+c8TqXU42 zzSMoq^Io_6J4Mc69E(ralWT)CFlZ0w9 zo2mL!wW;aDm6<0<~yW@5NoK3wjK2|$*|mb4b;%<_6&jk_(*P7-zng^Sc! zmyw@+K*+KeC$QFUL1t-Oql_)O225d5@+}P+M4A==nQTyk?%1d#>z#A-no0MQSS7^Y0Nip=f|+al+atmdDFD|EC4O6~GYt1s4|u7gD@kx7>cDa!jxp-JEqj zzLen3Uh#}5|ciroc}a)G3a_?!T(eEI`+0yV?wc_8i4+dF8|$O#R#(ObsuZ; zBEb#B*u$SOZaQ^>Y+VNFKpIN(-r6WG#da+cHe2gthWSC;{=y{C?!20EP8+fb9jeE# z#}VCv#y#RPr5AEW35JyPYNIX}6tNrt?#y?TOSb`2pjN*N46H7p8|leZ?xmd#Lads$ z@=Gzxr+c>TDks8LAoqz$=UPU|5VU4YhlB5JAj1g}*$9CaM>P6_rFU1m0=-Ppf9?KS ze65G0hw00l?7*c{(OKZknuHo#=832C-t|qLQ$%rksZCC~^xAIrAS_TMge?<^CvFa> zRg}G58J+1bc*=1WDLI&s*MD>?)c)adpptCo1q>2Xq$Zn}2L{yH9}&QD@jBZ%^A8s7 z+T3;?ks~iz_J)LP#)ZhxV5N7%XY<7}wLkDn^>{HgA+FzV5%9-$7}C@piSw~W$XqoN zO=z`Pu#HRp2_;qz79JDk0=@%OYH8O}9Ha(7O=@q0leoC>@AKh9LI0BH=Q+z~mY#@w zHmRre5pN`VF-$+QOSWCx;1<^aQ6u;0+qNA7D`ED%w=NW&@0QB*&L9N?p(}9PCv-4r zsn`8Gf7pZl@6Su4bH7T=yNr7f#Fe;2ixQQi#kZd=qvFT-IKs!%-oCv(lWWs$-`s5b ztKAO#CgyYg6Hk>7_~mL;!0{l*c_5W9NL~E?0N-mWf7TC&x|3N%tx39lk`n+JGyFT7 zx83!8EHouk77y0AJGYL%3a6z1;m|aQ{y2x|Ja|?2SJ>(T3S?ZXRykU*bz23k0e2B- zEdn=1uB!*hVOw)W&Qy3@@bU0F^0r;GH`;FF*JXLxM&i)uUBsntA{mENtEAi+Fj|L# zpAKSgF1GEpw%@1qI*D1$TktUrn965Rru8W zkgo2KNjoh*<6z}yG$lm_z>pc*;gLhPIP-ho$HVlk-#XH!I2F;;fJcsY5`KfGj`DE1ca5sJw`(r*+7JMl)2N zw*Gi)vf>qmGx*FnC|RM`09ts3KSayARL(xVpH#C6&WzQyErissK(Qs%;t6_P{&9DK zxhQqGc%xh`Q7>1roYunkTa6g&xDrg=G*(u*xj4v+>8wV@sCi}sFKe`DlUV+yO8*|W z6*v@u{x^;T@`A2EwZ}NOpT3*tx60YtG|kH(z%M`WuJg6brfkqAICb;}W_!wlik<3^ zQ#e19ppYQKWQ8+U!)UM7CJ3C;&$Sw+!LYmiZZDoN)`bs zG!RV(`vi?WJN8~RLtgq~#n`z}Mi_z0f@6j_JMDYTTE;sNg@mkgZ03eMIiAYYx!_2E zSD|!o4}!pWh6tKI`SbvqVQnP@mA8CW3*;W3UCTLQHO{YiodkM*WqHLfJ@7xc*1taI z&NWL8>>=;v8+A;2HaKqB6Mto9mNI{WW{4dXg(Jj%Ivs9xlShrQTQ3lGRrVCVZG*#1 zs_)bmRz)Oz`g}fbrU_SlUGORA8%@Rrl)%*uM_oPhd}De!_`KAvbWYXx0MvlOT^F)x#YWx-^pQ{B;4ug@{?l~F<$_OK>x)8h!<94dhLz$`Yu@`QHkLh{QWV%A)T5i! z(41p8T4J<=)u_G9br809xU;+D+u6kDzFR(^lk32+Vaa7lRciK20fyK=N@j-p4i7J$ zZlupDmh39t`9vHCJZ?BhiBN{;NuQbqi(4k@AwsJ6w%5vQzdCCg$E)a^g!6p!#*ylV z?Ln%JF@a$4#kzei-Dg1tTS7r^$4jW3&dR4$N}!yIpaYM#ayp|X5xvp;J@H}~`O->_6loxlgxan){qdZ12>DK)l@rE2RH95y;U zhS?*GDjfs1lfSZ8ZimORFq}7_oqP*`GP1Q|=-01X2A3%DMI1@b$sJEOCqeY@XMmgtqQZk-suoW>2utw1R;>0%w*1ChL)m-?alr%Z zCR_-1NqwU6;^hVKidgYoOLCk5pUMRIZ9}LEkUof~cw0 zCICj33L{`0L7i)yz|$sG&D|9qB6RQ3J-nVzV4GV+_P@{whqz?o3kqD%0k|eq;6{+W z;|dRSnO*olbo-``Fr(~#bMkQAjo=|6HMb3)O<{uY#kD-suB^8a?#r_y5_1qguq(g{_gNejDT2TW&dW|RB z(|a1wd^v1n)>~Gl!h>0V2LB(j-Z?n3E^Paa?POv*6Wg5Fwr$(Cor#T!ZDV5FnAqw# zUqA16-a4o1{MFS}T^nof-g~Y4zOLW(^t&MnoxiQ#U|0Wui%MPsheNgk#VA4_spUqM_a3yvq1thi=!%$eZa^=LQh$;?+Q;el`jInRBjKf0<;?Aka zbBmooDXA40zMhKr_Pxd#j^~K@M6!>tnd@5M0~~c-c+gK|-e__xZHsTe1AzFs3S^Le zR75(r0tYP<#W-xL9gE*Ki%7HjN5#xypD0EB+i#1<(V!Jhhkvt}besQLNLtQvQan5v zNn_!8#3hiLj<79)hjtciRGm+P~QLSi9gH z`hR+N)$cw|b0%oWWKmG5Oomu;Wd7n0Cg)#j&}k!UPH1=E=@v6CjlOLU`Mu?~st3D) z(c8Sx>NuQ5&9~U3`wzY3BTMf0rut! zr&D^ztuAl+lHyl{UgBYAo1xuNpbtC`qsPU{4QTPu%k<>r6%^W@Etv5dh}=U4N3U(c z*)JCy`Z?;zy#vlswx2_LlpL(*p_F7Juk<8NgdMBRAwNP2>1X z1r%LG7PV?D#6ARNn!7;X$FF4tyqug=T#=|fMy(=#fEmYq8Q46eq9!(yr^i)6@)kHG z-s1+w>MVo=_WcRHxU8fXd;0=<_fFYC0%aJu`#>Q-o>o^a@d0hS{yG^ELP-wqGEj37{#07m7yU(dPLw z;g54h5J5_LuQM4Mw)0)PZsx`Em2}U^R5TCV)X{RT(hYpkL-~&D&WlHG5VXLBf&qa- z%ybAm+D+)H5oXtct<|)1Ff+r)Q=`0J_;iZ3G7BNNY#M^~CGztQBe}W|D?C4x9eFGe zHKoS#qKjenI6>56I_vcdch>kQY|jgX!Nu?dN7Ten`j#h)CNbbeEc|A2AFAU2Nm7;hw<szRi=Ug}IP*2GDa4neKQ_B~2wKyIl62Ujb`_g1U{XU8!2T_tt6Zb`r)62c z|Cs6t;TAU^*UA3n?5Pb-?gH$l1lRIxJrp+9aBvuiWI_F-$b#X#R!4D0mSR8pGMlBL z4!v29+eZel>-?XY(bih6cRyR9ZD=MoV#0lw#|>fBDK#v;22ZwbAO?r6CH5#n3Z*tm zQ9i~|MmsDzWyuxUqL8C-jyj@Z%nCojoKByA6IfE`hVil}5Zd&rfFo$soz4B}4|#0s zt@wi)1h6Z~f(^p-6HRDoW0s@p8GQl{I*>x0rAi@cSkGaKFKTr2VEO?m2C`dNwiX1A zcWrJo*KI{h%C6S(&3)Yrs|NgrJ?^+bI3$$StCxp7NfCPP2h^`Q=eb*C!nI8R{g<5O zt(nAc=0p9sCwUx>4;Dm?2%+$BoG(U~y#pDB$E`QXeKOB^N7}2z{>u0xB@QSJeQuFt z!8n*A8c&M@AkDZUJ9*qIpoZXth0_eB>`6*FmRb)S11w% zr3{v3S5&tbixHI6KL>cG;4z&GK~RoK4aLVeL9W%&o1}AHlNCBcRZgk$KX}ckqsb8} zL5+L&nDc%f2rF=itPUaXUi5xF`L!^ZR^T)J)oG{-+nV}>`TOF}gk|4h7EbqzC~uY* zH(H%7axRGq4vda($4Nj-E-yx%=r=;J#``mY+HGka3f;+ccHK(qG%QmdT(=^f;siM# z8NdtVx(>E4!X}cnPRjp?cQonKcD^XAGoHgCT`{y&OyrY!r);H9KV)n2iIr}cinYEq3nmi1Dnj-Q(5Ddf82w2AUVw}yA4tinc(EHbhDad)v9 zVQ6MhW~T@mHzYq?jV$1)aePF;vojKw>n4Ef$vLU&FEFT)ci}y3bl+>=iB+{nKU4BL z(QpT8L*Reiq@zKBMjDGt5VbDSK6^>Scps z3Vx0V7DqM!DK;*U*yz@x#!AjKx!xMF2S$BYF;kI|`))g#gaPOxmiNdew;%f6o}1yZvop}vA72C~+5JJtb0oEI_x~JDbM_-H zfKmYp7m#QbDbg;|;2f)`N<22&bDNP0mRK?ud&6&MPy{cQI_uO)d#RuaY2Gv4L;qt` zp%_4SuX7YwK5gyo%sA}1LWxV9jtwqA_F`=j2IlVcfjq}$2H8#inI``%C;-G7r51F+ zq5CfU=KJluzjMEd9V_Y?cOOa^Vvmp>Mg?fCs%|ZBZWaoCu>R!q6BcC7APV?!(x88W zRpBoHDQXe396DDf4-Ott1PD#ny*Ofs77yLNTIAcw`<4r!N@81++{xE!60aMeP@2!? zUBvUT6c9op5|hHMqKY@tV>-M(Vle!;C*6QUq{F}n{neQAlR~i;-eo(h@3Wx&%9Tu4@ik+DGE=a4AVI%G$=j7W7>uL zpcVDFVT7x?y=>}3>%R_xF5ol1*6IrlxS&@SgeNze-{q>qL9d4KjTm}m9*Z2|l5lpI zzaIw$V7eJxAJ@!-8#Uo;i^4f=L`}zK;nY%Q69(1^kArMoz18XwsR{=MALGR_1z518 zwKji(^eYt)L*QJ_(nM*$NsW&6hM?66xx|fTg&19JOb@z+p`UU3x0ivycI~p&Wu053 zMwrCo6o3U<=}vps3q-ht{G9bYY;IM$?C>3V$w zTP796TNd?~m1@SaG{D$1^}K%w#Dzj_x;k(k2IA|IGq%!LxoX5=9Ce%rcMR z(~AhRoQJjKe<6Zr%YG)Ez2EvqHr1PU_ObVI*660j#E37mz%0%NDlUez3Z5F^6Qwmp zJN{5k-Jg=dTeSMfB*Ndb^g_kRWUcP1R4J!UEMwrnY9Gx}k%BRiGCBoTI+hPU5CZv+ zsiQjROKWTUfzY+tAHGcCdlOy{>ZflzKzAm&|GSF!w%x&4V1e~-Kzk&Mf8J}9I3C^t zl@wK519Z8i8CwjGC1mmhR~1=QTgiA)Ava`Qds-;G!a>T^%L zpIivag84@<-VrL+$~9cV5tS0hrjd29Pj>_ADW!f|hebS2f8{)3;dvkPtuOxhHD~$# zAj+q9w5a(#+Qxq3Yy-?>iC`JDz%&yn707BaEF{!|7k4lwWL5h~OMzd(wIFkGdS1K)7AM^Y~-ga7L3$rYnJCI=f95 zGKP>}IoIt<&u&F^Q5)R}UXTiUtIZMmgmCws(9mSaHEKA17};?IG(v8OjSkr1wX?Mx zQxN!?+OH55Hp!$;8fF6aiqc=sBNIng9Ar(?ZU0q}%s*`Pqu)8QQ`!#!w5mKfZX*c& zg<2BDD9oz-Xy}qXuNTUAE#zI$sa_P#cYZdgx4eK48%=Xq*hE`N`kI1J?Oze5zFh7U zE(^)0eN4M`cg0%brm0;sI8`6KyIrhw%<#G`fWuD)-IcEQ(}rOM5gSc+9^(?lCn5?~ z+Z7tL=nb|U?TL`Nd_IkfvaiUMg`R8phrXX421J6e%1w_fmMbg|%b8I4d$or`Vl9hW zS6}_cpzqKpqvCbjYMb1b)(dR2m9J7#9Db-I``pHq4)dg})7)2CV-3fod^$|{u8cRt z(sdLj)rt}0VEzOCNXZhi5;+bf*XFdqJ}4%Q%Jcg^6O2lRU`V^II2635nzXnMS|pGn zkgp)2vz}qTa~c(q6r<7)m|{L6ynIV{C{gW7o2DjOOTBn<@NpR?#fadU(ubv5*hDgX z(~?on&y?_@V_sX0U&mh->NS1FRx#gjq(AuS^>r&=x1MS{db>$8m0gOa(IwP;9wJ8O z_m||I287LyVXt02XCMX+lAO2BG7^*PnwoGl{>cfDAq__H25$f|u~fOJs#r_Gr(RK= zepj2wvmF57zh)@>MG+%W@kra>(A^gx577n%hT{{*E-T$mF)kwL3l zxp`to+4(RIeQQHuRffPP`kBkEXN1EU&-brq6QFeR$Qlm3sw~(H%z;`${+Mba9=k^yvp)s35JecuHHn73ZAfC)ihB%_xHHHF#}TR zm%#BIGe6g3>6TfMJTjx!9lam9baPdiQJo7If7CKko;w6=^74ms7N$b5X(h9+_ZOSL z0Hbp#bnwtXBvVo8@npu7Ar9c<=PKfHhJ6K9dlAGAdKCt4wkKs-H?%Poaaqepp&q3 z_ZtMb#PuTA`gwV=@G^q9e0`X~@eK+=#xactrVbQ-=%Fn%FTO&h!D|lznNpR8LN7h; zX!McB!7cG!TN(ErOp;laEV|-)g%gQMse`-)^}-Qno2#?4JZJFDxqJ@apZu19e4k0E zkqtHdYkJuE!3}X8czR@FOAL(BY4|p-pgKpj``UV9M7_w?hPupScF(S_b3-SZrp!$L z+;{j-hnH6`+@DyWv2IB0C+imZb2cC*TPEu9bovd;jLiF&+a9~iuLtMB^_s$RbXr*e zo7Ze{%qH0q%(=h@6W?h@;w_jmtX0&mU4TxnbKf1Sup`jUF5&vYVMp3zA2gLe`4}v7!7MC2i{811_GP(zOU4@NKdJto+p-ZBmq z?Ztra9k{eq$+~QmDk`49|6H%0Jqycg(VPjC@sb~CtQI!Xq0pmD^dv$-7f6&z21eUI z-&5fJ;chZ;Z@PZ$h5tw#U}12vN^*4N!sarpC&zbs8DQCos7fjN-fAwA+9QN=BK!;I zh>Vd1b?gt|joKvmS=ZgD`cl<|_rd{Ujf(4)aT2U^_;EuoS93ss|F!#mZRIV=O616< z*R&yVwq9STK1NgRgv6Uf;z~S>JzXt|k3LN`K*jw>W8=pX<-&l5rE=cb`x_PX9?_RwM%WBQo>s8iFE0`Gu6yjN&RSs=~3~u z;{2Kas|6tNP*jWnr!|s)70?}(-g;Y<=autQhC(NOCU#bT0x()L$vK-JE#Ry%hZ`JoXB z4lp~&glT(qgDkt+0Q%mA(Vy5*{x0UMN)d&~?r_NArZ;0{Q(y|>x=q!gw>VZQjj1g<|x6!0GM6 zV3Nv^Hu+ONT+;uZGL;Ps|3jz)#UTK=P$y@E|B`579cMxXUy|k@!Ei{W{rt8 z-|(9;-Z9FL0PwwSp^4pb`wiir=o-oWW;b23O!khG?ef>L;PCa&Uoa1PKWUqEp|`O{ z?&k)ES3Jl>)e)|Q{&q=#zRvTJQ4MWRE)s)5V&nK-tA}jcEUkpjJCl^Eir5(dk)36o z4ZgRt7V<;4Nur$l(Gla2Th!X?Ac_jZmZZBr2yE*I!r#32vvPkG(_%55OHQM2^FxJu zhxR6=xGp8CFF_w*u%w34=iPd`EnHy~HD;AExg;z^GKw~cjL^peH1Dz?f1Dx&1SqIg z(45*=a3mxI1f*yvNYLCbM70;P3Tk3v3cIGOfL@CoFQ47*_vfBAKTeB1Kli4aoetK% zEZ&Fg-5i&2>~-57WerM}ob07=R2}!MsY>){-q82%2L^RxPSsYi*LaJ|rrBO;YVP3N z_Dd*rbCg@5Oh<%oMS&VCzBpHHTJLc z97j7aQill%1VEukS*Bu>>e{J_Qn6i@yCr+F4Z6Vd=XeyYR5I<=$v<7>hJLn4Jt~-Y z2Y;8i4S$)KKPLN;sO;7rdUQ^XKcb1sSeoZ+4I)3IS__cg;@t`<(J*R zXWMoOfDyfQ9|uURImSkeO^z3K2l7PbzWuQJyCWD*77aE?kFlk#6(<6JOSx6<Ga6onBJE)ql20h^f1nZGG6?ugD?(PFttghLqe{8(-rlrP z#pk&BF7fkeLApoLE9wyPRrE3N`j=M!S;BY_ZDqxB_hSGWQ5t*4_rYNQ1D+YF;R47nhlb&fmvG^f?0)_sCT5HA?_?=O z0XBvLiOpy(4^;&Qzg|*DddncS)9G+5nshAvCo`xRrFl^y!7D6xBU1qN$jFj?EhPM8MwEsJ{BUXc8-n}&DxxJ)xj z{fsk-E{l!m&@tt&0fBX?PyJ@PtF{906&LW`wKzB1Yv|to@cim62(PWS z$0R!hQKoh()eij5;aC`7&}?0u+P4Y%BtIc(o+2o zZQf~vO6lnK;xii!wAwe`9S`F;t($XpB;hgn{v<`L4ZQa}wyjygZkHpCpM~+7KzI4rsA2({~an0q=9_n1c~_mQwC%md{36z{Xw{_eFDb{hsp z8egTewKSdzUs^7VwHqkt$dS*8x4)hLfh)R1sf2S;!~6rZ?9jY0Y_}SI03pjd1UbzA zjK1toE_-t{RUcLRJPvkL{(ATJ1cQX6p?bhjgB4rM$M@Wb#*X zu!32suG@LjNG5ZoU`{T7rhJ@!!rQDd~pAA!qke8vw3z(^@%6C`*bf+{O(TFEJ>Bdl!DMv_aU4$3~p*CL6xZZbtxi#vgb7CrtSiEydnT=7b6);d}TJE&ygHUypwf|G6&^1aAQQBF95L3#4AO?0lZ4J&Wuk&Mx- ztv7p+>BZtBUm^x4ysXS@M0s>n8ucyMU#*MF3%Y-Jm0K4h`2ptHe$o%Ex!C^yF(Ts& zA4x{d@+{!ZMm0B z!j>mX@B&O5L#jLjv~&prd^e3`30iF4K7#YE!6#+DPIvZVMxd(84wb zKs;CVkSBz+Jxx6dLXmBa0yN31aaha3LXf#7rFhNWpXve#M7z~}+?-@4s*ACO zj=u7!MXlB4exu*|Y;+UT9!hFPCMsDv4>Mm*lm4M<>r?{G+Ul@~VRpG6&V{wpMtw*o zXxnbsHX*r9pXvs6mJsY;kGpcDl#EOiUpX_suie~Sz?et)iL_6xLr}^(n^P0fUysM? z_hu9gx{m>CGd94;wXj|rNi)RtXJ4h?r9at+m~QC|#VUXuOTP4BHeu|yiUrK=QYG~H zkCx;yyS_e3-@CrvN+YOWDrzqa8NI1(DK#%6lG~1x^s6*?+TD-fHB_@y_RrF^%doKi zvQC3hH@|IaFCAm@F2o)9wAHj=fT6l}^JVoSyjRVvuEL{IwMkrJ53H>52JW>N{iSVzrB-g7E0-H-J%*o#fH`zbgVZsX@~?( zcrg`jH6yv6Osj_r^TgVZYD1G7!iL>^Za&$yPFuPCLuiv+&1Yc z#CeR$Zgy_0j9iz0J<5@GB|f&$n(QY}G4klNiLFcByv-xUMp%5DV)zmDPs$4ZjnGqi zixBrbSeB*7C%(&++Q1PHFtxm35t|xS(R!(|vL= z?B{g@3f>LGw-;$MgY2hd zpW1fpWt}WvhCo7x@a>-whgDb(%bhrE+Ho>>e=NZ7KeEm&4CJTWmc?wupU=pqkyk0b z&eZEn6dFq3u)q@GP-UGGn_X$cRiDbP2uLFUHjj+ldLCwY*?Duc%Vp!DlhWKqV{KWK zi-)Px!4MkJybLvvl>WJDNb(;2V2NN9@<{Q>g9a_=srLXDl^!pf7*$!|y^3^)tMW*q zIeSUhYKr22LBu^~iD)wVW0Xj4Wt(A@>ti}=ocg#=(CpH#%`@o|r=g&b3J|!d`lRIU z?mk}Bk7@LkhGM$paug|7l}^5YQ3($0U*{+qv~~Ut*mfENHv(E%R{;k{DGHeXeDfPw zHf&ixpd6pYDB{|3ypGqaRu=NPd5M1;j^zH-$Au{s*#R6ZCYjT#I)>G#5P%%N?g1<2T|PL5U##}T285VDtJ_~E1)t* zGt+NC%=(;|UC}~Q)?4#bE3;3>p2784UT|m!dTN6>+5OE`A<5$wQf4C@J;BLyG{2NJ z3X%riap|C$pe+tEGtNkS)JOQ!5=%!kgb_9K1u6US4lSB9m-vdj>A^fA%snn?kw@j+ z6Ztbo4EzK%7As}M7}kX$@-wIFn!3VdLdkf=WJr<6 zr>SePSKlWslZWQ#Kv7Q+o_8RYeaw`{g&KG15VYd7d3oLzzKU#pQC0UmcN&f5y2G?h znhH2|*$ojnbg3cnbqeR4jz&W z6-PD9=8#&!>HcH(ub=9tlwEjvqN_mSjj1Zygw*Fkek;4s7IZ=x_&PlJlF{I`)IBy4sR|3sVj=L0{=U>a{s1X`RP|@Qf=`SX*VX zulZAx7So;NgCZqdYf6XnDk`obZQ*XD`A6&X8MgH2&#Cs>4sOdZTu+4L-E9;jX<%@U z?Xqnfds|iBhMH))=>2O7T0=%?U*^D_SsLgt2>owK)YjLTP4>k*gWu@EnrBxCAn>h$=G{{H6n7ii zDa}UAVHBP7M$5v`khJZJu@ga}V`+#g8HR2iUz3}VAs~PVeMQS<@peS77qj;>ZfL2y zAt%&@#pF0$Cw^Q{pGzL|*l4#D;pHFcn}7*v8P{X(V+3Gl%J@+iJ}!9iPMTyrKxxPB z?g{vY?a^D_SbF24Rh{Q;O@e&BsW1(VI}y6G*iGLT&%ZzaXiRgBLM5C|V9 z(^AD@&6=-3bUrXrW~ME-b{S5Zw=Gf{;w8QMew|fr@sfxWj}vVm&Gj_CmOMuylze6E z`>??MPN#Pr+|~2kH?u|qhuwe2X*4tp9&pcqH3Pa47v7kJSS?S$ppMk=)z6zOVk(2l zDUEwi{4seF@s=!Q`EJXtG0<_tcg-e$yS-z9MIT5?3O=;)9A}y=aR6$$+i0zdY{^ya zDeZjx)!Avj>D#t&S2RuHKJ0@~zf5gkjvx~AV3?vvd<|K2^Z9{Dp*IbGos7;r$3ds7 zXl8G=Bqa_@4@J2*k%?$yJ%e{CCFj*?TlR_YCi)|Se*{y&EGlI7u6~A|t~8I$t8r!K z28*_vnwoM2!4iTf-`9T@rl4=TRoy0?VDi*XCZmp)aQmAFsP|3gdg+3Xk)4Tal~Po1 z_(tTs&iE}pnwHszR@^sw4K|U`0TakGD~T!WzhEuAWx156gARNgkCGN2xhwAIjx5W` zEX?0?G}~ph@-2fw^4(S_I*G%ULV%gT{yM!hz(wML|E{0HsXf>Y+3}Oi*hMCpc2XD`KSk}xL2H%9+>?kZ$ zdSBo1@ssHzV)li!OL;4#JuM1nPJS*TczMm5O~v}#FZ;%navpskzgvJmoUV}30}>r- z;=G~Wi(zWcVS<{Nyb8Qa!}I~ZH^V(Xj+f86-b2TFYS=Vh8c@;pb)Mqk_*J2uh{9~a z3+i)k&@3WnMHJE_(vQ{jEWOfjeR25>D`M5QtbM>&37r1JIcN|N%1^4 zG~SsyH~qsdi(%jHv+E(bsLyyn@YmWim$cxc`CK@@1Iu3Nh)r4LQC;63@?S^*EO(> zX8PM`qZ5@4ZQp0euZpfyE2&Atp@aQjnX>A?sgMz|ARP&9CPJ)Ke(WK@dY)Ny%km|j0w*qDd;>rxfhrQ z_-E18#RdTfS1x(Ow$P#X>CJH^!F+POLvS&SVi*CPMxLKsn1RHtnUj1PNtu*1?6;Rj z)T&FGC-X%_z$9co)F%d6w&v1vA@ z{0VMdg{t?w)ToI1)Vo$F4j+STD(QmqrZs{`>Q|BbcO7Hp;gu$LnsSo4Z_33*X;1uX z9+&=vXTSYi!VHhroHkl~vgX@o~zx+T24vz@&bei@;_uc@x0 zIcBeWLNC^OH4QB}0x7KzOAoo0-6U2dxJ6S0<9(wO$oeMHNJW^}5~)qBXU&d$vA`q` z+qYNF^Y+nS8NJIt)LNBVG0(E;)HVCdb{}HFD@ut_STq8Y@)1RvNe&ENCp1(mDMujH z-71n$;w~4oimqOGKUyCeb3mkL5es zUguijEpi#oxFemN(EaRZ?4Y)_IXn%V*w;7jOo{!usGflhX+4rAZk^xa&M*qOQDi!T z#4h&+de$(OH+QPUu6Ea~?V>u?jGiOV^i@9XR`!eUV{!t;@jxF(-`|ah*l?eCz1M7z z^c;+&lJ2hUqAtVkJ2Z$;o&$f~fb1eCm)V(MgvL4mN^RSkmTkc-flb>t9I} z`dF37sA;^)?p&c=IdXbuKylp4N)#~zc_XwtB_dQekXx%sm7K*|Zf%N?efpAjWk-o9 zIZ=vcoN%%GJ}W}65?4)nfa&1d66SsZVplktSzj;6|MhYRf8bZXjQ-bSqb%DdvLacQ zV|{)1FE5TnHyNIXWZB3tW0;<^F=|@fC}A-vl)`` zc)PkHF!e7?6F_JX` zCD|5q{OPhC?VUfDj*cnD(S5YhedIC^xb~-jAAWEP+Fggh+!8#A_i_?Qn-T6a%MLx(+{xKX~F`lVdY@H^biTsHS^e-Fm#chxXKHYTu z>ln_O)9kNOR6XxCU?3cUmK@6x>c*G&|q=+dUks|q#9 zRan@#pDB9UD!s^pO5rjn-_2fXx$Or4f3;JO!zKIap`66>M2PigN@d5Dya6Rc-L z&f`}h*}${b%DtPd*M>Ngwz64!;!o*K>1+FZRgmEPu!y}<1QRmUFh(dddpY;Id^x#E zu%IgaGUF$Ba?PE^adkDhxwF%}#p8D3wv@3ADoeYjB^@42d%@irrVp2|+xJgTyR%t| zv}j7jnA`ml6Bk+khYX3Q6=^V-fXDTx(eO`N8q^us&8uiAiY$-sUvKgkq#VM^>CzDK zJS4hNw`*d5D79PtR~H6rRl6_uB?!?E2<0@jaic_)DR`x4&kj6`a;~c=&F|-1+{TXk zUQZY_Z-dbmC}N7h&*FJUPU((J%J7&WNFqwuC*;AXWTPL9p{y8}<<08|KLw5ZnwW!K zaDK9X9)1BKPUgw4%4Rh0@4y&{u#v$Z?qW{mZ;xL1H6Gh;CymkQehAtvJrYs7NKt+C z+Rg2OmiKKVF&Wf2aZ14(RCx|g%T_VU(mq;{vihl>$Vxlx=ShUk>3VtPdC@U?l1*X+ zth@k`zGBZgEjL6#tDHfvvL4x;yBDZ0y6OvSSQ5B`4(Z2WEHme^@i(-9VtW%)8NJ!LD>bQ=bk&$$K0+AbPi?w__m62M)kOwd88k&=PIEFk@UO>5t-}Z>=&t zWmS{B2o67yNGXal%YIVGMJCb0C&!mkMou8-E44sKRdE3QBW<&3I-Ql^yf)`O?uFHA z^l*$;L3YV0S+w*rv%T$K-Ubehm@I9c=Nq(Bd9R_3)3r<}BC-o&aPe2$W7-6NX1?r6Xpd-;#w53wqeY|- zVc8bzQ4WiorV~Y!56k1uU>M?6>a()LFYN(FH^07Df%&yq;m58=dp(QE=!a&StA9sH zVp~nutkqG9Cgnz(ZutFT5XAn^mOt6$O9}0JDYTF#vi?oA$#{QA_XYinb2wP7p>k#I zbGHARI0N}y38PGP{bS%C761}#TWSwF=3s~RN^u`#!_I6Xa(UCv3*aO!1zAy?m^5y@ zQ46{{rfByM&4bL2rc<+8Z<6x*pPZ#1f*Tc~L7}Sp@q5sL{KTt&E3F341`x@ap~DlE zRIH_WM|?Y;I$M4f{NnbtTe{IEDdi0CP&POf^+8P3!B3pPt(pQZf%eDTzrnYI6~kD$rC54hRDzi<^J7qaDu=GmFP!xgn%Ldliz~YOnDY> z&H{y!y1`gYjmlFO@-F89f1~LUxzF%1t501}uRYG)US9CP+xqwOI^CvnRjJw&9xl)T ziRKf~ye;1`t>8I4nCg?4fVGa8zq5`#N0x-u%LVqV?`oIh7&?h3NI>;Jdwb&t>k-*` z=ZDi5`k(LkLH`gzHMTO^Fo`Um=r!JOEuR|i=UJrG|5pou^!)ZD(goD*d1&F#mr8Mj+&Il_4ob*wbVtexf4(&N^V^;JSrE#O&3HmZws{r3$Yf;iI z(gAc$8RNi{{eRB+e?By?Q5;A7I&AI-)b|IBWlkpa@}H-iOE(+gx!2NOW_mo_jqScl zM)C8+ev~MSUs7z+AM4&XHg2}u4n7B4k}zP3Q5oFG3yeA7UBY1CeX9rnGns#RSas&& zQF+(=27eUZUgiOBe$%)8zbE>CM;o|jLqp=dVL!v>l#GS{h943Pp(Dg0Afk50UzC%u*Z-LK#j8p3z3aF=yO%j4(V=@0=fWHYO+xy>-M`Q?HryHWHxr>}3%k%MQO`^Ttjw(C({~aO{C-d3f z`Vfb!&|zainI%>YAdSF4_l4AStJQD->`Vck2UfRX69^2<1}K)_(|addS7Nm_T`gBC zKkvzPc6D3P+pd!3r$WS7XkKx1+ucR%oKHr{6|7NwYZ$C=TZ=N)M zzLaT%zH#1Yl?*zb>d=|+DU8iXaMe8WdLV?c$aRx%2S$N6)zPkePtfRyt^UQE`+aA{ zx#Cd@`LQz)97uZ|Qc97L;tlLW;_M&996~q)`y{TK7cpV=`QGQ1W_sCa^Ox&QW=u7- zFV^dgl+0;XFn?-VwO=kR1o7OroP0f>*E5E4J-#}sF*VyAjn@1C+e4@Gc&TnZdTd_z zrk}uB=9$q&O*Su?0o{I^D6WI^= zxQYSX0V9c#|B>Saf#rbJ>lyur5Y1fQ`|*7V!8aw(!?@K4O7xn+ttzy}KToB!we3a5 zvNAt%x~XI{QF;MAH{-K4GI|2keFnEv!Aur2IZS>VkJ0CCh69uPKu5q?J&@{q{%60Y zZD+wZ0s)7#%Y#(Af6C>onCR0|)9-0H>}8c=L(u>Aad9?{Zk96JcIg@yhVwJs!}9Hs zO!`>qG8i0*OURuj8{A~?@r>2fNST14JrFV|wu!XHmEz`+6^D`9rSi^sr`v0Pg0>Dp zPEO8f({9Y8)84?6 zebpkn=gTkr6#;kl9s8xP)6QV25k6{GvyZp?B5rAI3(IOTgTPv*AQxUs9cN*%+12V4 z&Gh~OKLi{;Tte^LB*&|kK5Gqk3^%4j@bEnW+qL>`H1?C3uAzV(KZ83PTid0Zi;IgE zeu2I-%Z}FG{@%8#D#}=VZkEgXA*8Fn@4$xCpV@K+rvMojIZ)6EtlFwVJ#HWhFY~|3 zR0#t8!b#Or*0WXGbw;V6#9&Wl+ zp4)yXdhc#wF6(DzFZA8T48$44O$4Dgbu93k1!f4@cCA_iCZ|-X6ucwP@3UPF5k$HE;x7-m z9+p|<^5c{@@R;2Nt9|d+J{w~?!2BX$@os}MmL4$Ur`l&B+cayQZAWeWarTCE=U?48 z@$)KraF^zUeN~q%rqOAEd6U6NNo@P?%~jj(O8z*+e!$&`1^m~jqjc_g6YUEyp+|7R z0?3^h*k3cTkbW&5-vgS;vVAiCJUXP686TbigBOWS9wK#!vD*BzcaBnL;{f@a5x%03YJ00dAtKw1ri30kMb6m@ayW} zy5ULq-cC(6phpvk@C05Aov=B4D;~3ZA3LfXKdPDwKi|M0a@u_&u$f>Av{}}f4EbM= zQuhBCd|Fq`$l1z-HZ#>T6WjMZtyGb-Sel52R5||#C>?HUHj*O06#4yM=qSatYtbOdVftzQ4R*fVv1Wvy4i~V?4<&RCpVS3G<&8L5tcHs@3YrwQ^ImbMHvha9_&%k5RV>E@m4=!sM z)EqUol&bGuh$O41C-HPgilGnl=jM5z(`+~F0pCUUNGYCQVOaVV-vWu(zmabWu$4WfAbPVh`S%hoKL&4YB8Af3;DAG@69Nm9xdN~`|t)Z z*$%y4!gnNvk6k#d=AsLENfl$mQRwWmN2H+yV7Kz+*TmPr+A#`4--olG0}x-v1&n3d z_*wD^R>SK#?*T+%J~rZ}JK4QG(ij2%4Rqf8hjf_@f3K# z5!1X|oc@Cxq?Gt)Un)PE_l0_!U5YP+Y8x{A3`r7I@Ckiy#~p(ihY39cu&aaN?|Ci-34WmGF`X9FES;L7p5^$Dqe0FzS;%bI7y4f$ESuD&qWkM6 zx&mL}Y*2NT_F|AESd!mklEq+!60J-geUYg^RY{6e;P_xFUN*|Y56#x<4g*w=3Eswadl{ggr*>2ho4-yU<#(gO0xTpam6GaA07uA2>1T_qa_Z zYtTG$uw_4^SxrSvHrS?|tHQcxmG2FYIqE*Iz9)Q;(UN#GtCdpl>Y39|NRA6%_#dX= zjoP+*t5dA9i&k=^wm8-d!S!srA7*^+UKjEYXD{RH2P@u$0(uW;HcPM9j|J#3^E`EJ zS19Vx@(|CK8gkKR$H+ zR+3gtfp1UtDrew&m|}fm%)HUuFdTX^4VnhylE`%Vx6d65-#t4{5Cz0#$;j~#8&Nj{ zy>zyyPdz+*UoR;vWpqe7apRQfnVnOK%(SgtsO@WC^S0!_hm(j~eAhsU5z+SzpO#l) zc0aENj222boCSQI6(GyKaRTBK!#4NDNH&0v(4{5Eupi-AmlLvi-4bQH;5XQrw@ppa z?+X6+=sn*+f1>&Vp$EaQm%D@jy1rGZZS|F29X*O0C!90=b^e~W|HIW=2Gp@^Tibyo zNFZp?;BLX)-CaX)cXtl~0t+;pm_RI)K7Rl>$x4}_~%C}txx1td)yDRt&gX)Mv`%n!3XqSyTXjN=6XS36BIZ-&E>GZTLMIKS=l|CV$2RX>3zw)Y*;$Z zg{ShOlTnAd32RISvOlJ)tembUBzj#>j?!kC7bh4Fc!3;^Cn{}iAq*}R;8jVND=9{D zAD*4Hizv{d5;A)yQ+5LokLp4s+u zuT4z_(vx+mmy>=&Rv94TKcvZA(-V2o)H9Kf}hE>J2Wib-B4mWYlt8452q^1>Be zu#EQiDL|T!R)V8^>n#yOpxCAeA}$_EWTU|mHW9W7v$RR0IWeUd#<5m5+2rW!0_uOa z7jh7SKPp8s;n+%_ZRHBnT4`d^Q7dM5|UT2F?EiU3uyFy)VI;*VJU5l zsqcfQD{O*O9Y=r$06Mm6jVF!3M_6k$B1U=`pd9)&#@m%NM+1miI4wIi^-I(*-`3hn zMa3J|e;`yx0B66pS_`2lpBLXH#NV=lxO}2+QB0EEoWj1;!U5~j%2Y?Gib<>doY-eV zp2vpL$A{;+>g(}9jZpd=N#LskdCf#3Z(@S)>i9UxmRwCU#4wiFX!NM8t+ac(@tqNY zOHMP;Y_wiCDd8()IW{hvG)(0OG@qs_9)h*|(U-=zQUu{E6RMPf0Ea{5)pyx}Qc}kR zR-|{(aHlqVG~LJIe>@%)7AYWCH`!HtSa=#YdGI00IA{u9Y0a`2fnV z5d9WvEij-B8fe#;9_u`emp6vOCPlGQQoAe~e|x@h({vgybcCZc%b`xB*a<$ZTXg&r z>lzz^?s&2XRQJ3UVC$;LL)#B=}S>@ejEG))(O(7YebsV&(ovR|^P zt8u!~Ib%gNuP+yS#sUNo0{uuM+Du>&b|qX6A9pbcMTJSn`JxqrS*Kh#;$mDkTQvF( zh6fN{7aPV1JGxeh#S36EHGjUs4^h&9vo(1pzd0X>bJLh??RfYcB!Xn2u(;s!!yDxz z2)`28+Z)%J4lJP%Tna~Q#58>p>7@#a@jtOz!4``>$bJzdKS>Cir@ypbJ)uME`(byw z+)!jIeB%nVjmSoz>HRJh=Sux;5~v^^G%YTF^3lV^O@TJ$2CT{A^FVSF6!IzyVXI=o z`~WgK|YT*Pq@?Z3C zeS>KYmc*s*oyA47$bPr82pkh#grR!vMib9$R1VQ=RFPh&Ptp%a@|djo+}iE?a4g#g zB){!(NE79wo&w^CJW(!Mo9YR1n$dZ8YXqC&sJmY$*{Oan?>%|k^&PwU!r>3Drnkzd zvtR_E(G~T4^G_YHs78t51fF=Tcny|2jW1emb?rFz+RwoPU-1~*a#gCD1%7k9c-I5G z^iGJMUlq#bmk;zE`8yhI4>b?6O0_cd4Wd{HfpoLmgI>YUKAFA;-9DMM%Z{qHFzzbj zaTTBnHl5kUKXD;X4DT5Fjd4gz1x+Up>bLR&{~AT=;sz*(00@wJJCUA%u`1MnskPa- zsiPT*B>HU*bI=!B;~;wVd~UW@BA0 z^Lw^h5#t1slIc&dNS!(OBT~Y5KvY_~OUC*u*by`Lnx#O(+Wvu~F+JFI+0plY*L@RP1@1sFw8~gvDcT zd{E=cS7lLRv2;UP-*c>atL$d`xBBgZ_uw^~WY@qTw1xo3*^eXXp2yEj(C-YeULBvE z+5P3hTb0ut^}_2fy-D!0ssp%QC@hADK2}*MDNN=u-%+i%bxC+=j1u6oFvN1zU-B5W zJB_uZ>ivn^t6hpzo3wqV(=_X4=}qT>G)rK0NyQFe4>k4HUjcdyojx*qmSDfd7;Ymi zyCz@LUJ>20wwII;SesFB9HpPwkVziRR%->O-%%X~u)lPH<7ZF7? z=_+u@d<_ETlbTJMW+vc?Vgt)b@eK#UHgl}Hx11dok4fr1>a8po(A}T9-A>hp__8_< zzSoM3y^FkAf17ThLXbVkNS}3Qq!NV#KW6A}h#;cHnT-6wk~ceWW6<3^C#|jGQUV1^ zW~eFGQhNg+$)EG)HHQ10}BFUgv*1k7$o_pFaxBBsc9wKn>{A-3%_Qk&1>dFVMTov z-2jdoSN$Y;j5d&Xj;Rc1ek->r;qI*|T%V%cK)vSv&*!iS8c`Z?*HxPOrkd=WJakl$ z>*y*`JGBo6glmLe*i$?zTtLw+wQ=qDqUNWL+NYqbOl(MG8&hHpqb?bgs3dA<>*nBRCi`P5(WH`P1;0-Mp;?yUlz^C=N%`Ei(;#*JK9OCF zTAnPJ#8^OFOmcTk&l84%k@Gee9%+JyeaRaA3&or zE_pn9^hi@2CV+Efyhg-Yu2AeK)|wwzITB8tALlI$qT2T7ezuU~VNabEtC_;p-x zv0^~Cku1gbTAVpI?ftOnM3#xbC($h9NN!V*_>o)^lp?#8!hal#@CEj&)gOA z1nxaopmW_b@DZb<~5HA7({SQbRiud|6!% zJMdlo>6|b^csqZh8e!@%#m*xZ%6OY)znMyJP=PtC?D@{eyLdQ}rskT+ z4rCmdmL?x^5Uv)4LE|BwEqV{8(dbCzYycFt0vCCl-c`4&upyRW#^8c_N)>+Tpr;rR zNXoe&`8^$~p_p{B&pc!A$)xqiO3hg;AjPhx^2Q3hkD`lyJnDYIf*qJ;G<0u~O*E_} z9knt`Wuo;y57YZpLr0KlsI_C$RK~$4pLE5_zUvM2lbcaUJCL;a6> zfva)!MN|EcsC}yah7u}RFTHKAw|=i05R(pJzU1TNZLlE6g7H=*h-b_q-p2W~r083o zhmWjgLK;8{ zRdO}@3D32tJ&a9|@O6^V96ZJYK~qyR@(X*<8k@ItPNz;5I&yr;fUuYD6tfBUlT$#% zoQjfZIEt@!+!~~!q(noQcw<;$e@SSIuq2J$XqbcF8SDY=(z@|rl`|soP9+s#4fkD- z_UqV&#hltq$T!_3Tya18MeffIHMa$|+&}l4Z`1QhR%b9J1q`OreZPYI+(fUKenXL3 zFAJQ56as;CFz$VWl7{OjP@L|=yE$32`n1dCwp?;MGrKFC5(<)5btpE@V%Drj_K*y9ZZBiA~~z_c>zvP$J$s)@GKCsi5v>MdwCXK?PHFijj~y8SM_h~>aM(a^%%*7JUM=JiIkY2wz!~+tdn1d2 z{(jh*yZD3J8-tGA^}p#W4gk2 zoPlbw&w23E2S$XC<_lt?J$ppx@>$_oGsaNKzxILM-@km#_YorkPWh1d7_kBl^iB}z zJ6asQWFLLgaV#=clFu8NVX*IYO_`4zrQyT3#1JG44%l75g{<}%%7rlLcMkbpuf>{@ z;~`f0tYjXM3Kk)}PoBKLSt1P0#+^}>zRAm{Ey5&7TNBKSdZe`f+5{^aoA+|eAc(aV@&im`7 zYi!@IYm>o%lHzv!h48*#+OsZ*(%8CcrHibv){KdO2?lkk^^*go-l2$BA8!>nA3U8* zjbog^9+9ogTM%Lvfy<_xG1MU!ZYQcBJiy?B`L>(q0k+$_1I^kUS<^XXg`1cf9-7hh zIMFi=jG+|e_xiZ@?I$*HE}>F89oB9b{4!)K&IMxD-_t9dSpstNe59%PbGNofph|yc z1q1c>%vp%k6XOG_KC~#`ab$NppCg&H>~I9sOzjCyJlMYcV+om1GMs?8D0Y7j&_m?6 zrHA^WLB9DBzssR2D0~XD&Ldcgsj=Na;`sNWUh(lKMkO?#@901YYDb+|3y+&TpDUE> zecb%r`I5Twux*2@xsTku<)3a{!pXdsEQ(ckqwqofcZM<`G|?2ETjI3+N_k$^N#huk zdf&;M!J|(YH~rH#j=}W-Gkrikqgl=+_f7Nj&7-Fwc`Ix*fptjmbQ=c6X}Q$Ar?%Hr zkl}sX?MAWm%g?A!n^TjzY;0AZv-^S0SpN5MtXuS=;{jj4VrQpn%`0j>jhitU5g8N( zI+2t0k{pwr3{2&udD;8+Izut5g;%4e$M&#z_};cZch$9Be{>KZ;m>6&tHy$Q+bOmH zI%V~C|2dV`oTP6fzhCs% z->tQ!t+h!dpMcm5S$4vq*LBF+tz+~DV*ybmTjggchb>$!E-nkR62=da$Bq@{0d$lgp3z%P=${D;UNNY!%C7idQBX`T3x4PA{u(%3#1u$p zs-wsAd%9&kMEbyv@Yk^%sfLUhj=wILcE^V!`~88~dpsZLPwVTW!PK+aBDO3^QMDJ< z#G4QaV>5R-$_KpumF>O-IuufE5kSKi+TL)#t=@sc)=59kd+^LZS^yUj@`~cvF+m@A z!)byC{?5MIC27?Z`uM6#wksa5&rp=7EfMtsWrpu=7WRn9DY>O2-38?EtyP%Eg>lvO zd`c=aFlzjm zi{Uts7?N}k2T1kSCRVgO?Mn#Y{?1j!5XVjavb3L*=DN(5As}B^8|1YeqhgY6nE>?+ zpH@xadq-U3g;%w+doo>D*>SKLB%2x`ET7!JpqXiN$H)~>nCk`c`HF9+S@4}FFl&UB zWK?ojMqhdl08FXXf)H;xSXnKbzUan>wnl3uXH_zxngXrQ;eLvRB_6=n-4Q8r2)kcA zsvr>j>A&#?1uFTI3FRfR(|x?gF)+7n*nzo*FIV(Tp8H->7;V(sFCW(aE&Qt%-+l(( zq48kx^R|~S2kbgLdaZh8;3B9tcLRiMC!&XrS)#pusnXOBX;ZXWINT4?wte^9&)cCsR7uq+OueWg~Ls&ya;owGjT1|#w z7TW4;5rAg8Xj@#uKGzdS{j?jRRmkVZpB=gFH=~v$VOYezYvVJx3Mpuw3%NUMCGd0s zI?NP&EKP)c)qFwGLe zIU8ZRtT9e{<8~=$AQ9#_HRlIJO(6{lsV0hnA%Nkf;Sg`Mg^qjv`J(#iuTtaQ;s{Dp zMUpiDT*&vO#DS={wv3dr(lCLI_*|5|&VOPp!W%PNB7c25v_mt>Smy zR*vFb4wDi4lw;NpJ(q+Y!$|a4u0Ww2FiLFdv0XzPFEOQyBc7Gxd9*il5pF2$2Og%d zDiT!2d$eE4jq<7W5#nWqgfvZWe~=STW*cFIq3HS<>G2sIAz_NT^=Al!mp*WGs)cJi zZZ~nYkW-ouBA%uS4w0pYZ%%38dk@57s+}k2SRhN%n@Sbjj`3BA-z}y~m}?madC4T< z1U0w%vKjmi6Y;TORT+>LU*svO0u$KFNrYxmS6y+1fP3=fFEIKa0gpnwpSJp|_tSZP zLg3`CQP8%I*GZZ4xe_U*r?5UD__d%_!3B?l79{rJnM6ulriR$3X}(G6a5epfKv`0U z5rLMng2mxtAivn}R ze-$*09SwBNj#g7bFa(Tp;%X-|$AwW2@;%F==~Pct)!CS&!I%K`(r@ObJ8Sv@bRA{r zFvL^D;{pEIeDcZu*<H;?f~*gNSzPj=FPUAT%DpHj#u$aR?mye8de_l`Y%mFuTf_wNvpk&0E?{B9^i6Lk z)Q{)a`}M3TjSeQw^9D#_Dt^Ejqf=s@eu|&EeM<3<`2L@CAfWZie(0#oE==5itBqTg z+JT|%0SJW)({qALj@jm(nyF$c{O1kPjI2VH4VAPlw~ZxaiR?d!wMYkZ8Y`3LkRBc_ z0}3G0nNZr^{`b}cm2Wn-XCwQAZIme0#EPj$eYYo+w&5>!(G~1IO{TLP5JwFgwG0JU zY|?^xBdTeou+R)5RVNlod=jbL^V2lPW!)b|qFtA#~Kb!l7aG!J< zhfm5se)~ZsC|r(u+W)7$RDoXfs^Dr873F%i^p0M%X;boagej8OrMUG+iJL37J4ZR` z%ZXjt$B)YX4+dylQj^;&hIf+XBstl=pOOX>m=maf!+)B~5jlYCWEs56JPP_ zs?&8jL#;a)%eq73%4dp%(&gFl#wquABsaz7B+yt+N<<;sU4#axR?eq|WebI+=YSeM z7OJc7X+l&h1svNJqS0~80U5*8OBiE}Jg1W~$MnJc*rMurl*A%hIXTzL-jHqEGtgYH56mt>wJ~^l4mn07k$x&@`DV$k3^rv0 zQBN-_Gv??LgKvU?AOt8f0gj4VyrhL`0t9Fk`cJ0mQ2vG&2GK(#V|mK_XYF0w212n) zWm`G@uFuM9UP{LEonwn)Vm%$Bc=<}Tyi$8(I7PDTc%RdF-%= zxG*iK9`0_l^mWEz#)(3VW9`XHleapJKRFyW+_Os*MTKdvxRm-lk8Yv1hMwfGNX`E+ zWIfecnKy?#Ej!{Ab`gduwdVrmmc7ujVoH)+<7~iY;)o@D-5@3YwSO(_3zE|udePOm z2y*nvBcY`hr4-LXX|rWofsxtZj|%sYHe-A)p9_|Z`*7Ai!+XWVNfBqyJ?g^hq)XrV zQRH0)scSx|#jr224L^H^biH1ZiW28{Uw1j$P-WOP%i%3J?kK|7_?yq3hBj!MAk>kb zc0~iq5y^5pUBmiMI^rbI(kd#yrie!b1q!g@ic`MP5Sj9Fq7MqjM7ffpI%m%rWv88J z=7#tbeVuoSlik>LtE4zYj{z0+yxY3linKf8FkMXYY@2TpblB5|OYQ%ak_ftZ{0i-V z$Dhs5V5MCoUy2M`SejiDRSuQLi)+cK$Xv3S%M0(T?2*=b6ly=nPv#+?;%IA7SS9Aa zcY7ks4tUvo+8k}=$eqWG=y}j#R`=w$^XNPLsT#!K<55Z9YS(a$Jn5INjCTiG!($%1=2QZ7A>?OB^dhQIkf zE)^%F+A|*o6V@IM{7~S#&Pf^j>U~d^J`c{uT?1e)hrFWo{Ai+tZ2WfYu@i8JgV9>0 z{_PyB^aD#C8q=m+or=R!w}5JARua~_2I!%(sAOYJTchzsEpPt`M+#a%lTHx&YjXKa zF^!Vtr%sr}`CjcLc_|Y%+uXX0l321TQl}#KvoO@;`6N#3yjbI~_P_o?9l!2ds7^&G zfs*Zo0jm+Z%vc?&Qw}x9g-Z2~$`c=EG}HSUu8)|B(LD?kx^&s_W~jy|KfEDc5`{SJ zQwjoKHjZu(+MagCXp3mF1U-@@QO6`zwVWnI=pGRLRMaqZ)n3jN0mzoCyd3#EN`(8r zy;eP%+u>?fHqDcU>D)R1iiG65EIV^qcPAv4~h>Dp(Gm8kWn94 z0o^QI)2I*eB*pKoVZ-pl4D&3*Nllr%<^wW*E`%>}=K6f8gOk1~1`ut0!CFuDsTGC}gn(l=>8SRJvV9xEE~-tMPn&Ud7r$UavNv8F1jXDfC>f02;ob z8p}8mJ~JJ66MP3-AB`$pn8zR2vkL?LD!32cZh*1@7RhBp7moQIJ~^HlC1>WsJu_9x zg;5@@by!Ljnb_1@aCLal2ZT9$MfkAy!W%vZGI}4Z{j+PgI1_R3MJhL(N3toc2mcCL zDtOz}E;&!@4?Mh{oF#-zzB!GsU5};yNR}^XY^y&^YJ4x?&;-v7mFl)?O})j1Her|| zkGKL}{M10BHhm}9%*Y`f>v|^6CkEBEF?g&MXJRn9?X+N$Bttdqv=n1VnzGxSqJ|vy zHmb^mpFA~fLGJ!c1O(DG4W*Dfu_>FeaF&#FziD`H87J!}!!wshm?cV@znlB0R=P`mAF^Q*a!i3Jkb}4(rcn`U70grThb6KWEZP}xQq>v? zV(h4ndM`V9se*G}I$-yX=&@binR#R7$^A+%BOR-Mx}eSBJtmn66MhM~t9ufaXNrV< zKTyeLnCfNA&)@O{^#o{3$?j`I-ri%^1j#Smpb(%{F7T-h_W4z#Ez~sb?$8+g zyzn*7_jN?7W<{8Pj;Q%Ed3Zch%NECtEn7hKH!m!Ymup+QHU+$ol;Ui0;Cj^5QON0A zb==`h7tMN!VX^~`9+i#AK8WpI#4uLsl#&{DK0oQ(Mg1S5(bUenC+kW9PsKTmv6xa9 z9UsFb;aY>{+#t|xb(yZ4t6GwePK|+Y0%+cDmv1oPLWlAoWzJ8dr6a|@BPJ!+lcgYq zv63V}|Ckf4Xo%@SB)3^aw&yzC~+i$Ltr%z$TETBhI*7Vn#-oUw+% zFag#(gY=?|ztb)l>!6$4X%~^}9D>q<#}e`9YM8}uKtdSMXR0mgbOs9J*=JA4f<5c! z*Cpcq8r{in;*ts)`tHv8&~u3z&NkepYk)2(3X+~JXbe_S*kw&VC-v!`M)X~g5)z|@ znwC6cIbZ5ufvTOkmmp4XVZ7zP z+d#jUgvlm<$d}Fzz*bk+6fY?=pEYF%&$N(8;y}ps!yYWu$5C3vG+xS*F#irQ#H&(n zZ?r{W30cdvcN|a_YPhWsjZ)O&EAchkrKNNNUGU^}+eqr{Q>e?3X)nsN? zIg=v{pcSRmmh>p5uCYM@gFAW zh-%??jT~B;dgodxi0&`8=VOBnEAr;Pu0?HcGF;1hqmolnS}Y% z@-8yImKca8D=OyXr}jVG`d(Vr%#lmITq>c6h1i|#qhgw2aTl^>VYNpg8^5pmogeVK zdoaWE@bc|)A{-ibj8&fFN!Gr#?u%kc*_Z^TJypb%#D1P4(|JuRZF_nI`dG!yAFmB^ z^`B6Q9^RcbL~!&k&F_ZBg9Z$O2{3IRxA3JcN1rC>h+W#$vQ_9NV6WQgs1fCpnI2Sh z((Av19mc2TU%@9mtXRKA#l%|gtdjW!ZT6(}R42I%gq<ROttkq3DgX z+^?#2Qf@hB`g(p13~|h+nZ~OATUdfS9rAk=6B$h9cu6(R)+*A@`X1poo3^my)G%C^ zWRjdG=#RR;8VNH#JLTyncg-W^r-csRaam)N$cA^bxGWO?Rg)H_e-WI+T!~hM_#JgVjpk(uRw)Y+QJai>pAs zebDgD5)rt0HZbQPO08NmFx6#rzO=GBf5Kv8(qpsJD2V1TR$CQe*ryDPA+?%Y zq3hzD1sp;k+*BzjlqO!WjY6IJQb{swUAN*IieZY@+~%=&rRq;Cw`P5raxd< z6t!kbxnfh5d~@Tw;`eG~FvfQ~OnU;f!cg-(0#Op=x^5@m)KEiWn$5^D?KAGWDXYiK zB0g4sxz0ZALHqo1Vzyx%vAq=NrTwZTmS%;*&_89};W0+MM)ksLH1vfd4!<+sIoN-X zLW*aLbF;?~iNuJ^1N>u^3~_d_T)%^*vAEBPF>3P(20_T8cF#2vSAeVKQ*$jI zi_q`Jubrt;lA_1QC|P0sEXh|)iIww`5}+&vhk4YnPhlPMeqF9D%iTPKIBz^7MPt~= zo0=^v3t=xn$z&6~_VuH`OyR!bQ(t@JA8Tj1n<7SOV#u{}OD2D;P~5`b6s!iJqYJAx zBwQWAutMu3$HF+bw4A;D=%31*%z+%^N62+KUOrM^fjfv`@>A-d@yK^#w1HZ_St-k) zU4?|=c5B~Ko=>V~qBCxRm{2(kumeV5H6*(ETABv2w2ZQEz zC4HuLs`^(IK2=I@3hO7R+EveRedi1`Y)SONZ;2(W-4Q*gS!|l+YAO8!+#6yl0o$TO zZE>{~6RxQROU6$(X#^0QYoSwoEWYohJ?&&m@r47rfdlU3BOjs1?<0v7yqRWz- z+6S~&B~`VxV6K;}eerywQPL3O$xgr6vM;@KSL^V7uSC|>8x)&X6}jIPB)(`5hbO4G z-IJ-zW(T@TbI5tZW_?1N*LOOkLR#9bwt*6+^ZewqvFv1avjB(gkEUl=Geyemzi&P7)uAyS_{AQ~+uRX|rp5k@Qw z{yuhklY07dP>v4H`cDPAtkNTsi)eeV1~orXf9b&|^5J9COv5$5SCz#&D#{{mcj0fE zD0oi86YqIM<6)~vqYysv-LNsI#=mTS;y4@$?si<#}?musGXqohualeIh*+pqOGbmg15nj~&Rw@6@y9(8GyQ zR48+|7voAiH<_y>J30`DvoDRc0)A&3Bnopj9!%{_t4TTS4$p}2xf3W6(U9})xKbXQ zg1-h!VmAZ61Vt?70tYe*GKw`x*Wyr`71{2BhT0ar)2fD2xrFdTvJ7(tLYxHZ4RLmB z*kF9DL2<$&G8~67$LbQY4C%6y!ken(+4Z+LmY;;Bc+Pxl%DmAHBcZvspS!zCh27@m+%kT&O=8q z;t$NKfnz(r8ZXHFjN|v!RSpFKTf&1tzT!O1g7ie(5ilry!!M?~jpRYw=+3Txw<0FQ zx3^;Whq#v$o_M3x!-*|jK)x7|pccn&&2xNnhPA#cPq?zX!z`E4XWxy87~!IvcQ3ji zjj~TpqPw|Di||k+a3x<5V`NMBoDcS%%Kz;sa9!iMfjA5uOeLgk$GL|ENP%Wsf4iCl zhcWG@I?+$p9`y4@S1Pl6$Dw>_2Y3kzLxezJmDI*gh{q;R)d5J?r0P|&(Uv`rN&rUI z<7rbHjUtusydiTmOGVF=_yUa0sLh%88>{@bZsLFb zv&!OGomMc1x#1soLF6w>0Br7M7heHm3KaLga3nFrdPO+hZP6n8i9TyLQb7H6c78r{ z2ar3axqKJLkxAJmqqMhH1Dt3C&o7t1tg{3_kHcgEI;C=r7Rn-laIF$)n{S~s&t$9J zT23FVdURDNgp}?{7}bMLt6a>4e*C6KASFEs!*mFdY^g!OcuvpM$JmK$k&+dAXe~L%YG9LDE38m`6n07yX0(MyN-}A z>JY z7ijDl($rUZisB3uRM9RfZzj!EhSaIbA5V{e{1k)niG1nXOq^0e=COXg>5+CWu_}9x zxJpuUL3LWR$cOiMmD37=EW7XwoX!qr|HN{VWUopzrV_#2ZsxiAJSePXFCd?(Nx`PM zL0qyP?Yg)Nh-9W~cUHP#VX}xHVniof0ag9}eCO@DRS^Tl_Xz>22ThdoK!}Cbpmk2# zUPatb3)1XvUib#U=%q`~|F)JC9czLv{GO}XSIuXyAnCdWLmfMdf;qfId~tw-{=(|I zWp`!!O&)L*wfzHDKU>A!)4Fj2j?Ht;XClW6FqhDL=x%?@R*6Doy+zlCo5nN98{D4m z0|*sqkdg&Asb2546f9agSXg!flM>W%b1AYVMtEsxo_*ScG*0ce=3GdDMc9NYJ5~fi znfJaNlOn@Xs&*8OgMXtXA<2UdAHcLRtLQOJp^B$KjDq4sQMMh3WYL@GxLDnF5&6s1 zO-Ds1|0XW~rQF_Y*)npoD>K98xFN_huzAZImYR|r*~#F7JkVI3_xj2}BpUMiw8vKy zA<9-Ml{$aPV%lvq7lw)v?@FPpDl{2Rn!lskJ+@QV;+4&2BjnJ%!6c0m*BWE-NxPh7 z#v&Q7C{9+^UaAvGoGK$B=Z?;_$$D#MyIWSE{<+pGfmd+8+#(OT=F9wMoZ5Gl;Cbuj zFs=zl2AlTH0W{;dvn)U$s7O9DX+_H?Ry%p5GzgqqH~w(cbQd{HXI0y1Ig||QCIfsk zy_S5SR#sbW#10J$=^Hyt%;XUzhIsuDGZm)@de$3(b*%(b9ecjO=+?eds2q>SlOY~c z0wyS7S;RYJ0kTTPjd&}j(J&h}MJy*?dCZX8IoF|(yH2lw1sU!XMJ{PZYyyvMRr1|% zV$J|%g)lUcrcJE?l^n4HL+_mw(nwBGIiuK{Ytc0jF%JT z2i(#wC=`nPPHh?=C(36=E^Ft_Hy-uv5ERNhY#~oO@qC*b8c>zG>AhMQU%fXaMBS(N zjd3;JcpJs;!8{g4;V|%s5$R~nX~;YKm#PemrR_L!(u=Gp;%-4Q;^31gb?BgCobTPr zH16R-r14HRIb#LjoI>Apzj1Kk|IE*8%VtzHxWQJ|dZX-qJ)^;9jWcFE8A6?_eOoE4 zJgnQGl9o?thvp6RqAFV2ubu)L`^pC^{3aApPHvvc7j)bLDAxD@5yj7(z^GUB(eMO< z1CcXRn>S7uUySnr+`Q%STOY3-+L>y;ek)&p|9tq@VTzv|8he%h_f!O~-3vFO>w&{Z zaX@u6XYf$&es|1I`L{;7J06pvyX^+*z?`5$azOpJ4DNd|`;1(xgUzOYHvmjQCp*K$7YYOpu=-|-}zN^z4UxrV{Ys`1s^6#RI3vD?Ahysuw)cN@OP_l)F(ar&^o31kyfU3Ebuw z#MnE5Tr99QbNAtYq*Owa6}0+g+rUR6pfYZi&k4G3c)s&DUdt4SuTmK&eNP>0!2}K2&gIbR$oP*jUT_Z8esk3YkuMnP`x~+q zq$5dgdi#Oav}?n$$SBd?A7?^@SU^HZC97X6m?6Ursc;WwRE19cbw%r@tPrC zg^q3yTsR!!Q^|vlvMG3+9%XNu_!U>1#ClFmc3PlCpOpbpK>-RNqriaPO+uD^$1OGs zYpT{V?Gqw6+1tV~;6B#&ys&~Te}NbHz24{OpdiGicRFHW8CHOA?_9qSUA%f2jkF=x0) zj_-yybQQW1UuoDPPR7oFe?L~TWpc#+E>>b8?m*uY)bx>TtUwE8A9L!bEj7q&^Y5Ls zUx3>6BjeSMZX(`RsVsF+s@W*54;D!_-Hg&Yo+q&jTS;{GSubU$*GREz!YaqBh4|Vl z&FLK)w&%y+`YO)7Xa~}{aNl%YNb8(FTYNrqyksc*1j6bjLDp2vA_-?td*dKgdF`j|-l^Lr|Jh^y++W1UKi~-e9W;MBgVCqO(6q?aXG2|x5Tw!o zVsN71`2YUoFQsB%=v}#vLOPL66mGvUAAAz}Ex|Ewdd`Z*{3XPo->W zrkv(INB=Kif)lzWL@JbUpx$d-$22KWz10aufxU# zVZd`wFEmsA`yZuAWU3)I`mgpXgo!3?uzZdEHHes)c;)#Y0>%FlEy`0#qr<7k-RK3$2?x3Ye9u;1kWsx^D`f1wlYjz0mQ27}qh(;1h4 z4G6Y7oN>&J^B0)L-$k^iZ_D&NLHPd<=ka%dmEqz=mSMTgPgA+awZ?}a|4=smu209v zH?RyfD9wB*YI)Lz^%_I@YQjRB-bH%bXluyJ+o6x`HarXs{~FxyL?|Gy*i7WoyOY`e z(t70aQ(c>hu*Q0OystvhFy=-c75}|_<}VZ~vOVKakgStTg7-IJ6&YT(8tD);zp|nt zIsA6xTM6hHH+D#xkvGWfz^tyiyfnXi!_~JM69Gzj~ zlp+HlM=2@{$yEWL_v+^rWRU{pZ|UuKL789hx1i^3iK(6H^)?y+0_#0 z;F}4aW4nV4KBdw0!6}fJ0`bxPzi-X?GxYg)@(R7AjEL;oON&@@X7_BvB_!gqQN}2# z*gOByPT+}ZPpiF6S;zIh?^Mk+&;E1Sb^tIUFVWMQreI|?dZ=~RRCqFw@{v7#69By2 zXfgcjoe9A5S50<$lK(~SD60}za1tSBV419{nzo{l;FYsFH1hT1qZ0MHxv zbO>J>qNB1JDg5e{?P6{!5tak6xE&xu_Iy_Veh){9-$(>kbFk8>1Q86x)Ro~&n zpH)|`;!At&S&l!uaXCPIW%(rj{WE%^?-s+ACTLvZa9(kXReka7Q5*59%9sXYo=<|5 z=fI*HFMLw}_isu`^(PGP3MsSMXG11eGbc!e1U zGjg9|6*e(hpiLC}$+;PO7`5uISLVJ?BH-EJ4`}t{=WN3r;cO?;G1Sd5WRQLRla@62 z-;Lq{9a?;q_?R=}LIvJS=F^9;^zSLkh_DwH1qs!`C~o<>32$bf=Wf!}M=Wb_XVS28 zXe{^CE`sOpx8RK{_h-~>9A%_68n}p#^Qj>#QBiyQ|J@J*-a{FsorUG)nbsKW1xO)E z1G>d1-oT@TsDjRPl~q(E^xZcWldExLt!15p-yWNQZE7`;ezuFd0bgJLbvOF0*133J z)E)FfOlPeQM%jTO@x%H}X(Cs{$Q*dn?fO2=BX4c%pUYigKwIX~X5`9zRyC-rKOTsV zv`00-^>{H@BQKMpIqv}ufg%GsTGJkYZ*6hU3qDlHdUW43pXOyhu+Q#9B zfy4RIgCjL_vy{qWlhecJH0rAVUINkhUAU-3kd9AE{heV!QaYCx;?*dula}%LDHDm{w7X@kT6T>ZaxiKWSc_dKOA8U? zRD?Iz&^s<&U9)S2W#|qug9i?%aPOhFl>UBAgh~1b}oen z!(&j_2)s&eEp3qa+doOfb}ES%oph$RtC02M4QLmad;hsSx#@|0gFwstjTBxMh=~S?rTE~>~^tlzoOV?xUN4uo=?AZ3T=91q<1@l9b;QOYZvV64VVlFnv)o=^ zKP~GqxoocLY2{@k(%zG}NT?>Z{s90dYp{u})7c0+CG(=Z0`RDJoJpFQau8;m12msx+P67x**K2h$;=PH` zuj$&C8)_9AV+5xES#0+2xc!0PP5wK3fvrV?{%M0M#-eXsTP~99$C58!T9luaiL(|5 z=Nd?{FYbpNg%iXJIPmO@1)^SLD@c+Z^b`@&G;QR&AZZ@H{~k9Wrlf-gf<(>j z#JESIda2K6027n@=^5gO91#)mP*_+9A4ehgVacw|M@f|E5Kv-7q1}8l7(u|IpUzn3 zu$V;Rnp_oMF0R6MgLPkX8q*%haK76J4n`#v-&8RXSKzrsg?vLgdo%<(w`cE(=*aug?dCHeV1|7ZL z1c?m22V@1*VYCAFM;3cjZk^tTv}TCy*kP9MbxIQyEF5Qb-J_Y{5dO_0QaxAUu`=W z>7(#s0B>A|oba-h$%Y~tQro{$1b(4*j9Y$xAAP>+++4P0mpPrH*x%JgwuZYbB;SGo zi=DdE?GQuTpE|lM=M)f_@mOM(%5^zg!&ubA-Mli)2`)ObRu#rcxi4{J?O8* zLH1iwCqUK8kgulU>Z<$JUx8-o5B&JSSJE=XF-9?Yd#fQH8x{fu8&c7@H(xbRRK$v{oMDvm6HDgQ z%V0GTC*b?i`Mv-CelwtJb#@aPnz9YeIM<`OgCd_Rzjlr>w}k_roIk!;l22`BX8cT! z>nE-E#KU8#{Q32TIN=2foBvVLs2Y1#NwGYflWL0Fqf2U7gk1Tb#r7{A;0-?9`d~*_ zgQN)4&}$mqQvO-z zwh$SIpgsqqSmLg%@b! zrK*kPrG-sae091mDtoVY&0Twn{w+CDhyrkacTl?3%k-(rbWf!i$orgs4%YuVHH-Xp zh=@4MILV8zd*C>PduRM4X4}7rpKoqvp)830nB+8W+~2`C{Ngu8O zIBrN-d1PK234gos2)0Wxj^AGygx!@T{Zjq6H$iaDCLn3f-| zn5oa9Kz0Bq{n7h9kj&GjAyBGM8cJ_*^p{fwJ@@4|k&hz#OKaKL6Y9_+6nsJHY{PpH zzmxS7qwYLCjbQv~bJK9a+rdqG1EOF05<}lj5TO?qHWB2nHW30{1{*dSezp?X`cSgF zL{5^A{jbne;iMDcl_}lssQ=!TLQln_lHJ*A9klM@-5Br3WNz?Jhu9q040EWL9RloX znrLMqcWcTxJ1;iRqC4R4e__sYIFcizYM&_1B?E%u%*3yu435V;P!0^hG{Gs!DvqLk zL885MgrLekTjRD5<_p(XR4~R)g5N7NOWn)q|9U{)O6P5UP+2od^EJx$oijQ%azQUU zreQc;oXuBLS(E*4kH|@#cF6MNh=BJDwN6?e*A;AZf8VDXy>$IN?7Lt1Y z(YLb;D=nKO#aeov6sYJoeCEJ1^0&9PafrVt4=Kf->ChbUWoN>+TIRB#40;x#5yYkK zt7%&;+<|#O{b$N{{|W03+;b``E>C)GEgS!{w8T)(CeGbYDwR2>DqFgUVUK(ieofbO zq90Z!tEQ%}-VRl4x!)0JX5YvY@#h`o(OS)M3u_&GB+hV+O) zi7_sx0y;6Xb@l{EG{D*He-!+s#ll+9Np(q~D3MxSed;vn_Nt=&S-NH8P^7e#$e&kH z|G9@aRD^p(b!kpkD`JS-fV1-kF4|U9;R%CBl#z5^thQK-Z)2K+h`pg`cKBTLzxhx6%q`e{_998B2SLL< zfE?)3AISd*ocor@Z76OB!rmo1C)gcsA_|Orcr*Lj8#NV1q`CnOz0qs*jSERW7^#18 zUps5#wEtR)Pcdi*Er$v@s)v~$71~XF1hGB-r|25Cd$REnn5;DQP#`px; zeAVoYDnkyV5nEU7=BkT+dOhM2!G-21bU8zj2){w;Q3Ud;C1zit=`v**FVK8Z3H$kq zKF7AR;*g*liKc_8T$X(%H_q8HC>TfHW_p4XGHjAJ)#KPVuQ=^|&1xH@Dh=_i0c!GI z5mR{e`_Rh~{!;AWT6GoisM<;uG)XkT>=5K+Ug+Ers=}ZM;3!Vp9&Z&P0 ztTtr=`Mcacd{Q-5*?{xxfVzT^(v~|ZqKGTA}P;u$lNtdKwO;|)TzrAIAv`X z(0{Zjp-d;nn-dWcEnvD&aEZjLjm9)!>wF&9as~W0ciLxKZpMBOAg`ri&_a$X;8in)Q`bTq81vuF+c4c1MI!s__EE@S; zaYbBo7F(7~O@t&jJTb{Al)b1X9Qrn-=MWMIYW;JlGsd7&iGJmGA@7ed)LfAJ7R))Y zhUmJXE)~uUN37?jwn_=Ua$k^H=dz8$^fEx~_Z_E}asY)$Uh^Pwzc0$V;M2ER{#l-N zq{vwa4!GNZQz$>-$2ZV0kkI-I1v)W54)bjq4iOF!b@5PjvED*H2b-_c#qrO_TBjVK zQ9^1z7|Y7t^&&O1y+49+t&VA|&O)z=hLZvV3sKhEI43`-*v5y<&hNwsQdvOfF$XK8 zQ4gq4S6?Ut-o4ycyDh%l>%Q{Wc-{8O#7T;OfFQo>Xej;e!z-hKYd!5aEZJLxFeq5W zYgM6r>@_L#@SDkKP5^boj$<8xE9#U&q8o!14&^QMK_CX_y6CKh@;SZpZiHUWn#3Rk)V_P0T6np)hcXN)(wj$jq{KZR{! ziBhbcvXkG-8&9(oM;-Wq3{qx$Qu0Xz()guYJA1O`V%h#(>A&hW{y_PiBNSp>=s=6r z!Z(9w@fD$`Jud7j>r6tJ%z+@@g|jgoGiZkXzrSJr2v>KuDZioi`wNlZNd=`bA^}Wj z;J+WD=O4avM7N3Ck3;Abo5a{J3f=GIOLWaPSh8!Ia)|zUkLp|CYS&;(97djI%>Vd4 zkdie6@pt8RZ0LdguC$vZOOqq(MRA~OEgjku5VPf;lL_hnY#u`B!^&FXf> zOydlNIKTaQLHJJ}{;Swuf!#ki)?>Vhr+))z{~x6VQhrB9 zRM71MrQPeN`7eI{XW;&&3_(2~SZz@6dti)*{=cf?fmTJn&)I-d-Um0?Y55?kp zJwm;o34+E*{*Pv`!VTgD$qzd7>;u!V$I|XiV62Qd{^Jc}bIcZVl>7LQ3ETht`EP5W zA9gS2I6h6KbbOKZQLMuqe`5x_Px^6>_*JX{@Ba>aAf@yB55{-LA9)WKE&gYB)+M$Q z%+~9}WVD#&=ngh84E3YJ6!M6#{apgrno<9%{(p&|fCgr;1s$6glJUQU#hQYs|0lW) zbGR?dG4&X4fOWgB=08Q_T#HDs>tBnwdjFrrK}!u{6WvO%S`Rzj6?zwJTJm4@{P&{{ zlXVcZ|LuR(_8sb!-OhmxHdp+ggUJdv?%d4xpSu26*?zx)v1~c$rqIFuUvND0cKhGWLGk>5l^Bh}IMf#nC4p<^9})f2^ghu3e`)%EKmPx1 zwkQR{s`bAGVl4jQJBfKkG$kRm3Lx#@!s~{|{0WIr#Q0ymqCmi49TY-%HWXj#X&lE#g{Jqo%K?>;Br4QbC_`d=L+fcdKmZy5#V|MdsO_ldj`Kj7|;{Oz-U zKS+K1vNQL{C4s?vrrw@`!Iah;DQh-oE~}Th|uxHwKJ1+mg1$DE0<= z{aU@Xk01@tDQT)@O2_W}*8MJQyJrMbL$VmUk0_m5wE)&5f5t%nfww6Axo#Z$bz~R& z*<v)E3C?rkHffhQdK_lUBqF>z5mn7EFV@5Kg3mt$N3W$eaLH;#~ zHtMtiM&r)8PiFQ)(AgPe@?m;gUWEc9uXh9I_U1+fSxwbBri@{tQ2fO=M``9Nbl1JO zBse1@qf~fC3IqbpKcoEL`U+>*UHyOY<`7kTMcP zLL3$F)PlMKE${eKxoa^X}5kd1ehbP$atp}RJ{}51}WU9z35xG zpYW^`7H(`9MyBFVzdS>ZRziWU5^GuZdA+^jwu+zkJ}=?{hOIA;&AUe)jS&^p;pVrH zeZC9~ zNq)c!zc3Rr!Kx~}iyv2FEx&8R?{!HbwBVnntE+oxPDj(?&NlsrBFLTb)`9&clRdSRad@;>o|8vNcEwa&*4>sG$niXRU z@`;CSDr}M9M^+Bm;sc48s6olCXGtxc>=dvn5LJTp>`Lalcs>S5=$=TI+lml0$>{tc zId3-h8^JkzSsp<_xPdAx8AfT%on){CaH7$mygKoY^!{P_2flscS$#FH1M@pKlS+hIz^ zn6=}IzAoAASga-47+l2mMVaRjn3n!!SBQLE!?Invd(sIyoV&4a9F@MbpBXu*n7L6o zfLfFNms_PB8LJ$na}=S#hP6t&8}N2eyE;OZXV3R_^vd_vSD5wjrO9FK5K5+%XZ_-* z`^)tsF1-BuRE~j=aW~Z$t||hq5m-&n^L1Gf{>E%5CB&h*YUGD_M58HfN`_$BA?AWo z%QE3At1|S@9jf6d7es_;VV^`qax;iCLq;xS$?^&cKG5s67y=|CucHJ##ogWzj>jz% z-1p>}4?#^?_YZN=X0QCYSYnN@&Hm5hN*?v(G>)1g?{o5j(swgW*lqpI^%MB1#J-%r z)AHwi%`pXq4jC6hf<$56EC!%!Q)sB@-4x42gOz&WJ8R2{QNe?u^^4o<)SAMOYy8|@i=x6enGI`}sxM#Co4j!3w?EcP+kH3v zJqP_I9TB<~Q9LZ0py?_2%vR!2;{;yRG84d0s11xpgb4;aIBvA3$C3%jx#3me!?MSZ z-xF9lh&x&;;ql&@slXYF)tBx z-ot<~PakJDQV|8-6ftZ_&)M42!88{clNFibt#9HdLG7aJ*A{{05& z#i==NnzNiA(`&&sst@$uqikTv|8!gutRwYSL0|B@O+yr#RLZunpyhDx=p9zJAc3AT zN>D^(pylcOoubqATn3lj;n;vyl>AV%A(|HMZu7UFcCcM zDmyFU(Z#UTxI3bBq^7K#ih<|Cy$*u0vagXKYA?4Hj!|eRG(Z;ka|HGHm54AKNu1#n ztwdlXew=LfZ)eMuaa$p{kKiO)#Dm&Y0&KYMEZPT4jDsqp_0qnqDB{yKc_zIOlZ)GP z#vW1bxtvUt^|U}+S~fUWf*>ZnrfJlQjIk&JGnb%{QXlaBd=Rqv?qUScI%=6-ryNQ|OIJ3s*<~Xnv%&{tQ{-}?0KOZn!UEsm6G&3s6 z7V_t-dVhMQs`^Kn1^ZCBp9(i2+5vOxe(NlMV2q7;pnHdPNn_}(lRJgKsCF6km|#q6m(ri250+#8M|FLn1{2n1e&cW!YnyP%jG zePziy_) zTyn3BC*Qo*aXx<7akBb515_pR!how1+Zd!so{@~J&2f%}UQ$^|4>Vy8mJ1@9Bk@L5egC?KH`)uM*s*{n|`GNpa*#vpdy>7U+4_(*%&N^_t9*(%y*2w?L^6}x0qZ>{tD5G&j%`r) z%CNX@nid^1Ai*2QvhILRh-UU{r5PGB*WgILp+9)9;ZcKM)2fto^lCQ%ioIHIryyEq zY$R9N20eufyHtUpvfRSxj^T*EwMH*Sj4M&2JsgT@qpM-f&Ev%|e^nNwUOg@NkmUTn zajbMgOoAd6QziHARJb&bi@-_Hf4ws^=Lf&7#ccvdPwDW`4jYk_x_yg@*!gTogkM%U%1mJXvdsq5N`$mWhg|;r9!@UGG9O9Oc3$T)FT*j(rE_$ z-LlZZgvYGZT7^;DsJ$Lz3I%DUBU1>KC|BFNdU~?-OcAf--0DKTa3j(VbJk}t=I>f8 zX^M$Z8Q+y-`#?NUJra)Y3V73klsJQgdC2eIa}q4#{59$%Fg_A6eL29yggnNn?OF-; z%K>Z1NN`fQc?RQ()QH#Dogl#tLkqMh^c%NGXL90u35Fc>vIA(!6o07Jjjx2z>*XZ( zN+;L)G92qyO=hy7tHFSV$(kkfDv_QxcREFHmsOV?jK<0He8JApexKa}+Sn5r%Mnd` zLYbbAYu$hvO1}5001>G)3ngm58%Jsd5%0ZEk&8HyYep=}=JVMs-gFecC#x>iot-uE z!5Y1vjyyVSuiBBpD6XA|98cOU)&jo25e8PYf1%RZY~H-}x6=99VI@xgl0m7Vy7)L1 zYOueQ+kT4$@>~O|<2ZZ$2-wU)aRv+={00e;K198Kinc-R>sX71=E|A>YpSBW3sQh5 zd?Mya-5rWUmU!31D9|$t=K0l=)$`X48zhhW_H>quhesapMPKjp$s?s>fM19Bh?x&= zd80o-k#F8N>+Wogc9j0Ic1a(nJeF%!j@>%ZP+H@Jj5klnE81h`g-pmN>5k_@gr)CH zyV-(qisw!y&f?&)VuVT}} zuq_$|zT>F%A#O@hUB`10cZ_ZcY&$c&&L)_0sdFQS`4#v^dryT<5&?}Q@6cgJ)y|b) zI85ixcv?CCiGt${!RGblSzTX0D|YV6#raS>1qydR*BgR-w3^_pE~WO7F~Df&%|dfl za`Zecz=3>h|Ho9309qU1tiZ1NSLkN$`lt!CIb)pliGR13+7v%&JyOv6^+xbfR9Fx^ zz$+}cjL~uRrIERLR`uxp%V_JGLy}-VJIYbx^y&LWJK+mhGvIl+z0vQN&df7x{x8vM zDns5s(l2^UxpW0kpaWr@YeZ;9+U#h#1ni_HWt5+_EBpM2sDTDR40X?X=eOVI)Gi>l zhIDrTxJkZDAFHa0hs(((R!SlxDB;A@wnN{y3pTI;;ob8*PM z2_vVdBMOQqYi%kChtj)Ct+Gu3FC?#~r})yGL@j8p`PWDWLj=V{oK`1R%xVf&geGI? zCXsW3c97q>bw&W9!7a)Sn6-C*t$8@5GjyLb@*Sy50pve0cV7a%(_!5QzFx7ndifF zof#&-G_qFIDvKtu>OoeY;1}rqOGI)XqOum}@f20XyuXq8Kr~i)LK;`V=28Pvl?!Cp zI>WpSW7PG%x=hR0O_F=9lO`^)kfHhbIIMQZw$% zj^{$0l1=UQSpUmG^fVXpV;Qt+8pOmoYTGE8kpRyM>}RI+W0^{7{_KncU)pmhM>gC7PF7n>izER3iifD0eWjd}L94p>o~2DK8t|>) z-HNq{^C5;%gB^A@zegm@S;vkzc6FLOE-r48>Cq^L6??W8f81h?kuuAo1Cc>sovn0r zEU5rMWvzj@tf0Yk)^KgYnS9R1f);uc5fm><;Si2w=O62IEr~ZPR&pzZI!}7OhZ1ml zO>p^M0{eHM#_286472c&ady}cN)e&-#R+5MDejPYSlu2*yK-{=Tpz^DFP`sbO~NzK zBBwh%|L~w(Bzr^cQpM7Sy2^Z3Q?6t!()#tB_?Svyo$cZ_jZ0%> z`i_F(Lu8IJA&&z-J43-uiS5j0iv>rOgJHCuOeerW%xpQGQu#wd;B$1qcaH|uY4j(&y12Q!Be1(aon!XKL#dKy06n!L=F$aB+%Kq~ z!Z3IAj{#a+%Z0muI|*;uf%iv<)*`uD^@SD3pU9d!Pr1~J&b~cOGn!SQ6R)F(?9IrY zu37&>x9c(Ro&`IJeiaq?C?R7n}WmsVEfaPrzP*2CGzaoX9KH8;!n?{ z$L)@DSLl1H2u7nDHWejB_AU6nX6z4`Q!!N1010D1W_<1X&g-7Pq`hf9+c zCiT}l6D{s=mK~B7&HaM|HAO{K2!1Q>Pv#bGhgIsOxz5qWDm|O~ZIB~r5X&Vj5~rC# zcPlK%sT_(saPG8W_f}Bf9(vqjcD)mVZeP-z5zQTMkvQ-!iV2pbHhKpDENOB9p}{Aj zoz>4CDo*C3ID6j5$fI!d!I9%tKwKf_wIzOt_5?xNbEm&D;pbcM{E}>3!lz5R`+IZO z8~qSx0%xRRPUIc%xNq~&xMi-$+P&6VnL-VF8~#{}6~_o0`h#m6SYxny!E7*@komGT zU%?0fsVB5Ni(`);y-{*<+nj$)W*fKsbL(XRjj4*1t{o~p@teN3drh)gy5qs)8$*cp zGGZfeanfHt8p|FnbZjJTh0Q-(035b2kS3gxM%rf;`$RXfU!0NEmpv;_NjPdivB28=^W z7Gvx^OS+05xDMZ;T!}tE|G3>C%x!lL->4Q5UotX(n#9OtFAgK#6)tvO8~MB0XT%hx zpl`A@dD_~9Wn(p4X_^sCWj1ElVC6i?7e28n%yw|$gz&ALOh&6t8zglCBHr!hu&vY* zRlLM}TqK>RJmz981wAs3ajEFPe4fle$lL%;m?MascwjG>k)niD2aSfJ5_^>eaknbe z*i~y&ojz;hH4xV-PCW7GM6sPGdYD%kL2ZaAn`P9WGzVHuqc;p3U+9l)EK^_&FrPAx zBS#f)*XGVK=0#@O#l9NL*Ja7pqQ+!8SMtb(goNN65K}uQOj|5cf8e*@X*>O>J<`d? z(5F2+FE0}bL%vKU9jhWuAr&w4t=p@)xmm5UzmTjRiqs!5{wG3<)CaFM)#;n*q?J}W zZxu}`3e|2TpxLW)I+-*}D&eZ7%ae#nr|uhBBw1cC0y>&64YM8EFu=Ezihga=NrSIX ziV$dFn=FGSTqw-K^#p~#>k&qO=(QT25xkPSGewL>mP)TPr}a zhID*0uX@3k-t2g(0BY~7E58JvAD!N{rckG|X>geneX7HUPneD(tAzrB9?9n^)w>l6 zjqH~ReSuTh68pw4WCX59=n&4rR}Bq~Ki*bWB{!a$0toJIzW7;65pMzDb@&FWDKa0c za!BVn4qZL@9o?T}w53jUUJ6GtCIiy*b{+M6_M&I-GSvmls0|Bt347(Jpw$$t#Ut0C z=`!{Oj1h^fgm>QEndxqQ=QmjdGL{gfv5Pa#9_wz`@TkGUio5E6#Kdf=ceDn zM1KbEO>cC}&16t2$ony!SEa6{_U`jBBl=tllU`{=j9G&o(38W{fTZ)2&K6t(CjO5x zkKHUVJp6p$IMpD=E>aOfD{upeQR=jJ1et+ln+ z6f^o{y0@^0hPWt&Fate(!a;c*J=+$W6NKKjrL+PM#gkF}xD=?;MP+dY%a~5<`qjRr z@S*^vm$zH7ps6Y4oKdI$kH0GY4iv$pQ-@@EBJ@?apyuL{lGM}#vy_XEds#7WoB)e4 z?+M=INZIqlK4*8Bb<6!=0bJK{gywX~cuVk%t&yAEb*Vw~qiy{p@(t>^?+j;7+{WQo z3Ym_(WA8IePs$vg&PgzUYZLep{7Uyjl7PSP}BN&z^HLN4}Qy&CAwF{&#Y1a-ME z!@OnlYrn7(E)i->&%jxn<%qs{-hOPdQ(L&l8$@(e80e7I)#j2oS4Ks>#j!rk`;g)g z#aj+PJmK*CYQD0BYFv$D^7YkYthl_eFR! z^=@Qjf)ed%6}s6WA6FuU`CmYx;NtP+^#N<;w+?fXS$ z4E?rdeO+VHo>SUGwh?0d^B!qF;!nhgtdoYm8up)WhZZnqmP(5gUL(P$w3*!T<)NIu zhWMj`73Jd!EO;iGgaJ|bq!7=uc#aPJ6Q$De_VRfB%9;mbyagcII>x5p{DLIYy4C4- z3dfInF%~U%&H*^@j)#J?k;)27GHcMoQB5JKuUZ;{F~arcOn>IPh1ibo49du6^as6>(;6L2irEt3>6w^{ z{+>@G`!LzQ$rqfbz^4BiFF3uJ@#Jo6hM1%sjHgqPJBhSFA^Bc>GT41v+Z`#C^;IP+K-h-^@3V2? zU+1gtDzrjZ{n+Z83-r%l@R7ONJ;X9nAUB%S-G_Evw_GL=(!$Mv0@i2SDcY&5A3ADQ!}+Q?#CBFyMLCT^ z?k$rhk!H129(!Lc+#$Vs3w@Ilpd~}H+pYP|$GkS--WFfv<_N*TJ{vvbhUW6HIXXxz z)KfwLgD;*Zf{XMV%YHTLbvLAds)Zt+t`NW}X3~Pmx+}m#W@7nC26W2p%Dp1t-N8n0 zB}W`8{VlHNI=a>IF?enJaa#eCD{Z0u1QW9!ZXy!Wzp%4CPt*J{cYE}!@TB<|vLhvf zyp>$)D>(arx^G(xMoSel)6Dqm3{Ml~o(`mJ4EENKWoOFxLwPWK%6n3S>>XQJSa*3t zYzLA0J)s^K@0{2Nqs7X-)|H{$weVerG#i8Fb03}Xh8#WylvYO5<)U|?_V|z;vmSPV zE(Mfd^;xrcj&x_nIAFH8^tq{&^>M5jCD-brZ@_Nw1xnZF={1k-kR+a6_HvWC1Tc_I zSfGFur^>l^2jj3Jy*^ENY^rr2?m+GI_%VhfIc1$24u+G(B|rTVa)5Lde?$Z?frmluXEycaif#8Gk-cPI1_ zMF=1shz)Swzjsq zpNdN_PelKsExZ|Wdr1>Qd1|=2dF#_~Q^}~n*0jx+##CL(Mz~d*B>MTH{V1C*XT7^A z1L=t891O<=XdIi2F2^Ywi=LF`T3^s2d@kK5C4TzMj_aqcNVD?^%inFI${l*QeC+}j zjLUv}FZW*L!;9;qhz5DyK?U+5I+_R-a&6Dc2Eyo%6X7Z6)GJ#u`{&>ZVwbw)t06}W zQ!I97Q^P~#W)rXUILKMQ^a=THj=628}bEKIkf z)^2QR(cZU6kDFt5QCn^2?)`Pdf+ncUR{4!%-|WsCp_fl+yY3|(N~m!rlp5N*)`R?L zF^Q@^|3doIf~vl|?B^H_S>Cd@`s-+w4G)B4tW!-i1`tLIgmD)`14+KC_rQa{e9QlB zEX}29=zV}Ynu337DS>A(S?6K8d{^={c&Z=6^z+|T5FFT3D7sAnEueAKI|EaHL<+Uw zlnH>kqu03Qsta5|vJ5o4d8i>T!MFO!0q56y&BvNZ2y$3!%I2{xmxS#zz{9z(!X4CH z4_fX{%H$;e;T1zH0K>Hh?A$KwKxI*#NRwRm23yM=s;aeC6XqR06mKvc-u!!olKi_AEEJeU?q4CdNn? z-g2pC=-!;WLdI!v6Rjb(=ZUPlIYfUsi~jw?P2&$h}ZjnU-8X7IiQ6#4Y?#!>L2QJ@w++F8=YGGu|Ujjly1ZK#? zs&RsybenVW9u8bsO%fb4>XZCcYxPl>ejtYR%ngU`)lUh_BV@$Yye+@Cxw{2DKA542V;EZ+nGD5;mGWd2hoqSK5^s%t>W( zY#!Pc1d2y$#Zo8D?tvgwlJvU3t00&j(EATmbDxTk9J?bY+sxpw_&v?zxe6bG*F}ya z=H_Qz=~)Fe_kCuZZ+ONB>$efd} z7}1_PU&uUy%J?6=44fHu2R%5iDLzTm(DNDJ89A*9>LHI{V@gSuw#8=mnqm&71R*?hW$ZXLpRsf2)n=#zn_K9u_?sp-zYL1wAcFv#@y;YJSL zvV3iwyko@n$2()pg;e%g(#yQktmIA~yse)9@JMwcgQeU#yRX3?D>I}xjZ{&$(X$s*?EkqSw;Y9#RF;T z%znlc4XgwI4mq>D9ftl>sM#>sRx}+p?T89El$_O@6Gd-l1_}?+s9>x};52AaL)%xl znXO|;nSnW)0$<@j=u^=)aduFL`Ub$eZQuJt?!DaC5iJo)j!85nB+mkXK+2Ej6PY}7 zwVL>_vlGZaI^_(WWixa*3?6yE*Z6g16AYn0uDYm^-_+VKLX&(YGoLd@x*qU!UG|WK z8xzH1{(MClzw4R&91;I;wP9sYzn;{-g|d9 zLCE8RvBdaTGkCUB=h{9_sJoOiQmDLnXLGgexcdrORtcU_8;$FAwA2(rmO;(%%s7x@0tohxskSNj3S-q?hBe=S?B?in0;N>=Jr$|3k{^BMBSDvKO_c;U|+p zl6QNj<)13yU}7hgyEYz3ggX1dmIv8qIOLZiCZD}EZs{K@_N#7mL3Zwf<0u|3coZW7z154VU{e{efCn=`j;PnY}7L_Nn|NVepfPbG0EKM^=? z@*~Ja+Gd}^n2ohH+X+ZNr@EY(b8UMtJ-8}@ArW9hygP8t?sScfC+t6!mwV3CKj{qO zrNzTwb;q1W!WQZtV=Mise-1z6cpV!x#fZ;E;AIxTz z6vZOM)5Tts^x}N1d$l*@_ZHvim~hs(pw`-EdruCNMQzoq48safGu^y&F)uKvU!+5_ z{$?xRiaM=v<${_Wp2^Tp41_SHRTuYK4rcJ)#>%gfHZ1H=TSp6PMJ^*&<|M-wL?;!N zk*Bcq0}bdH$S`* zC(oZHKlRD!K-^&bPTA#Io!ob#R1cxMg+#<(AH@@n$?8Cs*GZJ-FpBIfZK<=HZglky zJ}9ylud&GhRnQL8e45wTNzQOSH{+kIH5sKM|0^Tx>rdF(K| zVpu>q3HUxI;MUvLxS0S)wvzgDE0Oi2il%|fde#it&mOOEB@O~xu65+);eB6D6ea8C zsdNtM;}Fbt;~toorJ#m5=FTuPW9#0uM1DR*jzrAQKZ!R)0H8S*WiQaEM%dWb(BTx#Mw=gK>Le>vTGYq)M9WWwrIL$;p!`N3R`usmO7Q_+Q^lvbB^U> zqLX^TMQ>!MeNKh!yS-B~hjYZQ4o0snlmOj#cUCINjYKa1WQ7(X9ET};6-T)M^1UC8 zSy}WL1v@IjAoX$AaKCz|>I&KiUj!jOF^fB4lHAE5+R{>XBNV0yM4~Haxj*MHX&bnm zWewpgR`!zmxMc-*k$!B`$q^btUI0icT6S-CY|QY`^W>pgD1KddNrv(auttP2`aH`F zWcqz7s2l|X>{3HR;#FF5mO}Jhk6-%ShV1icIP~{<0yT^HGE*_H3}h_6I|5`U_|%kC zSFhk5G3Pt=c!+wmpRpx(leOwg}j!P~6S~v7gVo7*2C?a!qRy@%%!m zs1yzk>FK&t+H=Vk6PXZ@n#x|5vx+kK&cdDopou?Q&^hO54-)AccMCkwe|u@BS79gj zO}9n(H+p#ONx~!xDE?EWqD$`gyTJN6IZG{`4PimA_UmB#B)4u!Jr)6)tEan#Bvpam zD&Xre-s0`xfu#{NB`ZvX$2#BWa{My8m~+N5>}Anv_T#M|%yOjgEHf*?2PmEfh=(ma z-n8v*B9Lo0=VRF%`{_*Z`Gyvqs=uRf5eIqK60)_pL1W-AI__HeQ7?kCCEnXP_fJOy z;a48L$gSs!t|aIeA85SeS0){OqRg~^gZbu|Vxv^8Zo##fX7A6vwzxE(Ir@N=-||6_qROq1p6B~b<&RQxbJ5JP z*oD!#J>RX)-&jA;)L9wUZXt1ZZ`EAr#+q?Bk$kjQsfOONE>0RTAirUq)$;pYe-!w+ zL5R!=|1%z=YXYui9`)Q(%ru;vX0c7Gk`D&bA}(%LvLVgW34&O z&x6%V!k7M!{S~A`Wpd*oG(zj9m%zh$SlaeM@TKk=_4Pa1f)=3hLH@65df_Xt8at z(xCN@-a8)q2l>;nbkZLJh<@7}8~t&w2ECiBixxel7;Um7q(N*u<^My~IfhpjH0^rg zOq_|$iEU%TiEZ0Xc5K_W?MX7RZQHhuv*&%!cYWvl%Af3Yb@!^Ss$N}nKiaM*?n*~^ z)qHkXYsoxR4h419c^9#fM*Pb9CZuPX6wbhiBrn>#`mbp$KvW=VRZ0jjt&8smrYz>} zUZ{0HclKh_^pIuklvuW-BSWUt7Y@ssq-ZW060@So&%10F8(rTu1O#jRh4AmNhSIzc z*(<{qr(BoGgbtaJH0s7jQ`oxFrnVw)ok$rX?AjgC@M8H;Ij{H^*}8;-2FP!V zy+@B%M;m0p*Gn=ss9-!gm=4vH>fymiN0CqW^-PgD2gqyY8l~c&+QVtqUhN#uqAygO zU;evgmDJgVh@_Us^`q2ftyI638diDA+X}4sI_N#qFfW7fi{7u|SjQy>&FAW&c|Y#w z=1b=t7uORAjgo%^LAe5e>R`Jt+-~C^xGY-3d+bFJoyY6mn?b&~#_fLt($0Cxd2os- zO*txCz6qvOiuR@b9x$dtjr(kFuz-Kn?#7F*t=k+1xYJl+-|0P)A75@#$qceYunKH9 znguun6Nr}v5w5MgG^DNpg4oRqE02R)W#B&qrC~2N+d?!tQonbVoPB}TAk~?@ zxbH}`zTb|0@4U76Z*kU zFQsb{mvb;r9ns3fb|ghyj;}i{GhW;+n~Cx2a@VteudA+!O^JrdWt?GZvItH~V-HXp!`t>$<^0UA6@VlnUA%rkosOTjg zu#@yMD(%m|4nZ<#P=-Z4wE&`lt{`jEK5%x*cAckA)_5*xQKroZOQlVuHAE6PxFbZx zm{~tCC^Kiw&%G8f*Uu(^_7>001#|OD0&q?fTY@;5^Mal;2CF&P^t1;c1WZ2@AtC><8G*EI&CxWoI5%gP0W1CRsdi^kwR4I#mft=kM*vK- z9^XuM+w9|XSzD7O^6HR1#RHz^>JDWkKbQ`I`IV#wXv9=-4V3yuV)J;yt;5Wl6kRZR z5raBOXx+}{Zi-&FVsPSJssPY0Z_MUYSq^qMy$`rd_E(*M)x^?s#nJ_1Y8|DK@H&xh z_S8L{&oq<7F#(Kr5xr-F75JzB#@%4HO%b`0n6 zOReWk^jEGyGOmJ{7pAh38w;7oFhd*tFL3=oD|UXCz%X}v4lJt%XU%*T=zfMiCT7J3 z=`o0Xti}0Z!fw@3EgP$QZCE5*A8=ri;UXzqRFh9S)8Xapu~NLTD*chW=F{4be}7GW zXttAksJh>v-6{dJxf-*ILUh%QXaFn3DoHFq{#{|qi{+MEn>Joy!+gocRez)<>lVVHLx=?}{x87x^W z1zqg>eWb$YguMkOwNWSzW@aMfjl^ds2TYax;bBE^@advv&w})YCge~A9VM#h|J3YZDLvhIV(I>D? z{94%kp~}1F5Gqrjl=Eo+G!_srVgd^gxhe(~gN+ z#=kH^0v?w~>7;~28RYbU2h1&UA~TtA!>*6Ek%~bX-C~Q{JT^!mHqC|L?S;Vf;zigz z(DVE&j0#CbYJE zqD}1gY;*DaEQ-*GmUw_vt%=5zP_y19ZKLT@0aK3B0@a$bMQw*X9)P#Y1ZEKr9Ek3q zVCwU#bzQXw9y0WxwV0rN%YyDeB1xa!_~oyhiu9fS@!+f&ejZN%Hl#Wp3q|F1l{p4C#wWszb*>a=#J5 z1QhplQy8RRpL1_k=pUwA^Q8}JT=VJ1GY1!&$q@H?FI}o7d+|@PcXlO{-h$O)vjjNl@;sErw3mdnT4RD4Uy_*@-U&9xqUKI{UpV1FDcf%Fg+eeb?4P6fVz zk3U)5p-gu5MEpS?Gb^Dn4RLB<5KfT5UP{Q-R%hxlOfI}z9hKi@SLS(Lm1{JRul@;) zulKEKjj1Hatr0>_Jc}}v_-AyJr=ufBWzo6>CpIR1%rq+oe(>*3vb9mMLly8c>r^5S zgAMi<#@e2kxjr-3;mnBzye!-t8GOH~OKH&xkf>pH{Gvi$FI8IalD?1(vADs3wZ?Nq zuLKdFA+m%?=se>;3W?F59XDOqe*2zJ-ru**Vn++T%N(Azo}{-y33Iu|Iur>8Ty#R zr_F-Kit&jok?;|ok}(2nW?|oeJs0M2;RmbQHra}5XIEMl&J{g%x}a_0t=rBBl?W!` z4N=!~J{1r0W^tcq`y~fC6ZPM;!|Ug5(E6nebbW^XH5#{cjMR3+c&eDdl98I>Y2OyHCFbS9D-$WXIRc)a5}lZcIZ>L zho|Z~YB?lO8D`FqfdvuPBc>*89wU@;Nal6&c{{cLv<{{qeS?Kh@xOY+E!t{-gJr2O zg7mrobcsTxpY)dsfl9D==#OUVprD#p$+4aM#PfOG+0MSFHIxypNKaY0Wy_Gt-jAhr0{Nr&0D2pYoc%J! z67T%)X1B{6sH)#-H^V_J==6#`Ty_ePrltDl} z8K#*7s_fyGU2wtv;NsGMKD~$3K@_A)Wc^UZ*ZnriYZXZ%u#jMrXr$gA`b&-)2JR4* zeqX6fSR0!OC+a3+k2d!8G*Yjhz$~+0Al@T>%r_t%IWvMYFD%>LwMeeMJak4@JiaiY z9VtN@FPU7#M`-^_(Rzk9L;s)0mKOnE;tzkY1Jcy%J(^rn*| z>{8VddTCoLsZ{Ak{8%pLQ>)e5rKHKqv-}248*@QuZtn_Mk zp7dIPodEA!vs+qk$QlYwp*9pXXc&<`JfARGlm=T$i!_MWQRT5|w&J+Iioj-Fp;?6G zi_taCUB$^18IGlV{fxkbqCxXF0lX_c27iV3jj&*T;#MWNuKdF4y+K^W>y)V%mU1GX2~1jz|zlld`H z@S;DM!?^w8R6j4awp{R`lP;tRK6-N0F+@2MF(ht}e9$1%Nd*T2wXNLyk(I?Ra;T|T zu4;rPG@kxce-m@wA}_-dbVXSFEzpKEBZo`(CX(|hP5ta-E~nk^%n25KvjJHZOA3P~y|(T4+Vqn=3mx&& z5dn3x(K%u&R7oskHTikheFT%n1 zCC48$L@NSY&R@yTD_wF6o z9H3n3z2@gErNri6D3NI`81j%>L8h^)_Kk ziU4tuZD5dS608YnAy1S6P&S9rsl11)2Xdz-bGLZVJWKU^uTLGTK~%wZ+1+x{^gw+f z;E^HcB_qa*d7{`<78<$6FamYOgi*#((zRVUGcHOBpTEUi2~{bSi-&=7yI%v-Qoi}5 zZ-~3?^JzHA-30^vXQ>aJW-U-1Fs^1tO@IFHC69|2h)#Jo%8pdaGtZBa62+(z3Uzf! zpoIL-qzisBER8Ai$u@L~QN23L=a@U~S)kOCU|E_~iz7c?!>djOP!hNrMfx@2JQSQY zm06MF+rrp>xpm@e2S*t2)MR896b*2!)V!9q<7Ob}&9p$-N<*W{1H!J8ZoP=yuj4{W zs|kr54~#Su8f$`$y%-SH()*3i4j_UDZSRAC?O8|P6mz0?@fN7Nk5!`?e^rX+uUr^K zIhotoptn!W@f_6+wD-wKLzP0%+n8`14gS#^!%x1|8V_4?ZLQP!K^|XG%pfK^X6wa~ zq_fRk?!sa?2)B}!{{OveR`71E-9Z$iWMv!l%2xToYD|KzSJBq=D3^tf&pytxEMGYku? zLnmOJ8vgG)Ny-g{=^OaHXqnm%{b4A(LWn|oCw_t8XH6JE#t8&OF3q&+GR-0}GcyHZ z=KSPF{&mxrlp7QQi)3LA93aSB*Ed6xB=@sGfIXh$X*On5Nw;+Q~?~X)Y7Rr>wV1}|4;9|_Wt;bcfj+9S0}>jdPa=g zcGfrNx*GP^1=Nf9o6b5SDc$FD3^gA^s*mdvg4wAbLs@T9%P-3Yo<@0l*6{bWIqj(< zo9V}GV?NALJVs9lj=HjFgKl*g5?A=$avAuP&ahY}I|=P=we&L*VF_=?XGxaAy^QON zk_+CO6Qx&$PhDRhiB@Mnz`SCb_1Zc-`I={j?q*~saC5#9Jh<8>>WF6*Yp)Mx*L$8C zG(D6r`eKF>v|Y-mr}F4NA!J39mW3N*?Xa(pS)UwmewygBPaM5+t>FC}Gz?tH{7V>h z?TPI5xLW2!x+<}(j?|aYmc5M^?3*%Qp3(q~@wTqj{~mmbfUkea&v3eJWMV&9NRo2| z+QeF~Vl&!Op@HbMUKi`>)a=-vDYaq}`|bSQRVzz~i`zdv7VT$#botVMiRk>>m? zRu8Uj{@wU-9$Wp4)BqQMoEw*0^QgnIS|oG8)dpFx@jd zcA1rf0fXza1MR|Y}JoKiR^NjkjJ;bj^a)i4F=h6^f^i29) zdK$~KsDx`4?%a;+`b_sr18!`Q7z3`9osHM>RsGA}ugb+)+An;pHK@XTp;tLGcE}4T zNDS#G|IxEa8=v>^>{Oylus@&2J0nsXudWN`Wm+|}MT-z5LQ!MS2q{7%TFg|B zM3?JbBcn};SmDA=&kp2*%BSD5n8XjHNp^~@j3>d+y%=Lnn zuKz~RHE*H6YR;|HpwnG-%0O-ufOF$+ag$E{Id`gck2sPU!;|2so70}AeiFZwLm1X% zykMol6vY5c0&{HjR6|37R}&6ETMqVhe`$*67%oE4{Pl8_lM*znFB2Nz;(PJQL%z`y z+^tx{BT0|9DJ*BM&TUBBvGPv#r-2CmAyW+BO?VZG*Jor`r|{Tum! z1D!N%c=Q-(T?OENK{EJ`8}A%YyIfh8Hrmt9Yz$>x7%?tL{{(&-JQMBj7W0yF@2|Gm z;K&jfY-GwX@IJHU#?Lq*RQmBQRHyij6{p{4`-y2jHCsQ&HL}Yr_ze@xrsQAy;<}iC zF_L7u`+(kC#VpQ%*;b#nhy9kxYx82&{N|>N2V(JY^2?bymPhPjvdU~)ae>u3GVRU~ znCey>*$?G+;+pv~FTzR~kmPI5At7z;@MjrtZbnd{xR|tPD9PA!V+ow6Wt61L`07a1 z`i4>Xl?J_qX3d-(ZUh8GDl!h0MYLVW9n3wCnr%|fag#;nKi?NGq`l82@$(6~-s&+g z@sN5mxB14=~qBTe^ zG(cfTlD3**Jr>+E;3dwWZwq8UJAGNpD!K`n&b$?RWO$9=cn#Ckr*gGvJKX}n8VlQe zqpqj?vjKi!OZHzhFaQYP4Rx5h!R7uFII<{eB#CvcR*b zc;wE<_J%ECvq4Wsaktt+%VXdB?l*|P4p^aL43eD>Jkd*IUYDOtG`K-7iaCd$8{&KX z-P-9{EpSU;34VWJm{C@=ENl8~|Fgi=`Ncwq@8u-Ds6AHy9m%RAM!U;@puN(-7%x(C zcr0^uSmUY$@uHX><6YR_yDlKmn~am08jfSaPNPp#0Z`MLapabY@A*l@g=SyPRN_zP z%7M_Ng>I|2-Z#Ix^ZngpuS#%+D`rObdEm%VvS&dk9%-cg*SSXGSW#|*4{T<{j$(t# zwBcIx>|q&WbL_q6hBKe(HHgruO*lq!s3hlrx}~X11}#?94XpXqp$JxCpzFFl-_x7t z6%{{T=H`@oMVpt>#sI9%6*-g;*QhSll>^F+6F*iE)M=oO&!69;@49Qs0t8im{imR? zNUM!q13v{y2%e^Z?Yd7ywUEHuQ-NyYTB{YN)}2!vGrWxHmej?cXCgMW9i`efu6k@D z7X^e;avi=~ZOJ7%?&%8Sc78?Y@NGCoSZ(~>NUz&y6(JB|ui|fO7LKd9bBeG^T1NV!@LT{f9#SSR>244&BOhR79x{EuQ<49+B`0e8Ss&4z)1XW*nDm1CuCA;+02{(nPLuJg z>qE0^0{?X3{Rr-phsGdo03a!Ri}7auRO+v?=LrLQ5!6tjsIC#9M@22Uf8v3x4E z*qEOmZ`1M#nS7>2Jjj@-qqF+{!|N>&2a!f+yW|r<-ZVR!M9rDYDsWb#L9gz+1vq#+ zCYbCbyvqwQeqx}5J^>0&0MS2k;c*+`bj^E6M}-O;UD2`_IG1_KHp*e!!=h~KL^vz4 zR|Y(&HNY>@EB4v-H_Sq3O(x&C)l&$=eUNheC$qwubK15OQtkz_@_ZRtP$(wn0qa}JNJzwGl)#AR)tZs9c zU|77T$x5b9qY2%IlM~8?n+M{>nNdLOTkO#5^7iYW4#k#^Yue8jZA9@7^5?oPd&G|` zA$mnG!H&{o;RJb$JELEG9S3a&a-Zr4QH`Z8w91Rs`CV?iwj2dz0qmG2U*2p|edCGf z;%XL|d@c9xn{|4+9-oRe@An8n>{Kf~<-R!L-4I}dP5t24f?-Y)E@A_;UZ*&>>y+cV zkt_j)r(^Wyk8`#g4@9lzoG-UKDI*7X z;xj_cK5f6FcFZ*X)=K1Rj{;|{baM?+LMjMwbgG|~Yaz_( zoT<;s-Y2-)V7@Gbf0!zPe~g&mSi`=Vd29u{@3PcA(k?h?j49y6_rB4$Fnp0k-N3?~ zE~(1dB=Vp~cOPgk2ol-rXs9WEX>SP`Cr!*m(vCY(U?+_wyY4Y*k=^d8D+c0=yZc4H zjncl=v`Aq;Ux!&cZFhq(u0m0DZGP=TBoO3fce&1CxhgsH8N#utqVZna_b05387aOQ zk~Md9M)9?KazPE=YHw9EMX1X^t6cFmsA}Q7k3XBB*H$YiL3hSX`Y~?2kD6!zKDb_A zB>7V+%O2)l#Xy{GjGmtUP%nkgWUEh>C3Txw?j+0Pk+btjwi!v*eQ7WaT2#=K9$Y8`wLX`vl}b5elq8CIF980*Bh)s?RbX)JkGS( zaT%{{5%Zk)-Hh#QipmDjxNG?;2)OnIz4v>BQ}G$x$NLfgkuY~=Qqoa3k&fOkkwV&4 zz#wt$u`7?g75mSvoWe7hk}(7Yk~TFxa(~A%7{^a{?%pCdzy5N8W7r=)c~>)@I*){E zOE}~-v80gSqU9qQ*BgzF`XaO`?zG}H+R@^R8@JH;xsU=Ab{(@+ufux=F-&G|EmIUv zEN#cG?$;GeTsIb8jXQ6mWzD?wJW+;xTjW9Q^3wm2f)=dECE90fR&I8(5@Ip@>)HMt?S!b zas{=@n`aO;A6d*!9eWE4JGgU>`l{id>G=<(5bGx|@nUKsBn`)Jqn-eda%#a&ls>&# zm(q$5Z&eiNpS-#%=qa&3s2#}DXHkoSU@;T`rYXTj^Ai) z%;esDZ<=kl_!v11Pe-?3!k2^|gJJL2TUUAC+pnRD?2BD%AvsxH1Z(SO!?dyOs_&z8>B!#Hqm|+-p%7QW^$8bJ(%u*2nKU z%vg;Vm7(}Pcx&>4@Dbec@nXoPa%bEVv68f7;0SDZt23EJ!<9(d=yueVn z?y!*Q2G@#q%5?5Zpd(jI$M_xrfOL$20;l@Lad1ETLv-~Krc8dS>#QLD{ z_xYwDXOI}O=6b2D{ro5TO?&)ZZ>s5fD+igNXITekuz1WFRQ+szA@kjB)A!ek3r_kw zy6C$>SwrqxB+RHE*E093t6NErsK363HJ8ieGu<}N2kr%I_+PajwCM%Hb?CN?@Jiru z*rpeI7w@z}au=Bs^Y?N&b^$?u56~fOb~t~CU}&|_g$7a;n*A*_)M!UQ*r(3fK;JN@ zxDDJ_9h3ly4%y_(3LlPnQf=eWC8C-JU%;L@NqzH)W@>Ni7AItB=K}I7@NFJxf$fqP!8Pk;D zJ;6Qu4D^0VU|4wx2@8-H3y9{b2>FE}g} zbwvDe*KiCz4!Us*77Du*{~0#5fOwoC1;0tJ5iId)zULRo>Dr@sRHMO-vK`m&o=jYH zu+~#g{D-uzK&g$qAGh&zb?!x|cuN#eQZk}TAw8e3$*A;s&BdJ}ZtZs1VV;O-N6Kgg zJx#`?L&g);aZYQ)3H8MW4v_d+Zf^M@@%(kd}ma5!H z7eHg-)gGGy!FNTP-)=f2bm4Be4#lnHlKG#W&ERe`qFBp8cQOPEjz~yub`4kEQXSSp zdgEkQ9=n|JqslCG$rK2>I~Nm{g|&ev4vZR{&@10DJ!#5%ur^ZjG_IRg6sMbGsY+}h zj@Te7ojkeQ>MRe$@>_=|EM)v#YY1#O%$M7ZG={2V?TG>ryOPO zdCvb#%4g=#I=-JS+xgM{|HATHjF7jlwKO{1UH{^fp_oDIg}hU(8wwZtia^i*tg0d0 z8JPtDZ?(q6HTeINGya!^I!i=IrT*@_iikg^{^!mx@9#Z7@P-Xm)-l^Rnj@*sKaP~| zFl3(=GktnIuwUve@8cJNDR{VETIj z;ev6yF6is?ivN@m08cglstF>YKqX;Pkbd;^05uq&jOdR^lu~Sf+gU^HZ>)j+X)tDU)bCn`C17sgFo;{q0R1yM4OFK>!9Veam^=>YxTs-307@6DX- z;>8Pv6o(q@0B@-ARL&1C1Pbp6*%{*4?Hlq6E1bIVw? z?P$@1)Nj^^ei+|#2p&MVRqe!zB;fy({D~vY3#fey{OJhaT$K-Scmf?d#25>ha@s~$ z7syNan6{#0!RtU1c@@)Zd>9eK@sP3qSt2l~&EGIq5m3bPQ5-Xu(|KQNG`*p?vu>gU z#hXRx6bp}I?b+yUt=se}-P)mJ((+eYn3a|FKFRVbABL(}VRAlV9h!q~p!1y)cj)pL zW!{QcVBk!)e;X;(*uBS4g_dchW5-88X7K+g4E%R82~Z%IMRwLuV7zVR$(`?Y^mFrN ziUXxta1fuTt~5Y03ZK(hh?&KT(#YbOzl`>vj(RHR7>282cm~{lL=0Boq8Y#OUHXDwL@s2d*|kJMZAN0Iqkx(1r}5t2zZx}n z2L#=3e<=c@&WI$&8_rO?>G#UXzwxg=A3w-5=UB9H2_1pSVLAh^IpL>UozIT5(^M7g z%f($V)n4RZVd`ASHb*4AM

z$`jNxW8U_u2U}!28UNt_ubM^o&p=-!RI7>0!<6O! zsRigQeH)G<$iuN|Av*H-%0u)Dt^WItO$CH)batDG$rtm!aUOB=3?pFf@rmc2GXTTF zFfX_T>=;m+@;B2-o>2vDsqKLov-IDP%>Nbua)Fl96({%|Bir8ad>I{LFlbr;CoX z{m-vX&PLAB=az7BbL2CQyC5xdfQBap13o&IwPW)S`wiqgL4Z7W^i5}J%S-0G^&e4e zzC-f9oj2^_M91&a6re~y;aO8tP~>LVw1!>MtM|1*F^(E4gMe@4FL+@ctpvXpF?E`> z=u(kbf3Sel34#}6$mXHc1#X3TdXR~GiQ^iY4B(3sysY&<@)_{dUO<1Yi7zd=;)m~SZc*m)>S}06G}G!nd^G^@>>QL2J~QgQ z8q5m;3Phwxpm~tL;-&=&{Cx?-eR=Ldh)aF_!)FV{6=%qg6;XxVZSznFiM|sd#S8rU zZeD1c^VsKt0GI$=0460~`X5hpJ;m&lpy2|1gx6@;GC4L?#UW5EH+o3O~}VlZoz=O6Ib7 z)Ex@Q$L8QL(&o+2>NPa>JPBq$9PkphfU0I;k1*ioQ>VY3*2ixgW>0N(J%nEeo?e4R z)VH*3P_HQ@dkGIe51|#!g^CAQ3y@q??!4r0A(nMp3xWy=SPJnGjlSrjsbad2ZIz-~ ze_|scC^$MYM{TGO!@QaAJ>{7v6wlO}M7L3jPQ)&8vZN%-F>{+C-ZsEeIxXgS*SAyK z(-&&wxygg0`l&!C%412VvxI&A@v5fa*cFlrAkKxR02K-T2F;G@YG)C9gWM-NjVSZZ zN4xP(wAM{u5X1kO+R+q9IgX<$v=d8onZNutp)clXm^#8@wReNVrE`@#q;$iVUELf_MX?t*0zdcVWjQXjO)Zd0JQV>o z_&9Ac!o+rR5#j%{OcbD5VghUx?m9NiL=-R4YpzSbOTv;Kg%3rtWaV$x^TIuD68{`3 zAycS<=RPm*)zp3B@FTMh<0BL6WB*+dGZed&q0VTUet)?$pSflV2Y*K$Xr&Da73-}f ze{qwh=m^iIx`xm!Vli|J6_EWS_J;c;D&;q3xRzakwE8(|vtVm!X$>s18`3O%Xv0_S zUa5cswdH1AX~Hu8iT{Ok?PK2XLUev#W3%*)@CH=B-> z6(4Bh!&IPQY`&~4ETO;Q&KY)S^}Ed9W}>+-DaKl_4J!rzvkcY5+q{{j6*v2PUYnn6 z1b4AD<|+fcx{@+;RnVxEpiFvd^i0H0m|MN|R%1hkC^Bn~GH+n!A#e5HJp4+pQ)cd0 zk>K&!0w8PPW=$>m3OGM-zz3`s_zd54U{d002U&<#9?M#G55=WuG^gnaK7bcABwXy!W(>wl(HMpgM)wk6b zf>`oTbOngS>2Kx^<(+@llXH&5r{VKTB#wQ8)%?kVZfWrOlqWR<{DyPn8 zN9W#cn&O&KL&s zs52n?@-X2ONh4V+N)?PCV_rZ%hr@*!9-k+*$?K7gR;N7`V0d7($RhvmHv!P34t{0{ zX_g^$2ZWyKg>=NZhAdspDP{Ys6ZD!XMc{Ho5)*=zI#T7}Nqtzo8bEun zc(;~&x0z;1wPCL8A;(%W3F$Yyved?gcP*A#q@`ElqPU?OyL3{IK7!DpOv@x_NY&_clh?C zsGjJzo89F+9)&9^(R=L$=R>I%yLfM|R(bT{2AJqr&*$v6O(tf(! z+0X!u6-oUE zygfifB%k(E^=Cp-S@&(Ty zU*JOKLLrH7vx<(mA#P^}iS3uq+T_XYW(P^+#V7&idrpW%V74>H>*r;ml?D*+@St3G zjWP2QZ*Iv};$AvOE#^~3J_Z4|db7FGmNs(FCA>$r2TyFVH2&ww^92bngM88MTEwu) zHdV}_kbX_$DW;Y>X8kcXJ#&Sk7TUhBKN11UH32$o1#pc7$31j5`ROpvPvuxG)#Z** zD*LG}u3}0R;Gr& zK_yo28n|5{Y;SRUoq zgy)sn)`sDpH8?BaC7B69QRCdcSNa!4<<_BF-b`6@s4rWm6aG$N?QSNdEt&!oTA)XQ z_ESQ0b)-pv1P)9N+-WLe(Jxzs@F=v6>Z*#`muh;TN&v&-<;e=LeA{RQ)6VNXLUp|& zk;C^dayxwU1BbP3{mlwBTGXAe{a~WBy|Qrr-{*3HI$$QG4-_J#>XbpFGJ>wEqS^yX zH5VOa?3>+G4|wfqDO?~_?sV6wk$9Kco7|O{Aow&-W{#*p|3>?+d0AAKu;QI4&SoQ^ zvPLT*$qn$LCEjEIXN;I2%G-aiDL~7Jwx_usv4?Z4z%#-2 zm@~n{3!|YO+NzawJZ(z+HCS(9wAZt%YUHi4c4G=To>|0TV@Dy1{?-+n{Jh`$ckAlO zUL)fGOJ2r|5NX@;{q~mt-?djPNe}E2$^M`@N071)3;PK2u-k5RPzmtu0@wRrp8XQk z{g0w!+ujt5je}EGSs7_zX<63Tm^jG?3}nnEp+=CNsXob1>DYHq5%iNl=8cE6cs=)c zDr11j6kno*L~FE=@y{6%3~j-VH>DXrD132X!dZQX4JINadWyT0)8oIt{Lz9^M;x^So(H>Dc&bs>2xPZlw-_?lf44z3}P0*rI!0al4@zZ z@r|MkXHeKDVc6dDp6QHr^GDXmCrs->vgYw9bxmRT=p=z}@b8{>w>x3h8e6l(?|$s5 zBY|N!2~jnk2h>XH$hpCT6tWEOQp@_MhLd)o!Wxqfa&w&4$h=_!n-rJmsLGq%s=P{m zbT$yJ%VS-RRU$S2oY*Ddw}w>u&gWlJQjc3cKG>WNY8A(in;y1|S$^dmRx20=BnSuC zCX{Ga+X$eMZ)8#og&V=ZBq>}WdW+q9)o7A`4`bW}8>dgIH%i()Urxv7d_{0IFEt=m zGvgupR%4Xy6}pEodt+wdwT*b18G0Yj{t8R&p7Q@%8t~6F7I>}!y;`k+_ZemH@YlskTK=0Gqs~&V%D)&@$zy4J{ovg4d z8{X7T|7v<8Y)^GMbbORh$f*R{{@-AM-@jv3YIJD(J8ZW)t(7cdx9s-@>lAc|M>#{e z#ThpR%LT^;-#e;FbzOI=T6XzdtiD{E@-AWReI6k!Y?xe*FTa&A)l7H==y+c!V>7y= z;(5<|2VUh)jKTVNBsx_>5}pG=4fFjO#+J=uzcYtIM-j=c+z&KB%-q94LH^j&hZ`(P zQT@+eOcVQ7&OL8!MfU)i+9bd^H1-2f(bA^`xicrrU-WW^QG1kZe(N?6PJaU2vM9UW z{m5d|hZBr!6^vFMy@7cwmWwp6#|6eLuGiaaQvpLMz*Zz>vLACLva*zS$u0C+EwPJL z8{z~$?{$S3CTy;YJx~Ox3Ow#{#Icm%x7jUc-z(C}vC9Tv|KRsjXcW2tK6RDPUzQ$I zzMRz@bD;}SK#;7Eo@Qs8U|;2Ct8|@Qt?fhX_aNuYOR~tSF|WG5yjMy!l$C#yF|<5h z_x;PSpHLgH&z^Wuqw6Gxyk6eCqFSf+L%sjlZkS@cxV}5pK8qnmBz=v7w z_IZM2D^CXB0F9Iw0_=drVxA&Rs=FNu#}YZ3=T_j6E}(1vnm5Z?Y)=B-ubup|%viAo zm=^taKcf0ck$jt_Gl(_>-Sfux?!9vTxk|`oGA_Q72?Nw~iifxAM_7vRdcDsB$}|pr z6bofy5S&V7B9n`^0Ke7tA>R{BPCRELk;RL(1Qd}{;bz5h|qSUdwjQi8?$+vE1~{p zV`5M!ZtUsRYIVu@KJWIA3!OT{%!xKg??5*s9QwWi*rMGcaNX|AcZmptmk~71$A`wO zp?}6N=ga=s4nS1!Vi5=-a0A!XlbX+KF?3!YTDqH&FsP>MQRf^K!yOMyNgZlIhlu97 zwOg(APO!@N+6m&!?6f_^-cQda79_M~FG2tPV#Wr{wf=c6RKIp1y@BwURcXgA?~i4b zj)Nc1<{`A)2->SYUmeRy`+80K1idD79&;n)IW!oZ_p_3XHXCH}^Y-*shZm5lXYfA? zKf=hfe+=N0F+t(hrchkitwnEDGTEv^u7_3HhKAC5xVgz`DPzxNCoi3^G#nt69gL-% zfk?TjlE9MpKoqpB5z8OYw4wbk5 zstQHfjN;dP)bZQvb#eG%89X9E!Ja^eWBWTuh_LmuLkH3WbC>b_-R-R}4~8)Rk1&Pq zrF?6HdOc}?#F&3PWT$cf@$?=vDz5#NJ@|v)|2i+i$72*Sso06kTJ8`6z~Q)5Xw-(A zv9X+Y1BeBi>-|xVEix#4J-^j5f&;BMqc|rtS8pgXNnof@8Ud???{Wb<ImuW_;jrX;g6K?*&z&RD%0z#C3pHUiuwp*qkmn6`0vP`hGQ4VE78r+z z`VA*DIe&eM#eCXScraph7lQQr9M|@=VM=1J5{gaSG3fwTlzN9^`E2zxTvv^ z;C6B|_#Wp(j8$5H<2OAW^I|Qp4UnEnvfb5D&wwdU#$ew(Z85*yhA}ryqTP z?_cvg$=o~l>~qe(d#}CDUi{a?WO>`7Ged5&VZ{8`w-`RgO^f z9{z}$uLcs=Skbw=(K~&da&B3DNc`26?b#{tCxZfIN6a?ivuiC*1EL7?mTAr1`yJtX zF4h7A8$*O%6><7)S95i7k&JKBFG2I)k$9xwoC)wocL;zzYP-3iguSkZA#AD1$PP(0$?Uwr13CBwrJ-x!>%PwNBf1?rnosc{F^Kh(^sb`++YM`OM+z^EL6QFz#y#!gx8V${tknPHmfs$r;6HZ-Dw2hrq-4lw__K! ze|IM@^5(W=82XSaO+m5WUAVFWb0vcw9wY{R@w;4PlF7y-l}TxBnMkfTQF+Y$3;4J6 zeY3_yWEi;6HjcVizQDz5zHNHr3+5c}YiY@j4NcjwsdhEZJ_PG!;x#loXL`-!;V+R3|@+uy-^h%?4#)+Ygfyuq@>SG}Sp(F% zGEMtk^}`2)cV%pQ65JLvf1=9inNb|;g>{m2OF6gMxI;k9Q>yjn)1%4aL5)l}i&y$d z$3-35e`B1#{OK+Zgm`&#vFz1E{k3i48k{zy8S8BlL?T`6W7(2<{rK(jUta?Yh)J@k z@0iDAG37KS>d*Ls%2O`&WaQC#o89!gww@xn2}k~0FXpd?-qQHL61_hO%|8x1UHGR3 zCUCsFwD!O7Dnclhbd$O9fGo}P_UegA{3jKv5-9t$IM}SOvnfmX9%qs8Zz%EST{$cb zLJ|&4YAy0SKY(X7-(t)@;s5gr)e-4FxuZ&*EwYr3@n32FcJ^OV@Xrmd!9aQR&CfWt z@N`ij%+PVea_0Y8K*$pnltOm6TUr0}tp9!pN&Lwz$!e?$N=bim?3a=jF8(*H;O|03 zYfo56BH>PX5nj2eHT#PHOGQAx`jZ%RZ3l6LGV6>Q)cjya`S6j?Klgo%@~?6~Fh45Y z&d%8@Dg~ti|AYd6KB!rsR2>-WAQn#>C4?|xEB~$s{AI>CMmTDRsnmo~C7$GFGdRs? z_5bsW0c>PSxBdLbCxm%#n!xjm^P4uHbH^WS?SFSC)<>cC+|Fi%E<74XfN0&0!_i?^ z|Hp)D5<*$5yRMJqvbxiY@&nw0_3{`_*X!%2tM084qK!FJE!b_>i~qL&!7WsY4>$A zm}$lvzMK#TtemHNE@eFHk$9}O7Dpf{l- z33u3ENEUSK_Rk_VcG&l@*EqA43O_ zN)lr#S8I-RpaDtk@CUMAjcgtU^v-|y{dI8!L4fM8L#=UA9V`d5_rioDs=;&l|!TqK-pe&WE#TX&I{H{*3V6Ij(;L&_Cum`~b0xabDNbH7>xL z@pvKQvF!CByV(sEzoY3Ab$BsE`+*{#8w3FUyHFV+~#^iqK4VSi)cnu>TqO%?6!HGReG?AqUJSpcf8)KjG*nC_Q! zsPV{jfH0(T1N)XtQcjSEv+YgKU~h6v73r!WPaCd7!n3M_BJ0oKPg#}oMcKPZ=6>m2^&0{m^K077Bn)t%NDKV8~=eB$#;o9VWc=v_B8vE%XB+7BL) zN~P`EtM@+zt$pv)?RtIl$0bMFVNZi?2n}ZmG_3hms#0RL%tDS}RCi=)A!aOQKcp-i zkVn$361c^hd?EU0A;zh|`8OE9I3xleHYUyb3r;_W_n$>q=OYw$NP08Cd|Y?7kBbdmcXNdAc&7 zDd|4J(ZXoeH7w)TBt}&{^j)QPxOxR5sPZWW>P55C$uF^rn?Jv_B(?hE$7g&b6=^Ps z03rXEihkhHT1ZgK=0KE=wz_cjDjn&I>J>3OPTK(&ri9+6sP9{;)ur9=zw*bX2`K-&=MDuRrn!Xy;=8+obOFGsTPn59 zRT8CAYgPHw(kQHOxtmse^7BuD3SY{|CmjG=GFKy1Vs`Cg$4?Pz4fIT!aGr@%OYIt* zAq90P?4!VVe?>TtaU#@Sqyc_q=&*;(fe0zpFh62-#;dzZIMx6n>1R2zAMLC&P}!Uf zO_tnq&}+(bj_7V~6pj7--R=#NYrGMHi+&d-^ka9Y7Ek}~nSgeo?wBrH2xI|Mc?%xW zOTG1(vEMwT7wM$upI+py+5#!hKVmWDdI2sJbA0Y`Y$E5CEG+@LrehRk!Sr8`4K zVo>gagKJW8?GkJPDb8~TDN9W-DGb8}u>o{IwTH%fczHV>n-$L=%*Im%(bOu?8CK=L z`qy;>D&?`SQ4yY2Db6h~3zDq9usZ54$eXex&_@3UpA9oY(FMfT5L^9rYl?179j0Qz zmI`hMV$h^-yKyV7i3%H!Zr$KqFbNDHdr6nb2uQx{16%zK*YF-~&LQ$bH;7l-TeQ}C z+1S~`BLFj}W7=s)Y0-$68j(lihOFVP%fS{*ip-EN#C|@ND6c~E1-w<8K&5Cak~R89 zQ$RFncX?TV1sAz)*{B=Y8F`Tizbe8R0kByzuck_GRdYB#w?egy#Q}4tYE;S z+)}My6JU`JIsE#yS9a-HpC&`Qt$vxEAgmyx8wqn%sKO%Mp3(O>Zsu@e&NVo=HF z%WQTG#1VB&*`Sqj#aJHWTo63^VFQ_!W_WdhaK*H-G&MG4^c2DNxvOH>D4=|tg}12atHaTmdb8mdQU)7uCsMw^ettwS3JS4B3?3 z*O)iAw(-uz%@#sY8(5g@fkiGb_RtH^hq>}A@!KoOEt2@rgn*~-h3Qt_*rw*Tsi|^a zp-SzbXlyf6^4~%Oy?zun(b3&%`0X+CyE9&cHmUC)64Smx#FdGQlb}4{JHjsi`Y;}2 zcz9H-pDSJ-8o4^CQ)hR*FQr2yPL>Jy-Eh9M=e*`nU*cz~dOG}ZX3=6%reXMe6etfN zuCDV#_a7I*MiLh&WSM3BkXF#QyNu$#^PaV_O@bOKbJxbUS2UD2;-QlMfkQ>of`<7* zdr4Ln$IE(caD!13rLavu;txT^#+4&gLe?s{U2=r_nnL+t&{pJ!obmi%4i$Sxx&b2hx3{bC(!@J4lAhkbOr4NX zNdI0CjvoTZZQEC6$wI8t2w2Z3iE`?95C;r8;#>x@qQ#(qC|-W?o7M|-h#3&ItcmoK z7{=^5uAc9&IWvKKsDGLd{s!NPU0>m;U3Jh>AZet>+Ma~Y_~39+mj_U$tznfJS|CV9 z>>*-jjs9tu(SGsE3x~j2iCv!QBlNtWmGzTs2CeoMiXg*?iasyzcUe#YSJ#kZ>eJ~= zDM7M+k>6C~b~SpcTx!i=_1`g1931#q?5W-7w8_mc_;^;yZg5S?p&BhjTk3O(pHG&* zthH(5pk2Tn+E(DSzgM*Zib0T3B(1peO0Y_!z}c_iH^rII37()Z5t@=XM#!?oyY?N|W~xjEjLsn%zj zC)%`>sg2v{gTDEx_5z&3ByMD&+RBUd1YFDea!Cxu9g?LaeA6qwLnX}*zE4I&lIBs0HrIR0xsiCypGRsza zp?i=A#)v~FAKVnpKe3`}xN6D5a(f=;ns3Xrb6jSs~eZ#km`p+LZ5F2pi?!c@in=&f9MVh2Y?w3PLg6vVbF=5d?{y^$$ zJf}CsaR$dYMds;t#DH;?PR;=ng_ZIpTORy&urAK2J0acSk&K%k)^aWoKk=>k3*jXW zkQtRKXBGeb_M^a|D0?+p7EkmI($y+q#WAa&=KJ05(i4`Xio8C<&F|Q6PbkxA|4d2* zdH@~m`8xEvbSHn(2+gT&0unT!?0jKxz4PGYA%}e%pyy$;ECOoirQgqJd6vqb^2^w& zO?#--QLue{JpBfhfYX=m?rb#~`!-ugLP*}!vBjCq=C7e*FhB%1L?H9JX&QF(7r5!r zC&`yKQkum!^ER&g4&jdwamaWDsqGc(za()aBb(mDnb9C}y#c~)#JPg-GYSp*n{(nJ zr0uQLL*?ns>Ij>DDQ*W-Zf;O7KIZKQEtusfzvYAPU{Z#WwR1t`#qee#5m_@_@=iq# zYAc*Pf1f8_v?;+J3ny>ADRgl@t^ICct!2mkbL7cyNV*ocHAbj0+^KW&p)IBvQ2LMm z!-Lyx**^D&!-b;34BCQ5s@X+8ujNN|m@;R{QMspBVrnt@JOipwlF8!r7%=6wo;M0l zMvvySsQND%mYN^U7QUcON#f3i`9IIETfbxtR#>S1H|H~?27KcWiPsXGOpkOwOywOI z9bDf+@F~9z1v)`Sjspcy^DAdwABBEXUe|}>=r{Xt3hF}V@cYT&d^KmguWuTZBz@g0 zuc?1-4T_@otQm24sg3aIzrfBZZW#%ZmoIR+OFYz9{5=Oir!9>Ve;05ifpFvtl_IJ1 zD8vzsR`@q6R)YF~0Ule)+x|*{=KgUH>URaIo7)}px%U#CiD*`PuVLIKjWLaAKwh1t z;zET%+wX4H3`D$9i{0VL^gRp<6?xglc~we!CM)v)Mz(+&H>aAeD3L$-H5Wy6A*}89 zOg;-M>B_LqEfC093_5Zb)I21DsA_eVY%r8QXCj1aCEg z2^&E$u1D*MTJCni<9{V4M;!2`O5O^Rnoy?r%C^;VxyFIEs?Buv?Q;dXN!%w3%o&ip zZ92AOP=Pknt0m>BUfd+l2?{QMgf4wx(#=@8>C|)F;oagl%bjA~0M1t+SiZ+ixP+X% z-x{v*6-iudmikq4!oKDoiw4}1#Tj}gzd;pa=ii;28>=Ak4tnSc7h$U@=%ui4Pi8Md z$C=StUXC9=wuotq%$4NMKA1Cx!$e1;E%0$UtKlGWNd|@Zge25UDted~3tx9WE0I1# zN}G8*qI^8d*HZHX+U8p;F}LSNE;-ciX=X7z8qtK*Ut?YLCTrWvLjp@t&LG zy@FOihC`Z{fy!|x(ZW!&>j|A;;-+S=T5mhH={k0VvIjiv>!j!zFIb?Dhk2kom4loH z%a*m}a^0D##$qH*RHzK%x{y$~8)x^N_J40Re6gQ*kAn2ub^>hy4NT_I&8vx`8EMN5 z?NUC4_50@~XCu`1&yDM-lCn*SjN#gOL!jPBJg>(RWmOEt zMV*Euhdw7SP%Q6RKAh7JSCDXE&|3V+-Q3inB|Gi{XiO2UuYfPUIXk+8MJY|v1%)z0 z!_*gsWkp5%aFr%=S+%Fz9la?AlxA?2(k&7RV<3QtB2`v$uISIc7lJ_vqfK%UNeT#U zK&QB{8JF@84mN%_makf;Dqb;f#RPieL)J^I(fePzKFmlGT@8(hWcmmg@7Rh`3X5;C zb8tj7rP#Q5>(GY&!t<^$(NMCO3R60tyf$p|@s*&Vl#IX(j}>?da$Sp$zG43#qVb5Y}TMZ(;xThW(}IkmYXVF{r;n}2e;QRoaxxc>kFxY6d}O~X!Wr>Q)Xj4 zA`JR$Ot%9l4X@c!>T7&`G9p5X#o(weU{y%kchUY4$$7i>aXS6RV5A=d{ro2?)m8g) z7ym`E7y%Vz2AK9e@?{v$eHGsz{WV6ufr^5fi(twtPcGJ@P$b z*{@($&3wf*3(d82&g54Il1+;G2BYyTKQf{rDDeX2L@Pn%+y6XH0CC*KF8@it&(XnY z{u*agZ-wd@Nv<+Sszdypb9y#HEWc>I*+d>XkhUi4VYuxY>VPUCI=IICR zo|DJtIoIJc@4%DGEwSfJqa-Ir3gjD`%_9=mOT8Y+9|D&Nv3j0I6i?Gl8ehwrbv?p( zoaoBCIiEdeJoV79?bgQKKBtXl1f(mce#!sC^Z%Qs6Ct#KLansN|IOX(ut$sPygV8@ z0*ZRwJ}oxRcJ-ch^5MtBH{>s5cpKd>l!FWe!W&uUycYqElE#YhQ!o$LVEKodgVVyW zA_;f?x}Iv${GRrHrgK8S+)FUAJSvWB^#>J-*e>$d@iCuE&#S4JIKM%I*&c**Lv zm;`>OS>pC!^aYT}YtgO*mOfeausE6Xqck4y2Y}kN@Kpp7L^zV10LsBGv4m#rBnf9VuNw+UboyyIHSxM`_5y zXNL>AOlUWsGFjiFY&b0ZxF5OglEl9o4W8zDxh#1$IG6W)3TfvN3XbofIj$HK8G=7Z zR_)QA^z-*tV9T_f`Oli-?!e&MqR%Mim+Q5je)I&1ah*2E5v8RG2-uT^}-h7iqTxyKEU z`T1~ve_f|M?nm|{37CckL2xz~R&GAq;YEZ{5vo*hGu8*gCe2pP4VU}&c)8TjL4AC< zu(kn(Y!?;$VH1YbfH7a!f#mc^0grKJ$*X2JTXY*c3!`5h5fI+3rLn(Gv9%KSorH(6A_sX;+rP(;ewhnWPBbj>xkVcEgEp1WkxR*^kdjFe|tL8 zyS+bPZ&+wzwYiNgxa+xU_{q z3AemAjdelD*~9mSN>6_FRJKbofBv4n&W$Up9SJ!Y9A9Aa%Q(9NR_udnR%)=PQ@KO22}pefolR;M({6%NfyF0a3iB`Ppt^ z(Y<;x+J^wJo$5~%NEuPQq#bx1)&TdfIK78Qlrj z7N`+#zT3W!kg-H;J~0;LMMlaz|JB2ds@ig>j4aIqtD+}PzDacohY4x)$LMS${VrSH z*Q3ccoIo^O0qdFoQsLj4x93KnR&Q;k8r8VCeC|p^1K$i?w!QZDJZ>*VW1U)MEvLJM z_s3xln&24yNMbeN``jMzHYmKs^IrJ%`=P@+n5&FVxa1v!r8SeNP7m#j>c*fivatwJ zcLbyXSw2iHKNomRzrV8QR6J##H=j+Z>Z!~3g*c`!)j0wBDx{ko?%x3EQ?x17MZC7} z=#_dMDMhDsiJJ+Bz9DkHeeEps_=WpLOx2o>?*m8CwLi?Ywc39b68leqvZMVeZ83DJ zsK`|2>-VL6MWrxSZi8;2V$vm<|Nk+^3OjYA*o?BL}qA?Gng>FJVzGqM=AOmN}C?@~2RUHt&OYzKW5bIu*U-HY(NH zq8whku0mE1&zcTq^jO{X)x3i_2F#{=Ov?rIBxzIpL|lHg502Rg_@86P%(d?&i#!%m ziJuLjA%*TxmL0Zv;AIGrj_j~JJBkvhsn=i+`Pr?{%6$ZA$>sPprofysX|9CLYcGz? z-09p!pD=~dyib>%^S?K9Qy#foJ@Ypk$z2oD%~R;? z{B-s&Hiqw+NZs$aA?$bte8FY5!eGA%NG7rMLRDuX@_t~h!t*I9;yj>=Y4j1=b}JP; z*GOfF-=&l+6n_lr9Y<8w)4^&tZW*Y}XBNnkmetVF(pdZU?VG94t&@%0^SWH>31R7B zR7#F^q4R-4Xojt+-)f^xgAsJ1zg9`CK-uRDfMbOQj@3N8C9(&37Q`DZ1dswUV5jk(S#Ug8hkGqKliz5Qa=N57MM6ZXEw?}1&&O-!l(^o@N zlz?ZsSiWnzSD@cJXX1Vjn;n3b;1mBf%(V$WL2@!xcG$Yp6ufX$YKP?? zOb=15ZiJ8Y&hC+1r)25520pGZcaI0PKse5}?i<9HlI z!z8Ev9N{|ee6~GaZ{wUuo8id;^=jOM+>`0wQQPSB;f=z%v%1^_NLP!lwt%*y#T3rm zQPtDi3&jwt8}a7No6lgv`R)p=>#+RrqfU75N~3T*iWT zZT3Z5VvK-iqt5G+aqL{WdA4+->yK{Q(sR#@=JqvXgmcA$FJv7cL&3f7G5Y0l0^Gmf zgUBTXpCg-KQ@**b+8BjCcrw~Ig&xfnJ9&O({qtZ}sfp$phy_bUP-ap6y& zN6`5Lk&V}Lx6(}M(z|g=^sgG4U2n3-i?RG=wIxYb?x(dw1w?BglOJV!y`^URKAAp& z8qvvM={u6hXEe%|&D<`zSj-&?*8V`k4?H#UT&|ls493#?DIWQ023?U)7^FR&Yj6kf zx)|X--hd@)XN2h99-!sQ0Z#wcc;_?xLEo5bCV&>N_*L=K4|kBB3h?eQKUU`J{mM5+ zfz9|1J!et_xrZI1cd5h0I6)}woOtsskE6Nj&Zpy`SA8nN3BpsWqnDeh z1NdjF*4O*hqqKbF_*D=&P5G$@*;lA96e;)dX5&;Y$NhXfvbtx9{V^)<9~#EpZ1S7@&sRx6xqziEv}Ourp*eey%9}R&y)5P{Z5B`&+EQ%cUrf!TYkDocYbBkrC99 zxX;6gqHn@1*-z3(Zf@bKoxs?|xvpgpa#DGioOZy8t6*IQ-^sP{)m z9CtM#!-3d|> zd1Z&rD4^Z-?QIbPOlug3xby^XTzq+(^HJee?3ZbIV`o;8Vw(YHUT$?Mj}wU7je)qn z&nL=Cy=9r7pg#@$BnDnETOpP<7R#R^56z2nyiCMI`P=XHM7KzQd`l#j@1;4;)g7k3 zfFKrP7FH(c`gib;xZ9BUJnp4l2|(|c zABrj;OjB;E=Zs(s6^ia3u-FUIFUx;`Y`%(yrH9*F~A$7Vy5sO zAOIaWo%DIf;(Se<6lrM$>U@AJh$r?om)@h#-qn!P+x&fiuW;|kCrmag~4EZ<*&2Tx96 z4IcCI4PA~f$gdKt)fFxns3vqseTD z@OioZYuTxdFb?t0Q`BuQC?-fbjBVJ2G|zxect|4#=y|_g*n)mMp|468U3Zms(mpbu z_NQ{Dj_-_TQ&v7&$hsqqBA1bheYgNaFvaglFlpeP|K{B&Hh3G&Oac}5vB(U(`9KC` zf5I!&_bO6g-^00w>4(3%xLiLO zY`a71GD>bkA>l=H&Qnx?)+Y3RH~zTI?pu=#kpCcDi$$W5j)=+c-5uoZXR%r0zuQj6_SiM*s;WK0qodyfK@l30nwr|o@5M%Sz|5QS`;279{lbst z{A^?E9&#{RVJ4sck9*&pbE~$~sXxlCw1Y!|<`F#-B2B8|>o1vWj|DCB8Nv5Q#nOBW zNh!|3DA4rLE37H+`#tm#6+~~k$;qstYcznbebk8)DBo_IQ&myvrG>Ja25E28ap}4) zo7S-?w{@fg{N8=E_`w#WkY@qPLi#nJw)1lnoa^0Z$a~ZL@#Xmkn8z2OY*ksk{b$uq zw=zQX7PbcQd3R!Tej{-p*JGGyx1DMWW$}woyuh`G{Tz)4k+K%Uv0HjRLb8Y&qQ<3k z>7I2CX0AY?b_)bz9(r-A)c4lIDVHw+C*M!@eEsH~Z80&Yq{W{X&O1ylJC83Ajmpp} zvBgOgyo?*ty-hKpRG@bA6W&jzirEmuD-s63N`RJyHTXDfUx!)M=8{=swM-J_AG} zSh*-e%wwZC1-?CJ&#T`}@Uk&f-a95Zr?B@ILoyGJlphwQibEA>$6cNM%x+MfeJOO@ zgpy#9GM6c}N*HbN?!}HIc)DKC>}21Vh7~f*PQy-45Oc+K17!k*KckL_bSlMOfx3L_ zeCO+pB2@#?6Ytzo}S^E)wmp}}16kSfDQ}d>_ zqIsaXi}|}&g6N!)dg1+;KN2RWmuTQTYbEDh@lW4CCIcmT%I5F>8=fa;L29XD-Py*IC_zhPu`LSMGN>X=hWF<}Nv>nU8vsM6}DRFCmE zxG`=ljixZjNyHM$qk9@c>dV%=EmY3N>btHdFX`lEaz3LHxGrI5i~FW9!Lyp#d$%jX zi@pH7fP1DTcMTN%cm|ovY-U%sYD5{)xX)2$zwHR@rneI{36iVXx1?;TQW@~Cxd{@dbS)K#FCAy+e2 z))>}h9)2DicwEqNk?AxU-x_4Umz*lC@9!o2rRIZcH#qA+ClQry(}yZs%piQ@kJdfP zSVAVC(On=yD2J5Ut#Zr;!9T+_!#V}~y+3cP0WT(AJ>=xX?FrP^&mV_;9Gnn<63wG! zj;Qz`9(Lf4LPxdaYS59W+5l2z7_U0@w1iOWB|eG_p1mUag;_95*ZbQuvzB1|yKPLy zfPZ@zNT_et*Ki?74H|{|n+Eb6afT~Vo1!Q{Xej{mxSiE|gl4R?IGg&}6N%5Bk)%KT z2{1XIc&-!a`Ed^m+@lGdo%gfYx`dx4Rn@{9zK7%+6TBlVqX%qH=WfET6^j(79Gy|TY$;KfkD9F}HCtu>}GU%D*a*!lY+%FhNa6`GH%JKe^WDixc zlx7V&gd_5#-3g$!sHccfKxLOWq25{6Wq_M)s8tutsAUP{~I*{HOG{5blNJ zl@NZ_J=4!oZjESWy-tv~px0;=LyqoZ@wm@IHgyM|uJERx%G?*?mfBi-ss-b_gosYN zH$ekVgib?=Z)7feVsYs&ToHQnTaJOU{$!YQzrxID(^~2l2eX(@b&#=9_W+4^_;?h9 z1Kw+Aj~=6}B-iZzlgi$zf^cJXwW&U1;mg!PdBH_?hhQxkGz}w;*v2D83Lc(?Q*vp| zDYk^jI0?c?tFzyHT))zE+NW*-qTHYkD~#Ky-|^L#W-xat(fLODC#TvC&z};Oo3+&- z2^7)Y0H%YvV8{{L{R>zAkVtWb;=H-_W$9`OvYNkJ-$L+?3b`4lM>e>WE!>d2So2rrPe(EIrm-144!qU)Jy_Yez17K`=b~26Dc$ifl>U z=n%m=1yt{JlfHiIjiMil8q(1(lheceE(QmqpFh~Y>Gynm>|^;{1L9lM2f0&y80O`% zMR2WS>9-8QwM@qQ=F4mcFv@PHGgV0hXG?i4U$}aUCUCV+hvbHO1NHKV=j+vxgQ4&} zEKyE0nT-Jdn8gnRgTUnu-OPVJ%6c$F_!>*DIFIN4ee;AFZgnEcRRw!CobC6G7(8T^ z26Md!)Izt(rhhJ<(7D(S51EKb@FgFnnD4J^^<;*Ca8HOz6>{l*8*B6wRJh>soCFJ>3tcImLazr@Xfg z{`hdD=*NIZF3eNavj4S8Bcx$*G2<1E_*qH5w#RvY+^2b>kD)8&ybb7kyjm=n<#^4x z$J;cDwr@Iz?KKQ)Dibo#o5l;5>vS&!rdX2HBh*p>*VSQ9SiZWNMtAoKBJ%l6hWNOm zvf6ISOJxOJs%>HwRIOqxE0=caSPQM|>xTgE?GMJ%A@^InqJd?SY=OXR!!@T`?C=7j zK@%MH^UF^l=Jji<@GsT1jXV>**@w;}ZvFv4esFef4DPPG_tj;DY7g_K2G*yZCTr+z zxo#|E^JCa1JQIICZM(SrBv(Jp5Eq(|z+&!*wJT5-03k;x78=$;;1%zr6vwK$3P&%XF2T8Fk*IF3>*J zP46P_5m+mU>{$Kmhvn12txoaCl(5iT;qOl@8dq#IZ_Q)7y6%0Km33A|b3vV$JE(G> zNtE#2Hv_KlYDuAbqwc|e6QG;jUX-{kq0pbnQ%yj}(PFgS z_s($qYESV0-BwKKr8zq+y_alBr>rq&gU?nEe8GV><1GQ+_v(38Ic>;!f+rjO2Y zK91&sYB80hCTGi)6Y6fG4!4Jf-fijP8mq}-l4Z55TIJ0T9exWnY8Wlyu+$E?~!&E!K2V$hU~~BR2@wftQS{*w|jDCIJ0N#bRyrd(tgV8 z6E^=odHh=gfHnu4vy;_p(`J4HS@?Kq9Gen=a6dtO21m_Ht)aBB8NbuG8f6t9X7N)F z6ft4_ICob9n?Y5fA+!fYg!C~xArFo`d}0PQp(4HK6tv!&x5t zT1JtFcaF6lP94;*4}?}Ry0*^nJy(00D3%4tj1?&U7Q(;mtowf^HkW=U$9EdfwJGa9 zD$XIJ`ILmW8H}hwi~KF4`{tJ<8%|HUgw zs#ILNh9C}tEW{{D+&#wjZCtOy8=5EJ*3xVA9E%i|voHr?(}!;pu^`saQm(`{tgSdk zjaU+n-T+l_jVEVCu(;@|O)1hjIULqYLODLIU-=+}J)B_YRSMj058>e_bd=2P5h;aI zOx)|iw!>Y`IrLKDN=qu)Uuowr9|k!N26IJ8eiRVWWjoAHx*Vh#cgmzedG|w5(R6g52gh;imuBx1UmIV$7I#B#xwU5?0*on zNMDn}BNJWYe%XXQAYWTMp}gq+pqDF@H!Ubb$gP=(#0e0wS|gATBpvXvSpA$%U!+IT z>RqVIUs6^U$72N4_$fz2yLH(sW)qD2{PXUl$?@5;5+cWO)bFZnz%N}kK~7A-SR(;N zie}WSmc|dheBH%JBuG9N1=~8KP6u2$xBV;|@z$+Ga$y&W(&w;E37N6=5LViO3j|rO zyug4%$+V_6i@HeSj|)rfA` z0+ZL=ccM>eT;LASGhVJTz_E&SnkT39!XnX9R#r=_|Mwkdxh{-UaQdTiB+ z=3@5-0$E^h>64M@aLZkj$eL=UdCwM=MJfazXii>wHX;QyTVtxcd{M6U%>!+bUeQJc z`lsLkfvY78$PmMN=A`Z10}jOzgUj7J@q)d(tIGVeWHGZ7{7&%bUG!@Y;>f1Ed8Z)v z9d*-yT@J0ZIMXTnFjRSn@EGiKKtxCJqs@vQx-9LGmtS(;5K3L!R8pamdgIj9A zNNvwA*)KI$7aP1+=Qj*MPj1hAp*`nJix+H@&{%xo)b|&2>uogVte_>@rYc^qI!_K$ zEK$wP+``TtYkUciG+7K1#)p*KF@=}tXw>_gZ+zon`ucD3c`m+^Lm>}=bX)B&$KP(Z z$Eu|cqAq@>sb0!mjZI{jd;!;%l7q52K!^pa;q3BHzJoEZ$J!P+$aE6_EF21(yiKeB z_@TV@^f8QzqQgrg!iNJRJyGF_CNcJF=bIm>Z3D8Y9nFvoL5Nkf0fzwUbF!ai%47UN z0$OvboL-F{=15t#D>?~BLSPLaXbxvRMCmQ9A{>h^#seQ_lq}CE$(rc%*5#dF?-s|7dka%>)s*EDQIX5tELdNMRME_6fhlAlxI0>KuMtUYFn{k@FaCgMfuP=YS{G@oxXRPB(21WYg|aFJi6=MV2^^GxyRw|VIRv3(MQPUj zS5W1r{!_t3>Wy^p0eNBJM3mO9D%lie?n5_BmVLZ|nDQ~E!RTg&noptd5bZyI+Wh|Q z(6++^r-B^k=^e{sza35``y+<`p1PP|6{!zn-v`J~Y_$Ud2X}Gg?Pbp3N5k}Y)_E`=;R7qKyx~M^mbxwN__u1Ct!NW9Ht(GY z=LtIo4uT)~<4ZV{c|Fz|YgYBxu!Yy_Zi#|9RM8D%Z#vA6j-NDktlI7ZzxO0yRmp$f zTV(Y0p|Y`9k;j$!>D`Wlp^}+OK4!G`5k{ZMLTMqgy8PAV;M@s@?Avp+Y0pf4=&%{P zvn_VbsdOVC3>^5UgDT-CnH~)!e*ZW3gY`Oc`1kR-;u{!P4WZY^N6f`xO0klb5?UpE z1%XEs->mMetlAs#VyGzu&NX|RwLuVUWtWHN(Zn~8xYQ*I$}f8tDpv<$nPAdCGCbrw zJVekqfWY&yJ7m5~|K_Y9qp6RnEbjS!t1gRKyTJ;m0Pyp+3jvZxs!aO|zEzqf33}#5 zq1PctL5|B`2S^~kB39kF1CHPUxbm$(GzJgC)36FD-Z*2YCarr<5V&y48n@4RC&u^S z0p!O-H5$D^4i9#LQ$rU2J@apNmTI(al5M`PUzO9C4_#dm{4GUs?8s9mIGPZy@fch7!y(njJE?&R>u29+_$&Ri`a0GamJ9VwH zEcXqRtaAK3%^f%N8;ru46XPCYr9Y5X`6o1zH41-=Uw1sN@Uj+pHfNXdJ^^Bk0i|}tu$YAOZ zoxhHe+P>u@WXPZEmJ^1nOJ=#Ah{w+Tj%u!(b%T+!9Iuo_0|?l;qw4 z8z9+*JU7{gELfuU#Q@iAf_4Tu<2Q+bT!MTS<=K2)p78|X783dn0$dv>F(dJPnrffi z;Qep)cnKbc&Icn;^B&UWZ)_<*K99Zv=^aaRUy`3w-J{o+x!;4EGg>#cWr<#4R)_{c z%IMdNd<(jiK$pg;^RHuv4^`e27h2}N`I>BcsM?aNnhu=Bd_|w=l3~tP|5%3 z<1h&ZL3y|6C#1{kv9#Lu7B~V-4)ky>Rewwae9FON@>O+P^Wd%z$NcY5+NyFV-tE_9 zGU4@9kW(9`qb6Tp&e0UgYug4|z}y+6=wZ|l4i7csVU|in)FT!ysBfAT<@Cvk zDlIFO-%Jr9OOx3+Z?aLpy?=Z*Linl9-q*H>>?r&A<5@ELd=mxzLE~N_WsjFG`PZ2p zQ~c0J$O`S@_@o=G`()ZP+vU1F7P!TQI=jQ*o1=^OhYV01gq9OeK$xlWI%Rk+pCZvh zBW&p84h{-qFT~3b5YuSJnJlyH0Cg^ne+(hTP1#)1w6Ms=B>w!%i_*G5L(;i_%B3n_qXZeZkakL->_OYHXpC=xNe zN}WD;^_9DnY(=k4M(cXXR#=2GkwNHP+8a@}4Tk>m*?Lk9hg27%p+Qqb*Qk7=wk_J6 zz&gGJA&36A1jKcpWKrDW?Bf*BALxwD^J!08W+d|}DCN`0??;(J16Rc>nv+xBf;lNB zF^qn&Epeo7rPE)7B-z>&S4E+~Pd;G^oPi=&mE{sG_$gDVB0< z+irpe+iwALgg>Gr*~~bw^o9X?MqFyE7*HImdC20cJ>-P6F= z>p5$r)?Qd;rE(gm3XVkh?8Ds`OFtUvOn)uKxTzAK!-Okrw2p{E_X-7lz{V7T-Yami zc6CDG_(-omX#$vPQ%Qv4JLmukFlA#x^cD2vRyVqyYceE5X4hm6eovu3Yxhn;DqN== zsr=9agehwIe*gtR`o36lB09+{%o(5xak*jO$9L#pq0+*Ru;0J|Lb7`Cam$wQ!S)=> z?-(dSs9|~n|FduWsMHpC@ZZKhb2jL@YsAe zZd{AE3tRtf-54^Yj|{MwnBW~|E&~T*;?OoE+i+z&Iw(olz`JhU8p#{feyB8u@X7^( zQSIPjEG8IP*I(`@p%@JTY-`R0(hgDxVzbv?Gnh!sh;O77Qx=b6@6ACo8XAXW2M{Hz z$iQ*iHe;gU4)fS{9%fGXJ)0%~sWw2UXD9>I7qknkuz-y1x~thp=vJzeZBWK_W<#+# zZPFbq29~6uPqQu-akhXpm9h6&H6EX_WNzc@&uRzyW=q_ws#5n(gR(%~t6*H59;2+Oi183(Y>+|TU=D(|hJF#=rw|X6WK1|9j$CuiHS#xB7+{hFk6sTx z_#bv7xMS9qoGb>gX+PnFuh9v7iZ6m)J;3A;NdlY*kO&wuAlxgR1>DK_9b0eu%HBbYQKBJM~Rh`ZfumCQ{r>NY0FyrC~?^MD;b z%$#B3Gh~QyRA5CPOQ`Wadh`gf*~f|n#@#pHe7%iWmP#AcYg!P&bvo|2zi4ZeZzYMu9eWfkMhR?1IRaQpP^QujzIlE`a#z4Hwbi)c>n}n5b;w^`IeAvkdDTt7>yb^SUi`2 z=z~;4eYyBY=I|m6vg_7uX3}F0SAv?n>#nTMIGh9CE^<#Dsby!0I|h0&p-c1JhA+UHzn@M1L)7=0~D^t^K8Ax zNq1FMC2W%LZP~;JTVX6C|LkXp-I*bOQm>r~fi{2_1_`PE%tQ`6klo*L9}a~G>It6p z`Wvr^&8Ovg(zays5t4!59T2shkmKFjRW~-8jd8}y!dsG7>wN|!#kw9$tV$Zi9Uh*L z#kU z7Y>jO4E8VsNwo3S*l)w*k1@+ayK}pRT(f2)t9@p_4cY?~P_#4j!S-AMyEg#ogYt$p z1=9c!$b%Er001BWNklprd<(~2c%hfPu5Ote}oku^fkz%IW@Rt(&sL7j2~E4gt&43 z`R7U6L0Ew|2tOt+XPtFs{1)_C)zxLZs&%Gp5Z`mp-MB0oxb0N1m@--Vww-pGC|;T{ z`SGsOK|sQJA`n&JKONVjO`$B2r;#JuZtRBJNE61f%3arPKL&MP*e82C0DJ3@QvXjcoyc7&GnyA>q6 zq>sVHS8DwDS{1@7kM?@+yIodyt8jMN(RPRx70G9(UCod8K5Nei`((*|T zj%YO7?e*V*Gwuuo7}TJ?+YZJo*O~niAoAtxPZ#7Jo-lwNIuyH<2@@B@k4>cTu98S` zv0jf%Ju%l?*NL!8zwiR%s~69J4KF;^U=W3CE+}zObL#4TA@vN;Pv*WbSvev<%a(m4 z9$t_ys7UT5YV519q#0P?q&w^59k%oEBmn=t$%s2PNrC9#g?P}ZBOaSh>BKn=hQJ>n zht0qQ2OeE8IYO|5zx5(u+m6^k%S7CyG02-}LF5o8NQw1;034Sr`9PL#d4}UPO3_*5H zKOU3`f!VOhXKC;~s6#FO$4kZZ0$yQIe(fFn zD9|w1!TU=uJuUr%ncTN*z=K%=LL%bsE}x(N^iomAu{vDsGrlRg2Mz*OqeOV5{$^h=g37VjxH{|^0K$0x9+(k|0|jrHknT+6mLPqfd%>J-KU zQ?Ie-4GMM%Z#KPNe4=BL<0kGP?FeU{d7500J`SXP+csmu0#~^Ry?dAQ%Gb0uSwf!% zx3nP5ut~Q9f-#$FYqsf)0By=nn(d^(eGTdwCRms>V5P*4b@m!~zya663WJ@f*?24$ zlFvNAB28X_4{4k~|2Cl%{SHsP)83#~bFd2lPq{O{@wLR;^ zy_^SzDdYOE8p<=gR%^MIigj(OZac&}_N%^`JM^J!7mSUgV8sd@wh*B{(aAVNAovd!YvKAKwe5< z-}D5H)u_cT6jWX|N`$~i|aalk#VQ3}wGAq@E9~c`9Xy|}(YMc#b zBiw3MfNl|6b987>#?awnP^zovW&O&a5E-b&_#G2Fs17^t^!-*g%+}V?D(&_eY}v|Y zRw3h07lSbugFTJXk`1wO=L>8H2+~l^sy8|*c;tBQg*m+Iezru}$R|LdCL~)pM?Q=X zc`?G0&U4bFu|mF)H!NAhz8_=(d9SMMCAPHa(2bdxQAVMX&YZc2s4pOP$pRE7#A#Q& zKv*!iU^6dBb0~yEkU-wd$%r@vXWqQGX$gA>`1#L&E}d~rjUgtu9@y9oPv+nsGvUE< zG6q2m`XFl9D2#x?!fePoQq)VVSlE8RP6VI;;(qw%ZV9G6)%30sT%dlnHX%sfEG$V) zrQz7gS}ND}^fj>E#vlp%Z4h_l9|wZne*5i?eKpL?Fx!l>85g^@asvG7gTTM_)=Tm4 zFad;zj(+`Ye`S6$3M9-vwn!VqL=+6`YsKAk z^k^%<5=uRSeMft+s~+|o1CYTPGp58>P@aF@j6qnXm^N*KObF`hBXQsGX0;*l$WUF) z;|7yE)D^^!V3hnaQHi0XqwlmXCea41XB=yW0(X)y4T4Jjx4%v0)xGaYd17L2>r5Mf zGiCGc88?BuO(*&p5OPdBpun$Rzgbpo?f!|M{N!Tk`_SK^&fq>=_wvhc$Od`j+u~sI zV|s0PQbF9v|EZ@M?@rhNi|1g%gF1iz{f~q@vfj0!6M3YsN3ru6COi6sIEe>`v z{iCx&o1i8`TtR(;i4-QNSdl}3;tfw@P~qY35oL?GTKAh~zmivJw~xVZyY04%v}K4a zlP4RKyg&WvE}6IhGmO7MKFb9B3O?RJ-Z8;}$>nv|T_=thG;|MvtP^(>C@Q;eKJNsV zo%PH-(ilJVxtTnr{ zL%DGfZ;AWV@xy567PDhk!qS)tS5#s?!g&JO5e28kye%^i%#m1OFNh^+9BCcmxeKrG z%K(SL8w9e1U6`3AVhln?;RCV7(k@6Mhzb;F*at#|Kxh5!GftuBo_|Gh=spa|on^an zW0lx%oct{zk?8Eu5n>R)V2e)B`ehfh6^;aHz4qE`MV$a~2f4PZG@XGJgYtw4qeMvu zDc`cCL6%!_a$|K>jbMN!)-mkP%n~K5lAd|ycUmc?-seKK+kgK(ByOx+7!MgZ8S!-K z{H-?)5EU%HLtV#Y;NU}MiP{O9VM|P4_JF|%=|BKR>(*^x_3#WK75I!v4T!_ksk_SH z0n*vGZ?E|BI@BD*H*wIW+#}v3h=~H=cLCF zTTBYfYK*ziJxQ|PSryNV=@2#v89H>J#Ia`0m$C#8LW#PCRS2XH%lIIp)}|W@dwZlE z&j3-wX^>d?m1jE)=G0TaE1o(G&aG1evxnoqdaSI5!BhdBp-|Uhc7uFd#T|Enu*0MY zeF%b`q@w=;;WFN+%;X7^53BxTvW{}Xv(XmNm$a;Kne<@N3ykePf<*NY9%byRmvL>2 zgVBs%ZPXjsEJLw9N~SK7?yOq z_pj}?+n(_gQnAv5jk&y~S?Vi3L$LUOU8>?UJRbogj2&af7}DzwC|eLvh$s8(vyTvC zkX6J1B^~V!eW9HoxbH=oVI>wOTXrnBURV$>%GRthCMNFg4b90`2WQQiC8jXwbJ0Iz zl8b=VBwzv;$QYwghb(FL?rlj{UJ!=Lxq42WIzB!@+OT1p*!W|`8EHZucN{%N%vkN@ z#8@i$cw+eNo~jB3{hX{3_fqGm!ol2`_TskDztk*w$I8rdWUnT3D8cr!_6KBd<+T+N zr6zy-XYdYbo+Tb=cJ%M=UrW2Q>&K%`?jy59amdbrJ$`wDA?j^|`98@0-w}9QkBmT# zWz6{baT|R*5c3qF)2?rrp7-YpN6 z*}*aFcor$N+R77mdgS59Y2N%dWiUSOc;izRMfcBt8XH1%LVg}-(fJsYjG(9ir=D~o zZQWi+J58JpIY0*pwGR^u zOdRlhR3~&?xDF~af^}!vQ5pT{M;94WA5ZICzkY+H9Rvb)rXUzl+!0_ei6iL|EWyX$ z-~jH=9X;FoyY0{|fdYxe>7yVxm;`}nU}6M9FKOnN?W{qRuqn}+LL7C}Q8LMZeJuui zY@~u6?)L52+*>My3#0~0;uB9iC}o_8xFsWVoy{92D3&-{Qi4Gg^$F>&XZz;zB%VC% zv&5IXD}X4%4%w3ZOeyv-aY8-BqzL2=*cmgC2&>vBio%7#GT`HLqj?XHUE)FBjy(Dx zZc|Uv-~aDko>*Qc`$*>TgbB9L=o3N8zWUYU#ML3n70NN(Z(>s>)OBo#?Y~1``o_s8 z%0v<6VKz<%MXk18WvudP?Ov_A2Q}Uf@Ksf?8*c&7nv>Y?aHtDZaL+Z>vP&4r0JD7wqfdI7 zzdh)uKe@MT?=YM6Lv`efLG}@V!|>sQ;^snFJ;a0vqz`|?6pNwk4Am8`;O2rZ|1W#u$Ka-je>0B-I8GZjnzP`=;4Ka z8pIw4&6#@8k~JZ&?8_Ye7fhBgS-k41UyAt$>Kghl#0zsLysY_)tuv>e{%uJg_6O{` z>r^g_7Ee_u8*GGaWq9D>CDLDshdS7zoBbE=fJq1@1~@4d<}mLrTu#qC#d{^#{Au-P zn`r3Zv2@z0XH##ik|Hj+=VQ-yGKsc*8Gm2u&@SZVs>?4G!e7m0hy0f~zir&GStbVf z4P)uSvksC;Dkd=d?bl+q*vw|6CA?DL4YuzUj5^zS7y0#RZbqF)6L!eGxKkQ6D!{W) zvoRuF!7OV=**^&xfo9apSlL+34;W6lD}82 zS}lX&!3Q5?Y(DRQKsqpcD&Fa*pCs-iufFygR#-j|@&l!5!i41Bgxt6+TlRh{m_Rgc zxZx&I){#a`0xWUu*SAV+=b`Q+*bSr|;e7GM7q(pDnzs&Q4?0-pM81$_DDFcB_Y<=i zw;eK6d6+&x^%*;Ms1P0La9yOJqcqsx-J1|WvQ0i>Vt#|c2g*N|iTB@sU&$ZZ8*CqO zTC26a$L3fpNdq4&5rep6vV-_Qrh4&l*$9}BAV9UkDnkVm6n7nm%51%1;JgPstBfZH z_So)J^JK5P<(5B49QK9pjoZBnsTXj+*9i}`yh1TY26AAA7Y6P<*$;U-$vezhVD<%~ z0m1=HF?qD4vSr^*Vl+UW;Ue@`SN=}w&j}}-C`9wOH(V_^K#jlRiYtV)Bb1l>g%nSp zK1Dvi_0~eMuLef$^8tVx?uV%f$Pc_)SeK%>7N#{YX~ID)Sb@TCAV{bO!1~E2A8C_d z3MT36xE2`h((aRd`%)J=b6oQ(xa8YBJh>GBXm~W8FGh zvL4`0#ZBC;%8hH$_ASZ61Pb|H$*vi(2_Cl7cE1(czi3FZaSsPV-6t!60|)l!Nz(1o zCXxkUhZT>OeHnfc2ryZ5n+@9g8yVyF0`Rkw6I)kM570*O8LI5a5hLSK;JLZRRlp?Z1EjKJn)n z;@)=hk*2Cq(9vX%xH}3m)E-poS$ps@;>YjOy3i~EJe*)-L{~~;bBQ^|__`PC=_xi} znZ3s#8pS3py)ny!dgDaOjvG^s9$X5ppb?;g;Pb|CZyp%<0H=?MURykfYAdQJ6s)3P z40bx*2tH%eUfF0=o63?mY4<7n6Famq{=K^qbw1n*RRKqk|37=@0Vh>;{qehnU3wEi z!2yw_RRg9i#5=J@dw)IAKRdf-xn6j0)-#`=f_ zi35|4J5CO1BEe5!fyCuJY}jT3dLH*2KS`g~mh!TkFbDO9MI3qp;DN=O>=I(kQj3In zfo#ET?R`faag1)r`|rPxSZ{WBAOH6gP3vW+j9ziY#kv^*wn$rf^;Or1m9w)b47CD) ztF^7Kyz;g?lbyQ*3~tM?90`qis+Qs#3VBx^O z)mB?IWhJ$2PnIv7&BQhlVh`9jaaVVhG^%D{wfbPqO6PU=ib0iR-~hN5QvfN^Jn?MW z07-v9P5h@Gal}zdKOxHrZfcJBW-Q{BIQ;N~O9tMtCgbfu&QQdbUU~^tR4t22ICwr= z?P(X+?!C{R%Hw5o2h0r|w78z;IDGi8GAxWd!$3R#ZC1=^HWX+ffD*tNo+yA2mN@#` zT=Lw@7_t6h44`aD)QR;WA{+IqE3SQ@`%IYjh1jk>L!0`|cZ^ z!JkJl#M+2=2YMlW)Vp`DoE-b`c(*n(cZ}y9p2L7RQ=0qs?WW2**3b<%Tvx}tWo$Bw zyR~htwN^`YO+G^v039We>(sL-{SK9au^*=3*aPzcceQ#4;FfVPX3V=v`=IZLS@_lV zJ7o+TqjNBB4Cq3uqEv_*0B;CuK`zk#%{M>jJOEVF|65C(0g4MTL8U0HX;{Yr?gZjP zIpTvi5*iOmCvzImjxm8Y(>DgB=@WoE?WBGvN*2JGjUs1#*uQ^orTQ@!p$s7(4)p6R z=O^5E-y=#-L8j3>?$B2Nu+TQ6f#6|zz_1M2bl~Fl2^e4Fa??UQm+9 zjr*@==wbf-`=x&?=bd61Y)UZ>7PV)z4Yia&T5QgA@M>}p7w+jv-so2H!UX!@gRkAB zkG|K*)TL&YcNrShBuZS&SA!s}V?#i7nN{HjJxP=L31Te6WoED^agm(yl#tH++b@>%NSK0s#eg52YujztI z%ElXSlEau(6N@L25hKnOtHp(>i?L<^kO6^Mp6PquF?;r0*;u={o&u(=go7fDMi74M zGtWG)rxgNhSY$0QELt;^1F~3P)m(Lz)rIzRl7JC8_$zRA!Ucz>gB1uKKGr}xioH<2 zb`-dCpcP6GL2esvxPFS~NFAv+z|yQfGiJ<@O%ooax6-pQn#Gd;#u|fF)F>+)JI-bY zI5TUewTb6rwX;(u+4!kjC#g@d1q-PGcmA4!1(0NuiCeI=0|?n{4?NHZtI?(tPB>95 z!J0O%M3#5zNdV!44?L_20wtVM&iXgkhHTy-P94T_{>|4vC~&#yuh)sSyhjVr9+d$W zZc9HJ{*AH5_vATe3^NX(MltsI-cl(dTgx;I1g?BOsFYC*eXnTWVK z@pM6{BB%XE8_7Xufk9~c^cuDBBX8D+Vhi=BpEi;BVJmcWiOqMEHKV&t~mK7ARPjm!5S! zA8^dq7RLLLM;@x5Y$ZHa4YY^f$$vvDvDgg^K2Y`aFub6Q9(}*iuy#~MiT8O$j`tp} z2N2OlE1y%~KYaKuN`Z+QpGaMba)j~>s6YSwOO(!u zlF2(cWp6 z-gn&;Bmz8g;8USZX%a3yldro6iXP-VNr#53x}M!7G0#h)x!e<9kBt2 zn1wf*)7zAduvM3h(N0_hxWi{>v+$?GR?A}FB)|I%Ira5^x#1rA&2rRJua7_eLOls= zfNbu#S_cmFxxuY$x82rinaw!NCM9G4A5mbHZDt@(>Xy!rT=@J6-+^-Eg9|-qw{qi+ z*QxRZSi}megRG5)Mo!H=JpI1=n%VzaZz|)4`9?lI7A0DpjtXV$qJN*qf_nA|?0%!^oikPJj z^<%_oRt~@dUMnm7+Xrm=)WJP_dh;(CcA%61W|%=u8xz^clZXf99qg?w3oh+P!iQ=>S<9@cu#BC>Ed^_~Wq>L#lgR4Bv#TyLnxZ^IN z!ac384zJy$7iF!rz3&uYN3yzN{El?gg1$pWCN!NaGXcZVz+X_6ah_Ft<^PDW>e%95KbW zU%y`JZGvWptnffAx#SZ1{5RfsM-(Fz4QFlX`-SP=;!s}+ zB#<5i0ryXyx#0#YiHk)Jy^uj?xtvSzsuqv1cc=Mh>A~`mW-u?_U5fe_`;4%~m$Z&7Jh;Ts^cg2%&Z)iQu)_{icRB&1Sl&5VuD-rWx#-6o zcZz}xto1B@EOxk1^A#2xvUuRKXK}=B&w>vqK2mb}T1i_!eZUW?A}K6}W{qcY3~%IY znxB69Kc!dTs>Lbmh0KEjzPGKPhtnawvZ~-f8X)rH~ySG$lx31u}zT%4O z1^C<~^rF9rjQ%24k-sP~h;H0r>$kPnbIzMIl^~W;+K6?9{^8>-cJMuGwXfJ9X(J!L zr_Na3*)Z88*fi;5+^;n?%?c>O#X!5~NBR%$WBL+neH=Q{r=L!c_6eu0LT_#S^Mq}N!;He<08zVE!J!_ybi+tGXPy{~jI?!|JCQfdK*=3);kkSGjr^Wm2- zzx*=#JSbhvQve0tA@cn54CVucIS~a&%!g~PxlZQ8HDUm`MCQVc^6#5y?|H*OuB=tadeWrH0vJcAGS7AJ z+Mj%q%u(Khi&u_0>km=#*~_BiCoC`416#}NzoYH!*RQvFLI9V@0i~Wei21p1F>c_q zL*XGthxH2ZP5||H3Tp@^o+4&2l25t+#p^LpS8!%74Q-6iU#)*X z{`fP!pSD3W!w?e=RF2kf%{5oipmr?utcA!JdGW4w)>%&t8_Yv!LKxmMs{Ul&001BW zNklb1}C6aG<(Z^x8QG0x#zw&mYJ!sK$TA-v9(^oiKbP~bJ44uPXu2Ukl=kz z?rbG^U(g=SPD6bHuD#W(s>xfFmhL5)2ew?!b+3@DC6cW`wh(U(A-_8>X`>}CpB(4c z@49J8JE4WV_ue~7Vc2KiJ=Ky6ceYa{dF;e09m(!-`l%>si#R`Z(y0zIw3Im5L`x`jYk`93_-xnp|mMF-ozBE zu436dyww~qL!SMAOI_q#VWDs6W*=xKoq~MQokV%6E+^B5@c(7=3M(!@{`i9^44111 zWyFZHMCsTt;D#Tn)*%mBGHndClBvL31O0|VzW54xzF9mq2!#*lCPd~&RW#K`oWadA z0+~ez8ylvb0}y=_$_&S&r;05zC7iFF#P8hDP^VUND`cxsK5Ubm5*>QimtTIVo~F0P z`aJxPKk;_~-0Qo~KA-5e-ENq~XxyX+!{8;!uBdS^kv}1men#oK
Poc#8;`v$M~ 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 z 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€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

  • NLv>L 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
      D%=#*s!1)RC_MFVqL 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%0D+Q6&?_0IVhEY1yn6T8 z+^Tk+pJ1@u2O?f55RE?F%&%XM2&*uBxeENoJM9m_&b!p>Qg1yteeIe&rT5H zS$)*Z92d;SSC>;wh(6v6obY%vRmmPPA?Gf%q)9#OX1i2_ryArjmf$=A(Tu1)0ZYGs zZQ{4{QM-@Ur^YUTepq|0vSlT%Wjk?}k%{vM%=NhFw>R)pf>pxKZTm!`r-<_Y&s1klbwz-B%G}HEUPxtvb-mp2P#*x;`Zz4C8+)U!k_J>ImhZ;zo2U{{a^)tXCdQ-Gx2;%AJ=O8zd+DDdauw{TplK7=-V9y3?lVC)R zIl;`TNeBNYo}$|GLU37!IC;w-7UPOOX$s-e3s;&YW(!xowJap`?CXXXV&ijb7%)Y1 z5qhY;qm3<2E3n@8Alo1T;g#F&`-}LwkeGt_>R?O;x4^+Kf%m@`|pD1oau7YvK+AHdQEyGVF-{e3Q@0+)SbWf+Z~b zuEMGC-kB8?y-3qxz-%Msl1^q}?3G(BgjkOCipd6;AV#Td853GT8QBOolxHNOLDZuo zS{CFZB<%5_?*n+t9zG1LMaPSL7TbHCH1fdflkL^H^0|l<#cc10REnrG<^wlN?kW>( z{TaDa;b*7fPn+!GEM{h}I92}m=Jkns+>o3tb{-gvngKCKR7c%%T=tO z0?qc#fmFC~gxV_zK9s^-efxeYQVFWDoQU$xuAbZU^AT;QA13M#zVx(?oY^AjR2H%K zr&|+Yb(O-4Up07=T7VSi9WQBuA1e)9By7ZOQNJ?4k@6Syy5~tgWN?!4ky85*nxu`N zT6x`RmAbon9ynWtoH1e=(Ze81)_+j5*cTOY^VKDkx?r@M7x`IM)S0rDC=fFIi4^g^ z(F|$XBj)1jFf0xSPhM(LnPxY!hezjqycD-5=<-1}9!%&FsPV;*vXMIJG}_Zzyuh5F zh9?VUNnn^}`Ut^7z!kGDEP{Qe7lM@Lv}s_KiVjoaDe<{!=0)z5P9&{2pM0Azgr`rS zev?Ux@zGOcBJajg^h2kSc`W7VP}}8KAJxV7`YM;xqiM(I zF1eRLip826ni5LZE=-8ZPBhXsVhbTZwW!~0oN_?2-zKl1wjpLoKdU`A{%%uD20xkte3;C)*q$%?*0iO+TBf`#d_8Lg&Dy zk?$JgD*c&>K=vp_Vk=rfWKYNes;i(%1$yL@TG{V7uRc{pwzcInhVORbS(z#E)N<^t zs0q4368krkpfIodowo=1&Kp$Jtc(~H@7+mzFfWZtnXWj7$UV~nN9=`5d>}^h8IL0e=l0_#5v4QewwQ#fv8(I~KsF1Mo7$|; zR7!jZ>>!bAy3Hju5-OzrNV)Bdss)rOQ*KL_)&_$@2b2yog_Mmch5A4pulibN>Q=9T zI`&pC3!KVuF>F5~pJ%A>NYro+>5m?Ce;$1$*(|XHe)*?09=i^Cf02A_;Jvi%W9QD4 z8B}g*(|sE$wJu_KrEIi+W2V~kL+6Z5C)$~*9%Q$Oai@l!-h%`4yuU=$a{ID-2$~cJtGk6}|a=~+{_vs)ZbR-a=kbl~y|L6I)O$tq>C#9sHFWRiI zSy+9(ezS80nYFSfe*z2psE4OaSd)c8BT6;yNwa6&hM;8zz(dTc2k1G3R|HHxH(muu zh()4$B5jrv6rUG-#G_)xPLJWxXpl|nqH}1k6{3fLG<%+A4mQ>WBJLGO%_=VT_#KsO zopAD`<1{P^nD~zLnijXz)X5^G3AXu*)M=mSf<72kSM<%TK+QSDuij^<6=`NBXu>cY z>B;dP+j*z;A<+(Mo>$9D_Gf&hCH2xM*<)7;%IFcJ=TLjn2ir_nV%FZ+`c!p+Yi%>B z?Q#Z%blbdZSBI`(vLFf-L&KSi>dvqg{zlq3_*_-|M*g37i9ut`52H{iVxK~`{4(#Y zuxIfXmF@FYXubl8v;kQhRQ|S)`BRP`97h={i!73HyjoUCWDBSD_82Yo?e)6qmzJt< zEwyNB`VI;{BUNj;d2?KA4l&V)?Euqy!qjH3M5TEjB-+UI@e%}8w8lOhXvF);4X4x; z4+{`R-6twlQdG_l^yGjrZM?H?fg~p&eJ>N1Wg%?F=q@g??MPm?qCON&P>-CJe_fv{ z*wTIOi&;%5UdOR=7K75C$ zBm*UHu8Hv9pbgAtB1k}~mqNHt1o>mvYGP!i#kH7X@SHIk$U|TYEHdIK57tn~`fXT< z&PqjmD#fkoGc^KE{$3ZfCuny60Rc1)J_Z+|&AohWCMvMMUpD2Uj76pyW%Upe`$U?H z$?|8=0sV)6?*iER*UWZvcRW3%1{c$ry3*QNOp(&ed+(Q3-~AGEwGvdFBmb6U08XiK zTJB$6I@@2AxY4Si{wVe0MZc6A;+{2C+&4Io=J0+ z29icRYrg7Ke4}NN^gLH84i4w@*Q5P@C;^Zb1yc%T}Zm{yw4;w69R8P#SPwPbv}{A zT{L{5@Evfml87e6=CbIVno4BfP@ZsAvGQUE_B+~eCF~5RETvKVkn4N*`DJYB(T`(vW+?Qx65AO3gszReF@gE3(&oQO@-QZNkbKnP?h4CXZP*Q!jNiD7ujUESTsGHk6G!4d(;a zI+k>-bUbGh@qv0@!J$#Fy%eM}L4NQ5&h~=d$vI^wRGvsUZZV>_?nJqOGg97%dPIOw zlMSFToj zyMHPE;$AR!IV}u@T$&X`QxtMmgDUGLF8lPOpaZ2#dUZv}t&L6Y;z6KZ!@lE%u(U8n zR4QdVC09qN@=C_!8?mD2pw(Or$0`hIHU7$xd#}Ga8e?B6l7OQnooX`7@R`1M}7vf=xSU;c{fXcbf#AvUgGUHZ6juVnGR2Dp1c3peQPOvZm;mP7ydb7 zsLI2T{o-(*w0h+xRdfLU0Lj`2Wb71immpHNvlmKik_;gwqVfDxA~+dWDZ4tG;)Gah zGTuI+BISWxHPAh`6bCl8Xk=8I&x$1|am&x#{rAsbu`Cvibu}%~IZlnb&d)a?4vZ~2 z&D~qx#UfzV%0$t94iA)-`J5i$?sRgy{%0vxQpAYtPpvhGrkYR6P@@@(Do%(AV}waZ>C<7P~hp8t4n$C#RptR9eO?ArsR%W<0K z!6)Z1<-JL;!78Y9bx11y|#u#Wx@GHYeUbuWGTf?VW7cGqoANI0i1yb$@)uDKWmsk78t#nZBL zYk^XMpMBPT2&T?Gr51S!hBLOx&1tLiTtt;tE}BtUSSWb@$*|}actkIG6fvXY+=}Fw z@^(&Mi}$-Sz!e8%5%==<^)4dT2vqN3+nQ4CSkOl+g|&gdvl zs-t{6)n+c5)jdt!ki#jtJpZN^b>2#TbyQh9_vE>I9|$A%#g0YvWsgUQIZwPFbplE6 zH>W>f*GKu`9(3Rtv;Y-Z#v|`YMLEbIs;s3_L+Ewa)`Ubr^?Ioat#ndwGbEtoC{DPH zu|;P1qf*vg*AZ~$lc$wtWs8Jv4$1p(8nGYaD*C=KYwxdQXv18}%F`{z|0GlCodQ&& z&5bfYoU#Ru^SL6xcnHa0C3e>e7PAuXX3HYiJF1hpIuH1m`YtxfV_wqJHh%%xQGI@C zsh`48iRcvFtIGWtpa!bEH<;{$(iL~Svt5J9I&_W7nplbTLbpDMkEEbky*T`))!g-# zLO?6&b;+c*Z%slsY?v!Vlo!J~H)&EG|>?HHQkZ{&2iyw;4 zgs99455Rukt~Kojr2@qpr#QD0l%u!ZNAK03Ulg4_!$~!BAGZtfFt$1s$?X%78<%=3 z3Zqt?igkTA34*A!$cp1>@+p&6BvOJA_BDl1Y(y)Wm0!ix1DiMc=}5EKNP~N-`-CR8 z5!uuqxKOh`nbdpmmxeo^*hH9Rzfkd-Z}OfMkl`mprt%NcO9|g672$MIUHzxDPmaDo zj_IEP(SC$hvEuePzJgA*6jOf~mE%rUfG8~Us$&%M@Ji&kjP$89uY6>cMCkYymi41Y6>&1G=aj4Q$`iJEvLdU{&)NLcB;PS-#0NIYl*l^PZxB8_ z)|Z#X-=`}fQ3z9wc%Q_&`9z?hlGiKr8}F;5#jL47F}$A)feP#sxdATA(M;Xc)%L01 zZjM{C$+zP{Yn}edohUb~?;IgD1{!U!2QmH4q{v;+!^@ozDLa|E43OimJQ2W(0g}eb zGsI^%zm#^i2GId^=%IY~4H3$q;qm;6(5Dk0{NR3PDhS;`F5_0OG==KQRZSHvZB77! zi<6xSVu`vol?pRcxN|AKx$RsFWj>GXRv33XFE@_1QAFM-;t#eQ0@7)B3r-YVSsa;- zNheJ-g*hjuH-+6STQ-^OyhunqB?VH^y)Ou9sLUBfZ2YQH;3i(@YbviC z<(AuChD2$hHWqc6E{9Uz11EzXg4yIv^OL8$<=b1lsovld^MJ}%xj$H-3fY`J{`_32v2sh$e3UWWWSAv^wY@*=TP!`B&UWoJa8`SFMzkeJ6zT&5QiP>ou)dShX}{o8 zuIr4u(ROpxd3W}l1unfW_FzHp(VI4}TZ(*V7{Q0de=7Q}tf?0-zdT`86RA)Bu1j5Il0vo&U`^q;p7fOzfULR zw#-_kw8N{$UPXHp-QfQj=X&O-ij>FsA|WNJ52^!=2wbU zxr!3&WIu9+da+lse%<7?ViW4thv~i1)a^!EU}R2@WO_~xRkou=dFyLkF6-M+4su&s zBqOS%#u<< zZ1+6rNVz2ey*ryo()@n6MLs1cP>M=EfRT4T%tIlO|VR-@s6s4!FuVXoDbj% za(0sPJL=1&Y4VWB__IqRc70ZLJ@U?8Q7#~2Ui)WmWH?>iOzKi0^?~&uZ`r1@29S-K z^`=ok-=kH52bKNMRm@l^C$uLVk|e z=r>-Dc`KrnA;9Fppttn=YSTzkV?o&!d5=i@_o6Rv1t?x31D>^r!4Ho?wkx z^D~J&h-O`~vg;Z;G5)y*vUbjE?1Oqn;`g1Lg00IfXnDhUI7bTw}IwT9A}XbFE54EH_+wh|NiLr5(f2!-%& zPDe&LMij6Cdd0~OZ{DGHe;ogm_nw2s!NR*kte>7dYF27Nz66W}%sVXM#q4}3hxHFQ z3^GxFO7=kfAW&+4L}}uJ-mkexD=dsm_d&t{F`WpDu!OsEyHr=6ZB}ccWr}kMyn%6y z?1TEsIQ@R(I&+sg2M5lP%_bt<)}6|VOzyNIwNT1LQnGMa3+0w%z?^Y_M7(fCLEob< z%kF736ZVgb&RpXJX5pw4(Y}2@lH%d>S;R;yJ`6tyj!)bAJ>}jNDZ@iN8+X@iCPKG)o$GX56d;|o|C&R(#e zYM^gdRD2T?t!f=J@g03*s~n86@TG&dJ_zgH{Iq4MG$Xj#Ao%44xk~ON)jHXe66E_y zK;(y&lHDfwizVNuRKo1dYUj_i{F_KZ5O5Wwq?CDtZ=<*5SJhrwn{R&WwX0vJlGB)HF0~A*0Z&}=_RFTL&c`>ec2zTt(N95KfW3X=YCF=6~ zJAL|t58}VBG{>I2a7MMP^ap?2UJ)i&%>5Gv)YwEFx1V|;gfl|7Fm@q8S2!=>-$$=Z!FE%;2T z@^_1s1ZNMI#}cp0Gr%3TX=Y!+&OjpCk2EsPPWgJ+`w-T7S7}NnX!Yk+^qu!kRhtf^ zRmAw49IHyo@rN4sjC}PE5zRICZXzaU3yOcCp@7uu_3xtuS6+AU#I&R~`K|j0``X{x zz&^4O=oG29ihJh`VaB<+TQSpFgJw2GLs$J~4&6z9c8lJ~neFX(^_gg#fpth2_v>7$ zD5`wWEUogIlCZa#OT!QMwaE8ja_g@HqU%AuGRj0-M`su2F~*YlmR8Y^stvalBZjLR zQ8MX=kLltY+)8d`?)$YHVcgY<B{vRYSg32dk!EGy<$H?+2*cR-520@!BDHyz;$tLYf6X72BHW3% z77cwp3fe1w<6#6mYU~PE{y5;;x@0x|vlTnpk-`7Pk|heX#CzD}Rcj+GiXW~LiXU1B zsx7`drjV%tF$86E&P9OmS8DI9)HRDiKM3nLhpE1Zl<>RovO2uSo6?z1C5?$?@n3*W zP58Dz{O4Ma6d4~OXK9=su})UKxo%0bH2##M2$gKBfK+y`k#V?DQDe3v8}!PpsZQ_B zWw#_1?}hnTAsA(NDkteF3UvUevg4k5;oNs1y*^QkrL!~Ubp>S8gG84wsFJ*GEb?di?iaZNy4SVZ^X~IbV*Sf8$dz?<)X5%Q`okcwV%C)obpMs*jvxMcTYto;L9Z=2K(~8HP51F%3Ft$X|%?60j04Eo%&5 zOge8_E8jIOcCeC302D<`gcr9X(&W+1AOSQ-2YeYF^M=`PA{pY+lAe__R~+pWe{?o@ zME}sKPEi7)?%E<<94IUCmf@@{1F_x`-O1dimzi0$jnjP%o7INKjaG=!G|Hsv$C6Qt zkH4RoM;Pk~>zVosd&S$@|2;hlJhg$^N%W0A^J7M{)xdD2yTg zE-LWr zY$vFANZtBSM_Suh{)(M?dYCHT*rye5bq>!>SY7c-PpXLmP(0Ie3c1pwHBzIUu~4&8 z)`?409fvrwV&a_#E?LH-6v>#nhzb#Jd6WPMOkEs-!<@HZ$-l7yjJKE{yl74lW~=;P zg`%|JdYON(n2bjK8@D5^x9`O@MNGo2M3!zW^}?jH!$a2G9- z&AeR)j=O7};?r>0tSed5@P_W^;rrtj$>i5WXl#;j?bNc0|K@$fL77>FEpSo2?`na$ zj*L#t?;6F`X8~si8I~Zw>&xZE{_wDkXxA~WX`m3+kCZ2JwM!HXP+q&*Q1QsdPjeoP zDExt>Y-_f zWMzixvN>Z8=4RURMS8+NN=VePijDY4(=bSr7O~oF<5opV?4PVhQ1ZV&3gyUlrPwM{ zuAW|cn%_Gy;pG5@8wzCyvwZ zo$Toq7nxi%M?ZfETM)Qg>6W|zVk$jbk|Uh}=NCSqpk~3IZML|Es9C{iOi0af7{7)= zy=14dALa4%d@XN3v%LPH7*V~@F=>Axw5hAJILq=jzw{RFyL`tF5dHOJ*pwOPKB14! z*-3ZFb>z-TuFy`MG(GTAt*&h4XQV8cx`}$%A!#+d-r$#{F!9Zi{Sdg=&1;B0C3AvI zL?3${!v%jQrLGig z4-CO#g#-(b3W(4{IMCk#wXaRoWQ{&)v=u&)@u%w#T~X^VNlyYmT%fLo25RQ6f~|l+qU)4?AxWVPZ_5VN(Kks z4&M8jHzr8Ev)VmNo`!+snNz9X@4Y-@W&P`cU#DXD5(mvny(I-Tju%!P(3D zQbC5t9Zb@-ih8Us3l1u-p3VX7+jRY&afe=>DR{b?(Gh3ZbZ+v~t?;H%t`~xQXV0Gd zQS+z)qQmd9ukrZW5A>mtQAt-b-7ZuWNaT2zEQ_l~fFFI%Jco#`JUra=>VPGaPdeG< z^3mD3=5#Uh$)HP(0&gF?s+OS^;UCFxW zPTJEw8nJG)WsO85&Y+G#1m)U!(zJ1ofAE~kn?11Ll{G46Y(tN?v>&o+H#P41`SV(O zRA+H*sbGWA4RZ_kPy?2}2k@VAOe%qM_1-7*uF|lalFa$X_cCUrXNSHoOH5L-40yij zU%j&&W|_5sd{s8c;>*(XenzwkDg8+#u*(R@2R zTu8tYVwUj3VE(j&(s^N0kXgsg?BBKZpWcCDW?q|<)FLZyNB=(D@LQuAtb0aab!8y- zgT)lweoFb#3fC8wXRxvF)t{nDY*4tX8Qpsn^KGJzcE|hsttXadw=wU@lZ!ZWdWJb8 zWbw?|ud}htN&7j^p zU|r?TaiDZ+tN+$=nmcGPT(je>%(t7c^g$Ii4n5fuNitzq`Ru&-Zl2EGrw7)(qTl@c zLg5#UfXw8f+N`>S4^psk90rk(6ddmJx>_4!Lmwa&+04G6c< z&+1%m0&qEOkIxh)PdSse<7XzWQgRyF#VrsSi^#`>VO=-%&i z_Of@}n99it<3>C*Ijn&B>C^a_99?<3T#RR;Nr~{n(fg(`f=b?jB_X*X&z}w=UP8ESmhNFWaYahmW)`@6~5MI|2P8dmA1;jk8DW zyLhcgT>tGb0$z=o8wx%YExIb z$iGB`W3$9=HYdX=7Z5>or^cO^@`K{)9df>BEO3-wqx3 zjY_0-Gc&|?%*^aEGjq&L zF*7qWa||&<%*>9NnVFg4*4k_BbI;xPbzb9*@fxR9jT%++|1~u=rB9!vwp<%ROHJW2!XPGzA!fOQMZwU;NrLP&5O%R)n97ixTq^|`u)^sFm4a`Ey@^k1bF=~ z9;J-=8(_N%6c<9w(cEQN(>U!Lga)dP3{j&Wy9zpiUWu5rRo=ZjA=&?! zN$n)h6$9Orr8q%H5x7!F4 ze64Hb5N1v#REdQKFWvGlN?Cr4G0AByY|RW@2%aWW|uk%nMttp8I6ub?aR|9`wdCXj8B7lh_7aO$IMUxERe4NEk zsUd6204M8!Bvhb&kJFCh0=(YF_mcVo;vAT_PKLqL5u)QmA@@N{eO&#_sj7ff0W8r} zqI<1&w|qc6)AlRHPBYSTxj1Z7}f<-efuLu>9cZiw#IfgxwiVr4T z8r80xDxcuQHOI^Pu^AFE+)Rwm&`vPci_K&enPWDf>zQDwECOyNWSlIjT2+>EN!~mV z)%ES?{x*)nBz?;m(rEnrgGer|?>oyrSZdk*85-+I>kGC~>7`B6I?Z{IF;TNQG0h%K zp>e75c97r@Pv_+++=w_59Jd@!RKwwnl}j`U<8S0CGd=k}GHdITANOmN9lKtkfMJHZ zZ>R?=wuo-wkF5)(V^obOW}ZJK<%9AGXZah~D;3MI3EF-L9~8Wd+}FiSnh9k{t*TPk zS(Bvd+YAXfJl+`~;qwb+>aWw-8t1G$;jg!wHkK@gLr}&~gM|u?bP6xar0di1CAYT= zC4WDS7uv|8cI8(UiMv{oWT=<$i zu2y`nHcn6{`4DpQRkn-s!ZtEielmh*KZEwv2) zUf;Q38mU@ECi-$>;A1D&O>m;?F944{h$N2#l z=j3?5I9j)p5~iT zS}}Q?u0X~>Y~jl8vag&Y?Jvs{O<=j67hEKK=1|aiJi7Kn@#Pz!1wn~ltg(srgUe%I z76>I@{91t=0o>_lTN{&AA0NVZOU8ajw##oJ zcYn&0Q*SN8SgLF+15|KPBzEiKm+JNrHh6Uz^qg4vuKUq){LkEB41PTC|AES;Ji29E z`w8#fy_zf{}SH-HmOGfPEe?X2 zPU+Mw{cHp+4NG{`Yao>%BAoiQ?14O_{4{cAiwzvr9l-0bvLjD3653DD54XR|9mf#& zt$AklsPYNVL}*{wIVn()_I-o(CR?15N$3+N2>OK7YM~;Yj+LV;`)lihlWSm`^m z5^|AYBF9f(Ah{@fF^A_ugA5$C+?bKMa z>z^SQa+E|m(m2puYAB`z**I!kL~;o~AuS=$^})f*`yqKzF^uqNY_zkLUq2~Hu>}br zrq#AVpsBt9i2VSicEdavVAGv+ckvWz9hBvCkQ1StQ8zm2@&rULo_SuZC0@e{8&q(vFziuw& zZ458ZJtT5Cvge9l1RQ0U3=Q4Y)XmGOHk4$tDl>EdeA)TUex&A2r!o!VJp!^G`CiG4 z>|3Rts=Y72M+fsU-+j_vuxEa1rN8G7)SE-7bvvCv^YT(SNy$gE zEz$z+GXBxfqW7{ApKoZi)?izNiiOS(cm4a+XyDlVvqB#Efk=`zlqFnp_ZHOo3+&J9 zcqf#wHiFvusZ}KiQ)ZzPY@MNxsO0NY=9w(Z{J`nI^E+0AnaIep<7hPE!&D=1pq+h7 zg4%)^{$PU`fR>ybP75X|!yV}IQYyeVXl8Z>Tx8hG8p&?HZdrEHij6=ke;!8g9*j%& z98UlsG4CYk)pRT^<3STC+o9w&_qF!24@qDQBt@r4+q*24@=!qF^O)$d`*f<#hL*=D+bL#%&sR4xiXFy!(jKrg>C|25tv2 zoC@`=IB-w+9YjfuDtbT9I_KjK$dw#`OoT=T7g)VlBEn`TEyKdUe@LLEw*LkFRe?%P>(UtW1o;Vb6QqRe*+}HQB^Phxjt;L?UxV%cCY z!f*zz`^oCFK>R~G{$SS}72AI*z#f$7tYr66V6paB2bHRQjHAGC3WMory_OP_7>6<>XY^p`8AKy-D9|7E9x7 zDQoUL?M}CA9VYR?4%rGG_p2=?t`2jvLh2=qW(Tm$@aDPo=W17wqBusVyiNs8VZwLo zy*2l;%+H*${YnfzckIEB^GzS+s>@>+!h|?NpC=OjT4ERj2%Q-j)fz(bvm|m*Tik&W0 z?m9rkvN%wlHbIAQ%D!C3`qJ$YY;NDtY2Qpj1j=o5juz0e`o_w(7?>|&13jc|=sVBb zT?a07*=eR$K@!Tv*$J`W?)nOyg+v@h%%CfQ96k$f&lrntoo=rag(UqFq-h?kw1!2B z(xJo#c|-LsfVymku+!5!>Lizh=Y+CZSLB!Mop7A%-`neU?UJk0oiKfjhm*Pd=6Bmi zn32q3C;${pRyx}$-|-}F?ie=|^mXBUOSonz?(sT}+Y{AEkGAu3mSbfYpVLvVL^_CJ z&W*BN_Q1ZD&z_o!P!+5NrSwx7IBZ$?eTrTOsS%sce^^~!>srW1;ku_DKHFV2_0}l3 zPC@>Va>gbL-3qW~lw;@IAlU)4y<%P@bkbtCNkUTE=GqpG&z`D)vs~|)`?Rsh1bNfx ze#^QH{l2gN(Ku%@o{<^+rLP`txP~FCyGG;)$l?##iY$^?_=rY1xm*;O9I*E|UEm-W zh%!TV1^gx-Mq`NGW|V7KgMr&X!sqNQ;n(i(#$rds?vhTS`<}3QnC-|mlGeu=sD->{ zzw-l{iU3ebE2qrJf6XW7q(T7OwcEdQT#}nIzB|sb$qEi<4H=hbT2#VB#^?0V28`R2 zpg{JeI0-tbshsFIv)MCEC)37v2-OOMe7JuR_dOjUOK*zJ=v_*#fJI?Ua=c!l5?%E6 z@%kf-#x({-Ukw@IKKARX8UzeIXsFo3>*2+OCBa8xg>mrecpdV5%A8(kev70lc2lSg zc#&q{9~eZLs*eh9sHB8nf8>WL7de{&K*3^?(bdQ;va_Jz#DbOS*aW3>>PccdIRe1V)7847`i^p*ky@Yt?Ft(yR1>&vQ3<-8SoE4fdlA_5*o#Gv-et9Zf? z=hW;8iW2+cU9BneJ|kr*iuU4+1GlJ|kQT(49?=-Ax$Qx}s3Pkiu@N?4xsw=11u6s( zKh*!&8N{>0ESOtTVbF8QD?DQte3zM_g!3P&pIum>gG|!Z?cgP;V0#x)2~~UTR;XsQ#k(67 z5JQ%YhC>W#pVOrRaA6j0S})W1ta*B78xv45Unzh&{|pJiC28#T5>gJlB)>cX zMSnIV>~-_IJ_EpL6v%NtU&nfOc_jO`AEotPmP-GOMw9zFZRd7S!_+?rpJo`f+Yf2e z?`B^v)qgHPn#T8XR4Cl+5a2(z78TaQ2ym$s z-I7ahmo5os#!y62lfV7kXuD#}?PSkzUw3W6_lw4{)J9Xkg!#R9(3=}?b63-sV@+gL z8LQt`Q4UKpINpe(cF)^OT%G`^cJp*K8iFr@>zVL4dWM4J-`kJ64bGm9`8|${Q{4=Y z62A*|PulY;YZ3lbX)9RkqN_K;!VVD8wGn*)o4xPK14nfMS6dOO5Dd|mb< zcOTDKHR*}1eF-iv2Ie{!<2E+(Q}!pc$NWBAI)}{3P+YMn64y0r_i$lIP7J~FH+brn z1qEB7>q34DwMLIa5AFks_?EVb>*JIHuE^vYkS+nlmvOd&qc8<9q>v&iN4iE}<(Y8J zdf@RPE0A~P>nwW{yo$bY002i`)3+jhowt@k`8g~+?7UAlIqdiU`vI-F#)7_4%zimh%B=o>CEAm@!eY{-GmWDpIa#LS=Z%2US zk8jVQaHSmE9N4=B-=^F@d$BsZ!TBjO-McQ>7)yUS88@WPYY=lubZm~vwu!%h8)GuuVZ1FCULtS176tK!W_qF@<|Pq4TI4?c z5!^I956nP1=+dk=9o;1E$EK>b@ec01ue2L!5BC7mHu&P@|E*~EO`qH1`NSU*58nFC zK3jl>q3F(B;HF<(RyA)f4;xRZh}Z}F^+>>)^+yaL49nl?CoqsK9n#9QUSVaqDScO( z0y#3_LyrntAH)9i4VH@ryo~Xkt8U4)dYHEI!p7jm?`vqT_jm|lf+0!G0`GH>5kXeR zh%x1wn-(gc7v1mt9#`vF`3`rN8nM_Oalz z{&)pm*QA1mhM`g_KZg^0_-CVYePUfHHhUyNz;VFAi)>IS|->|^ewCy@_ z-mmmWs0i#L6&d851Yd~1LVk>oe-jq0jaNM8d?BJ|H7r^kdth4XH&70MfHZ_C=Hf)@AdERJ9Yp+-dxaRGTb!s?;K?Kp#eV=ZD1RM(5zZoE;Q)8qRo{e-=nA0KGMx&pDnvJZ9Fr{VzDiP_ zv>M8yEFHOe>v_C5=9R@daeFslFs;+0eBwSdm097N(a})d+EYk}5n2O|SAIG9)t{Z~ zLXJsQs@HtguK2RP`L3%+t&j0OGMM7g38fSUj!%c9oWTK*6u)UN z86KD5ym!3${7MBLM})r{=oN@fns0lh3};7yEkf)>JmI4R$LAjB9CsiO%zy~%G0~F@ zs0!>n|6m3NK?<$_aUp=JsyIb<+%Pbf3*yABL_>XBp7c>uk<7zABG0qk5%D%b8*2?p z@GVdWoFuF3vX@#CU*O(J`3mw0j@CG+!F(kzUD^sspwGjoQlxv|L&Jkx3;kF)Dj&95 zp24`uMwO7TtUn!<$z)emQT6*;(8Kc0DjzQ48ogAOXcMWWaA0+wTTRwg9PqyAa`h)0T!ONEyqRB^1@e_?7OrMp!DHCLJmfNubVnNsdR3o|j>ww#HH-d_e!2 z=Vvr2NCcHm(1^7KaYFgwLWN)$l|x5lJaatd9^5e#A!VtA0a(!FN|h8axidSptHIXg7b>l*gA#Pwpd zWT%m+Jg4J;WUNT?(!RD{)&8DmHmb@!V{psi(X>$=bqf}}b+%%OFQkj5i>;g>VU_m< zkL$`VJ1=ns6e2#VCtft@FDlgZlZ^9c!ZKZ{y6NiDYTG!8)@q$Du-xq^D`%tBN`4H@ zw^4|gWaUQa(taFX!2^0b7SD$@2=@asIahjHXGZ{ISDBEgxkK83lIf+LO`gwWgSb){ z#Y9+ImRy=>o;Z}e{@bOUO9!=pbDKpj7>+8Eibf#uSgXrI;}485ujUvZ`#V_&PLxFD zd;S+Br)p<8vF7L@F5CXWdQX$ixqB)^FGh}T9cOfOb&KL0_@EY~8q<$dlhY!BJc-LM zL{a)F)sc`l&8f|&0acfA)IH{3Q5`}IY5cn!?knlaU|1w2j&57pYqU1szeHZuKi4C5a>QLY7&eBQ5F9Y)a#<5f)R zl2gr?FxqrR@)8I>2TQP%X_9KNw0_%`+kcu<9tr>XD;SD*%iVU;p%aZ;3pAibfkc6V zaXI~ZfXz2Uz*%-(m*the6T zZ%v<&Zc!1zV5GERvs!_Fa{*YEX(F;iWl-grZV$!^T{nGGg{QR?Te3E|vjZ8q7Gsg= zDft%HxQRq5hV^x#R3q82)Rgt3SCv)Cvw?ls(s&i@#;E+Ck2KQTvF=V1lbf{`l$q@5Y9I6a=1v(Jm-|$QLfP7 zzqMdTwjP{P38i<^+F41cXXtZR+Q1}q3QJ?#@INQWp6`CYbI!M!aLLUgoV$X-SOpWT z1k16U`~9W2hB4H7qPRnDG^T6?hl@;q$%QjeRx@Qrb(o!Oz@{$l!#>=-u`h< zU{Ht=Rvhq@*k>(!54=mzyf?#S4UPj|3$EYja1Ggzkbh@a?flt!#=dY`56y=Mm#yffZseuopW+u{&OichvLb+PE;1-&7 zY(Cb4b$mcdC&O6bT;fqqsSIA3wnqD19T)Vk2mlnEcxy^o+rEZx2x+$N`HwlS^vdZe zrSjqO?GN{Hx|8iMsd4>8+^!KjY!j|L2mPFF(G|hpCse<7&Alxt1XQIR{S_isC1 zGJNd#?iAwMee%FC5R^vAM*mUnNVPk-6QL-*tf^7q}VkClQMA8-7Qys&xb zx}5S^z!PzT*s2P@WevfAnUxX?)G(m719yiB+?tQbj}R9zZ1XxF0zWwO)8Bc1ap4aY zU{^UuU=U=n1q>9$xmTe!hR(3ZD6JWaU}M58 zzcEbo^O5tP&sSDG4Vf|b6J9P?!Y{=uQ_(e@m+PCoy0gGVc8|?u>Mhe5S$yFhF~tOB5YdumlXdJ=6qnceQzyEIkQPg zL2{2|VGP)$D{XB_jTP#w5R@&!@WlbtBF z%w27d1%a%kg~150-@*bOrX{qJwA6zNFp6$Nh=lXk zi;)!>!8O6b0~M1XR>uKUEn;*8q~rtlR)q;viuK(eT%z2zjG~P!S^s3y=)PibO!;6{ z*X(F)Ih(b(Hh3b7ON56Z`-kFMdg?qeXyXk-N?l~by7X>xdo0dz3I=W`x?r%+JoJJWo&*JtMy2eX3RhqI>>5@v|9RMdSZI^<2u z8ujt*D#Kp=7mp0~aj)Q_{2tTDmS?u#ASq|DT2O$5W-7C^PvzT8OvdQ0fY)msxYq1;;Q7Vsra1`7jw1|M)%}sNZ00c0XtwIp1^-RP;+copFX#bho zwdq8ZkG3ZT*chKM2>9`^Wbt!&K{FyN?3NBCLLtdJ!R$_@L{WK2Znoklg=n{05^4aC zUY+<4W&o(*3JDJ54Zohp!iwQPcFPw0EuNpmVkjemO^wW7${RUnJ%J<+1cdB@osO9_ z4-L-e4$U>&_>K}m(wY%5wp(GOiON6p!UpHguJSE!uVd`#7I-swyLb*p`1wh0M1CnS zQKSPGT*_aKxyL-UPSX$6!4GK1^JlF8hto3k$>%btT9q>>p7~cJK?rxR-w^?$*5fBgt#_ICg zX>1|3UD>e713xyIxweSbc9@U#pjv1oE@{M-0AT= z%x{_~7P;ln`L;+r@0d^5wVwT{DvY1ZQo_--PxQ{-BA8O6qj_aa+1Ovonj7J(>RYPh zpBKIt-SZB#gDeU*5mbjzF4)EHXwWl?qzbY_N;>q<7McBGn_R!$!aUGAvp*lhsu!*z zsvPrd{*YLm+Y#(ooFiABo0$UGlf~B2isjL&+P22Nb+=4{i3}FFAi|rh_fu0|fPY&Y z`V}WZdPVG{NqovV5m?lHi96$K(us5LB7Ql@jMbvDd+}XVxPw_oQJ8fuY$E$7_;H1p!Ov5DczdwpRmy}!ZO*CoTZu6 zCkk8>RGs(CBI-nr6jxQnFfNyFF8fD=KbES0$~+>vbMngLfyvV2k8G96UU-jg%xkJw zqDsE14|%to8tn7*4{?9=Ku7HpN*HytOWl8J4B3n=2oRsqBoo=|Ccas=oJRRXb>VT zmKvsmh9ER4<44Xc=9eJEw9{%riKoxW`Jsfh^_BksqjuZz?*bYOf<0ZnF~Q(L`IW$X zLfbsd6}z5j!Tb`W;0=zIPsc}!W&eNXS7+)sLs_B^hS})(?7hgIf_No)T-r=Iw z-+o0#*=W1UE{|ydcsH|O`^wf8WlxqTSKcLfqq1148wKoH_cJ0(}TKe0C>pHiT@Cv zIX6z(46Sf+3kj=*x6HtGbbIQfTNX&(&mO&3CF)=m_{7Rlw7U*a;4#UW9a;dQ?%e^) zd&uKo6iuNOovKfBX-y~ckH^#s*J2A;8CSAJ{A0z%!rSzvA_=Gf#0jr@stj4+9;H88 ze$ftAXl-rn?*Rkwv?tE>5;qE$m6e5`aG#3a z@GB-h2+YN?ne3w3*x0a|o#208=(|f&&8*q=k5GnC0zTevb@Geu=+D#$o^YoGS2iD2 zgf7-a5FSB|>=>nE80)VuRHZQq9q^&j)b_l}<>6EsvBd5}#zEnSy}@vfUscSARj<%2 zz4T9BlDR*X?ppRO{xQIO&`DA^^lKsR2;j5C!*RcVRbqECsKLT6BqNqBmKjJQV{$Ca z&z?Zg9^Z55mxxl+2Q+nhNQmwdvcQ|=t6Hc^D=t=w%3SRbrw#_+zZDY{T=4rX?D3bf zQ-2mAYXK|dd$mC;^sSywRNZVLN*QH1!DtC$d}eir>V zZ+ao-GX|za{w`a+tQa018k!BKTxFxc`(Rt()|X$#$PkB1d_u@eI@09%Marz`eKB{5 z{Kr<0fJ=YeGsFW%${G?L4h~FHnkD{p`k0+uP>US{Tg?=!^Scerx(&+*@DeWQ`|3k{ z#dv}5(svq1=+Ai|s0OiOV0nan&<*piZZ736eITa6h6#oD`pH>vv60OCQ)wcPRQ3bt zQSdcCU;P?6nn21iiW8ixRenr-z>k`gW@dvrjqZuYN`SOfnkSs&pbmB=IHZJr|7J(< zn9wlB%=Wj`Ja0kCJ;{_ocO|4rUv4^y)CpaC_76 zq>y9NH*rEDJ2md2^p`q$YLgI_S;;FzUUL#o((nOFF zBB;X`6o%h=n8)00fp;7CB#-V)xbJ{rGN`US0_T7v0zy+pt{!uYu3et&c4MELhtQP^ z17D08UlDoT8}lGt%YVEw5|pcIj`W3`hLaIS$MG$ghTPoJ7@h^OqlVKA>MEl2)uR<% z_THT0)aNt354JkXn^5{sWE-xlsyWw!V%F3vH>{V^#>V8TOpe%}>~a`9bL789YK|Ic z^2%VtJt@h*kcW9jk>SCXwqrOV1){o_&Nka@xJ@}M?&4;PZkY^yX6Mem61g}pYF$k4 zQH_`4LGuv09kmCJSwWleQ9u)(5mTo7-u8~Nxf5x}us)~Yq0vtMeUlly5i=(2=`Ipe zoX|A);zECb8mYWN_Fe$m`o!h_NS8V=73e?Eq26pLB*O#X)`O5{##q$wQ3{sa9$cYM3_6lMx~A(O;iNY;6|rryzv` ztJ}w$JIM_v*K}(6Q(jkpGC3Ye8_bxM(^5;~9I(?IB2{!XsBASXU#nWhzkL^!;oxRk z7zsXupz`uU4Y=Bm9#3g+zPm!G#RlB)wsODj{r=}A_mu@FC2+^=vb0;`A;dPZ5Q-wAKs zuN-t`8Ts*!>z9Z~pL<6`lDZo}Kg|t@3j7m|;2>kiG@rhJ6OwjL@#zAa3=lVIoaWhX zQ=N+pdxk5@OK)@_Sun6Xk8*W5FL9l@d{;I#K{pKNv4<|n4o_+pq8QzPsJM?2YJY%1 z!pm=$x~?uyX?|tu^Sk!+?>`jk?@)qHF(-~@HE39}GN{&^-p{q|a`g>w?Wz0sSvG(^`f4}Dm*=|IZPYOsfO)^-(; zVa^KMv~W=s1=@_dt0lD)Q{IP^hrGrlx2F0kcCD1T7VoA}{Ir-xa`6RyNTK3}ze?$M z%w%JFGA?I2H%aMZj8z^cSfOgW{T}6ueHbZL<*l$Fk384d9+c#k#ECJB3;_(uzmjS| zN6df~n(_Pr(BwI!gki=eUttzk&I5%zaf&CGBD9np2RlJ7{(z~>cIt`=)1DhEA}gvK zZO#w>#&?kQ!lj$;4@}(7UEX(|Jo;GR7+$HAf0pa<);Ght^^9a56kk6bEAaei`3kVpvdUU6$2eD;xm#XT{t1DRqka^91kr~dO7W9qMG z6DG+kLbpO6=GqtlB+AF?X5mPPvZkTR#gpNSC7LK5tGG+779KG>zipFI`4q}L)!yM9 z#1xRXHGTmfjOy22rF1FB@yb$r95x2OsU*wzme88MFJ2cQg#wd&a)sJiVoQ=F-WIsc@I)(n5e?pZAV#})VoN-}^(hw#_w zK*TI&{L}y6{^9R97gnS@%+s)WS@)lJ{`ZHVCJN(@o?3Gy3{_A~iM2H_^!YJUA+|CVi-sXQv*1wL_pueNSUfb~B zhURaeGDHyg+71l=&oA>oOZ+$K{{K`^f<-l}XI14Q#B9RR!m8>wwcXu`rabbf20;ikq#zv|CN>~{{gClom zMYLc@^51qP{6sa=pJ`QhIG}W>-kGQ^|L^Br0UrFVH}3nMnY#)kNMf@(j z{YK#hU+HYl#`0kM>CT2TLf{|f5l_OU)nZMQt3kzHJlBqmVA+itGI{d2QBvHa%hSS) zjEp(tZFUvy zGSJO1ockz2$OBo%e0z#~=}qo;KS_&If4{m%05MH&9h=`@X|j_4SU+BL+--OgDbQ8* zcQ`uNCLn+a5tkL2G7=8S zwd-kro}J!}u}msZYte#JqlQlrxULC3uDb@(vC7Wv*2zJTU;YLILQT~#qsJB79l5s} z4Y@h5<4z5vKb>E>ZGv&f9nIOc4X$?^-f13v+S^U-VZlvFiBA zP)b_u2`IjMtNby-btECVQbh_=wQnc6+KFVCkj^?fyl3F&34l#IR zHZ$#zQ&ZFa^1yCsVUa(v!CwYGJO!*3K02E2yL;{WWU{Oyr1w3PnL?EZ)~{dMc?oNE zb+(CY$T!U^aN=W*v?RDhP2=im0(aUNe)n>2)^7G>{+GoBMM2xb#sHj5HXSP)3RN;g z3(7qBIg6Ex3ph77chH@|TQ;9(3jdOWUzJ|V6fq0EY6$q(~u!2%L5RnCvq}y|+yjRG0?G1Ci0NV`ml)1~($lc%H z&rJppA?I%pE+8FHvE!CuNgfb+A3s_Q)E%p2HdCWQp`B^}n+q`ca%8;tef2peKBs!d z(gQWUeuMLcgdm@Y_Ze)3;G}3pi~oK5Qpf|?&fZ3vFxJ_bPVDfy=_Y?K9 zYQqrZ>{f+ajhP;B&})Mg`=*n(Og{5DA;9LEFzm zAC&Fv7zSS4&&_h;c1{^x>GfNaY}?M+Tdhs%8+5;VEt?B1!{P?&W{M=s5@vz{=Iz7d z9()SEY5$&1l;qyOj*e!v+u&_I>_eJKps=}%-PDwiL%)BxgY|#ecj-ixTK*sJrPz^%ttnY|KkGIMV`N zJ?N+^EVpQUHVGD)n7Xw2jY{5=CqEER+wBUX@$^hPepBlnRpsZtpL+NhT$Z#g>WTon zp0E(fl}+%Pffr!FHiI!KSHQ+b(a`d5i9w>?$A}Qz1xqu``WHe`b2aK=25laPO$9)} z9id5A6(&oo*I~urN?i%WxsV^#QYlMPie`~y>dxuZXSAj`Pd~bL2s3oOF`uWw%x7?W z_?QyeEPcQ?4p<(ABy%WuGWSCUpv1RpGlPrA3QpOtzzEw@0!xV_7H-QFgDlKLJO;DZ$vNOWKJ5%K2;})vTNQh(i+b%nWJ{AJWpB@sD#=mJ0vW>fyxi{fq1pG#f zf$f~xtVnQ?ShhL8CDws9t6qX&i8ednaF5-=<75X z5-%}+zFcMbb1TARr&MN+uU-};>jK-ThWd`JUXN(s`R@3cm2r8mzc>9 z^{njPx2@MxO)*mzv~=o$e5I*5LH+MYP>VXAIH!#~U3gy?oRL^cT+6{L3Tn(D=Yw9& z7eC0}$N;Jd&b#t8RR`o+4dyZ0QG%J48lNHe98gIcwW;+3=3ddiNgD>y#B%nS7RHw= zy>GP}+?B8>dSzDJo1UQVX^%eNhZm1i29H^jeeJeRt=#>@G}8ITE-T9DFJH>H9bjkB z4mL@=awq!DDWzRg7AJpFlzFVUyb#X=C;S9HD{A>#LalSTQc#>`SfHZ$Mrk{Zs|WFC zPicZra<6BFy1Ow*&+B{K6G$!8sFQt=_6K$3zK;}XfNoAH$#bmPBjmo7wkbUg4`#EI zQr+3pXztcCf!T>1*FvyAmJEGftp4}_GK<|s(hV+k^j}7Ofp$Qnf5y3_uc~@K@^JdB z&)-y*ydUJ@X4OWr5kIT#{QxIybRUs}!bQbEPl#p{>CNH?l`G!2Ow=3jI ztx>2K*a#VX@yAi@N7%tc_Q)V5m_peF1NmKfs{8AC)9j(Zr~5Nr$XB;_;7o|0LqwnP zvoW=ygM(Ti(7e}YXg_xPVV22-%bkFI)2D|nf$e{R?Zk1s++9Vuecw$MXQ}vK!W)EW zW86Nsi9UqLALAUgn8BsOzZ_^s*(BEq0EtS+J6ri=lzpzmKfJ!4es{+MZ6W<)n`h+m ze6!zRozB8Lo}^Z3jny=beHhoi`y;2sQQGKV5zGa3a#di=lRl3NK{3(W)#g$5qsC32 z;j3^vtzJ!O_Q%QR^QQSk048j`H~JiK>|>4nV|sPvwt8B}pPG%AecF|!&nqhP{k0L5 zS?7q8C99#FY^Wpou4~TojZKjfhVJ&7m`kJZg!VC?#$J(v@`xcF`dcoc_?ka=rlr*wXu0al0OzLdvV?I*FvSqorPEH;he{3^J^ zenU8A=2Jqe(K1;hMI<2n?$P)2@$TicTAc(`t=Lj*3s@v1=jr0#K#<_#7A2IxxSC#c z4AJj~HuCDcSU&{zaD35{zzfV=67V`Ij84aG%ts{7TUnD%EobKe2ZJEq=rtJhs652X z(IW&H5}gJ2vbpGRv3t6CExdGZCo;1ehJx5R(yC8vxndU71L==sB-n#*C= znza*%wv~g#e}tX871gJP<4|2Ew_dZ&ad&!;x8zqHFR8$HnmcerzrpAGaEpXCRCG-x`|1D6yZgu#y^mlw=S?z`=-9*m+V(J^XBWc4nV^3_` z=ETXwwrxx%wmGrwiEZ1qZQJZ%``vH%?EZm1)m3%sx$ld-IqTARIoroO)?RN2mt7SI zq!se%D5qx^d59@z-ZxVxXS0jU*=busbn<9EZ|h#Cw3Js9tpa7`qh9`)Db`;~6F(l6Qu8FJwsSqQYJ7q|r<|0c?^75H*7+%xcJ+w ziSIgOGEuhT8AGgD{1Z}DnK98HF8G29u!J>}2S-I?3fo9T0z;fm_-akf@~VV7Iywt0 zYhzw_?d9m)I1WsZ<&ej1Un_WG(0VS5@l!!a0+K)pVimX4+UHPlQ3CReS9R_!;Pa)X z2q-|05QPP`s}%{I*|*49Q#P!+YQBpR6448C4+>bpj>F3Wo66=*U2d*PE>2Z`|1ri3 z##;78>1{;>w4!3lxpc;M-Zvv1LNZN;pUV~3x1d zw}Y>23=abtwg!iPLiShs!?s(X7fig}hitra)>o470*}Qw+6lM8RfxmZxf_LsGRU%Q zPIj%fXr#m0KtGq**Z{8neopj_v(@eD(mNI@y{b0B^{~AP86JwtV%MVO_d^?j1#x^3 z*RJvUOXsvZ)V81*r)e>B_r_W?)O|qwdBSHKrS9KA2yOppxw1aQW@m0b|E0#k$c=5W zcuLI5^Wa%tb5Z3&&VE=YK1LIWnGMH@vPY3eO&f7iCNGZ=6FbLkRE1*{$uAbUSQ4+gu5>jaGP z?wk9!il~_nl>_Tb-__=%D?~B>8{7J3dpExqRhS}0RnYqXFzIU2d0K~%OA0R#{><;} zzg59|a$SZY>2aO1zWcebxk;}~$=4f4uEh%R0W&)GW9B*2)mB=@SzBBC^cl~V30_e; z@OUPdiAw3#zt(O?04QWaIZKR;?}G`M?^eOu>r!maB~ASlZ6T+$wlIaRYK8DEMYDw}*bnDBWCI?O;F zlo%O=DS5luM{-J`2t$5z`wCk0Q{I77TZ_|=a!T{3LYN{~W|kn}+`RoVVrEpntM~I) z$ZVr=WQdTx?$Fy}G4C+Xb+m&=)APz~gxEuw+^2dht0TGd8g!9AHE1LqUOn0Px*ozw~fzSHjW3V?1g5DDRR6j7V> zd4RMvO~Twx;R|KHHN*FT{7K~ZBsT}S-E;$^XUr{AapC|hl6epBX+KjV6N11Pm`ET2 z!Ud0_jVUK*q1SBz`QCwu2WR9XUT?e6E0!m`UNFI5-Ozp#`Nhx9E_0Dg-J^u&yV~s` zA+CB5EAbCl@<(VCiV#>@1bIVotoISds+;%N7+{=1QE=V+n+W?c;RLW~{FJUeIRHzU z_ycxiQuN>%-M??5*bL=p2fmW{c)#(67XBh5J{Pn2yg$}+=;sE#u^Z$>Te6c5@*?2?|R%omFy{N7uF(VeSM4i}AtIeArva=##(G3JsSl zT0yvrD*M&vGS-n7XF|*2$!y{cg+84|DR&t$zNfKvO2lO~WU>BXhfxj|gMn&DK?vAG zxy>K1)#sVt*25aa&gJfid*q4X`$6NKU#zic@QcG6YP=a;2D8b_BFola+@q8sjW-&T zF-^u^Cc}9DA#=r7M5EG^`u834*N#&{0epiZl&xx=m45&oXD?fEKSgqyt~lS)Jeq|N9YI6$F9nGYwS`-CSm&KIPRO%)~LuLx{-$vHfLl{RR~Rwqt5u1yPbg zYm;UW+7$jk&jck3hqx+VEudHM`#~_0t7=<79ctGB{m-r@R^=uh(vzZy2)N73OYKP& z;4G%Y7OyZSOl!g83C*3q7FaBVc@7EgcY^IE}l^4EC`w?4&PDDU&w30+FdLc$O{ zuvxNVa8;t0S1~`fPJ1N+gYI-Rz&5;-(4-|c6pVPejOkF8~= zLa z@W*ke0^ij2BjcRJDi&X%cs}jG*nX&L`N4>Ko1E-Az~s}Ja+_?hE&ZTtrFL7WuJa?7 z+)ATylhTMdThK4ZTt0`pxwmm$9X|jP9y5$qIE+fq1_tns5}HbJ&etrgTixo7;q$65 zv92{iEN5eSez@ZEvL*8U8v9M%ED4R|I_oQNr@JWNC)v?#yG7eRIF^wjd`$t(=p2{= zE}@`&(Wu4lG{5W7y)UE%2^6TOPZKif)MYX1tSP)~`?ZO_5oD}h(fHvU)X~p?^w;U& zq5%=?8hb99wP8|H3H_hL_uYeDidY1ZppRZ&XxFJnsa1{%_yX^!V}+?e2S-Y3$H+G|+q_d$L1w^?b-uGIID&{FrO4lM&O!O+ zU!&CrE}22fqb5?CRl4qq=3L6RvQa=`Ak=>I1IzT7>~!m_qH9aIWlW%f)P~x;#uucJ zntpIbB-?U;G$l8_c589KFa9lHTu|x)u+58R*=XbdHbKySugCkQAo*%qZs$FTIkhkzEDrLb5oma!?Zt3DVFZS%ZA4!gMw>ss;M! zv-BqsVqLspR!tur3gTRn)bUVP)`8(=$`OOZ_M+wh`CCj!&A+CP`Lm@RPL%os^rV^_ zvt-QdBj-gL8xGt_<#fTQqhC+qbC=$u%o zM9OHp$to8LF=C(jvd2M_Nn(LG)xgFT8RY0bD*m+JH=PgiJg$cp`&*VkZ?X5(P00n^ zi6K+xZGz-R_Qr^4Mx&d{lRZ5I+ZUbHi2UxP;A(fI>&^C*l25FPU98i%{(!B*5qWNU zr>82aJ~1i^XX~*FWfnw}oOM3X^PZ7`61b$iLdo!U3 zh4|uJ@FNIyj(GGf`yClEO|m_nBYHhAT}Twm#m^rQ@@MB}3j@Xx$ctE5i6;s6H|QRZr5&Vs>Dp3_AOZBZlqh77B)A$S{gOsP{wh!h1tN6-PjDa(2?AJ##|G7oHhpx?0Hq{mx;5hU)a)3<)!%+oGW#R79hR2KVGim+cR*Pw|EesaZldd4n; z%RL{|n(wYON`ENs%M{Pr?Tw2)cuy%piMt~4*IgQbtq2>6a>1NOeq%ok8OxrSVa^g@hmr1?6ap+J&n_HOv4F+t zPpq?fljb8pR~S5MM2C>F5$P;E%9I^~IyHo-mo43%-J?nG!t4_3@igX-m58z2lUl{Y zTbuQq#AmRMwi@#cg_6=?VirrQp!d*I-SVBA~@aEay!4f^#ER@!-2SZlU&4~;Tqp3I_uxR3zq0Y+j*uc zKss8<|GPHW%9Jt^W_{#cAsJbreH#@}A8FY~Bg%VdBqE~$RqQZK$_ORB=SKMs>Gdw0 zvqCDcPr(;{DZ7@Zxko1(p&|IO0XB^}3||ZaG_{!20M6p|x~#3Azla3pXKAfjPNuWb z_JO5QzVVLxybzARl$Tijz<_bSky zdVqA8>HO?_x_v>D(JqR|X`3&A-TXK6^od~uNSec2rdPL^)yN9zu>9@S6caLrzwKEl zQHVT5miW5OP&#jXtC}L63MOPZueDyHZGVaJlF_RKnnI$&gc8V3^c;pTrZspg$UC3c ze_xvYwcHWFLcwswaVObxJ24st4(<35%{FTZ)2G1iDPve8^l!&+AGi5@V1%Ml*buuE8OHs+2N>h*n?{i5c|EvIR|fLV1b>_bk#A6zHB*RQLGA@ z@}>NH+1`=2`?EnZ?|RxY;B(&Y(jvXxhfUz?V?y8C40EysiT1T01g)TibWtpl)$g!S z))wD2c}E_WhG&$cxJ4(>UlHqPky^A!!Nl2+vLZp$n%O_5Z*5q^>aKU$*;{mI)tjV% zR2Hu<@Uq%uo@H%f2m0q#FNl|%!d%qa2 zVdhBeDBm-uQ>`AxrWSY3$&=k|WB&uyh5VT9nj}vEU7>wo&KmB9ns<%PW4|J9KeDCC zX|%A44=m(sN2)OqgIC0XnLhg-*`YSkcx7iJAU1@c4zIj?pkn(v%XkNvpmxTO>8M8f zsw>mXfs9d&0|)pCUPvS$pe5$TDB)iaUXtf7bE|R@8p&i6VO}8}kib}p_k`PA&+3NQ z7y@2#gU|KcIp9bw&d(tiWZmj^v;Ao6HIu{tcy;ro>g>OSL`P`)!Jw?P%`(6Ycb((= zSU?nhjr)a}Tiv<4+ttvZ@_};j@X2g@7gbD)5Q$-62GgtaHxd6?2FA^0cy+`Y^gmY8 zfY4os&r+xc%Np!Q;_*VIR)c%NX~F83STA7G!RM?u9^BbkI*s$sx@e|KXweaNEcOWT zRRz}1dD}7MQcehD57YbA2mBw?hGp;ndnpjOJ9f%m#+tG%YU0vYxG?aPi_yQZrkb1fk)XlE#XqDhB2}!} z2Aa^N@P6$Xxhkox*)hl1rHd{tF0zK-?5_y4i4eUb8w5cwggjBc-+o?X`RzAKE}9A_ zo>gB>^IORln8+H#^UiY%Ae?#IkDn*3R&rKW&8*p;T%W=sgwgDDPo`bYA=5jD(xB7Bx%3_F?s^fpPYH81 z2||C8ruw9Y3sUNB*2RwZVf^^27r5U<-+4SC^U^cJVBIO-+?aLkD)ineo?P%hxdm zmpuP+{=tn+*Mo9Ur{N;jkxKGIr>T->l5|;F3De| zKSd>)WsI*H<!t zyZCCFb^U3R#6MpeS*ga<3J9DEaS9ZB#H%m?HV=%e)w-bVjG%%A9_c6H{lvoL6QN}h z_6|Doa#r9d1#AiP43Al9pIzr&cjpsc;lf2VRv8GwzqwBzd8u@Qjc^&Ud@5sR&}2^S zb|2DqkUH-FF4lCs8E^SnmW&Un?urb`rC@BiGTZNwXtfgFpt_+dQx}O<*7Tz!jouxW z4F7f)O=W7tTmw%fgp}D#8V`QsI$^_NDox9h6X&L)25C;C=bd7`^NmBvC0KDt`H2MC z_?LzzMDqFXiPh@(75J_kQRV1#bhQiU!wZmpBvPH za(Qse4i(oGWHgLgzO_YWHb|xY)`*6o50tuvw_?ay|VIowmmQAcg}GoSQneoyF|{6zWx$ui4T@=w;Km_=<#_+ZNK}A zcV?tbX-k#r#Qn-23_5vGJJSFPi~919wowZE4^A^M4}3JavC>~48> zR-gwoN;f?}NCs_Lg_yx;Im9Hk2>m;WIrej~bc=d4VR=nCB)`Z|1|NFaAnYK&RKv_= zW_@TU!u;>nhZk%1W-Bh>gZ%6j~|gl!OZ z5|TF65}#wfJUbpr@-f<(+F5tje+cX_3xXf=-AUzP6-xf)JoMQ%hC=e&^0h|=lCin_ z|2}BWkXUlB+%ODWoML<028Xs>>JOP;)$G)ePtO1FeofpiavmGLa>vIjuu{nx79`!-G2K)f+ur@f&^{y6xxdtuR@-2iJuNk{WO&C5HjO;)hi}CF#AL( zZ9HFXhv;2lA_1+@!cLQ)^Ap}93d_;08V{xEVJ>*mn*qPr89-g~v0BBSsK~C-94ZeN zj>l2m7L%H6vguT+BTl9k!@LCaH2?mNZcPO}^p2SIFo5-@!~hWtc#+xo93(Isx7$zh zu{8cMDV%XBz51}FSy5e5wtToSvE=oq_S-~X?e_x#_WEFaf5v&Q3MCQ-jywytuDv5B zmPkt?P=B?}!p>q{Y>|K6X9!Qaa@n{$7;Q4xJV}w>OOBO9+0P-oPZ$>!%Z_wH>wpv^ zqZR^-8t^MzxLeN*Nk~5|-N9PlUhR7*q;yKvucGoV8dN|p2`2B-PPsJQ$b@uR4!RbU#bnnH6=&HFvG#LXa}1#JQ)-h=;OF1e-C(}&^0R1%+HNv9c9eB!E@RSk#W zO0WVU|AH%03ck6fcl^=?@D%@GK6He$Qa>*){YUdCDbF5Y_xHAajMtG^XHO_SA_q9x zEK&MRG7} z$=r!HvBckZx6ql~p5wr9w0qa5eek3#Qc(Hs*()5y9=zP(*Mb9_?4*+2zbJAtg%PY# zbsY$?ConE!X+oMFRIc^<8I*uc^BR1%hKXS!u&@}bF=T88FyfQ1)Z^5JyGu*>7Qp|J z=R%SE`|b6kLCA89Sh>8YF2MiIp(e$5Jf7&peNCvMUNiGznx{;mLJ*&h^EIbiC&BIg zom+(&eXv;t; zzz^ss=d+Qmo-#Vgids_*st=?qDo&(FnTEfMJs?ZK!Ors!&9ZK{pL}^eEAJh2EuX~G zm>Y6TF}3w~y8{of58pu~ZHx+SDrG=nzN(Sx$F3t5mmtmAI=@}{NfsxAp!54~oT`GQ z*Xq6`NEugtD&)lXifZ1zPBoGCT{sfHgkUlYTsM@sdOw=CnOgp2aiv1;-X`bLhT?I+d&V4ms;7JT- z764H3wv)Uk8Smth@#NL%;>t9XhO9UHI~GBQ2_`Jn@#0pq@-1w)$Y-Ogtkg=Cck|oc zUj)Hx>;n5`Y56~H2O917etG2Ge4PC@0N^eyEzOa|^8Kn%uflDs z?H&C4X~cPg!|RHlzrGHGb|ApxUMq5ZM2#o%@!Zmr%3Th1 zT6rF)TUeeqVtN8&=&@)1LFnfS6@ZZ;72g}gA71zK=#L!Ok4%H3V@%futbDsPIvyFn zPrH4E03k!U33d9C8NV+SoDIMW(XoXE;R}aTm{79G9kv)*CCSX&{!7cYXQsaA83iMm ze5~NtN~sH&o3f~yY6wiNYcUE88KHMup^6DIPgv+ZF#DhY#29r>rv8T+5@%P@dB zA?5FCr$e8I-8ukNm_}K>W_r^~T)uX-R{IrzvHd_m$9P zCPOy5DcUx4f=(wYoHrL|ZrEpL!l@o8-q6=2}<&=LnR#TgyHkK2g>IP$klW`XCSxdh}Y!jQCE>B%yGs5S^^> zzwZN_X}D4Q$u_`p?Y?bsf@efHoKO0 zK+F{^@a1T$snL82_r1nx^O*F?d>b=^4@&Kh@d+Nm_ifNKeqGP!isK)svZNv#uksH0 z&X5P=ATqAh3fkMv+J-Pw_ie_bpWBSq_QhQ`M`sb*76=!JN)7|^eO8Adte(q~TBGxs zvNQ!FOIwa$Vc#12xECPt@x9rN8o#OpC~olxLwB6s)M|8>;_Vt*;cIXJ_qj*Q&9ho~ z^o9-MS4=|shYs%+){?KM#}eTrMsf!c(0`HJ4XBy#zT(|ZILU9J8X7DQfb|lUXB2pz zi@gOP7`~3U*HH8d44&4SP)PHJM)#EKVglR81DxV(+bgeL)CH7)9L50g2Ld*%sOz4~_w; z1%%Hk~zOxyFDA&5jfY&rvoC-eK_l%I@Z1 z2f!alSVAF_a$9$yJyz1?!|8KGXOK5NEx$%%L3;gjnBV1^zDmC@pKy%*UKw8LH`hB|DM`(ucbYxhLC=4g2aIQ(1AgmF zRd`&^RWtZI(z)uo*h_3F|ExDjN#bDUKYKi!j>eOrM?9hBRGiW0jhMTxkNs=Y;GS(} z75}vh8|TWj)kjXE6X=YB$03=GmUC!V*eUET?K1()zj} z_z6$Q+w|YY{cwz^BeA_2vMxUEJA3o(=Vbt9rsh)prm>~-(5pDficXP89ZnWDsR|nM z3x7KioA=B)$|D>{-Qvyp$$H_eFqg@-UjJTygrt4Z@}!Ke*&`fI9tB+yhT4IY7M+ch zSdmy{%EWJ{XQtcbLRoB!_PVHicc+O_O*Ok=hI{AjW&8W<>ud6oXQq{b7&fxZBI}b~}Ki7lrEUHYbKP z)(bjNw@00TLI!QbA5gy}9A{fXIFBfg3)XmEtLJ?;L@NPSLHZPs&FeM+L_q%Mc!uUpSKL4n? zLE3v>@%ob>bKkdk+laUqsO;TY490;o*;6{E5~13RShu#~d2Yl1_^3q`M?`FIXWq{Q zj|Wf8mD6cy-4&pIZU-rA(7sraJj#~qf-#1IrvmKobwc}vNXPbZxo+MjN)ld=l5Hm{ zdaqk^Ld_)Y4tiuiV;=8{c|^iBC}@Z*>z_NxE)Ph@UgcFK<(G3lQPmDQXuvY(Z`xatO?3fm@~HhwReogvUxgm-JS^ z^*7Din-+>puy#@s|DUb8sU29ezkzEsg8lQ)TrS@NK z`+!0lN8PyAQoDRQVr+XD)9>y8Ee`Pb#f8Z;r}hZf1G2v10;&*}}6=+>A-NTX2vmri)tgE%s{; z0^!N9tehP9;m#Qu)lgz%llTx^KCHPes#%1WE;GgTKVag!I#!|QVb_7^1;z_{nk_f+ z&ou1dK?Pge>d72_6}R=r5$7_zE#+UiTc^wFv?bZRFG3D>+0Va$$fGB&mb!1V1M_}6 ziQ>ObS2lHaHzF4v{|20Fv#ZKq{t-{@E*GR8OJ$lw0^ZmHVA+1Mv|E0<&k}3dE94sb z9!1_JC}5R$9Mo|$_{_030@UoROe5UFf-n0{?R~)Es7@A-O%6~D-(RoMGI4)2adeGW zB5D3pn+=@Sf2^BR2fY0MPlcks%v@t@_ooOxTq;ji^DgP z5z}~_JJ}q&n9BB2>kzK>un(bUWK`cda@*M;2l^9gJ|=3uR-{JILM?K9g@F`7F&^sl zj5i{o0n)FK)>(xdlb}poTYFV2s)KN|KtRr8Z!+aNQn%MmvtAb&ME>Utw@g_+LfbK* z_!_UDcM7JMq1(xq8gFTLwZ2w&Wz)bVXdR|tbpkBbX|cqI5;JJMui}8 zF8C=Y*jT=H!L$;}1#%p(3dFf3U$>;Vb+D(C59ma?-aZ-~_@|{86SHk={AC;AWo#eS zkt!TCD%37z&@ci4CmX!h_x(bE&B*I&r?PPU5wg&D)7hOCSKy5BB}wE~^DUYHDY`WV zG{7*qJ-gLvZ-+n?)1 z-3aU<%!INWYS1fyH`5Sdul#G$=%$@QEjP97II$P!P0-}1&ls%u7j zyXzuDG@WPg9x>T{iygbY-uU{`JD^iwU@WXyU#kg+Ikbd1L9y_F~QG}!*n_9|Lgrqt*M)0&9K1_?4 z(j$Xts{_RYvE(m{8|0CT+>;RBpsZLFIuPqayK3_Ddkt^MGiWb*T_E!LuqrDr3!MI zLQVzw-^7P0NgQ3%?6NX*=tK9Sam0-gwL{W_zw^q*vkXvp>K5DS=DZ}A*<4;B&EajN zi|i^`_H&z_Lyd&Hw&z!~9e;j=r=Cf+t*c7rzB_$X(e%9e z#!o92HtaDB|8r;OQ~#Xh8JB&l1}VurudB5l(EPU_Ju*hLU}@)1*Ezawi63*aE9%L` z%C}q!qh2|s!nHM?A=FYpM$A7tgukAmv58XcpU*@cA#m^-je^>=fA@MmH?|zMkkg+e zA2?MI+*`g(JACW<%lc!6;(Sx5qBYm)>wfFLJ{JdB?-h(X8?!D?CADnZSMc4BNU%?c zt=+M<(L4PrAqu_E$oatu1&0Z+piIl=$Q=a=IY2|U%3wHz(Wx;Un^}lo)2msyEdJSI zZ~T_s`{{HqEB9L+IwhWwYZFE`7Xk~%`*ZI=;|QqpNEx4$u8n@XpO;}Oqd3D$O_ju$ z92FbLg5@fbKFy>yIqtGS)SQQz;A4=?&esceya?*dW`KtQ96>;JC*Edu&;ZoJvsqg#c zgf(&p)RX+Y_u2;6A=eZfehTra(t2o~g=A%7QZSdzWK3kVc4)FfBB$j-qm23mw|g@I zyy9wsb5pq{*9v{h5 z19cd)Xte(fkBk#e1Zwd!T)FExd{gEM;pC3*v`3Jm@d7vJB@RVB8#;An>9JlTDzAi+ z|I)MC#Ma-BB90NJF(5srmzW$;jUMVZ`BhzRVWf-| zP)&#)hOD5MH)(pb*4MiKz-&KP?2>W9RN9Na=U$j^w_d{Ca&Dv7q$zi{+*D8{n{xnL zK-RNh=QsIhA1v&)@Dw8Kbub*G%o;51^;jtxGF(&zU#2`6`ySA( z3GKJTPAMg()U}?H~^>ZgqogUJx9kyZ-o!H24S$b|V)&FZ0}K zzGCwL0&x4?pzjjxhNvg!y+i(yb9#d9641xM0$0iccs*7j#70?aL!R9`BHtEQSCU$j z9mMP`?!6d-Kx`=Q_&wdGZ+^Alb2x3veNjGcpOl*RM_QbSi#U=IjKlPz8OxQ&)u`v# zsIDCIF_0yx5vV_}f+rrd(y_L_Ki1e0B~5zJ)7h;OCUICLkkYkr=54tDt4%L1`Ivsi zaU8$FSe&_a5M;X}|NS z(Rrz^AA2~N(fEyW(x3$+WM)tGIX)8o=^4DJ*ap|=Moa#&Mt3c*WR(y~2*~!Xzp(FB zY;jHA!+w36@xzIisd<%_4zhK|GB`MliiXTAJ*?e9Arq&*__~8868{n~>;)-%{RrM> z+S1MEqR@9J`B*sm{d~E04-9=HS(tiNpHZMp8prT?Ukd|gi(OjMu#}auWn7a-r#YZx zSG+GxIsvtVd02sIyfoMdp0D}Lfu>xOT_w{1a1itF5Q1m$1vv=@RkUbXY) zMYG|k`}KT>Sp~~%F^$h~j=tEY0>W|e1D9)Yn}2vGu|>7X7|x6Fvg>+U*5RgD<9JF{ z7EtONj{R?L2x+~GVcq6!t`UZS3sF=J7;FBX??->V0)lBEqK6%Y>s-JcaOb4w5^dUx zo*ES9v}0qk$+FCU7nbDTTlwQL(PGDd4kJDKe&F%09;VIceV~e>WA~RwrFTJ=zt{3} zlr{~_k@zJ&@sz@vW!#Lv4U2&%Vt1m?2^EoXcC1jT%Wo+i{ z_0@|3=|mRGcKi)@FRC#dPN~*{wmC(=jrACOkIji&2ZLeB6y@$Y3&(UwTD%V`?h|u2 z(e6lA5Qr4x=KC3u+(dk6lkzct2j;pAgi+dvcVBrt)GQvZJ;=lX2&&4Pp~$6+al@A@ zJq&I_U*qH~{5Bh-2>EgG0!iMvs;N3(cyBsY?wuSR_%%BODiTHreKZ#;zwT4ND?jI} zsMo>gy|>V4=S#M<+J^~QqMeX+qhL9c)L|nhjb6KgN_WNCSL5!D5Al_e4Yflb*)}^_ z#Kw>S)eV1dcDS*r<)q?6%Lg-`#0U?5u5*1d(pfXG4 z{*zP*uCm!71?Bz70X+w-1tgP*)o2Zrq7EyBhhFO~wfy6kIsU7;iKpoSAAhnlg-geQ z-XUn0bV6@d!}-9k&0X8soeNeRm8rvafXC+~%QEx_E)*hVlns*$>(|E}>h^U#rXoq} z-8mkbE0!+$Xd@S=1?|REQq&!1Opr*^(YST>mP+xC+tY6#!p728dWc^(7eW^-7Ib<1 z)tA5a^H_l{9%!PcR*@+#`#5Sz3h411g%tJy+ejD&2%!4t8tvHwoom$Kx(6g)-m!Jn ztiY-iYo8iZypdQUIa61R+B0Z0&|k~W84zz z-1034Xbi_xXn|%7j34oK-vb&;Zm&SapmkB}j>AYS$rZOF5c{7{(~ygJMX7KMn#tg} zA%(FIIqowTF2Z3eCS4xW>(epiURt0CFiElb7>>p>8&9ICxBawk;zY;TDje}@X2+8D zVrYDR&j1>peP6i@YI*yET_0zkUu-3W5;Y;*@|Ns47_5`EaWAlKV&Bn&pr4k~a$>pu z%(Z#F-exK_y)bNDD%U+9oSoLeoo!HQaQ#WDDxk7XUVW_uu4xnFXd`-J`lm#UUF4>4 z^=@1HA<{{=4<~{>w2?J`IY6TEK+X}@Zg~$p=0MBj?HnGg@n~gR4m>$G{b{bZ9x=O& zC&dl};Tioes!Re-H?HReJcdi2emJ6j0m-&qJ8>wg+ZDbcw!;2Ut&F$?reqH4cmlM3Pr7+6D3CzJ?iSBOcCzjKVo`IfQzVtad+F?i_BJiaWT zH%@0?`&5S_-Bd*SiuK~Yz$3+F6|W z0-8|oUD3nq>$9o(?sL{B*sHvt8B&_;;B;-gr`@lc3u-E^Szkj>JW|G2Ut$!m-~22R z_}^)lqiyCvI=29NLfHyr+5CNN%Gu^$7)|H9k>SK=6@;-~vg{e~ zjGF(VW(VWZOhLMb%W&FYleH{PM>Zn0y~JA{d!Hy6=;SbUyM+W52tOiqSzrWiP!?2X z{M;-a2#$}$+766J^OdLBBUKr8+z*(>zgQIBqRv#%p}w-C>51^ZpJzpo%I5nz7YCGB zxR!~f%;Q1l|CoVsZArxW}=2nbjxkAlGCd7>KrRsl;9*mk=c#=}$XgWEIeejS44 z(OAfk`Zi%L+dRGZZG@v>ckPif{PvwL&Z_bD>2hj zIsEDLHSw6}S}nZn2@RHH0%ddZbXI}KQM$Ps0BUY}c$;Mq$t@hR)ef8dF z=~uqB5?4fpA_u<%a?0StC#~`j;82aGJj6O;6x$8#+qsYIE-kj=uk>BsBiDP^ec;j0 z1~HX!FQG-F;ZTK`fKFX=LhpWtOJPB+%&on>Vca#>U6nE-rIJX0mF*3?$pHZn(LtW##1s0-v(x^+({!CLN-Q)icgKt}Ru=8R@f#J6h~SJ%Q=P#97RapHC5h0PaQQg z4o-aNy%;u}?*VgS#m(@Nc*eW#x*P|5HYgUM_OHY(9ztaim)c>Cff0VS>Ygu821QO| z2-+ht6fgP|Q7zJkX;NuE^SPxWPf3dUv06@eJhLoD<|*c?76=3T{um6tDI$E(=T{)@{1GTgkh6Q4NBWx1dz=X7U)`$}03s9#MR{D1F;nnN7l>uylO zU)Hs(I9}yV{>1)&^R4JFX(tEo!biFAL|8Be@|k7Cyn8%5Q>AN1ydfZ(()CwK+0LR& zEWHfiu3lzbLE%eO50V3u6E>ieSd-&zB^#%i6Vl0Tqjl5hX1qu@sW!E_dVhegw=z^6 zCYO9MtNu{e*RK=WxNy|eJmMOy)uiX@?!Up=BbygC?NX-5{KrKa26{Ap+II=v2JPTB z8?G>7iMj|u7Mo`$GGYbI#Y$_v{JesTaBW#KK+}(%#K+bcC2K1qFP#CUe3tvXk5_*j z92^FvEk2*f)Q-ncwqO=5xU%!e@8wRi83910Eo=U7^w+i&JPg*9tWcFa=Qn51%K{We zZX?m>K6nGY4n!i`I3W30iduY-x>zjioy;uEFG9fL zgtBws-xsv#=Ck?gFuL;{HvFRaB_8d3RK>60aOwU7`wr#3`g67QIODgfzB__m&**eX zzfpFkChd*Bu!Z0vNqv1k#&qzXvyU62w8#eg&k zMd>KLcS09YiZm6eQUoMG=)HyBA;d@x^^5nr>%Q;zu66%@^Ka(Nndi)Y&dgeK=Gl99 z0wa3weFz0l-<}RhdXx(rvC4>Xd9|zW8@u@Em$CO}j*ljsBi*{I@XWS%gly+0a20fF z)9*2OO*!-xg#dkK=Fn6`EFnPRx17fCCVjqpWWTUJflMFp#VzvdX(S3BCZ`@EH{wx0 zaJj0(Oh#nI7+^A@4coOXu)GyA+iLWEr2#mQyWViIl#$z$n5He;$kCJs(b+dC!f2|F zm=Hbv5k^0F-gLKJqwVFDc`{BGh@OKJQR4qpC*rx0S=YGKoy_*@YYi|Pc)#SzT zUMc^!fZ(nPGvx>~_0TQ| zUv@eZ2@1}WZ4ieo^^Rd>t_I9HWTpXI!$YLr#(T4`xHop@!W(IcUWzoKc`VKsv>N54 z<3VmZDWdK`_K-_% z#IKhMr5D=Cf-8WCF}jhn#ALE6olK(0f^i|o z1zzoqlN>EsK#0DSkR*|rEId&Ar^&nsk8OcltCm7f>32K?Xmg;+DBC6nJl^!ov{n9$ zE#P+|Yk;X&5-e%|V(BLHjO66L-0#g?0K{+&M?^qIe=}ns*}SOnVi1S^9Lw|rXA+!u zeZKno8S-S>or6cCah{^Z5T3#JTo|{ zAItb1u+%2`0BOb_Hpn=>UT73ek%-2U-$Cc!JFFkCW46rUwl}ez*0oQp1CZZ<+oxb2 z#-TWGZDDh%Fee9>(M~m_1WN7tSC@XdQCGld;DTWS%+uWuKv7DAw%Ez45sRgCwAceI zyN;=*-IMjM{pjg%IBAIJsr%qbfd>9WVh){_%T9{r^-%J&v-0@32^Jl53j}doQjPF} z5biSSjuQN17kr7_Mqd}L@%5X))047g*~=*06SkVjIC3r4K#1#*ldkM zBS$ycFo?;4)wj0zX$pw5EYFyQBs`kP9dp@peH-j8BJ}Ki|5IPz>hli7>%Aq{k^b;8 z`?II^QRL0(8>?CEzrR$T9SY`j#sf%Pe7AB4`cFb3;4>ZfTEGlifik;X1dXyPWO?#yAgN0jkhu;gwS0ZD@$DJT zoEhxv8HJDsnO360`a2@VaYU}cryP=|7wBrC3?&^-TDM;o+i^pbL6h?EE_p6F=&@YQ z^5p82;WIVg{lnCGI#p)jOOQfr< z5^Gorb*>iQ>d(XK^uDtRWhEv>Cyt7g#WFEv=Jvy(8}i5p_v09a(v{v25kj9@g%^Q) z3DU?UqE%bg_@p8gg zUp4&jH1LbX*I;X340jHGTa{Ww;NhlFg$8o2P5UB8(kEv?kmxRLUI&QjSqhPmoUHi0 zVTB}RqveOgccNCqnKQ4mqw9_?@F85&UR;k%e*@xTs zUd;qjvW@A}_LOuEs;RPoucR~m$+LdImRkJ6x0z8(2gPm#m-EGpu@ZKfWC{tr#3y}= zDz)h%Y1lGOtZ0$rLN+H8Lt;`F&$V(f7t)3P$aQqo$jY zA}4_rU2^7%kYxXN+Hy&2m5;UV-{U?VzcFw_JG{`Ab`ks5wnX6sfrCveZ) z9=#9o$XiFXpcI6>_XU=l;&G7t2W`p)f|Yb>F+7du^=>Ub6;8O3U-EMoJOKGFJsO9E zq#rva%#sL+Cb>k#M{0!0SJqe>m!BQWnQgu2yx9QMr0}QZmrq%uRDj1rlPN%uSc1Y= zqFLSHoF|I(Np=PtSKd%@OJVO=SzZXE9BT<}f=qeFr#Q2v&~O&@=B9^$DGj2)bbizZ z;YL0lR;P>Iv|fx>)$8p3@l)s=q=_FAX2Bvddfk)XoXwgiK~UUu+sBav&o5hLZZD_q ziIb9_AuEptV8`OebJHBHrkqo>Hd~8JhIYO>CP&fZj(~dX{(_GI^G|xXxgd7Ym%>;A zv6}ZNYuo#JToFNWnno^w+FP=$S_96K4#W3nzy8>70U9q+ut;-a*+6+8w>PrU^fqyE z&SiUK2)8qAZI3xWNMD;SqZ|=%;>tL{)H(4Q64u*|FY(ffh}rJ)Vc?IF!0s4>Nck?! z{l%bD>!0zH!k}DCBd_j@v^jLObzyM`qicGKY0*HV$FqimsRV8z-6OE={?up<(;vwO zSp)nc4TCWE)RssSvQXC3M!tyCi5q00tlht=HlhU%_I(^5Vs$W zb~n34c_PU>t?wmj6j>ZGo+8dhG8Su|1$TwpW?WsI^kV5srhKvo;lm<96dzWoFG)TG ztP;{nxR;eZF9Auv*-bH7^y@O}=dhrW$Xn|A5oy2DDFUW`vBb^`Q4mKdWM+e1Dt`uz zzx~N_1jN9BL4;L9O$AVeVo-rWELkoM(cDz|H-Q1KaJ>}u{uR33b_`cTuYo=$#@&YU zft{)WvEc?`_gpkJp+Tp*-Bn?H!V+%|iON*jj0Hx_`2;ck` zIdkzBL&7*c8w$y&k%u!MZ62v+oZmOm^r&$JDh%Ta-mH?s^A-qhIVmk_;w9dRn8URJ zq8rTCTiD|z8+fehbiDMXOVB@&v z82DvT4YX8rY|(R=yY6{+)*5s5seNiC_T%B2w zJai}|X(~4^?I#SduFvAk4u@VXr(SmU@?*a=c75rr*O_PMuMexnC~dDk`z))4!@f-h z*P~C*UC)olKlE4*D~D>yCP*9|^6-xu4tY5xuZX&ccJ3Vk%oV?4<{0WYhM?pTtc3AS z!!IWdVH_7dUnZVr~^1>Z!GMJlnZ@==rvXSopX$G0_XMvFl;WYJf zc47Rbi5Yl4_mV~DB%ar{^D>0deSceT{=M5~YXMos3b9b{c4UxlW!T%>XZ%tx41Ym5 z3cYQml$Vz49N=F$tOm;691qZUo}X195YAC5wZ()w!4^j-^9RK*uWv@TOr=b?=Hs<# z-_yT-7bHP&o!%>1)9)Lc;oS<>@ME1Ke63rL>LqF_MPW(T(;bb4w(R8^}F9}`k-3&q={}EAx*y!%~;w!yhmVUh#$52Nm@6<$z09O9({U6V|pIW2=Sehq)HBa`ABkBFJ zn#E=amIHLj7rO8yP3g}i*@VC7MpIV!FV}&ZLmy+UnD7PnI-|=0mhAXrlhbKr72!S< zU%rapwIv7c;U6@7vUD(KuOwwE)GcLNTh#SPn>-wXfMP#8RpL|@XiZh%@@&zqhyHF$ zUSu}`G4w5Ve=W}2iK^W@)*vYJkCKIk@d(Bfo4Qjcb0ctTjh`Kqd= zx#LJuGmcv|v{- z2_JvXzBspMQj9{~*Hz6&eo#j%v2ai6*70NMm)i$a``O?yPKID{D)~e!_e&0KD8EK4 zcJ)$f#B){h?HB5nF@xnKWkIbMpm?kOPt__0660w+6^7uNDn}i))pMPR)_lP$rnQ27 zseA|3yEZ)tM~3HM@?M!`0X!MwikdI5`%L;~LfD6&s_fP>Lz`whmEtzy!`rLA6n=0NxsK}1C4 zOtwhG;3w8=pXL$!y5%c=(w%ajYnh^AsH`d_DV^!C!l9o@GYG2(IH=kNE20uHo_%*# z$K{8#pt84BlO?QM3wCC;<{b-(qNF+HMs^5uPz^TjHAcT;NB4smg%KZ&^=PuHcOUWi zS$8hg>sW_ZofdZQ2KKAjn~HmsFWx8wAZecj?3U*j?!cDC#$DNa-Q}RfkRIagBsaM3 zy=L}t)>KSSr3aQOry+sY)5v>gbmqFbnKt3DZ4R{Xth3(IkIsvgm`Nb>;(1Gxe4FTj zS6j6ARqa#TL#8E%;i7YtjRhyyuo!CacnI$ayAb)~i2SE;|64Eb*bM~TQi#(SG0cK$ zj?Xn~zI-NraLuz!T%^e9oE)5FGDp5>3|AN?&D$%TmBqhBYkwa!yQngzZjCTcO;Apq z4)gc8DLJS7ye7GrxZn7elM3FbE~DQJ^hJusd!g>Q$H>5$PM_SJ)jmgOV7AotH%{(C*$56S^NY?L_(;-E&rbp#mC? zJx&3Ixmlu{ZLW}mg+x)zDb*XBn1}(xK zn~(SB(NlU*dR23cxMsc~*b&(}zc|=G1gtGubnpBBQjUtd8___EX?>WaIJH_i)y=xm}z{m3f04O>K?Hq?EVkBWOo#HVCWUdX40-* ze3~fI*@j?0_V4_|CtSezmcBQCCHG&jjFA3`&iK7#Xu-btD;yhv`3U*+??X)ebK$U{0Hklp|SD)kS+gy?0@6I+V8bDxa^MQ z`)0n9`q--d!0)<*E%Ra7AtliHud_R#f2N;!LZkJ+-Nybz{Z~S^@vzUHA8y^jBkra@ zp%I5>$cn$;YwR(>4&?HMq;-F2RGd5L}kvPLSZRxVyUq3-0bta7l32;O??$__*&!-{%i} zd(NJoGiQ3Hy87zss=BJfl@(>skcp6?prFuzvXZJ$P%vjuQ1Dua@NaiUe#q3mHHbzg z>Yv_P=(j&q1Iyv}w}#04ANSra|Iy*?;-9~F2T)L`9uW&rP!v!=NilUd{gY118dIP< z?Llp~ut8OFqjI_i@T)RzITW-N(U&i3CRX_tMGCz^K{Ow&8n~#56PKRTA4)~P&JacO z((qWZ{L&iZwu*L%9h^m^goaZWWBH8IXnLyAs(zMk7w$d&u-Z-h$5y&y(Li$N$yVF6 zBdlei`l;3Dg-q1v`TA$yaW!Ao*N~nd%rEAgI0DyS6jyAPPq~O_0Eu!=P30St-_6XQ z{}8|T18#J;cm7czdi6h6;$jMIy6Ub+15&%RiRFlMMRs4`H#gnvuUDN^r1;iM--U#q znjsRvg!oY!{->c9?+JSf^J_3gg_h{SWQYA%X{Qb2k zL}=0lDy>xW2H zn*7OFOImIC&7BSSY$7y*j&(Y+6)ZHM}6V|SQ`rq>jFYT8N8G+X} zoCjB5t$#dxSSHQDf~+}YRVMvkJaEOleU-4=FU9*m-P7P#cETu@9E($dl~Ca4{Hh+&UX4B4I~S#)JMC(ZH8%dz zs;Z-E$mDHNac`7Q@tTH?Ol(f!m;Vv!1QDjFk1v7^Tf*h|w!>Z+l}YfyotxrMzQ49@xF?#eBTFZUb9`Kf zhbC%nyAO-h+fT9n{McM6>%jO-iXh@OdCXS``f5mW^6`Ik`MXWB2N!aDRX47mOIO)3 zL1vs{^3O-8CLv*!jBVkjEBXC`+^d2v*|}U+NS`>~1Xj8nsI4IUFNpnROd|ZSz~v}v z!B9*E8l$CcG%5dO9MZ61qo@@|f@^I4*Y>PX8uqUp4XINZjy|dDzaLBb&zye3e6s*J zup5g1YZ`7M{G^f(@fcR@s1UUp(!+af0X(p%{>M=MikIW{rR>bD=+L$0{21Z_R*_9( zK=rF1@2m_E=ykAA{j;RrhMP68GH(7q6M-7!$8h%UhdIJ2H%w8-Iro;U$eSM0Twq7V zIFwSUGZIc5Nnvu2M`JF}F0DG7u8u1fFvnh*sSG2YnDu$a>i;A5+X#EAB;G!w2OhC# z? z$rWzNZk7KE!F03rV#7ri@2^f`67PE0@>!BrTYnG?|9~W5Ky%{7_C8X4H61>7U*x%c zW@mvgXu8e@@h9rrdbHS6{VZ()E4_R9&6zz2eO|SF@$a?X5XKS46J96ntKyPL(?&Mj z%(%H~hYl-*qS4u+;$&@YU8T$V1S&k5Uszb1LrGl?M!{cAW&-UvHP$hh`r6tm>eC!~ z;icfOPERN3tk!R7YHF@-X4oY_%-?50Wfn6Ehs+0;J&B0Ri08QYAgElnQf7(qe&v(7 zB_W`}aE+p5XLvK4O33bl)&Ej7J1h)MPeX+=|Ncf~WMp1ujjXtM5nuNPGO*-N9)6*Ti;X!vQ*}z|Ok; zO_-qLPFVZpyv|ys+ilxG6B$2<;;NI(?&&YEJ4vsC-C4qjr}fZ-@izW468@#)ACp~< zrmy%4%vF~7nDi+p@K?p@_8I4hX0Lf5vzNuI@@$GX4);n#H{)bG#BSFnO?hZ_4yEfIM+xc_Ns0tgPe!iR|#eo zLQGq2y=?a*OYl}d61@YV$`o+5wBZ^|xm`0HC(GB@Kj%@{5nQk!_H5Ey716H!dCOH* z0DU+W^T}&IS&p_DiM6|?hNAx^M)1tu&U-;nGCn6zbwUMd`RhTB4El~@^vl)CTH9LK zlV7ti`ZZmKW~+Ik7{=4H6+8+2kV6Y~=&x6Mi~XrY9vw7oAL_F{gNJm*A7syo-WS9U zIVYzkZ}$Bj!}Csz+^a7eJQNe!oF$o_C<7dx=yX(NW*RGWzpU!MKXEz>#@DysSIlwP zAJ1}1Wz}^CRqNxi2_ZH1IT#oIFjdEPW7nW8zx8m594K14nflTaE1ev^VdA2XRLyvJ z#ecEBBS?SRyy4Tn;yd>1Y~AzR#m;AcrC&8s=MGkc4}^FJx_dVywYz%eD>pbX~m3_#7W7hXL}Uj zgl3w<9TXYKxFffW2kF;-hZ3duWmg2m$G0OSk6@Is8MH8G2EI8^f$WjHrFza}tnb(g zyJk2u-@k3(B8*;E3r5G?SYYb2zy%RON8`8cly6I^hi??dj4H1i^5J$7 z!)&Ev@@H!zK&dS?$M?tSM)!unf-By^t+;D`lfat%{je|A=leY*xdOzR99(>^Fp$nU7aLIdw5RewW4j24CUssFpY2IuqOOlS932X?;9i?>=^E6cX`53;NK%*)Do?9j44vw+t( zMXuswTbhkjj}`dVc8K8YPCw^d?{aRflllJz49F7A*?V-ytyr?Lf5!>GS?E?xsTk=p zu3W}gnp^hSk#55Q*>UFs;xHMg29Z+TTB@vx3PML^LDt%3b=O=YT)q>#oFhlYe*~45 zP3l;uZ0u2!9lILdeRtUAVWGYG$rs+506fDdXJcx0bpEJswp7h7y3cCRb)sm{dP3&= z>;T@+ICDMsKKESn7QIkJ;#y*ctM1Z3f7|qAF>6XV+dDYZwrnGwY`fq-Ipmy{i&kuX zD4i|_5onCbV6F2rPJ<@&aPzu!9nKmT^qnS1e8t!Ks;iLPAtEkzE?9P+rk<2y^R9Xt zZrFB3_!#p0W z**e1atD%V+mbvcxf*XhHmoea$c9CZv@co5RGk;DZI&#s5T$_fV01NzsPwd?8%VlEu68z2G@_GYHpm;|J&UtK#aRcXffz;Q&B$x z0T(ASoswO&OuskH(B+Fbi16#oh%JJG z#x_sT(U?1Q0Bq8>?nZVyZ3~98_(tZpm-PPfejpy<2C=NwTTHy~Rg7&|XPG_m9q0>$6P&BGo9;F>2nTKMwps&TdrzOA$7Z$R~k^4K%c=nerkpY-F#Eo@_WP3XD5bUgI~L^jV}hA~>_ z-XW|Cz{tFh-(aMxtrJ>eZ%t(ylG`_y?mX_C#app}{1xs)^gWqc{~==!I@NbZXZU$^ z%0`OpJgdMj5#ORal;ewx$CFk0ep>?^=0>uuj8yCdVpZBvW7VYeL9~U-tef~^qb{P= zc~5Xjv+#Y5Nn60;ZxdQlpa4=ZYnsxU8>&HBN_nwv@;0y;<+WsmSA0Y+J^;TRzE{GtCP<$sW4CreHE{E@Ljcywf$lFZ5mqKSGrZPiV&j~;iK*2Q6rb+#pEFmI(!Xf(V+ z&ySVInSOBQM{u#wIEBTE#LmePYqd7Sj6(~;>by7ZjVMSM`mQ`w=KiVQgtJ=CP2ehO z*)pxm6@J?CqW-KHR$m5oG533MRu4w=9y72ZzC{;lOxsq=2A;SH$~a%D z1Kb@MfXwv1(mFJ}S1D(z#8Yx-)mTnX!F>Kc%;c~KUOhr1HxVYb;doXY;l%TJ9Dh*t zZDV{A0$dk$fo~U%1$`6kqs1QP!CBnp`X0jBnq;or+%Sq2)ABO@ui~K}1>sg-pC7Kz z>|XEe)|z8Qk9?kod{@1H8~Er_?Jx4`AkvVoqDR`?O6(ypxF0{C#-1(bte9(Th+WMb zbG$|SQbz(SY?c%N-74U%R^#HD$1G0BkfJCZY!NN$PC;L-A{x54Bs3wUuOo-Cc-^iG z7qRH6b_ja>2Rwzz}l42HeVNSAbrZ10yuC(8s0aN|-R7+oF#lBdy z$-UiH%5dxW6=7FYdKIBv-}Rp{au2JFA2J_^y>PkwkF9u}!$X;%%TZFh{bsZ~;xjyR76`te81}59U+8N( zl%dF$i61|02}bMWdz?gTGM~bQ99A2q^i5HJ7uK^jmWiz_bYp=LtYkhdvaZQ;oJR|F zjrhzKq0#I-^ddNNnmZ>^g?bAbK3pz}yHT6y`u&%Oq}X*65$BMwlJ=XIQA0Er`#n*@ zR$;3r}sX-xEIjfn-<$i}OQ%Ij*c`YaI5S z^#xvrKakUu$|kbt4JmLF_va#IQ69@CCyh81oA?}Mn4Y^vLg0Y_(DVbbAUn+|bN!&j zLc{D`qUL(xI~+~TxtsKCFN~{fv}B1Bo_j&H;^2_#Ho=;jqcUrPO1Hxb&)?l%bFK1b zwc`~e?ReCP1bFmK#ipN$HkWb_j)DomXy0OPG;-HV?^McZ_YG{C2X5KvE=M*@sKzZZ zyo-f+1+}~ey)_gZ$oYCxy8brRTroW@$!x&@cV!G_|5N74sAWf^(|{m78l%p)2=MIw za+|eT1#jS+zD<|f*ZoM}#Kpvxv0f?qVz<>?=JM$Z6&*>35I9Lh(LV8zkNcF zgi8QenO2B2yl{|Ue{o9@FIFueJM>%CegU?n>U=hxWZII0va`pO_a;1&zQ0U>5vE+u}<->yLD?j+Sve`Br zv%Q|DZ=4q$R(cMdR?d^+kB#jkPzRzwzEG9Vfezgp_VmFjwQz~=EiD55$ zfP_7PVFe)$rm$)7_zEzTcJ_JnfY^XATSF;jje_JIWFV~=f>Cwi!M0uumK5o^@>*-D zlnl_*Cf`zA;AXWS5;P5CS*>swaMWr)PP}nsjKFCV%wZ4`c1Wt(Vi(IEqw4AK* z(NQCv9)&TM7j<|#(-n3MEfkq#%vN!2h+QgnJjGLW7e=eZb}W~wQnNWc&9I8fE!L+o zO-5H>aA7Z%>Tzv#&9HQ3P5hmcAe1r0HPt)VNegKMW9vUI=J-B88KW(=gR3hp++k?` z+#JrZcEgLd({KAE6ngw1rrEy#M8z7f591IEEK3rL9k@J!qT$6;$pR*DjRXK|jW<+r zgZJ$yPj>{KJK?Vktd(2sUKGg^F(?U=Ypy|ht;zcfhdZZO*`Iz z)%Sslv24dQk zh(@Z(9+!#S(_L!K2EtweV}AqvMFa>-E(3E)ZcX^A5@FSt?p%(dE>`rR#q(~-!Yq%5 zg>@`rJ%!2?w}3a*Y*8j`mnZI1$qdanA+LwmrW2`({+nAvMOhbilu+{XX0lJMs!XsN zPWO-%Ap?!Cv8AL@lB$#9rROzKe!s7oODT*rc3UUjJS{|9MSO_LnINfO&CKEkzpH$D zVq>xNf|odoE(np+%2Oo)r~2yX8uxt;@{TU`On;C;_YA~Z+FZO^Vyu57xx@G6yn8Pu zb)v=KsnMW4q+^DO&0RKcEC>t9njJPZOLhHLsIB*F@o|PNSlKD>k)+D3q6%zT@-)z5Fh{WB4ha2tGWAWDRUpT`cn|egSh6b-+my|Y zWijKl-{F)d*{*Tg1X8w2dwvK33J^KY_D^tE6o#gd`!mCxyyf^uP0F4 z3yC@pyu9u{7)Q7*6yeuPWW$&}ikimaG*a z=T&D^HRC3(5&>H4`k;Ex=3Il4`g;{<_T`b%^3nbM{ln+Sf=oB}PGh^sK%0j&_Rbccbv?bIPbJ*`7lDM60a zqUgadOZ!rmqTsX442j3zC*lG1Mq35T5<*KhAHRmypUkx96#scF1ji`1tj}ozyj$-ITb6UcD&^xEI-CzO{400 z^kk3yD$aViJcQty{RI(SD7GSsh?n+m`Sa8lt|QL{ld|E&{w9EnI3PE>R8HW;W-`-2 zMuhKjt+(`>=h5p+$dkM?qsYslQaiC-hl&7Ye@YgrtN3$BJjSIws$Ah?i8@!qaZ55J z%?li0wxS|->%aLsP3YP+x>Eg<;2&Y{^;5dyChFZ0aPG@t!D#HUDzO7OeqBn{KLZMv zU_WWY+%m-kpS|RTRTQ=kivBE05+0ho5XBu+psiO;d9oC+7E=}*j6HcFH)K&9J6PUt z^n;|zRSxA-O?pXnRw9$h73OQ@HKZeU!2rGM(oQs8{fj)dlAia?jwBWv@~$6gH}bRr zOCLl(rR9dEyIlUFnOaN_NkijYeAt3C3oZH`+dc+0JTL@C`rG;9u~Gmj6NIylV#-;I z!Vb&I{8?O806A{a_8WhAr0?qsBvNm0oBXv!M^8^dnxm?GlwTqkcvLLya>(ABK(~5G zb@j(;pYMGBMYUYPnx>e`t+VVfOMqa-RS3Sr{LNc~9Y(dP9SCT(% zb03WQUoOGBe>~&}tlF-bnTHqY2Tqn&UB8qTXD4(ojO*dTrLxf;iO;`tm;)A-(KAt6 z{sz;wvh<$JeNh<~D=ST~$Ymds6!D6CY4uAK#cJu?P-9=YA4unxG{M5r%ZTefcBycVNaXq6B5xrf zNc4el1b>2jFq{JglOoXb8~GK!&Cm#k!_QK-eQJ?U z@Z{{`D_jqKAoIv#C)NHF1=7D=TfWmN9=~d-eoL4-P}>~-O}DWZBGO0+qu)ui;B0tsE9-x_*KiLQIWjGmR6@EmONGJd;-y`3F3X>n8*UideI zkKkCeGiKjvYy-K-1BpOyrPD(UNBEO#7QC>9S9L@CxrfH_Q)id->XX#ZyPP+=utN#< zE}g%W;grj%blKeb{h8foC?ra9%XWJZ-Etg{Q4r!?@O&t0&<(Bjq`tw=nmD-cAVdpYD zpMWycD9=!IacjFjgZ$Np_TE41OE&%4>l1r}(_0>5;DoM!)Uy@@C(ud59)13a;+NVr zqYxtBOBN5a3YZPJ2R_WN;PI&<}`(|F}mMRCg_C`xctbSrTTD-DTr! zxG%oE9KCMedAn8%Iv>O}H*gi0m-xASGXH**?LRQsWQ|3Te8noqFB3D%IP=EGDG|@T z)WW7W1B2r;+Ezs?Q)3SLH!Rl{#jk4fov#9RLn1sst(uX9WX&3msZv$l22=A)Z=y)R z9%4ZYFO(p4V1e5O|4GTii+=~XfWP+_A5fqm24=ckA2U5k%L^Q*%iPMT>nco} zcXQB8{UmAQfFcLMaa#rzz3l<76-O>oTkR%PC75F&W7~Wh>n3jSo#=UT(_`7+c9{Nv z?Kh&_P68Rp??&=)D0ws3BfgtvY2sm zxZqvLCQu167$G3b9xC1a2qmx0!2><8KL)h!=e=?`rhWtTrrpV-FZe^S0fctIC=&!Z ze-&?JO^Fz`nA4cAYT+DJsBTZN)F)4%#FZbF2+qXUx%#1Y{U5*kU1{robU`8Sc$@%Vv-@U$34upZgNe*P%b9 zJ2hA4COmFEj81ywDP0@OjiL@2Sm)$8`YPkKbDSbSEz_1Z_ra3L9@_l-4$oCT z`Eflk?%OH7&@Ya4k$Fmse;%>qZh-o=?o$n8H&H~pf+zfIOhSU6nZC2i%Lwx8T?~hM z&MfG?jGyCzQE#(P!7;H|kmJX@y52Vuvd8wLVN$4y?V zAE{{pKwd8^bra!|Hb+G>&Uuvsl_YZR{tk;YbrKDIls$}_ILSa@Y&C;#enh8(nL-5* zN+Ex3@lQPY0F2i?8s!uquFI86?d+E!3E^j!b`>E?4NnRkSws4$IDSQ2v{BKS1=Rx= zYAhPtpOLy4&VFe*3;LeFyq{J!T$|UOey+LiX8|R@WtFHcZ1ZnT#octW=BR06S8k{V z0v7`vtFmuCFqfRw4Wblhhij2=Qu zpUQd$KhPcOUEeGdndRc!wCyTfZ`hWs&PQEFM>`r-- zIjdu~&aoBO=T4CsnMcmHSRko;1TDi<(x7%&pnynNw)u`Vdf{S><~T-lwWxy(T#_neLT4n7X#UMjjNIgg5v z_OH#>%Ny!&^3v12kdASm>oV6sWI;ghYjxr`X-E9lH=}f{Ou;1YL(QT zKbQG-x^{j`yFOd#LxXckg=^DRD<)EJWEHh?Q^wzZ8ApfLw5yYh(#M1LlygN+bBAFCiG zD%Uwwcc@dfl-{b-rgUG2>8uHmK!mS{$EVSR?YO*c=`3mJ;-g~R_`2r%@~ZnV zt&v(eyXM7uUPcVkZ9;|lH75~F-)r%<4;ThvGxk!1WShoK1~OCqAkio6xCcW=*eAQ@Uo*Mp!!8g`bqH@C6&B?;I;bwcXjFlfxuEkU@@kW6vu?y`7<$`na>rG3tW!b zCP3R}ha@{}ENJ%Q!2|j_3F4JzK=;TCFtbm7*0pFvKwOpFuM)mTXOs~v-hdwm9@GHv zZ+?*^;hdHUL_%iVxg?rBldIXG$*TF}fU=p-sT5$qAdx#zp!dNEyBxKCnr5&C{d2*P z({7DNC7UQbQ{09E^R_k>?_za`;sVn|_lcs{>*r?3WZAj%aIlQH*5O>!I#wJ#Yw6l{ z3^yRQ&Pg+*S<=QRbAvLmUIoBkn|5P(4j{E4*mEIXNP$Cu6$4 z4ATRVk&c!ldpWjEij+E%pOsA(9qDTwYAwTr!9=|eUJ#NG3c$luiO}Jjc=L+M*lJGy zu3PH44f$9d0j@KM^)eT{{i;jQ6vn`HsG&o9C1lavB#zyGd+P#8uJ#(}d^{@m2_v>* z(J)wRio?N-Z>Y=eC&pJj9N|Jj@t!~W3MsR%SuH>kilMHpn##tR9Tca;;LLm@nT=G7 z;x;P`__+~`k42k%IS2doI{O-8?~`>mC-w!?q-|zYZpptjL-r7M6E%}rF4tF(g0*EX z^b2_qcZBs{)UOD)iUFGx5*Tl{ZGNrEITCmanVZxk3C`9gS2m{3eh!r#kkJ03hI_ z+(+4EjK;Dcm9iZYu^(jW)oC|yz}W};Zl}6R(0X65xgN54zxOm~a@_6>-+EZ=g`G^2 zCTo-`zt!5b0c`Gq89!2tb~$!6J4e=0Rw6pKvZh5mM&AcaQIca@kRor60rZ_WI$u|+ zV3V_g@@tT`{H4N1m6zXAVsO=n3t|<->LY}aq$*|vMs%qIL9)*ZnZaH!gV12I$EkbxDv9yq=lN_8Fg7qV*DQwQ%jZOl`1_QWR#)8=}0EP2YktLJ{t9Bx> zczQ-Txet1Xd0KYEXU~^XAyEYi5?9ek1NQt_Idn0;hry|<0`KRIUk+*w1d5gg1xJdu zTdkj+qRaIMJ3pR#5JKKLRKr_GX&Zmo4|I6ZnI|x~yBS{L$!fOuPuQN`OfZKPCr!sT z@`unI^E<%UV!wnr3A*Lf4E=nf)?lSR<8sVp$@rVK`$Xj55NzK5e6xk6$Yh<*np3n< zH|d5{o$;u6C1aLi^_0$K5rmuQl~9-vb_G^hkO(p15vJQ{BS-}O5=+`_+`IH*FfzxM zTb*&=e)nzvH<3)Csu-QJD&cyw-CSiwMT>il8}=l>TQg4t$_9$Noq`craEZicd~sq# zb+jpKw?DUNv1jRWi0NcaOFrbsa_@t00>*)kL&wrg^o!ih8}SmSm7x2$!~cy zTKn$~3e-rG!(^C*;C*^21bV#9)BxHhTNMv6Rv45)QFy6mK>iq6ytBmOmiSp%kf|;pX))81(8~3C4#xwRfI*t zwP%4wv1eSBOpbc(9@<5uVg~1PjG?=WJ6wedblu^@-tRVfk@h6_}Na!<|% zj}D$2G8!J${Z9wDUW@yE5#e=mbjd8F9vJ=pR)QuKqBlK(w(dSZzUrd* zYhx_X(=U(2t~4XVvY|;p+i|P?J_%72<(Gb!M9;)=;eOHIxO`#tI@cJv?zGB`5O9u^ z;wtHAxb@Qx&JEE>CjGhnyr<&Fz5y$KOvg32mdG3T#&gAIh@!NCB_3I5`)#?~O{!PjDqbB=Mz`6S3Lp70f!WYXeNS$GV z+mbga$Sskc1Ny|xG}sp~r5E5*KpK9!E1+;JqWy>ERILVgm)#*50xeiS&}NYSIr*(- zYQ{r~#o%uQM-lor7|$OcKB~@mDmaHia2(5mC{@pbzWDvrZ?XTOCyh(k72%dv_fve? z>_>7GXgyc=Y2^EQU2iJpw|X-}QQKdW(7!LUzdWK3_y<0%`oGci(R}L% zwk@0R^rug&S66j9x{TqEiYQ^3Ik<9k$L@Ja(R9a_{KA9~Wc|uRL7agENOYh%0uxXf zD$tCs9U5CY4_yhBW2rw#@l0upH3usszT04_M6Osm{Ao_XF4l7P3LA#=vPk9{Dkx2A zN1LrXiTZgE9g9z6QAz`Y%-zQT166rzSKdwG)AKfsmfN~_tMHGXfx}KSBeiIsL~iFP zV~M@b*t+iX+AVHb1a(m?uAN5^)zUI@sd?~j>y9(gN>_Ynq-=D4%v4?ze1Q1re5)C9 z`LRL%M^OO>axCT$YyA-gv|-C`T6Vq~A~g(y{^q1#ch%|=!z}Q?2qWt+@W2axZt+R3 zxcRf7TMeBrbRwCa4vD7Nb#D*x*vQHV< zPgd|*GJt}mA`mJOb-~P$UY4D#A({@?1}T3SF5r0*%!O&dxQ_kQp_!s};?9^r-yjlp z9p>NFz`cK_$I?PA6NC79quaN;6`Im^)KAe_`ZJ5TZFq+prz z4}06K2%Jmj-nBTlV50HbqA4SBnRq9J=N&bJA)0xS@U~AS@RtShNE-_S3#`zI39aba zEl(4UIw9ecD_D1yJ%%LildiaHUk-y77LkS+zwkiecy2_u#J=;EpZN#N^wAL0xNeQ( zQO8a?aO7RV!<^fNdQ;0(^UKYQ(wHE=dYOdE-iFm}N#ICi0x|9#sxfs$1OYBb9mY8e z1h$qE1)u`Fi~3fO)qQQ_6`#*Kp1gXrjz@V6CQow;#UOV@z#zkoLfwZNH@V}x9GO~(s9TtvrA1o|)o}uKg0-YSn ze*`LJe3JG$KA;IcpizZ43Ou4jA3e{6yjZX!eB5e9*v)eHyx$C6^Ax$)zib29Z^F0o z(HZ0q<-9Z2DGlW(YUmCU7~*2ORL@BH#1t2g(M_w#ewf@i?5QPvOl0QGXYejXPlmoh zLh`(w+^GK7-^yeV>q)v}XvO?mH-%#KMvq^24Pjha(pSc<$6-l#Qt*rT?k02`QDi!4 z{j_+88h7N#ASp#jh!2y-^gz9dm5LcjS(u55qnH#_3EQ7g@a>5!DIXLkc4UUJ+{|SQ zH;ZB7ObjE|8a2e3r{UdDarYXg+$(h-^j9xp*39*uD^wXTMh0cj7l$b8`Wl|@g(I1TO zd_5Tu;K(-cKPE6yK%(+lkwv#l@@L}a2-dN=iW|+u5yG70fluFlMZ|tqVv>ei+}#)U zM}XeH0x4V`c;@wK81h?uYZ<1Y(Jts?*Nq=)O;*dNsPUM4*JlwDU!Jl)y{$|Cv5 zgn!$%9To-EM8=Y;n5dhjhI&vmdM$jo6#o_{lb%M%@cr;5@%e~G7gHzPH^$2o<4O}n z!qH1M5xE2O9N|L)t%;+uT2C<_C6RTRDDPC$Q1cuXcDP;9N31mAi4MCYGkcl6&zba9 z^veE}KtUJ%wBQRu;b@G~G$CVH?MF=+v`tD&@ReNGkmSq)y{H13JYkgvAu{JR#*O{r0q$S2w+~VOC=>>bMV3ae>shBhWwhE=40uG^mUG_=N zpN>ShjLFumrg|O0QJ=VT<)?Uow?i3iUtG1{$^pMn{^fqmh1g;wWcw;z)+#z|6c^sm zq-TC|KkIcz%K8xd;dFl@2Z6Fe0?!};E?rh%RDtO|W{i z^y}5v8<)ZU($Qo=nD3-lkh*qhU?R0F^5DL;Ak)pxi$kyL$Zm=Myoa%atlJOPu_4II z4<;LCFi=fC)1`Q2Wt8^`1Ug9+ZY=se##|(1r2Sseo*rF*r9E|EHN&OQ;zB;5kUar^ zf|uTtmle%mFubb3P+N)%F8s)f1tl6d2fEfW)}Z^tStU{>0Y?qXtv{3J->2)pfcnbI zTK#w4#OEOYRb86U<{FVkPLLg7SuICEr(29G&1n)yx;Tk-y{))<<4ZBVZiKL9>((su zF(>w>BY%ox%NB3oZ@aJ-@sSTEd$5qa{ikc%;31932}3I)Cj*x@X>w4CT)VWF$`%6o!0Kg=FCe&vs(wur9);rrxQBe^64+o}I$*@c z20~)B6YXajW@@OKOZLt(=e!yvEshAB&$J!8+G-tVuRA8>S6FsM1&WHC#FmA6M^Ino zVTI`rMtH=f6BR+qo54-RxDP%nS-=!uqKU5&Puy=g+C<74c}(^~Z*F{nO0*agu^%dN zcRL;k(mVNz4MJHjc^u5Oa-NsKIv}&gVOK{}jMkykRxRBR^)dO%L8&zD%O6}9P8OTN zb^$H(n7|_c19pCT6PJz!!@jssNilBDD829OIke{6iQY7<(_0 z2{!2|o(r8Re&g(QaXzH@SbysJHMiL}MBl^2mhD(6>mOefn=XyGbVUdK;Nw#!>NvdNgxHE%{$C- z{-gLF*T%hX=UW{RWpu(NWIf>9IRf?ff`6av^v9xLFS(kP5EKnqZA>8G&Y}L*k4__9 zCu2N>$VwB?FsS@c1ors)Rl%`mqg>;@G;nCOe6o_BFt0AKA`(GF(qoE029b-kAj6da zyN_CC9ctPKkvB7##tOCbhNv=RU*7A-y^irPm$tm}8o$4KGfTgKSLw#UQ$KRkpvuCt zHLlWGVvsJ45h58_LFpPdG+kXjHtNHdKYoF6Ts|@Zu}iM~#fSlC-cMpk2tEmH;pjN- zIT87e6Ni*BRX_VXsG3{>@HxcM*6+i@C1bEZ^vAtZF?hvzGYA=*-6 zY)W{Ynge$6SWFM;Ua@)Ls{5co#|01LGks=|TR(CVf7JUOd!g+}zQZ*OA|!`j#xd`_ z&SJecIw76p_5-`E{d-eYUD0J#uH|F-f3hxPv7aK;wKhH{JVKH1sQ?%WG?oq1)SgWm zXdRtI#ot$dIhwiDp#BLCQx8sS7}A>ZXmTO8F*Q-n(95gA`0j`5F@Aa^*KJAUKz>VF zD{*-1nG2@ZaV7e@(%t+$bk=X6R3>af3SqQl9xqlj<95E#{TGfM%DOhd`eCCj`)V#G zSo@QyNV-j=ywqg_IsX<&Tu=WFg)tekPmg-&i~6^Q>84=z^1R9*k^WFnUIE9F$yJxe z!)jTL2l~%p?sZRAT~=q9pbrSD?|pMLH-abQQA4-6_d26w{nq8Vqc8)rD3fRu>G8VG)#`*8<0Fh#G*Oo z*QAg+)Ycjb>r9K1SLNH0yKTHWAwrl12ADqjp9|D9Yh*SrDg39D=a74`JEf%dFsPev zF?$OuhB8mMXS6(Xy>s?d1z7#DnuICVmPRTar!>c2sZyc$jy1!$tGy(dy%&vKgPzcvcmtj+9m}4h zFN58k`Tp79<+@$kCuu9%WVP@^`b_R1_wYaS8>NYfhE5AX&z{pH1_+0lZ`^aD`u5B1 z`Ob&hlBcNm2chUFJiy{yXuK>VSh0D0KT!QQi72q!Zw}Sk@NU{@=ItL`;?aP|=t-=} z$AT=3Lz>|omB+=;^szPIm9T75eZ1v=)dFM&?Iw9ydwFBtz|`#R^?7;7E2pH;Nl%ES z$sLAmzU;^Y*1m$tmoy#D8?%*;eJWdCyZT&{9hPgY&giOeWCR%r#IQKYrNK2`$$SGr zj6)iMNWR94a%+7$&NtTTcZXuMsJJe_;#RFYxtaCUj=qN8bXN8dJDj75u8jTd6{LSO zoP~AE3|5?7!^$yLMt#ef=LpVx_ZYX2A?p6teTZCWg;k=O1-oRVH54pmclp~6TNrMG ziYNKd~o!2m9)iR89wXw*Y+PB=!JnnVt9s!{Vj?J^N7CtatdMkidi z1?@s+DsRMZ(b(|zk~RMmrt~}5W#0+Tui;?wX$JrP`giIdWn|tvZW+Rj#`pIiV5GL( z$VPTE{g?#{<6E|aCdZ5lHNQEhrJPT)lVbx!FulY1G3IiZc19hHf+&mkdmztQ3opB= z27{O9gbu$lV|KQt@L!u_F%+lI0JlwxmR_B6s?!bg7ZH)L7E1 z0Pxq7pKm8^{|cQhb*;MVvcGb`1SYr^<)W}3=E-O3YQs6~ThIz_{RpvJF1IuKK`8`8 zkz$>0h{FVv)nip~V$Q6s&%K=e8Y2Wx7|*bnIPP>M)51H+kT}>SPK|t*%WTFh`k0i| z(EL2x1uJ5qyBd{3CShf9+z<)W zAb7|bI@^gX;)4-O_<7giXbsdMkBVp19+#pTzKJn`+#x%V1pHWE`rCv?vRB_@LKTOU z0o!x@cvr5R=My*U{Qm0JGfduU&CsNCxjd8Y%aw*Gm6*Oq)|y2b`%L>;vg@o<+#Rxr zQ$a~D8P2|NP%Ay=Rwsr?6ilIvxvK=qZ1ksCl0C*;V<#Ou+Nj*jnm71TnRO9nYz37u0R zymJ^i+>&#_q}50_F%wdlO#WFscc=d`67N~da=(_PTv9x+ndbiitw2)0nc#^Drc6gw zcikyXr1d z%rChjd?3dPo9?dFoZGj$M_!ze>iME4mN6kpTV+(;Y^ma{3Z?l^mpy()#N<3p+~aa9 zk?RLX%{SADRoK|3BZ@aeV**UFNbi3l$x##E>J4oR24&%y6bk~jxXHGS$EAly|d z=plxFLLS59ToQMm2alotp1z(1q(cS2Q3gS+!oTehTOXZ*B38JS3CI%5ow4Q_o-&8` zth@2xp^?wK7-3V;HK|T@g5NWKKL2eHiDuQ68N(m{sI>F67v>&$gF zAaM=0@we~UvqxSei`+Eoi4r0$lUh}j7%ORy zi8A+XN6^)dvPGfp;z5qBH*uQD_o+DD>HWn%1Ol#vU5UJoP-rKGd6LL7===~fs@}d+ zdZDKv>z0LGgut{Z!m|o}uL}F9iR-N3HE6jJB3-sX`;y|; z5$%LTWgR=LW$SLUe92X+S3H>mX{Ylgi^-@(sJD!MG7qCP$xjw>-0N=L758u-th`!W zfTmk{Kzaop~EGUn5jNGQ?d)bu3IZuoTi{hIT0 zWmDLCB%)0eg(mJu#3KdTsYomD8g4TS{Di;*?ki7?4YOtTZdD*J54)<`2}} zGSqK)-LWr2Ych6>FSqyNGgiFJ4+xf|Dpt6nhdo~`No;oUwjFv~?s$uZQ^9C7MoavbFry#_Q6KwC@&c zj9!sZknC}!WyF1a_l%`%2<$opOlcp@CGS;fSCTWDv-X$DIEZsEIT+`8)n-Dn$VHe= zf&A&l-$(>SeMb}$5_qnj>c98a47IcmNFFNUj+ptITqnM(oJTu~@B)n9$2k(!L&|A=T)0$8U+!9^$gc*HG(T zT$e^kXnVQmcY2>umT#14DGo;5ce+LlalUa>fFZJDhZ+Kgz=RPPhQvw za9E-u>@EBr(bomT%TUe585D`cEIQ{Q2(EeWPj7}!kgDoTODD-nh)VpE5TE#7WAppY zmd`)ccFt*-)n{%x-z4p#w1cqAioUueSg^*>_T@W5t#F`mz0nRW_nB2pdT9ejUA9rD zXT-git7!We0){|O2+Xo7)l&h-yi-34yJlrjA{!sa04e=$orc!?NvEF`UI#5_yZofn zx|ZO0@AWOW+~STMJLb;cbd$Sy@nSNGR0$x%2PUhEMubxd4&P-0D<~-mr@mydrD%W6 zqmrcfv*s;LjD=u@^fjuA=1WO=OuCeSYuV#6rS>FdF?HH>2+gqzg-BpnwJb*xzne>*0rLO#C$lD~oQoQ$o`;G0;-$t&=lfrFhx zW#@!oD(QG(T7t`QvMNSOWJOx8uqyT?M6SUKsu@f|V18?rs=HFX?3zpP#*>_e`0f4F z>1o_I@w8KE2Wh9$PSVa5QKcRM2N^92oh^3E;w`R&<07Gx#7)aIKr`4i+vCK`6!)(1 zPsa}9tOV0hLd%6AUJ;9<(zEk$#rY-sF>)d ziE~WE;|_!#6EDD&sO(_^te#u;CAk&pyQQ$}#8bs84$YVlq^Q&4=M4C`_axjp+Tg!$ zS&w*ZDOVEzx%aK3%pm1Fy+4;i)$F{xE1#m@Oy z{IkC4b&oymsreKgah=MwMI*ThRtN?{?>m(;H{n{gzup0@5yV@W#V#anFitBKEhR#K@Po9moPd zupsE2+O}LY}Fv9oIWYO z?-nsmFe3RS5p95WO0>e>3Y)6kt&&N3M{3JjE=$;KShtHxK4eUc!iDzeyd}-;X;Gv8&CFY5*8BH z8FU63w3IMn4{+tH+omg!4l;5j_hp+Cq=_|m5qD6qDaD6mWT+tu;TRGui>DoN*@LHj zGbrth-_FF6juiJ7l|9tKU@`KIT1Z>dPj%F~Vbjm=%+~d=?G#rt;(k5U7Au1xUMRsX#~QkHktU^ z>i)90R3QIqpV9NFx}L{^OOm(1+~V+=1HfyQ>2~cG~zz#tKH@NJ6Rc~9E!1IPlFDOCGi`F`=}nU<48y08b{jw)StAcR|zf^?IJ83Z-4I(xCb76$enrq zWwCVBYM#J1sp`@nEXr~g-+3Y*lWnH87v%LIj$2tM!R|r6M0J{yClqy2iMLMn<3d7B zgg|7t!%R?EWuL6~VylfrS6o#~NhT=mB&oENFrOOcu%(v!iKTw?`PR?5Z1CQPbXXQ8 z+d5%aiL{iT=5lNh{ZS06?fxGLw99!#ozgC2se?0vK;oUNp|V^&2Ni9OD1eX?lPnbB zT(IC|X;%WtRy&SZWw4}a5i6R`gRyKP!6Ku*V23J>B{{7|lV<(o)K-)lnTrstG+CtK z>l{ZBID+8AP}XVH!3C-#{o-N?)+R2-)K5+7Z{KwN-=f%aH$Yk2#4C9d>xHPZKO`e4+`wdF`;PzS^}OllRrj%!{;p@Q`RFgz&U+hi9~F|8jv-(O7y@HLpkIR9@BZzwJ&H7h6Le6E zM*-ES(~i?40i@5JVIg17ypj-S5(UtM|9Gm*sa4$riD+|~Oo?_ovNcKC?p zhQ92einfb16Mv^Ts@fk%qS4U-C1QM6U$}l3cL>1gJdq6}3Q9;6mpD&;KdwFM{q?Q1 zJ@FIeJ4|Mc&y^-Q{LFn7i#V^um7j}PG>Ic0#bViq-3%S2m|!aIVqpq|Hi^fN4uy6= zwxl2GX5xoOhk+~H@)b|A9YtN;sWc?4WrLkJ*t_sgI$B|YB`s${fMaV+__EzS)#*Ol zX~Mcw81{3XNnl{ay`L+zgZoaRGVEaSMs})xy>Yu;DIOMh!>>JpgN|HuyB_@#)9v!w->7WBGqSTmBl=idk%J|)JCRX2?Ucaah~7XJ2+X>r=OKcoLDUs zinagjJ>JFO$8Lmhe+^hf8j!bRl1dEIod7EBUbXk0d>t`>HZJ6^F3LS^KqTqXo}O|Udf*s9@-GYJw}kJ+ zf>fyiw=7mxb+X!Li7VEEyjRtuE#7V9fk9)CcMMRtLMRWv;fP2R^AoUgmZ;Nm&BW{- zYL;XJs{YcP+jql$taQ7C39HCq5(vKAojTgz)1G;`F5wi?@k-Sl{k(>yQY+|8ZSwk| zE>tp}wAUFbll3SJBj|IJ*Nm9A9bD+pHjK8UKDBX))Be4t)9Ze{7Hib$@x0?mbGvj&cIb1bSDle&RB=u$FF05f_&|zP zRagHskEc?s@!M5djxl7J=-+Ur9YOr-PBDw7}OQG9h}RCY|n zIuvYHz23XFUv~s1McSD&BktX=kL__CAuz6<_jLqO+oG7#zOz@jA5ze_${rP^pY!yC zz^Kz5b$VKsZs}fyx_!ePN8Ky;9~V+dGNmSY0i+l1x(d(QUZgDMuz)M07`_oW!q$&dEZl;5#WB zm~_ga0N}+#vKYk>j1WbJ?~1dAsMHRV+K6J(C36!H=bgVTBKptmM~=FMBIh&s1)9dO zB_8#VcpRN(JHp zxNCle1mY#pWr9*nb(+WMilBS;>=DI2UM-ameVr7`81W}goN%wadQy_DbMhcI&9C~h zm9UF%nS`=lmGe?r=4imm@`9}N%5#yt&x7EKCw#srgkBeZ(!4XQr4m1XLQi;A4Hw%E zUK|PFi=z!!u3V89|GuDE+F>tNFPm-#w(&?h478JR_JC%atZ?I(F1$=dnl-$Z$q{?mi-l_}%3N zA_M~Mm1IwxNLooS_wQMDt4j;w$z~*!Mo>N({o~xZv+ny(oe+!6rM0VmA)>G;vDA)$ zD&z?v1@RVT9${Umd~ZN`&(U{JGD~Xqvp9-SEImoc0hxQ#&3UF%WA9es9obgHa21 zJgBUDuRBz5VdQY4<1L?W3O);SWxR?|=n)!{&q}-)wT5TbPD9-3A(7|z?6^pK8#)!5 zABi?EESPfzvhGeyMn1TIzpKMj&-CkE)?*qpe!E`hboEZ2OByXE)E9{egM&2QJ)`pQ zCq|2@q7%1?`aq?f)}$soFCpw@C#8M7t=jCQo}MevE$7q1%}jCccBT6KJ-)D`cyRQ2 zdfRfTPNjC%2$!DbJx{Q|C-xHcp_90i zpsUJG;?B?f-mB(Y@l|Vzb})E8ro|ADDqQHOfe+8<@!CWOK*|xUKYLb|{OABJFvK}9 zE6x$+ekAYW>7TD)ze}*@dz(^1go96BRsLp(0Hh-x3`?nzh z;|J_H4p9B%xez)M`W`0}cZwBnE*d4chWaOSeM4D9aZlB$xPA?g#a(^KD0#uKK<--N zj>*@uX%Cl^+S_gA4hU(xmBUTKhV1DF9(KIx{jgllts#B_NE z^I^ddJy`augodmflz??FBuGqQZrX#?auq{HyTy&}@l60b{h{s_IS z^C7*(^}0KL{J3jeT9XF=U5tDf-1M$D%LBBD7`}WEWJ9`zKBY*my0>-1kR=s&$qZNL z!>~H*3>sS2lg)|`ZlpW6h#Su~1S0^hT!970w?Wb#ij^V|>R`EH8tOx@G8R12t!%Ezi+|Uv zn`m<|+JF&=JlbS(+9o;$iz0ORSTH_m?`M}NF8FN?$21v{hHWY>EF|PmiRtB+b0Qvm z8F;<+dc~c+bj2OJ^DeiXhaILc?=3TRkaMKZ=Mb?G)gAVl)rFc{NBezgW8Kjn&&jgh zqT{2duo0KePp~m1lZL|rS`8}N$j3&t;=S#qMR)Jp-{OwG z)_0AA9;ZVDWr10|%kL<&w%?+({q@pKw3(^FKFCl0zNK{Cw{l-;yENm8E4*bpN<0#C_CTJN2nuW2qeuRe&03 z`Mjd--_x63qj}70lF3tOy!kNr-@f>p?%sRvm9S-_+?Z#X_{Byzs6R|!RJuU4d43XQ z;;O^tHB2<3x<%s74#xMs_dWUim;dQ6q+H+m*0<$zajqoz|HkkBA0r(p7$pXl)^G^) zN)meAZ@An{=h5RTyQ;-+e)F5%*T4RCcmBDTJyB*Xc6Pu4hbXl4ZPN}HC=uHh^|xy@ z6pj5(<^J{8Ul%2uB$U4N#ZobuSgNY>7NQ;mAs!=y6oixQMWwRg7k)wqUI>|xYA+s1 zXiB_`dMu$EF>#R-I*I{a)gKM-gOnlB|TA43S^749%J+#w5yeE_4<&zwx!W zg2}xy3V{6ad9j901m6)R#*a>fu#!Sjaej_O(8tb6qS8LE`RFsvALnUJ>%dCEr&H0sZXKm1`yn_DuOcSIvMz1}tLo>_9e z15ua1N!(@eC_Gz$tIQeTB;%m8YZ|&Q&#l*FT=z+@<(t+0rb%rV{xGXR4x8`9n-+Ll zzeB5q(8ZgF3GR_c9&^-;)OE&;R{@a9{oESKUTX#MAjr6mT@y+$v#+ zE8efdUOxys>Hpa)7hM*s?{PnFn*Tz}R_MPEzpL__j0}VZD7ST?v?QHtm12J$RmSEw z{njIoPmgdUQ37xd9kLY9C(iE`Gyi}s@BzB%+@*8p-Rm#CHR*tJgbdag+Bw3@6Rbc6q1Nt)?SsB;8BrsN#{Ev> zO(M@lok-C4?Ol<5NZciyV<4v_lNt&#CSZ zgO(I1vdtQ-HCaY~@sVHf#KCXgTiyiutJl~G@T6K^wA&ztdlqrni&(XkE2S0?>%9R_ zyQJUr#6O4ji)6Y~T$J)8oehb!lW~m7!!oZk;tAf@(7v(5u@048y!7~v-ShfAuc@q>5MEhhq(qT@VT$ywEzagpBv}^ z@Lw)l6}39c{P7(Pv$xHYuoDZk`N$i6^|JCU@rL-Za&Vt}%e&t0sv!K*P6v;9yXVs= z>-&}!Kq;z+=X5;hgXhCoMWVFxGe_WA-U_ZSN`*NFAq;33Y0zh8{63QnV2_y|r}92+ zq+R$-kGR-w9S~q6NHvrbc-R=LqVY+n>Zg9nefp<=YFljC zh?0o1aTldxf*bSu&9D5uMaoLzuKszktOTpfMF=6D zsQXy(o3OOVWLgLs@;OAV+1&K;;jf}YLe+g~F{F#Mc|7B+ix(c}(k5;ca6@$0<&S!&{O)}E0k%48CG)H zgw){%V&lmM0|S8DCRu=g@8AFS@3{l;FlH-gj5aWnAC2|X#~&9jHCHj?reVD_u_Er! zKmT{X>mL1Y|L8vd`Omv2jz8x9@DKkmQDnFu&%avtY7M2||MYKv*ZswB|B+XcgCxv2 zz-*vD`I(<`zwisc;MDV84OdpZ%2e8Ebvgd^Z%Y=kn@}duuq{AEA;Hasp~G}xH$yr~ zWS4b83Y1$mC>gR0H$0x2?Vt`Et<4d=iuRaedzPo;OLdvnGtWOK_>#%bRNDFcBXLKasqs1jSLu|cXAFnLN15+Q zv@!jhbJWUvx94U*dF$ml+-rI>N8EW+N<+cb({OVuAy%bZC-?LUK)d~zu6oyD2HZ9& z+8Vg=ywYH>VZz@(^D{r=e(@K7QM`6((jF)H!V51rs>}0eps1$kLJ?G9_wC!~%BLgQFhe8dtH@p!Z+4qQdwF`&yHts${Z%@I2~6Qy- zn;kQL1a{K{b`)ri6R$+|WD63AIpcd%b>~7!uI9bv#c&TdgI%T$GR23gD(*h!xVOph zzGPZ#*NRymrmUs-{Dh*qE+C-wViEb5KtXO0}mGYu9Q=8tje zeH0n5j-$DjP4U)+kfbw1VI^SMgq21KH@{caotUz(qNG<<_gY3LtA>$}TDd{$KymHCN`b@)>5jqvsDP!JRFyxqT?#Rm|wGhp<}f!NZt?*HF|M zbS&oJ`&)t%J_j{I%{0jhYe6~C9=$^YxCf1C6N-Bkimj>)EH^Fn)Gc}5RCy34GcHKvMwv>Rk>muUYs9L zlL@N6VblD{T6h>{h7cvI7Wyz+IEMQLU!&B62seIKgI*?w}(M-J&&Zhp!D| z?|kh`$KCE8#~BJN?zK%S+y@T2o9?{BJ#yk%40mDTI9DeHYh}@GNN(rOIH0eu*@0=<(0)|VJmpoQd^;Q#7c#I}*Zr~?~H2DSjzJf_Bd|g@h zVIJ9zSKt%pLPl&qa$x}_A#j|ak1&axkCZ_ki)d#`r8(GHkRSNNOYqav+bzNm=4drJ zQ52()63GPlW4lFMa(K3=vM&=xIVp5;S;+eWMwlgn728f6Uuj^X4%}$eTWPL9O~#0a!L%UE0qY6~|>zo{mXEAr+GoEo`_)MUOolk{4^0#NtsylM@4jhA47~Xi_ z{`?41p?Kv~X&1uthwT!dhq4MPz4>8MD%*X2$8e;w|2AP&+7ZU2-Vf^u z9V0fwBs~h{eUwCdlxY!{sVDC7#k>Fh`^A1jHCjkI8muZ53lf%J`lVlz8$gLquNR%9 z{jdJ&uM*;}$_N|BPkiDN?v4YuZfi66o!|MLBrohhEMdV7_2P-guuBJmq5OE`-F4Sp zVsT)jC_Y12Zk~SnX?No54<^w77;f?{?|!E=Ru5z1rbHTnN*~Yoj~Bs^28bj$s15XR z^KY>jh0%dtaoWlKRAtco%ej$ndhGAG=WciK;6W(|2`w!#{5}ij?nf*9P@+F19(-(- zAW?TBf8i*~$H)`B_U!a6{*XCL*R_;~y5XFuyciReVz zZG6bd=n(!x(Xn3e(dUT>2SIf|di1F8DB~U%bv&#< zs_l&sNVL!Nv6JlT2&_&#RYkhVRW3Qn75mHRAxO1vFMKR`wW?exUy+g63l}c-gXwYE{rw~lJE9DFYEUE|Yp zf9}gROv)a}Hi^5a_ZnY3v~y*6+mpyIVN_ZU#Q8;t0qvG^lf;IJmhyX0-5Z<~%!oL_ zyUz2Ax1KKwKOnB1L?r(V^v?rbfQgfewXB@qblYvWc`>k;im`+HBqKjzWIa*f+l(Z4 z%2vz)b};L9sxcxk^~Al&-ZC}>&vJkN#CNbF9Ei{!=ZZmLXhJe?;Lbh%{8R4kyYF@d zMhfAU#4qnu#IOT9*)W_Vx>X>2^#5U!5B{wqLI?L^gP?Rsm3F>A`|Pu#F!04F9u24^ zTxstYe(ekHROPDs>iu7Lje=JXmM@guul&ldxF;TbD7l<$i2l|8@ZUojZissNu6Ml) zkxpvTII=j((&wStNCSokNeL6R^7IEnnkh1>04J!fV{QT-OnDtb4!%JhAyK9762h;^ z^CT2D9R+}sL)oGFfw#WhcP>~qoR_4Y*M<|A`P#p<$3NJwY|3QSU;eZw=nN|-4|_xt zy8Z4uo#L0qc1wI;;t(ud^tAddgvD%oRqV@N74}ZVvsb0P8}X%8D_pK^hw8gtv6OPw z?Yw&01cw2cboxBKCL<$Uk*d+_^@!Uw#jPtgZFWfCx4Mfeky;K0c;u#Yhi<$3cDL`w z{VwwgY>O0-Fv^NpE)uOplww#xL~#!jQ?qzba7s-99(leu%TUQNTF7|lIj-u7f|Ize zuV3{(aC8Vr(qBS^DTa)E`s79FkYBubK}PEs6oC8Ph$tu&FqUynzH>ziKLYJX+G20I zT4Z!$CxxClv_1TOeFJJe-jyJ#t&^X`2?}vY#?Od+l7o=i`fswRo7!ly;Ljmm;b?_>l+l;x+Hk^wlaWqmatFl5ZV%)=8 zSm#1gcqU6kE{tRpu$pZFqZ;W^6y6F{)aAu%L%R?k3S8lqj|cq8G+4gH<$3qEciiXp ztn9-cc-D4W&}5KG*5#Pkj+I1#3->YGcitZy&Ea#JVT-A_Q)w5wjFhLnFxBp~*O2$% zWJr7M`z~g$H++YLlk@kf{Of7^JS@ot=Spx(uPobl`FlN}gMzE)?-$0YC+>>NQ%^nR zd+fnW$On)1pt%pDc)StI72|gA70RLa`{p;lxn%}8^Yf`seM%bGxkdQW*?=u9xvQI3 z-Cz90U&u;%drJ$+d4Ktrf7zWmb4C`@nO|J+1QjHl#GH*a3AHL3Jcy$W-~H})C0!~Y z-1O#WjN$ja?|tso>J^zJspg{i;iw*JPv*V9`bU5CN8JZL@B!&ONK_MD5K1jQp@t}N zKZx1>jCY>izVL-Fh;p3Xwj=J`Hz6)PUJcd(Do|{`s30wngj4-V9zI)d0aaykn6yf7 zYN_HqrnEDuDmk~r64l`jOTts8$}M%8Y7oBPkEOT! z-I5`>ep`ZmPh|TKjlh;6@oqzNL!ZqO7zF~1JVKG>D-S;E72wd(kI6Crri!cncC~&a z5l;dsW_w%<%6$WE?<=poBF_SLMLO!(FXGwbqbve z=I@b5ACvZ#K@<2p)}KN<>)gR5ybkVn`wrY7bG8m+j(|+shn0`{APJR8wBg)hI?_>L zl%olop;$t>)&=(oQDb!Uz=xoe2T7tq3o)nPKd9=y6XVMTWI`GJJOn;#i7Pu=oknO! zQE#?OBOW=@=e5{38Qzoj7$NUI|B1(4=5Mjg-5dIGk4%jlA4~sQ1g4(2)7M5~wuvFY zEMjy^L{n5?9nxZKTHfq0o_^Uq^YRII&#iBiQYId*Fk3%eboI{Hu%mzZbh%}y+(OZ> zAry-?Vw#>3GWrMq;Q#zx$7mvGUXtYB|Dg{e(#MiJi`n!tEDF-j8SxBrwY&%3W+*P) z*rWdMe)M0vKl#%?bzl7A7co-cLtT-$vq76j!$#uHj)r|oQyX%r3MTQC?1h-|xGYk3HpYydFA)v!(n-o|=P$`M zT0}=i2)VdTy=wp2pZSb?<{J;n!)!k~9P$9b9`jIoNSt||8e;FSt}eJwyzj$;X&rdT z1Sa?>iPu~h%%BgS9g~0i#ov}3b8ZATog1L*dD@6HWdCt@R zLiN2+a2F6?P<6gU6uPTne24@ zq|2VnVd>B=wUl>nciUUOEbsf)F1Y*lmfUd!5N}=ywmgtRjgPLXHi@82QV$+?Z-L>W zLm0({y@tz6kc_Qey(r54sh3|B(*FF3=Y;qkIdVh@`Nci^-829BKf9Mtz3k4y=lud! zTNR5tS6oJ@#XV>XFW@;*+qeq#89sEzL1X&`fr9N_0i%&Jc{IG*5qQ0XLJY%8NxupS z+=stiy|OO(ef9NA?%cU^?%C&Fl`x9=gGZnapLTCJc2vUNo?d^&t?pleh;`MSUxQAZ zz3fh&J_n+IRz#;84jvL=q5!`==YTP)Sr*SE8A;_c0MA4E^JSe4b|yH|0MU!V2RI5s z;U$mJ@?r^UKIbY`{2k0WNYHY;We{lraWB9iJ*u1Y)U1)-A|4R?;rl;)`#$%Eqj>f$ zA;v!D9n^WSwBI`Ct-TP~?Y{4J@A}|n!N!WeIpWVvNB%k1&wrdNzc3AGSKhZZqIlzI@-KCfim^Pof)Tx_wWAh@5DlaxhY#V zZD=a6Krq6~-ETOyttWk;+R^5q-~avJ_Y*r4Yl2t5sRmPtkcl}#1ztdd^W`spSrp=0 zAnx?!Qy~$bA!Bi49}-9P82p!7GEDD*2Ob#cGH}G9j-g<+5{b8e!+SdC zFj0p+O<&8o6ko%=dVZL`lF& zH__pfFpstw0(~MdEZOe!bh~PIs@-gxIl9X>;{5rGLIh)Fn}nT;yI4blwS^$54Tbmj zdRXX)Atj%A<{9_IBge%algCIX{nk{08SDK!AiEk#i&hlc;BUY}Q2P-EmfMZ{Zt$M_ zQ?E)Jck_*hq{F~PqWC=8TRN14mQ>QNYP7WTDP=lV+~fVUO?ztCFx>Ki4 zxudt=<8HqBW_R-8N94Kp5C8BF5K53Rnr7luLbR`2ZdrA=-FifxjVGRaM#^*fBGh?? zJKnd~V<&bTudd6;aIhTdC^5?-a{%xXF^vHnu<57<7nCCR^>bjuVnqBPc9NDYi_aq- zUw{>d&pysEqw3!7c{!>3Na{(L>mY>(@p)1WNdw~3X52C;P z-v5r}=t0=)B<3gvCoY}bxa`)@4sAezDNz;47O^;mpYTLQq6)&!^HkBZroy~|C@^g3 zGKeyxlO9=ahC|ec0?RG2eUT>(P1&s)lhpEjd(a?W!BA%nl7%#+!6Tg}?pes{8nUum z+S0J9^(MLwRI$}UQ|{7L=JD)A@G5`#55D9!zw{+Jtwe|MEwVg7&%rCs@-ylTG2liU zlK3OTL@IAV@q>#YT)VF?BJud-^qLleWrfiixY1g~*ythnkPl(N@AbIw&N%?QKFfHQ zIL*jutXe5%s)RQg&mD`8D5g5XBb`)~XXEsFDUYs7m>k~$H|?CT?u&O8@uY1t1jdcP z7@FB}XL;N7RZ*>>yy=Z|p5z~T(A@>{Uc6=56)w%Yhv@T08_Ll!eHQTkSK_V> zi-14!YHL@-^78CcPrDZpAYtvwRks(>O%5ME?2a8fCi7s}{vTeQbMJe{o80ry zKQBaB+q3yF=6q=Xk`VXWrJ_3n^4>(G8m4jh&_Ul0;aTHj!iR;Pf|#TpcqM+Z+RndY z@~h7@wrA{Ia7F7)JlB}d+tGm`0X}x@s#tw^zETP89_DtjO~aCeZfRxN-Eh;5Ql2vA z2)+FB%Sh)1d|s3Anrzz^v5*tXQAAtEwu@mQr7^~Z$a5Z7gJKltBQ0PwoGW4b=N=V% zKKnBvo?0%lF3Im$n2Os1z45pPZR2QGwnF z(E~p6&pskbP4@7rd-uEF?OwioP8z8HpS?E$ldCG%g;!NqcUM=BnMaZkGC%?Z;sAKy zFi+wECq$eM$nXOWkHh^v@_6*WkKU{IcsYuC;0P!R0>S}3PRJxOi6Ed12?-FwUohVnV*qvDYy%Iezmd-{c>bIwrAsXwL#B)Vb@@*i-NLEr?=K@KdYu0yc z6uX{Ak|TA_Y0v4nTLjro+!ejncb2Pmh|cTm=`*cEiB&?b#OexR1A;FpTCjNWVzX(} zCb89`_5whM_N5g;n|$Z7N+0AzUsY{r^LWk}D0pG?Und%BV{}Epx1Fp9+oN`r69{HD zoj!M=IP5H&=bJZgo;mc;L(OYj-jKdZfeysq=Cw7+>ICaSL|)@|IuUG31fINjvCA$2 zAjJrH57&@0iA`6NbpoVRr2ecOm}Kl^KU<$x`r7C4$6U~GBgR$Q##xgSGAU{WSBd?_ zx^f(yyLg584Z7{F=V);JaWMuAr*%AjtG1)`rP2YIvGRTPv}bp3uJ43*-1%VMfB*d^ z(vn}7dT{1y5sl|ouQI32or76Acz#33*&e_nL7iIni>iEvziETc4D ztOJn`MM}8j_tB4j)N}%DCNiT=d$EUD0))^{G@>8=@P~m+SdKTChhhXZqbd32+;Uw> z^OK+aWYEC5Pa;*BCph)DH$b0WmiX*O4me+`hps`dh5SqIOH{kh*{xcK;O7G2TN|*H zMj!J$Ss)YsB(IxGwipC5I8ho0OSU;Kr&^!`d_h|`>f{US(4B|(7299$sve6+&0A0k z>T#D{9dEtA*gt$F+q+Dv1Lzra9<0lp{|?j@2kjZRq8s#+{!IlO9f=?*>zQP?MQ4 zv&FpHHBVMTlPM%+avL2)I-`7UsZdM1q!bi>M@KgXbeWv%DL~ojcrs^&(rp5|2##w6 zmwookIVLh=j(HQxCtck(rY8qg7dy$f_N4|~cy3e&BlRN=hdz<8TI+VQVC}iu5UrEe zE9|K1z9InN+QJD619J%=O>UcF5o&@_AZRY08aK0!SPq%Y{bela#Y!^m4}lf1B%5D<8-q$B2y zHkxHyx{M8m)kIi2S!zHgRwDUx8j%DK{jvmD7SGktwZn=rtOdDr({{5aI?1erutXP7 zcpj^2LSgGYT5h}EBWm|mU5Q9L$0lZP4LI#+Uk^F$>;rEMmFw*O4#oss`3(&udppt| zwn6&}@;>1mcXH$w`irF)BNAYCq^imos+_px7ZzTs!)#v5-8_F^ z07*naRNEK@OsqH{{`z;nl_1}Nl+AXk$kK52<5D`yV}Hi`Yvr2oUd%_8*(EqPbU(S+ zD9Mbg%i8|A3pwuW3*I+u1Mi!iy*moh%tq4J)ng`Z59}_KaN_nr2fNNGdZ_B0Z-X^az}VVjHz zPAtkIQcckU+W8oO2?8@c*k2uYq0dONxrmuMV|u{XR_%D(D}#uw-X}i7?mL1$K%j`b z(lfa_Am;;Zh2xgQZNbJ3z~N+liKz3{1Imv4j-XMtkIAC6PiPkzTq&yoj>;%9k!&+4 zJ+d-@36t>7$#*9L?`1HT{RV8NR(0I@9h34A*U?oCog@)qpW0e4<8Rz_4YB=1{E2X{ zhiVkZF_3PzG^~1(-O>Z& z=C~`;s;VRXN*<0|L(q$edESVBePgxhZh`JCf=Ohlt!|1qGXJ>pXw$j5-K^g6x^-Zk zqgvCGHk<#x(ahQZASRa!knNH7CWAFePb5|3$}6ulzq|DgJp7(&O~~PTamO2GdhH_9 z3^}Z?T=qFL2|Bs`fM@#{{SIgN_N#wvo`3K$(=fSJ5bC}}t@+4DK4M;adX+fD4KRp& zaGT)3GYE*wcU+o`f(-ufV~?7@t$J4ar90Uxj^Sh=7m}@xnL_bWnL#e4ia{u{!WQpH zo3C8>X_G`my`t~ZpKeC4$7?Zd2m-YsGIrzO!+KnQ&2@4-ubn0w;y~01wA*(m*pElO z?Hz#vO?FbkJow;)1usu0C?o9u4DM9+(?6Vayfx@pnr6A_t{%fl1I&2dGJ45H0cuen zjYH!&ZkiYbMReS$%8+t$@WRDFih6DPiR{z>5yOB?jrbS_9$9`RcO4xaR*_NF8FKOY zisSnABr!=~jDSOs@;OwXVh-7uVbI^AZY3ar#8UYj|KaZEeyA+OQqWo634MO$5RLQ! z*oTiB&Jiv}cYJp`(jz_BNRKP!wiwH@OF4fz`$)`72-Ot(7VCkaK#ys8@^9v#&4{6j zO*6CRE;Whyi^OSMJT+~0OlmM2HX&Fv(hFr2aJriT?BJDw?P_r=nl>39kYnh#N0=jm zC^UXcVS-Iz1!jgOx493QP%}^Dvu^(Qb$mO_xXJvRyK)LcV&8HqTvVT%1Qz1 zM?2bpvKw#?I;3f2nPq%e6!mDrK19_A5Q`M?GPvfLxs?rT(FsY)dNZ>TRLMBAyE@e{ z=eYl{&vA3yi#3)rXa>6wJ>*71MI?iU zi+no%PR{Y_yRGA{8)x;DMttYOWfkYSpLpVl;h#@x&9R1K}ua4>wsMaENgyIPPoFs z8+P24s-mY8UOt?6D#a+eJftcW^(kZb_$9blHD){c|aTDuI|V23a?8SMGZfls7uaehiX2@?u|{ zGp^Z8Tbi21j&Tg(c+l2no#%#C(hX*0rCcT0M@nrM0ONNPmdj>pO8xoG#qsmAvf z+2$$%oM*03f)>Mi4$)$Fb(0AK>5FdC!g?rwJBo6I;^NLX07PBvta}frDq=&iYT<04 z_My^>=wvI8pXKWWL<4hY&b0dWO|G9~py0@PG0w72>VdY12n70#{Qa3g;JIR2;(~Rt z+pFO3gZI7DYbQmVbPy4@@}6UFj`+09UVGZF0zJ zNy9*SEAkC%0FCT7YmTX}sh8lOxbrx35sN%zVSHYE{S~uz<11oNBgG)+B9}|}(9Zch zXvHChFFM}3Vxaz3kckfu7=M5AFHeXeB)^)Q?mv0PG)Y(yO@i7&#HH6JOk%L91lqXg zQ-eXn)l);tgh_m`)!{7nu48>@3wR#B0A?GryH0e-q36bou;01)dLZ=nn0mKF+=r!Y9ZdY{Xq_|Q!;{|iwF^HZOW@o% zIAzdguD~pL$6+P3V%J@^fK$qC0Q$w%ZSU@ZN;$D3>7{ZfJR>>BSRPZX@9I)easeMY z2Glq~Cm8u4>X7v~5oZu&#LNIaV;(fXXU>>nwr_hAw$3{4kwhyLu7ElBW9bzek@g&3 zOdu$Zuky`F&gP1qllf!jW1&_uK#`hMaOjvm)-bIWlH@4!f=z z(zXh{1r9eSL0ol^am;b>8Ki2jiEXoQy|fHFv9J?~nkHnsZe~0I_ebV${)Wo6K;(UD zq8W*)nlLsYCV@&V%)Cn8e;p_~P^F0?$zCP~K0Zd0R){%ZvETIX*lHT5<62@hz+N|d zhpQ}e5L#7i;40y!l}QciMTIm;w1k%+?Oc%wQDaz~@5t*l(aDjXZeK^*OX&7Ja+fgj zJ|P`{^oO|xM zKujxporwC16+Vls(Qc+^^L(ADT zP*eGtRKgj}rjsAhJ|T#}_NV`uq6yz(l*g6Rkd@y*i43Ta-Bp*}`VA--Gh3HKMLEV@AKIz9dua z;?OD(pmsyw2a!{2Sq3R8Hby4_2b^|@w!?DA2Q!(fGcCtB1r>e}@WD|dWi?V9TNj9m z(^xviAb=32-i1+jw%M1b)jG@hK~u5ZdCNgpfJOpzF%IdA^_PTpUIsdC3)>lYeZ;_D zevi;9*<5IqA!8(LbNzbi3IN9+4W3mrUgRZFKCeq0-Z;Ncr&BUsHa9le*a7$$T81F{ zPRWHyr9|z=Iqsvqe~KNihF7I4@@}6oi`(IW@@){%Yn0p zMJ*ufmKrf7_QU`Q$ zRl-b{WAn9NGo5a%&6ryr`-5qjI$2@}d{l$SsSdkx=Nlla^^SMEBZwW)LE?Y^-*1_d zPd<5@4>to0y>l!lmSQ!AEe5{%jtO`pp3_7NoI%)|SPZIB5)*?&KGUX{V-Jj(t*g7u zP5>#1rpCbWtpOz?2WiB<5Zz7f29b85eYlmm8k|HNRt;9f*x)O__!9xPFUU*{Ga(4B zL%DV0AH@!eVEc|g&5t6ioxb2Bi}I1IK8~xzCt7w7agM$t2AdQxmT8%RhY1jyP}W6$0OgE zONO{%7dXdVZ{$S_776cp?dEkdQ*OfYB!A<~pOlnIGxo1Yuj~1iEn8;Db${D|2a6-F z_0y9OjcLSk93``U@Pi+i1&1#e=Q7s`*(p4fJYFXyJcj$z2r{!OR}Or~ota?$jepar zq~pqDO*DuJECsUN@hPnmyve}CVw-Om=%_Mb$Byn!XE3c14-BPqFo&a~ga?!1&d)w0 zH7E@VjRYIHl-3!?59Kna&*$UBMT4O3x#u49t6%*}CNnD6Nc2Zm9^il%+o&Kw2~B@v z-%}@9H${0YS*sR*z-?R=-*C8LDqx{4NcL+D;@aA7AAU{rf8Hyt9uvSs;+bK9`_cG>qdT z$6Wqa0|#7IKLBzGKi}hytFFBu@1QYpV;%CT*j4I&3YQb~lN)G!2R-~u>2J~xuAsg3 zxf`qg-doC@Fpj$>&KZD**aw8-!ABkxNIDjYi6N+kss}!qm4~hniNAUWSwyfuQD80+ z5)tjg!z|02IQFS^Ys^72t>a!GMzEyoD27k>1n2&L{@XWA4OBZ`L&iJkREZO*n`qdA zf1Q9wdeZSHn7@NTw*!)bL~Gcdr`N8QtfAzH^R;y8Qki6Y>s#LvL*qN{;RH%N-}BEu zZ)L=wSVBj?xvf=>Kj`g;nGby613-Q2hak@6h;xF@b1|)UJZdoGU*B*`&<|?7MM1zb#C?!uWPngF z9Cu0QjL*z|7jYAga4=^JGRjI&6^$$CC;d2{&S(u(hN#C&t$vor<9s6~^(HFet_}Nj z&Ds~G-rP^y)edKV?tc4WA_1Nuj3;Hx_`Veso<2;7sIP40ChLq(%hC4hibNcM4LPs+ zJ?~d;NpQ@EGpxovMN?xuyI=-2dX~r0n zLTpWa6R0TQNK*kOhgS+HZx-6*xsIJ?3RW+hfSk8rHIXV-I%ot=w({C#K(ZX|0U*Dm zvB09qchn)bjxIUwbiN%Y-eY@*%d;r7wbw*&8Av~XF_im7mBL8J9sB6oAIB`o8IAAz zVT1ayGB*Ij$5##tE;Q==oQ3_Ol1v|rR4t4f_Llm_Vm4q^(RrPS?6M-@x7l47X}8dM zK)ne>0B{~o3{XLF?#cNkaN;=c{yiqg!7rfuT8ji#EtA?zTVuU>3#;ujIEk7v$uwh~ zz9EaC)1BK*6o5-hbF0|!l%o_yBQ_{F);P)Z3e^@_$)Q5iim|#an}+I`T>&2LrWwA& zD7xG~_}9&MmqSF)e~I8r|?Vx^wTrM^6~X-S0ym zk=C1-4>4!bVHyN)eyYo?`pwOPh-NTz*Nsu)#!|;ez3FUMjTLDsG&JG*C^8X;Y$6q3 z{<_}s;g3A<5P7HL?QfcCmCm?Tm9f7TTKQrYEXhGZ|FnWwGu{P9Ob%H(^9{;#- zomE~^TUC!>EVi4J6bXQG`oX1KV74#3F`)?W8^yI*Cd;P;C;K^y*$wN|(9kH3d)NTq za?34NB?#R@eq`X#yXEH${NDvc1QI!{=?RiQdEX%h8 zT~oMsgO~p5o5)h<^r!2I1kg!EM$ZEm z9f%+t(Gr1!ZkO0ONy9fv(4%_4lY^R z5<@mWIE~725iQZcP%%t+*`OLrCRZasK&J-FxqZ+gZbD!c#YV)Sk|yVj1)bGC@cty= ziN_LAr(q{z?ar*L3hI~!!BOOJ^O#Ua==nuQ-P>AFhavmYkbB66l$!?y(DQS^OoJ1j zL`Fdx+DYJ?${-R#N5bV0)gDNK+vqrpnz{CF`$3y@Vh%7tZEtU2|jxz#YBy;Zy zLXQE4{T<%cKexs__3)#J!2r6Bft&rqwlm|aOtPp~>;?(nFzfx!rEz}WgynbP%(?-p z5BLA0k3K5e|ADdh+Nj+cs2dePPAE58b=*hv#EU=f=~Y9u$P)?11VRl=k{tdp-}f&7MjnN?N#kSpEfgTo)_gW}JAxJI3mrkaIQ zTTKgwz&a#aB5f#2DN7vFvvZprFXPRKCx9xB(~FNG7?>LJv2-(XfwY^Wu&6?*z@ z+*2fqF_l{>4@4e|q3UCOSYc)x5P>GwD22?j{5#{?spEi*x$IDV$t_?n9)R>K+@ZrF^5foSUA%o%%)}U6}td?D&G7lJc$30wMBAw)>bF+?&<>>NZ zCF05V=K5w?3S=;49jFw&2+ZWeAPFM)a1*T%gB1};NjmPM*}@Nn7!mgXg$FMx#c&4C z^NIrpV@?hvsXR>J6c}#j%t@drWB@<@@sCS;e5wo;SMI<6{-EmQ)-ynr?Q8Gq47lFp zRxUaG5ZnGxLj@tmKb}J z>~q@nI_Zjt1__4|cdn{1b$1g8Tz2y1&g@3kjFTe`-$QiV`5kFKR>8p@&&}@>9})Av z4}#M4d<6y;W_PS^#d{#%eK_2`sog!?cwWl!#cO8wDCapTrOeTmH`?P%spCZ0hc=Tc zUgS`VoS?IpJ*i&Fq^jAGSyxeosi8FCpu(2+Q`qh+RYn|lI%TT*5_n=ZP?0a+2FQ2b z{h+_`I}HLAuDA=5=l5cJTu`Yx&-%SO+O$Cyxwk6?ismyTs-o`x3PL{azB>L|KYt>i z_0!*Ssz^iU+oAtj7yVlha5PuzlJ9=d%&xpX92YniN}u-u+yRiHE55Ide%j+8v#b$tiwLo%6xuDrRz4{4*x_sf7Njxp|#cf zb?wV9njR>lfPzNb20l2PQNW66{PDM!UNBFuSt}26U7zCu;tAx#%V5nIIL~z4eFtp) z)=g&JmJMcU%j|-bgyE{JI_HWg^ot{G`GJ-rICSXd-*keBvj62Te=%`nJbmi^ht2bU zdcrhf@*bxn2N~+;%%4ABjK=w&_-Cm`5VVM5FTeb9ar$*zvSf)l^UO01(@qm{ z7NptTacTH|5*P_Crfz&FsP~=)n%=X0hbR?9g~9Z0a+j>9FTg!?dB>#4Srv< zYPI>7&wtT;^rIg&9S&p;>IKK0ZBvARXbsCd;@v07{^6}AZ5{Woed%)Zhd=zmT=dyb z<<*QAtjP^hGN`y$FPg*hS=WpI<@09tl7)d{gUGHSxbxbd{S*j`JIcjkl6%ha3sSwZ z@$Yrdt`_u)8{-VPedMC^fvTZD$hpUN4dBdhazh5Cyf_(xu@9CsLk;BbvOJCzA=aNr zJ2$2v=N3gjOU>LwO%D&akGLi*zZ<&#I;e8MN@1x)CVtdUawyXfl)@DhtWFg0ASpju z-SYQ9r3b;W=;un-u~KDKs+^Jb*X}%jcYPb;ftt<6x${js^xNmhA@K@ZQP%@wz7xrM zm`OC*53X_?h&yz{@!mqM^AKRMixY+kyBIcdwFP0edhQ;?Y$0xB^(2=*u#FCR=31b& zE4CMDZmbqK;(!2ZDS#lWs^rPTF4ba^K*ygN@-(pgje6*@808&F0b+a<#sM6k1@bNS zOJc@2rm_xlM)w-D*A^kSc1qjH@p2G|kQxSdOu!H~POG>>1brHI;N|>+=5rEb+Zj0Z z;?NVJ$M^yx-v(8(+0!PQ=6FoT!JWwt%vC@GMU$f}o3gyfGFuaYfoI$T4+$qAj5Dt6Uv-|K-1hq%A^;)^cmWvDC?Z*C%{4P3fpupk_F8iocWU|^7D ze^ZU4ir|6toFpQu%%r;XSnIg^@`__|xrL5{2VYQmyS6Bw|NYz1;cGz?Z~&W{d%qJ0Awwwt}5ugq|QQk z0OsE^5J9F=c#DVtNToh9;lRqIxO-Z0v@#Gg;o+ORws8NEpLQOgxzwX__90D69;k>jCQS99}x^dYmBq!lqzwDky$pOPoXK z^xP=|;5*iV9dV$5W=++&Da~V{$}9YPP--&2v#2&s#s!C@^E|;d4z(w^*Fvib`R*~_ zsrNr?3>3#st}fOh^R2>3I zq^@p!A<}Ng&+@WjmwMjnetUNhjJxAb)LI@COpWQl4v>^5PLI8z1$Cs(Hg*|;ID$J& zqse21_YH@X@BPjZ3k*}D-fZpe0GbL;IgkWJT*vCNN&pd-DKES1GDG>sS)ldMY2NVC zdQ$^*CIhMnk%A1DAkj=xSbqNVpPN5D^spG1K&=J)`0Zt1(3xaXDlx8@v5O-PLq*3m zTVEqO@ZpV){v`1K9>Ju6{TTJKfpT9CJ`CE_fo6cbZk#Iy4(3fa-GpqQKQ^EH+~>@N zpEyq()F3b@&rJX3n{PHp9C3tDaJVtJ^5@szAkIC}d`YYYipzgq^F#B{nx|zlGc-5e zAfCfIs5F-~e-`!~NHUdxjfVJBVn=(lg2;tw}z6+i_={Y8D@MF!bf^L`|=s z6($1}2lpwru;Z>pG)8OX`u*~npW60#%c#qjFE@uBF(_5(pEqF0xG}U45_IT0-!@ja zdbQj!?173o$ORnpLRB9r^=AybVqA;vb?Pr2v*wyNBX62{SdJqVvZtp5;|(4@=(Gd8 zg&jsxp$6E;x=E%5%45uw3gSt@x(D$@Kw!lrae0{zrJ%gH3P5lGQ62yQAOJ~3K~&m_ z_U7P-QwN^si2$`__EoxjF%Eb#Ie_hAh%3i8aRaU6YKsEZ1R#>yY`)hxB(pW6C0o%1XyzD<38Buo>ZUNHfNHV zamvvqiH@TWQAbe%R7J;&a&JO^vZ8I1wg+4ow<2rVP`hl!MV-s7QFZ^lsRzd0ai`JX zEVmodP0Fv+2h=)mR_~ijaXvcQ?>V;C(AXKY&i4I_^wwK%N#N>&1q-lLHny%i+dxN* zNtc+A=&?KR6JtjsA`i1e7ibjeIEoUCOAjsRXh^QmH&*-{@C}{AMtTsP?=)8QG~1ou zb~?F9P>+b7=i?<3!Ddn?zKELt{?=be{WXZTE>UN$zy5l2(LbLrswp!X2dO*x9)#BK`uX!^;L38DXY3qwFmqjC~jHCsJ|2;taT3?ouwzAe9}bf z9nwrLHg#G%Q}SRjh$I1RTy;Z)+l8k(Ku{fLfNC%PM({oj{`(VapE0wSE&wt*Mh$Ys z3R*1=U(TF!&N*iFJr5&kC@3x9>I3pODe~LUh);j^GqSMImFzJ!P=XntN)997fpkl- zjPMTa_FMi(iGFS+GS&s$`pi{Wyy?xtuxv$bt zE2ziCl8K{EFhd=z_g^7oX7Kx=u!`QLjV%bYCUA!~a8fq7ylzj#cIVsl`B8Nm?f>w; zp>7`Ao4;Cm**!2;4sj*Rtz=ncchEQ=kaP}iHvo%N>lBmP+$qs7{fUjH3&?v7^H0FW zHN@M5wpo{m8!p(zu<9D44tmHDR9kLE7l`UQdJIu@YXq&qgX+it6=L{eHdN}e!$w3< zZqzx1))B?704R2n`EtDn(eBF9Tyr5Pa%5?6kLhsdKINhu!X@;QU?2 zVT?7J?8yIJClu<`522^zp~9$hJ_L>S`YHgKLgP8>r7N)hiU7|iRM;dP@p_YJgk9YV z4R?;k1OUnVXWu&6#{ux&8J|V_OjWV^WlPMKW&mvD=EKWiJemwCCES1E=VS01!*R#; zlD@^Y)d_=b+fX5b!IVnFpK#oD*GuS+>Mmp71LNknYt!gd(wI>CPPk@$T|-(;M4H^S z{btU#nJYEoT_}KfFq~u4?K0tP0J6Ms6bI?Ht z3B4uVZ)G5L7S0MX0=}!KThRFkf;d^%fGPvq9ae841w|2eNtH}$2og}ReVuUJsW=nf zSf42va41bF8tQ=N6-8osy`clnJMTR6!4H1W-1Ot0m^<#c!yEu~{E92CFfXopUiweD z*rnc@G*)akQTX%EKfk1<$8fv#T;KfWH%;S=DS?w~sU^zkwD$x1lq)Qp!13Iq@7#6Q zT}X~H6xnBebkn6&L2WQ`qDl-mqWV$9RB%9$fM`;-{ILI0J7JjpRQH%Dk*Zec?rg_` zLl4S(w2o)t_XWlK%X=@^+ zm14{l*+}JGOTwn1sJ^1;>dyID)iorZQ!t$CXH(7Qh* zh$**51R;_a9!C_p7&bR^jgk|H?ZwyDnTIxan9Y!b;_t~ipcI%z*8&-Nb<+m3V$wX> zFX5;S&6rv9wXI?Bks_Megzxw&cT?w_4?Z2gv%m6LbIB!_n5GU(-Dk#E@)OUy^kU)O zQw`^17hhn`Irm%}!4Cx(PGHEn{`99mZJv4N87U_huQiL0Txrfe?_=_N3aT<3I3xf^ zmP9S*y#o$BH$f86e>0;Av-XLF%-<8V!~KT=e7< z&zYxQdfwn_nAe_NBjrd?Es&WYs8XZ+-Fqf-) zp;6PrIAOWzrd!Ny|Mnj;ILsZ0Ba2(>SprItCWux}3#qYSj^x#GaS?gJ%+ z3JI_8++u1Q>&#BbWwKvZKlQX}u0=*#AYqhlOvf>KK|dXR^wH8!l(}Tz5v`X&8rNgn zrZ+^5hlorqG6&Y<=Uz~T`s$+K#@qW$+o$(OY8PnRb_{Mm*}?-spudjT4&KA6UZeYx zv&woZN50s7SS7?1>!I>~FXpfoQ+c)RgHZYz_v}51u5weA7IhPK zK%E3Dbg}8Ct_FJCy*9?mv|v9Frz1PwFqw`Tvy&74Y^`aD zA>kcYj-5J5{eVrV7R5@R^gkVT;k8TjzD3*VL__6^=x_w;G<4Pnz;WlQERkYO@+a@) zNV5L0ed4?#(NG+(hWZBUT=RSU1JfPnfwdL=c(j_aWKd(F4OS;!oocl~nix(UP*J}E zy-{O~^vbI78k_^Ub%ATLW#z7!gCCW+E7KF!rRVzJ}xKW0OGJ#Gu~*6(CH=T3Y8|(E>EkoaMxC zOIWPE$wBVn=Y6>6jP2<}5Nsc=nXcGaiY_KqToe`wAn9cpcPoqq?b#1xwe}_Tz_>Z? zT01@@bg15Z^Gz3+XOROn29!P|XOPKo6m3>MvhE}MySx8@0}e3HKKrcMywy7Hly#y3 zqD}nMpZ;VHJM*J~aVV*W%G}APx6t8cUBbu%4eViu9VS7k2QFVG!A^88iDXPhLLpLK zYLQWsXt^T2U2xRt(6%CVGYxU?KvEFk01)dPtmqmPeg=A`9#%QDwnK zgS+;{7lb0i08XOw>7HJf1lzqFy;W&3;GK_XK{zhb@mugisDP#-Gl>?$}(^ra_GTA#aXiKAW;*# zWALT zgIrWQ5vy+19w@a3Msk0aTK2xSUw{ZRkdZ;24D57BJ8h|IhHrz+E^US=o560?=jud( zMl*UwQckwmJ@8>vS?r99&{Wi29B6`4w1a{UQ%cYR9$Ab7eAgEb72w4IH>zu{h`8Er zX@jD_UglM$o2dQK`swkCX0wfaaSYN`W#x%0pP$Dn)keo9-Z$#7`)IqK*UC)VSD2b( zCpOmptKPZ40^;w_$&U0t#ummRaJ5pXl*T4H>V@OZt-qmG#sT^iyiV;nX21RRGfl{| zGSU_K@N>uWrjSTdzITX<_JL0+Vts}S2H)47xoUe$?}2f1+^NmZEeXT;{Ki*JN4D1t zfQgX7_hP^tQhC6F{e>H@hBV6r3VZaPhTp@monHP3iP!bvvf*ELH`8C253lkuM7fnr%pGmbqyv72bBFo&c7M~ z<%ZJ?fUYMSxo|X!Q6M(!pI<8(I2*8P(F;`<_TA#y^UU8KdCb(*)tXyxz12MR=wp_{ zh^%q7U1^g5Mw3epm~Ak4eL#8WWFG?Ol{6aa%PXZvS1t}(afrG0lT)Vw-M88U`$!K2 zPS?=TC}}-^s{@6R07+*<6XIc_=I@iSau-dRgQIO`<`nSS;i%KT^u~I`neOSdiGO0# zJA**Zuwy5Gi$aW(4Cc99z6LU^<$H46CGIIB4(I?J_ADG{#%oEYYoO)g3_6NPO%!$; z-0pe?$Vvi2&`2E}Mr;V3W9(16qKLgHSaEE{>ZLl>IIqit32P0!QsVw8L*Tt8dDW^gUh2U7IpQ!lS*}YIiL!b+Ql@MFX{Kq(Vv}iVGo6S5NVuir-g>)oUG7GtolZNh zo=i5B>#ybbcHZ4&<(^{b{(0`((G^%ddQa$qadX_YbLhk|(2!hqeh$Z?%$+;e8Yt(0 zD4#C8>=ry2FoExS*SpM`U%f704Wjf`%J9DX?lT|$@Q1}zj>V?Si!?F}<}6fCHE=|^ zfB3^6nw9_fE_2K=$CwYC^C4N{ zMuJ&InFy){ZRdog3rmUYXY%3y_{Tq*>#qN?b(9$Zg+68`Ptl5RY7wq?^USFdWJ~9m zh&Xwkblmf8{Qb^5?=)Zg+Skle4?miBpKGtZR=&UXwwq+a(gj0Dxk+w3o*8C2IEd_- z@YHQF>cFxde62k4oo4ak#S&N~6r(zufsmiS{q1j?TmS1e=^N2_hrwd!UN8SMIun`%>(Ri`AjSDvon^ zr#P=%!DMFDOgwFN?AT#8wQn@c{vAcE6%pNL&@a?^6ZD%7CJ|)!9`L!ZBEF6F?+(azPn6#*R&d?a0Mrz)IS1m7amGARi0=2z>YRvxo&oK?tCW)+XGiWnB&*WMwXPE@uiEZGuV+R#MGh6lJ28n7wo z<*F)691q;2Sc92b-{j~bp|obhTxmgHVBl`Q{w8zdjW?RuTb-7o(E`~=7+fODG!XGD zJyK-dM7F&F@Tgz-<6~y?Q_q_pU-5mjbm>yli41sj9%j{T)iid}sr5P0Eg9#>&=*hk8Q zag?zS$62QzlpBn*tS`q_ey>5NDorflkpL${LZK3hw*PsYOnmTJX*fQ0iRH<-4M2*y%qgwQwk};X-w^am&7UcD zbxKE{l{iMG?e-n*W+(XVvt}RiE}7YDqr$*SIzy3wE! zX}|0GTjY>QaM)OG50)1hq`KnmE6r7qSA1pF+Q2BWy(Gtwhn+=`B~@rLh=^o8<2zFp zwFftw1_;c38w-F@L(vs6Zq7ceIOa(6o$q`ns4g9I_EQ^>AsdL4lX}o#^ZOG|JW=Eo zw`_hx5P2%$eC9Ksk=|x~sDbWpFTM2AE?vR>1`Rmkw4ix>_St7!1BjrUAN=44__S;I zBpvZ^rd4vusch4Ti4Bo;m2VU?NQ>+S5=F6W?pC{TCE%$C9#|fbX(y4}hj{-2_ zb4;*1Ew2Ni*2woe8{QJA&3YbC^0myytgkp#O&8R-84*P)-~(2iHuf{l^Lv0 zw3_a8_bxYsXm1m7p&$uGS)Bj)^P6uG8OIjaz;>vR)WFE^fA}(U`o$kJ^)MzsI38&H z_y5!U$AA2XsI`b}6*%ugpP|D@ng$RFZp;eGdUOI&AljV)6f8!7%W#e=r#cRl)`ISMK>=R(lIy^r?SyRIS9PU*03Uxjl|ZV3>S<%b?3pLs5S)4?>*Nym9UaPB!q5OVCV zeY;D?7x;pKvRnaS7F}-SpR)aNHvtuGd2(a1>cUMXrKJ9#ovP7Z>ba`>ReNA}_dqdq zo#E;u&)Nt%y2VyBO790-0WD7yKd^B$5!@YrlgxwyEj9^`yG7V7H6{b(U7TXF z;b}X7wA0~iK}-(6=jvlR1*$2z)vzISz{y3Y%@=#)5=7;2!4!43Xthh$_600FA+IQlgJq_`%3$brjcQq_oYmB3qL3VQnRa%#YF zkHW_GVuiD1@+=cMVwq_LFp_GWA3{;=^#3vw!7BLGJEHG=HT_xJ;s-y1j&oilF z0}Z#Vm^if;t%Y7+PFxgq(cjpQmtXj)A^P|1Q%)F`9{ILio(m${n_hWMXh0DdenHqm zE1Mitjy?9+lCOXGB%Ew<1>@37FSQwR(YJ!EyA`5B538>;U(N$v-M88U6R8JEwVUHr z=b(NCCJ^d$>WVKNQQ92_I7;kH(vA(OT#q>9>8z!;7>FV8_r9caM%{BygkFFN=eS2a zgEQ1|w<y(;a4yeqd)lr(MqL$`xfEZ0alUShl&tc{q~Y7IjNvoFz4~31bn}WY%-FJAn7gy9;IF zgJ5Am@78f9VL7Bx_1N8&P&JW$%tVCx;87QJ zDbK%XIz!fA5S=O4VMflaUmad&pld_4_3+GE)j)EH)b}53HRPP#zx?vc=Hic^XDKUK zf}`=f=D%(dgK*XV`nGxS!3WLp?><$6JLes^Sd4IOJ(Kth>VOB1D89S>_S;3uios1Z zx{Ts~W7B4fNVp&()!t<`J$}#QX~3r@P8v|EZolQ5kM(#w7DCHl-o;W8%gw1Ek4PU7QhjTui;zfdPkpyCNI>P0vT9 zo|GA`deAZF1nKa@4-eF7Y8~x~6S{lvz1Lj+`TrpSW?ZEaBnnH%{G09Mai6;6Qkm4S zeLP>%4Fr0>5uh7x88p#l+wd{eNz;X zAH^m~U543;MQ@B05gkR9%Q|$VOVELCw+^&8>rg--e>Jo}iXqL#9M+(mBG;#^&M0GN ztsmPlTwRN`ql{Ay*_G`VI}S&ZTe1EOpQn^-RZ88$?F--Uv}fX+QvC@|9%E{_we&*; z4L0_KmtT|TG@9P&sC3pYZ8MEdRi@ca)H9%6(q3afmPd}ey?1r|vj{GawMev`0AySs zDD6LgBMpZ(I?>o-Ip&DRu}Uw!;-u4I-@JLVNcz6|>Z_&;c6!Q`DQ4lqg~Iu!Z4-ys zIn2E&t6I~w(@HXLdSkPc(F!DgHj)zYMLW-YBLpD``mo+prcD(GIKiAFZUxonp3CYn zzmGbddD4GKjd2cp7U=g7XWotfq?YS7krncItBgI-`bGhkVog(}T(OM+*wPzbknt%B zRXQ05Z~^I{*OTjyI;0(7*M*rB+xg~-r6R?=@Zh6l|14G(1Q~~Hv}_TZyhZPWuwS6} zDHY#XUXNP|$zeR=*3Zo74sqwZjjt`h$O=XfPF_(3w7s361MlzVa1uq|Z6;<1+J4 zxs`>m8^!kMM1*L#wpYKS!z%^~FB;|ymMFxW)t3MOAOJ~3K~&}4aSZ81OQu%0r0P#< z#E_zVs;`ju&SXwD+aH2uouMH|-1e!h84V)a#K{2FcdmHwDKU&R(#n5i&@2twnP;A9 z4m|dV!1Q=*N=Th$De_-HW+$j^IP5*oY3h+AP8!52ovkeRgXmnE|Gpd z`Q(#jVCOZKjoBEhTeSzOJus#{5R5C~vpA}Qu7Ii&7J&z+F-AN@Ragj3h+`RRb?7rl zHl%>)*ySh`O5)DBU{nHAS_g61;V6r|By0yK^rVK;meAg-&DXk!j4zycb!K@Cf1{J0 zXl@dF&)?{H)20e44xmEz&sYE`=^Sz%L;J@(A}oW)(C#yMls3$oBpXAfpo?(t9q^+R z8CmW29Cro0l-o|nT^w8&f5s$q*7gs*0AahUC2){$$BhFzDV&X`nWWX%0 z7bhVz;k0uFoGF{Qjl`}C=N}2Rl-gq{J#Kt({zm{XjcnK$(|f&I_@3Vb6994FvpP{{ z`>eG@sXNX+x!bKsp45rVq%?TsSo7iCp6RiMql^Go?Gb;bt`ml0hK2@>hENC)hz7NCpb-?T0BBMSagV#`QtB&n0_Jn%rR`W^mB2BQ_pxywKS(v& zFgnM5w1~U*^F&47M|%GhLfi{IU!@}LL4OsQ=#3}h?zhppl!doq_NLfKE_5#h@b6QJ&kqUF>|O#s;xAL#2de_hcHy;T=d>efL~)yG7o!HbD;^ zci(~JN~B0FI>encK5lKzZ4x9;ijE{%Vm4?Z(cqZVesC<}#Gj}+U!-MUZ`-z)y z+a2d!_1o2<&v&2jxJ-PCjAx3t*R@Qy$UW-LRq5>dr!4S=tf?|-sI`>S0j%Ki@1EMp z(*A8r_Y;SG{_-QFE}00jrm{|sTMPn`{oAdm6j}kw0C|x~5LQg2A1eeDju-M?MchYs z0Y^Iigc0`$R1?eDCOqO^PGfe*zB-epu^^Jc2abljZPFC8W9JT$A8d{{!x(l6YFZ0< zMwyY9SUD}<-`#h9!vl@}rU-{0Y#F|(Wa-fbV+M$TThY+-C6L;?H{B}^Bv%S@Si7XN z&hj}B@Hjg4blf$Is+`9;?%{fu*zDc5n;3a-c})9_17NeZCrYw*aUN2Dm4Ztt7Zm64Rq{G7`rhCJ^~ zf@FhFE%imIGTHzRLGix$KIc#~=^gEY0x(3>>A2H&se^1C@Ikc~e$RdA=u)3txb_ZV zXE{XAw{6=YRG197?E(-uxk9yrH56`eF=gTaJNk}t#QB|mmfzfXQUk}`9~<>J=Ht*! z>g!e-iL4iM+VkBIiny~6#a^Ny1&sU^kf7d)TEpz?`+@c-*}_M0m+3W@SOVwZ>$yi! zZ1vD;50u>lRmZ)|E~BxNht)abj3FiJ+=F0G(G17d(c59_V3X^S`7=rONEzqQ0U?Z( z7cye}UX6za1&IQH8%V;=yBhsMNK*!KWkgWuluIyCJO*t6wg6?;*;!!{XhXEYI=UQt z_$wzcg`9$kX56H2+(cU^y5WhHwne%4fyZ6OwdAg<+aG}*G|v%nTz+a+03VXRBj(1% z<_LK1x`kI*Mmn=Ev%1yY3-my_9PEkMk$a2NJ`viHtg(pgs_E9bJ*>xSp|^B^Rs#E5 z-`#^%G}z7=2na2KN2_fja^10`)9l#3Rmvf%O^U~K$Q;ss(D9eChnzc7aGcmeKPVyt zurZOwgoz`LD%R5M?6Vzx1bs(bQy=!B#s zIage%F4T?jQKn}aj4F~AgRxyBeeQMTYP^v5k=DC<-1ziB)o~x6elL1fHTK1fzHj{a znNGI`)A|l`xE!4zgunNXWhILmSDlr3vy+K1unyP3()K|Qx#+d1#126}motm2#EGkA z4BG<}{a&rq<=a=j{{6dC;*amXnho3S4DL!-~@oqELFaQ<^t!J0j{K)P*sL?RJ1xk-W|0w zm{7PCRX+e#DLCTrx|IZfJn$-SygTYrsdJR# z%eGFt9L*DvMYeA)H{QEwCYDOCR}ieipw8P z-yCwe>bP5UnbZXhjwm9$cjeASA|8C9s9Y71;i9~|>6D2*~X0HR!jfO;*H z!ToX20PCP%F7Y!!jrqBSlo~kjnnQAvku(|MkUrx zWD+pOl|xzEE`( zcD*geqW{P2=BpOG*Yv>N_AE}s_VC$O8b`BJ8fydfgmtY&##2?}Qs>jgy4aOb&1kBK zb1qjS-w_q3!ixlSGD#Z{ck4*oTa$T5M4}gz7MU2(nTMlHdI;Y&u#{!-J4M9R5hewP z4z5TVB1WqV$qI#X;yCf*oI1r9o{tF*74c_XeL%r-?Ul1{R{)eJ&*4GZ>kxK5zv4{3 zW6tvoL9=B=Vo+^I5qy@nt-akm`skykVN#1(xpJkU(wT72r?*(-9l^u=JKLXhb#Y}E z2^tSS_&mR?o&d?uSHHpiM~T$!H5RAZkloP(RmXjVy&S{~vs@{O9>_&j+UGI=*Oizq-6DrM?Cs{CLb_}oO%DOD@^H^5tmIHT=a ztmq9;SDupwIQMn2xMT$FL*~{P;NymxdQ*#>6jA3~=fKsT)YK;VGdRIeRV(dlb*#A( zFyuLLhEXR7%qt?YkdAi4x)K>@9b zu|cZX@1-`YQstC-zUqF}9@txYU?M*|6S;09x&9NqJ*=NNxf=BD99!kK`)&3eJw@6B znOZootUOLB`{hC3as%FFASS}rRl?qm8UY%?HO;lO}U|DCJQ<6yGyN1M|L#_MS36157 z+p=8}D)+b6-|rjc@ayUZbCOWr@$?UVP$)&ZX?9jE+h48L@=Cq`M7d_bu5>UM*QW|; zpO#x@spqclSM7n}dZ6mK?;-ccNCvJ_ju{PFP)hlGNcWCeHOIS;bVXyND?j0m*&Dg; z`7ZvRtRges_gtkPrb@OaT-IpI4yYZ1<_@kvvJb?u1{&TE6&7H?_9X$OM0(wmi98^p zO5!-+bl{cV!n)BJt^p^#6Pc{vc;gK-w`-1xL(!|XX_Co-o>Ip|NkFY@l;bX9GnU@b zi)^CWzGxJB>*T8Av^7B9sU~AL%d2O?rvdQCYcm5Tj({8Ln+tM{Jz{7>6sY+Cc=;Je zLFvQ$0Fp-aQ3oE!aaDm1KWR6tKV>O7$WpjjhCUP(|J=(TjUu8CA!9@4KdDwP>^hS6L^k?p*DGy`%>!@!a@j zRH8g_NXq2!=8I98NSCPW_7tdmrOGL_Z+t$ss;}sGbXu9|(_Sx2y--JA13P_3mJV>o zj_qdi=FMi^x^;q(H`F!@(wxn9+o0D0OO;_eB@?Qny=cH_U0qzLD?xH4AnX=FPYXS! z+Xbik4zJ~QBP*$=TBDr%e(1Ba-aJ+~^3aB-1I_yJ9LzesaN$B(Jy42|I`8U4`{(le zMp114J6(~`_8f)`s7D`tG~||TUJmS~)Qthc!Ir-W# z-2FnQu@CAmSvb{!BM#Cv(e@~~4-1irrUt|9Iw`a_A zPd;asLZ5spxZT_*0bO~ey0DxaDke%aF2FPwOPUDwgI1zl3CQ$|)1B^1*&t57n2?Dy zdlyV9TyA`yWEuGcj{81z zv8zq3_CU1<_Rby{OXqZV_gJOcQmJxA(|$U#s*$dauXR)%;_fnus$(n8ArW-P_vU9h zqkQeZ|NiEXWy{Uq|NeLL%;SGGYuBzdoh=>m8y$E5JVK4}%HcjlrWJAT@3UE1`+zKq zgYJ}Th%}3Xjr#HUe*KLOveRnkzFnCfp{DHU?lkRCc!A7~aPR4~zvCV6FjFASC~a^{ zI==I+sJ(LK{d)R+#D4cFMEsk_&YwTuw7LwjDN=mggh2WDI{7L0y0MPR&8J|cPp=8; z>L^WPNslSF-qrp0y&kAK?)%;~ueNv}?tw}n?-M1%-$+$+KdpZ;&h2ow>_l)-%YCE*H7SQO59#kRE^48ElRhb-oYC}qu{H~Bg-CIXh;g0C zfR~+xLoN3Z^%Ut?yF?%Z_)e-zel}5ZheXT$MJ_cQ?|SUt2zt!IC5uf%EMcb4nr*he zvdIQd!Vw249semb4hI)Vc^}GB$Das1L|jZZnHJ}iL9L{nXfWph`11Td1q5DXAj!yQ z!YJY618v4C0e??JeTEKuch;5@sgIcb_S?_Qn!lf!GiQ!aWA;B_p*&nf!@0UZ=U*lV zq~>sfz;ol>4^Z8;FYV+7qV!PBsWp9w1&H8t^K2xf!g&Uo8cZsJT0(_~lZ<-SlhT=P z;v?B*J%oSAGv_8nGFfu>NX8-RJ(##~eSz0aRwiKR*c(ywFE!|6oOF4Uk=^aUSCRMp zPhAO*`tXmdrcf{TP`lrmxL78Z`k}<*!n=*M-c`qagdJWztl9(B9@w*cKpcZIIN^#K zPNY`viB9`i_uoY7lQ0b=TsL(tWghA1Bue#A8i@o!(s2jPg|rqb&Kz*S0fKOEj$1AE zTpCU^_KVfTZ5CAojm0>!^q>4 znY7fQ8BVjD57ZT+>xs4&(Vm|%V}|TkS7#Ca-rjEO_&Ys%nKZZ;zt=kGJ)!+W4mryg zIuR!joY>&=Bp~e!d~L@{hGdh4Q!mf4Q?~K@Y`EvuN7Dsq2bW*8^1W0{ay>BdkaK(e zIM(-Xwft%i6zhSi<6f+Xs=tqE4+I(P#`G-XS2zcr;kJ>^xJTQf-L0QL+WL;w@q)~G z&U;wSuh@A<>Le=COYX32Be)U7NhwyrBEOHc{-Zo?aJZhoQpopswf>qyCM*q18img()JYwB=_|*h5Bii&zm%^*z)l-p^xN(J-1@Le!G1_#!jgr8Ocw8U zrNK_51WhosrC%$i9yYilNwv>96atS6?S$REdNGc~%W~t5##n*Nm)nk$Nd_pdM2M^7j*Q+deq$TnXTJ zIzbRs8gS70F3vH7VR=rj5QNZnA06lMio|QcE!)IQubdbt*Pg#|ML;L8VTs8hj=j5c zeVUuU643ARSE*f4)1cRej{0~#>tp%Q?Tu|3%l?`uWmg^diE<_O@p|m-$ooEic_(D^ z#X)d2lT3=-!*YB|!XOqk;)qSG$OHI+%go8CNSx@iZ`y={93 z(A|`2>v2>RWMHK;nxh&DIpc7gtrN>NF;YbU_~J!}Is*DiJ+rLxZ(#HgaW~OM|f*+!BIk^c?{TKMfmnend=y5*=55)P%Q>~7Lf zgOOi|M57H^>diwTCxY|GP}fMkP3~03?5J?uYvZT`^y&xT;ZmA0ixmZ>#Pp%w3?d~z zKBFoyYzOt>T}E(q+*wEKOp+plbE51t&XcNZFm+RBh$;?+A0rVyxhMk@AUOt_^XLuf zE1!eT8Jf~Ex=Vm$kY<~*hWKidnGX$C`T%RX~A_zq9>_erH_6hUg>?IW`+y1G6 z5A6O(*Dl9r?Yio??vPyWmiW|gk<94aoWfGKCYg>+5@HbK-FBJaDUoA>#X1jw0)b_nU!I#Uyv^EsS@y00Sd6WwXo2d#@4I6*6UYsNIw z4z#*H)dhsR&m=N%W+C^IsiOl*1ldwQ)QMMTUEh_)5^=$yk=hz$RwaFe4zUdw6;&7@ z=u}%70P;?>SzKBMiQ@Y#Uoq=sGYcqRS@7@WvvAJg`~$kq@us3OjXl~r$VAE+%!(Hs z_gEa6Tj9iWg@FEd8oKTh$t4;EZD&kM z3=<%o2=EwLnUDtNjRa*w6d3j zdhM0E*41*VJuuciu*W;@icFN+QQ?_=smE3K+dVy?gK>?M04sLZ@ZeppQ>BU`LzY|J zprr#|u{!L_ziWSM;M~647h~1-avan>4S5e#e9G*+a{8pqqQ_)+$@&QemmQQcgl(I; zZJX&ughd31JKGWi2Rt$WUO7}-a?mT!fy&`;>Ub+C<8L)wy5g_U{ zg03^5HHYk|Hc3&S*)B-CojTER<$nDjbMxM@XI1GHi(-qz?i^}y+{J0PNH~4~iVaO1 zOcpf2RnKFCQ>|9KlGkv9{omCdr>z!tG(sczuf&**O(}aj}8?oXAoJjdnhth>Unh{=R5A3T_^U?I-p4umtJ020#ot$kty8ief_70w>+9Kb!`3Su1=eX%Y z1956IM5Gy{C(k4#6cwRXPJO<9Q|gKh21O97L)HU(=$vick5n0(p%oMzyi?9p)nk+n z<8#}UFYik!hMo2yp11EbJ3c$P?d&rh8ziGElTLXPfqeIqQs6}H60{gi0ww*Y)HshH zKbm{8dTg}^c4rUNT=JDK{mg{)|~Z zdx1pfb2i+Z954^xd5>9q$TCw4;~_I=6rqvi;kGm))*LK6(+d=W5$!|>I4iHkw4JkQ zz9Sgltoz$4^ZZj!n>zeG6SI51^TqnHKKgon-Fox%6HiH9r%#?L(d?`j_Y1OVxpqn0 zimU|F2sOqVk$SpM4AK4f-)~-d7%9^5FO>4xckF9^=DvQv(D>7kzVy;d=DFvd z69cWw$;x3YW}w;4IqVp`f9{!Q%^?RKWO_QgMEwDRX>w2U+~l_=P!@y8YJs%L=9YHl_HhHt5Dj5`*MMdB z-ku)Qgrq0Ubxk+~$x-k(uPe(LptM^COYTi^pmE^Trom%PLPG&TX*qn~4;^T#JP@su z=Yh{3&KJk^<7d8a`TIuG)!At#H@BEx$SL!h>#Grx&Y;Pf2JH9psx_vkz0=HS0}oYH z9e{L6Cl9bQ5Q@;pq!HFa1pPm>EX7S_#u4&tM#hkf605gI$e~i%!QJs5zf| zj)ghY0a=^m?;0dcisD6um>9I@`Cf~6`5woxPPRhKeSqhdFRT)%h03ZNKL_t&@#>vM+fB1v!bIkF_2|AL-q=`De z;f>BYk)f?yx0>Jn_P3ISkJuO1Fx7{y}UlxiT4B#vit6Y2-^Jp6puU3ZxmUwl!TF>BT=sk?Gj^%%d6 z*Is+Aa98QrpY#56Od1?i3Epxk#_K4f#^qpF4iPPXQ>06|rYf=47@uUGd;K}NM>x?* z#4Uo?(a|A?v#)tf*CsotPlBc!`>4IWUDO$7w=E8&*a}_D=bwMx-0|CAo3qY3%N%v) zsd;yM_0?C+4}bVWv+U4AWU^WAaL4+S`^MfJV zx^?U18F|NhPBQO(?|X+l(;GK#G;`<9E%%n5ko%9uX`g5f@=@i{)@@Ji7k!R%n7Hfn zX`kJ$07=%qVH*RgpvXenP3baf55s(Q?!#wZ#tawanuGT)9P!$?WH!wKD4^auHRUbG zd(iQa>*OKs{urZ9xdxpM{$?|w`uqC(gaM{qRuOQ%u>N}3{^c9DwH%J9_>#!|J+9EIFI%|t{z|QfzkB9gmv71^{Zb=yN*5gy=KK}#|7r) zx4-_4Ad2;!Y17c%XBvjIepknQAOe{xI0gMsu;K;`Qr>-?RvMmXpM5rngdeU$IdR~_ z&SS(Oa|TkmaDggHkqKN(DU7MKnGDCU`^_C@3Mx6PrqLX;bcJa}$~{s8bI{Yxw^3V{ z^~ksr_5<0;x7~X6kHkoGUj{8{20q_`AI^ZKoxZIib2I180eZYlkX3F(lH~XT6VFG0 zPV3eQ^p;LE9lSH)bn!F$k7>A5TQPZwBBl5CPP1kG-vdXsGudMn0Bwmvy+E9Eq9i<@ zn}qqiO&Rd8kI0na+HfCE+)h9JbhB#JD)Yh%FPI zBKVSs1)rr{IK%vV{Xmy|H@SZ>nC;+$4>s>vINvmJxgKg4`L=uRxySGogA&Gxr=N;` z8oHNW?$s}>75*r%t*nrM`&!D@=kBY41hOJhVy-h~9{Ba|0B zwJ!)PNq{Z(rw#8T|DN1->bCQ<>!-nf8%ndSa@s3@|5r<_d=E@W$Nj+vA2fV%Bl@Nr zoq3JUrvuG>iXq5c0;J=2=&8q=!wx%4xNiQysJuKP?)?6wlTI48mp5$KV3>{WeeZjp zICH}pr+fv`nd7F8do8Foq9_3UT_VmspgU|s;1WM8moHyAbkzC#ai^U!EMmbr(uqCu z%rnJ-^Bs4V>!Z&3&f`1oth;FV7TM@{a<3ClJkeZy@x@k!08V6cbF(;jPe1*%dGGt* zZ?3rF3TZE$OrpS?VDK6%3M)tnEa^AD`AtGe!VB$l$O(V@-uJ#IPCt)hJAIV~y~eFE zED>XnEa>7X`n&Xc@UQl%+RIEFXCA!Ui{MpZb zCT-G{3?1ay*YAG!yQS^icn%``Ts>kLI;g4R&ij++yXc~eWTl5H4V+|b*|J6M1D4CW zYDPjq&9Fc3LG}~dO(%8Ev>DQm+(DWipX=bvw%>N!ZRVVF&IyXq6*gW|{;n%B zci;W{V4vm7mlr#2-rucbG`gkF5uMmOsFF_mXzNnx<45bf@5z0mPPdL1ymvL@sL+}*kSe^d!^Ord#zK6q2n(50Wc7IhkKp2O6``fw4x4u07|*lPS#87 z6aJ0&ik6|zuiihyPM~#Vz^$13;}JiH0j6-7{yinfs_dl$Mo6U9iHJqwD}7g2%d7Ul z?(cyK=eW~o{N^{m5$-FUcJk|lgPY8nCm(pk^aCyE0w25){5L*`S|fWGT!?-1um z3GV|umGjDs_ z+pGbk9bhIoI4n^|=TIpx34cNTh(_v0XY9^9?-XZiI(YPS2phn27HwWYnwmu8kw+d0 z&~e}3`?m)XcWx)1ar&@#&CWO`3AoB{1GPYdp?u?B%(&)y)8Y{R^{;<5TX*g-iI!$L zM3ITG9lY~5m~f!UN51n2+2{ZJ>es|kOf)r`>#n;_+C@h!i|cdQC6@#aBppgpS&lyX zXtQ+bQn?NfKm4$H=9yyuBJdwzeHl=bB= ze_5^>DO+#6@rF6$wA0O0@ZCwNp|d@6=1jwW-~@&o^z+X-3vn{I@s~C!Kbx=}slhNoSp5uDa?fv+nVyP2*V~ zGToSy_zr-^5RihzjFY^!oFtub_Sqw{qBYJr5zZ}_-d!_B%>gf?He>0SR+0BIF2oq_ zs;g$b7_nmHj5jw*l-4HD@Mv2Wx8u3S`D0kst6@N8oy{)FAXK&6evoFks)J6v)i1Bb zxFn7~IqyW?$+>5cEP3HvW#l`+qred-l1&91_bv##JRA0bXBlcU;uNuBoe=fzyGB554N!{{HvBH@^T!msANl#e9(Y8@b94A;6WWeGYP5bQp--{`%Ly zmY2VM^?!d|kV|g2-g>JzMh`vokT{ie*cs>|2F4)<+>iDD;kDOD{rrti*eR!+BEQEY zF-u`cG|7G&5r|8NolfZChaWDEh|e7iqZW#|E9zJ(l)$=bME=mF*8EUJKk6pP5MFd1 z^YPUEHj?wqP50w!2hZ8n(;cA4oFK997A{2aDhxaw<7v~T3CEdEEx+f+Yr$iA?K*MI zI4P50EU&NGhGUOCR#0c6`E;HYNn*b?qMv!qfBDN_3Yvf5fd`rkFT8LU#Ts3lRY%Px z?67^s>qIA<*M!b99rG6G3bXucuDM2>andvBh|ifbN80m^Z+t`ANC$nziWM@^<9+<- zqmRlvzh|2jO=mmU7d^c_g1oCkEY3F2Xx3%%;>APmC$^K5BA$=;hpt|*o}84h-ugnw zZ-7wCN`_=}-1YJ2c{qt;c|_ZbIg`6O?n6ENV!U&nhp{ERwp{Jvea1fLJ;2vXYhDl< z+mfSJO54NF0o%$xX}(JwrJG!`t!lfi!pqR$Rh=Bj>XdWXRegr%l+95C`BBC%=P2v3 zeq52RM1|3CJ%;a!+_OAg71RCw=T_U`k3CukefO`m)~6V1ugJT$MUpUaLLjn`E&x>~ zKyKy1*>_DWwWr)a)p}NYfITpw9QUi?w7(AL&EKdlbKl*6Fn_x9UekgB`UD_xTT|Ue zNCB9La{^5o0@Xf9ftWdOu4!(fL(^-1anGHCNFMW^Q%!$8R5b7)Cy-?>fyi`q?he7S zIv?=HjveBd>O|nhXI4oyR88iQ$Nub8IwEi=4iGg9I!Y{ujzb-I_cT~9u3jSscx(F( zaqdWoQA2dt@!2r=frL_5b&BOO?^_5{6q0t}}3j21a$jsW#9Jx=9NL7`pgGySX{wRX)>++P3ix z(~JF10EI``(?Esk&_3|H2gI@FDhmJp#V>v#D+CU$=gv0^X3REgaj$H7eWN(&YoQ`T zn$y32@k?@Fh;z=B9`xGbxc+CK^*(XLH@*70Ibgr}OydXi8xFQRpH4uL039cIBu15SW(6Z!);S z0}#$9CLMlIm|oBO?z-FDf8Tx5X9q7^9>g#-;Cg@OJKr%IaBUbPFm-<$1WJ`0zPS00 zuij_Bxb45>dh!?sj_SlH=BV`#|K|7RA*`@vTI1$jCm)ZMr+(BKocSsB=J5BPVqRVU ziuu!@A2kOYv~;K>oV)(KK6l-FkJ%pWGynAA_w9nog{b-Y9+4s6QE7>jaGieWbhbP< zv*>AL2YKe)33iubIwbg-b{1rug9rjPWc#e*O_&d2k;q}2b1wYD4S-) zq0fRcyNsbZWJ;C(7u1~&Eogsk$`USC9G+gOs zmJiRFuyxkM$~a14u|SOS*u%~~Gq^@;?5g{ad)H~$^LZTte)A1XL_&oROxZ5S(`6g!^tQFN3F59CLm#mZBMt%j;#2^N z86F~$zT-}VECwxv@W>*-UXony2Odfc987_q@9Ox^h*c8$>;zR#jKMcf+~&-M8<)`<}CZecur*{*& zAPWy_*J*F2@vU!tOWTVR1Y3z1KQ^e7E568Tk-=s^vW>cy7AI&tzVh{dbi=rR4lzRD zg%@5Z&~GRM%rtndwb!5g$)Bhu{p_>P*6Wz}_U+q+lh7}G;S19Y^?yOzPu8CxKa7yb z&1F2ujImu9T!ja<=zP(p?xE(Au8iQTUu^Bl7FVY`IqMEiDt+^t+8Lr#FN6L$bvbvsN@ zt1EF1NJq?go(edI-wl|?aPzZW6KBi|mDkE1g7tWPc&+)P56>^uAFVuDl+VUXE0=rE zmAl@3x{+SP0>{e&vku$|HvaJ+|53I){jA=gH{SS3-E?Tj>a}a+BR5>H9!Qp)u@+uo znuHP<-h>3@%0d!+Dl355KL)BTTeixcojc?+fB9MXhsA)z**eB3g1}bJ;8lz34x7oF z-(xZtJk-BC*pA+gF4YD97_u7r&VK&~KA_-&gDcBG?-r~B^@<$$Iw8$S!uM@6Wi<3w zLVvRn*uo&`eS#}2qjU!u?|cEw@^}W)giE9o>`8WL)U7Ch?x~ zb&!tr&E&Gd}wiB z13}&;7hSA+ZI+3WjV;?>lt22||ErRul;21hGP}mS6L_C_+InTNS#I+#LtApy;FrJr zrS_qAtc*~Sk?3es&}+vdx8I{5slDe!fIiOIuA|-9AlBC-o7SJMa+x1J^q{jJm~h&! z4cbfE?kD#>sQD7Ocd$dEUSIv|FHXCU`C#VpAed&J-v*5L|2k2{y;#ZN;z77r2MPjc0R=Ksy-!q< zX1;TcJ&Yy<@f)f@2K55G(cT7QN-LDEM8ylrT~XQmb)m$t9Gg~@M>z@BcuoY0jbM(Y z7Y@r)%C12z=uez|D=WiT{7!du%H)DRnQVn0^?{@MjLG7Dm_UE$%Bb#vf|oS1*E~4M z44-8NTEh*kg(N1%l#`)w&;SDRP96zi2%bCD&#qIvixFQ?wc z+j9E8i%QzQT06`-a3^r2?tAz49rCe{eN2`wS~{)X)JgNjgJ6KZwBJJzNDT;qac~e! zQ1ANuQ_h{<<=0;Am}S3Pzm$e`3aIzmJp!7xF1W?>thEg~JeM*LzH^Y}XM#k68y*B+ zUCph!(T}ewOoT6UC^;efXsmUq#y4P`@;pf+n)j-}u(|-O2(U z0t8zeRH;j6`6)+X;0?0M1WCO1z>!1hjfdc!+Vp$}>-obU{!l%gvar+l>tjX}uG{ z1}~cgaZ_~s2pKj`9EK-S+K(^T{Pt)ih~*u^gv%ay%-`x@X5p`RJ?olZu#Gz`)uScGwhGNhAUfL=o9MIhpy@rh`Ti~u7a@a zDtGZ9kMHJXh)h4rG8&0YoD7V0qgFo7lv66jJthpz&bswcHif*q+B(z~=C8NC;Ovgy zm^b%3urD2bVV9=Kb9ldHI|yW&bhVBzN};&2z||RkA8rmWbx-kkW9LeZ6Xm2;>YTX- zLQ9pm@q2X^2-`XLIS1(ta5HuGZQcib=>!`0p!3S*kOntThn~S~?-tKB*`;~$QYM|Q z&GCE+y~fxWV%Io=$?4QHm?YS~mGIrl80y)L!4JoS@H@LEU;QKC?r$^(p3-M8b?F|w z+x@7|d3}aYXQwO=mR(n>{pMC`=G+Q|TfyW6A=JD__j+|r+PG?tTcBD%JjbgQ6>rvo zJK0T25U#)edfj|C4()Jwn4fU_?ml?-=mOxn7~qSMBTb@0i3?vH@LqE9WtYmfC!duc zeD`KquynD!=}q)-l2y%f9OzrR1j4{x>Lo@8P!4z)%(ehP&?VsznAG3A?mCUUHV$CJ z^Vm5Ea>$TovB{N8^<-*7dH_Bq!K~8e2mUrTkoNy1c#PGOuquxEx ze;?iTiX7a#&us?v+N>0q?Jh7~_h7QX$wjieQ}y_*h&VeA8I^f0Iqlp{>bh}0SZ0=S z<&qV0n4Tc?nPbbdPL`GLV1HLHI{?O%58Zy}9nznIj|oHw<--e9xopGAz>ybs>3Og0 z+zm~=i`;tOJ@?8W{Q7eeOB*uJL1Xswui!A#{55PC}d5m?qb{=EIRJ;$3 z!(}EH#nGl3U6mWTk);Mcdh{n6DfmptQ@9y4TB`TeVEx(OSHU9>?}29M=eb&x8p1>j zx^y1O^!d$iBZw0F*uy_oFu(cQYh(x$6dq*v*zP}j_z`T-PRQDgr>oZ|_B%#qWW>~8 z!#DiH4?L*lTQbt*0>-pA>;2Pq1ThKVU1%FNt-kv5UKvK)n3k34vmbLDp|5@JJ4s^# zmhUL!HHO_*AM_Cm=M0b^eC18LtS<{JkQKeQosinm}lIMj0eH@X1IYh5JT@VS*(!poe1n$KxCt027qVFSpb-;!f z`v+G$DN%F`yZbwXYxqjzBn8tGbW!>a8ob+1u zCqL7mdZyE_p;_y8>8t~H-c%fv=uLz(>vSMviPw^wQ2Ah{&YXZi!9|R5=XYdp$+(f3 zryIiyF1SEf{B=X>qyGHc|j)@P!Az5}?>g7Xg@yf*!AT~))zK89XzVsz6XPgD<#O5vL&$Kzo zqGX1Bg6_f;M0?=Az>)YceJk+fZn15*Nk951J@*W&-e)F57nP;HLHa&6le?ewv=qw6&6l7nBR(V z7n$~mxIHL`pWUW;t$y9`f9+l-ZjV-pd>KM^+*orrNyr6F z3ITP*ej^_O>wJuR$k_9KB=EPrSbXOV9*({CIi8l~#VLW7DTt!vwDVK@h1tTM*fz#9 zm{iENXXy5k&vhS|(9+^L>hZ>VBQyIR?|ZJ1pR>SBgX)=1f3CD+@x~i zfjMNl^Yi$gWx36Z$Wyzw$uRIe{jKvA2cAXEO~!c`gQf>dw3o?W2tK(%k@67pZO-x# zq!C1?ASoblC&S5uwzG(%pZ?^hl!#Ga33isYO?xo-m9KqO&o@Rr1H)YLu4|xK_S^$Z7yZfHU|v0?wAJr=-o5GNR& z^PPmq{F8t4^Iy^|{_}tSfZByC6g(&~X&!|q8+awkw!^ayq%vvfxc}jcUsiB9+&`d9 zumSgY`-Klxe&$1t^_}z}MiBV|w4vv{zqw zmHglv-wi0a#&R-A`Y&R?b|rPS&AcTyV`5vgd{EGKReiNe@_PQ%*`4nU;q! zZ9`tF{`mLrlxN2d0o)^<3*M-!T^iCI<)mF5h{zrEK_B)9`z7+G5@{XXFZR7@-Ss=Z zj3QP&u+z()h({?9S#F);_vAEyK1c0Sulkp3r}%j`lxYkQ{AfZ?YT5b4I97$}@oKES z6D%?AvEgGm86*2S?lGI}>jWAp*ghrgt6W71R{rd>f>%#ixpCFGk))S%`Z`yC=Xlma zRUiFLFr2}?nPGHk|4MT&3ReWMl9krq+^Wqa_TE_j4xF3x#zm%{J}&b9am>6DaKSU# zp3mA=oWOfIW!QFh|3L(bRfy?KJBcmFv^&tAgiYr%XrJp0dp!VgJ<=$4-_3OT)!y?n zaowB%?qS7Dv&S3VHN>O>cCx`d{_qd~&@F-ai+COZKL-Z_E!Xj)CRoPz5H3oU2D;EIG&!P+kF7jbw!h1nB{Wx?+N40uE|!Iartr zMF%1ZZ;mrvF3Us4eIZ=J zXfS#heDRB4)Q1H38gOHxJ{Y_^$IrtRU?IQX)KXg{*szQQU}rKdf2h|Wutlc1v?!qb znPq1A_`7))VOi;Rv)BrW4dx7rMK3CBL$;ggJO}n26naOYPMX1z_~4^Qm&sNK@(j2e z%TGPOt~Nkc;y}0a%TKVZky&_ zE=<0(Rqesep9I*=V4&%C&LXEOaL49OPEgohoJhLW1s9c+_m=reXFIbFwDDxdtzd9N zG0VXTqB8DCknPO2?d$84Yp=al?Q@|2sGHa#zw015BXH+oAjJ9r?XC90Gn@6d=efPJ zEi`@uK)UX!@a$vOYjnd^0&Bl&2F_^0HAetwJpgAt(kNxinaZOc>DD8SQuUAjUTK~- zR+x^xiL21ur0Sn@mcEfhbl7NKXlydibHZ^bWZ)y#U0pyDFni{ltHi1kw|BDY0OsEP zZpg0diZXvwK<@Uk=m(##vFzb9EF8n_-qL&3v+Ns^hJY!OZVgZyVIfz5lm= zM|Q!t^h;Y`kner#J95=^zbPyO(`IB;i`Z%dF96g)E5H2O`&zvs|pa}yM~dorYl5MebRgFryXGzbKL{G$hS!)rU3Se9u5T50+u zf8gd@wGF#FyBt8qDg?nF`#^Y5k4^vR9ne-%4$}qA^?mpKc$y8{Q6N4*wsB?U@E|Dk zA^FK2_sOAwV`>lc+ipxP`vChG-vX_0^#QS=h*Cz*sld=1O46FD>rRyq=lXo!P-g)1b~#-H)}vvmUS+0TAfSG<}r zAt7j|K9(BxR%l{3!b8td^BBtfF*#R;TlKHLc6=5i?{-f~dg;8b0<^$qJ(h~38TTZ; zVpx<#Ua5U_3K%HQ8%$jDZd!NxwpP1&FEeKQ5F}M}*2@#mu+*Wni#a)n zlF2Ap;_f+ZGwwOVi|Tjhv&J2a9L}F7uq>gT;k*=YrVc$jb<|K`dhMo zDb9J|ZdE043&9&f{F6^UDGLCico1xol>{_XKr#sb-2@c;P6s*zJTV51ppcT6QD6`P z#`(}(a}fEvL!Z?N0RagIp*EyRAV-i%U)+EDH(yk@l&^o|8*~$Ak|5A~03eX!HO}Kk zVLd&iAvwP$uBP@7EcGztfNM+(uQNtc*-+Gxb)htZ@9f;BlQfS7^qbGad}q`Bq2>R# zfBUzQcLM@7PDThGLpOxQx*&lp57v(XeYiKl4%(2w4m%XI{kUP6W!MMCmW(;|%`9&M zOQZ@2EmBXO3~6JwHS0z_KJ&B5p1mgk?rgPzNl+(FVB0@B?EJBNnbEqQh58%osZ1}V zGU`qcQX!_L4>#{$IR$xddcwK9cE zv{w=c(b?VA*xpUfWswfwbSUynMJN<+sS-*3aozTKC0Z}Wb$_#V7}Qt&=y;3Wj^mR@v!_~)L1 ze2e%U2ks%Wt{|L_0X)0z79P{PPXYHh&upI~9!$UQ#zozH8s4t~ zXt%M!?rBTQ-otvE_m~FLUaF^6_Is_sxYp|nl{QLu7RTkvELq>PXAQVd+db|FmPC6} zF2DLJ>B1(pETYQkE_$$TWSDu}cGFiB6nx@iA5maBgb?urB&z}3fiS=rVqbg;>@nFr z)!aI781{;rFDK10P5o3sHGN@|jhn=*A8G>`13S86<9fO1y3M-D?q9$A9gPZ^rf+w= z=p7>o&j99Eo;qxsD}+1a`Tb}9&rQ=9?0EUi@AV=$?;tS!){pK`$-&j{xK`fqwzsM8 zY7SPEs<4jjV4#(;1~Bf15PbsPO4grqme6l@7J!qh4{8h8hlA_{y>6f}=%K`1OzOK* zj_`+$!IfZ%fSTv?Vc|Bdx{`9`Kp!st?-X>AlVFasT}f;pJVRQ)f4l5>^4D_exf^BY z%e$p7+bVBZeY$GX|M-9Wi436q2n_GK_a5Dg@P?}{)x0=CVm-;mvW*7G5D}cBxXh{p z#@x4KH}cBJZ&3QuKO*nF<~n_-a8qfz7tun|PsZEaCZ>D8^*wp~@yBKH+Edko(GdM7 zzz+0-&U(#jPReu7J%<$lC$l+(y$wx})7XR4m?S=IOsCGgzVi=X*YZKo6UjETJv{r} ziNHt9hwZ@ken?E(83_x@lg@?n6g;=UOAc3zl=(&-hA~moO|8^`!mbv8%F?D67wXCr zEwGQ?KX^8yk-M-$L_gAO8SPU@lM=F*5xKY%`z;I@G%uYmhq3a~1w}pUV^SpU=io7a z3_-EjmL9nCJ6?PDopn_)b0lXs0+nTK8H(XRX)A?Gyd&?NBQH zTA!<>(x1|}dH$&N`cml^`(5+Svp>g;m)vPWNtko{2so?%`a4GO>_SxMNytC5khb~N zBO@q`gy0ygV-i-dOcrPpew$3$yG_RJZzXd4OjNzc5ReCqdkEf*akuf$fIG)sR}asO zW6Y=iJp}n?8?6JSEc$Y6yTj*{!*X0KY{kUUUdbNlkd6gCIz9|!1|a*JfE(QrH;F)c zY8&X_S-%rS(_TxzI$qb-3c72({&>~%M9gQ_fO{ch5wH<>bszwZdfJG2*k>>n>V(M{ zQ;SXDp#za;01SvL=<~7>=4C8KmcFZk!`MER(c~FHj9Cq5`D8t~QIKrw)?YuTn%?zm zT~tlm#AobBy*h>Yf=@!0LWvCZ(Z)pR0O|)nmQ(A3fs9dFO~%0T5OmYqjv}L*}8SByn(LzP`-Bf#aAf` z+KK7gega*d#ouJH$v{tVwuECL81WGd*5Sc)cn&8j`{8wkz~30^H(z_D4(urabhZg6 zcVxTSW}I+c^`3WX{RW1IG{3+3>Q^)ZD$iy8Pu+C7W8Mv?!G8KTH_Q6I#y*<@(z=CRjX7qrM6&NEQH#--iI!{tg+Yd;o-f!T@&^4*=z5Bwn^RS2WnWaqZ+DrKWb9PS|)z$DQ& z&GGv9rqLEoX1G~AuqEqF(9Sd%T#4%1cCL)s~%~@Z}l+EnMmLAt4G@PNTbwPH&ee`-{shB`+n5>mLDr@LpU|= zJjcMhO^`#-Zqgbnt3I3jIA*||Qpr&2VgQ`LJ=Ch_7Ew*0HnJ>kCz4 zrqZp8(T-yxa}Kyag5`GJ_?IDq=0E+@KgsrAJ|pjY-}~gWcV41qdHe6YTb@N2_dQ!* zk}v<&P4ZuF{FwC4>y=~JWJzGkO@q`-F}|SNXt|Z@*mg>1yv#AkqwJ1z)8OWBAOwOg`->(^wAe4*}Ax4#`Srj4QUu(& z!Vm&?0%_KJ&FOA)Vf?TStOV5jy!Lfx%2O|HmB0UApOdb^30d^I_43PCUXuUwzdozl z?2$pI&1QfMGQdCl+P}zmxLFeq5|uo`Z#j?O{rE@J&8H7I2<)Y;mp5o71Ur*SqlCO^IXK77|E7hZUwyt@At`P}C| zC!O&B&yA@UUU``;!Kws-pDs!JiJm-ghC&E&(eiZ;#&w;OtjC47l1vqaE4qfp7cmdk{1V?3`eQ zMctwLe9wRDn{_f1N@bXLSU>l9I%mpjZoT(*T?K2wMDmiWuhb2jqCD@m_qQibLiWLBYl1IOHhk8YN)0LZ*>9*RR;ym==QCA3(ym7u zH8x}M%i+gSyS}%t`gQmArp-AaHQlz6N4l9F6J;BlG_aofV|S~?_ACnt9kWARYi_`u z!?Lm--n9ta#4u2Y;@nq zAN>(;x555BGJ$%2`Ahf92S4~hXybvj z+RRkC^|9RXO{LQ3+KiTto?6I;5}=tU6gCzaLpwNF(Id*=edhBjZ6KRVZx_7bxjB?K zHFduX>O_D;zua{HN0(8BI)l#exj`-%K= z_fWRpd)UZ#jWO+XPD8MEF_?a3S0E!Y&7lsE{t2Ly2Lee%_9Vb*!Dq7UjL=DN)z>pm zR|a|!B+B{1_Zp-!3e2(&kB%sCFLbbMe88Az98NR{jOo>d<>G1zJ&{ljL*Ph%@+`-{ zgH<7mv<4AC$t=;^4IfgY*i;;PvoSX2-h1!UBAE8N87nia`=ys&s*|_>xc4Dtn3*Og zavr)&nmY2 zRoA%4zV?deVS^P}Co<5_?%JlOnBV_=z@6>169Av-ulkKmDj8zXCEB75Vb#sM5Ywr2 zFy#4MaiTXS9=!LMKHaY}-z{6VsL%O@>zpJj+)!3V7t?;B_aOqMupcEs397WmOKkSy zzGhqUVEy92J)TGY@Jr>CWa>Fl`ven>%2O$PMLmJ$Os7@P^uuwrUiO@c@>N>4TFPL3 z&A>R*vK3^0rxS3mH&6Tf#8~x^fC?wERvsHaDUDGOj#+|&b8lb^_w5Ybftzj9|} zR;BHAvYv0_zXqeK!%^w;q}(iLD&2DPpKIsMI&kjFVkBe%hT!oKffoO)B$+&-{OKtpAvN(}2<=WO2iqm}yBv3_|J z*ZuNkcq}@5y}ad$%c2duoK$jE!ye2Qq^a1T7y=OX!yepY^u?cnR~r6y*_D?ouwH-B z`Lg=yf0qM4eMWwI>%H<@H+)!`w!wDyKqwc;*v31P{y2%zq>On|j(>A+0QU@xVVMD2 zI^3kEKsTHoi7|g`#&6T8UbOe3jP`Z+vG<@tLM8BD&OUBqoNdtNy-b4Jz_t-4#)=zY zHU{2^DFe%nUC$plPVGoAOix!PXNy*ybN4en$!paxPC5?ARaABDD6`u%YGGG$E}nCb z4L9(Ge(j^l0rKnY8Nl5>h?Utf+5W-~S-ThVxjsmS+VOlvx{SO^7rIH{g9d1?wYS!G z{Y-)DnM${|+RpCPvku$|rZ^xy{nXQ{T_>m@@M`rM>tXNJ!WakD<>EK$YU$VdtTWD3 zU`Y)xfixL=db?mS8J_d(3tJV;Z-%B>2ZR_9BST2n<|KZ%5!04^iIP3lbhT+D*OV*nYBG%XJ)eg6Vl<=r#GVnvmKEO8P z!HEI;&j9)f0WsO$#~yo3p8x4Dv>le5wn~2Q_kK_IJ@bMvnkUaCtNZ!Se_s2_t(X{* z&AIj+@6go%Yje|$X5;=ZW0j@v`(hgRe88Rg-h)XB%bV|@>r*>=54m&BIp-XmjB>*- z`vH~zx*B9mnST<-feX*=z~p!sn}98yk`8Kx?syL_N}HMeCJL+-NhEZe1Fu!bC#WTJLwi_lM&nSI%so2Z6f*8)MsfzwucZ zk~;?CLvX7T1zaC$(#?iBTjo5&7?{roq^!L8-V0S-)A6f~g(iAYd3@{)jZ#esqbK<$ zF~fJyVfQ>~9J6DAnE=-_k>>1Jr~bLlI&kLz#6f2FUIcQ%eY_bgB0WV64-QBI8|Rww zqJFL8=$HZxX@*zLz6-&M?^FHZaAlh~}7!jW@ONY@oX2+RbtaK^VS>WHI>r8A>96t2eD* zr_oKb@H(PPpY&&o{L;Y$LLY`6ziHy?v7K-NRS91uX@G;(gE|TbKhO} z$iw$PC|ADsI?ZeMlh4Wj{OG4NlC1{*K_ywYPHf^_*p!sc(Tprz+$odL!?z$P76Tjc z$oQU0CN>F=L)%{7C6KJkY3H6LzXDLa`}?;jBW(|%b?2X}TIqEg&(QC7ZF@;}9z7sE z8%~u2&Et}UzW$1u%HhFwVwKGUPqBxRf=us* zlp)4>aL)u?sAV9r>V>cRd4gdoL z<9FTdA_re~)fIC2b=N>^3OAPiT1Gp)^nLHpU}- zQGcZ>hLcgQ7&vl$%3+&tO%g=UJKQ$_2b$_hN1=NW>`q2LJmO4x!S=IF$^Ko-rjrlH zyfaw^K0blaV^pCuXY%`6L2Cq%3fQvT^oud=<)%@Mon|uaO3Rb4Eb;ljMGDnDC%R(f z43C{C_!|V0zyBgBgYV@0+cfTco^^FQFD(f&+gyF)CR2>jT%EMwN#Vqt*V`TtB~Ela zqgSS>gcQpX0VhAgd53Y}IRsp}iLPDkWr1Fz$@^&%H%}A%(evEaOai11 zo^p`LCCH`^;`z!LEzKR$-7z04(+eas+9_>g2$IOL3?f)94#q{+1K+A0Gjw6YajD5~ z+$zwB^@>SwA2G&hxbRW-<4~P6aTzQ>8Du-?!3{-KoS(N!N}Ta zghza)tYK)&E@kkByIWMd-ie!)Kq7^(?7UGE2*%>1E(uMC2R9k=J2IGE3Y?a5ke&>)o#bZOe$49R>p zZQ7)RS1Vizs+7hLj8g_eH&(kN7z9nXY|J~~x#5rOIVC@2&o{s8x}v?5Ww`g=d!ut$ zKV{r~fGUDgPEh#H2@9iis(fYD>M4wc$#tIJv0Z`K+I6Qz-UZ@yDO4bW&&SZNWQiz~ z;l{&9Z*>6qTi^PYu8dp^O*(%kIAuAxKY(^yFmJw=IZmkZ9NK~pFY2nvM3K2BXs3jP z>2Omjy|?J(3KI{e$Lk1O&GU~wtnmBW;8K$=GWYD*rTZahJEr-oU;RpheuaZlz6Ubp zHpSdQj(V?11e`n;c696cEQfhjG5axn=BJTs{V}h_dBb5HHR>&rQGfLYECIUNeytw3 z^Lq9f9-JtRqFPX-HfWsb zQ@gEK001BWNkl7D#@Z^E zj-fd8-t(T*EM9~I*&g5;I5!47SRJ!6g=L7Iqd;6XZiTFV+%|TOJv*WaNs;@PG)k%qK%VET42_IyWRNoQgX&d zY*Yk*uz|-mgl>Rt{pa^REZg?IEIV%BBaiq2NF@ef88z%PHr=Vj1$QiO+%D`iU$tz7 zdQlk%Q~f)?^E(RI7ehC#ze6^_06NXk2)6*doO|AXQs72E?K-GRo_M{Zyifc9lT)_*4-y|B>qFaj?<49liuHLz}y8PN}^bcy7Z~y)e z6->6GtoJ|spxpED0~*lCG{6}@Rkf|Rbno{l*niFpI1ykyQebzvhk%|%R8j<1=8|i! zl1rO5N14VS1ZIZ>+%}G5zri+Y+mS{a+R37A=6i5W()T_X(R&eiiP9%({@?btx5&nG z&(;B$ZW@b;8~V{!VW;v;+GtS3%<1YU?ldfE!HV!3&!vaGmCX3vR;%l`OVu z>7kR?2`nT>JXk(u*ud&@^Y*jPZ*eO%xJUFp!Eby~lmDJ~zDqQH9F8#tu!lXk;>FEg zWaHWQIHBQ67FT8%Ir#kZ&)3MRgV;M@?j)mrjrv{&SCiaa$_WM+ap*sP58OO5im`<% zxAVEGWj-Z=1S@=OYu_#Kz%H~yAxXv}?V-knO_n>zzlr>1n%jmB`w? zLcnO=os1c7!Ah?lDXcbHQSzxT<*c6ckbhArh!@rzlMc0wEVlGe`-QRM8nq%WxL|sYb9ibCfi*(9s?PY%2 zoqdd?$^m~C+yzSG9xyi<_i2&n!q_!IZ#DSt*uhRYbZA5t^(~cCPgx_K?Y%NO3&5pfmDAV4b0XrT(hFnfb3Cc)@cpHFrr+D8 z!hSo&2Gy2b+sCC80skt^P~~M+nY^AC@i}NmHItuN1MW7+u+U_@`QpLv&5H;(HBz5U zcAJtEvfTtd8o|?tSSFBDAK<+`3Y5+}?>zM!!U2i^i>xA#41g8~J_0f3LCrAp;Z4uM zE5FZ~=}kpIMnFurgSG*Yd7Zg#gEGLZk8=w-l{u-j(XBBVrIn%W?*Ma30K~kD9lVZp zzVDuU^<3IYBWC(dwI=h4-+=KYPWzpMJ;590H~dVmFJ!gtA!2^b?R@4%yKLOJQOkS9 z#g}P$2%?oK0;s3voi8%*)T1l##P{59pkT-|L&{|PKp#xg4g8|%J$mo``aS~SP9Vw+ ztvt-n{8LXorTY|2YQX`H{>91sv##9Gqz^&6f&4&1ww^B@+Rwbd<8XlBDvk|0ANtUT zyn8aof`vL$rcbGle&^kF(my#Pj1p9rd&642?f$s&#v66BE9=^f$gup~7=2^jqDY1q zpKT&+QBZlmFmkM}!gx28W(MAC;eg6E;v|(TT9h8W{;ad3KvTL$LLa)`moqNZFzjfz zcVN%JMHgKpxBm1Y-E@4#6<0*}ci8vL)gAXZs69#mV1f}I_Fk?HE4}~hd47M0JB%ap%z z+&nmNP(6~-gByt%+JxVeo8UNnWO%QRH=U^t_Y45Z(a^frvq$DnYo^EDnXiG%VYcg0 zZT?M9jvTCE&NcJqCD1X(FkFhWU=KFf5G?b%MN5{*0QK>nT?|9kJAmjW2B!Oq-{h&- zR3_3A2UR6tA}hdyX(2 zOjcp#V|iIFx`X6(q5H{ju-1+oD=)`wN+fvR64;hZ6PGNx0%0IE9Hd`^W-bNA<&mA!5~V5xt`51cQqXIuY{BvbP`W zMF0P6ANCV6`?Q($adS6nbu$0YoJi~aW8N)Z0Vh)RDB_ef zY6Y!1{?XlO=AEe8f`-FJd1bSPtzv-m<4Cn-&39dSWp@76d6av8p)#g*|5NU0OS=b8 z>eZAy`|PuFP4jl`-@QH>v9078VUmG&urT0JlXu&g#tIzAd)>E%i8I_0E7XcZVaWnjm2$tJ<%x)#&WT^|bmj+R%>HA0y)WU0N zz2-g6zgK$ShJpE<6{`guty>u?*<*0l*EZ zp*`c*QAR<=XcPcT*;D}c5P*hx>PiO&XOnSgAR-SYt&aA0_;@FHW5;DZ3w3y2$NCy@ zAN1oIH)QfC_raUb)_j00>Tnu$i)Lsex24OaY|AGC$9|cc^`^%o9_IcqpZ)E@8gDa8 zH>^WwALeH)yG;P1CHJU5x>VzKV4JbM3Eb`eGCe-;8N08d$$+1r*o2G{8n#bwSGTT| zLDQl(Vms$!!g${@zjE7y59MNU56T@^Dm|~@q)DX!!35|yh-}NXRXKHxn9e$tyPjn$ zRQ}_U$86=zdxnvZCssSx$W7cyj>DdVR`+n6)XzpRU~I8xp{-uVuTjA7y?NR5%;wYa zbVEBteZ`Lr?w-#daonz(R?cAJ?nn+lar6^^mYHK0pEb0__;{c0!%D#xJZuG-b>PJ2 zXOQb1I&?^6uY2xyCFZM>inGo?&#m0g79uR?<~sq;sRw930joXdiae)*yAD>+SaUgk zf-)CIm*XG>t#xx-i-I?E-^ax|vaF_6r^JHi(({B4e11v|g|7nIE^r=5(uW)0%d2&mfl5^7(Fx2<-Us6_WJCh|DNErm2z-9AO}% zczH_AylJO)1n*%T$+D{ETm2YJU2YnL1cQ2fk6RJYD8FAF$B?^Gl^#c!Zm5@@!r~;R(!5)X zIPWyM``N7sIKaf1mt0|BS!UY1%xr?zd}CPUOnbgm%Kxt3^)EL)GVSG_TTX3^aIkmv z{)A`T;g?^LJuhsR^!$a=JnGozIAC_Sr`u~`_oL0bs7X&C)7X2h!a{Q}1o> z9=QoC0Pa3=TK5oe=j!doG2YGU4W`IqN&KD+C%0ODf310a8f|sbor#tXIfj+mR|n`k z0bbrVoGls18+*DJNIPRta3vDY)DZ;qXl}+Hx5;riwEtyU+`S$i=n}GIvs8{ zU;mhHihtu9E|kTK7t1iKiu4(P&Pik8sf~M*d}Qv7-{V$J+nucE)MK1A+to9zld(Oj zTVFYjmWmHt7G#2~9$y3yVJDcve&rciEWK(6;cyTQ)2cSTMn^u5ovBV)Ss$|pp}i|e z_Zw7gS=yGS9lPXRp_x3T*ptr#-3T~(?SGxB5G9kZKZkjQ_g^XPXgG1P`kHN+X07)~ zz3X00deZ=iZ_^MIRg-Qx*VMy)@i8lG-*U=O=$v|#tyKQ?$fMdZyB>L$svpM=vc=rE zPsUjzf_lw&zWmu2ZM8D&f3`Z!i8fbT`QqxN#mV6JBp|}ov-sE)_VZdmmQ677r4bSn zCNZVFhhE#by2mn8qNh$MJkerftgUo&^^G3IRF;W@cB30zUjNm<{%iU3KmT)$^30Vw zUTfZVY%Gi4&!yVvWc|ICJ`iG@hP~_4gXS#bZVlW9O*&`z;Q$tYNM^CIvCvV7i8h9^ zQf*s(%$`f7)*GVM@|VN3E9ff3e0t`@H0IV4g*3`mbK5j(Ge`516W!zm*qnGdOmkZA zb}5veGGu%JD6Q=@uajVa$OJ{eRat0fFnc(Wja4rVex)a*tMuU(>!=n@-P?(|zjH39pSY20WRbW8K|KqD`0)E&{r9j;?OWF$Ct} z=S*w>^`aY%$jX5sdOrDOJlF4Y&)YaVA8&_3WW@vmv+!SW#MES#z54CUbGM=r5{>&roD7698o-;m7&xi#^SVeWamkH zwq5?ql^>VCdgiZW#~lyISD$`S4q+wZ$}6vwE<|N-#rQnNRfQ~#WDhomv}+vsEKn;( zvHsVvZv8AUXMwv7Lg6NcklCzuK+g@}4e?w3y3xs(QjT5r;M}Au!O}LZ5(f;?!_}Lt z)Sy@ha70Y`95;Qb`pxm;7c5=~+V#N{fTL-L-1dy?k?T@ z&(C~}s^xFxV!HIZuJI)>+2zXlv9V!g&C|_`WWj<3(uWu>>I9+H1*tQ=KHV(SHX}`L zb8QbkGv14BzU3aUHEY&rtOHn&%Xfo!FlzBxTRnNP1ht(+-zlv=!Fm13aF z?F3Oeg(&}W6Do0Dy~o_}1!Z0;AW zzY@Ylpt=A{IHk{dW;gyAbY5Su8OsMaaZUu#?`o!_NU~4J3Yy`Ac0P9 z>Q=R#ew{DNF}HH)ZcVpxXfOJq*ZiQXr|);Zrn2k=$2cELQcOPuO}Seopck4+Fy%=Z zhD+Oh*n~RSvOvZbt(8s$;ma&uCKHgz^iH%o2N2B}?5%>EWxQvx3g3fh+X~>}(>)1r zzqA*gXOc~VHz8*~K7X0K<9#2LZ@%!19DH@3v=1GTSMGg8zOa3p(1q`Lh@{SFt)pm% z7A#M|2T$ZEVT!G%d2g9|M_`?!)Gczt{$A_YTI=;Etl^GB!RHKcFICrR%;jtNhACx> z#_w~-0>ywqxdT@@=aqBLw1;~UdBKz=@H&~ZT98zy>}M^R5GWDc=*pm%6F693-BGJO zYrVcyspoq7wUn=xYm3>#30@D?d6`-p)+qrD<%`&1_?>Njr8Gopk)p2 zbpy`)K4RMyyyt*>GxF!b-yL9g6pEEEtbf?QBRKCFe(xo9T9qwdD?2xwnw3H-_UyL6(BGCCiiR$j*vw{3-I_!qmp_v++v7DH16e+Idzi=H0_yr3*}gB5)y)T*2jQ5 zz_?@sXn6_5b{#+zXa{;%NlU<6e}JwCsH1NjZG%sEqE|C0Bg#w^f>x zz)~?MO~;xBX0B78ASu`K+&Dq1c)}O6UeD(f-VlunG%V1tK*IvnTEHH5aZf|lJOrx+ zoz<3ou3a~q^`Ggy**_?aAv;X3DJE6n_XM1a0A3ku;_%_a8qm)IFBK}6c}a2eMh~k! z@HJ3x?{*GZaF&6uxQobmf32qfhW&~4GyS}=`}~fp2`m@wz=)_zA&=?mazWbcu+QOl zE^2B{6zk$x-AVHrlj@E>^odAa%Ko8_PX`JdI34?%x} zai1<7u4Zhgwa-+O=gD@>Ne|rBANkCZM<-jKYSg!3f!C}BY`oyW84jMR4yL9U@AQqY zkz*-Oz`N~(D90%E0FL!Yqfl9MTx&VCsr;OJl)aiX$h4IC8TdKD+mAM zIXV1`t@8T$D`j2VLg^jI%E&PQ+cCrfNhPGSy-zl6JWp0EN7QMY-+y#m0cz+`Ee^)x z6UI1bvhy9g?jojUpcOY8H8;_(4L7j5m+sc^pYy%DNU7Y%Ly1k{_BCca1%`hd`ud?n zw;Togz9-!)`vt6e?*a5I$e^Q2>J5}s!;!9hgY#DRYK_wU{&_x#=0ikZ-Le3Ag+U0% zVEeHH2jtO5AC>Qa|NCllrd=#hVL5&2L_DVf+E1)jo3k4CnT|kMZ8Jq)ZmLaShOVpC zd&LYDtL9{9yI!-M{|u0TQ`*E9nR4_ zGEqcT^)~~yp7~*-p>#W=n1g*+{kwUian?^yCbYjF!(@V!gu~GEOLx1Bb*_+B z0O_Vhr^qN+a%pLo6w+!g;=Lu507V;9q03L>wG3=KL3^SFvY$komPKQ1q_L`ie{F-~ z(up#(_s*B!eLuX+eB~w?9Y2JHgHcveJIm3%`{WnjzE#fc=##E@Z&uk&SGGfKFb*#^ zYL6(w?9@(b@fvC#2TORbsn4A;J(YR^_Rwv2U2njds(78#t<%s|cByLaZ)NAyII&@Y zh6NfHI0-Be2TwB@RW%0M@U5W$52ws}rmLXxjlgV__hqr);=npQ&-~K!I|6Jn?R-(%60S_;vtzs-p>~~R z=ig-PnU?vbw@HU-;c2@gM~-Non>KBd3opD-II(vrA%$9`o_Dhr5`bM z^`x1~xJRbR8!OB|e!Al|rXRJ=EQ`o6%c$j49dlV1)cK?e&06Q&OD9*WeM>zIk9Ymc zy>BDN-TcnSysS{?ZhG)$u!d@rz%`ZD0SkY~Q|J z08wStik0$5pZKKoCIJ+2Odula!J`AR|IkrcxAHXot_i-$>A46JZ0TLNK=xg5we0%& zc6n*gsr8%Yt5fG2p5G4wVw0k@SIyk{ey?Ti-egHE6xX*jUVLIyOPb?FTzPtlE^ zEj_150-JH0x_Ts=gdV-w1y)L@Q3kxzr+d^Dc`pV2;Q75xJWSs{IWZ>77A=rY*tFHR zA;EkCOCDPGOiH!;9a^s@86F#zg^L%-<(sdT14oX^(_5dAQAlIpZId^q$k3=9+p|yZ z_}6dCn)!XQtv@h z7T67-l$!2IA7RYA)YxX$L?D$3ne}`~mieb6f9=?ujdZCmr(gDTw`0cBc(IRKH$xcM6l`MR? ztF$I914obQ>ImEK>b|AwCXy1kDHB0IQIB`_8TO7^(Y;kIn5-z1#>um4fjJA@%VoZ1 z)p~WzywVkic-FNtpLMKCU6Y#add+tJm9E5;Yy5bBtM-1Isq&RukJ&meZm(9=v;(+! zBFr@Js&yw|SJ&8#{v2c8g9?}?xso~=sF+fodeK>7*(xbi1?QSZxLSQXqts42g8J9G zVrT7WNt%Ye)r0Leyc10Bdir_YfV%6+=VSx`zO$)K+FIJ=vdgcKtFFFATH9R;gF};Y z{}y1Q)dTqqg5x3oYr zj`LI57DPS;tB*3MBnOUcbmai-zhk!Dh^yY4%xk>&-A=ZhG8RgV)+}2rJ?*X12}Yf) zdJ7V2#w25s0iGC{7WUvIIRjwc#PVY;K);91e(}ns@}@VxMUD=j9S*$Wx(|HV3!bL%DwAWKIFo>56B)r$;u z*97|-IaL|=srq#STFO4C-|l(+>*bkeo{?8xIjZb6fh`&AO!I`wW+=%j=PK*WoSakqjbsq`P%CeXqo^me*)^vSJ;EwE_n@Lv+)<-qxy}i20Q`&oUqCkm_ zrUB5edUOi=H6eE&Od<`GuS+eG|X)7Cr>|M>oyPUQw_ng@R z?d6uQabEo_&;aiBvt?aVs+EDSYhfCRH7wAuKv4_W{aT25r(bu)HX-v4oHC(ND(M5h zVc?mtfN9dJWyI*;okzRZu(ys(I0;BfWDhnp{`~$Q%N^hSt{mL)G7+puDkGg;?J@~A z_|yO6zsu>HHaPATTIvaCzek|8J~q%VJ9q8U4XXzB!i}2t9RaDl@gjMBOSkO)!RMu= ze?(S+xgSr0sc!2=l1U-$(1Md$kASiR$QFc1r6vILoET()$|LX$ zDU7Dg7zOCNqiwxl;3s8&&lx(A80}cCO#AZWnA&L&2x9_z^fbKUG=tf1X~DHPe{yon zm&h^XRFc_*)y+k6fSsV-qNJuLMr7s6l`=osB3%IMU2Tjkixmg*^OyusF;8uN6r2Ta zHaRJnz$%7%i2<`ufBnh!F6o7q{dH&mhWr8`UB(ApdB!GW^xzTM`>SWA|D5w=$;#DQ zkAz8yEQE4_&T96g=N%s9GVita{RU{S)q*G1^$p;DVzpPJv<(Y1EHK9{P!aR)K~Y$x z*=FwMxOr!_c=U`yaJv(cH|aHI%g=rxM*zZsMx9m~;E=2{Wfs(^6U$SU!i5%61K1%hn{Yklsy=gPp|H!1Vp+t#P~x3-S?4Wy3wE_4`+Zs!=l zGk1?^wo~-2DdUWOnXs?GAPpmW=!2JYiuLdJ` zf;7|#Ud*^Z_Y=H2$G!OFGVf#so2h>X)ks!YnRgtax2%R_=D0WCv<$61jIqxE;BDWz zQ@-}U|5{#x_Iz;L%c`$#12`oRY+t%W-8tUy=^JI<;yy$~C5uhq3ql@kJOn^{bZ9^h z96BgH^LjNu=YKs1zEy(ab>)L#*QIZsEV=MH$qcs1i-S94NoR|kHh2VA_Q)hy?B)cx zcX}@J5|eyZ3z>8RJ(g7`2lNH6z}-n!TzTANKwTpG&xw{MNn#@?H+$-D9lZ+BpYJSQ;CG%n^Z3CCtUPEVEx%tPL9NtgDNGjJhSVWw z+f%Y`^%Cjngti^7WKbOVu<^F_@6An=?SSw040#hIKh0b{&~*>4GPFobD`iZbI$7z( z2Gp~#^6|vaz_>#{4{BW}U#SB}=Z{9qRqZz*`=G?#(gsc+%`Nq`frqLGn$>qqjjRP5Dw3 zvnltsUSUQA=lyk50$UUTr~5*V~wPyt@)B!viMtLaEEk%p;T(X7lGK_8<;(2 zA~c+rR0NrQ564CLF6`pw27_dz64VLmaSueKY4qSB6%6NcxmFVsX+$u9?`+*Fs^ zT#ijBYAFZNyqv>|H5GM3uYf;mQ2xa`7sP9xrXDbuMQ7<%+@`^Fr$Ij76B5;8l99T( zYoQ=Hp?sRZV2apuMhnu2QTz6a1rTG3174!uFBApnk|eNeb6bk&hQ@|FlvBsSzuz?I z1F(sgSmT0sNH{4NZTQHureww&(q4#`^^tn7vRNsHHcHlt#;Lx9P2?=PT0W%nX!!qH zgXkfW2q-57K5sh4%$v^Zyma zw0&k|${eOI#4#qJrZt{0?zqn4xR0zbS={Q6RG6QsONz{ zsg{JcF}GCn@$GS-twshV4#mn(`kAnQYhnK$SJd%ym&rG%Mn8FJ|o2rQ) z9HHyf-O+ooYq@sqQhEnSA4U=LVQ@j?;{pR-fX7kLH zGJKZf!%@_wGIc0Www+192Yy8#B0}M)mEJM=_OxTX>6vq-XQ(B98{UE_DpRbUhI_-` zosyF^_WL)`BM~pHP#mqom!nFLAs^ z_&=Lt_ku5AD)fu)R0@sT8avG{lk!`7EtER`?Et>_(jUKjE;ea1`iF~1w)taBvucDq z%J8P8;2r#(*C+r!jZ#5jms7?~#R@16hiSy8z#5-Fuj`bYbM%H=tN?Grwd|_iYzOe0 ziEY`B?*FFQ23iD1x`yw%6!QpOWk4ypW$@bWM%s4wQu3ZC8Ezk55PoGT&S&qdQ~w=D z+5K9eJv1aX#?)J>(6-~YFk;5@d8`@D0&Y`f4A#Qe;FmW`tmlW`4#)U7V=opL<^aia9Mf!#sscWS#FhhFD7SvI3CSuHvHy!*+@D$4R^gs*;k51Z`kpk9lc zYWN{dfg4$m65m<-_Yy+cU`6ISAI}SJTcvy}Pq8;l@UDI|O)+TGHLZpv2&; zrOgmisb7g**7T1R_pzLhY^uw<6z5VYU*5tZG=?2gFCvt9<*Y_k*f= za>6f}1R#ZIaZ()QVb>NsAaeH&*R=JU1^tTgl)mHyxvP9ajga5SPJv*F*=dOFt&3EbAin0h?2sO>LnUtCN^y)6Eu zjXt~Ijs~Oif46<{hixFpgw!NUX&)4ShC$3@jS`gg{6^@aANf_bn}Z)s2&vz=&NspM zJgrtya)egbdM^)7zzVh>t=ivA0d!O~S*8rvpNJ=~VqOPgX74*HqfYk`PG!iXs#If0*w@X$|CaI)=()k%xl*J~^>uR+ z*|&oSFNud1$j4J_s(I&C#aZW*ZR03BC<*)~XY#-`+Q4ZQ`T23f-!tyEN{a@5uHWf- z&*xb7UIN5Io>X{*d6_rIyGcQ0*^0*jj1%Au(~1(;iWwUA3G}yZNUAkv?XlJXU~?J< zco#PRC*b(VUn~W|{SevV<%$ioGbuYpd!O$jwj9G4ofQ&>$lfUddmI#Iq7Gx zaV#yO3IpQ@ihGruWM(^ z2|D0eL5!Ea9E-|UCwpdf&vYiYg71oR<3zrT?Uel$DU;Qse1lfX3hFURFzNI*f$#_v zPrUG2Oe?RbNxGgVn>Z__3O`T2VOrK^$aA#A%po4Ko3~k(8|SHKQ}e|aM!V1_`!U^x zYZE%yi;F6z^q5c)22TaZs0?zr(l{IlNd3sX>})u7i3)junO9|9K;ZxOG zbj$lJrq0M1?KI|c$sbnMfH~6~7gt<_eD*&3&9}jEP$^?;?OP5am98P%d=_#sF})8YOokQKD?D5qZ-mV9_=zf}RUtIA>=# zY;S>&CxK)P{?jk8l_0@t0p>^K@5@9M{E($6YGy0k>6Ry>k^I{#RGaANVnQ~%&ztg^ z*c8)sUOsMF(1aG@T%4F0Pj~X><%Boru#5HS5wjhNcuD?=okLwYz^hnUcC#xicks4* z0#66JP2Ku<$n`(q@B^0<(dSK&%_`U8`G{7UNAnUO2lEyN_MA}3yW(J9!zqb7C(Bf% zE}R)&Y$kL5X!r~2iiMA^+7_Ti9u-aK!7tX4-`Zg_4~^(Z{bTfXAC zgBs^so!LUG+L$NDj5>$i+6QB&zDnrS0SM@ZamM%4^cjqMJw{R*2Z7V9l<;)MuS}z( zubWQ|9#=+qnr%vWM~>4J;iP?23l~t;9mVAk0}MQX*+wCdDOZ1U|APwS)$%Q?1ura@ zmnA{1ZUg!y-cmmRAZgOC4U)U=Ph&phHjDt~#QT~*o%#4p-~Y|0g%*5%jcqY}F0T(9 zA?fu>8C8{wCE_We1077|Mtd3mlapm+^e+)VcHt`xx zG#SgMF`{V4ikL&ng|Zs<_DZBc592*ZPNL&#D|8kzLSHA{n`2H-zyIg^n9Wn>R#)`8AwX1xob zhtu8+Bz8u*&NY5f?2QbWuwFrRBg70pAnvwTE=I;d8%l<*%%$_VM{{OCx7$t^c4 z0Z@O!P@Nec=`m==Ozzue6VkstX&myDknGDJboe#$zKXJqPOSSO*>Z)37^yAf zKy1V6MYGSdyk`aAMs4vUjAqjxm62L?oOC)mn+|E|Zf!&b;9(LJjbGz^Diz0lHfs%N zyj3J2c9fLILR{Q(*G$cNz*S>Uv}G{B(s%KE`Vc(aJ0F#-`D9>xg}^%^cq4x-lbYq? z%`@YV@VY~uNDDYlzTt$q??$BaA>dtVB8#huHa<}Hn+}2$3qH*Ddm;zP6aI6@9VYwd zi}xV4J4MrcjU`XJdb;Cn*Gy}WRA%m>;!dK@52filnQu`%jd@Bh`zLgvnpb0#HU^V9 z#*h)@c3`}7$m>wsB`IG+JEp4@S@oAk0(N>iX*`e0+Lre0)0bR+)D;zL z071ap^3vR&4aM1NL|b!aG;2bdp2YuR53Q&BA3OIAO|7k5H~m1DJodS!Bad^G9Z1HQ z#^|?*V++=CcJr#1F~qEjl#Alc=Q`E-|GY^ZSC_graTWGNCyNag9z29LGkVtW zkC%)Boi4NQJGDSu#7m3p=$YIU*R}0^@g(SL`{RYP8OJs$jR_Z5&0v{_s0_JYHESY{ zk`FB_g1EDKTQ{YRnv)<;V8AbUj4P)fU@;+`ee{1$#8~^wEwlH{UbxO`^tVkBC4222Jt=$j9IsM%8uJaIy2?~N}PLhnY!A3MuLy~hWB5IZ?^ zyj0g!AM%$bM*R+%jw?Pk$UdRX=Q07(QVTc-lC*bV#BqHR*~%(#W+LJj8X+bkt@n|I zrH8F!B?jVP^XnvYmWc^sW;Z6G$4-tSM>nz5x4oHqN4yM9F|Ea_gtx+JY73dx zTkgowpf5-?RA?>ZP#(gXNWGUZkaZKuc2B4?cMlUqwT-@tOvmA_Mpl={WfXNL$@DZLmnSJ zLU_^sWMZ*7)y;*;swIt_+9P8)rj3Zzxh{QKBPpZAb<2Uf?d5Ee9o$@;B!CJfq3XNV zy+mP`!Q7uXO2xEW3ibl0zR*34<$3TzwB&6H1?3NJYG7y$En=G^i}CI(>c=R?(V3kW zRIQlbS5bUgcHSQtc7s-*FcEv=S~^%7Tave-Jv6h@Tk|;?DsJDSY6Onic>Efh+;K8b zUsA~A33_QvH|YgpxbobeT__D!abxUsHjh~L)$CsX{HLenzZudbY^G0BLRrzea5Y!g zz#9vNU*Cp&DQy)jSCt{V={wkMpNihRv_Eyhqjn`>kSJd^s!qXIm*Qi=2Y>vs(k?#OhPD zT{eA71Lj03&%aq8z5w1ufjo@3@C#1~Vy`1I3D4C%VHx%su2%Jx(~?;J=KkEkL(9PZ*Mc1?W<$Q}Dm9$yUt0tUwTLdo4>G&2?Z$yVzNGItZ@#lY_bl<8vx%4WVn z|Hcyh$d~zB74xj={B>D)0qI8g%T~ni3w5{7`OSS!)&Szf`tKT9+<}&fPYC;xdHm?y zF3(4B>uP3dUser7T(~z8kA*X0rLjCxv)`13(_Xo^xEXVo+ixq zAZdCf0C|pjB}(B59g_x==?p9cn?z5Obn$Iwu@!$Cw{LrI> zJAB3mX7`k&$G``hC@+*C_YYn;A8?!*7T`%Ui;yTMxX5bF@Zh=!gk$` zI69vpW%^pjocWzYtd&pK6cz1S4gx zE7UxKe)qBmd<%pATNJ*(53Oc2})<)=8ui(g1IaaH^*}=mVQ8Q<3k#2qRJlH@btMR)d_4yKg065=n{Eq zLm}So^!;4J_qZu+aKZM{gbFRrB?$3roid$m(3!5*!B*d)U*z<~rdNotY$eaZ0`qO5 z+K3KCj&V*J{jxIIr~@O~1C6uID#`Cj-8MPOj2QhC#@CZAQa+3NxX9@EO6iS1sv|qZ z#W&W97wa+8&6<@m2(gYjS*kO2v=QZ{g#Vf;<6rZi3N#K6C-!?ZZ2u=Nkk}uNHj1$R z=IX&Dz2skBkLdZqUPg=43n8}=g(&@Khc<-t_iK!GeHxS28);Im%@zxe6Tab%oW7|O zQu*!buqXKHQZB>K?g9n7+TmL2bJId%Ia74{eqlZDYsAvDe9}osiw=_(QHV5zb4>ye zg-u)z7&W$(PiwN*2wweP=e!ylKWzvpGjNry5n=EKo@H`{Zanzw1=GX8}s3oCY&^%nAwTv9DXS%my;}$~G z>4`5KWZH|Pu=m6SwvvPnvs>JesBF-Bcg@k51p@S%CA*oz{FwL94$C63Fhjpgd15Sl zSLP;okBB4LA8Y)3Jh8Y{a@Xo8`XI2!RW+?5r!dfrw_j~J@RHw5&;m;KO@@NV92LQy zn+<9a>zKBR?hgE~?m-#{TTpzVvD2;l0%R?u@$ z@lN!17U~|jPoOsU+#r~Ki03)Y$#RTJGj{K(fdC~Vf=Q6#ExVH{ zfy+Sjkpi(O@&Ii1gcX5z-dHROJtL!7#xJ755VMR?8|TE|4T@8R12hLPKccgwCEjiA zNa*d8W(c`iDdPC<(`{CpBp0i-;bq^UmKY5bf`%#Bb*;8=Nn&}kFYT=!+A{%=l$&qp zr^QjMDcIp zSY)%Q&&)m4c@-21+v`47x6tVSuNPo-Oe(P=<&iONI8%?jbLu)yO~KJ>gm{PwTNW_C zGb99^P3f(`BxX>&&75XGP&3ReCwHBcg{6^Ov2!mJBpg4?i?U38G!|SyE(o=EzHIsc zk`MhH0DaB?*LSp=W5VP+dh^T)hi1z8Dih9>uR_HzhxpH|=a!}rGggXQHrF}lfg+hL zHQtw`cOdtLQn!NrpTg;6M;7}AB}|ECYa~p@T^*webihsh+CtIpvz%*KTpW%wKFmRR zK}y{w*!UPeWBy06?Wz8)A%>GI=N$! zqpJaiX&}pRHYM+zb>?0?Y^<6juTji6d!J7=p|b04v1~5%xrXFrUXD7j@F?Nx2z?Xo z?t8P7;t`j+jIhEPhcsjGWGWXyhx`*I?|n`+&GJ^ZJ1Epgs46`b=vmvB0g6=ge)P1b zd!J1n)#kU>Cculb3)tWt!gVH=JBog5<^R0dd6kmmlrdNLZ=cqjFkL=NBIR7lb2^-dsT85VqAy6jy4+5D8!VsEVuJZctbiC&`# zb-u8g)1MoJKE15YldI~j`)EK7cZswxJz=ZIBE_Potn8$x`U=O-(Zo}s!I!#6!Ez;= zNVaCTJqgYTV&ql0)fHf=h)v@DuAz*Ie9c^Re6#wquKomI1}AmM8{(raP3Emr*# z|D;o3=NB>=T77~c|2XKVBlmxV&3+n^FYRtOZlT>9TTkl5RqI#$Lq4TVy~Dt#XXpG2 z8?k{RrjKu7(vSBGb~0b?Y-zPDmnf@QRQQ%IF%mi~0^RFx^4qxqgp|i3%tr&{fQgG>G_$`iZ{|oaS zeCR&;J1js4s4HJv33{_VsW{7yBochBsI2y|OYi>RuR-{WnjKnY4TJr)4zJB_LRlh< zP(|wmonrqv~+>5bwwcbJic3Lt8jkw`M*rppz0=JEP$jdY&Y_h11bn==a(BBI(1ZLo6Vl zFDkui|LS94UOpjY{%EZWR}w+mrZ=*!fgBD^6t7>oOhLP6<>St6B0gwk-?@Ec>SMk^ zmiPK%h)*uk@%eStT)2mZ{(nHDune^T_5K*#s6;T#R+6F=_Jr$B@PO)oXN@1!RF~~& zFnuUBQg#4+$F+S9HskMh;$Ks-I`nZx7`Kz>mi@NIl`TSD0XNv!)HC&p z0~%&;k#k7k&%gYQjmV$m1MAA=>prd&fyh3gnSOGM(Zw-0+6B;5Ogjp4!``5s;PIW( zvKdqv{x#sxNg0Ww+h~QkwCcyb9N{>2Y`MqxsEX}u=nTSvK7YDC3?bu9_a_VE`$c4% zXin_Z=lruc$sWUEYw$(C+`D-Br{L?VWgf%grYDnr`B~{|?a;fjqM0ja`%DN(W>rn} zF=r)n*Tmae3HvYG&j4%L<76*y;rT$#Kj3i8_(WUcY^KA2&Pf7T=~-(2)^WhKpEIZYrC0UP6Zh}uA51JuTV~jI_L8Py#~Yj%`vjj z`B(bfX95QnuqC>!wkI1SnHoB@HWC1l`;LTMe|D+GT<$4rje37Y4K~-{r)NoA2p67+ zj3G}Q-9gRVx-j<1&D`s?@@&7L*z)TrZ%MO#cKrvF^b*^MdyMbUmOG*o&!U`ok--O_e6;b& zF6We9-m!ba4^^B=k}I6^Cr@`C_s0}yivRX5dA(f`%QruWzEP`lSgT(g@H>@Sy%qP@ zIyB7|Te5(8+yv13IsOR=vFbb@KTP=4BP=}8X@X;X^a`y7t}u1a|IoE=g&aFK2%*vz+a#^|YLCv~~Pn+aC}1cbMgI*z5gVbqgJKLChYUMmeAC*y{&y z_qrqRQ~|yN`aX01LpmoD%Vi2+hE+W#zct>6bkespg3N0@lrkJ}40*b65pS`J0_J_Ba7X9xH2^va)U2 zD--VipZSF>n2ol=d58Pvcn*`amy$USIw&BT55!}7Ih~yz!X%H10EIM!o0N`gTo4I_ z$uQ5a2g*)3I8WZaqkX385Hi7t&!gNt9HOAKn(OEC9rEw4ykGT(JXhS;yrCXupVw?m zFC7wC>9BR5R;yM*4K26*Y0ME9OplwKKMoD(z#87HD@Ws?Iha?k$yVGQYz255(NLrC zyaz2i0==bIwh;)^paU(HFN6qp*?+9hSOk8Hr!G{^5>4gU+8${+x2YSAZls6Crtk(N z<=7nvt_+#G$Cg#LIZvbuB8K;#-I=&msK6&sF=+jzsJjcGf_@ho{9f6n=0Sn3OOl0E zEc;%kDfHQ%S~MQ9F69Q{bw#nQsuj1!kdi5jxZ)Vfs)sH8P4H(n{;jCy%a={}xz@>| z=Lqw(Krh5CVH!rC)QdASlvM=Z0ph$}0%^w^S~s5t^>^QvajwcYkqt*4HNajBA#2MZLk z=9$l_G@uA|(a!>HW@R$+x)lkrdErlBzEIvDPmDTni3|%v6)d%UY+%ih*TQ1+4(U6_ z8pMf0YwJV>?4Tv_%`VS;&lsM87_mNXTQ>`=G;k1@dU}}uf z9Mgq!vQ7IU75niNB%PoGCqTi@;Ttkn!_0R6$+VE^#&Tn7$u^4?Gb7PRfR=^Q413%% zV&W8FsLSEtk4~M)e?SCEVEM$)kWngliHeM+ zo$B-WL4I$kL1^z#X|u+?Yg8Q=__;BN!R7QkGZ3sHm>XH=_1-oIe z4SK2=RgjoJtbB*@5v_&=@H!CxEH5?JhClgG1G-rw$goYF*eQn9~!v7s-Zarni%~4fm!7I z>HoeYS9J3#1Te9HU%3QP&A=4uaG$82*9ZIs@zZsarQ-((jRAxSlF#-1huir|fKY;v8TpM;!(bD4!=C<5tsEFKi-*rRIRQKO@@+ED-FbwQBjw`eiDTbX!#cF)0j* z|1Jx4C|SYIz0XEur^yJDWu5!3vgEh2#r!SpfFm@PY@qDcMZ@MmT_nSew)P=lw>+>^ z??T66Y_TD>Wd}MdvweyEmfltwsIm&1o!Gj$V}aS~;JD#rK?=D?#{qY~i9LK)E3>HV zhpdqSh)<+l0W9-W+;~ysY3Z!5NMkmxzmJZ}G(RRi)>>>obZ?+Db<15^r-bQn z9dKl&ZC2Ul&=9*V%pw?6$$|H%3Ef1@-!mR?6LM`nvy3+&5L1iM-Q=dm072tT$jeuOoG)JS^x*&$R<&%ejvi{F>xyn&m2B&+y-z<)_p&m&8_%lG zUM@C00kG0_Eb*1$kW|=ry7bfIbF?;Gd16g#YP~%3oiEj$rLySB_U)_T*Wb<%&;?|X zZ5|F%GQ1gUp+iTMM-VmodF*}97LNTwTbw&&>{57e7s*b+Skb5rn<%wJ_ey1WH>syk zdXm&uduEf;Ub8Jp!)`tfF@Ka;(f(()lI;JTA1R^=y$nOtF*J{=@NND1GmmX09iR-+ zff1l(2(3@kXtW2rZHY|)N9cN*kP-*0>ZviUHMP^k1&#J+EY^AOFXQ!tuHc8xc(A&D zr{yQ>@e=_FtpR$Zs{Mi$w`yFM)3VG;!6W{n6o$9%bB-Dv82dJ<9L9}`_meRd|C$r3 z`W>U|n$tMTS*sKPgAw#iY?J`3zZ*GK6ICN*GVZf?qb}1ngWu{tqs{77fF-=eR=D7c z4D4L4JkrYXR!dAMwcYF9dDm(s88GsgvDKZIPG;P8| zAQiOZv1+|PY(Nmw3~+3v(yz|(GW!wN->^u$F}?UxWr9(oyT-X>{xO+HvP}8Y8lv_I^cC~|u}Sp7+f)L@X-MpbziK7jB8z8Elenrc zS=P>u;mzMsu0~h0KAZ8dewUKA4qwJ}wV|fDKkE4EkPj-7V@6zuCD?l5^k#lGmJ*^o zqP{syBlvzkvHu+8r9_@Oras2~t3=-1{ajWGv*i=O>^pIA)4J$<+@e;1E!x;wR>h>s zB=)$LqUjn#Rob#fu<9Iu#pEDACGoF}RR#}jGOo6rdiiIAa&Iw2gD~8O>>b8ZT2Cgk z;pcLUmg7|zu^xs1bMVxuof!yv`&?+=)wkf>om!3Tr4OZaiC`Z;{pah3-`_E@*5(oU z9&0}Ex(@W8H{n+KGn+ru5pk2HNe;|o5>&^h{0lKI!j^)IeO>4%@mUIrE>F>>I%|i% zrN;|kwlCTa+h{-F_&vfS$#4lsTjQAG^22rcX9s#|mG6EcF0NE0^+R{t{AQn(oA4$O zmR3xJNrb^}hGBKM3{<9mWm+yqnqk0IWSJWbI>QM>p4UC#b9qXP7ifq`4fJ?YD6L6? zv*H>_Eii?RGutHBVuSIp@wA1~`ZEKbZ)Pr0He4k6n5ka8o)g60dcdr!dt&O1%hr;z zxnbyPYum4frCT&_t*!Hxd>k${=-cjiBc-6UUDIO~s?>}nq*;(kXi88!@p&T6?sP7A zk@+Jq4xjlov!w`Yg`2jRni43FtBz=q8J!~ir`8DIPJfdNiJ%Lq_MUrI55>_$Nr+CJ zeG_8L&0zhQhF}%IEpRMwYjetgZAkz(y$Jf1nnPg|wvEGp1jB)0&()_y8SEZLM(&E$ z(5xh)8#dL+Y9G%1!@cWK1j^y~tE+H*j|D)mA2mOHO?HgN3q=ojeswr?V6b@bZP`x{ zF{v)WL2+rQcIu{V-`0gLsHoWso6FN#6l*6PhhOLF>07GNp+KdsOimI|CzM-oDx>x9 zLBoNyiBwW!Kb!70S=(?+n_eyL{V(t+ zF5IIWC9yr8B{?3lf9r&$$0%(!!bg({I4aqx;U7@rT1zQS5kmj-#_@+qRqZmHn!de3 zo0a2{FU1YCB-OetzSOh*e%Bjc?d7p_6ZzCF^_BUeJJCjpLy}Z7PaES1&N-S@C+i+` zRL)?FVzDHs2;D#l*45X%VDXK(LjW|XQUaDI{$06;z z@QgH^4s1w?cujpVH*X=jXS^4rW-pPZYZ~jFphGhNhQYm3rx;o9%EUfW!* z%xthtDW zmNF4dqf$%mw@oK{@5-3|AZN1Glv9VvCRqCxp#taq{5x#+QE|0nah07v?TQOa}t z>Q0@rlm}WFjrBv-ewM@lVpJGd2!Lfq*@+7U-94IjLi&Qm_OS<~k_NSDf_UJ;sD7Mj zU7b@w&xH&A%K|*}gMyYcq-w*i9M0VA;Y$ z>3e1Tk{3&06=`>l%W4TJakWTvQx!Pi2^}%{VTZXmmd2PHt*ZaNQPv;Cd|tqOJ4ZGT zytZvmX2r)H3t$E#Pr%Sb09C(*$l;eHwaI4OmhA9QYyZrmi2qnKkuW}_3$U#CSpD+e zM4a}T+fE^Z_Er&8IMLE7h6*C!3D|Rn{`2=Kj`Sd0`2LtX30x<`jTEZbnF1ZyS)X1< zVzhngZLI*|srgPBivywoTLQDq=2|iCZ#Ilc)XuI@D1$?~o!%4vv>PkmIm%{6OGPW}+yieu zW~3}P<3m~kM1Ku#(%07v+4TrZy63Lxk%oxaMT22Bua3q)b64y9{Po|h_}Gjd7@fr> z*-?0-b=bv0!85DWW|^pkdvUGgM-X*3bjxkseY39a&+SF`petjRiL9<{{G zlEhYM=Ec$oCa-KSCxai{5=T{86;=b6o_^+*#Xl(h;hdJ&z5#kS>f_9gmU}tT?5R0| z-b3lw?+$iOz!~V@k3v(%EA=LtDkXFTT*phR^}!|T^%H7xgQk*X4rV~Xp_5jR7+`{G zTWwv>0d`!}@D zO*s(Z;4@g)?veXIw+|Vbq|dp>Y2fx3<@NmWQ}S_Fl~tPTNo#?B{C)ECBzprE9)%5e zKRz{`7^paH%If6yE;d+Qaq8JF>H6zg5YV0aXnUJ9<5jyw*S!8tK3XK%fjzQTP)d|NctoXY5&3Lh ztaP2g<&PSz;%N_`-^E|BHJaU!^K|icL0Mm;7Zg|%oy}L7Rk#*5VMvt1m*(F}$#{5G z@%p38X+q#EtX()XNtOB(hq|PeuT(@4ND@85{D0rh^XLhh}-HiY{5pbFZuv^~R zu{(9%NnZUYEJ=iM<3QXCpljI1Hvs{r?2n?Q!MY`x81xJg*Ub5<$fjk<_&%E92%%A8 z1AltGakklsk~*(l%1b{XpS<)SHCd}Iw(9)^ef7U1+q@3cV@{!lZp2tw42+c7B!Tky zvAWi*o5nsn(SD&&5#o&J?z4D!T49ngtO}pv`bZO6FIWGQKrNXOS^=I&=6FBW8!FnDsvb4<4Juy=+sxfgAnxd~$1RKicER>{)C)F? zrOhxOc$H#_#`&pdcY0b5{a@?Nbd?pyH0&5H+S^K{>PsXpT)OKjr}_dxo`?6-&(O1# zP!}6D{IqTQ}J9UNv7|WZqM5E*df-Cy3EAIhyNZMR}L=lVda?SE?h8wOvttK5g z>kd6W#TUoHZK{Axhq-N6DsPd~)S;VXdF+NBkg7!b8%OgxF5l*z_YTs*-E zSc$%!hQ%NsUh~pDii;3heOl}4dCAAkMNHd;n_`l>!|J0h##BgG!%@`n%JbH(?VL=^ zF>BYtKS-uRfBIy!D#nkDwk|f4V(2`3+3=$RG_x&Ku+gR^3A27%*$=2g_++%ME!eS|6sHL1lh+-Jsv0iIreP1f z8as`C$&zb~jjS^M>r1L1yjSr+R-)^@p1@ytN_x>Ov+>X|Jz5-}SaZQ-ZPE4UCT27& zs@tY#@Lh85Eh~;sK3~|?J>_r5GwYjg&p{cG8&K%3otfH5u!BR`)~|;)M`68gy9__s zS~7>4|Djy*KjVOdII$FjON(x(sf!bV-`2)aWVNXKkJ8gh!EkFhb%C{mbL@EYg{{s|lcUfoPqo;~Z# z3O8HTone5`<*jV!{t1^9d0!PV=%Rq${8ks5s*A5{UrmQ#v1Gdob%4G9UAh$qto5)p zUwlB~KqocsNIZddGzdd&k#^?HNMH^IfyVt==Br-C$Rm2uo6ZsXU2Y5MtXAs`^)}! zfB|-$;*tfqJxQHAi^vA-b_XD2KRIwrszuim9m9dv-#K77jRiRK!HXj;cC7OGx|szO zakX%69njU2kxJ%t4H;>(B}amt{c@n%cwzT%_HAs*9^dto{I(tq3^xzSX>Q!_DiX;@ zHL*4k**0Mb*&&(XhI7_HhCzLY?J0H0k>4}p6y->^0-xN#^-CK48f3ecM@9drBEsGsNwoX zn`aOGS*z)_h(SvYO8yqTvaUzMsO{@l%z3fI2PHWO*$=_SHF&V!vySM=*?1>>1{F~= z-}d?JBcStE=+#x$!G#1NCdV$e{0Zg^yD-Ie)AfCQl1c42ZoDOG;`V{a-cszo(k(dU z3ny2tp`_V}QU0%wBUmr1qtdaEEP73Xxfe!saVA?q9$a!vIkdjA)tVVxXJkD+2VItx zqQ`gURY?)25;4fAx-6GKzChh(Cb-PGo5oEuNVotkRohul8Lk~qYlTwov3FCIq46dA z$2vLVSBq*9CEP!Hj%r)9aR5gRXZTI0pwN@Dmk74qdj54+-AX~8J}t4qb2ABoac}C< zwI8y3N;oZ+0#(w}51mu}rfZeg_I)kkLqay5I5)gsw8P!{=s6w2V?LojPyAry2pzN8 zPek?RnauqApY#m{ViQ&1U>$D9re+Z(g9T1JvC;3(^3Z?csYT1C7!blh#@j+_uin zX>GxecIF5yKdm@r+)}SUt4Z83ULT~*`7W;NsMFpVuJR4l*P(s@WDc3xETc1;gtxG7 zjaG%RDJ9*YSC%2MZ6)T;osV4mD78SMHbzP%@juMc4dOR~W-pM1QUVtHe?8*|GG+OA z+D6NA)NCv#P#%)<=?cKxzNT?~V0~r^HzP6XZAn)&UVLxG&+kK3EDA=)-5VEaT zRH!-0voI{E+r_Y+ut0U!3`UO?UyQf(*i-5e^j5V=gcne{tc43t%hy(XCHJcH%7VY+zAW9gSrme zJqlkwIw}6U*%XLa7#b*1*3kqbG>xB8H+3A&;ZL2cE!@3>Jd_-jzl>CNkJYX7MYqB6 zI~#0%rfaMdKo54+*mkqox6_ObwhlSq zmfEqycfb2ZJ=jCdMIyd0yVLdy2>mJslW1`R53&A9)=P&2&?yijj2JZ<>>dl!cGrKj zYdj&tqYrDZkbH6FISYb*;D*av`yzMzKkM@Gzu_Y=6LfAFD$M6zrR)P8;kc>$H&HI8Wt8N zVIk&w8$v+X=s&Z+P|9B;`&}@H znpr13-RllxobvU>v_#xPY-x%{t2nRyfVrmczcE2zfTB zxTXCSHS$EvlmAZ0Euysa4@U|y-sw)t?@1FL4}C=+OuxK7H+E=r$EyJ|GKy?!O)Z1jGj?k_shnescr(cty2@O z6%#JioYeXM0R$U@P-JS#(1<|e8r{xua2lS8_7iu5MZQ?_5{q-(F>Rdm&w)e={vR9g z@lDZ9kutR=yU>xVh0(PT5gBiUuEvTYlM^VnC)vIH6!C;wdn&;RdzV)?L3`Egj$5O( zUUf+6+yYW+N@R4W%$3d=v;%+0JZW4@;Kx`!NgB} z4)aW>n{1}{dHb-;c_!Q3+}u5T8#@UDRk8iQsq_z4)pX-nE=q1T0{g{|Y*4Tp?E*?h zmVM74@9Sm1PRq{D=SIVRxOZC%gBh9WpEyvoh0njUMnNPJtSNt5hGQYS2RrooER0V{ zX)3AiPELt<{|v_n&^`R?et3cA5oP3L-6-ZPcEsRO&bma0w>F?#`XeFdu6n%t7mK{B zO+W5Wh)ySwFLY~3T#xtnr_%p+d^Bv2e%61YVo)=a7{7_gQ8csE%laCsua|ClsSQLh zx!=(;Wgz=qvML?;yv&EE^RN;X6kh^Yb+vyHi*x9MBZMkow$|vmoRi|T7`F&LKBmpc z;xX>*<7N>b$zXg1x?XCL?>FP-2)cNq4<4pxL?p z7=s+m^+&rKSQWpx>V2o}z1pfGY7hI4!_k8E|Izf;aZSGO`|w70=bM)9k`AYcq<|pZ z4N_7Aq(MNsyOmJ72aN6*U85VMyX%?X&-43te{A<_*L7d#bspytcxFSeh_8R_+A^Km zWvB@h5X&irGAz~SoM$Slcj$@HT>)$z9ti96eiEng2k7Yypa2kbMO~LTr!Ebyid!xxN*|UgR6^*=_mfxXBAJpkN z+K*rzev{ac?j;@F8CI4q5tQ9oSvGM%zBwi{KP$K%V2n+pa%!2t!R6tHf{*rpn=CPm zkl+Wc#{+Bqp6+8NBcl&FWU9|R*Cs^$cG9g~3b&bgF_CW$D%)3l5E_1gMTpbxfj@8~ zU-|Dr?{W)6Fg8zPUIF4BW{mX@!K$hvN^`Q5sXY>-J_UClVb5 z75eO&+o0CnThzw6Oj^1xu39djQtXQlc;~+OX`5cKe^vK*(wFyZR^6|;zd!Q14w2%o z3^`1URLJq>|2ih+vT!|M--C`GI&w);eT4GPdT`Xq!lI!3x+^aPOHKyxHgnObT}tHYj5)^5v?AELH-dC0gxqM&Fz!y>XThd`g!v!#NXtYZ zfPWg;P;#=9|2w)S4U_E^D%&&^_WEhDJYn(|Ce=!@7RO2ZH~vZFcr@AEl=4tqP6 zc}ao$fU;7p@>jJ!`DHQEmWqil@r1zZPLe_^dDUeY&9}Z4ovynXk+wm8eS` zu`p{{$z6|Hf&tKy#cO?)2KXEJ3>1_RE|R(Q(3?+Q@!HMK%5aKLI-&JBed~I+o$4w& zK$b^S8OLko5h>Vb?aJz|;+%-+KQa{Zv_ZY25L5?FlM!x1(u0a!Mmn`Am~pM%4NIM8 z?f9S6gVdusE4PMvR9@PV(@;?JKu@xR%?gj;lt8=n^;k@+cd`0}Lm9B;GDJLJzo8iF zC%=ri49;@qmc4VoJhDJsjg9GMw||sd7oVrxIvW4gYOdb91*>HAMB_q>LzOy~ZFQ@9 zO*|h2r_xmdB@WwqUrO0fBg+LH=Fc%`z)#|t(2hQ1+JIYpe^07RSRU>DKMRd7-*qcX zVgtZ{)0t9jZG@#kLa(WqxJBLg!jqX@@#h=_)Fg|<6ZZ#M_*E*wRGWmrX~QTDJXbVZ z7TJ5wzDLt#e=9jx$iCJy|N5%F7JupB8axknm^-d@t~}tp_b{X-x0xGcvnmTE8FZ{V zst7VH{MsMGYgi1P-8JHP;y+)}=wezsu4C#D!qZQEAY?-rMbfzJOt|1pmv;J&Bl zyDk)5-gG!QoEAb}bwo^rS2+~ycGC86Of+>|BP;p4cTtu_L~Qxw%U@e0n^OHEc?BfH zco1)Yu9cDD_zp6~e~sHiZv?xK(o@}JLAXTg;$}QN$q;*m1M{7Ono}U>lcD6M(bi{A zt3Si7cP9)1#{y?Or?W?NH4ZmNZQo~kT4$$cUXf_+PvX&oFAQwJEh=cs&#kGhN|51Z zwLRvwV|m&&5_)g9I~_-!DV5E<3tQs~{zEs3yVud($CdEb1^d1)Q=PhCPB9p|bKz0~ z&*8fgPPkm2E`6Ic|WA-p5&$ed>%NQt|ij=O@*hU z3hijQ-LL^`?aR3m2rN%Y7{pcQN`H=dm8#Z!y#86CT|Z!H&ao9`KN3jd`jnI~lq(1+ zk}kA#qGsO5Q5S>HIdLRsb-w*5=}6I&qUlUdz+kJmq5Abl zSB&o`h!k;?)zl~+!O}Sz6P}jScY+eF-#gEDMlweb`m=ZF_Nj=?BiRR2#?8py^0l_d z@%tKB7pYv)dQIlqPebL3MrUMU!dqE6ea+oxpp}$vq(;`$Mssqt@oN#pGV7>Z@NrQX z@n69+ne#jbnicX_A2YzYu5S=rE2AwidIrdVuk zkoq0yl0H2s%IiLo@9u8!6_LUo3avGSznzE;f_@6*&aw5({m|02jI z+AqATCV6?};&_No>)Ao=bJ~d$b*8K`mf?Odo6g+R@aF#SFKRmEhpKKo^UTXLnkTF6 z2vfAHTiipjw7WtSIP0Kxf;SqV;zY!8Dea--CJ?+;I!`h{ZAn|8ly$3)6Lj2IPg=pk z-?=X3msvE`dW%g=(-Yr3^nTf4zUcBF(o(`azSk?^xG!B*(T-hx@?T3BXkukD#XW%7 zn{Em_M@m7w;dc?V( zP6p@swXcy?!$}9Tx}cl9JNumFNQS0Wzlz%u;``u`AKrDBKSt5Bc$|nveX=d$cHa9l+%(PYLrzp-W z!8qM*pEv(uG_NhAo~jGqJWv$&M3-99MXW06_5@v*G+gkXe4M`>7d^0CW_B=~9e=oE z>pzZ@LpoOBTqj}xtToNQZBzT(u;^%>ND0vLaojZ(PA8}kCbeayF{YlE{=VwIwXT2a z*5Z3T9|pf>5R`5jUZ}vwtB&mdgK2);{^BQ{hCS}PbibMQv?3H}*Y$t^rae>M`k6pe zx%PHxFw%ByW_|Aj?810zux50}pY=?#a? zS)xM~e@{6O!cEuy*m<%k#Q zR52T;ZQva8Pg4VnNWKo$#{KDA!NpI$>D@K>SsGwvwz3y#8X+A#hU{xKvM?h**!IIK z9YF~&_B_3~M!K3D8 z6EOaq{wLVXA@@b2cr<4lBTCkQ;;F_B#T*f*o?1oA4*exDQY1 z5ZXDFM2GV|5qP5@qpI-nLe87{MvqdFLbq!&%&kaa$#-7Mgbl3WDxKb>ixs;}UUW!D zh|~=#?2}nR6qf~C24H1{Hsu>c?c}4oJ{rJv^$K6x5E^OzoYF=pjuLSztt<3Nr9|fi z(fEh_&c2R+y$|x1SFpSHm9WgJ6kYyY1r-b3DSg&NNUl44c`kw`fA7s_XB&3!uk38pU4q;PTDl8RJQzpf>zh}( z3J+rdWn!D|z$2U+>%rICa-W6OKc9zdu;uv)eq1rHGVh3bNMJx3J(b`5Y%vNh>;#&f z#%~$uR;b$z5Uu6lr)nASB-k(6K{XJ!*KtkE&(;1P1rUZU*lbgGe@|ZLc?@sVR3NQ2 zTQ-ju93O>}78^+K2&Ul9ti7+zlm0O6?)oEJ)9Q&bUx|BbRx8CuX~u`?Q!zOimQE>> z-m&;@#^CpbJSMvNy}!Jx(^RD7D`TH!eeD}AJJr6mRcp;%AD?{ew==vyx;Fe{XaB~% zzfmhioLz?1dHc28G4=$=q$#FFOC#dd1+U9_uRtl88?NuIU++TVfFRjj|iY zP$0T?EStXn3*X|UUHjq9k}LikVUz^?R%iDq}44(U|g$6Taa;BBWtLRUooq3oHugNcG|Jya|lg={Vk@63DdC zdGf*@bsq!e`BH_VFtE&Um*Ht!cc}?;vfFo-Q%5FkyB1sVGj!f338z17SC%IIt@|E- z(|gA5E}mty`#Jz8aD4nYdbFQgA7}Bv9Dbm4W8^lib80vT5oce_sk0jor!LvR>vJnH zvTTdnQ|u2G!&#!jyV9pRYlAt%2>!h0)S5*176I^|!uvQcsXepaq7!ExJxd!beIJhg ztN0T~>fkNNi2UM6dQ_g`g{Rc1%8*yeM16XyMom53bhzDYTV0w!QO;&0S=(>maZT=} z-@y5f)XjNvnZ$b>Mx>ULk;M;>Ps_*=2&4WMr~5&A*?NtYcqW}RbY;laYQfQo)@v(X zEON}qMgS6nv$j54y}H5{d2J$+@^sC|HA+b@iPwZU?w@^3D29TmV`iSeioK}($q6}( zqSP0SQ2E~?8csKG-k?tIxJCs zU2VlT>sC{V?^>N5`>E?)pD@=#(wMyEEB6~s!%xtu8YhP&7x~PC_WzW_I(~wm*c@mR zeDPXBM6RlKYiOJ3rBDuiv3@P?nmw3ElzEn^&xJTjoG4tDIJ%1v4o8_f4d-9@tBmmb zp`OE_YBd7f@7u6*SkV%w8+slT!~?{HupwctJw}@$-I>>@+TkWk+k($s+YCl##Jt2N zHbfar#k)wC!0Y1Tb>ihCyzEF>me~!byQ-*6FSC{iDh?3PDy~4{)(lV`Dtr44+F_gT4f^5RkT>7%y+1ocUNQ75ofD!ppFE~Q zdd^cY!@WF!dg8bk3aTm1yX$IlpsEGmbwJtB#qo{X&yoir&wZEPw*K6?YZ?DZto;YR z7WbNYGDyKohp9{heNc)q=?8Li0g{eiFpuj*%*KJKYK9N;7a%cw= zGWEqY@v6Y8&%Jj~(Wc3GfY@%9U=tgeiE6sx{GJyZC=^U>FGa60p>gm8u#48Czzw+D zjD3@{_}-^0*h@}lq{3|o1I#ig)S>5i z)swGMvp#C2G;4*L%q1_%E&Qop?aubz=?NfSSIDvQ#EQkgv-)sQ@!^Mq$08$I)V}Dq zY`l7Z(yzO>S7Zg;%O3=f+s^;`X&1f^z5lg1CM1s==sj4w{QPscCJp2)vOi_9q;bQ$ z7RhSnM>3%Y;l8b%L-H80w_j;Vr`%!bpxF`f1n9LtZu4gH`mA60m`>qTU-NhPJ~f*U z#&~Bbzk7`6^tr(au&nxf@@&gMLk_>f6S#0|&p7^J`OSYzB4$Zy^+{C8^1oBDG_YTx@D6LX&`puPl{SGeS^_>2u=++qte?VFb zUOaQv(cJvpA*aE_K1U1wB1++gk_lF1VJ1+qt~ znvKbGH)QZQgHL3|lhO3f*>#UOmB^FM@-(KO6T86RaY|$ca`k!H5jN&ZtR|S?Ckl3!vz8O|;IWcTdYPBMS;Sd&IE*SqupQ^NH-+W$a zdjyZsuD1uhZGu{>2cdVYN~ zfCuX5J96JU`q+L_-(kpt&(|lK6`p#Ne)Yikvaj8qWlRDTOmH0)>pn!7-fmakso8lw zK$snBY*%H;=(&wdUVSrGP1{|1fW^&UR<{=g9p#a?beFw$^4X+9ktXnno zhxtl(NWd)j(fk#lqwtJo)ay7IJX2YWh?(LyPqwwrn|&#fVz1sO2mPA?UV@O^JMtA$ zq{$}w8y^6P_$?0rpJkt^f|d)K21h>!h@@p4yJGA$lLov&i4qM?(b&kYzkAf(?l_-0 zD=T;*jrx9J0X?l0W ze%@pE>)_|2?%CjQTmTD5A}3CS9Jk@>0gNX;P+o8j>E=lKY3x50?Za6jNp9>@-E_Z? zU!^aX_8ee{e$lqQ&RtMIQo$=@X=AOV!PD?A!{o`d2st&m%ENVRip*^DOZto_K=a`W{RuOeN--^%pQt>vd1o_DQs${ri z?!xEy$!$QR6D|>@;%&)&&$KLOMSh)GmyYsepTbfzTKev4>3$XKbmbq>8@)a$JvEml zc=Wj3_4;MkSpVag;?$+`Pf>XLJUSA!?Ke8{ zw)e?mb&0~sW992|_D&I%bcSl1dzd-!yXlH+C+hCGU7Yfw*KpjB-^GYW+M?5{yx);_ zn&Fn}(@$((0jJi>*F&ydS>Df18BWqKLf2Q%vq~#pW-Ik`mA<2^81F0)tytdo{dx8E z+OG1?Y-0K_)-4>@Crl}C?Gu^{;GoTMx%n@P67U~3`HdGyJ1jN8LKY`K%U~shMt_xe z>%jUaJdNYJE*nSBB57pU#rzB1Dt!t3nv2+B@i@_%-#^tmC{|&1o2*DHQHP&?3cbqG z*ZplnrGFjQCZ(&^+^&zW@To2FUVV{h(xprau+#%V)z59`v zZxUJXm}(6JJ=2{H@O_=K&S~XQH1L`#eI8AxkEaWfV{Ng5h%izUE%nUu+z9V!F?OK! zKICt3PDQ8nI-DB2KIMJ<0fJr(yx&og&IjVv7EY;1j37)M!VkVa-|hBe3Wod>+@xt^ zzRo@=_TBZT`W&?w;L&tb%nkm*tAk*# zS+subgyOR)QJODEYmMgD)xkXj-R!rZ%N z7`Xx79!Og951tnmYe1SQO$YA(17NFa35;6Z8MxTqWx zMI<#INRy%tjX%ORA7`N$Gj7V#3uU3*>R&>7+h2@48e1c`i4dHHuu!%mzn@#RyWfdb z_*iqkn*EXFEA3>MJUcVYI>vE$A25OL{cjrM!wMpyru*TM2{7ep+9J}TJ@u28oO8>k zDqu=LxmLt)(jQzM^fZG@!oU8rdT%^+FB z(YmsaL$Qnp5_}o#P}A2}=c+mHI}|nAj@8IJ`wVx~&y!w8+OIyEJZgv;^r#L~=xFUG zO9+ugo?=mmiNZ;*9Tgug)A#18-P%BwZYOlB0F26O3tkBPAaMF>699C~)}{)uYxG?5 ze|drdfH#}5`ZD$pBNoE0z+mugZNI600NCzYqpia>uiZz7e8rPX(1}+rL$gR0a4aye z+}rBN_eE6*vr%O46TAICDt{Tu{!TvJ&8&OxZak=1w1@T=^&KEt|4piMF5^wiu}8JL zEz-~d$d^skuvn+Bm0f4Hrd)%B*@325(T}HN?g|IEMxn-i*MAuaUJ&fnT_Te2Xf=Jn z!M#i$+|zYka_+CT#eh33WpL2zsq#qLgwI~{;$0i?b?{T%{EC(CGA61Ka=Pvb3zMUe zWNiayH+^sE0emMX)&R?-)uxIo5x4rONFKjOJI)k&1G_R1Xr4xxW(E4r=ekWQShNXF zneEc*)7{j>!9Cdx{sB_Qyg<5uaNq*JDVTMy2Ovh5SB6w2rj)h(og-H^`gg6v+}-?* zDb)?w@(8)L&=7fRztO*}q?RWP_3zfBiReYv)Oe3(@G-~f5_^Z^nv1~@QSAXcm z;A?jFkjr~ox|d2+F&9ZuYhDjg6AL=;eKA3y^qtbwhk?yJ8Z{rQ4^M@)S=TpZc$1i$ zo{@0JUtRGBG9DeZ>5A7vgd_Lc#G(N!`J46v0`9iov%FsxPX@>=&G^ts)Q~qY;4i z;&Jb^r_&_)h4V)%zZxYrXf&KOi!l-OI0I2TF#Nbxh<|P#hR5r}>M!&gyWTBPVD5^{ zbbP*xKT~UKN#krT$2#LD0OO6)0sZr+8uIjrJCBWfptAggGo@*YA(((v1@)BjJ4tS? z`qZ1^T>kUA)cwz^*J+ZfGx%n3cg$auj=rLh<2=U-PYb)qF+mkg?<>n~n!N1o@bL5P z$mU0N>AkQ7EBV=qeoEckg7%Hd=@H8%Ux7dS#E#IuiV)^3^|?RpRGU&)S?W+F|3T$S zo0p>V8%Ze6s%coxcAR?)hh=$%pQgDOI7>+^wB}dHRIr;-oIryIB$1LY+TlMAtKpb( zu-|?y8Ah~e#z6VUwG4`zA2FrDIB~uTv%9x;IN#vOu~8ir`fq}ICMFp5SSbqFtL*<< z!RuKkbVJRm8c8|*@yc5^^&vPlr|HHZVzP>}a1Am0NDKg+RWLUKFq;AtBJ#)$$p;#v z><*En=w=c}hK#&6OA{jX+v5zdK)Pk>_8rI_c%Xy_huB1&?DO@8Kb2Cl41)?y%5g|; zhF^DsZW|MX@e2bRu$yI`#x)z_?4XF+z*s#tvgo855g*{)J)4z-7{XmGnBki(bf@k8 z|6DO|W`b_K=E-o>Z~vY4^6hy$aelWuMvfwDgnUc2g?@ zsEtZ7S&MpsTh6{E1b`qOy*g4eJMPTjG`-*GndJ{DP3%@iJ|H?B$^B2%rlEQ;X!$DW0}I?vBVCQ(Y?fiT z4!MqOKw_o;qYj|jO9_id>7eMa!4(n!MI;SYC=QMXEaQsg!n`fW4PJK=A+IhMAr8lU zN$kF^mDj1N-fyF;W1s_AYXT2mO=Q2rgSIg-xoUE7x260$i7%x6YgEMC^^x+ibD-I( zn&0?~1l&O*scpmeP0B8;umhhVxn0yE!uNJlPoE(z3>V)y8fezJ}Fe+$-OF z){eAr93LjoPA=u>>>UUH_jwkmyn4bPuq@>4+^>kUxDwgMaa$O1$}=d3$DRn0G+yn_ zx0bAp*;7`U?|m28P1^oNtVsd~V|%EYTwtDNa%p*D_LzS2bKgH=4PpSQhg5-yBmHok z^;}K|6i3!Ft(uDHAYr@8LN4W zer5e1GxkU&&AO{UPv&0b7-W?DE^_DroLQ2DMN^!L^_F+U5~l?wx?;KHmjttn z$d6aHB)fVYkCpm=3Z^P=#SYYr{16cfGUAeYe9&tkSL2;4vIg4!GvZuO@evTNEuHQweb=Awzr`BH!6zc;5GqreK1cm5Y1a>Y z*Soc+VWnu#Rv1pDj!w@mY%;nPa{l$hb?pg~HUhe;iDEZ4G@h`1ZCl#xM!s>Qp~Io9c0WN04^?6~c_44HyW4hamQ&Cu+3DlfvhmN>KD>`N7oYzhtl`x2(CY*(4I+fS}# zxcqhbelNr7OJBrIZbw1h5~kxDU%LpAyXmL8!l`px zv7?nrUD*~vhvp6pY0IzI=+mcIRhhEY5Ae3^nU4Y;@tXgx82*U`+n1fQv^5XVWi7KC z9q?)yx$XEQ&(~%cQsQz4`Vuvc`ZyXt($pEr2^ga~EMI}~(U1BxyJlM9NP@}V{f55U zl-{TCWT=#e(_7ohdkhAC20H?tFyDI01?b$T!&Vw&D|LH4dJ`c~an}w|?dKe=uf_xP zi>N;cmn1{Zu7aD(7H!FaTWxh$I*B*@Ll)5O(-ejWf!X#*#0*#UT53ZVP1$s z{j%CovxE7AkLC{Ae}@75Xpu|ozvgh&3OdnNT$=>w1?6(nmszq(=jW(Pt=Hh%csEdv z!Y)=3?1EwS{@u<%zi+q~x^L$U5xjJUyT8qOZJxMnd9e_+&pt)s{7)v;-)$lOuMy6) zaf_kvAUazqLlcP8`Rj?YA3Hb!l*&{!4)cc2$SZq86An~bdY7H{;Z zl3$N3WfI+1`1MrC@5MR|?{{zQiM z>%P4c5`c|10!_!?k#5yRN6gzn*G5-V+IN@Rzq&6=sQJ~;fo`jKnfgYny9uw3DT|L! zzM(7ifoa}W#nnW_TTk&Jn%HC=tX!rlIr$FLq1{*MuJGL=>j`;~{WAJDlYa+D`w! z|1pk9jS~orM_Ln7bL;$x@3sxA-z6x;mXrzE3q_j3TGJoVX^cVDYXGf$8t{n-K%4vs z%GQd2qh*7jJ=RoiL&hDx4l>TVkzFYrt%+oQ!R&aM`!Jo{=g7MWsKm!DDh*a`{^;<; zE`(vlq`iWg9ugw&SHSZKH&%ZRfddaMeeK4znyWB0@bzGD;7I&Gw)IljeC{)_0ebmF zn~1-W|0v$Z#rE+<*m9x3XJpvOU$C?;JhOp|quT2g4WAK9ii0&%e8|{y17~X5wQKj* zwgan+MOLie- z>$$$yx)-A!ZBuJbGr#6lOp6YP(9I3Ekry14fGTZwa{hDCe#e=vdgrK{6mY3Kc)zrj z^xdH9YG8f^7WIkbEH8fJ(E4|0@3o9E1F6;G0I_k@)7{+N6>-<=eA_F;)quAKVaxxcqBpIj8vBX8EPJf_ zjyOHdI;Fo2I0&F&VS$WfiU@js@X^+ir`jtwZqG5!m+LZg9T7@iU%Ex`*d-yP=gF7O z>~x8ifYTWA-jJCzxR z8nr!*^{kl(ryQn>h^di*xykqgp>$KT+K|E0e`I6aH$Xk)W+=c`)=nRy88z&~Sxo)B4Q z`SS?VrC>My^tVlyK+WtwX#LW8Wgd!JWjdyQkNy5jWjbw9Qo|j;MiI}#SnK-$u63Dr zskNW4G4UNopBTM;Ks;W3+Ri|ro&sq9(2uuW##Hj<@nVD_j9OhxB;x0ThyRU7I^AQh zb;rb>idyl|Z%+po54{YZln>+X)#imWmx?DjgST$&*g{{5Yf7>WcEk|(CtMWi_w-lG zCw?NTv_i;URqmbv>izxk&@r_+ny zjkQX!g!rf1`foFxJL_Q>KUQx%P*5uPAxmz>cf*`7UDU2PAjp;cn#%FO0U`=s$oS=c zE`7e~v0b&mFw*~K*&}mG^-cCL3-&T>DXQtHVG-8<=Gl2gub1=st-c{5 ziq*=-B!qI+6h~TBg;M5yf<|8k$pfos$C}B`)m!@(eVu)+acq-lOk{WT#vk6)sHP3| zqsYF)zk7ciWgxYt;jT*`)SNV$#|ZY*cu;dH|H~(Dy5&x-w@`YY*>v44qP|KcKyK_7 z&#)2s(9MKtS7tyX{G$q^e)H+A$$ka{6ZZkh9Eo7c%Cw zF73IqXPq$^?uR7Opm+F-@t`5OVms^HRyY-M{KtQQXR?>vIBQrrSh9s2#I*K-EUvMk z9B)R&f3LqhGe?f1Gkwpr*0n#2@;?L9zLb`MrEkL@(85rtD65`^A#I4PcK?H<)z_=H zeIn;c_YWUnHH8luthD|M_THvTWd==IZ)pG%n5@)tCr9hDp7gsde`8c6)3AHDkU&*q zQI;m9x!uuGIBD2p?J%FsL8nZ*$2qHu3XkXfyEXJT@;E0dJmheFzG@`5J3hw4ym`k= z`;A(kiPdoYl;@O)u(m%^DQOz5&V?y?|-3vFo!o zzU{xbhP=>@sRE!sSi_7zS;3&UczLHVK~-UGgEMq4PTy+6$?*W>6QJJ9LHqM?%XNLF z5W@W2zpqRL{9g$6yii+Y_u)d@RN5cPT6=r;s~1BndwbYyV{g;e-;)e>Du5PgC^c8oaMnj z7;=w3vaS_#&AVgyq`VNlW@dQAIm^rz`OhiZYjJVKs-oq*dj}zf*zy||nX~d6@c1~c z(k;3(!@RSVs9IEmle*8gNtfeXfb*A5V@kKrK#62DW;j3p(@JOeLKwO)(h0vX;t`&s z@23})96=2D-!YF+0_)|2g9&AT^qb|H>N{xE`kJ4hjJx7N*Sob3q zN4X>Ph4DLcp-w7wD>3xRqNu-f8%9o5ADjAWBHiL5P(=b@?&U z&ETL|O7tc4VpK|M_&-oV3x?zTc@;3t2cbC;09kIMlaV?2u83I^<(Uc2lTA~W~_QbRl>0Rs4@3HT>_g{X|%^RZo#9kAIh`dL; z2Nwz@Mj58-J2r)oo`#2KH|dYfwd@GB9Gl_JFqw-ege`9j#2OFJA(;miO$~&et4{4to_xJozf&FNI9!STd|19F*FlGV#s6w( z!GM!pK}XvViJXS@go7V@)<1$T1#=huJA+;a@BozgYL~qxCoGK|M6vC_S?{BAf+cnp z1kE8BHjW7GLgjV`4HiZKD+{@@s163dSl^)|fZBwx9yUdyI_=3DRZ<~G^EEeTdFal} z)O?m{qmQ62wW`=U*B2aV@T%FslHgdd?rUQW2+BiaIK(xKhzlM#U#i(Ym>$#G-iwa9 zthPVx`2IKSO^xzy!h|0h2a>w5Lo=@kW^Fw8X)n_K<<#oHJVN&PIg9!d(%BM8bWr~K z==QJmObM}Pd~Q}&6*j`?a5juvXk4A2XV~qh*apG?5Ze&kvP<+f%>Nc$0wVrY zT=E2H;Ol2xsj;jHR*MO|Gdt4Tm%CguDzOiadkZagdeV#2t*MTkC?^A@|kG=Kt@ahuQ0JFso5{#C6~*R1U2YH`){;yqf-FGl-N3`zjW zJKHeHew(az&=Jp$kqzfGK7iWXvwzh28Cw?hNrnVBbzoj-Wh|oGbxf)s`fE4a1M7zI zkH|ei4mK|dQXW?&!{6`likQp|8S>YbY2h!EUR` zK8nHEo(j|LfFag_N8zR7BI!J7!<$3>##?!rTqzA@$xaW+idv_KFW=mV?R4+|aRK6x zI%xc1)zsM7G!z~(StaK~@ zO|q+QC#zfFjpFRO*y`iR>Xv?tWj7Li_IXYJoBI{2v$we!*=s7!GL2rJk2AeZ_RaJETyTK=*XDYf2Dj=X` z0=@mJ+=>6I|NOB3WSP!~2x`=p$8*ke>-Q|S}x1^NAv^uu9yq*#(@Km{VqPxr114!zyLmQM-Q>FDagi=ywt>Odv2 zyQI9djgkuhdM(M)0nUT4dDiOSSyp7bC=qRe0`xD7j?m!k=bF?frW3v>9!jeY26Wn9 z0}uslToSV?LOP-?_HF~AOtB*1h+WpL+Tlsi`n}GFr!#L&p8S0J*W1Z^@x+A!=5Wh7 z^y2?=@%h~15>*4ag6RZ|=rtK{8!3ctM9 z@rk7Y5D>!)2?XT)Wav7aH1U5F^bcH~Kv$nC?hxDG$>{k!)j2b7q_aV$B5nea!E^#) z+9WcJqqM*ap@0(JcZy%kkNGYfLRJ;k{lNbn(yl3^&58^V-61|{L$p71>rH9fy+_)f zw}DH1atDS45H%g^yh8?@Suh(<+?;?q6Zj~@H0u2EV$3-=s4Jj4x)_hs%^^q$)7=mW zvr+rUXTd;}PR zr!2q~-u3ym9!Q)8J#OyzId;u8*Vlnpb!BBLb8zNT3iO%?M;+Q1@A-x!t)*?F0QA&8 zR3!lddDcwOJiiV|o?pr7R==ezcQJFIVwM!-Nn$-br}JFf6nlskALhYjIi!(jaD8~J zRDD6_d=D^>Ysy0R+}%W^4x{kJ=@WMHF>>9Lp1(Z2oI$)k0`_y6rU=XBgrh*z27_cI2qp!?Na6qe?kYE(Odsa4n4F- zq8S-}OGu(P@HR8zwPpT7xdez};R&HlH)R&Q9AG#r3R};=G&guW=Y0_v#_hmXuHq~F z>+dP-*pfTKu>}Nl>GY)ai1sx|_svq<+IXzC#*?zLy?B-kpqHx6e@2zu6uhVIeF$16;hZp-Zs)2ou%|%L1JTU?D$=FxM6{P9Az-7 z3@X7Kfc8WaTtD)o4i#V?b;d&;{bnmr+?L+&Zo9qT0(t-Da!S=z@=*Mpmz67N2CGQ| zP$NH4MLcw}25OV$S~%*8;x>V&V+$g!MP=A}YxA%uejK1HAZP%mi zBHQ4&rs(h|<_C+&HVn!Qk?Jry%7w7uh%rDteYF~GnUYH!srfG4+;}&6In(dBekb^KRtu+TVS}H|9{M~7FqVU`O|MJs7Bj1~NMj)S5E^D*o9k;tOm0UB>DnyS{SP@~iH)>Ch(^rEZ=uCwv&33Xg49hq2& zLBDSS`V?zsvqa{4#Ee)rfA3AAl2D0%z)6Cd#1F^oC7lE2i8{VlWePu$3RYkwB73Oz zsaXIN`7kkmZGO2oD++EN{LXZhUUJ83oPGk{K7ptmQSh^n=%}b_Jfd8NXWD&=^?>q8X9y~qyi=a!)UH@-3v3QfM+(LQuwaYXf9C%a{L~qg#Q9}DUw8{s zSTBj5OWZoknWNnYpYsZ!swuTWiR{o~hPp$yxO#>J z4d2!F+t$WVmhLV1zSurd+!LzXhYJ!^wz9G=o~Lb!sPFdle9nET1QJIVx0qXgOsm4a zzIgL;Vb6KujetYjM|b77Li{2;;rDVhc|F0B6wHD+04jdniQP9`N_qtqmXh*ORoF|V zB!mNh5ukv@EaenX$93RpkTsWO=W;zkvZsgef)31$@-Y39J2JmJ;~? z0R=(&zWD>=9P>YR-q2S8;*l1{KE@8p?PIwCu%Ylt9|1ttk6rt$;%61OVKOb5<^F{o z3gn?dJK{=zbX|$we!KOs1;%;Biu!|?;#CGm(~!@tx8A|)J?e>h05Yzd?~xxsJNmH5 zQpT5t7NU0bY-Ulzk^KTvrDDP%>sTgNrT+w5nzuvPlX3I>zuUA)~03y<>1gw6J(>V!HL>_7a&KV(^>>`=6@R>LHqm<(qL z*pAYo|1dESuWvaB<{Kg#E;xgkP|IK!-U5oSw!Q!<=sTEX(GQsQBRRSc*j*?fSoEL} z0<=%gOj6qpn{7L{1g;2e+a^8Rc{R}*0cPCB?ore<84)FDX z4}2g9+O_-HlH1gldY8wY1^YLWS;C8WHvz1lu-_m3s0BI9aFVISnl*=;Yp=Pkq%??) z`x&R7!M48e`T`qT?3P`5xqb^=H)yQo~^#RTRY=ucqz zQC5KSLSeUZL0JG=(RMIlo0}P+esl}(RAL=KpP??x&kHZin4kUGpXI!-yzCIN)ph1ln_!)7Fmw`jby~=ZR_;x5x*( zAR9N{O?l1`@IRk-O6_6N`blwo=LGdT?CPL2);kUAM;juvV`|N41h`9iMIQJKJ6c!^ z#XQN^7qOn9oUSthge?GYQC3mng#AbR3vfpo)`nlskN6MuOB=a=%X!+;Y7idsy)I!` zOpuQ=XUOjwuOKMA%UH?UIR==(*MH_!(?paIvF6+T0b;aA>p0_odkkAVU zY4G>L4aG@%z)mnw7#Nsfu%KXK#-xC4s?$%g8gT(iZ6~aIz@T7qed$YIN{5ZcY0#Aq z>(#~AziWmCj42K=YGuN=U=bmePrMB9D8cJ*xQho5APd_%U31M z$O}6&IR6o9dwp?Im0y0h-1@Ew>(#=Vgg}>+!^v-b>jtyqg-QAzrd?~PZxp*dZ+zn$ znMnluc-(QTsUOYqVR4KF*cP+zaq4Q*)8v^3$W=Y!_Z=DPnh-^El$-XpGnRZ*Vg zT$Y{-kUqvC9$Ph#n!8ARbl%T2Rgt|YCq>Nzrdq!uDt!0Tl01uBjz0-4jvp}GK0Ya zlN7L2Slj?~WrD_pzGQ@4YVp=}ShL4g-qa-d?59tV@{@2jO5RDGM6Xz(S41g>P3SA)$O& zxNz_YY&#yr+ciNf56J-j$l?2Zd}5nfz2-;;Oj6&jwo+`I_aW>6+`JM&JNb}9uH z%-?(Wd#Hfc6A;=~e0HNQ;-<|4y)uB8u>i0EfAygqDwx8d{jg{rNoQ3sMz_(HGR&fG zy5%+=w*X}VCM8`49?aJFnN1(NpI-tb@tXiQw2Rn)+rer3i@wPhW;#`%9Xm5Hr$9f4 zt3!Lv!qyjlk?m7v6yfvy#v5;9MjAkNmJ~Ss+;PVy?)R^H)vJl!e2U*6e)yq0J~lmY ze;$-~w&=@8AAig|^V~PNUp@8ovu14B3aFYSSMsAiMQkeNXBDJdmBRwvY|RqpTeWE{ASOjI8WphXnG`4=eN3|G?_QjvjXGbJ?8} z!Z5?j%;!G;PizVV^FMqKP>%M&T(y+ieCt+wUI)A2IAb(LyM2H1XMb!ix#Ti)-^V{j zSxyspx92oYJaIiMs8*rG{Lem#Xl;L#O?prsQ2>VqY2nIt-N5i~+H^mYE@0cSjzD?g zdkCn);>uC}a-XA%voQT&Cz|^N?$O{E8XMXJ#$`3zk21^L2JXLRXYK~m-`bz}(JO5TO>vr8CbC;!Po0*!^`iNZfIBq>7FY}* zY{LSSoO{;UWYcWjnd!lR$r|7t14vGCUwr8$=BDd!u#+FXM(I%0bapTjlaDZFV6HGB z;eo9g7_k_8^|=|ibed*x__nuQQMe8pvOaz7MG(bHdX~L;aUJ;Ve2@YJAP&35qel*| z!Oj{WMf?cEPPosVnk?i%v|=Yget#4+e9a;9x1X*0b$)06JMP zVc%M3$GCIcDj@D72baZ1@1OtqpPMyDuVDs#mc8qgrw=ggSZML!JOtW6D_WYBX~|4| zfqtVIE-YwhA1oTED`X&N3GjJx!uk&Wu^;;}J|BQ>bZegqpTm6&at=QDpsFlw8)x#v z_&`5G-$q$};wOG010}UdL)~g*|;xf5B%B++CNKb)X&d2Ko!q z!VVJp^~98QIau{zp#xiueu@0=-S|MREN|NM00Tj^IkxC=aS;}C$o7UCuHl2m?t`5y zvCS3$sO29T!!Qv9Auu&*=PxmhE7G^^W=-%OW#A8aFD1`Ln(6$^XFkI~YW3<>`2}ra zQX(dI`3@eo;Hmuu__8^LbAj0xzVJo!M}PE3*-oP^jR15PlxSIujrEaf+6D&snCtNJ zv6b#UH&&sr;l&pEHLrPfp0v!}7^^bpVtxZ?#9>jiHxw3(dF!!eluhEWKEdTBJUoG+ zmIoeYAeWsxewgj}W$qWD#O3FE>@KGUG7=v$z?=(37VZ7t-`~k(1I82D3UNePLK+x1 zD4U#_kaQq>v;!+|+2X)T3d!OrTFWqZ$o&xb9rF_UE7nQtxd?Xp15}1FvOm9z?avVo z$`gLW`ir?p@)huoHkp{1r8%#klogEs0alc-JM*9a`JW8P;ga}U&wq!Dx^?Rgmgo8B zU&!@Bc~NeRKiQEO8|$aKKhB3ph3v7weU{S$ZV<09QInhsBx@1AlD;704Q+w>uiOu< zSs23dWnIejNbjD5Sb^BFn}D&7euEu54caA7I|l5omLA(aLNS&lcjXWh&qq8qmFM0P zJ^^=XX#jC(-8e`o4{x1kH;V#@VUUWp3;RDznwUJWwRZDux0;JCus4DNt_>0kJV5L_ z7B9TO-pRm5x;U%_hCc?l_RZmjJWNK@v=s;+%GN#+hr@XLazMN$Snw_n6bvY-blfe^ z2aF5C$W8(VI&9Qo8;->S6CxIhOD?&D0U!fj${bs-u=NMP0c(tdRHvVIdd|}D4w+Ve z)#wpM2@?h;WaI@o%3<5Of%f{>zn;s?uF@zlAGBf>+{R>&Jp}gVi0J?r7H>Y1E)*L8 zbhxmC=L&eK_|liYNVeXWdI7mx9>@Sn%0aKTH_+j+AnYCVuAf0Oc34&&y^0U84h_LW zMj5mNhyti#%knpVK-G2M6Oh#a5 z0;Yuf?Ptv~cz2BENc3Yom@g0yOuE>SYmkeyHCw$Tvv)_oX2mN<*LEN+TRui}n!U^j zPiV7KSaO8<#y6ff|MXA)#Bub?2S(&<%bVZ)Yn;9)S}2NTrg4XcEf(f-xsXcN31Ptg zfe40dthh02<`*|Sn|+bDY^TDO*+Dd2%$d&rZ#pR?RV2|~HR(gVcFZUy?+ESZQ1 zutt2O2U8r#4=nv4xnsm5qyW|hJi@3;{d`IvenTA*7dyoGyY&ToE&)o6?AijbucJCZ z>68PyXgjQ}pZw(CGO0F0>mAl-Fvds+_l8_~)n9Nwx$hI3AZa#rfeDmlqRBjHAG$So z=QQm|uH%c94yE}D2Q~9^I222Ez<2D}#^VGEByI`DSt#^zth3|e=zB1k#I6we(x>mp z03`#v=vUTWy!68Eg4}AIkE+%;$R9EXxdkN^>mpug8?=-5CWpCK%)wytg84}l;sSWv zK8ojE@A}=my+JHtooHp)<>pxb1(H0qSM2D!HG%_E9#@!;fD2ma?}Fn-y4aiWDGidY z-P=SUo6xLdL@&yQRyte-q(c0=?N14~XH5s7i$g$out@UuZog$EzykJ@28*sUNtdrtx5V5|bjpUfIinzYl%%PV4;voe>i^{M2a$3?>Flkob+CR=hF571$-0UT95JoRtu=L)nooz~jngWILJ35ED0)8Yn>Udg5~l2-Zh? zNf{>ZJod2znGdkiU%n3k zakS|WDKEi8<4%9M{@QE!qP7qNC6_Ttf59a&7(+M%V$F2w1&Vs%M#r5yaj3lj_y->N zN;Wxz2?0zAV4{K@8(u&i+hFt^D1gXw=gv9yN&}awJo31$s~h}~Ltf2(+yP#ET^x!F zhy;vn*wdq!>?fSeAvBPDkT;YT?6j<0 zxi6O&V^(h5mi!PGJFNiks2d0p09(im^V|_f97=iOAT!M!+lt#>5nm2agV9Et?X%BP z3S-YR;X#>2QIz&U9juRkI|w_OyQK~Q?2se=qRwvr(ij0}qU6DQ_d-U-Dy&=@GR3?# z+sT?U0PP?c>R4|L(CcTJ6k;JIkbrw8eN46h?C_j`NfQHDu633L1Am2?6FWV0c3~SZ zXfO#P9u_@#-niiW3vxSV8R(dh@v3{|K%V4_zhKAKu05Ow=hm%s$dMLkyWM8p^tlfh zXgrtD3* z$0ELL*_hcmPOhpvtm`Cg@7s$zEcJ;rWvdVQLr&rmK}-zv1X9`-51Jl%mLa$j|Tdz#F4Eq$|*Yqg@=!iMQ0Mqyoxq5(tm%bC3ZP=!3ljwJMsi=^!r;vk-u+W`* z?&$;;W@xdr+t%LK|Ghut#S2XP%{PC9*r9`&Aw*xnc@r$iu)Ree##q(%nCN#XaNyv;PY2J5Y#ahZA7{RPmWjCP)ZkyZ(b8{)l&l zQ9kWyhSX#h)qCIjEhdhv`^^LL1FFa$^@BB`ui0=G0v@jh37l`+ZhgzccRA)QsoMnk zZD)lBrZkiYOx3_*@3YT-yyI}*dFPPAflJpi4`f+5v<;jLVD}rlL#WH9dp^MmKMpA4 z5l>12fRR7y$jT4ph4*#`qF|O053Y5^Boi`}T^+=O9B?LNJDK7kzCM8L_A9JkOUcs_ z>Wr|`&XPAwM=>v>eDa&S_F&A&P8XD2>{hsUn8><;xew*T`8t#f{T510m5H5ght?6{ z1NzctvEwHcPSVzjN>!RU(cU3J)M>dFOZ)`fRZE}~{l|a&2QMmYV@HEjwt4Y4M#E;7 zlLi{XGbqbg)z}WII|gjw5fAo%(3k^*FqSHE36B)@CCHX0kyh8 z3|1F;U}C=Ey6ZVl974q-o<+ch=!-RcX`&1trNu~gOLQ0<=0ZMe*T4oG>z!R_g?*tr zKo~qge!Trk3l2d0&Yf17TDEM20XzUDOl|CfR^&jNE#^+Tv;#^DK+1)55Nro|<``Qt z!irn5$ka*0|2w*@92A9oKk|_q7_`eH3N$`5u%p81N#9KszX1@*&Qa4+bsMnP<&Uw5 zojL5pfiXlI!~6=2nk?9;)8%isKHsnU%MUSl;x?l}uQ#|@nW75FU$mnhAFy$UeeV~) zSeV41e3(xF)`hUZcj9gj@p*?1wg>bGQz`Y*bE3Fv6c7tV6Tn?R0yuES0`hVqx9ZuCdK{(r@FNUgD|o(#c_(&yvBUJt zGvCcU)QFN5THmH;w{f|pkI6bJ>#6`!$QR!MWCGNmc;ah$-oyhlM>$&}B$})%Ae->O zoD9#oXP!;ib?4rL#k>`HPZ0S5(>|0(Zm9M3 zJ;)#KdXX>MAAe=tLENADnV%^|6Zzd}iiVWHDZ zz};y9*vX;uW5D@>nKm;-QCQhNOCpa63K zj~fZJ>3UAtgAO}rY-1Y=-Lc~UMaD6E{c&-R_xl_eev@a^R6V{BsD z2&O4#oq3MA=cAuslOGM*5g+-!?|ttxKlM|`F+iz%fG^+lrvJAtSXX~<3+!h$=?qqB z?4iG4s~qhFIl%M_yH$Pgpa7fRR~=v;-uw{vmrs4_Q(5_~N0-`8oCOeXBwMyT#%@Hh zBZTpN?6Ira)FWcg0rg80dwA{T6TC1%VV|igNh2n%= zPdRkEZQC^U(?OOGF1Qx2q8QVbATg{IiKz(8j>Jo(>_noC^?HLm5Fhg0Nn;L*GwywW zE6(NcjzaCVZQBk$vw$`Pxr4b)ybbl!_{U=zUzmZ|J0eh?SG?jC+)lD<41xx0ix1$VR(7=T8`>NFM(z_Cqw`Ud zQJrCfg(%bRoM!^=PU~U9ggv+1Kq=aGXkyaQ0k&l#!(mrkZSMoKI!>rVBMj`mPdM(U z8MFf=plk5eK$h@0IuI~#j;FHI(-nZ>`Rv>Sh1@Yo5!7WB{(MG+%}&E z5x^uCC;&t(HelSrv}1c8`CWFIJ%sz*bI&ppvy|dvJ2O;IVUk2yki%Fwz&lNzP;jd! zCP*kJVtZ-4lAJn zre;tg&uK>|0qv(7%qeX8(HC~oB{njN!c+rtMqaoWSrghcL3bCQlH@M(9B$^uitu^={HNcozMrM@ZE7I4su}&*|O_6fCeV*$fFMD{)H>Z zH5i2AcM)Am0y&_sEFq>HCRq%Bm=6IZDH!e$mL0i86{qHv) z{J;mfzldC7@`k-Q9?Vk!?#L5o6`<^}`Md}0px@y|7e4w*Oey>p(f?#*-d*~8k?x4ymh+JCJpgaGbnd)Q=)3+E|7@1tn|#u%)) zyy{i26hQL0?#V&Bg~<@lMu4({)gD}R3T`X|J(PzBf`x}4|M(}`h$Vb1o9XFOF`3NY57TmJpu|Gmlzd#OJ2nZFfc=XNbiG3KSqMzcZ? zK~RXO2%ujg&R_V2Ur_M#LqGDv%H|JboKqINZ;Cw9KzoAiIQlT&2e?DLs4I-a*dWZ+ z0T06Q{=47x0nIm*KJ{KD7vcc9h1F@Uh+qRLR&Q~!uC>0!y9>f&e20t*rQcT0kUzW! z_o4A>PO1{({P{4LM=-u>8>!IE*kAp8ZYxxi2m7SbNB(i(Rd%qdX;GGDZd07e!FRD= z!7D->?>HaEY54I7&*Jd~apn6r5*b8z%o8Bn5Et4X%-8_fx5PtQYPHzXD4bZd=^(R? zdvX7bne#SjcVQ~G^If^30bD#Q8z^yIebv=!Us`ujd&VRMJ92bPFbiNmVlbO(?5TTj zef4jC{kH`upULj{wx?(wE^cmR|NZ~)dI8R_&p!F7zY^x>w`HKd$L!kG39s4L6S(9{ zM&e=P$A0vM`avfdt38b{4DxmV=l({$l-wbkXF;BVQGm-U3`Q6Pu?ZEfF<}osTos@5 zva=f#JixoL&|-Fijc$r%s{t)dWDtrbNR%lU0i*@S2m?4K7_54LktWkXc7%g%-Q*3A z3RoWeDarSHf9toE&B3GxKiB}K00cPY7G7S!qJUA1H~BzWfh=$zo1b)(ubK=%NeT>m zg%_3o?!SG50HTj;eISkJh#Na)twl((8$lHyEd358F1R53$VWaVo?-qp`-X4$24$rn zd-`DC8Hw$uP~q=+&%1T7hRd_SJ5Dr7fH8!@W>swm2X-(Bjx2|K0T2PyFxi`5W;>A( zm(La|x2B!4HKs(ttS40EAX8~6eHyd=rnNxzxKLA32cDVI>=3URwxX{XQUIR=n z&|l%%=|wNPSL*QR1T20kd)vQ$m#m11_ZvA`8A|EIUeScc0j3*lE5QFR{KEgJtliyr z-z7lu)4Ji1t18}R_qDHmwSv5}XV2#>E$ZlvZ~Rs1A9u;-Me7eB8PK=!3{3DdpZV1(x^T`*O|e_73*MjATjwaWVh z{#V~;ra=Nm=}`sVp^6LX7pq=qALggMuZlwq^iVeJZ{I)I%VdwZU1~tvq@tN?+IYO? ziXzg{l|1RcU|9j&Kl#az=ql0M-~Mi`V-O%HAKaCKM0wS#UMh9^;{u>zUWvYF<})0} zVMg?KfA@gK`{H|kLbD35UKmgB5e49>-*kKS;vavZ?sfBlJ%>o|K#l+mFyCS&NeK}j9R(u=r^eEQR#r3$V09<;H3I{Wy?KA{Jiv97&| zjBjHYtC0tssq)#+eoj_>Gxd@)kaIfh0K+mqSzosmVIJ0m@d>`%*JKmZ&QASk#(MEe zj0e^+JD!?{bKDV0?=39`;suFZ0Is6*qrkjordtP?Mr!GIxp`l}`_g*P zJG4`*N(bN-alt#yOJ00WJ`rKigp03DQGVc+=LdiA2Nl3$Vgyr!C06fq8|BA64Bk*A zo-OPoz^Z2&Q+Y6^9iTl^&<^>*9-QUYi9!Cr;J+(&k9R%o=~~B_j8PX*Snhc09pbNh zTg)fKjiVq8zzO6B@2IWhFx_RjK`!?qBunL}`{CfcmJ^%Spojo~+cJ5vl#WSU%^PYO z{+a;w#{`g_KU*B$;RnlU`%K&Ln7Gg`&~CX}(e!THzSa~^o9FZBE!ti__E$M*2m5_- z%g%bh1cg&8!FF>6&2Rn<+1&gyniq^)@Q086Mg+0Jl1%^p#3w$deH-J_t6p`lvhR>N#s{pfyz`yE zA;4HXfQek_J%;Jxl-1w;-QQOaEWB`75$fT;mNAU0aCr8<-#74%{5(%wj^aYQ7>#!I z9#$-DZ_@8%FZ(GO8>M|g!BU_eHhZti*&rmV@4N49IyR4Y`#PTitjC*AS>89i;h!sL z2MO}>m%k)8x6-~59n9tDBjgcbz{sObq2B1n9kK=x_N%a|<~@M6@2=S7g^#Mp9?U_Q zH&8~T%{oTkq>E(4fj$8C+HBVM1WcdK&zgABlb+-VhjK1|RVxIWn_^xk{e^QS$QF~W?YF49Vo<)wG1LR>BAw>(s%bpC zlAm|LJ*xdWHaFE!(6KP-prgzS+A)Cq)_cS~TXss=k>|>?>PyrN21|@+@BmFXfC!x! zY|^V=^V2#}0*EW;q`T3IT*jb+hq?fi|G^*pfwC?b2-NF~Ou#Ui0eC>1P#`dPz2z-$ z(Ty-zJqV5$vlqVTN3yrQ{Vh7EeDtFq(}SMsE-bPB@gM)O27$>4Z0SGx@sH^;FUkh? ziNKw9gPfefcw@kX(vliX;sFfH(@)N#N>?oSQS7WfJp?PS`WwNqHV%`UmG*B_Jgci+2_HLF4|Ak(sCRx zfF~4{wpYyH$9<+|uFI2{7QFkznC`sm&g?a>d5yW(6yQQe3AV~3F|opuyuV&9UV%RS zsZVH|`(4>=ib?zlPq?nw1Xe?;A)jE$(Vk%&4WM#nqo3XRZMVxl4D@GH0079|^{)5o z81ULxy;|P6TieUy;<;!;PP@ExNj6MgZJSQ__H4l6#z(H8jbvp{JvvFEFMHX`Rp~^U z@b;l#T37z;F3Y_uK z_F`MXAxGcyJ>R3RAwRGkCWyrljDCea|GxMAp19?Ehn}eb!hmi#U-q&WE0}^^IaWF_ z2E5`G*n4E2MK}lHImRu&B8c+gxyir_H@?JVPRzoRd56&;>yPz~_Kkjo zc?B!H7_&LYz%-4DgEw`-sxAJ0{PD-6KH*JiJ(%*D$zXvWP;OH`;1eD)!RCLORACk4 zmw)+}Cz@Ui{zd=pcu~`enlI${5C8BFnhyFD+>)ZLz*MFR>{})<3BX)vvc7WG zTSBN&O<=Z}`S@?m8%~gsaFzbtMTYubn*lcD4rycE+ODRx(6+t$WQOa2`<(R#`%7*1 zGT^3|_O{UjRAa)zE`EU6`|kS{9Z6vR@P@*I_q;nl z4wjG~1_LNiSO(^i+hic%A!S8C=Z?q}10)zCEFWVq<^?xkh#N9SK4CHgxj}h>@AH^- zhfKhn!Il=_>#g^_N!fWY`E+xM2@m$5@Y@V_lam#`Klv#;h>I)?Lz;83M~S#uo03`p=Hm&juviaO?n$?ZAM3g$m* zcCbj-eUr@yGD5%luJ3rhoGH+}I~8E&`@jGD+jhGn4~I6&)06?o-u9L^E6a}d0>zKO z9UD<`J@~*^b*UZg6@3y)3Hk!ciPa$ZzW;$A_yIW{eogC?N7z>t3}N6>7JFr&%>CTY z{d4h={V#Q_SX(oXON{!~ufBZCXMV4NU$M|*nuGoPmQ0mTU>Bx_PXfB1)g zsB*_f;6MAbKMQ-L-l_^%!MMZB#O4nubQqHXpx^VZ-%*7N;2d>} zP9A^bH~qFl#`Laq?%XLM&vsNUJaPH->7k78mvW|?E1-C9OIBUcF6o7cP8e|R22Hs* zzmZ7eCS0zDp!{Iyy*ZBo@j{wh&A@n#xd(sa#9@rtI-dkDM^)|L0C@SSm%IL+f~C;> zMTz-(FvX)de`Z?Jbe4X6xxCW>_c>}36EFrs3^s7^;h!_Np=$q3MNU|N23G5P8)+eCJ-?GSbE05{L*_~Vy=@yW(eTl|Nh@qAd2ht zuYaw6V{lksJC*Io21hdCTfrXs`@Zk{6s&SX64-bQE^mF?eY(_puh?gQi?BHlKKP(* zV7=$XjZ1MzA7us0fq?|}jBonYUsGVti!L}Z;2{i{ex$2A^2L4;Wry6sB6;%`f+2qo z0N>aK1M2W3V`c>gHjx&T5H81J*%X5Z%z(g5W6}g@N8FG%%!{yjlN)(3Kmu^VW)TMhxs#pP+SF>%u} zR#b4IKRo|C%wP0Klt}=Gb!lH@mDS{9YzN?=?iAQ-9Rg&@eg*+&Z+_ETvOAytjO?3l zf3lg9kU_0zIPZP00mXY{oPZMfG4T!mPyWe2&3^bt{u?#r(ATtbMdI>7TCnFO=)hwf z?lcyK&%g+n#C`1t2n#?5h2l4V^S$}0jmYzNedm9!F8gSb^O;Y7PC*gk;PuK^{*?ZN z@(Pm>fcRIu@?{z?RvHOr>S~2;n&U`Qo1r3JWd?`7gy90_e)s?!17LC!F_ajT9~bP4 z5ziOD_(iQln5Vq$ZEx0RuyqIHZmVxL4!!JUFO|N2x3ca}d%A4=3^K>}`#&I_qr~>! zgZ5Op3C6(w-hH>2dWbkxq@kY^Fs@0R{m>8nh;Giu3g0I``6&hSMrs6>TwcQl#uvzH zFIIe!=U4yqE2Mmx)bGF7aS)0lWQ#f`gNwR{0{Nj2VIR&tnm)?<@WXN%>6*Er<;Agx z?|QQ*Y)-|BE64tn*OXWWas4uWZN`on#(p8Rw-5dwAIxpnG5^4c1c5E`f{n(gU(_|? z(tSf=^_EK2)|QzW!ki3b&bNKrw`N0rh#tI|TE% zk1-dkh^SUQyvh-cQDvsHGy6a{J@0Y*rbDrAfC`zKA$!wS)>c5 z0*oJ(kks-jJ-i?dC@lCk4-lVGMFW%5Gi4)R4va%WvA=K*6kHOeFJiP4OcanWHlo5i z1Pno%iLvFHYp&9Ef&PSY!aM`x z)P|g3dEtWD-vU?wki>T94?Xm#vY%M>`jbET6E)|fDH{MIT=X?vZ9s*OgYBw{NTkUJ z4xz%Bc$b(qJ@0vUiW2gO$)zCx03ZNKL_t);qFDUCj;k=6fvZOJZw7gg#xltI)Y^s; z0vHofKgDLrB38%%K=hGEFRHgMl;tBI{)CR5_zhDgIxfIUB>*qRMtnfXAWqa5R&>yg z(T1LW*Eg4{%meoru;LIUjI%uW2=XIoP*v|cVoKz%7`VeM5i5)6V_*I1SCtq+ePC?I ziYw{>W4P|)5`c|zu?-btkBxWuun)fPeIE#iyzT3J2pOv#yL4p8$_`nxu@@iAdx)QI zrnygqbCFMz{TJVuCy+PvF~(6R6O;wz0;z|xVAU%2BvS(74s00cZR%m==S|~n3OG{% z@G*JtJzWm2%+MWhpP}9f+VLt_By^N%E?q8vpPYUv*J&|>_~vhZs`|2i!3&-rI(rdY z4B~Bd$qq$9hsFSe!59N37~ju+?&GrI?a#B%fByf?-t@+QsX+5%vV(m^*lJ9oaMi^F zh~VV`9uBZ{_`28qtg&Ae-cpbwY?eZ&`>q#!hi+8G!2FXh{Rtho=;n(#r(%L7blRC> zu);=50KwFSNeYw02S4~hwc#gA;B5@SK43EPcArQK3IrxVe3MxKxTnuyc;n%qTUS>o z2bfLxc&7_CmTlL0Qvrn5Nmb;9bbNmNZ)HzP(A&JU;0Sy8STBHhU*z&qRTOmd-p4

      VF5>=a@pX=it7tEL(GO*R`B#6Iee9zj&OZ6q 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

      ey6PL61b!l={9F<`pbJSJh`{G_p%J6 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 SBP0nyoBKy5I(1p6xBm|T-9X6z literal 0 HcmV?d00001 diff --git a/mall-design.md b/mall-design.md new file mode 100644 index 0000000..6d36237 --- /dev/null +++ b/mall-design.md @@ -0,0 +1,878 @@ +# 保健品商城 - 总体设计方案 + +> 关联项目:健康AI问询助手 +> 开发顺序:在健康AI问询助手项目完成后开发 + +--- + +## 一、项目概述 + +### 1.1 项目背景 + +本项目是"健康AI问询助手"的关联项目,为用户提供保健品购买服务。通过AI问诊系统的体质分析和健康建议,智能推荐适合用户的保健品,实现"健康咨询 → 产品推荐 → 购买转化"的完整闭环。 + +### 1.2 核心价值 + +- **精准推荐**:基于用户体质和健康状况,提供个性化产品推荐 +- **信任背书**:AI健康助手的专业分析增强用户购买信心 +- **便捷体验**:从健康咨询到产品购买的无缝衔接 +- **用户粘性**:健康管理与产品消费的双向绑定 + +### 1.3 目标用户 + +| 用户群体 | 特点 | 需求 | +|----------|------|------| +| 中老年人 | 50-70岁,注重养生 | 心脑血管、骨关节、助眠、血糖调节 | +| 亚健康白领 | 25-45岁,工作压力大 | 补气、抗疲劳、护眼、免疫力 | +| 养生爱好者 | 各年龄段,关注中医体质 | 体质调养、食疗产品 | + +--- + +## 二、技术架构 + +### 2.1 技术栈 + +| 层次 | 技术选型 | 说明 | +|------|----------|------| +| Web前端 | Vue 3 + TypeScript + Vite | 与健康AI项目保持一致 | +| APP端 | React Native + TypeScript | 与健康AI项目保持一致 | +| 后端服务 | Go + Gin + GORM | 与健康AI项目保持一致 | +| 数据库 | SQLite / PostgreSQL | 支持切换,与健康AI共享用户表 | +| 支付对接 | 微信支付 / 支付宝 | 预留接口 | +| 对象存储 | 阿里云OSS / 本地存储 | 产品图片存储 | + +### 2.2 系统架构图 + +``` +┌─────────────────────────────────────────────────────────────────┐ +│ 用户端 │ +├─────────────────────┬───────────────────────────────────────────┤ +│ 健康AI Web/APP │ 商城 Web/APP │ +│ (体质分析/AI问诊) │ (产品浏览/购物车/订单/支付) │ +└─────────┬───────────┴────────────────┬──────────────────────────┘ + │ │ + │ API Gateway │ + │ │ +┌─────────▼────────────────────────────▼──────────────────────────┐ +│ 后端服务层 │ +├─────────────────────┬───────────────────────────────────────────┤ +│ 健康AI服务 │ 商城服务 │ +│ - 用户认证 │ - 产品管理 │ +│ - 体质辨识 │ - 购物车 │ +│ - AI对话 │ - 订单管理 │ +│ - 健康档案 │ - 支付对接 │ +│ - 产品推荐接口 │ - 物流查询 │ +└─────────┬───────────┴────────────────┬──────────────────────────┘ + │ │ +┌─────────▼────────────────────────────▼──────────────────────────┐ +│ 数据层 │ +├─────────────────────┬───────────────────────────────────────────┤ +│ 共享数据 │ 商城独立数据 │ +│ - 用户表 │ - 产品详情表 │ +│ - 产品基础表 │ - SKU表 │ +│ - 体质-产品关联 │ - 购物车表 │ +│ │ - 订单表 │ +│ │ - 支付记录表 │ +└─────────────────────┴───────────────────────────────────────────┘ +``` + +### 2.3 与健康AI项目的双向对接 + +| 对接方式 | 方向 | 说明 | +|----------|------|------| +| 用户体系共享 | 双向 | 使用同一套用户认证(JWT Token互认) | +| 产品数据同步 | 双向 | 健康AI存储基础产品信息,商城扩展详细信息 | +| 产品推荐跳转 | 健康AI → 商城 | AI推荐的产品链接直接跳转到商城产品页 | +| AI咨询跳转 | 商城 → 健康AI | 商城产品页/首页提供AI咨询入口,跳转到健康AI | +| 体质信息获取 | 商城 ← 健康AI | 商城调用健康AI接口获取用户体质,优化推荐排序 | +| 购买记录同步 | 商城 → 健康AI | 用户购买保健品后,同步到健康AI用于AI问诊参考 | + +--- + +## 三、功能模块 + +### 3.1 功能架构 + +``` +保健品商城 +├── 首页模块 +│ ├── Banner轮播 +│ ├── AI健康咨询入口(悬浮按钮) +│ ├── 体质推荐卡片(对接健康AI) +│ ├── 分类导航 +│ ├── 热销推荐 +│ └── 新品上架 +│ +├── 产品模块 +│ ├── 产品列表(分类筛选、排序) +│ ├── 产品详情 +│ │ ├── 图文规格评价 +│ │ ├── "咨询适合我吗"按钮 → 跳转AI问诊 +│ │ └── 相关体质说明 +│ ├── 产品搜索 +│ └── 收藏功能 +│ +├── AI咨询模块(跳转健康AI) +│ ├── 智能健康咨询入口 +│ ├── 体质测试入口 +│ ├── 历史咨询记录 +│ └── 携带产品信息跳转 +│ +├── 购物车模块 +│ ├── 添加/删除商品 +│ ├── 修改数量 +│ ├── 选择结算 +│ └── 失效商品处理 +│ +├── 订单模块 +│ ├── 确认订单 +│ ├── 地址管理 +│ ├── 订单列表 +│ ├── 订单详情 +│ ├── 取消订单 +│ └── 申请退款 +│ +├── 支付模块 +│ ├── 微信支付 +│ ├── 支付宝支付 +│ └── 支付结果回调 +│ +├── 用户模块 +│ ├── 登录/注册(共享健康AI) +│ ├── 我的体质报告(跳转健康AI) +│ ├── 收货地址管理 +│ ├── 我的订单 +│ ├── 我的收藏 +│ └── 浏览历史 +│ +└── 其他模块 + ├── 物流查询 + └── 优惠券(扩展) +``` + +### 3.2 核心功能说明 + +#### 3.2.1 体质推荐功能 + +从健康AI获取用户体质信息,在商城首页和产品列表页优先展示适合用户体质的产品。 + +``` +用户打开商城 + │ + ▼ +调用健康AI接口获取用户体质 + │ + ▼ +根据体质查询关联产品 + │ + ▼ +在"为您推荐"模块展示 +``` + +#### 3.2.2 智能搜索 + +支持按症状关键词搜索产品,如"失眠"、"关节痛"、"血压高"等。 + +#### 3.2.3 AI健康咨询功能(核心) + +商城内置多个AI咨询入口,用户点击后跳转到健康AI项目进行咨询。 + +**入口位置:** + +| 位置 | 入口形式 | 跳转目标 | 携带参数 | +|------|----------|----------|----------| +| 首页右下角 | 悬浮按钮"AI咨询" | 健康AI对话页 | 无 | +| 首页体质卡片 | "测测我的体质" | 健康AI体质测试页 | 无 | +| 产品详情页 | "这款适合我吗?" | 健康AI对话页 | 产品ID、产品名称 | +| 我的页面 | "查看体质报告" | 健康AI体质结果页 | 无 | +| 购物车页面 | "不知道选哪个?问问AI" | 健康AI对话页 | 购物车产品列表 | + +**跳转流程:** + +``` +商城产品详情页 + │ + │ 用户点击"这款适合我吗?" + ▼ +检查用户登录状态 + │ + ├─[未登录]─▶ 跳转登录页 → 登录后继续 + │ + └─[已登录]─▶ 构建跳转URL + │ + ▼ + 跳转健康AI对话页 + URL: health-ai://chat?product_id=123&product_name=xxx + │ + ▼ + 健康AI自动发起对话 + "我想咨询一下【产品名称】是否适合我" + │ + ▼ + AI根据用户体质和产品信息回答 + │ + ▼ + 用户可继续咨询或返回商城购买 +``` + +**跳转协议设计:** + +``` +# Web端跳转(同域或配置跨域) +https://health-ai.example.com/chat?source=mall&product_id=123 + +# APP端跳转(Deep Link) +health-ai://chat?source=mall&product_id=123&product_name=xxx + +# 小程序跳转(如扩展) +/pages/chat/index?source=mall&product_id=123 +``` + +**健康AI接收参数后处理:** + +1. 识别来源为商城(source=mall) +2. 根据product_id获取产品信息 +3. 自动生成用户问题:"我想了解【产品名称】是否适合我的体质" +4. AI结合用户体质数据回答 + +#### 3.2.4 购买记录同步 + +用户在商城购买保健品后,订单信息同步到健康AI,用于: +- AI问诊时参考用户已购买的保健品 +- 避免重复推荐已购买产品 +- 分析用户保健品使用效果 + +--- + +## 四、数据模型设计 + +### 4.1 ER图 + +```mermaid +erDiagram + User ||--o{ Order : places + User ||--o{ CartItem : has + User ||--o{ Address : has + User ||--o{ Favorite : has + Product ||--o{ ProductSku : has + Product ||--o{ CartItem : in + Product ||--o{ OrderItem : in + Product ||--o{ Favorite : contains + Order ||--|{ OrderItem : contains + Order ||--o| Payment : has + ProductSku ||--o{ CartItem : selected + ProductSku ||--o{ OrderItem : ordered + + User { + int id PK + string phone + string nickname + string avatar + } + + Product { + int id PK + string name + string category + string sub_category + text description + text detail_html + string main_image + json images + decimal original_price + decimal sale_price + int sales_count + int stock + boolean is_on_sale + int sort_order + } + + ProductSku { + int id PK + int product_id FK + string sku_name + string sku_image + decimal price + int stock + json attributes + } + + CartItem { + int id PK + int user_id FK + int product_id FK + int sku_id FK + int quantity + boolean selected + } + + Address { + int id PK + int user_id FK + string receiver_name + string phone + string province + string city + string district + string detail + boolean is_default + } + + Order { + int id PK + string order_no + int user_id FK + int address_id FK + decimal total_amount + decimal pay_amount + decimal freight_amount + string status + string pay_type + datetime pay_time + string logistics_no + text remark + datetime created_at + } + + OrderItem { + int id PK + int order_id FK + int product_id FK + int sku_id FK + string product_name + string sku_name + string image + decimal price + int quantity + } + + Payment { + int id PK + string payment_no + int order_id FK + string pay_type + decimal amount + string status + string trade_no + datetime paid_at + } + + Favorite { + int id PK + int user_id FK + int product_id FK + datetime created_at + } +``` + +### 4.2 核心表说明 + +#### 产品表(Product) + +| 字段 | 类型 | 说明 | +|------|------|------| +| id | int | 产品ID(与健康AI同步) | +| name | string | 产品名称 | +| category | string | 一级分类 | +| sub_category | string | 二级分类 | +| description | text | 简短描述 | +| detail_html | text | 详情页富文本 | +| main_image | string | 主图URL | +| images | json | 图片列表 | +| original_price | decimal | 原价 | +| sale_price | decimal | 售价 | +| sales_count | int | 销量 | +| stock | int | 库存 | +| is_on_sale | boolean | 是否上架 | + +#### 订单表(Order) + +| 字段 | 类型 | 说明 | +|------|------|------| +| order_no | string | 订单编号(唯一) | +| status | string | 状态:pending/paid/shipped/completed/cancelled/refunding | +| pay_type | string | 支付方式:wechat/alipay | +| logistics_no | string | 物流单号 | + +### 4.3 订单状态机 + +``` +待支付(pending) + │ + ├──[支付成功]──▶ 待发货(paid) + │ │ + │ ├──[商家发货]──▶ 待收货(shipped) + │ │ │ + │ │ └──[确认收货]──▶ 已完成(completed) + │ │ + │ └──[申请退款]──▶ 退款中(refunding) + │ + └──[取消/超时]──▶ 已取消(cancelled) +``` + +--- + +## 五、API 接口设计 + +### 5.1 产品接口 + +``` +GET /api/products # 产品列表(支持分类、排序、分页) +GET /api/products/:id # 产品详情 +GET /api/products/search?q=xxx # 搜索产品 +GET /api/products/recommend # 体质推荐(调用健康AI) +GET /api/categories # 分类列表 +``` + +### 5.2 购物车接口 + +``` +GET /api/cart # 获取购物车 +POST /api/cart # 添加到购物车 +PUT /api/cart/:id # 更新数量 +DELETE /api/cart/:id # 删除商品 +PUT /api/cart/select-all # 全选/取消全选 +``` + +### 5.3 订单接口 + +``` +POST /api/orders # 创建订单 +GET /api/orders # 订单列表 +GET /api/orders/:id # 订单详情 +PUT /api/orders/:id/cancel # 取消订单 +PUT /api/orders/:id/confirm # 确认收货 +POST /api/orders/:id/refund # 申请退款 +``` + +### 5.4 支付接口 + +``` +POST /api/pay/wechat # 微信支付 +POST /api/pay/alipay # 支付宝支付 +POST /api/pay/callback/wechat # 微信回调 +POST /api/pay/callback/alipay # 支付宝回调 +GET /api/pay/status/:order_no # 查询支付状态 +``` + +### 5.5 地址接口 + +``` +GET /api/addresses # 地址列表 +POST /api/addresses # 添加地址 +PUT /api/addresses/:id # 修改地址 +DELETE /api/addresses/:id # 删除地址 +PUT /api/addresses/:id/default # 设为默认 +``` + +### 5.6 收藏接口 + +``` +GET /api/favorites # 收藏列表 +POST /api/favorites # 添加收藏 +DELETE /api/favorites/:product_id # 取消收藏 +``` + +--- + +## 六、项目目录结构 + +``` +healthMall/ +├── web/ # Web前端 +│ ├── src/ +│ │ ├── api/ # 接口定义 +│ │ ├── assets/ # 静态资源 +│ │ ├── components/ # 公共组件 +│ │ │ ├── ProductCard.vue # 产品卡片 +│ │ │ ├── CartItem.vue # 购物车项 +│ │ │ └── AddressCard.vue # 地址卡片 +│ │ ├── views/ +│ │ │ ├── Home.vue # 首页 +│ │ │ ├── Category.vue # 分类页 +│ │ │ ├── ProductList.vue # 产品列表 +│ │ │ ├── ProductDetail.vue # 产品详情 +│ │ │ ├── Cart.vue # 购物车 +│ │ │ ├── Checkout.vue # 结算页 +│ │ │ ├── OrderList.vue # 订单列表 +│ │ │ ├── OrderDetail.vue # 订单详情 +│ │ │ └── Address.vue # 地址管理 +│ │ ├── store/ # 状态管理 +│ │ ├── router/ # 路由配置 +│ │ └── utils/ # 工具函数 +│ └── package.json +│ +├── app/ # React Native APP +│ ├── src/ +│ │ ├── api/ +│ │ ├── components/ +│ │ ├── screens/ +│ │ ├── navigation/ +│ │ ├── store/ +│ │ └── utils/ +│ └── package.json +│ +├── server/ # 后端服务 +│ ├── cmd/ +│ │ └── main.go +│ ├── internal/ +│ │ ├── api/ +│ │ │ ├── handler/ +│ │ │ │ ├── product.go +│ │ │ │ ├── cart.go +│ │ │ │ ├── order.go +│ │ │ │ ├── payment.go +│ │ │ │ └── address.go +│ │ │ ├── middleware/ +│ │ │ └── router.go +│ │ ├── model/ +│ │ │ ├── product.go +│ │ │ ├── cart.go +│ │ │ ├── order.go +│ │ │ ├── payment.go +│ │ │ └── address.go +│ │ ├── repository/ +│ │ ├── service/ +│ │ │ ├── product.go +│ │ │ ├── cart.go +│ │ │ ├── order.go +│ │ │ └── payment.go +│ │ ├── database/ +│ │ └── config/ +│ ├── pkg/ +│ │ ├── payment/ # 支付SDK封装 +│ │ │ ├── wechat.go +│ │ │ └── alipay.go +│ │ └── logistics/ # 物流查询 +│ └── go.mod +│ +├── config.yaml # 配置文件 +└── README.md +``` + +--- + +## 七、UI 设计规范 + +### 7.1 设计原则 + +- 与健康AI项目保持视觉一致性 +- 面向中老年用户,字体和按钮适当放大 +- 购买流程清晰简洁,减少操作步骤 + +### 7.2 页面规划 + +| 页面 | 主要功能 | AI咨询入口 | +|------|----------|------------| +| 首页 | Banner、分类入口、体质推荐卡片、热销榜 | 右下角悬浮按钮、体质卡片"测测体质" | +| 分类页 | 左侧分类菜单、右侧产品列表 | 顶部"不知道选什么?问AI" | +| 产品详情 | 轮播图、价格、规格选择、加入购物车 | "这款适合我吗?咨询AI" | +| 购物车 | 商品列表、全选、价格汇总、去结算 | "不确定?咨询AI帮你选" | +| 结算页 | 收货地址、商品清单、支付方式、提交订单 | - | +| 订单列表 | Tab分类(全部/待付款/待发货/待收货/已完成) | - | +| 订单详情 | 物流信息、订单状态、商品信息、操作按钮 | "使用问题?咨询AI" | +| 我的 | 体质报告入口、订单、收藏、地址 | "查看我的体质报告" | + +### 7.3 配色方案 + +| 用途 | 颜色 | 说明 | +|------|------|------| +| 主色调 | #52C41A | 绿色,与健康主题一致 | +| 价格色 | #FF4D4F | 红色,突出价格 | +| 辅助色 | #1890FF | 蓝色,链接和按钮 | +| 背景色 | #F5F5F5 | 浅灰,页面背景 | +| 文字色 | #333333 | 深灰,主要文字 | + +--- + +## 八、开发计划 + +### 8.1 阶段划分 + +| 阶段 | 内容 | 预计周期 | +|------|------|----------| +| 第一阶段 | 产品展示、购物车 | - | +| 第二阶段 | 订单流程、地址管理 | - | +| 第三阶段 | 支付对接 | - | +| 第四阶段 | APP开发 | - | +| 第五阶段 | 物流、优惠券等扩展 | - | + +### 8.2 开发任务清单 + +**后端开发:** +1. 项目初始化(共用健康AI的基础架构) +2. 产品模块(详情、SKU、库存) +3. 购物车模块 +4. 地址管理模块 +5. 订单模块(创建、状态流转) +6. 支付模块(微信/支付宝) +7. 健康AI对接(用户认证、体质推荐、订单同步) + +**Web前端开发:** +1. 项目初始化 +2. 首页(Banner、分类、推荐、AI咨询入口) +3. 产品列表和详情页(含AI咨询入口) +4. 购物车页面(含AI咨询入口) +5. 结算和订单页面 +6. 地址管理页面 +7. 我的页面(体质报告入口) +8. 健康AI跳转工具封装 + +**APP开发:** +1. 项目初始化 +2. 导航和Tab配置 +3. 各功能页面 +4. Deep Link跳转健康AI配置 + +--- + +## 九、与健康AI的集成方案 + +### 9.1 用户认证集成 + +```go +// 商城服务验证Token时,调用健康AI的JWT验证 +func ValidateToken(token string) (*UserClaims, error) { + // 使用相同的JWT密钥验证 + // 或调用健康AI的 /api/auth/validate 接口 +} +``` + +### 9.2 体质推荐集成 + +```go +// 商城首页获取用户体质推荐产品 +func GetConstitutionRecommend(userID uint) ([]Product, error) { + // 1. 调用健康AI接口获取用户体质 + // GET http://health-ai-server/api/constitution/result + + // 2. 根据体质查询推荐产品 + // SELECT * FROM products p + // JOIN constitution_products cp ON p.id = cp.product_id + // WHERE cp.constitution_type = ? +} +``` + +### 9.3 AI咨询跳转集成(商城 → 健康AI) + +**Web端跳转工具:** + +```typescript +// utils/healthAI.ts +const HEALTH_AI_BASE_URL = import.meta.env.VITE_HEALTH_AI_URL || 'http://localhost:5173' + +interface JumpParams { + page: 'chat' | 'constitution' | 'result' // 对话页/体质测试/体质结果 + productId?: number + productName?: string + source?: string +} + +// 跳转到健康AI +export function jumpToHealthAI(params: JumpParams) { + const query = new URLSearchParams() + query.set('source', 'mall') + + if (params.productId) { + query.set('product_id', String(params.productId)) + } + if (params.productName) { + query.set('product_name', params.productName) + } + + const url = `${HEALTH_AI_BASE_URL}/${params.page}?${query.toString()}` + + // 同域:直接跳转 + // 跨域:新窗口打开 + window.location.href = url +} + +// 在产品详情页使用 +// jumpToHealthAI({ page: 'chat', productId: 123, productName: '氨糖软骨素' }) +``` + +**APP端跳转(React Native):** + +```typescript +// utils/healthAI.ts +import { Linking, Platform } from 'react-native' + +const HEALTH_AI_SCHEME = 'healthai://' +const HEALTH_AI_WEB_URL = 'https://health-ai.example.com' + +export async function jumpToHealthAI(params: { + page: 'chat' | 'constitution' | 'result' + productId?: number + productName?: string +}) { + const query = `source=mall&product_id=${params.productId || ''}&product_name=${encodeURIComponent(params.productName || '')}` + + // 尝试Deep Link + const deepLink = `${HEALTH_AI_SCHEME}${params.page}?${query}` + + const canOpen = await Linking.canOpenURL(deepLink) + + if (canOpen) { + // 健康AI APP已安装,使用Deep Link + await Linking.openURL(deepLink) + } else { + // 健康AI APP未安装,跳转Web版 + await Linking.openURL(`${HEALTH_AI_WEB_URL}/${params.page}?${query}`) + } +} +``` + +**健康AI接收跳转参数处理:** + +```typescript +// 健康AI项目 - chat页面 +// views/Chat.vue 或 screens/Chat.tsx + +import { useRoute } from 'vue-router' // Vue +// import { useRoute } from '@react-navigation/native' // RN + +const route = useRoute() + +onMounted(() => { + const { source, product_id, product_name } = route.query + + if (source === 'mall' && product_id) { + // 从商城跳转而来,自动发起产品咨询 + const autoMessage = `我想了解【${product_name}】这款产品是否适合我的体质?` + sendMessage(autoMessage) + } +}) +``` + +### 9.4 双向跳转入口汇总 + +| 方向 | 场景 | 入口 | 跳转目标 | +|------|------|------|----------| +| 商城→健康AI | 首页悬浮按钮 | "AI咨询" | 健康AI对话页 | +| 商城→健康AI | 首页体质卡片 | "测测我的体质" | 健康AI体质测试页 | +| 商城→健康AI | 产品详情页 | "这款适合我吗?" | 健康AI对话页(带产品参数) | +| 商城→健康AI | 购物车页 | "不确定选哪个?" | 健康AI对话页 | +| 商城→健康AI | 我的页面 | "查看体质报告" | 健康AI体质结果页 | +| 健康AI→商城 | AI回答推荐 | 产品链接 | 商城产品详情页 | +| 健康AI→商城 | 体质结果页 | "选购调养产品" | 商城体质推荐列表 | + +### 9.5 订单数据同步 + +用户在商城购买后,同步订单到健康AI用于AI问诊参考: + +```go +// 商城后端 - 订单完成后同步 +func SyncOrderToHealthAI(order *Order) error { + payload := map[string]interface{}{ + "user_id": order.UserID, + "order_no": order.OrderNo, + "products": extractProductInfo(order.Items), + "created_at": order.CreatedAt, + } + + // 调用健康AI接口同步 + _, err := http.Post( + config.HealthAI.BaseURL + "/api/sync/purchase", + "application/json", + bytes.NewBuffer(jsonEncode(payload)), + ) + return err +} +``` + +```go +// 健康AI后端 - 接收购买记录 +// POST /api/sync/purchase +func HandlePurchaseSync(c *gin.Context) { + var req struct { + UserID uint `json:"user_id"` + OrderNo string `json:"order_no"` + Products []struct { + ID uint `json:"id"` + Name string `json:"name"` + } `json:"products"` + } + c.BindJSON(&req) + + // 存储到用户健康档案,AI问诊时可参考 + // "用户最近购买了:氨糖软骨素、深海鱼油..." +} +``` + +--- + +## 十、安全与合规 + +### 10.1 支付安全 + +- 支付回调验签 +- 订单金额校验 +- 防止重复支付 + +### 10.2 数据安全 + +- 用户隐私数据加密存储 +- HTTPS传输 +- SQL注入防护 + +### 10.3 合规要求 + +- 保健品销售资质展示 +- 产品不得宣传治疗功效 +- 退换货政策明示 + +--- + +## 附录:配置文件示例 + +```yaml +# config.yaml +server: + port: 8081 + mode: debug + +database: + driver: sqlite + dsn: "./data/mall.db" + +# 健康AI服务配置 +health_ai: + # 后端API地址(用于数据同步) + api_url: "http://localhost:8080" + # Web前端地址(用于页面跳转) + web_url: "http://localhost:5173" + # APP Deep Link Scheme + app_scheme: "healthai://" + # 同步API密钥 + sync_api_key: "your-sync-key" + +# 支付配置(正式环境从环境变量读取) +payment: + wechat: + app_id: "" + mch_id: "" + api_key: "" + notify_url: "https://yourdomain.com/api/pay/callback/wechat" + alipay: + app_id: "" + private_key: "" + public_key: "" + notify_url: "https://yourdomain.com/api/pay/callback/alipay" + +# 文件存储 +storage: + type: local # local / oss + local: + path: "./uploads" + oss: + endpoint: "" + access_key: "" + secret_key: "" + bucket: "" +``` + +--- + +> **文档版本**: v1.0 +> **创建日期**: 2026-02-01 +> **关联项目**: 健康AI问询助手 diff --git a/scripts/start-all.bat b/scripts/start-all.bat new file mode 100644 index 0000000..02f2aee --- /dev/null +++ b/scripts/start-all.bat @@ -0,0 +1,30 @@ +@echo off +chcp 65001 >nul +echo ==================================== +echo 健康AI助手 - 原型启动脚本 +echo ==================================== +echo. +echo 即将启动: +echo - Web 原型 (http://localhost:5173) +echo - APP 原型 (Expo) +echo. +echo 测试账号: 13800138000 / 123456 +echo ==================================== +echo. + +:: 启动 Web 开发服务器 +start "Web Dev Server" cmd /c "cd /d "%~dp0..\web" && npm run dev" + +:: 等待 2 秒 +timeout /t 2 /nobreak >nul + +:: 启动 APP 开发服务器 +start "APP Dev Server" cmd /c "cd /d "%~dp0..\app" && npx expo start --web" + +echo. +echo 服务器已在新窗口中启动! +echo. +echo Web: http://localhost:5173 +echo APP: http://localhost:8081 (浏览器预览) +echo. +pause diff --git a/scripts/start-app.bat b/scripts/start-app.bat new file mode 100644 index 0000000..ae76336 --- /dev/null +++ b/scripts/start-app.bat @@ -0,0 +1,13 @@ +@echo off +echo ==================================== +echo Starting APP (React Native) +echo ==================================== +echo. +cd /d "%~dp0..\app" +echo Scan QR code to preview on phone +echo Or press 'w' for web preview +echo Test: 13800138000 / 123456 +echo Press Ctrl+C to stop +echo ==================================== +echo. +npx expo start diff --git a/scripts/start-web.bat b/scripts/start-web.bat new file mode 100644 index 0000000..14cd844 --- /dev/null +++ b/scripts/start-web.bat @@ -0,0 +1,12 @@ +@echo off +echo ==================================== +echo Starting Web (Vue 3 + Vite) +echo ==================================== +echo. +cd /d "%~dp0..\web" +echo URL: http://localhost:5173 +echo Test: 13800138000 / 123456 +echo Press Ctrl+C to stop +echo ==================================== +echo. +npm run dev diff --git a/server/cmd/server/main.go b/server/cmd/server/main.go new file mode 100644 index 0000000..c0b2494 --- /dev/null +++ b/server/cmd/server/main.go @@ -0,0 +1,57 @@ +package main + +import ( + "fmt" + "log" + + "health-ai/internal/api" + "health-ai/internal/config" + "health-ai/internal/database" + "health-ai/internal/model" + "health-ai/pkg/jwt" +) + +func main() { + log.Println("Health AI Server Starting...") + + // 加载配置 + if err := config.LoadConfig("config.yaml"); err != nil { + log.Fatalf("Failed to load config: %v", err) + } + log.Println("Config loaded") + + // 初始化数据库 + if err := database.InitDatabase(&config.AppConfig.Database); err != nil { + log.Fatalf("Failed to init database: %v", err) + } + log.Println("Database connected") + + // 自动迁移 + if err := database.AutoMigrate(model.AllModels()...); err != nil { + log.Fatalf("Failed to migrate: %v", err) + } + log.Println("Database migrated") + + // 初始化问卷题库 + if err := database.SeedQuestionBank(); err != nil { + log.Fatalf("Failed to seed question bank: %v", err) + } + + // 创建测试用户 + if err := database.SeedTestUser(); err != nil { + log.Printf("Warning: Failed to create test user: %v", err) + } + + // 初始化 JWT + jwt.Init(config.AppConfig.JWT.Secret, config.AppConfig.JWT.ExpireHours) + log.Println("JWT initialized") + + // 启动服务器 + router := api.SetupRouter(config.AppConfig.Server.Mode) + addr := fmt.Sprintf(":%d", config.AppConfig.Server.Port) + log.Printf("Server running on http://localhost%s", addr) + + if err := router.Run(addr); err != nil { + log.Fatalf("Failed to start server: %v", err) + } +} diff --git a/server/config.yaml b/server/config.yaml new file mode 100644 index 0000000..25b5ae7 --- /dev/null +++ b/server/config.yaml @@ -0,0 +1,40 @@ +server: + port: 8080 + mode: debug # debug, release, test + +database: + driver: sqlite # sqlite, postgres, mysql + sqlite: + path: ./data/health.db + postgres: + host: localhost + port: 5432 + user: postgres + password: "" + dbname: health_app + mysql: + host: localhost + port: 3306 + user: root + password: "" + dbname: health_app + +jwt: + secret: health-ai-secret-key-change-in-production + expire_hours: 24 + +ai: + provider: aliyun # openai, aliyun (通义千问) + max_history_messages: 10 + max_tokens: 2000 + + # OpenAI 配置 + openai: + api_key: "" + base_url: "https://api.openai.com/v1" + model: "gpt-3.5-turbo" + + # 阿里云通义千问配置 + aliyun: + api_key: "" # 请填入您的 DashScope API Key + model: "qwen-turbo" # 可选: qwen-turbo, qwen-plus, qwen-max diff --git a/server/data/health.db b/server/data/health.db new file mode 100644 index 0000000000000000000000000000000000000000..61f37f2b26a0b53ea2b8cf7b8348fd29f3ea819f GIT binary patch literal 217088 zcmeI*Pi)*)eh2WO{!#x%vYj~GY}RWgwj(hbS$`Z^cCtZsVvhr@Ey(tawe0Rr~fU`|Dr#$ z^qanDgZ?WdzHj&KeCGP|zwW2CJ>%c_ZLW|1@Ax;_&qgned_K}Ylpp+ZP#O5cz;gd@ z`o8EJ>HW0l7s6MZZUunj&p8x1U zfj@V7l9Fk%QFX}p87x6FnROO)k;zT%$sA zTD|6f?~hBeG~tsdkDBYhHyt#Pvw)Ki(Hq^4=xRz~@WG=B)7x;l=nvgP?*tl-OB;q=wA@WU?{h3iwnwb$^WP>c?_Tmb%={(}7NfLtT-~iVb1bK&5^i{eUHMF7n>cR6UstNzR&ustYDW11Wm<5l#?-Tk zHaILwcj(GD6DJz8gIafpP1if7c%&K0#>jnq=iG>rBSvx=#t(KNf)l!N?Gu*CiP zc92O-OJ;L8okdLTspe300<06qzb|&&+59FSllXfU8i?HJ9Se} zu6ZScxb((@Y!jPQi*cVN-CyE%Y0lYd#f;bUoJRJDU8J*~x^0tZb-GKudd4-${EZ7s zbvu|j)rvu9&*tqxPBR?UsaQ{mt;yATg|5a$f0-^?Wy@rbpm@WBY;LFLjAU*zHA8%E zGcCB>X6m`z7TMfpc8GG5DIRQ_+f2h~|1h_i%4BZulYt<&KNEu7W?C|vVmh~(+V42G zlgsFqVbfdUaMo+x9_|o&Lr;?>yrC--W2a1S6zPqdnbUStTU!+)s@O6utE48=(kd3~ zwbV*p@vjPcg`}redcDM}y|UFWN(++U^~bZBe|094F4!L6Q;lsG4rx%zq}68MfHWlu zzhVwiD_d0(wC``5KH))vmg)Y(B4xAp(5^{^Uh2WVeaCbiv`lv$7AX&VXxCH1W{`i* zGdk@M)d{Bu!ff`Y@{g&U^b;UQ_f+;r1yPbD;b1rDGl(zv(v#XhnBeI`c#01lP2eyA zn2{%KmY;|fB*y_009U<00Izz00jOB0Z$P|GpnnaD_O69Av-uf zJAZR}c7A$xPM*8@-u%1o&E2}b@b3KW8}m1(W^cVWJ9}({xf{1;XM-=ZSLgMsbF){s z@2o%kS^e>?2j!m>Zhlg%Z$9|s@h7W|M*b&zE2}fxHx_@kux0FRJ-GQ7)t%YWqZPYx ztMKvv{L}A}fB*TnbjyGK?-~F1%=kC-3;sX=0uX=z1Rwwb2tWV=5P$##Akd`(7kYZ9 zhL}&|3<|x{Q1GdTVR}}=`2S_-U;Kdp1Rwwb2tWV=5P$##AOHafK;X|%ptm;Z*OKO{QZ9$nemOYa@IIc2tWV=5P$##AOHafKmY;|fWWsT;7tnW z{9gb#bnU~7J%Tu{ym2l4JN|Agyf=UA`r_j3ySL^R5Bnv6hcrn3>b|+#w`Zqk7pCVH z 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 literal 0 HcmV?d00001 diff --git a/server/docs/API.md b/server/docs/API.md new file mode 100644 index 0000000..1a6c019 --- /dev/null +++ b/server/docs/API.md @@ -0,0 +1,551 @@ +# 健康AI问询助手 - 后端API文档 + +> 后端服务地址: `http://localhost:8080` +> +> 所有需要认证的接口,请在Header中添加: `Authorization: Bearer ` + +--- + +## 一、认证接口 + +### 1.1 用户注册 +- **POST** `/api/auth/register` + +**请求体:** +```json +{ + "phone": "13800138000", + "password": "123456", + "nickname": "用户昵称" // 可选 +} +``` + +**响应:** +```json +{ + "code": 0, + "message": "success", + "data": { + "token": "eyJhbGc...", + "user_id": 1, + "nickname": "用户昵称", + "avatar": "", + "survey_completed": false + } +} +``` + +### 1.2 用户登录 +- **POST** `/api/auth/login` + +**请求体:** +```json +{ + "phone": "13800138000", + "password": "123456" +} +``` + +**响应:** 同注册接口 + +### 1.3 刷新Token +- **POST** `/api/auth/refresh` +- **需要认证** + +**响应:** +```json +{ + "code": 0, + "message": "success", + "data": { + "token": "新的token" + } +} +``` + +--- + +## 二、用户接口 + +### 2.1 获取用户信息 +- **GET** `/api/user/profile` +- **需要认证** + +**响应:** +```json +{ + "code": 0, + "message": "success", + "data": { + "user_id": 1, + "phone": "13800138000", + "email": "", + "nickname": "用户昵称", + "avatar": "", + "survey_completed": false + } +} +``` + +### 2.2 更新用户资料 +- **PUT** `/api/user/profile` +- **需要认证** + +**请求体:** +```json +{ + "nickname": "新昵称", + "avatar": "头像URL" +} +``` + +--- + +## 三、健康调查接口 + +### 3.1 获取调查状态 +- **GET** `/api/survey/status` +- **需要认证** + +**响应:** +```json +{ + "code": 0, + "message": "success", + "data": { + "basic_info": true, + "lifestyle": false, + "medical_history": false, + "family_history": false, + "allergy": false, + "all_completed": false + } +} +``` + +### 3.2 提交基础信息 +- **POST** `/api/survey/basic-info` +- **需要认证** + +**请求体:** +```json +{ + "name": "张三", + "birth_date": "1990-05-15", + "gender": "male", // male/female + "height": 175, // cm + "weight": 70, // kg + "blood_type": "A", // A/B/AB/O + "occupation": "工程师", + "marital_status": "married", // single/married/divorced + "region": "北京" +} +``` + +### 3.3 提交生活习惯 +- **POST** `/api/survey/lifestyle` +- **需要认证** + +**请求体:** +```json +{ + "sleep_time": "23:00", + "wake_time": "07:00", + "sleep_quality": "normal", // good/normal/poor + "meal_regularity": "regular", // regular/irregular + "diet_preference": "清淡", + "daily_water_ml": 2000, + "exercise_frequency": "sometimes", // never/sometimes/often/daily + "exercise_type": "跑步", + "exercise_duration_min": 30, + "is_smoker": false, + "alcohol_frequency": "never" // never/sometimes/often +} +``` + +### 3.4 提交病史 +- **POST** `/api/survey/medical-history` +- **需要认证** + +**请求体:** +```json +{ + "disease_name": "高血压", + "disease_type": "chronic", // chronic/surgery/other + "diagnosed_date": "2020-01", + "status": "controlled", // cured/treating/controlled + "notes": "备注信息" +} +``` + +### 3.5 批量提交病史(覆盖式) +- **POST** `/api/survey/medical-history/batch` +- **需要认证** + +**请求体:** +```json +{ + "histories": [ + { + "disease_name": "高血压", + "disease_type": "chronic", + "diagnosed_date": "2020-01", + "status": "controlled", + "notes": "" + } + ] +} +``` + +### 3.6 提交家族病史 +- **POST** `/api/survey/family-history` +- **需要认证** + +**请求体:** +```json +{ + "relation": "father", // father/mother/grandparent + "disease_name": "糖尿病", + "notes": "" +} +``` + +### 3.7 提交过敏信息 +- **POST** `/api/survey/allergy` +- **需要认证** + +**请求体:** +```json +{ + "allergy_type": "drug", // drug/food/other + "allergen": "青霉素", + "severity": "moderate", // mild/moderate/severe + "reaction_desc": "皮疹" +} +``` + +### 3.8 完成调查 +- **POST** `/api/survey/complete` +- **需要认证** + +--- + +## 四、体质辨识接口 + +### 4.1 获取问卷题目 +- **GET** `/api/constitution/questions` +- **需要认证** + +**响应:** +```json +{ + "code": 0, + "message": "success", + "data": [ + { + "id": 1, + "constitution_type": "pinghe", + "question_text": "您精力充沛吗?", + "options": "[\"没有\",\"很少\",\"有时\",\"经常\",\"总是\"]", + "order_num": 1 + } + ] +} +``` + +### 4.2 获取分组的问卷题目 +- **GET** `/api/constitution/questions/grouped` +- **需要认证** + +### 4.3 提交测评 +- **POST** `/api/constitution/submit` +- **需要认证** + +**请求体:** +```json +{ + "answers": [ + {"question_id": 1, "score": 3}, + {"question_id": 2, "score": 2} + // ... 所有题目的答案,score: 1-5 对应选项 + ] +} +``` + +**响应:** +```json +{ + "code": 0, + "message": "success", + "data": { + "id": 1, + "primary_constitution": { + "type": "qixu", + "name": "气虚质", + "score": 65.5, + "description": "元气不足,容易疲劳..." + }, + "secondary_constitutions": [], + "all_scores": [ + {"type": "qixu", "name": "气虚质", "score": 65.5, "description": "..."}, + {"type": "yangxu", "name": "阳虚质", "score": 45.2, "description": "..."} + ], + "recommendations": { + "qixu": { + "diet": "宜食益气健脾食物...", + "lifestyle": "避免劳累...", + "exercise": "宜柔和运动...", + "emotion": "避免过度思虑" + } + }, + "assessed_at": "2026-02-01T16:30:00Z" + } +} +``` + +### 4.4 获取最新测评结果 +- **GET** `/api/constitution/result` +- **需要认证** + +### 4.5 获取测评历史 +- **GET** `/api/constitution/history?limit=10` +- **需要认证** + +### 4.6 获取调养建议 +- **GET** `/api/constitution/recommendations` +- **需要认证** + +--- + +## 五、AI对话接口 + +### 5.1 获取对话列表 +- **GET** `/api/conversations` +- **需要认证** + +**响应:** +```json +{ + "code": 0, + "message": "success", + "data": [ + { + "id": 1, + "title": "新对话 02-01 16:30", + "created_at": "2026-02-01T16:30:00Z", + "updated_at": "2026-02-01T16:35:00Z" + } + ] +} +``` + +### 5.2 创建新对话 +- **POST** `/api/conversations` +- **需要认证** + +**请求体:** +```json +{ + "title": "对话标题" // 可选 +} +``` + +### 5.3 获取对话详情 +- **GET** `/api/conversations/:id` +- **需要认证** + +**响应:** +```json +{ + "code": 0, + "message": "success", + "data": { + "id": 1, + "title": "最近总是感觉疲劳...", + "messages": [ + { + "id": 1, + "role": "user", + "content": "最近总是感觉疲劳怎么办?", + "created_at": "2026-02-01T16:30:00Z" + }, + { + "id": 2, + "role": "assistant", + "content": "【情况分析】...", + "created_at": "2026-02-01T16:30:05Z" + } + ], + "created_at": "2026-02-01T16:30:00Z", + "updated_at": "2026-02-01T16:30:05Z" + } +} +``` + +### 5.4 删除对话 +- **DELETE** `/api/conversations/:id` +- **需要认证** + +### 5.5 发送消息 +- **POST** `/api/conversations/:id/messages` +- **需要认证** + +**请求体:** +```json +{ + "content": "我最近总是感觉疲劳怎么办?" +} +``` + +**响应:** +```json +{ + "code": 0, + "message": "success", + "data": { + "id": 2, + "role": "assistant", + "content": "【情况分析】根据您的描述...\n【建议】\n1. 保证充足睡眠...", + "created_at": "2026-02-01T16:30:05Z" + } +} +``` + +--- + +## 六、健康档案接口 + +### 6.1 获取完整健康档案 +- **GET** `/api/user/health-profile` +- **需要认证** + +### 6.2 获取基础档案 +- **GET** `/api/user/basic-profile` +- **需要认证** + +### 6.3 获取生活习惯 +- **GET** `/api/user/lifestyle` +- **需要认证** + +### 6.4 获取病史列表 +- **GET** `/api/user/medical-history` +- **需要认证** + +### 6.5 删除病史记录 +- **DELETE** `/api/user/medical-history/:id` +- **需要认证** + +### 6.6 获取家族病史 +- **GET** `/api/user/family-history` +- **需要认证** + +### 6.7 获取过敏记录 +- **GET** `/api/user/allergy-records` +- **需要认证** + +--- + +## 七、产品接口 + +### 7.1 获取产品列表 +- **GET** `/api/products?page=1&page_size=20` + +### 7.2 获取产品详情 +- **GET** `/api/products/:id` + +### 7.3 按分类获取产品 +- **GET** `/api/products/category?category=补气类` + +### 7.4 搜索产品 +- **GET** `/api/products/search?keyword=疲劳` + +### 7.5 获取推荐产品(基于用户体质) +- **GET** `/api/products/recommend` +- **需要认证** + +### 7.6 获取购买历史 +- **GET** `/api/user/purchase-history` +- **需要认证** + +--- + +## 八、商城同步接口 + +### 8.1 同步购买记录 +- **POST** `/api/sync/purchase` + +**请求体:** +```json +{ + "user_id": 1, + "order_no": "ORDER123456", + "products": [ + {"id": 1, "name": "黄芪精"}, + {"id": 2, "name": "人参蜂王浆"} + ], + "created_at": "2026-02-01T16:00:00Z" +} +``` + +--- + +## 九、错误码说明 + +| Code | 说明 | +|------|------| +| 0 | 成功 | +| 400 | 参数错误 | +| 401 | 未授权/Token无效 | +| 403 | 禁止访问 | +| 404 | 资源不存在 | +| 500 | 服务器错误 | + +--- + +## 十、体质类型对照 + +| 类型代码 | 中文名称 | +|----------|----------| +| pinghe | 平和质 | +| qixu | 气虚质 | +| yangxu | 阳虚质 | +| yinxu | 阴虚质 | +| tanshi | 痰湿质 | +| shire | 湿热质 | +| xueyu | 血瘀质 | +| qiyu | 气郁质 | +| tebing | 特禀质 | + +--- + +## 十一、配置说明 + +后端配置文件 `config.yaml`: + +```yaml +server: + port: 8080 + mode: debug + +database: + driver: sqlite + sqlite: + path: ./data/health.db + +jwt: + secret: your-secret-key + expire_hours: 24 + +ai: + provider: aliyun # 或 openai + max_history_messages: 10 + aliyun: + api_key: "您的阿里云DashScope API Key" + model: "qwen-turbo" +``` + +--- + +## 联系方式 + +如有接口问题,请创建 Issue 或联系后端开发团队。 diff --git a/server/go.mod b/server/go.mod new file mode 100644 index 0000000..3984d9d --- /dev/null +++ b/server/go.mod @@ -0,0 +1,58 @@ +module health-ai + +go 1.25.5 + +require ( + github.com/gin-contrib/cors v1.7.6 + github.com/gin-gonic/gin v1.11.0 + github.com/golang-jwt/jwt/v5 v5.3.1 + github.com/spf13/viper v1.21.0 + golang.org/x/crypto v0.47.0 + gorm.io/driver/sqlite v1.6.0 + gorm.io/gorm v1.31.1 +) + +require ( + github.com/bytedance/sonic v1.14.0 // indirect + github.com/bytedance/sonic/loader v0.3.0 // indirect + github.com/cloudwego/base64x v0.1.6 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/gabriel-vasile/mimetype v1.4.9 // indirect + github.com/gin-contrib/sse v1.1.0 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.27.0 // indirect + github.com/go-viper/mapstructure/v2 v2.4.0 // indirect + github.com/goccy/go-json v0.10.5 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/cpuid/v2 v2.3.0 // indirect + github.com/leodido/go-urn v1.4.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-sqlite3 v1.14.22 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/quic-go/qpack v0.5.1 // indirect + github.com/quic-go/quic-go v0.54.0 // indirect + github.com/sagikazarmark/locafero v0.11.0 // indirect + github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect + github.com/spf13/afero v1.15.0 // indirect + github.com/spf13/cast v1.10.0 // indirect + github.com/spf13/pflag v1.0.10 // indirect + github.com/subosito/gotenv v1.6.0 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.3.0 // indirect + go.uber.org/mock v0.5.0 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect + golang.org/x/arch v0.20.0 // indirect + golang.org/x/mod v0.31.0 // indirect + golang.org/x/net v0.48.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/sys v0.40.0 // indirect + golang.org/x/text v0.33.0 // indirect + golang.org/x/tools v0.40.0 // indirect + google.golang.org/protobuf v1.36.9 // indirect +) diff --git a/server/go.sum b/server/go.sum new file mode 100644 index 0000000..aa71747 --- /dev/null +++ b/server/go.sum @@ -0,0 +1,133 @@ +github.com/bytedance/sonic v1.14.0 h1:/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQQ= +github.com/bytedance/sonic v1.14.0/go.mod h1:WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA= +github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA= +github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= +github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M= +github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= +github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= +github.com/gin-contrib/cors v1.7.6 h1:3gQ8GMzs1Ylpf70y8bMw4fVpycXIeX1ZemuSQIsnQQY= +github.com/gin-contrib/cors v1.7.6/go.mod h1:Ulcl+xN4jel9t1Ry8vqph23a60FwH9xVLd+3ykmTjOk= +github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= +github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= +github.com/gin-gonic/gin v1.11.0 h1:OW/6PLjyusp2PPXtyxKHU0RbX6I/l28FTdDlae5ueWk= +github.com/gin-gonic/gin v1.11.0/go.mod h1:+iq/FyxlGzII0KHiBGjuNn4UNENUlKbGlNmc+W50Dls= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= +github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= +github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= +github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY= +github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= +github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= +github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= +github.com/quic-go/quic-go v0.54.0 h1:6s1YB9QotYI6Ospeiguknbp2Znb/jZYjZLRXn9kMQBg= +github.com/quic-go/quic-go v0.54.0/go.mod h1:e68ZEaCdyviluZmy44P6Iey98v/Wfz6HCjQEm+l8zTY= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc= +github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= +github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= +github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= +github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= +github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA= +github.com/ugorji/go/codec v1.3.0/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= +go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= +go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +golang.org/x/arch v0.20.0 h1:dx1zTU0MAE98U+TQ8BLl7XsJbgze2WnNKF/8tGp/Q6c= +golang.org/x/arch v0.20.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= +golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= +golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= +golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= +golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= +golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= +golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= +golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= +golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= +google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw= +google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/sqlite v1.6.0 h1:WHRRrIiulaPiPFmDcod6prc4l2VGVWHz80KspNsxSfQ= +gorm.io/driver/sqlite v1.6.0/go.mod h1:AO9V1qIQddBESngQUKWL9yoH93HIeA1X6V633rBwyT8= +gorm.io/gorm v1.31.1 h1:7CA8FTFz/gRfgqgpeKIBcervUn3xSyPUmr6B2WXJ7kg= +gorm.io/gorm v1.31.1/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs= diff --git a/server/internal/api/handler/auth.go b/server/internal/api/handler/auth.go new file mode 100644 index 0000000..75a795f --- /dev/null +++ b/server/internal/api/handler/auth.go @@ -0,0 +1,141 @@ +package handler + +import ( + "health-ai/internal/api/middleware" + "health-ai/internal/service" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type AuthHandler struct { + authService *service.AuthService +} + +func NewAuthHandler() *AuthHandler { + return &AuthHandler{ + authService: service.NewAuthService(), + } +} + +// Register 用户注册 +// @Summary 用户注册 +// @Tags 认证 +// @Accept json +// @Produce json +// @Param request body service.RegisterRequest true "注册信息" +// @Success 200 {object} response.Response{data=service.AuthResponse} +// @Router /api/auth/register [post] +func (h *AuthHandler) Register(c *gin.Context) { + var req service.RegisterRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + result, err := h.authService.Register(&req) + if err != nil { + response.Error(c, 400, err.Error()) + return + } + + response.Success(c, result) +} + +// Login 用户登录 +// @Summary 用户登录 +// @Tags 认证 +// @Accept json +// @Produce json +// @Param request body service.LoginRequest true "登录信息" +// @Success 200 {object} response.Response{data=service.AuthResponse} +// @Router /api/auth/login [post] +func (h *AuthHandler) Login(c *gin.Context) { + var req service.LoginRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + result, err := h.authService.Login(&req) + if err != nil { + response.Error(c, 400, err.Error()) + return + } + + response.Success(c, result) +} + +// RefreshToken 刷新Token +// @Summary 刷新Token +// @Tags 认证 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=map[string]string} +// @Router /api/auth/refresh [post] +func (h *AuthHandler) RefreshToken(c *gin.Context) { + // 从header获取旧token + oldToken := c.GetHeader("Authorization") + if len(oldToken) > 7 { + oldToken = oldToken[7:] // 去掉 "Bearer " + } + + newToken, err := h.authService.RefreshToken(oldToken) + if err != nil { + response.Unauthorized(c, "Token刷新失败") + return + } + + response.Success(c, gin.H{"token": newToken}) +} + +// GetUserInfo 获取当前用户信息 +// @Summary 获取当前用户信息 +// @Tags 用户 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=service.UserInfoResponse} +// @Router /api/user/profile [get] +func (h *AuthHandler) GetUserInfo(c *gin.Context) { + userID := middleware.GetUserID(c) + result, err := h.authService.GetUserInfo(userID) + if err != nil { + response.Error(c, 400, err.Error()) + return + } + response.Success(c, result) +} + +// UpdateProfile 更新用户资料 +// @Summary 更新用户资料 +// @Tags 用户 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body UpdateProfileRequest true "更新信息" +// @Success 200 {object} response.Response +// @Router /api/user/profile [put] +func (h *AuthHandler) UpdateProfile(c *gin.Context) { + userID := middleware.GetUserID(c) + + var req UpdateProfileRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if err := h.authService.UpdateProfile(userID, req.Nickname, req.Avatar); err != nil { + response.Error(c, 400, err.Error()) + return + } + + response.SuccessWithMessage(c, "更新成功", nil) +} + +// UpdateProfileRequest 更新资料请求 +type UpdateProfileRequest struct { + Nickname string `json:"nickname"` + Avatar string `json:"avatar"` +} diff --git a/server/internal/api/handler/constitution.go b/server/internal/api/handler/constitution.go new file mode 100644 index 0000000..16378fd --- /dev/null +++ b/server/internal/api/handler/constitution.go @@ -0,0 +1,155 @@ +package handler + +import ( + "strconv" + + "health-ai/internal/api/middleware" + "health-ai/internal/service" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type ConstitutionHandler struct { + constitutionService *service.ConstitutionService +} + +func NewConstitutionHandler() *ConstitutionHandler { + return &ConstitutionHandler{ + constitutionService: service.NewConstitutionService(), + } +} + +// GetQuestions 获取体质问卷题目 +// @Summary 获取体质问卷题目 +// @Tags 体质辨识 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=[]model.QuestionBank} +// @Router /api/constitution/questions [get] +func (h *ConstitutionHandler) GetQuestions(c *gin.Context) { + questions, err := h.constitutionService.GetQuestions() + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, questions) +} + +// GetQuestionsGrouped 获取分组的体质问卷题目 +// @Summary 获取分组的体质问卷题目 +// @Tags 体质辨识 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=[]service.QuestionGroup} +// @Router /api/constitution/questions/grouped [get] +func (h *ConstitutionHandler) GetQuestionsGrouped(c *gin.Context) { + groups, err := h.constitutionService.GetQuestionsGrouped() + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, groups) +} + +// SubmitAssessment 提交体质测评 +// @Summary 提交体质测评答案 +// @Tags 体质辨识 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body service.SubmitAssessmentRequest true "测评答案" +// @Success 200 {object} response.Response{data=service.AssessmentResult} +// @Router /api/constitution/submit [post] +func (h *ConstitutionHandler) SubmitAssessment(c *gin.Context) { + userID := middleware.GetUserID(c) + + var req service.SubmitAssessmentRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if len(req.Answers) == 0 { + response.BadRequest(c, "请至少回答一道问题") + return + } + + result, err := h.constitutionService.SubmitAssessment(userID, &req) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.Success(c, result) +} + +// GetResult 获取最新体质测评结果 +// @Summary 获取最新体质测评结果 +// @Tags 体质辨识 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=service.AssessmentResult} +// @Router /api/constitution/result [get] +func (h *ConstitutionHandler) GetResult(c *gin.Context) { + userID := middleware.GetUserID(c) + + result, err := h.constitutionService.GetLatestResult(userID) + if err != nil { + response.Error(c, 404, err.Error()) + return + } + + response.Success(c, result) +} + +// GetHistory 获取体质测评历史 +// @Summary 获取体质测评历史 +// @Tags 体质辨识 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param limit query int false "返回数量限制,默认10" +// @Success 200 {object} response.Response{data=[]service.AssessmentResult} +// @Router /api/constitution/history [get] +func (h *ConstitutionHandler) GetHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + + limit := 10 + if limitStr := c.Query("limit"); limitStr != "" { + if l, err := strconv.Atoi(limitStr); err == nil && l > 0 { + limit = l + } + } + + results, err := h.constitutionService.GetHistory(userID, limit) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.Success(c, results) +} + +// GetRecommendations 获取体质调养建议 +// @Summary 获取体质调养建议 +// @Tags 体质辨识 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=map[string]map[string]string} +// @Router /api/constitution/recommendations [get] +func (h *ConstitutionHandler) GetRecommendations(c *gin.Context) { + userID := middleware.GetUserID(c) + + recommendations, err := h.constitutionService.GetRecommendations(userID) + if err != nil { + response.Error(c, 404, err.Error()) + return + } + + response.Success(c, recommendations) +} diff --git a/server/internal/api/handler/conversation.go b/server/internal/api/handler/conversation.go new file mode 100644 index 0000000..ffc75f3 --- /dev/null +++ b/server/internal/api/handler/conversation.go @@ -0,0 +1,183 @@ +package handler + +import ( + "strconv" + + "health-ai/internal/api/middleware" + "health-ai/internal/service" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type ConversationHandler struct { + convService *service.ConversationService +} + +func NewConversationHandler() *ConversationHandler { + return &ConversationHandler{ + convService: service.NewConversationService(), + } +} + +// GetConversations 获取对话列表 +// @Summary 获取对话列表 +// @Tags AI对话 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=[]service.ConversationResponse} +// @Router /api/conversations [get] +func (h *ConversationHandler) GetConversations(c *gin.Context) { + userID := middleware.GetUserID(c) + convs, err := h.convService.GetConversations(userID) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, convs) +} + +// CreateConversation 创建新对话 +// @Summary 创建新对话 +// @Tags AI对话 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body service.CreateConversationRequest true "对话标题(可选)" +// @Success 200 {object} response.Response{data=service.ConversationResponse} +// @Router /api/conversations [post] +func (h *ConversationHandler) CreateConversation(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.CreateConversationRequest + c.ShouldBindJSON(&req) + + conv, err := h.convService.CreateConversation(userID, req.Title) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, conv) +} + +// GetConversation 获取对话详情 +// @Summary 获取对话详情(含消息历史) +// @Tags AI对话 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param id path int true "对话ID" +// @Success 200 {object} response.Response{data=service.ConversationResponse} +// @Router /api/conversations/{id} [get] +func (h *ConversationHandler) GetConversation(c *gin.Context) { + userID := middleware.GetUserID(c) + convID, err := strconv.ParseUint(c.Param("id"), 10, 32) + if err != nil { + response.BadRequest(c, "无效的对话ID") + return + } + + conv, err := h.convService.GetConversation(userID, uint(convID)) + if err != nil { + response.Error(c, 404, err.Error()) + return + } + response.Success(c, conv) +} + +// DeleteConversation 删除对话 +// @Summary 删除对话 +// @Tags AI对话 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param id path int true "对话ID" +// @Success 200 {object} response.Response +// @Router /api/conversations/{id} [delete] +func (h *ConversationHandler) DeleteConversation(c *gin.Context) { + userID := middleware.GetUserID(c) + convID, err := strconv.ParseUint(c.Param("id"), 10, 32) + if err != nil { + response.BadRequest(c, "无效的对话ID") + return + } + + if err := h.convService.DeleteConversation(userID, uint(convID)); err != nil { + response.Error(c, 400, err.Error()) + return + } + response.SuccessWithMessage(c, "对话已删除", nil) +} + +// SendMessage 发送消息 +// @Summary 发送消息并获取AI回复 +// @Tags AI对话 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param id path int true "对话ID" +// @Param request body service.SendMessageRequest true "消息内容" +// @Success 200 {object} response.Response{data=service.MessageResponse} +// @Router /api/conversations/{id}/messages [post] +func (h *ConversationHandler) SendMessage(c *gin.Context) { + userID := middleware.GetUserID(c) + convID, err := strconv.ParseUint(c.Param("id"), 10, 32) + if err != nil { + response.BadRequest(c, "无效的对话ID") + return + } + + var req service.SendMessageRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "请输入消息内容") + return + } + + if req.Content == "" { + response.BadRequest(c, "消息内容不能为空") + return + } + + reply, err := h.convService.SendMessage(c.Request.Context(), userID, uint(convID), req.Content) + if err != nil { + response.Error(c, 500, "AI回复失败: "+err.Error()) + return + } + + response.Success(c, reply) +} + +// SendMessageStream 流式发送消息(SSE) +// @Summary 流式发送消息 +// @Tags AI对话 +// @Accept json +// @Produce text/event-stream +// @Param Authorization header string true "Bearer Token" +// @Param id path int true "对话ID" +// @Param request body service.SendMessageRequest true "消息内容" +// @Router /api/conversations/{id}/messages/stream [post] +func (h *ConversationHandler) SendMessageStream(c *gin.Context) { + userID := middleware.GetUserID(c) + convID, err := strconv.ParseUint(c.Param("id"), 10, 32) + if err != nil { + response.BadRequest(c, "无效的对话ID") + return + } + + var req service.SendMessageRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "请输入消息内容") + return + } + + // 设置 SSE 响应头 + c.Header("Content-Type", "text/event-stream") + c.Header("Cache-Control", "no-cache") + c.Header("Connection", "keep-alive") + + err = h.convService.SendMessageStream(c.Request.Context(), userID, uint(convID), req.Content, c.Writer) + if err != nil { + c.SSEvent("error", err.Error()) + } + c.SSEvent("done", "") +} diff --git a/server/internal/api/handler/health.go b/server/internal/api/handler/health.go new file mode 100644 index 0000000..ca48e9b --- /dev/null +++ b/server/internal/api/handler/health.go @@ -0,0 +1,201 @@ +package handler + +import ( + "strconv" + + "health-ai/internal/api/middleware" + "health-ai/internal/service" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type HealthHandler struct { + healthService *service.HealthService +} + +func NewHealthHandler() *HealthHandler { + return &HealthHandler{ + healthService: service.NewHealthService(), + } +} + +// GetHealthProfile 获取完整健康档案 +// @Summary 获取完整健康档案 +// @Tags 健康档案 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=service.HealthProfileResponse} +// @Router /api/user/health-profile [get] +func (h *HealthHandler) GetHealthProfile(c *gin.Context) { + userID := middleware.GetUserID(c) + profile, err := h.healthService.GetHealthProfile(userID) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, profile) +} + +// GetBasicProfile 获取基础档案 +// @Summary 获取基础档案 +// @Tags 健康档案 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=model.HealthProfile} +// @Router /api/user/basic-profile [get] +func (h *HealthHandler) GetBasicProfile(c *gin.Context) { + userID := middleware.GetUserID(c) + profile, err := h.healthService.GetBasicProfile(userID) + if err != nil { + response.Error(c, 404, err.Error()) + return + } + response.Success(c, profile) +} + +// GetLifestyle 获取生活习惯 +// @Summary 获取生活习惯 +// @Tags 健康档案 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=model.LifestyleInfo} +// @Router /api/user/lifestyle [get] +func (h *HealthHandler) GetLifestyle(c *gin.Context) { + userID := middleware.GetUserID(c) + lifestyle, err := h.healthService.GetLifestyle(userID) + if err != nil { + response.Error(c, 404, err.Error()) + return + } + response.Success(c, lifestyle) +} + +// GetMedicalHistory 获取病史列表 +// @Summary 获取病史列表 +// @Tags 健康档案 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=[]model.MedicalHistory} +// @Router /api/user/medical-history [get] +func (h *HealthHandler) GetMedicalHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + history, err := h.healthService.GetMedicalHistory(userID) + if err != nil { + response.Error(c, 404, err.Error()) + return + } + response.Success(c, history) +} + +// GetFamilyHistory 获取家族病史列表 +// @Summary 获取家族病史列表 +// @Tags 健康档案 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=[]model.FamilyHistory} +// @Router /api/user/family-history [get] +func (h *HealthHandler) GetFamilyHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + history, err := h.healthService.GetFamilyHistory(userID) + if err != nil { + response.Error(c, 404, err.Error()) + return + } + response.Success(c, history) +} + +// GetAllergyRecords 获取过敏记录列表 +// @Summary 获取过敏记录列表 +// @Tags 健康档案 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=[]model.AllergyRecord} +// @Router /api/user/allergy-records [get] +func (h *HealthHandler) GetAllergyRecords(c *gin.Context) { + userID := middleware.GetUserID(c) + records, err := h.healthService.GetAllergyRecords(userID) + if err != nil { + response.Error(c, 404, err.Error()) + return + } + response.Success(c, records) +} + +// DeleteMedicalHistory 删除病史记录 +// @Summary 删除病史记录 +// @Tags 健康档案 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param id path int true "记录ID" +// @Success 200 {object} response.Response +// @Router /api/user/medical-history/{id} [delete] +func (h *HealthHandler) DeleteMedicalHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + id, err := strconv.ParseUint(c.Param("id"), 10, 32) + if err != nil { + response.BadRequest(c, "无效的ID") + return + } + + if err := h.healthService.DeleteMedicalHistory(userID, uint(id)); err != nil { + response.Error(c, 500, err.Error()) + return + } + response.SuccessWithMessage(c, "删除成功", nil) +} + +// DeleteFamilyHistory 删除家族病史记录 +// @Summary 删除家族病史记录 +// @Tags 健康档案 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param id path int true "记录ID" +// @Success 200 {object} response.Response +// @Router /api/user/family-history/{id} [delete] +func (h *HealthHandler) DeleteFamilyHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + id, err := strconv.ParseUint(c.Param("id"), 10, 32) + if err != nil { + response.BadRequest(c, "无效的ID") + return + } + + if err := h.healthService.DeleteFamilyHistory(userID, uint(id)); err != nil { + response.Error(c, 500, err.Error()) + return + } + response.SuccessWithMessage(c, "删除成功", nil) +} + +// DeleteAllergyRecord 删除过敏记录 +// @Summary 删除过敏记录 +// @Tags 健康档案 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param id path int true "记录ID" +// @Success 200 {object} response.Response +// @Router /api/user/allergy-records/{id} [delete] +func (h *HealthHandler) DeleteAllergyRecord(c *gin.Context) { + userID := middleware.GetUserID(c) + id, err := strconv.ParseUint(c.Param("id"), 10, 32) + if err != nil { + response.BadRequest(c, "无效的ID") + return + } + + if err := h.healthService.DeleteAllergyRecord(userID, uint(id)); err != nil { + response.Error(c, 500, err.Error()) + return + } + response.SuccessWithMessage(c, "删除成功", nil) +} diff --git a/server/internal/api/handler/product.go b/server/internal/api/handler/product.go new file mode 100644 index 0000000..009335e --- /dev/null +++ b/server/internal/api/handler/product.go @@ -0,0 +1,172 @@ +package handler + +import ( + "strconv" + + "health-ai/internal/api/middleware" + "health-ai/internal/service" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type ProductHandler struct { + productService *service.ProductService +} + +func NewProductHandler() *ProductHandler { + return &ProductHandler{ + productService: service.NewProductService(), + } +} + +// GetProducts 获取产品列表 +// @Summary 获取产品列表 +// @Tags 产品 +// @Accept json +// @Produce json +// @Param page query int false "页码,默认1" +// @Param page_size query int false "每页数量,默认20" +// @Success 200 {object} response.Response{data=service.ProductListResponse} +// @Router /api/products [get] +func (h *ProductHandler) GetProducts(c *gin.Context) { + page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", "20")) + + result, err := h.productService.GetProducts(page, pageSize) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, result) +} + +// GetProduct 获取产品详情 +// @Summary 获取产品详情 +// @Tags 产品 +// @Accept json +// @Produce json +// @Param id path int true "产品ID" +// @Success 200 {object} response.Response{data=model.Product} +// @Router /api/products/{id} [get] +func (h *ProductHandler) GetProduct(c *gin.Context) { + id, err := strconv.ParseUint(c.Param("id"), 10, 32) + if err != nil { + response.BadRequest(c, "无效的产品ID") + return + } + + product, err := h.productService.GetProductByID(uint(id)) + if err != nil { + response.Error(c, 404, err.Error()) + return + } + response.Success(c, product) +} + +// GetProductsByCategory 按分类获取产品 +// @Summary 按分类获取产品 +// @Tags 产品 +// @Accept json +// @Produce json +// @Param category query string true "分类名称" +// @Success 200 {object} response.Response{data=[]model.Product} +// @Router /api/products/category [get] +func (h *ProductHandler) GetProductsByCategory(c *gin.Context) { + category := c.Query("category") + if category == "" { + response.BadRequest(c, "请指定分类") + return + } + + products, err := h.productService.GetProductsByCategory(category) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, products) +} + +// GetRecommendedProducts 获取推荐产品(基于用户体质) +// @Summary 获取推荐产品 +// @Tags 产品 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=service.ProductRecommendResponse} +// @Router /api/products/recommend [get] +func (h *ProductHandler) GetRecommendedProducts(c *gin.Context) { + userID := middleware.GetUserID(c) + result, err := h.productService.GetRecommendedProducts(userID) + if err != nil { + response.Error(c, 400, err.Error()) + return + } + response.Success(c, result) +} + +// SearchProducts 搜索产品 +// @Summary 搜索产品 +// @Tags 产品 +// @Accept json +// @Produce json +// @Param keyword query string true "搜索关键词" +// @Success 200 {object} response.Response{data=[]model.Product} +// @Router /api/products/search [get] +func (h *ProductHandler) SearchProducts(c *gin.Context) { + keyword := c.Query("keyword") + if keyword == "" { + response.BadRequest(c, "请输入搜索关键词") + return + } + + products, err := h.productService.SearchProducts(keyword) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, products) +} + +// SyncPurchase 同步商城购买记录 +// @Summary 同步商城购买记录 +// @Tags 商城同步 +// @Accept json +// @Produce json +// @Param request body service.PurchaseSyncRequest true "购买记录" +// @Success 200 {object} response.Response +// @Router /api/sync/purchase [post] +func (h *ProductHandler) SyncPurchase(c *gin.Context) { + // TODO: 验证同步密钥 + + var req service.PurchaseSyncRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if err := h.productService.SyncPurchase(&req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.SuccessWithMessage(c, "同步成功", nil) +} + +// GetPurchaseHistory 获取购买历史 +// @Summary 获取购买历史 +// @Tags 产品 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=[]model.PurchaseHistory} +// @Router /api/user/purchase-history [get] +func (h *ProductHandler) GetPurchaseHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + history, err := h.productService.GetPurchaseHistory(userID) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, history) +} diff --git a/server/internal/api/handler/survey.go b/server/internal/api/handler/survey.go new file mode 100644 index 0000000..f9abf60 --- /dev/null +++ b/server/internal/api/handler/survey.go @@ -0,0 +1,256 @@ +package handler + +import ( + "health-ai/internal/api/middleware" + "health-ai/internal/service" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +type SurveyHandler struct { + surveyService *service.SurveyService +} + +func NewSurveyHandler() *SurveyHandler { + return &SurveyHandler{ + surveyService: service.NewSurveyService(), + } +} + +// GetStatus 获取调查完成状态 +// @Summary 获取调查完成状态 +// @Tags 健康调查 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response{data=service.SurveyStatusResponse} +// @Router /api/survey/status [get] +func (h *SurveyHandler) GetStatus(c *gin.Context) { + userID := middleware.GetUserID(c) + status, err := h.surveyService.GetStatus(userID) + if err != nil { + response.Error(c, 500, err.Error()) + return + } + response.Success(c, status) +} + +// SubmitBasicInfo 提交基础信息 +// @Summary 提交基础信息 +// @Tags 健康调查 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body service.BasicInfoRequest true "基础信息" +// @Success 200 {object} response.Response +// @Router /api/survey/basic-info [post] +func (h *SurveyHandler) SubmitBasicInfo(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.BasicInfoRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitBasicInfo(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.SuccessWithMessage(c, "基础信息保存成功", nil) +} + +// SubmitLifestyle 提交生活习惯 +// @Summary 提交生活习惯 +// @Tags 健康调查 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body service.LifestyleRequest true "生活习惯" +// @Success 200 {object} response.Response +// @Router /api/survey/lifestyle [post] +func (h *SurveyHandler) SubmitLifestyle(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.LifestyleRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitLifestyle(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.SuccessWithMessage(c, "生活习惯保存成功", nil) +} + +// SubmitMedicalHistory 提交病史(单条) +// @Summary 提交病史 +// @Tags 健康调查 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body service.MedicalHistoryRequest true "病史信息" +// @Success 200 {object} response.Response +// @Router /api/survey/medical-history [post] +func (h *SurveyHandler) SubmitMedicalHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.MedicalHistoryRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitMedicalHistory(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.SuccessWithMessage(c, "病史记录添加成功", nil) +} + +// SubmitBatchMedicalHistory 批量提交病史 +// @Summary 批量提交病史(覆盖式) +// @Tags 健康调查 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body service.BatchMedicalHistoryRequest true "病史列表" +// @Success 200 {object} response.Response +// @Router /api/survey/medical-history/batch [post] +func (h *SurveyHandler) SubmitBatchMedicalHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.BatchMedicalHistoryRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitBatchMedicalHistory(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.SuccessWithMessage(c, "病史记录保存成功", nil) +} + +// SubmitFamilyHistory 提交家族病史(单条) +// @Summary 提交家族病史 +// @Tags 健康调查 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body service.FamilyHistoryRequest true "家族病史" +// @Success 200 {object} response.Response +// @Router /api/survey/family-history [post] +func (h *SurveyHandler) SubmitFamilyHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.FamilyHistoryRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitFamilyHistory(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.SuccessWithMessage(c, "家族病史记录添加成功", nil) +} + +// SubmitBatchFamilyHistory 批量提交家族病史 +// @Summary 批量提交家族病史(覆盖式) +// @Tags 健康调查 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body service.BatchFamilyHistoryRequest true "家族病史列表" +// @Success 200 {object} response.Response +// @Router /api/survey/family-history/batch [post] +func (h *SurveyHandler) SubmitBatchFamilyHistory(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.BatchFamilyHistoryRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitBatchFamilyHistory(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.SuccessWithMessage(c, "家族病史保存成功", nil) +} + +// SubmitAllergy 提交过敏信息(单条) +// @Summary 提交过敏信息 +// @Tags 健康调查 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body service.AllergyRequest true "过敏信息" +// @Success 200 {object} response.Response +// @Router /api/survey/allergy [post] +func (h *SurveyHandler) SubmitAllergy(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.AllergyRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitAllergy(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.SuccessWithMessage(c, "过敏信息添加成功", nil) +} + +// SubmitBatchAllergy 批量提交过敏信息 +// @Summary 批量提交过敏信息(覆盖式) +// @Tags 健康调查 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Param request body service.BatchAllergyRequest true "过敏信息列表" +// @Success 200 {object} response.Response +// @Router /api/survey/allergy/batch [post] +func (h *SurveyHandler) SubmitBatchAllergy(c *gin.Context) { + userID := middleware.GetUserID(c) + var req service.BatchAllergyRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "参数错误: "+err.Error()) + return + } + + if err := h.surveyService.SubmitBatchAllergy(userID, &req); err != nil { + response.Error(c, 500, err.Error()) + return + } + + response.SuccessWithMessage(c, "过敏信息保存成功", nil) +} + +// CompleteSurvey 完成调查 +// @Summary 完成健康调查 +// @Tags 健康调查 +// @Accept json +// @Produce json +// @Param Authorization header string true "Bearer Token" +// @Success 200 {object} response.Response +// @Router /api/survey/complete [post] +func (h *SurveyHandler) CompleteSurvey(c *gin.Context) { + userID := middleware.GetUserID(c) + + if err := h.surveyService.CompleteSurvey(userID); err != nil { + response.Error(c, 400, err.Error()) + return + } + + response.SuccessWithMessage(c, "健康调查已完成", nil) +} diff --git a/server/internal/api/middleware/auth.go b/server/internal/api/middleware/auth.go new file mode 100644 index 0000000..f5c40be --- /dev/null +++ b/server/internal/api/middleware/auth.go @@ -0,0 +1,72 @@ +package middleware + +import ( + "strings" + + "health-ai/pkg/jwt" + "health-ai/pkg/response" + + "github.com/gin-gonic/gin" +) + +// AuthRequired JWT认证中间件 +func AuthRequired() gin.HandlerFunc { + return func(c *gin.Context) { + authHeader := c.GetHeader("Authorization") + if authHeader == "" { + response.Unauthorized(c, "未提供认证信息") + c.Abort() + return + } + + parts := strings.SplitN(authHeader, " ", 2) + if len(parts) != 2 || parts[0] != "Bearer" { + response.Unauthorized(c, "认证格式错误,请使用 Bearer Token") + c.Abort() + return + } + + claims, err := jwt.ParseToken(parts[1]) + if err != nil { + response.Unauthorized(c, "Token无效或已过期") + c.Abort() + return + } + + // 将用户ID存入上下文 + c.Set("userID", claims.UserID) + c.Next() + } +} + +// GetUserID 从上下文获取用户ID +func GetUserID(c *gin.Context) uint { + userID, exists := c.Get("userID") + if !exists { + return 0 + } + return userID.(uint) +} + +// OptionalAuth 可选认证中间件(不强制要求登录) +func OptionalAuth() gin.HandlerFunc { + return func(c *gin.Context) { + authHeader := c.GetHeader("Authorization") + if authHeader == "" { + c.Next() + return + } + + parts := strings.SplitN(authHeader, " ", 2) + if len(parts) != 2 || parts[0] != "Bearer" { + c.Next() + return + } + + claims, err := jwt.ParseToken(parts[1]) + if err == nil { + c.Set("userID", claims.UserID) + } + c.Next() + } +} diff --git a/server/internal/api/router.go b/server/internal/api/router.go new file mode 100644 index 0000000..a13f702 --- /dev/null +++ b/server/internal/api/router.go @@ -0,0 +1,136 @@ +package api + +import ( + "health-ai/internal/api/handler" + "health-ai/internal/api/middleware" + + "github.com/gin-contrib/cors" + "github.com/gin-gonic/gin" +) + +func SetupRouter(mode string) *gin.Engine { + gin.SetMode(mode) + r := gin.Default() + + // 跨域配置 + r.Use(cors.New(cors.Config{ + AllowOrigins: []string{"*"}, + AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, + AllowHeaders: []string{"Origin", "Content-Type", "Authorization"}, + AllowCredentials: true, + })) + + // 健康检查 + r.GET("/health", func(c *gin.Context) { + c.JSON(200, gin.H{"status": "ok"}) + }) + + // API 路由组 + apiGroup := r.Group("/api") + { + // ===================== + // 认证路由(无需登录) + // ===================== + authHandler := handler.NewAuthHandler() + authGroup := apiGroup.Group("/auth") + { + authGroup.POST("/register", authHandler.Register) + authGroup.POST("/login", authHandler.Login) + authGroup.POST("/refresh", authHandler.RefreshToken) + } + + // ===================== + // 产品路由(部分无需登录) + // ===================== + productHandler := handler.NewProductHandler() + productGroup := apiGroup.Group("/products") + { + productGroup.GET("", productHandler.GetProducts) + productGroup.GET("/:id", productHandler.GetProduct) + productGroup.GET("/category", productHandler.GetProductsByCategory) + productGroup.GET("/search", productHandler.SearchProducts) + } + + // 商城同步接口(无需用户登录,需要API密钥验证) + apiGroup.POST("/sync/purchase", productHandler.SyncPurchase) + + // ===================== + // 需要登录的路由 + // ===================== + authRequired := apiGroup.Group("") + authRequired.Use(middleware.AuthRequired()) + { + // ===================== + // 用户相关 + // ===================== + authRequired.GET("/user/profile", authHandler.GetUserInfo) + authRequired.PUT("/user/profile", authHandler.UpdateProfile) + + // 健康档案 + healthHandler := handler.NewHealthHandler() + authRequired.GET("/user/health-profile", healthHandler.GetHealthProfile) + authRequired.GET("/user/basic-profile", healthHandler.GetBasicProfile) + authRequired.GET("/user/lifestyle", healthHandler.GetLifestyle) + authRequired.GET("/user/medical-history", healthHandler.GetMedicalHistory) + authRequired.DELETE("/user/medical-history/:id", healthHandler.DeleteMedicalHistory) + authRequired.GET("/user/family-history", healthHandler.GetFamilyHistory) + authRequired.DELETE("/user/family-history/:id", healthHandler.DeleteFamilyHistory) + authRequired.GET("/user/allergy-records", healthHandler.GetAllergyRecords) + authRequired.DELETE("/user/allergy-records/:id", healthHandler.DeleteAllergyRecord) + + // 购买历史 + authRequired.GET("/user/purchase-history", productHandler.GetPurchaseHistory) + + // 产品推荐(需要登录获取体质) + authRequired.GET("/products/recommend", productHandler.GetRecommendedProducts) + + // ===================== + // 健康调查路由 + // ===================== + surveyHandler := handler.NewSurveyHandler() + surveyGroup := authRequired.Group("/survey") + { + surveyGroup.GET("/status", surveyHandler.GetStatus) + surveyGroup.POST("/basic-info", surveyHandler.SubmitBasicInfo) + surveyGroup.POST("/lifestyle", surveyHandler.SubmitLifestyle) + surveyGroup.POST("/medical-history", surveyHandler.SubmitMedicalHistory) + surveyGroup.POST("/medical-history/batch", surveyHandler.SubmitBatchMedicalHistory) + surveyGroup.POST("/family-history", surveyHandler.SubmitFamilyHistory) + surveyGroup.POST("/family-history/batch", surveyHandler.SubmitBatchFamilyHistory) + surveyGroup.POST("/allergy", surveyHandler.SubmitAllergy) + surveyGroup.POST("/allergy/batch", surveyHandler.SubmitBatchAllergy) + surveyGroup.POST("/complete", surveyHandler.CompleteSurvey) + } + + // ===================== + // 体质辨识路由 + // ===================== + constitutionHandler := handler.NewConstitutionHandler() + constitutionGroup := authRequired.Group("/constitution") + { + constitutionGroup.GET("/questions", constitutionHandler.GetQuestions) + constitutionGroup.GET("/questions/grouped", constitutionHandler.GetQuestionsGrouped) + constitutionGroup.POST("/submit", constitutionHandler.SubmitAssessment) + constitutionGroup.GET("/result", constitutionHandler.GetResult) + constitutionGroup.GET("/history", constitutionHandler.GetHistory) + constitutionGroup.GET("/recommendations", constitutionHandler.GetRecommendations) + } + + // ===================== + // AI对话路由 + // ===================== + conversationHandler := handler.NewConversationHandler() + convGroup := authRequired.Group("/conversations") + { + convGroup.GET("", conversationHandler.GetConversations) + convGroup.POST("", conversationHandler.CreateConversation) + convGroup.GET("/:id", conversationHandler.GetConversation) + convGroup.DELETE("/:id", conversationHandler.DeleteConversation) + convGroup.POST("/:id/messages", conversationHandler.SendMessage) + convGroup.POST("/:id/messages/stream", conversationHandler.SendMessageStream) + } + } + } + + return r +} diff --git a/server/internal/config/config.go b/server/internal/config/config.go new file mode 100644 index 0000000..50d0e43 --- /dev/null +++ b/server/internal/config/config.go @@ -0,0 +1,79 @@ +package config + +import ( + "github.com/spf13/viper" +) + +type Config struct { + Server ServerConfig `mapstructure:"server"` + Database DatabaseConfig `mapstructure:"database"` + JWT JWTConfig `mapstructure:"jwt"` + AI AIConfig `mapstructure:"ai"` +} + +type ServerConfig struct { + Port int `mapstructure:"port"` + Mode string `mapstructure:"mode"` +} + +type DatabaseConfig struct { + Driver string `mapstructure:"driver"` + SQLite SQLiteConfig `mapstructure:"sqlite"` + Postgres PostgresConfig `mapstructure:"postgres"` + MySQL MySQLConfig `mapstructure:"mysql"` +} + +type SQLiteConfig struct { + Path string `mapstructure:"path"` +} + +type PostgresConfig struct { + Host string `mapstructure:"host"` + Port int `mapstructure:"port"` + User string `mapstructure:"user"` + Password string `mapstructure:"password"` + DBName string `mapstructure:"dbname"` +} + +type MySQLConfig struct { + Host string `mapstructure:"host"` + Port int `mapstructure:"port"` + User string `mapstructure:"user"` + Password string `mapstructure:"password"` + DBName string `mapstructure:"dbname"` +} + +type JWTConfig struct { + Secret string `mapstructure:"secret"` + ExpireHours int `mapstructure:"expire_hours"` +} + +type AIConfig struct { + Provider string `mapstructure:"provider"` + MaxHistoryMessages int `mapstructure:"max_history_messages"` + MaxTokens int `mapstructure:"max_tokens"` + OpenAI OpenAIConfig `mapstructure:"openai"` + Aliyun AliyunConfig `mapstructure:"aliyun"` +} + +type OpenAIConfig struct { + APIKey string `mapstructure:"api_key"` + BaseURL string `mapstructure:"base_url"` + Model string `mapstructure:"model"` +} + +type AliyunConfig struct { + APIKey string `mapstructure:"api_key"` + Model string `mapstructure:"model"` +} + +var AppConfig *Config + +func LoadConfig(path string) error { + viper.SetConfigFile(path) + if err := viper.ReadInConfig(); err != nil { + return err + } + AppConfig = &Config{} + return viper.Unmarshal(AppConfig) +} diff --git a/server/internal/database/database.go b/server/internal/database/database.go new file mode 100644 index 0000000..20fe331 --- /dev/null +++ b/server/internal/database/database.go @@ -0,0 +1,50 @@ +package database + +import ( + "fmt" + + "health-ai/internal/config" + + "gorm.io/driver/sqlite" + "gorm.io/gorm" + "gorm.io/gorm/logger" +) + +var DB *gorm.DB + +func InitDatabase(cfg *config.DatabaseConfig) error { + var err error + + gormConfig := &gorm.Config{ + Logger: logger.Default.LogMode(logger.Info), + } + + switch cfg.Driver { + case "sqlite": + DB, err = gorm.Open(sqlite.Open(cfg.SQLite.Path), gormConfig) + case "postgres": + // TODO: 添加 PostgreSQL 支持 + // dsn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", + // cfg.Postgres.Host, cfg.Postgres.Port, cfg.Postgres.User, cfg.Postgres.Password, cfg.Postgres.DBName) + // DB, err = gorm.Open(postgres.Open(dsn), gormConfig) + return fmt.Errorf("postgres driver not implemented yet") + case "mysql": + // TODO: 添加 MySQL 支持 + // dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local", + // cfg.MySQL.User, cfg.MySQL.Password, cfg.MySQL.Host, cfg.MySQL.Port, cfg.MySQL.DBName) + // DB, err = gorm.Open(mysql.Open(dsn), gormConfig) + return fmt.Errorf("mysql driver not implemented yet") + default: + return fmt.Errorf("unsupported database driver: %s", cfg.Driver) + } + + return err +} + +func AutoMigrate(models ...interface{}) error { + return DB.AutoMigrate(models...) +} + +func GetDB() *gorm.DB { + return DB +} diff --git a/server/internal/database/seed.go b/server/internal/database/seed.go new file mode 100644 index 0000000..813d2ca --- /dev/null +++ b/server/internal/database/seed.go @@ -0,0 +1,151 @@ +package database + +import ( + "encoding/json" + "log" + + "health-ai/internal/model" + + "golang.org/x/crypto/bcrypt" +) + +// SeedTestUser 创建测试用户 +func SeedTestUser() error { + var count int64 + DB.Model(&model.User{}).Where("phone = ?", "13800138000").Count(&count) + if count > 0 { + log.Println("Test user already exists") + return nil + } + + // 加密密码 + hashedPassword, err := bcrypt.GenerateFromPassword([]byte("123456"), bcrypt.DefaultCost) + if err != nil { + return err + } + + testUser := &model.User{ + Phone: "13800138000", + PasswordHash: string(hashedPassword), + Nickname: "测试用户", + } + + if err := DB.Create(testUser).Error; err != nil { + return err + } + + log.Println("Test user created: phone=13800138000, password=123456") + return nil +} + +// SeedQuestionBank 初始化问卷题库 +func SeedQuestionBank() error { + // 检查是否已有数据 + var count int64 + DB.Model(&model.QuestionBank{}).Count(&count) + if count > 0 { + log.Printf("Question bank already seeded with %d questions", count) + return nil + } + + questions := getQuestions() + for _, q := range questions { + if err := DB.Create(&q).Error; err != nil { + return err + } + } + log.Printf("Question bank seeded with %d questions", len(questions)) + return nil +} + +func getQuestions() []model.QuestionBank { + options, _ := json.Marshal([]string{"没有", "很少", "有时", "经常", "总是"}) + optStr := string(options) + + return []model.QuestionBank{ + // 平和质 (8题) + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您精力充沛吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您容易疲乏吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您说话声音低弱无力吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您感到闷闷不乐、情绪低沉吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您比一般人耐受不了寒冷吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您能适应外界自然和社会环境的变化吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您容易失眠吗?", Options: optStr, OrderNum: 7}, + {ConstitutionType: model.ConstitutionPinghe, QuestionText: "您容易忘事吗?", Options: optStr, OrderNum: 8}, + + // 气虚质 (8题) + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您容易气短(呼吸短促,接不上气)吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您容易心慌吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您容易头晕或站起时晕眩吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您比别人容易感冒吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您喜欢安静、懒得说话吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您说话声音低弱无力吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您活动量稍大就容易出虚汗吗?", Options: optStr, OrderNum: 7}, + {ConstitutionType: model.ConstitutionQixu, QuestionText: "您容易疲乏吗?", Options: optStr, OrderNum: 8}, + + // 阳虚质 (7题) + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您手脚发凉吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您胃脘部、背部或腰膝部怕冷吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您穿的衣服总比别人多吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您比一般人耐受不了寒冷吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您比别人容易感冒吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您吃凉东西会感到不舒服或怕吃凉东西吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionYangxu, QuestionText: "您受凉或吃凉的东西后,容易拉肚子吗?", Options: optStr, OrderNum: 7}, + + // 阴虚质 (8题) + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您感到手脚心发热吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您感觉身体、脸上发热吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您皮肤或口唇干吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您口唇的颜色比一般人红吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您容易便秘或大便干燥吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您面部两颧潮红或偏红吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您感到眼睛干涩吗?", Options: optStr, OrderNum: 7}, + {ConstitutionType: model.ConstitutionYinxu, QuestionText: "您感到口干咽燥、总想喝水吗?", Options: optStr, OrderNum: 8}, + + // 痰湿质 (8题) + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您感到胸闷或腹部胀满吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您感到身体沉重不轻松或不爽快吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您腹部肥满松软吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您额头部位油脂分泌多吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您上眼睑比别人肿吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您嘴里有黏黏的感觉吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您平时痰多吗?", Options: optStr, OrderNum: 7}, + {ConstitutionType: model.ConstitutionTanshi, QuestionText: "您舌苔厚腻或有舌苔厚厚的感觉吗?", Options: optStr, OrderNum: 8}, + + // 湿热质 (7题) + {ConstitutionType: model.ConstitutionShire, QuestionText: "您面部或鼻部有油腻感或油光发亮吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您脸上容易生痤疮或皮肤容易生疮疖吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您感到口苦或嘴里有异味吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您大便黏滞不爽、有解不尽的感觉吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您小便时尿道有发热感、尿色浓吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您带下色黄(白带颜色发黄)吗?(限女性回答)", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionShire, QuestionText: "您的阴囊部位潮湿吗?(限男性回答)", Options: optStr, OrderNum: 7}, + + // 血瘀质 (7题) + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您皮肤在不知不觉中会出现青紫瘀斑吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您两颧部有细微红丝吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您身体上有哪里疼痛吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您面色晦暗或容易出现褐斑吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您容易有黑眼圈吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您容易忘事吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionXueyu, QuestionText: "您口唇颜色偏暗吗?", Options: optStr, OrderNum: 7}, + + // 气郁质 (7题) + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您感到闷闷不乐、情绪低沉吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您精神紧张、焦虑不安吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您多愁善感、感情脆弱吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您容易感到害怕或受到惊吓吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您胁肋部或乳房胀痛吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您无缘无故叹气吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionQiyu, QuestionText: "您咽喉部有异物感吗?", Options: optStr, OrderNum: 7}, + + // 特禀质 (7题) + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您没有感冒时也会打喷嚏吗?", Options: optStr, OrderNum: 1}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您没有感冒时也会鼻塞、流鼻涕吗?", Options: optStr, OrderNum: 2}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您有因季节变化、温度变化或异味引起的咳嗽吗?", Options: optStr, OrderNum: 3}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您容易过敏吗?", Options: optStr, OrderNum: 4}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您皮肤容易起荨麻疹吗?", Options: optStr, OrderNum: 5}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您皮肤一抓就红,并出现抓痕吗?", Options: optStr, OrderNum: 6}, + {ConstitutionType: model.ConstitutionTebing, QuestionText: "您皮肤或身上容易出现紫红色瘀点、瘀斑吗?", Options: optStr, OrderNum: 7}, + } +} diff --git a/server/internal/model/constitution.go b/server/internal/model/constitution.go new file mode 100644 index 0000000..4dc8b39 --- /dev/null +++ b/server/internal/model/constitution.go @@ -0,0 +1,145 @@ +package model + +import ( + "time" + + "gorm.io/gorm" +) + +// ConstitutionAssessment 体质测评记录 +type ConstitutionAssessment struct { + gorm.Model + UserID uint `gorm:"index" json:"user_id"` + AssessedAt time.Time `json:"assessed_at"` + Scores string `gorm:"type:text" json:"scores"` // JSON: 各体质得分 + PrimaryConstitution string `gorm:"size:20" json:"primary_constitution"` // 主要体质 + SecondaryConstitutions string `gorm:"type:text" json:"secondary_constitutions"` // JSON: 次要体质 + Recommendations string `gorm:"type:text" json:"recommendations"` // JSON: 调养建议 +} + +// AssessmentAnswer 问卷答案 +type AssessmentAnswer struct { + gorm.Model + AssessmentID uint `gorm:"index" json:"assessment_id"` + QuestionID uint `json:"question_id"` + Score int `json:"score"` // 1-5 +} + +// QuestionBank 问卷题库 +type QuestionBank struct { + gorm.Model + ConstitutionType string `gorm:"size:20;index" json:"constitution_type"` // 体质类型 + QuestionText string `gorm:"type:text" json:"question_text"` + Options string `gorm:"type:text" json:"options"` // JSON: 选项 + OrderNum int `json:"order_num"` +} + +// ConstitutionType 体质类型常量 +const ( + ConstitutionPinghe = "pinghe" // 平和质 + ConstitutionQixu = "qixu" // 气虚质 + ConstitutionYangxu = "yangxu" // 阳虚质 + ConstitutionYinxu = "yinxu" // 阴虚质 + ConstitutionTanshi = "tanshi" // 痰湿质 + ConstitutionShire = "shire" // 湿热质 + ConstitutionXueyu = "xueyu" // 血瘀质 + ConstitutionQiyu = "qiyu" // 气郁质 + ConstitutionTebing = "tebing" // 特禀质 +) + +// ConstitutionNames 体质名称映射 +var ConstitutionNames = map[string]string{ + ConstitutionPinghe: "平和质", + ConstitutionQixu: "气虚质", + ConstitutionYangxu: "阳虚质", + ConstitutionYinxu: "阴虚质", + ConstitutionTanshi: "痰湿质", + ConstitutionShire: "湿热质", + ConstitutionXueyu: "血瘀质", + ConstitutionQiyu: "气郁质", + ConstitutionTebing: "特禀质", +} + +// ConstitutionDescriptions 体质特征描述 +var ConstitutionDescriptions = map[string]string{ + ConstitutionPinghe: "阴阳气血调和,体态适中,面色红润,精力充沛", + ConstitutionQixu: "元气不足,容易疲劳,气短懒言,易出汗", + ConstitutionYangxu: "阳气不足,畏寒怕冷,手脚冰凉,喜热饮", + ConstitutionYinxu: "阴液亏少,口燥咽干,手足心热,盗汗", + ConstitutionTanshi: "痰湿凝聚,形体肥胖,腹部肥满,痰多", + ConstitutionShire: "湿热内蕴,面垢油光,口苦口干,大便黏滞", + ConstitutionXueyu: "血行不畅,肤色晦暗,易生斑点,健忘", + ConstitutionQiyu: "气机郁滞,情绪低落,多愁善感,胸闷", + ConstitutionTebing: "先天失常,过敏体质,易打喷嚏,皮肤易过敏", +} + +// ConstitutionRecommendations 体质调养建议 +var ConstitutionRecommendations = map[string]map[string]string{ + ConstitutionPinghe: { + "diet": "饮食均衡,不偏食,粗细搭配", + "lifestyle": "起居有常,劳逸结合", + "exercise": "可进行各种运动,量力而行", + "emotion": "保持乐观积极的心态", + }, + ConstitutionQixu: { + "diet": "宜食益气健脾食物,如山药、大枣、小米", + "lifestyle": "避免劳累,保证充足睡眠", + "exercise": "宜柔和运动,如太极拳、散步", + "emotion": "避免过度思虑", + }, + ConstitutionYangxu: { + "diet": "宜食温阳食物,如羊肉、韭菜、生姜", + "lifestyle": "注意保暖,避免受寒", + "exercise": "宜温和运动,避免大汗", + "emotion": "保持积极乐观", + }, + ConstitutionYinxu: { + "diet": "宜食滋阴食物,如百合、银耳、枸杞", + "lifestyle": "避免熬夜,保持环境湿润", + "exercise": "宜静养,避免剧烈运动", + "emotion": "避免急躁易怒", + }, + ConstitutionTanshi: { + "diet": "饮食清淡,少食肥甘厚味,宜食薏米、冬瓜", + "lifestyle": "居住环境宜干燥通风", + "exercise": "坚持运动,促进代谢", + "emotion": "保持心情舒畅", + }, + ConstitutionShire: { + "diet": "饮食清淡,宜食苦瓜、绿豆、薏米", + "lifestyle": "避免湿热环境,保持皮肤清洁", + "exercise": "适当运动,出汗排湿", + "emotion": "保持平和心态", + }, + ConstitutionXueyu: { + "diet": "宜食活血化瘀食物,如山楂、黑木耳", + "lifestyle": "避免久坐,适当活动", + "exercise": "坚持有氧运动,促进血液循环", + "emotion": "保持心情愉快", + }, + ConstitutionQiyu: { + "diet": "宜食行气解郁食物,如玫瑰花、佛手", + "lifestyle": "多参加社交活动", + "exercise": "宜户外运动,舒展身心", + "emotion": "学会疏导情绪,培养兴趣爱好", + }, + ConstitutionTebing: { + "diet": "避免食用过敏食物,饮食清淡", + "lifestyle": "避免接触过敏原,保持环境清洁", + "exercise": "适度运动,增强体质", + "emotion": "保持心态平和", + }, +} + +// TableName 指定表名 +func (ConstitutionAssessment) TableName() string { + return "constitution_assessments" +} + +func (AssessmentAnswer) TableName() string { + return "assessment_answers" +} + +func (QuestionBank) TableName() string { + return "question_banks" +} diff --git a/server/internal/model/conversation.go b/server/internal/model/conversation.go new file mode 100644 index 0000000..d9e54f5 --- /dev/null +++ b/server/internal/model/conversation.go @@ -0,0 +1,35 @@ +package model + +import "gorm.io/gorm" + +// Conversation 对话 +type Conversation struct { + gorm.Model + UserID uint `gorm:"index" json:"user_id"` + Title string `gorm:"size:200" json:"title"` + Messages []Message `gorm:"foreignKey:ConversationID" json:"messages,omitempty"` +} + +// Message 消息 +type Message struct { + gorm.Model + ConversationID uint `gorm:"index" json:"conversation_id"` + Role string `gorm:"size:20" json:"role"` // user, assistant, system + Content string `gorm:"type:text" json:"content"` +} + +// MessageRole 消息角色常量 +const ( + RoleUser = "user" + RoleAssistant = "assistant" + RoleSystem = "system" +) + +// TableName 指定表名 +func (Conversation) TableName() string { + return "conversations" +} + +func (Message) TableName() string { + return "messages" +} diff --git a/server/internal/model/health.go b/server/internal/model/health.go new file mode 100644 index 0000000..ff0c1fc --- /dev/null +++ b/server/internal/model/health.go @@ -0,0 +1,46 @@ +package model + +import "gorm.io/gorm" + +// MedicalHistory 既往病史 +type MedicalHistory struct { + gorm.Model + HealthProfileID uint `gorm:"index" json:"health_profile_id"` + DiseaseName string `gorm:"size:100" json:"disease_name"` + DiseaseType string `gorm:"size:50" json:"disease_type"` // chronic, surgery, other + DiagnosedDate string `gorm:"size:20" json:"diagnosed_date"` + Status string `gorm:"size:20" json:"status"` // cured, treating, controlled + Notes string `gorm:"type:text" json:"notes"` +} + +// FamilyHistory 家族病史 +type FamilyHistory struct { + gorm.Model + HealthProfileID uint `gorm:"index" json:"health_profile_id"` + Relation string `gorm:"size:20" json:"relation"` // father, mother, grandparent + DiseaseName string `gorm:"size:100" json:"disease_name"` + Notes string `gorm:"type:text" json:"notes"` +} + +// AllergyRecord 过敏记录 +type AllergyRecord struct { + gorm.Model + HealthProfileID uint `gorm:"index" json:"health_profile_id"` + AllergyType string `gorm:"size:20" json:"allergy_type"` // drug, food, other + Allergen string `gorm:"size:100" json:"allergen"` + Severity string `gorm:"size:20" json:"severity"` // mild, moderate, severe + ReactionDesc string `gorm:"type:text" json:"reaction_desc"` +} + +// TableName 指定表名 +func (MedicalHistory) TableName() string { + return "medical_histories" +} + +func (FamilyHistory) TableName() string { + return "family_histories" +} + +func (AllergyRecord) TableName() string { + return "allergy_records" +} diff --git a/server/internal/model/models.go b/server/internal/model/models.go new file mode 100644 index 0000000..7fa652f --- /dev/null +++ b/server/internal/model/models.go @@ -0,0 +1,31 @@ +package model + +// AllModels 返回所有需要迁移的模型 +func AllModels() []interface{} { + return []interface{}{ + // 用户相关 + &User{}, + &HealthProfile{}, + &LifestyleInfo{}, + + // 健康相关 + &MedicalHistory{}, + &FamilyHistory{}, + &AllergyRecord{}, + + // 体质相关 + &ConstitutionAssessment{}, + &AssessmentAnswer{}, + &QuestionBank{}, + + // 对话相关 + &Conversation{}, + &Message{}, + + // 产品相关 + &Product{}, + &ConstitutionProduct{}, + &SymptomProduct{}, + &PurchaseHistory{}, + } +} diff --git a/server/internal/model/product.go b/server/internal/model/product.go new file mode 100644 index 0000000..894d53c --- /dev/null +++ b/server/internal/model/product.go @@ -0,0 +1,66 @@ +package model + +import ( + "time" + + "gorm.io/gorm" +) + +// Product 保健品表 +type Product struct { + gorm.Model + Name string `gorm:"size:100" json:"name"` + Category string `gorm:"size:50;index" json:"category"` + Description string `gorm:"type:text" json:"description"` + Efficacy string `gorm:"type:text" json:"efficacy"` // 功效说明 + Suitable string `gorm:"type:text" json:"suitable"` // 适用人群/体质 + Price float64 `json:"price"` + ImageURL string `gorm:"size:255" json:"image_url"` + MallURL string `gorm:"size:255" json:"mall_url"` // 商城链接 + IsActive bool `gorm:"default:true" json:"is_active"` +} + +// ConstitutionProduct 体质-产品关联表 +type ConstitutionProduct struct { + gorm.Model + ConstitutionType string `gorm:"size:20;index" json:"constitution_type"` + ProductID uint `gorm:"index" json:"product_id"` + Priority int `json:"priority"` // 推荐优先级 + Reason string `gorm:"size:200" json:"reason"` // 推荐理由 +} + +// SymptomProduct 症状-产品关联表 +type SymptomProduct struct { + gorm.Model + Keyword string `gorm:"size:50;index" json:"keyword"` // 症状关键词 + ProductID uint `gorm:"index" json:"product_id"` + Priority int `json:"priority"` +} + +// PurchaseHistory 购买历史表(商城同步) +type PurchaseHistory struct { + gorm.Model + UserID uint `gorm:"index" json:"user_id"` + OrderNo string `gorm:"size:50" json:"order_no"` // 商城订单号 + ProductID uint `json:"product_id"` + ProductName string `gorm:"size:100" json:"product_name"` + PurchasedAt time.Time `json:"purchased_at"` + Source string `gorm:"size:20" json:"source"` // mall=保健品商城 +} + +// TableName 指定表名 +func (Product) TableName() string { + return "products" +} + +func (ConstitutionProduct) TableName() string { + return "constitution_products" +} + +func (SymptomProduct) TableName() string { + return "symptom_products" +} + +func (PurchaseHistory) TableName() string { + return "purchase_histories" +} diff --git a/server/internal/model/user.go b/server/internal/model/user.go new file mode 100644 index 0000000..d1ec0fd --- /dev/null +++ b/server/internal/model/user.go @@ -0,0 +1,64 @@ +package model + +import ( + "time" + + "gorm.io/gorm" +) + +// User 用户表 +type User struct { + gorm.Model + Phone string `gorm:"uniqueIndex;size:20" json:"phone"` + Email string `gorm:"uniqueIndex;size:100" json:"email"` + PasswordHash string `gorm:"size:255" json:"-"` + Nickname string `gorm:"size:50" json:"nickname"` + Avatar string `gorm:"size:255" json:"avatar"` + SurveyCompleted bool `gorm:"default:false" json:"survey_completed"` +} + +// HealthProfile 健康档案 +type HealthProfile struct { + gorm.Model + UserID uint `gorm:"uniqueIndex" json:"user_id"` + Name string `gorm:"size:50" json:"name"` + BirthDate *time.Time `json:"birth_date"` + Gender string `gorm:"size:10" json:"gender"` // male, female + Height float64 `json:"height"` // cm + Weight float64 `json:"weight"` // kg + BMI float64 `json:"bmi"` + BloodType string `gorm:"size:10" json:"blood_type"` // A, B, AB, O + Occupation string `gorm:"size:50" json:"occupation"` + MaritalStatus string `gorm:"size:20" json:"marital_status"` // single, married, divorced + Region string `gorm:"size:100" json:"region"` +} + +// LifestyleInfo 生活习惯 +type LifestyleInfo struct { + gorm.Model + UserID uint `gorm:"uniqueIndex" json:"user_id"` + SleepTime string `gorm:"size:10" json:"sleep_time"` // HH:MM + WakeTime string `gorm:"size:10" json:"wake_time"` // HH:MM + SleepQuality string `gorm:"size:20" json:"sleep_quality"` // good, normal, poor + MealRegularity string `gorm:"size:20" json:"meal_regularity"` // regular, irregular + DietPreference string `gorm:"size:50" json:"diet_preference"` // 偏好 + DailyWaterML int `json:"daily_water_ml"` // 每日饮水量 ml + ExerciseFrequency string `gorm:"size:20" json:"exercise_frequency"` // never, sometimes, often, daily + ExerciseType string `gorm:"size:100" json:"exercise_type"` + ExerciseDurationMin int `json:"exercise_duration_min"` // 每次运动时长 + IsSmoker bool `json:"is_smoker"` + AlcoholFrequency string `gorm:"size:20" json:"alcohol_frequency"` // never, sometimes, often +} + +// TableName 指定表名 +func (User) TableName() string { + return "users" +} + +func (HealthProfile) TableName() string { + return "health_profiles" +} + +func (LifestyleInfo) TableName() string { + return "lifestyle_infos" +} diff --git a/server/internal/repository/impl/constitution.go b/server/internal/repository/impl/constitution.go new file mode 100644 index 0000000..a99bddc --- /dev/null +++ b/server/internal/repository/impl/constitution.go @@ -0,0 +1,71 @@ +package impl + +import ( + "health-ai/internal/database" + "health-ai/internal/model" +) + +type ConstitutionRepository struct{} + +func NewConstitutionRepository() *ConstitutionRepository { + return &ConstitutionRepository{} +} + +// GetQuestions 获取所有问卷题目 +func (r *ConstitutionRepository) GetQuestions() ([]model.QuestionBank, error) { + var questions []model.QuestionBank + err := database.DB.Order("constitution_type, order_num").Find(&questions).Error + return questions, err +} + +// GetQuestionsByType 获取指定体质类型的问题 +func (r *ConstitutionRepository) GetQuestionsByType(constitutionType string) ([]model.QuestionBank, error) { + var questions []model.QuestionBank + err := database.DB.Where("constitution_type = ?", constitutionType).Order("order_num").Find(&questions).Error + return questions, err +} + +// CreateAssessment 创建体质测评记录 +func (r *ConstitutionRepository) CreateAssessment(assessment *model.ConstitutionAssessment) error { + return database.DB.Create(assessment).Error +} + +// GetLatestAssessment 获取用户最新的体质测评结果 +func (r *ConstitutionRepository) GetLatestAssessment(userID uint) (*model.ConstitutionAssessment, error) { + var assessment model.ConstitutionAssessment + err := database.DB.Where("user_id = ?", userID).Order("assessed_at DESC").First(&assessment).Error + return &assessment, err +} + +// GetAssessmentHistory 获取用户的体质测评历史 +func (r *ConstitutionRepository) GetAssessmentHistory(userID uint, limit int) ([]model.ConstitutionAssessment, error) { + var assessments []model.ConstitutionAssessment + query := database.DB.Where("user_id = ?", userID).Order("assessed_at DESC") + if limit > 0 { + query = query.Limit(limit) + } + err := query.Find(&assessments).Error + return assessments, err +} + +// GetAssessmentByID 根据ID获取测评记录 +func (r *ConstitutionRepository) GetAssessmentByID(id uint) (*model.ConstitutionAssessment, error) { + var assessment model.ConstitutionAssessment + err := database.DB.First(&assessment, id).Error + return &assessment, err +} + +// CreateAnswers 批量创建问卷答案 +func (r *ConstitutionRepository) CreateAnswers(answers []model.AssessmentAnswer) error { + if len(answers) == 0 { + return nil + } + return database.DB.Create(&answers).Error +} + +// GetAnswersByAssessmentID 获取测评的所有答案 +func (r *ConstitutionRepository) GetAnswersByAssessmentID(assessmentID uint) ([]model.AssessmentAnswer, error) { + var answers []model.AssessmentAnswer + err := database.DB.Where("assessment_id = ?", assessmentID).Find(&answers).Error + return answers, err +} diff --git a/server/internal/repository/impl/conversation.go b/server/internal/repository/impl/conversation.go new file mode 100644 index 0000000..8d2940d --- /dev/null +++ b/server/internal/repository/impl/conversation.go @@ -0,0 +1,78 @@ +package impl + +import ( + "health-ai/internal/database" + "health-ai/internal/model" +) + +type ConversationRepository struct{} + +func NewConversationRepository() *ConversationRepository { + return &ConversationRepository{} +} + +// Create 创建对话 +func (r *ConversationRepository) Create(conv *model.Conversation) error { + return database.DB.Create(conv).Error +} + +// GetByID 根据ID获取对话(含消息) +func (r *ConversationRepository) GetByID(id uint) (*model.Conversation, error) { + var conv model.Conversation + err := database.DB.Preload("Messages").First(&conv, id).Error + return &conv, err +} + +// GetByUserID 获取用户的所有对话 +func (r *ConversationRepository) GetByUserID(userID uint) ([]model.Conversation, error) { + var convs []model.Conversation + err := database.DB.Where("user_id = ?", userID).Order("updated_at DESC").Find(&convs).Error + return convs, err +} + +// Delete 删除对话(同时删除消息) +func (r *ConversationRepository) Delete(id uint) error { + // 先删除消息 + database.DB.Where("conversation_id = ?", id).Delete(&model.Message{}) + return database.DB.Delete(&model.Conversation{}, id).Error +} + +// AddMessage 添加消息 +func (r *ConversationRepository) AddMessage(msg *model.Message) error { + // 同时更新对话的更新时间 + database.DB.Model(&model.Conversation{}).Where("id = ?", msg.ConversationID).Update("updated_at", msg.CreatedAt) + return database.DB.Create(msg).Error +} + +// GetMessages 获取对话的消息 +func (r *ConversationRepository) GetMessages(convID uint) ([]model.Message, error) { + var messages []model.Message + err := database.DB.Where("conversation_id = ?", convID).Order("created_at ASC").Find(&messages).Error + return messages, err +} + +// GetRecentMessages 获取对话最近的N条消息 +func (r *ConversationRepository) GetRecentMessages(convID uint, limit int) ([]model.Message, error) { + var messages []model.Message + err := database.DB.Where("conversation_id = ?", convID).Order("created_at DESC").Limit(limit).Find(&messages).Error + if err != nil { + return nil, err + } + // 反转顺序,使消息按时间正序排列 + for i, j := 0, len(messages)-1; i < j; i, j = i+1, j-1 { + messages[i], messages[j] = messages[j], messages[i] + } + return messages, nil +} + +// UpdateTitle 更新对话标题 +func (r *ConversationRepository) UpdateTitle(id uint, title string) error { + return database.DB.Model(&model.Conversation{}).Where("id = ?", id).Update("title", title).Error +} + +// CheckOwnership 检查对话是否属于用户 +func (r *ConversationRepository) CheckOwnership(convID, userID uint) bool { + var count int64 + database.DB.Model(&model.Conversation{}).Where("id = ? AND user_id = ?", convID, userID).Count(&count) + return count > 0 +} diff --git a/server/internal/repository/impl/health.go b/server/internal/repository/impl/health.go new file mode 100644 index 0000000..c0c33d5 --- /dev/null +++ b/server/internal/repository/impl/health.go @@ -0,0 +1,127 @@ +package impl + +import ( + "health-ai/internal/database" + "health-ai/internal/model" +) + +type HealthRepository struct{} + +func NewHealthRepository() *HealthRepository { + return &HealthRepository{} +} + +// ================= HealthProfile ================= + +func (r *HealthRepository) CreateProfile(profile *model.HealthProfile) error { + return database.DB.Create(profile).Error +} + +func (r *HealthRepository) GetProfileByUserID(userID uint) (*model.HealthProfile, error) { + var profile model.HealthProfile + err := database.DB.Where("user_id = ?", userID).First(&profile).Error + return &profile, err +} + +func (r *HealthRepository) UpdateProfile(profile *model.HealthProfile) error { + return database.DB.Save(profile).Error +} + +// ================= LifestyleInfo ================= + +func (r *HealthRepository) CreateLifestyle(lifestyle *model.LifestyleInfo) error { + return database.DB.Create(lifestyle).Error +} + +func (r *HealthRepository) GetLifestyleByUserID(userID uint) (*model.LifestyleInfo, error) { + var lifestyle model.LifestyleInfo + err := database.DB.Where("user_id = ?", userID).First(&lifestyle).Error + return &lifestyle, err +} + +func (r *HealthRepository) UpdateLifestyle(lifestyle *model.LifestyleInfo) error { + return database.DB.Save(lifestyle).Error +} + +// ================= MedicalHistory ================= + +func (r *HealthRepository) CreateMedicalHistory(history *model.MedicalHistory) error { + return database.DB.Create(history).Error +} + +func (r *HealthRepository) GetMedicalHistories(profileID uint) ([]model.MedicalHistory, error) { + var histories []model.MedicalHistory + err := database.DB.Where("health_profile_id = ?", profileID).Find(&histories).Error + return histories, err +} + +func (r *HealthRepository) DeleteMedicalHistory(id uint) error { + return database.DB.Delete(&model.MedicalHistory{}, id).Error +} + +func (r *HealthRepository) BatchCreateMedicalHistories(histories []model.MedicalHistory) error { + if len(histories) == 0 { + return nil + } + return database.DB.Create(&histories).Error +} + +// ================= FamilyHistory ================= + +func (r *HealthRepository) CreateFamilyHistory(history *model.FamilyHistory) error { + return database.DB.Create(history).Error +} + +func (r *HealthRepository) GetFamilyHistories(profileID uint) ([]model.FamilyHistory, error) { + var histories []model.FamilyHistory + err := database.DB.Where("health_profile_id = ?", profileID).Find(&histories).Error + return histories, err +} + +func (r *HealthRepository) DeleteFamilyHistory(id uint) error { + return database.DB.Delete(&model.FamilyHistory{}, id).Error +} + +func (r *HealthRepository) BatchCreateFamilyHistories(histories []model.FamilyHistory) error { + if len(histories) == 0 { + return nil + } + return database.DB.Create(&histories).Error +} + +// ================= AllergyRecord ================= + +func (r *HealthRepository) CreateAllergyRecord(record *model.AllergyRecord) error { + return database.DB.Create(record).Error +} + +func (r *HealthRepository) GetAllergyRecords(profileID uint) ([]model.AllergyRecord, error) { + var records []model.AllergyRecord + err := database.DB.Where("health_profile_id = ?", profileID).Find(&records).Error + return records, err +} + +func (r *HealthRepository) DeleteAllergyRecord(id uint) error { + return database.DB.Delete(&model.AllergyRecord{}, id).Error +} + +func (r *HealthRepository) BatchCreateAllergyRecords(records []model.AllergyRecord) error { + if len(records) == 0 { + return nil + } + return database.DB.Create(&records).Error +} + +// ================= 清除旧数据方法 ================= + +func (r *HealthRepository) ClearMedicalHistories(profileID uint) error { + return database.DB.Where("health_profile_id = ?", profileID).Delete(&model.MedicalHistory{}).Error +} + +func (r *HealthRepository) ClearFamilyHistories(profileID uint) error { + return database.DB.Where("health_profile_id = ?", profileID).Delete(&model.FamilyHistory{}).Error +} + +func (r *HealthRepository) ClearAllergyRecords(profileID uint) error { + return database.DB.Where("health_profile_id = ?", profileID).Delete(&model.AllergyRecord{}).Error +} diff --git a/server/internal/repository/impl/product.go b/server/internal/repository/impl/product.go new file mode 100644 index 0000000..2600e5a --- /dev/null +++ b/server/internal/repository/impl/product.go @@ -0,0 +1,99 @@ +package impl + +import ( + "health-ai/internal/database" + "health-ai/internal/model" +) + +type ProductRepository struct{} + +func NewProductRepository() *ProductRepository { + return &ProductRepository{} +} + +// GetByID 根据ID获取产品 +func (r *ProductRepository) GetByID(id uint) (*model.Product, error) { + var product model.Product + err := database.DB.Where("is_active = ?", true).First(&product, id).Error + return &product, err +} + +// GetAll 获取所有产品(分页) +func (r *ProductRepository) GetAll(page, pageSize int) ([]model.Product, int64, error) { + var products []model.Product + var total int64 + + db := database.DB.Model(&model.Product{}).Where("is_active = ?", true) + db.Count(&total) + + offset := (page - 1) * pageSize + err := db.Offset(offset).Limit(pageSize).Find(&products).Error + return products, total, err +} + +// GetByCategory 按分类获取产品 +func (r *ProductRepository) GetByCategory(category string) ([]model.Product, error) { + var products []model.Product + err := database.DB.Where("category = ? AND is_active = ?", category, true).Find(&products).Error + return products, err +} + +// GetByConstitution 根据体质获取推荐产品 +func (r *ProductRepository) GetByConstitution(constitutionType string) ([]model.Product, error) { + var products []model.Product + err := database.DB.Joins("JOIN constitution_products ON products.id = constitution_products.product_id"). + Where("constitution_products.constitution_type = ? AND products.is_active = ?", constitutionType, true). + Order("constitution_products.priority ASC"). + Find(&products).Error + return products, err +} + +// SearchByKeyword 根据症状关键词搜索产品 +func (r *ProductRepository) SearchByKeyword(keyword string) ([]model.Product, error) { + var products []model.Product + + // 先从症状-产品关联表搜索 + subQuery := database.DB.Table("symptom_products"). + Select("product_id"). + Where("keyword LIKE ?", "%"+keyword+"%") + + err := database.DB.Where("id IN (?) AND is_active = ?", subQuery, true).Find(&products).Error + if err != nil { + return nil, err + } + + // 如果没找到,从产品名称和描述中搜索 + if len(products) == 0 { + err = database.DB.Where("(name LIKE ? OR description LIKE ? OR efficacy LIKE ?) AND is_active = ?", + "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", true).Find(&products).Error + } + + return products, err +} + +// GetConstitutionProducts 获取体质-产品关联 +func (r *ProductRepository) GetConstitutionProducts(constitutionType string) ([]model.ConstitutionProduct, error) { + var cps []model.ConstitutionProduct + err := database.DB.Where("constitution_type = ?", constitutionType).Order("priority ASC").Find(&cps).Error + return cps, err +} + +// CreatePurchaseHistory 创建购买历史 +func (r *ProductRepository) CreatePurchaseHistory(history *model.PurchaseHistory) error { + return database.DB.Create(history).Error +} + +// GetPurchaseHistory 获取用户购买历史 +func (r *ProductRepository) GetPurchaseHistory(userID uint) ([]model.PurchaseHistory, error) { + var histories []model.PurchaseHistory + err := database.DB.Where("user_id = ?", userID).Order("purchased_at DESC").Find(&histories).Error + return histories, err +} + +// BatchCreatePurchaseHistory 批量创建购买历史 +func (r *ProductRepository) BatchCreatePurchaseHistory(histories []model.PurchaseHistory) error { + if len(histories) == 0 { + return nil + } + return database.DB.Create(&histories).Error +} diff --git a/server/internal/repository/impl/user.go b/server/internal/repository/impl/user.go new file mode 100644 index 0000000..2e4a812 --- /dev/null +++ b/server/internal/repository/impl/user.go @@ -0,0 +1,42 @@ +package impl + +import ( + "health-ai/internal/database" + "health-ai/internal/model" +) + +type UserRepositoryImpl struct{} + +func NewUserRepository() *UserRepositoryImpl { + return &UserRepositoryImpl{} +} + +func (r *UserRepositoryImpl) Create(user *model.User) error { + return database.DB.Create(user).Error +} + +func (r *UserRepositoryImpl) GetByID(id uint) (*model.User, error) { + var user model.User + err := database.DB.First(&user, id).Error + return &user, err +} + +func (r *UserRepositoryImpl) GetByPhone(phone string) (*model.User, error) { + var user model.User + err := database.DB.Where("phone = ?", phone).First(&user).Error + return &user, err +} + +func (r *UserRepositoryImpl) GetByEmail(email string) (*model.User, error) { + var user model.User + err := database.DB.Where("email = ?", email).First(&user).Error + return &user, err +} + +func (r *UserRepositoryImpl) Update(user *model.User) error { + return database.DB.Save(user).Error +} + +func (r *UserRepositoryImpl) UpdateSurveyStatus(userID uint, completed bool) error { + return database.DB.Model(&model.User{}).Where("id = ?", userID).Update("survey_completed", completed).Error +} diff --git a/server/internal/repository/interface.go b/server/internal/repository/interface.go new file mode 100644 index 0000000..2ccb8c9 --- /dev/null +++ b/server/internal/repository/interface.go @@ -0,0 +1,66 @@ +package repository + +import "health-ai/internal/model" + +// UserRepository 用户数据访问接口 +type UserRepository interface { + Create(user *model.User) error + GetByID(id uint) (*model.User, error) + GetByPhone(phone string) (*model.User, error) + GetByEmail(email string) (*model.User, error) + Update(user *model.User) error + UpdateSurveyStatus(userID uint, completed bool) error +} + +// HealthProfileRepository 健康档案数据访问接口 +type HealthProfileRepository interface { + Create(profile *model.HealthProfile) error + GetByUserID(userID uint) (*model.HealthProfile, error) + Update(profile *model.HealthProfile) error + Upsert(profile *model.HealthProfile) error +} + +// LifestyleRepository 生活习惯数据访问接口 +type LifestyleRepository interface { + Create(lifestyle *model.LifestyleInfo) error + GetByUserID(userID uint) (*model.LifestyleInfo, error) + Update(lifestyle *model.LifestyleInfo) error + Upsert(lifestyle *model.LifestyleInfo) error +} + +// MedicalHistoryRepository 病史数据访问接口 +type MedicalHistoryRepository interface { + Create(history *model.MedicalHistory) error + GetByHealthProfileID(healthProfileID uint) ([]model.MedicalHistory, error) + Update(history *model.MedicalHistory) error + Delete(id uint) error + BatchCreate(histories []model.MedicalHistory) error +} + +// ConstitutionRepository 体质测评数据访问接口 +type ConstitutionRepository interface { + CreateAssessment(assessment *model.ConstitutionAssessment) error + GetLatestByUserID(userID uint) (*model.ConstitutionAssessment, error) + GetHistoryByUserID(userID uint, limit int) ([]model.ConstitutionAssessment, error) + GetQuestions() ([]model.QuestionBank, error) + CreateAnswers(answers []model.AssessmentAnswer) error +} + +// ConversationRepository 对话数据访问接口 +type ConversationRepository interface { + Create(conversation *model.Conversation) error + GetByID(id uint) (*model.Conversation, error) + GetByUserID(userID uint) ([]model.Conversation, error) + Delete(id uint) error + AddMessage(message *model.Message) error + GetMessages(conversationID uint, limit int) ([]model.Message, error) +} + +// ProductRepository 产品数据访问接口 +type ProductRepository interface { + GetByID(id uint) (*model.Product, error) + GetByCategory(category string) ([]model.Product, error) + GetByConstitution(constitutionType string) ([]model.Product, error) + SearchByKeyword(keyword string) ([]model.Product, error) + GetAll(page, pageSize int) ([]model.Product, int64, error) +} diff --git a/server/internal/service/ai/aliyun.go b/server/internal/service/ai/aliyun.go new file mode 100644 index 0000000..16bad6d --- /dev/null +++ b/server/internal/service/ai/aliyun.go @@ -0,0 +1,165 @@ +package ai + +import ( + "bufio" + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "strings" +) + +const AliyunBaseURL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" + +type AliyunClient struct { + apiKey string + model string +} + +func NewAliyunClient(cfg *Config) *AliyunClient { + model := cfg.Model + if model == "" { + model = "qwen-turbo" + } + return &AliyunClient{ + apiKey: cfg.APIKey, + model: model, + } +} + +type aliyunRequest struct { + Model string `json:"model"` + Input struct { + Messages []Message `json:"messages"` + } `json:"input"` + Parameters struct { + ResultFormat string `json:"result_format"` + MaxTokens int `json:"max_tokens,omitempty"` + } `json:"parameters"` +} + +type aliyunResponse struct { + Output struct { + Text string `json:"text"` + Choices []struct { + Message struct { + Content string `json:"content"` + } `json:"message"` + } `json:"choices"` + } `json:"output"` + Usage struct { + InputTokens int `json:"input_tokens"` + OutputTokens int `json:"output_tokens"` + } `json:"usage"` + Code string `json:"code"` + Message string `json:"message"` +} + +func (c *AliyunClient) Chat(ctx context.Context, messages []Message) (string, error) { + if c.apiKey == "" { + return "", fmt.Errorf("阿里云通义千问 API Key 未配置,请在 config.yaml 中设置 ai.aliyun.api_key") + } + + reqBody := aliyunRequest{ + Model: c.model, + } + reqBody.Input.Messages = messages + reqBody.Parameters.ResultFormat = "message" + + body, _ := json.Marshal(reqBody) + req, err := http.NewRequestWithContext(ctx, "POST", AliyunBaseURL, bytes.NewReader(body)) + if err != nil { + return "", err + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+c.apiKey) + + resp, err := http.DefaultClient.Do(req) + if err != nil { + return "", fmt.Errorf("调用AI服务失败: %v", err) + } + defer resp.Body.Close() + + var result aliyunResponse + if err := json.NewDecoder(resp.Body).Decode(&result); err != nil { + return "", fmt.Errorf("解析AI响应失败: %v", err) + } + + if result.Code != "" { + return "", fmt.Errorf("AI服务错误: %s - %s", result.Code, result.Message) + } + + // 兼容两种返回格式 + if len(result.Output.Choices) > 0 { + return result.Output.Choices[0].Message.Content, nil + } + if result.Output.Text != "" { + return result.Output.Text, nil + } + + return "", fmt.Errorf("AI未返回有效响应") +} + +func (c *AliyunClient) ChatStream(ctx context.Context, messages []Message, writer io.Writer) error { + if c.apiKey == "" { + return fmt.Errorf("阿里云通义千问 API Key 未配置") + } + + reqBody := aliyunRequest{ + Model: c.model, + } + reqBody.Input.Messages = messages + reqBody.Parameters.ResultFormat = "message" + + body, _ := json.Marshal(reqBody) + req, err := http.NewRequestWithContext(ctx, "POST", AliyunBaseURL, bytes.NewReader(body)) + if err != nil { + return err + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+c.apiKey) + req.Header.Set("X-DashScope-SSE", "enable") // 启用流式输出 + + resp, err := http.DefaultClient.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + + // 解析 SSE 流 + reader := bufio.NewReader(resp.Body) + for { + line, err := reader.ReadString('\n') + if err == io.EOF { + break + } + if err != nil { + return err + } + + line = strings.TrimSpace(line) + if strings.HasPrefix(line, "data:") { + data := strings.TrimPrefix(line, "data:") + data = strings.TrimSpace(data) + if data == "[DONE]" { + break + } + + var streamResp aliyunResponse + if err := json.Unmarshal([]byte(data), &streamResp); err != nil { + continue + } + + if len(streamResp.Output.Choices) > 0 { + content := streamResp.Output.Choices[0].Message.Content + writer.Write([]byte(content)) + } + } + } + + return nil +} diff --git a/server/internal/service/ai/client.go b/server/internal/service/ai/client.go new file mode 100644 index 0000000..0b90beb --- /dev/null +++ b/server/internal/service/ai/client.go @@ -0,0 +1,26 @@ +package ai + +import ( + "context" + "io" +) + +// AIClient AI 客户端接口 +type AIClient interface { + Chat(ctx context.Context, messages []Message) (string, error) + ChatStream(ctx context.Context, messages []Message, writer io.Writer) error +} + +// Message 对话消息 +type Message struct { + Role string `json:"role"` // system, user, assistant + Content string `json:"content"` +} + +// Config AI 配置 +type Config struct { + Provider string + APIKey string + BaseURL string + Model string +} diff --git a/server/internal/service/ai/factory.go b/server/internal/service/ai/factory.go new file mode 100644 index 0000000..16e62d4 --- /dev/null +++ b/server/internal/service/ai/factory.go @@ -0,0 +1,22 @@ +package ai + +import "health-ai/internal/config" + +// NewAIClient 根据配置创建 AI 客户端 +func NewAIClient(cfg *config.AIConfig) AIClient { + switch cfg.Provider { + case "aliyun": + return NewAliyunClient(&Config{ + APIKey: cfg.Aliyun.APIKey, + Model: cfg.Aliyun.Model, + }) + case "openai": + fallthrough + default: + return NewOpenAIClient(&Config{ + APIKey: cfg.OpenAI.APIKey, + BaseURL: cfg.OpenAI.BaseURL, + Model: cfg.OpenAI.Model, + }) + } +} diff --git a/server/internal/service/ai/openai.go b/server/internal/service/ai/openai.go new file mode 100644 index 0000000..e6d8d6f --- /dev/null +++ b/server/internal/service/ai/openai.go @@ -0,0 +1,156 @@ +package ai + +import ( + "bufio" + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "strings" +) + +type OpenAIClient struct { + apiKey string + baseURL string + model string +} + +func NewOpenAIClient(cfg *Config) *OpenAIClient { + baseURL := cfg.BaseURL + if baseURL == "" { + baseURL = "https://api.openai.com/v1" + } + model := cfg.Model + if model == "" { + model = "gpt-3.5-turbo" + } + return &OpenAIClient{ + apiKey: cfg.APIKey, + baseURL: baseURL, + model: model, + } +} + +type openAIRequest struct { + Model string `json:"model"` + Messages []Message `json:"messages"` + Stream bool `json:"stream"` +} + +type openAIResponse struct { + Choices []struct { + Message struct { + Content string `json:"content"` + } `json:"message"` + Delta struct { + Content string `json:"content"` + } `json:"delta"` + } `json:"choices"` + Error *struct { + Message string `json:"message"` + } `json:"error"` +} + +func (c *OpenAIClient) Chat(ctx context.Context, messages []Message) (string, error) { + if c.apiKey == "" { + return "", fmt.Errorf("OpenAI API Key 未配置,请在 config.yaml 中设置 ai.openai.api_key") + } + + reqBody := openAIRequest{ + Model: c.model, + Messages: messages, + Stream: false, + } + + body, _ := json.Marshal(reqBody) + req, err := http.NewRequestWithContext(ctx, "POST", c.baseURL+"/chat/completions", bytes.NewReader(body)) + if err != nil { + return "", err + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+c.apiKey) + + resp, err := http.DefaultClient.Do(req) + if err != nil { + return "", fmt.Errorf("调用AI服务失败: %v", err) + } + defer resp.Body.Close() + + var result openAIResponse + if err := json.NewDecoder(resp.Body).Decode(&result); err != nil { + return "", fmt.Errorf("解析AI响应失败: %v", err) + } + + if result.Error != nil { + return "", fmt.Errorf("AI服务错误: %s", result.Error.Message) + } + + if len(result.Choices) == 0 { + return "", fmt.Errorf("AI未返回有效响应") + } + + return result.Choices[0].Message.Content, nil +} + +func (c *OpenAIClient) ChatStream(ctx context.Context, messages []Message, writer io.Writer) error { + if c.apiKey == "" { + return fmt.Errorf("OpenAI API Key 未配置") + } + + reqBody := openAIRequest{ + Model: c.model, + Messages: messages, + Stream: true, + } + + body, _ := json.Marshal(reqBody) + req, err := http.NewRequestWithContext(ctx, "POST", c.baseURL+"/chat/completions", bytes.NewReader(body)) + if err != nil { + return err + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+c.apiKey) + + resp, err := http.DefaultClient.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + + // 解析 SSE 流 + reader := bufio.NewReader(resp.Body) + for { + line, err := reader.ReadString('\n') + if err == io.EOF { + break + } + if err != nil { + return err + } + + line = strings.TrimSpace(line) + if strings.HasPrefix(line, "data:") { + data := strings.TrimPrefix(line, "data:") + data = strings.TrimSpace(data) + if data == "[DONE]" { + break + } + + var streamResp openAIResponse + if err := json.Unmarshal([]byte(data), &streamResp); err != nil { + continue + } + + if len(streamResp.Choices) > 0 { + content := streamResp.Choices[0].Delta.Content + writer.Write([]byte(content)) + } + } + } + + return nil +} diff --git a/server/internal/service/auth.go b/server/internal/service/auth.go new file mode 100644 index 0000000..dd6f778 --- /dev/null +++ b/server/internal/service/auth.go @@ -0,0 +1,161 @@ +package service + +import ( + "errors" + + "health-ai/internal/model" + "health-ai/internal/repository/impl" + "health-ai/pkg/jwt" + + "golang.org/x/crypto/bcrypt" +) + +type AuthService struct { + userRepo *impl.UserRepositoryImpl +} + +func NewAuthService() *AuthService { + return &AuthService{ + userRepo: impl.NewUserRepository(), + } +} + +// RegisterRequest 注册请求 +type RegisterRequest struct { + Phone string `json:"phone" binding:"required"` + Password string `json:"password" binding:"required,min=6"` + Nickname string `json:"nickname"` +} + +// LoginRequest 登录请求 +type LoginRequest struct { + Phone string `json:"phone" binding:"required"` + Password string `json:"password" binding:"required"` +} + +// AuthResponse 认证响应 +type AuthResponse struct { + Token string `json:"token"` + UserID uint `json:"user_id"` + Nickname string `json:"nickname"` + Avatar string `json:"avatar"` + SurveyCompleted bool `json:"survey_completed"` +} + +// UserInfoResponse 用户信息响应 +type UserInfoResponse struct { + UserID uint `json:"user_id"` + Phone string `json:"phone"` + Email string `json:"email"` + Nickname string `json:"nickname"` + Avatar string `json:"avatar"` + SurveyCompleted bool `json:"survey_completed"` +} + +// Register 用户注册 +func (s *AuthService) Register(req *RegisterRequest) (*AuthResponse, error) { + // 检查手机号是否已注册 + existing, _ := s.userRepo.GetByPhone(req.Phone) + if existing.ID > 0 { + return nil, errors.New("手机号已注册") + } + + // 加密密码 + hash, err := bcrypt.GenerateFromPassword([]byte(req.Password), bcrypt.DefaultCost) + if err != nil { + return nil, errors.New("密码加密失败") + } + + // 创建用户 + user := &model.User{ + Phone: req.Phone, + PasswordHash: string(hash), + Nickname: req.Nickname, + } + if user.Nickname == "" { + // 默认昵称:手机号后4位 + user.Nickname = "用户" + req.Phone[len(req.Phone)-4:] + } + + if err := s.userRepo.Create(user); err != nil { + return nil, errors.New("创建用户失败") + } + + // 生成 Token + token, err := jwt.GenerateToken(user.ID) + if err != nil { + return nil, errors.New("生成Token失败") + } + + return &AuthResponse{ + Token: token, + UserID: user.ID, + Nickname: user.Nickname, + Avatar: user.Avatar, + SurveyCompleted: user.SurveyCompleted, + }, nil +} + +// Login 用户登录 +func (s *AuthService) Login(req *LoginRequest) (*AuthResponse, error) { + user, err := s.userRepo.GetByPhone(req.Phone) + if err != nil { + return nil, errors.New("用户不存在") + } + + if err := bcrypt.CompareHashAndPassword([]byte(user.PasswordHash), []byte(req.Password)); err != nil { + return nil, errors.New("密码错误") + } + + token, err := jwt.GenerateToken(user.ID) + if err != nil { + return nil, errors.New("生成Token失败") + } + + return &AuthResponse{ + Token: token, + UserID: user.ID, + Nickname: user.Nickname, + Avatar: user.Avatar, + SurveyCompleted: user.SurveyCompleted, + }, nil +} + +// GetUserInfo 获取用户信息 +func (s *AuthService) GetUserInfo(userID uint) (*UserInfoResponse, error) { + user, err := s.userRepo.GetByID(userID) + if err != nil { + return nil, errors.New("用户不存在") + } + + return &UserInfoResponse{ + UserID: user.ID, + Phone: user.Phone, + Email: user.Email, + Nickname: user.Nickname, + Avatar: user.Avatar, + SurveyCompleted: user.SurveyCompleted, + }, nil +} + +// RefreshToken 刷新Token +func (s *AuthService) RefreshToken(oldToken string) (string, error) { + return jwt.RefreshToken(oldToken) +} + +// UpdateProfile 更新用户资料 +func (s *AuthService) UpdateProfile(userID uint, nickname, avatar string) error { + user, err := s.userRepo.GetByID(userID) + if err != nil { + return errors.New("用户不存在") + } + + if nickname != "" { + user.Nickname = nickname + } + if avatar != "" { + user.Avatar = avatar + } + + return s.userRepo.Update(user) +} diff --git a/server/internal/service/constitution.go b/server/internal/service/constitution.go new file mode 100644 index 0000000..0e022a9 --- /dev/null +++ b/server/internal/service/constitution.go @@ -0,0 +1,326 @@ +package service + +import ( + "encoding/json" + "errors" + "sort" + "time" + + "health-ai/internal/model" + "health-ai/internal/repository/impl" +) + +type ConstitutionService struct { + repo *impl.ConstitutionRepository +} + +func NewConstitutionService() *ConstitutionService { + return &ConstitutionService{ + repo: impl.NewConstitutionRepository(), + } +} + +// ================= 请求结构体 ================= + +// AnswerRequest 单个答案请求 +type AnswerRequest struct { + QuestionID uint `json:"question_id" binding:"required"` + Score int `json:"score" binding:"required,min=1,max=5"` +} + +// SubmitAssessmentRequest 提交测评请求 +type SubmitAssessmentRequest struct { + Answers []AnswerRequest `json:"answers" binding:"required,dive"` +} + +// ================= 响应结构体 ================= + +// ConstitutionScore 体质得分 +type ConstitutionScore struct { + Type string `json:"type"` + Name string `json:"name"` + Score float64 `json:"score"` + Description string `json:"description"` +} + +// AssessmentResult 测评结果 +type AssessmentResult struct { + ID uint `json:"id"` + PrimaryConstitution ConstitutionScore `json:"primary_constitution"` + SecondaryConstitutions []ConstitutionScore `json:"secondary_constitutions"` + AllScores []ConstitutionScore `json:"all_scores"` + Recommendations map[string]map[string]string `json:"recommendations"` + AssessedAt time.Time `json:"assessed_at"` +} + +// QuestionGroup 问题分组 +type QuestionGroup struct { + ConstitutionType string `json:"constitution_type"` + ConstitutionName string `json:"constitution_name"` + Questions []model.QuestionBank `json:"questions"` +} + +// ================= Service 方法 ================= + +// GetQuestions 获取所有问卷题目 +func (s *ConstitutionService) GetQuestions() ([]model.QuestionBank, error) { + return s.repo.GetQuestions() +} + +// GetQuestionsGrouped 获取分组的问卷题目 +func (s *ConstitutionService) GetQuestionsGrouped() ([]QuestionGroup, error) { + questions, err := s.repo.GetQuestions() + if err != nil { + return nil, err + } + + // 按体质类型分组 + groupMap := make(map[string][]model.QuestionBank) + for _, q := range questions { + groupMap[q.ConstitutionType] = append(groupMap[q.ConstitutionType], q) + } + + // 转换为数组 + var groups []QuestionGroup + typeOrder := []string{ + model.ConstitutionPinghe, + model.ConstitutionQixu, + model.ConstitutionYangxu, + model.ConstitutionYinxu, + model.ConstitutionTanshi, + model.ConstitutionShire, + model.ConstitutionXueyu, + model.ConstitutionQiyu, + model.ConstitutionTebing, + } + + for _, cType := range typeOrder { + if qs, ok := groupMap[cType]; ok { + groups = append(groups, QuestionGroup{ + ConstitutionType: cType, + ConstitutionName: model.ConstitutionNames[cType], + Questions: qs, + }) + } + } + + return groups, nil +} + +// SubmitAssessment 提交测评并计算结果 +func (s *ConstitutionService) SubmitAssessment(userID uint, req *SubmitAssessmentRequest) (*AssessmentResult, error) { + // 获取所有问题 + questions, err := s.repo.GetQuestions() + if err != nil { + return nil, err + } + + if len(questions) == 0 { + return nil, errors.New("问卷题库为空,请联系管理员") + } + + // 构建问题ID到体质类型的映射 + questionTypeMap := make(map[uint]string) + typeQuestionCount := make(map[string]int) + for _, q := range questions { + questionTypeMap[q.ID] = q.ConstitutionType + typeQuestionCount[q.ConstitutionType]++ + } + + // 计算各体质原始分 + typeScores := make(map[string]int) + for _, answer := range req.Answers { + if cType, ok := questionTypeMap[answer.QuestionID]; ok { + typeScores[cType] += answer.Score + } + } + + // 计算转化分 + // 转化分 = (原始分 - 条目数) / (条目数 × 4) × 100 + allScores := make([]ConstitutionScore, 0) + for cType, rawScore := range typeScores { + questionCount := typeQuestionCount[cType] + if questionCount == 0 { + continue + } + transformedScore := float64(rawScore-questionCount) / float64(questionCount*4) * 100 + if transformedScore < 0 { + transformedScore = 0 + } + if transformedScore > 100 { + transformedScore = 100 + } + + allScores = append(allScores, ConstitutionScore{ + Type: cType, + Name: model.ConstitutionNames[cType], + Score: transformedScore, + Description: model.ConstitutionDescriptions[cType], + }) + } + + // 按分数排序 + sort.Slice(allScores, func(i, j int) bool { + return allScores[i].Score > allScores[j].Score + }) + + // 判定主要体质和次要体质 + var primary ConstitutionScore + var secondary []ConstitutionScore + + // 平和质特殊判定 + pingheScore := float64(0) + otherMax := float64(0) + for _, score := range allScores { + if score.Type == model.ConstitutionPinghe { + pingheScore = score.Score + } else if score.Score > otherMax { + otherMax = score.Score + } + } + + if pingheScore >= 60 && otherMax < 30 { + // 判定为平和质 + for _, score := range allScores { + if score.Type == model.ConstitutionPinghe { + primary = score + break + } + } + } else { + // 判定为偏颇体质 + for _, score := range allScores { + if score.Type == model.ConstitutionPinghe { + continue + } + if primary.Type == "" && score.Score >= 40 { + primary = score + } else if score.Score >= 30 { + secondary = append(secondary, score) + } + } + // 如果没有≥40的,取最高分(排除平和质) + if primary.Type == "" { + for _, score := range allScores { + if score.Type != model.ConstitutionPinghe { + primary = score + break + } + } + } + } + + // 获取调养建议 + recommendations := make(map[string]map[string]string) + if primary.Type != "" { + recommendations[primary.Type] = model.ConstitutionRecommendations[primary.Type] + } + for _, sec := range secondary { + recommendations[sec.Type] = model.ConstitutionRecommendations[sec.Type] + } + + // 保存评估结果 + scoresJSON, _ := json.Marshal(allScores) + secondaryJSON, _ := json.Marshal(secondary) + recsJSON, _ := json.Marshal(recommendations) + + assessment := &model.ConstitutionAssessment{ + UserID: userID, + AssessedAt: time.Now(), + Scores: string(scoresJSON), + PrimaryConstitution: primary.Type, + SecondaryConstitutions: string(secondaryJSON), + Recommendations: string(recsJSON), + } + if err := s.repo.CreateAssessment(assessment); err != nil { + return nil, err + } + + // 保存答案记录 + answers := make([]model.AssessmentAnswer, len(req.Answers)) + for i, a := range req.Answers { + answers[i] = model.AssessmentAnswer{ + AssessmentID: assessment.ID, + QuestionID: a.QuestionID, + Score: a.Score, + } + } + if err := s.repo.CreateAnswers(answers); err != nil { + // 答案保存失败不影响结果返回 + } + + return &AssessmentResult{ + ID: assessment.ID, + PrimaryConstitution: primary, + SecondaryConstitutions: secondary, + AllScores: allScores, + Recommendations: recommendations, + AssessedAt: assessment.AssessedAt, + }, nil +} + +// GetLatestResult 获取用户最新的测评结果 +func (s *ConstitutionService) GetLatestResult(userID uint) (*AssessmentResult, error) { + assessment, err := s.repo.GetLatestAssessment(userID) + if err != nil { + return nil, errors.New("暂无体质测评记录") + } + + return s.parseAssessment(assessment) +} + +// GetHistory 获取用户的测评历史 +func (s *ConstitutionService) GetHistory(userID uint, limit int) ([]AssessmentResult, error) { + assessments, err := s.repo.GetAssessmentHistory(userID, limit) + if err != nil { + return nil, err + } + + results := make([]AssessmentResult, 0, len(assessments)) + for _, a := range assessments { + result, err := s.parseAssessment(&a) + if err != nil { + continue + } + results = append(results, *result) + } + + return results, nil +} + +// GetRecommendations 获取体质调养建议 +func (s *ConstitutionService) GetRecommendations(userID uint) (map[string]map[string]string, error) { + result, err := s.GetLatestResult(userID) + if err != nil { + return nil, err + } + return result.Recommendations, nil +} + +// parseAssessment 解析测评记录为结果 +func (s *ConstitutionService) parseAssessment(assessment *model.ConstitutionAssessment) (*AssessmentResult, error) { + var allScores []ConstitutionScore + var secondary []ConstitutionScore + var recommendations map[string]map[string]string + + json.Unmarshal([]byte(assessment.Scores), &allScores) + json.Unmarshal([]byte(assessment.SecondaryConstitutions), &secondary) + json.Unmarshal([]byte(assessment.Recommendations), &recommendations) + + var primary ConstitutionScore + for _, score := range allScores { + if score.Type == assessment.PrimaryConstitution { + primary = score + break + } + } + + return &AssessmentResult{ + ID: assessment.ID, + PrimaryConstitution: primary, + SecondaryConstitutions: secondary, + AllScores: allScores, + Recommendations: recommendations, + AssessedAt: assessment.AssessedAt, + }, nil +} diff --git a/server/internal/service/conversation.go b/server/internal/service/conversation.go new file mode 100644 index 0000000..3988af2 --- /dev/null +++ b/server/internal/service/conversation.go @@ -0,0 +1,329 @@ +package service + +import ( + "context" + "errors" + "fmt" + "io" + "time" + + "health-ai/internal/config" + "health-ai/internal/model" + "health-ai/internal/repository/impl" + "health-ai/internal/service/ai" +) + +type ConversationService struct { + convRepo *impl.ConversationRepository + constitutionRepo *impl.ConstitutionRepository + healthRepo *impl.HealthRepository + aiClient ai.AIClient +} + +func NewConversationService() *ConversationService { + return &ConversationService{ + convRepo: impl.NewConversationRepository(), + constitutionRepo: impl.NewConstitutionRepository(), + healthRepo: impl.NewHealthRepository(), + aiClient: ai.NewAIClient(&config.AppConfig.AI), + } +} + +// ================= 请求/响应结构体 ================= + +// CreateConversationRequest 创建对话请求 +type CreateConversationRequest struct { + Title string `json:"title"` +} + +// SendMessageRequest 发送消息请求 +type SendMessageRequest struct { + Content string `json:"content" binding:"required"` +} + +// MessageResponse 消息响应 +type MessageResponse struct { + ID uint `json:"id"` + Role string `json:"role"` + Content string `json:"content"` + CreatedAt time.Time `json:"created_at"` +} + +// ConversationResponse 对话响应 +type ConversationResponse struct { + ID uint `json:"id"` + Title string `json:"title"` + Messages []MessageResponse `json:"messages,omitempty"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` +} + +// ================= Service 方法 ================= + +// GetConversations 获取用户对话列表 +func (s *ConversationService) GetConversations(userID uint) ([]ConversationResponse, error) { + convs, err := s.convRepo.GetByUserID(userID) + if err != nil { + return nil, err + } + + result := make([]ConversationResponse, len(convs)) + for i, c := range convs { + result[i] = ConversationResponse{ + ID: c.ID, + Title: c.Title, + CreatedAt: c.CreatedAt, + UpdatedAt: c.UpdatedAt, + } + } + return result, nil +} + +// CreateConversation 创建新对话 +func (s *ConversationService) CreateConversation(userID uint, title string) (*ConversationResponse, error) { + if title == "" { + title = "新对话 " + time.Now().Format("01-02 15:04") + } + conv := &model.Conversation{ + UserID: userID, + Title: title, + } + if err := s.convRepo.Create(conv); err != nil { + return nil, err + } + return &ConversationResponse{ + ID: conv.ID, + Title: conv.Title, + CreatedAt: conv.CreatedAt, + UpdatedAt: conv.UpdatedAt, + }, nil +} + +// GetConversation 获取对话详情 +func (s *ConversationService) GetConversation(userID, convID uint) (*ConversationResponse, error) { + // 检查权限 + if !s.convRepo.CheckOwnership(convID, userID) { + return nil, errors.New("对话不存在或无权访问") + } + + conv, err := s.convRepo.GetByID(convID) + if err != nil { + return nil, errors.New("对话不存在") + } + + messages := make([]MessageResponse, len(conv.Messages)) + for i, m := range conv.Messages { + messages[i] = MessageResponse{ + ID: m.ID, + Role: m.Role, + Content: m.Content, + CreatedAt: m.CreatedAt, + } + } + + return &ConversationResponse{ + ID: conv.ID, + Title: conv.Title, + Messages: messages, + CreatedAt: conv.CreatedAt, + UpdatedAt: conv.UpdatedAt, + }, nil +} + +// DeleteConversation 删除对话 +func (s *ConversationService) DeleteConversation(userID, convID uint) error { + // 检查权限 + if !s.convRepo.CheckOwnership(convID, userID) { + return errors.New("对话不存在或无权访问") + } + return s.convRepo.Delete(convID) +} + +// SendMessage 发送消息并获取AI回复 +func (s *ConversationService) SendMessage(ctx context.Context, userID, convID uint, content string) (*MessageResponse, error) { + // 检查权限 + if !s.convRepo.CheckOwnership(convID, userID) { + return nil, errors.New("对话不存在或无权访问") + } + + // 保存用户消息 + userMsg := &model.Message{ + ConversationID: convID, + Role: model.RoleUser, + Content: content, + } + if err := s.convRepo.AddMessage(userMsg); err != nil { + return nil, errors.New("保存消息失败") + } + + // 构建对话上下文 + messages := s.buildMessages(userID, convID) + + // 调用 AI + response, err := s.aiClient.Chat(ctx, messages) + if err != nil { + return nil, err + } + + // 保存 AI 回复 + assistantMsg := &model.Message{ + ConversationID: convID, + Role: model.RoleAssistant, + Content: response, + } + if err := s.convRepo.AddMessage(assistantMsg); err != nil { + return nil, errors.New("保存AI回复失败") + } + + // 如果是第一条消息,更新对话标题 + messages_count, _ := s.convRepo.GetMessages(convID) + if len(messages_count) <= 2 { + // 使用用户消息的前20个字符作为标题 + title := content + if len(title) > 20 { + title = title[:20] + "..." + } + s.convRepo.UpdateTitle(convID, title) + } + + return &MessageResponse{ + ID: assistantMsg.ID, + Role: assistantMsg.Role, + Content: assistantMsg.Content, + CreatedAt: assistantMsg.CreatedAt, + }, nil +} + +// SendMessageStream 流式发送消息 +func (s *ConversationService) SendMessageStream(ctx context.Context, userID, convID uint, content string, writer io.Writer) error { + // 检查权限 + if !s.convRepo.CheckOwnership(convID, userID) { + return errors.New("对话不存在或无权访问") + } + + // 保存用户消息 + userMsg := &model.Message{ + ConversationID: convID, + Role: model.RoleUser, + Content: content, + } + if err := s.convRepo.AddMessage(userMsg); err != nil { + return errors.New("保存消息失败") + } + + // 构建对话上下文 + messages := s.buildMessages(userID, convID) + + // 调用 AI 流式接口 + return s.aiClient.ChatStream(ctx, messages, writer) +} + +// buildMessages 构建消息上下文 +func (s *ConversationService) buildMessages(userID, convID uint) []ai.Message { + messages := []ai.Message{} + + // 系统提示词 + systemPrompt := s.buildSystemPrompt(userID) + messages = append(messages, ai.Message{ + Role: "system", + Content: systemPrompt, + }) + + // 历史消息(限制数量避免超出 token 限制) + maxHistory := config.AppConfig.AI.MaxHistoryMessages + if maxHistory <= 0 { + maxHistory = 10 // 默认10条 + } + + historyMsgs, _ := s.convRepo.GetRecentMessages(convID, maxHistory) + for _, msg := range historyMsgs { + messages = append(messages, ai.Message{ + Role: msg.Role, + Content: msg.Content, + }) + } + + return messages +} + +// 系统提示词模板 +const systemPromptTemplate = `# 角色定义 +你是"健康AI助手",一个专业的健康咨询助理。你基于中医体质辨识理论,为用户提供个性化的健康建议。 + +## 重要声明 +- 你不是专业医师,仅提供健康咨询和养生建议 +- 你的建议不能替代医生的诊断和治疗 +- 遇到以下情况,必须立即建议用户就医: + * 胸痛、呼吸困难、剧烈头痛 + * 高烧不退(超过39°C持续24小时) + * 意识模糊、晕厥 + * 严重外伤、大量出血 + * 持续剧烈腹痛 + * 疑似中风症状(口眼歪斜、肢体无力、言语不清) + +## 用户信息 +%s + +## 用户体质 +%s + +## 回答原则 +1. 回答控制在200字以内,简洁明了 +2. 根据用户体质给出针对性建议 +3. 用药建议优先推荐非处方中成药或食疗,注明"建议咨询药师" +4. 不推荐处方药,不做疾病诊断 +5. 对于紧急情况,立即建议用户就医 + +## 回答格式 +【情况分析】一句话概括 +【建议】 +1. 具体建议1 +2. 具体建议2 +【用药参考】(如适用) +- 药品名称:用法(建议咨询药师) +【提醒】注意事项或就医建议` + +// buildSystemPrompt 构建系统提示词(包含用户体质信息) +func (s *ConversationService) buildSystemPrompt(userID uint) string { + var userProfile, constitutionInfo string + + // 获取用户基本信息 + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err == nil && profile.ID > 0 { + age := calculateAge(profile.BirthDate) + gender := "未知" + if profile.Gender == "male" { + gender = "男" + } else if profile.Gender == "female" { + gender = "女" + } + userProfile = fmt.Sprintf("性别:%s,年龄:%d岁,BMI:%.1f", gender, age, profile.BMI) + } else { + userProfile = "暂无基本信息" + } + + // 获取用户体质信息 + constitution, err := s.constitutionRepo.GetLatestAssessment(userID) + if err == nil && constitution.ID > 0 { + constitutionName := model.ConstitutionNames[constitution.PrimaryConstitution] + description := model.ConstitutionDescriptions[constitution.PrimaryConstitution] + constitutionInfo = fmt.Sprintf("主体质:%s\n特征:%s", constitutionName, description) + } else { + constitutionInfo = "暂未进行体质测评" + } + + return fmt.Sprintf(systemPromptTemplate, userProfile, constitutionInfo) +} + +// calculateAge 计算年龄 +func calculateAge(birthDate *time.Time) int { + if birthDate == nil { + return 0 + } + now := time.Now() + age := now.Year() - birthDate.Year() + if now.YearDay() < birthDate.YearDay() { + age-- + } + return age +} diff --git a/server/internal/service/health.go b/server/internal/service/health.go new file mode 100644 index 0000000..f4dbfa5 --- /dev/null +++ b/server/internal/service/health.go @@ -0,0 +1,135 @@ +package service + +import ( + "errors" + + "health-ai/internal/model" + "health-ai/internal/repository/impl" +) + +type HealthService struct { + healthRepo *impl.HealthRepository + constitutionRepo *impl.ConstitutionRepository + userRepo *impl.UserRepositoryImpl +} + +func NewHealthService() *HealthService { + return &HealthService{ + healthRepo: impl.NewHealthRepository(), + constitutionRepo: impl.NewConstitutionRepository(), + userRepo: impl.NewUserRepository(), + } +} + +// ================= 响应结构体 ================= + +// HealthProfileResponse 健康档案响应 +type HealthProfileResponse struct { + Profile *model.HealthProfile `json:"profile"` + Lifestyle *model.LifestyleInfo `json:"lifestyle"` + MedicalHistory []model.MedicalHistory `json:"medical_history"` + FamilyHistory []model.FamilyHistory `json:"family_history"` + AllergyRecords []model.AllergyRecord `json:"allergy_records"` + Constitution *ConstitutionScore `json:"constitution,omitempty"` +} + +// ================= Service 方法 ================= + +// GetHealthProfile 获取完整健康档案 +func (s *HealthService) GetHealthProfile(userID uint) (*HealthProfileResponse, error) { + resp := &HealthProfileResponse{} + + // 获取基础档案 + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err == nil && profile.ID > 0 { + resp.Profile = profile + } + + // 获取生活习惯 + lifestyle, err := s.healthRepo.GetLifestyleByUserID(userID) + if err == nil && lifestyle.ID > 0 { + resp.Lifestyle = lifestyle + } + + // 获取病史 + if profile != nil && profile.ID > 0 { + resp.MedicalHistory, _ = s.healthRepo.GetMedicalHistories(profile.ID) + resp.FamilyHistory, _ = s.healthRepo.GetFamilyHistories(profile.ID) + resp.AllergyRecords, _ = s.healthRepo.GetAllergyRecords(profile.ID) + } + + // 获取最新体质信息 + constitution, err := s.constitutionRepo.GetLatestAssessment(userID) + if err == nil && constitution.ID > 0 { + resp.Constitution = &ConstitutionScore{ + Type: constitution.PrimaryConstitution, + Name: model.ConstitutionNames[constitution.PrimaryConstitution], + Description: model.ConstitutionDescriptions[constitution.PrimaryConstitution], + } + } + + return resp, nil +} + +// GetBasicProfile 获取基础档案 +func (s *HealthService) GetBasicProfile(userID uint) (*model.HealthProfile, error) { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return nil, errors.New("健康档案不存在") + } + return profile, nil +} + +// GetLifestyle 获取生活习惯 +func (s *HealthService) GetLifestyle(userID uint) (*model.LifestyleInfo, error) { + lifestyle, err := s.healthRepo.GetLifestyleByUserID(userID) + if err != nil { + return nil, errors.New("生活习惯信息不存在") + } + return lifestyle, nil +} + +// GetMedicalHistory 获取病史列表 +func (s *HealthService) GetMedicalHistory(userID uint) ([]model.MedicalHistory, error) { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return nil, errors.New("请先填写基础信息") + } + return s.healthRepo.GetMedicalHistories(profile.ID) +} + +// GetFamilyHistory 获取家族病史列表 +func (s *HealthService) GetFamilyHistory(userID uint) ([]model.FamilyHistory, error) { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return nil, errors.New("请先填写基础信息") + } + return s.healthRepo.GetFamilyHistories(profile.ID) +} + +// GetAllergyRecords 获取过敏记录列表 +func (s *HealthService) GetAllergyRecords(userID uint) ([]model.AllergyRecord, error) { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return nil, errors.New("请先填写基础信息") + } + return s.healthRepo.GetAllergyRecords(profile.ID) +} + +// DeleteMedicalHistory 删除病史记录 +func (s *HealthService) DeleteMedicalHistory(userID, historyID uint) error { + // TODO: 验证记录属于该用户 + return s.healthRepo.DeleteMedicalHistory(historyID) +} + +// DeleteFamilyHistory 删除家族病史记录 +func (s *HealthService) DeleteFamilyHistory(userID, historyID uint) error { + // TODO: 验证记录属于该用户 + return s.healthRepo.DeleteFamilyHistory(historyID) +} + +// DeleteAllergyRecord 删除过敏记录 +func (s *HealthService) DeleteAllergyRecord(userID, recordID uint) error { + // TODO: 验证记录属于该用户 + return s.healthRepo.DeleteAllergyRecord(recordID) +} diff --git a/server/internal/service/product.go b/server/internal/service/product.go new file mode 100644 index 0000000..6097320 --- /dev/null +++ b/server/internal/service/product.go @@ -0,0 +1,143 @@ +package service + +import ( + "errors" + "time" + + "health-ai/internal/model" + "health-ai/internal/repository/impl" +) + +type ProductService struct { + productRepo *impl.ProductRepository + constitutionRepo *impl.ConstitutionRepository +} + +func NewProductService() *ProductService { + return &ProductService{ + productRepo: impl.NewProductRepository(), + constitutionRepo: impl.NewConstitutionRepository(), + } +} + +// ================= 请求/响应结构体 ================= + +// ProductListResponse 产品列表响应 +type ProductListResponse struct { + Products []model.Product `json:"products"` + Total int64 `json:"total"` + Page int `json:"page"` + PageSize int `json:"page_size"` +} + +// ProductRecommendResponse 产品推荐响应 +type ProductRecommendResponse struct { + ConstitutionType string `json:"constitution_type"` + ConstitutionName string `json:"constitution_name"` + Products []model.Product `json:"products"` +} + +// PurchaseSyncRequest 购买同步请求 +type PurchaseSyncRequest struct { + UserID uint `json:"user_id" binding:"required"` + OrderNo string `json:"order_no" binding:"required"` + Products []struct { + ID uint `json:"id" binding:"required"` + Name string `json:"name" binding:"required"` + } `json:"products" binding:"required"` + CreatedAt time.Time `json:"created_at"` +} + +// ================= Service 方法 ================= + +// GetProducts 获取产品列表 +func (s *ProductService) GetProducts(page, pageSize int) (*ProductListResponse, error) { + if page <= 0 { + page = 1 + } + if pageSize <= 0 { + pageSize = 20 + } + + products, total, err := s.productRepo.GetAll(page, pageSize) + if err != nil { + return nil, err + } + + return &ProductListResponse{ + Products: products, + Total: total, + Page: page, + PageSize: pageSize, + }, nil +} + +// GetProductByID 获取产品详情 +func (s *ProductService) GetProductByID(id uint) (*model.Product, error) { + product, err := s.productRepo.GetByID(id) + if err != nil { + return nil, errors.New("产品不存在") + } + return product, nil +} + +// GetProductsByCategory 按分类获取产品 +func (s *ProductService) GetProductsByCategory(category string) ([]model.Product, error) { + return s.productRepo.GetByCategory(category) +} + +// GetRecommendedProducts 根据用户体质获取推荐产品 +func (s *ProductService) GetRecommendedProducts(userID uint) (*ProductRecommendResponse, error) { + // 获取用户最新体质 + assessment, err := s.constitutionRepo.GetLatestAssessment(userID) + if err != nil { + return nil, errors.New("请先完成体质测评") + } + + // 获取该体质的推荐产品 + products, err := s.productRepo.GetByConstitution(assessment.PrimaryConstitution) + if err != nil { + return nil, err + } + + return &ProductRecommendResponse{ + ConstitutionType: assessment.PrimaryConstitution, + ConstitutionName: model.ConstitutionNames[assessment.PrimaryConstitution], + Products: products, + }, nil +} + +// SearchProducts 根据关键词搜索产品 +func (s *ProductService) SearchProducts(keyword string) ([]model.Product, error) { + if keyword == "" { + return nil, errors.New("请输入搜索关键词") + } + return s.productRepo.SearchByKeyword(keyword) +} + +// SyncPurchase 同步商城购买记录 +func (s *ProductService) SyncPurchase(req *PurchaseSyncRequest) error { + purchasedAt := req.CreatedAt + if purchasedAt.IsZero() { + purchasedAt = time.Now() + } + + histories := make([]model.PurchaseHistory, len(req.Products)) + for i, p := range req.Products { + histories[i] = model.PurchaseHistory{ + UserID: req.UserID, + OrderNo: req.OrderNo, + ProductID: p.ID, + ProductName: p.Name, + PurchasedAt: purchasedAt, + Source: "mall", + } + } + + return s.productRepo.BatchCreatePurchaseHistory(histories) +} + +// GetPurchaseHistory 获取用户购买历史 +func (s *ProductService) GetPurchaseHistory(userID uint) ([]model.PurchaseHistory, error) { + return s.productRepo.GetPurchaseHistory(userID) +} diff --git a/server/internal/service/survey.go b/server/internal/service/survey.go new file mode 100644 index 0000000..86e9d11 --- /dev/null +++ b/server/internal/service/survey.go @@ -0,0 +1,368 @@ +package service + +import ( + "errors" + "time" + + "health-ai/internal/model" + "health-ai/internal/repository/impl" +) + +type SurveyService struct { + healthRepo *impl.HealthRepository + userRepo *impl.UserRepositoryImpl +} + +func NewSurveyService() *SurveyService { + return &SurveyService{ + healthRepo: impl.NewHealthRepository(), + userRepo: impl.NewUserRepository(), + } +} + +// ================= 请求结构体 ================= + +// BasicInfoRequest 基础信息请求 +type BasicInfoRequest struct { + Name string `json:"name" binding:"required"` + BirthDate string `json:"birth_date"` // 格式: 2006-01-02 + Gender string `json:"gender" binding:"required,oneof=male female"` + Height float64 `json:"height" binding:"required,gt=0"` + Weight float64 `json:"weight" binding:"required,gt=0"` + BloodType string `json:"blood_type"` + Occupation string `json:"occupation"` + MaritalStatus string `json:"marital_status"` + Region string `json:"region"` +} + +// LifestyleRequest 生活习惯请求 +type LifestyleRequest struct { + SleepTime string `json:"sleep_time"` // 格式: HH:MM + WakeTime string `json:"wake_time"` // 格式: HH:MM + SleepQuality string `json:"sleep_quality"` // good, normal, poor + MealRegularity string `json:"meal_regularity"` // regular, irregular + DietPreference string `json:"diet_preference"` + DailyWaterML int `json:"daily_water_ml"` + ExerciseFrequency string `json:"exercise_frequency"` // never, sometimes, often, daily + ExerciseType string `json:"exercise_type"` + ExerciseDurationMin int `json:"exercise_duration_min"` + IsSmoker bool `json:"is_smoker"` + AlcoholFrequency string `json:"alcohol_frequency"` // never, sometimes, often +} + +// MedicalHistoryRequest 病史请求 +type MedicalHistoryRequest struct { + DiseaseName string `json:"disease_name" binding:"required"` + DiseaseType string `json:"disease_type"` // chronic, surgery, other + DiagnosedDate string `json:"diagnosed_date"` + Status string `json:"status"` // cured, treating, controlled + Notes string `json:"notes"` +} + +// FamilyHistoryRequest 家族病史请求 +type FamilyHistoryRequest struct { + Relation string `json:"relation" binding:"required"` // father, mother, grandparent + DiseaseName string `json:"disease_name" binding:"required"` + Notes string `json:"notes"` +} + +// AllergyRequest 过敏信息请求 +type AllergyRequest struct { + AllergyType string `json:"allergy_type" binding:"required"` // drug, food, other + Allergen string `json:"allergen" binding:"required"` + Severity string `json:"severity"` // mild, moderate, severe + ReactionDesc string `json:"reaction_desc"` +} + +// BatchMedicalHistoryRequest 批量病史请求 +type BatchMedicalHistoryRequest struct { + Histories []MedicalHistoryRequest `json:"histories"` +} + +// BatchFamilyHistoryRequest 批量家族病史请求 +type BatchFamilyHistoryRequest struct { + Histories []FamilyHistoryRequest `json:"histories"` +} + +// BatchAllergyRequest 批量过敏信息请求 +type BatchAllergyRequest struct { + Allergies []AllergyRequest `json:"allergies"` +} + +// ================= 响应结构体 ================= + +// SurveyStatusResponse 调查状态响应 +type SurveyStatusResponse struct { + BasicInfo bool `json:"basic_info"` + Lifestyle bool `json:"lifestyle"` + MedicalHistory bool `json:"medical_history"` + FamilyHistory bool `json:"family_history"` + Allergy bool `json:"allergy"` + AllCompleted bool `json:"all_completed"` +} + +// ================= Service 方法 ================= + +// GetStatus 获取调查完成状态 +func (s *SurveyService) GetStatus(userID uint) (*SurveyStatusResponse, error) { + status := &SurveyStatusResponse{ + BasicInfo: false, + Lifestyle: false, + MedicalHistory: false, + FamilyHistory: false, + Allergy: false, + AllCompleted: false, + } + + // 检查基础信息 + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err == nil && profile.ID > 0 { + status.BasicInfo = true + // 病史、家族史、过敏史可以为空,只要有profile就算完成 + status.MedicalHistory = true + status.FamilyHistory = true + status.Allergy = true + } + + // 检查生活习惯 + lifestyle, err := s.healthRepo.GetLifestyleByUserID(userID) + if err == nil && lifestyle.ID > 0 { + status.Lifestyle = true + } + + // 检查是否全部完成 + status.AllCompleted = status.BasicInfo && status.Lifestyle + + return status, nil +} + +// SubmitBasicInfo 提交基础信息 +func (s *SurveyService) SubmitBasicInfo(userID uint, req *BasicInfoRequest) error { + // 计算 BMI + heightM := req.Height / 100 + bmi := req.Weight / (heightM * heightM) + + profile := &model.HealthProfile{ + UserID: userID, + Name: req.Name, + Gender: req.Gender, + Height: req.Height, + Weight: req.Weight, + BMI: bmi, + BloodType: req.BloodType, + Occupation: req.Occupation, + MaritalStatus: req.MaritalStatus, + Region: req.Region, + } + + // 解析出生日期 + if req.BirthDate != "" { + birthDate, err := time.Parse("2006-01-02", req.BirthDate) + if err == nil { + profile.BirthDate = &birthDate + } + } + + // 检查是否已存在 + existing, _ := s.healthRepo.GetProfileByUserID(userID) + if existing.ID > 0 { + profile.ID = existing.ID + profile.CreatedAt = existing.CreatedAt + return s.healthRepo.UpdateProfile(profile) + } + + return s.healthRepo.CreateProfile(profile) +} + +// SubmitLifestyle 提交生活习惯 +func (s *SurveyService) SubmitLifestyle(userID uint, req *LifestyleRequest) error { + lifestyle := &model.LifestyleInfo{ + UserID: userID, + SleepTime: req.SleepTime, + WakeTime: req.WakeTime, + SleepQuality: req.SleepQuality, + MealRegularity: req.MealRegularity, + DietPreference: req.DietPreference, + DailyWaterML: req.DailyWaterML, + ExerciseFrequency: req.ExerciseFrequency, + ExerciseType: req.ExerciseType, + ExerciseDurationMin: req.ExerciseDurationMin, + IsSmoker: req.IsSmoker, + AlcoholFrequency: req.AlcoholFrequency, + } + + existing, _ := s.healthRepo.GetLifestyleByUserID(userID) + if existing.ID > 0 { + lifestyle.ID = existing.ID + lifestyle.CreatedAt = existing.CreatedAt + return s.healthRepo.UpdateLifestyle(lifestyle) + } + + return s.healthRepo.CreateLifestyle(lifestyle) +} + +// SubmitMedicalHistory 提交单条病史 +func (s *SurveyService) SubmitMedicalHistory(userID uint, req *MedicalHistoryRequest) error { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return errors.New("请先填写基础信息") + } + + history := &model.MedicalHistory{ + HealthProfileID: profile.ID, + DiseaseName: req.DiseaseName, + DiseaseType: req.DiseaseType, + DiagnosedDate: req.DiagnosedDate, + Status: req.Status, + Notes: req.Notes, + } + + return s.healthRepo.CreateMedicalHistory(history) +} + +// SubmitBatchMedicalHistory 批量提交病史(覆盖式) +func (s *SurveyService) SubmitBatchMedicalHistory(userID uint, req *BatchMedicalHistoryRequest) error { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return errors.New("请先填写基础信息") + } + + // 清除旧数据 + if err := s.healthRepo.ClearMedicalHistories(profile.ID); err != nil { + return err + } + + // 创建新数据 + if len(req.Histories) == 0 { + return nil + } + + histories := make([]model.MedicalHistory, len(req.Histories)) + for i, h := range req.Histories { + histories[i] = model.MedicalHistory{ + HealthProfileID: profile.ID, + DiseaseName: h.DiseaseName, + DiseaseType: h.DiseaseType, + DiagnosedDate: h.DiagnosedDate, + Status: h.Status, + Notes: h.Notes, + } + } + + return s.healthRepo.BatchCreateMedicalHistories(histories) +} + +// SubmitFamilyHistory 提交单条家族病史 +func (s *SurveyService) SubmitFamilyHistory(userID uint, req *FamilyHistoryRequest) error { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return errors.New("请先填写基础信息") + } + + history := &model.FamilyHistory{ + HealthProfileID: profile.ID, + Relation: req.Relation, + DiseaseName: req.DiseaseName, + Notes: req.Notes, + } + + return s.healthRepo.CreateFamilyHistory(history) +} + +// SubmitBatchFamilyHistory 批量提交家族病史(覆盖式) +func (s *SurveyService) SubmitBatchFamilyHistory(userID uint, req *BatchFamilyHistoryRequest) error { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return errors.New("请先填写基础信息") + } + + // 清除旧数据 + if err := s.healthRepo.ClearFamilyHistories(profile.ID); err != nil { + return err + } + + // 创建新数据 + if len(req.Histories) == 0 { + return nil + } + + histories := make([]model.FamilyHistory, len(req.Histories)) + for i, h := range req.Histories { + histories[i] = model.FamilyHistory{ + HealthProfileID: profile.ID, + Relation: h.Relation, + DiseaseName: h.DiseaseName, + Notes: h.Notes, + } + } + + return s.healthRepo.BatchCreateFamilyHistories(histories) +} + +// SubmitAllergy 提交单条过敏信息 +func (s *SurveyService) SubmitAllergy(userID uint, req *AllergyRequest) error { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return errors.New("请先填写基础信息") + } + + record := &model.AllergyRecord{ + HealthProfileID: profile.ID, + AllergyType: req.AllergyType, + Allergen: req.Allergen, + Severity: req.Severity, + ReactionDesc: req.ReactionDesc, + } + + return s.healthRepo.CreateAllergyRecord(record) +} + +// SubmitBatchAllergy 批量提交过敏信息(覆盖式) +func (s *SurveyService) SubmitBatchAllergy(userID uint, req *BatchAllergyRequest) error { + profile, err := s.healthRepo.GetProfileByUserID(userID) + if err != nil { + return errors.New("请先填写基础信息") + } + + // 清除旧数据 + if err := s.healthRepo.ClearAllergyRecords(profile.ID); err != nil { + return err + } + + // 创建新数据 + if len(req.Allergies) == 0 { + return nil + } + + records := make([]model.AllergyRecord, len(req.Allergies)) + for i, a := range req.Allergies { + records[i] = model.AllergyRecord{ + HealthProfileID: profile.ID, + AllergyType: a.AllergyType, + Allergen: a.Allergen, + Severity: a.Severity, + ReactionDesc: a.ReactionDesc, + } + } + + return s.healthRepo.BatchCreateAllergyRecords(records) +} + +// MarkSurveyCompleted 标记调查完成 +func (s *SurveyService) MarkSurveyCompleted(userID uint) error { + return s.userRepo.UpdateSurveyStatus(userID, true) +} + +// CompleteSurvey 完成调查(检查并标记) +func (s *SurveyService) CompleteSurvey(userID uint) error { + status, err := s.GetStatus(userID) + if err != nil { + return err + } + + if !status.BasicInfo || !status.Lifestyle { + return errors.New("请先完成基础信息和生活习惯的填写") + } + + return s.MarkSurveyCompleted(userID) +} diff --git a/server/pkg/jwt/jwt.go b/server/pkg/jwt/jwt.go new file mode 100644 index 0000000..4dbc655 --- /dev/null +++ b/server/pkg/jwt/jwt.go @@ -0,0 +1,63 @@ +package jwt + +import ( + "errors" + "time" + + "github.com/golang-jwt/jwt/v5" +) + +var ( + jwtSecret []byte + expireHours int +) + +// Init 初始化JWT配置 +func Init(secret string, hours int) { + jwtSecret = []byte(secret) + expireHours = hours +} + +// Claims JWT声明 +type Claims struct { + UserID uint `json:"user_id"` + jwt.RegisteredClaims +} + +// GenerateToken 生成Token +func GenerateToken(userID uint) (string, error) { + claims := Claims{ + UserID: userID, + RegisteredClaims: jwt.RegisteredClaims{ + ExpiresAt: jwt.NewNumericDate(time.Now().Add(time.Duration(expireHours) * time.Hour)), + IssuedAt: jwt.NewNumericDate(time.Now()), + NotBefore: jwt.NewNumericDate(time.Now()), + }, + } + token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) + return token.SignedString(jwtSecret) +} + +// ParseToken 解析Token +func ParseToken(tokenString string) (*Claims, error) { + token, err := jwt.ParseWithClaims(tokenString, &Claims{}, func(token *jwt.Token) (interface{}, error) { + return jwtSecret, nil + }) + if err != nil { + return nil, err + } + if claims, ok := token.Claims.(*Claims); ok && token.Valid { + return claims, nil + } + return nil, errors.New("invalid token") +} + +// RefreshToken 刷新Token +func RefreshToken(tokenString string) (string, error) { + claims, err := ParseToken(tokenString) + if err != nil { + return "", err + } + // 生成新Token + return GenerateToken(claims.UserID) +} diff --git a/server/pkg/response/response.go b/server/pkg/response/response.go new file mode 100644 index 0000000..f787532 --- /dev/null +++ b/server/pkg/response/response.go @@ -0,0 +1,80 @@ +package response + +import ( + "net/http" + + "github.com/gin-gonic/gin" +) + +// Response 统一响应结构 +type Response struct { + Code int `json:"code"` + Message string `json:"message"` + Data interface{} `json:"data,omitempty"` +} + +// Success 成功响应 +func Success(c *gin.Context, data interface{}) { + c.JSON(http.StatusOK, Response{ + Code: 0, + Message: "success", + Data: data, + }) +} + +// SuccessWithMessage 成功响应带消息 +func SuccessWithMessage(c *gin.Context, message string, data interface{}) { + c.JSON(http.StatusOK, Response{ + Code: 0, + Message: message, + Data: data, + }) +} + +// Error 错误响应 +func Error(c *gin.Context, code int, message string) { + c.JSON(http.StatusOK, Response{ + Code: code, + Message: message, + }) +} + +// BadRequest 参数错误 +func BadRequest(c *gin.Context, message string) { + c.JSON(http.StatusBadRequest, Response{ + Code: 400, + Message: message, + }) +} + +// Unauthorized 未授权 +func Unauthorized(c *gin.Context, message string) { + c.JSON(http.StatusUnauthorized, Response{ + Code: 401, + Message: message, + }) +} + +// Forbidden 禁止访问 +func Forbidden(c *gin.Context, message string) { + c.JSON(http.StatusForbidden, Response{ + Code: 403, + Message: message, + }) +} + +// NotFound 资源不存在 +func NotFound(c *gin.Context, message string) { + c.JSON(http.StatusNotFound, Response{ + Code: 404, + Message: message, + }) +} + +// ServerError 服务器错误 +func ServerError(c *gin.Context, message string) { + c.JSON(http.StatusInternalServerError, Response{ + Code: 500, + Message: message, + }) +} diff --git a/start-app.bat b/start-app.bat new file mode 100644 index 0000000..489bcaf --- /dev/null +++ b/start-app.bat @@ -0,0 +1,26 @@ +@echo off +echo ======================================== +echo Health AI - APP Launcher +echo ======================================== +echo. +echo [1] Web Preview (Browser) +echo [2] Device (Expo Go) +echo [3] Exit +echo. +echo ---------------------------------------- +echo Test Account: 13800138000 / 123456 +echo ---------------------------------------- +echo. +set /p choice=Select option [1-3]: + +cd /d "%~dp0app" + +if "%choice%"=="1" ( + echo Starting Web preview... + npx expo start --web +) else if "%choice%"=="2" ( + echo Starting Expo for device... + npx expo start +) else ( + exit /b 0 +) diff --git a/start-app.sh b/start-app.sh new file mode 100644 index 0000000..639ff21 --- /dev/null +++ b/start-app.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# Health AI - APP Launcher (Git Bash / Linux / Mac) + +echo "========================================" +echo " Health AI - APP Launcher" +echo "========================================" +echo "" +echo "Test Account: 13800138000 / 123456" +echo "" +echo "Starting Expo..." +echo "" + +cd "$(dirname "$0")/app" +npx expo start diff --git a/start.bat b/start.bat new file mode 100644 index 0000000..05d9dff --- /dev/null +++ b/start.bat @@ -0,0 +1,47 @@ +@echo off +cls +echo. +echo ======================================== +echo Health AI Assistant - Launcher +echo ======================================== +echo. +echo [1] Start Web (Vue 3) +echo [2] Start APP (React Native) +echo [3] Start Both (Web + APP) +echo [4] Exit +echo. +echo ---------------------------------------- +echo Test Account: 13800138000 / 123456 +echo ---------------------------------------- +echo. +set /p choice=Select option [1-4]: + +if "%choice%"=="1" goto startweb +if "%choice%"=="2" goto startapp +if "%choice%"=="3" goto startall +if "%choice%"=="4" exit /b 0 +goto :eof + +:startweb +echo Starting Web dev server... +cd /d "%~dp0web" +npm run dev +goto :eof + +:startapp +echo Starting APP dev server... +cd /d "%~dp0app" +npx expo start +goto :eof + +:startall +echo Starting both servers... +start cmd /k "cd /d %~dp0web && npm run dev" +timeout /t 2 /nobreak >nul +start cmd /k "cd /d %~dp0app && npx expo start --web" +echo. +echo Servers started in new windows! +echo Web: http://localhost:5173 +echo APP: http://localhost:8081 +pause +goto :eof diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..c3a3298 --- /dev/null +++ b/start.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Health AI Assistant - Launcher for Git Bash / Linux / Mac + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" + +echo "" +echo "========================================" +echo " Health AI Assistant - Launcher" +echo "========================================" +echo "" +echo " [1] Start Web (Vue 3)" +echo " [2] Start APP (React Native)" +echo " [3] Exit" +echo "" +echo "----------------------------------------" +echo "Test Account: 13800138000 / 123456" +echo "----------------------------------------" +echo "" +read -p "Select option [1-3]: " choice + +case $choice in + 1) + echo "Starting Web dev server..." + cd "$SCRIPT_DIR/web" + npm run dev + ;; + 2) + echo "Starting APP dev server..." + cd "$SCRIPT_DIR/app" + npx expo start + ;; + 3) + exit 0 + ;; + *) + echo "Invalid option" + ;; +esac diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/web/README.md b/web/README.md new file mode 100644 index 0000000..33895ab --- /dev/null +++ b/web/README.md @@ -0,0 +1,5 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + diff --git a/web/package-lock.json b/web/package-lock.json new file mode 100644 index 0000000..dfaab4a --- /dev/null +++ b/web/package-lock.json @@ -0,0 +1,3795 @@ +{ + "name": "web", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "web", + "version": "0.0.0", + "dependencies": { + "@element-plus/icons-vue": "^2.3.2", + "axios": "^1.13.4", + "dayjs": "^1.11.19", + "echarts": "^6.0.0", + "element-plus": "^2.13.2", + "lodash-es": "^4.17.23", + "pinia": "^3.0.4", + "sass": "^1.97.3", + "vue": "^3.5.24", + "vue-echarts": "^8.0.1", + "vue-router": "^4.6.4" + }, + "devDependencies": { + "@types/lodash-es": "^4.17.12", + "@types/node": "^24.10.1", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/tsconfig": "^0.8.1", + "typescript": "~5.9.3", + "vite": "^7.2.4", + "vue-tsc": "^3.1.4" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz", + "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.7.4.tgz", + "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.7.5.tgz", + "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", + "dependencies": { + "@floating-ui/core": "^1.7.4", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==" + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.8", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.8.tgz", + "integrity": "sha512-wOwESXvvED3S8xBmcPWHs2dUuzrE4XiZeFu7e1hROIJkm02a49N120pmOXxY33sBb6hArItm5W5tcg1cBtV+HQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.53", + "resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", + "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", + "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", + "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", + "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", + "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", + "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", + "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", + "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", + "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", + "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", + "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", + "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", + "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", + "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", + "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", + "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", + "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", + "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", + "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", + "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", + "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", + "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", + "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", + "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", + "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", + "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "24.10.9", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-24.10.9.tgz", + "integrity": "sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==", + "dev": true, + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-6.0.3.tgz", + "integrity": "sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==", + "dev": true, + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.53" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.27", + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.27.tgz", + "integrity": "sha512-DjmjBWZ4tJKxfNC1F6HyYERNHPYS7L7OPFyCrestykNdUZMFYzI9WTyvwPcaNaHlrEUwESHYsfEw3isInncZxQ==", + "dev": true, + "dependencies": { + "@volar/source-map": "2.4.27" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.27", + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.27.tgz", + "integrity": "sha512-ynlcBReMgOZj2i6po+qVswtDUeeBRCTgDurjMGShbm8WYZgJ0PA4RmtebBJ0BCYol1qPv3GQF6jK7C9qoVc7lg==", + "dev": true + }, + "node_modules/@volar/typescript": { + "version": "2.4.27", + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.27.tgz", + "integrity": "sha512-eWaYCcl/uAPInSK2Lze6IqVWaBu/itVqR5InXcHXFyles4zO++Mglt3oxdgj75BDcv1Knr9Y93nowS8U3wqhxg==", + "dev": true, + "dependencies": { + "@volar/language-core": "2.4.27", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.27.tgz", + "integrity": "sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.27", + "entities": "^7.0.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.27.tgz", + "integrity": "sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==", + "dependencies": { + "@vue/compiler-core": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.27.tgz", + "integrity": "sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.27", + "@vue/compiler-dom": "3.5.27", + "@vue/compiler-ssr": "3.5.27", + "@vue/shared": "3.5.27", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.27.tgz", + "integrity": "sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==", + "dependencies": { + "@vue/compiler-dom": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/language-core": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-3.2.4.tgz", + "integrity": "sha512-bqBGuSG4KZM45KKTXzGtoCl9cWju5jsaBKaJJe3h5hRAAWpZUuj5G+L+eI01sPIkm4H6setKRlw7E85wLdDNew==", + "dev": true, + "dependencies": { + "@volar/language-core": "2.4.27", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.0.0", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.2" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.27.tgz", + "integrity": "sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==", + "dependencies": { + "@vue/shared": "3.5.27" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.27.tgz", + "integrity": "sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==", + "dependencies": { + "@vue/reactivity": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.27.tgz", + "integrity": "sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==", + "dependencies": { + "@vue/reactivity": "3.5.27", + "@vue/runtime-core": "3.5.27", + "@vue/shared": "3.5.27", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.27.tgz", + "integrity": "sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==", + "dependencies": { + "@vue/compiler-ssr": "3.5.27", + "@vue/shared": "3.5.27" + }, + "peerDependencies": { + "vue": "3.5.27" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.27.tgz", + "integrity": "sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==" + }, + "node_modules/@vue/tsconfig": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.8.1.tgz", + "integrity": "sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g==", + "dev": true, + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/alien-signals": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-3.1.2.tgz", + "integrity": "sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==", + "dev": true + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.13.4", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.13.4.tgz", + "integrity": "sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" + }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/echarts": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-6.0.0.tgz", + "integrity": "sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "6.0.0" + } + }, + "node_modules/element-plus": { + "version": "2.13.2", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.13.2.tgz", + "integrity": "sha512-Zjzm1NnFXGhV4LYZ6Ze9skPlYi2B4KAmN18FL63A3PZcjhDfroHwhtM6RE8BonlOPHXUnPQynH0BgaoEfvhrGw==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.2", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.17.20", + "@types/lodash-es": "^4.17.12", + "@vueuse/core": "^10.11.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.19", + "lodash": "^4.17.23", + "lodash-es": "^4.17.23", + "lodash-unified": "^1.0.3", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.3.0" + } + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-what": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==" + }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "optional": true + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "devOptional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-3.0.4.tgz", + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "dependencies": { + "@vue/devtools-api": "^7.7.7" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.5.0", + "vue": "^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" + }, + "node_modules/rollup": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.57.1.tgz", + "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.57.1", + "@rollup/rollup-android-arm64": "4.57.1", + "@rollup/rollup-darwin-arm64": "4.57.1", + "@rollup/rollup-darwin-x64": "4.57.1", + "@rollup/rollup-freebsd-arm64": "4.57.1", + "@rollup/rollup-freebsd-x64": "4.57.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", + "@rollup/rollup-linux-arm-musleabihf": "4.57.1", + "@rollup/rollup-linux-arm64-gnu": "4.57.1", + "@rollup/rollup-linux-arm64-musl": "4.57.1", + "@rollup/rollup-linux-loong64-gnu": "4.57.1", + "@rollup/rollup-linux-loong64-musl": "4.57.1", + "@rollup/rollup-linux-ppc64-gnu": "4.57.1", + "@rollup/rollup-linux-ppc64-musl": "4.57.1", + "@rollup/rollup-linux-riscv64-gnu": "4.57.1", + "@rollup/rollup-linux-riscv64-musl": "4.57.1", + "@rollup/rollup-linux-s390x-gnu": "4.57.1", + "@rollup/rollup-linux-x64-gnu": "4.57.1", + "@rollup/rollup-linux-x64-musl": "4.57.1", + "@rollup/rollup-openbsd-x64": "4.57.1", + "@rollup/rollup-openharmony-arm64": "4.57.1", + "@rollup/rollup-win32-arm64-msvc": "4.57.1", + "@rollup/rollup-win32-ia32-msvc": "4.57.1", + "@rollup/rollup-win32-x64-gnu": "4.57.1", + "@rollup/rollup-win32-x64-msvc": "4.57.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/sass": { + "version": "1.97.3", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/superjson": { + "version": "2.2.6", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true + }, + "node_modules/vite": { + "version": "7.3.1", + "resolved": "https://registry.npmmirror.com/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "dev": true, + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true + }, + "node_modules/vue": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.27.tgz", + "integrity": "sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==", + "dependencies": { + "@vue/compiler-dom": "3.5.27", + "@vue/compiler-sfc": "3.5.27", + "@vue/runtime-dom": "3.5.27", + "@vue/server-renderer": "3.5.27", + "@vue/shared": "3.5.27" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-echarts": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/vue-echarts/-/vue-echarts-8.0.1.tgz", + "integrity": "sha512-23rJTFLu1OUEGRWjJGmdGt8fP+8+ja1gVgzMYPIPaHWpXegcO1viIAaeu2H4QHESlVeHzUAHIxKXGrwjsyXAaA==", + "peerDependencies": { + "echarts": "^6.0.0", + "vue": "^3.3.0" + } + }, + "node_modules/vue-router": { + "version": "4.6.4", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" + }, + "node_modules/vue-tsc": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-3.2.4.tgz", + "integrity": "sha512-xj3YCvSLNDKt1iF9OcImWHhmYcihVu9p4b9s4PGR/qp6yhW+tZJaypGxHScRyOrdnHvaOeF+YkZOdKwbgGvp5g==", + "dev": true, + "dependencies": { + "@volar/typescript": "2.4.27", + "@vue/language-core": "3.2.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/zrender": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-6.0.0.tgz", + "integrity": "sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg==", + "dependencies": { + "tslib": "2.3.0" + } + } + }, + "dependencies": { + "@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==" + }, + "@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==" + }, + "@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "requires": { + "@babel/types": "^7.29.0" + } + }, + "@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "requires": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + } + }, + "@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==" + }, + "@element-plus/icons-vue": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz", + "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==", + "requires": {} + }, + "@esbuild/aix-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "dev": true, + "optional": true + }, + "@esbuild/openharmony-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "dev": true, + "optional": true + }, + "@floating-ui/core": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.7.4.tgz", + "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "requires": { + "@floating-ui/utils": "^0.2.10" + } + }, + "@floating-ui/dom": { + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.7.5.tgz", + "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", + "requires": { + "@floating-ui/core": "^1.7.4", + "@floating-ui/utils": "^0.2.10" + } + }, + "@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + }, + "@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "optional": true, + "requires": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6", + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + } + }, + "@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "optional": true + }, + "@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "optional": true + }, + "@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "optional": true + }, + "@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "optional": true + }, + "@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "optional": true + }, + "@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "optional": true + }, + "@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "optional": true + }, + "@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "optional": true + }, + "@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "optional": true + }, + "@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "optional": true + }, + "@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "optional": true + }, + "@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "optional": true + }, + "@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "optional": true + }, + "@popperjs/core": { + "version": "npm:@sxzz/popperjs-es@2.11.8", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.8.tgz", + "integrity": "sha512-wOwESXvvED3S8xBmcPWHs2dUuzrE4XiZeFu7e1hROIJkm02a49N120pmOXxY33sBb6hArItm5W5tcg1cBtV+HQ==" + }, + "@rolldown/pluginutils": { + "version": "1.0.0-beta.53", + "resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", + "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==", + "dev": true + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", + "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", + "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", + "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", + "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-freebsd-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", + "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "dev": true, + "optional": true + }, + "@rollup/rollup-freebsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", + "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", + "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", + "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", + "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", + "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-loong64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", + "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-loong64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", + "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-ppc64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", + "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-ppc64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", + "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", + "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", + "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", + "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", + "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", + "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-openbsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", + "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-openharmony-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", + "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", + "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", + "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", + "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", + "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", + "dev": true, + "optional": true + }, + "@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, + "@types/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==" + }, + "@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/node": { + "version": "24.10.9", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-24.10.9.tgz", + "integrity": "sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==", + "dev": true, + "requires": { + "undici-types": "~7.16.0" + } + }, + "@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==" + }, + "@vitejs/plugin-vue": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-6.0.3.tgz", + "integrity": "sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==", + "dev": true, + "requires": { + "@rolldown/pluginutils": "1.0.0-beta.53" + } + }, + "@volar/language-core": { + "version": "2.4.27", + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.27.tgz", + "integrity": "sha512-DjmjBWZ4tJKxfNC1F6HyYERNHPYS7L7OPFyCrestykNdUZMFYzI9WTyvwPcaNaHlrEUwESHYsfEw3isInncZxQ==", + "dev": true, + "requires": { + "@volar/source-map": "2.4.27" + } + }, + "@volar/source-map": { + "version": "2.4.27", + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.27.tgz", + "integrity": "sha512-ynlcBReMgOZj2i6po+qVswtDUeeBRCTgDurjMGShbm8WYZgJ0PA4RmtebBJ0BCYol1qPv3GQF6jK7C9qoVc7lg==", + "dev": true + }, + "@volar/typescript": { + "version": "2.4.27", + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.27.tgz", + "integrity": "sha512-eWaYCcl/uAPInSK2Lze6IqVWaBu/itVqR5InXcHXFyles4zO++Mglt3oxdgj75BDcv1Knr9Y93nowS8U3wqhxg==", + "dev": true, + "requires": { + "@volar/language-core": "2.4.27", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "@vue/compiler-core": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.27.tgz", + "integrity": "sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==", + "requires": { + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.27", + "entities": "^7.0.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "@vue/compiler-dom": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.27.tgz", + "integrity": "sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==", + "requires": { + "@vue/compiler-core": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "@vue/compiler-sfc": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.27.tgz", + "integrity": "sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==", + "requires": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.27", + "@vue/compiler-dom": "3.5.27", + "@vue/compiler-ssr": "3.5.27", + "@vue/shared": "3.5.27", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.27.tgz", + "integrity": "sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==", + "requires": { + "@vue/compiler-dom": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "requires": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "requires": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "requires": { + "rfdc": "^1.4.1" + } + }, + "@vue/language-core": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-3.2.4.tgz", + "integrity": "sha512-bqBGuSG4KZM45KKTXzGtoCl9cWju5jsaBKaJJe3h5hRAAWpZUuj5G+L+eI01sPIkm4H6setKRlw7E85wLdDNew==", + "dev": true, + "requires": { + "@volar/language-core": "2.4.27", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.0.0", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.2" + } + }, + "@vue/reactivity": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.27.tgz", + "integrity": "sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==", + "requires": { + "@vue/shared": "3.5.27" + } + }, + "@vue/runtime-core": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.27.tgz", + "integrity": "sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==", + "requires": { + "@vue/reactivity": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "@vue/runtime-dom": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.27.tgz", + "integrity": "sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==", + "requires": { + "@vue/reactivity": "3.5.27", + "@vue/runtime-core": "3.5.27", + "@vue/shared": "3.5.27", + "csstype": "^3.2.3" + } + }, + "@vue/server-renderer": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.27.tgz", + "integrity": "sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==", + "requires": { + "@vue/compiler-ssr": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "@vue/shared": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.27.tgz", + "integrity": "sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==" + }, + "@vue/tsconfig": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.8.1.tgz", + "integrity": "sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g==", + "dev": true, + "requires": {} + }, + "@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "requires": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "requires": {} + } + } + }, + "@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==" + }, + "@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "requires": { + "vue-demi": ">=0.14.8" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "requires": {} + } + } + }, + "alien-signals": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-3.1.2.tgz", + "integrity": "sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==", + "dev": true + }, + "async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "axios": { + "version": "1.13.4", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.13.4.tgz", + "integrity": "sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==", + "requires": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==" + }, + "call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "requires": { + "readdirp": "^4.0.1" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "requires": { + "is-what": "^5.2.0" + } + }, + "csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" + }, + "dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "optional": true + }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, + "echarts": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-6.0.0.tgz", + "integrity": "sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==", + "requires": { + "tslib": "2.3.0", + "zrender": "6.0.0" + } + }, + "element-plus": { + "version": "2.13.2", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.13.2.tgz", + "integrity": "sha512-Zjzm1NnFXGhV4LYZ6Ze9skPlYi2B4KAmN18FL63A3PZcjhDfroHwhtM6RE8BonlOPHXUnPQynH0BgaoEfvhrGw==", + "requires": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.2", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.17.20", + "@types/lodash-es": "^4.17.12", + "@vueuse/core": "^10.11.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.19", + "lodash": "^4.17.23", + "lodash-es": "^4.17.23", + "lodash-unified": "^1.0.3", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + } + }, + "entities": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==" + }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "requires": { + "es-errors": "^1.3.0" + } + }, + "es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "requires": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + } + }, + "esbuild": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" + } + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "requires": {} + }, + "follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==" + }, + "form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + } + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + } + }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + } + }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" + }, + "has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" + }, + "immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "optional": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "optional": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-what": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==" + }, + "lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==" + }, + "lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==" + }, + "lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "requires": {} + }, + "magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" + }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + }, + "muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true + }, + "nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==" + }, + "node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "optional": true + }, + "normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==" + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "devOptional": true + }, + "pinia": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-3.0.4.tgz", + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "requires": { + "@vue/devtools-api": "^7.7.7" + } + }, + "postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "requires": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==" + }, + "rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" + }, + "rollup": { + "version": "4.57.1", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.57.1.tgz", + "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.57.1", + "@rollup/rollup-android-arm64": "4.57.1", + "@rollup/rollup-darwin-arm64": "4.57.1", + "@rollup/rollup-darwin-x64": "4.57.1", + "@rollup/rollup-freebsd-arm64": "4.57.1", + "@rollup/rollup-freebsd-x64": "4.57.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", + "@rollup/rollup-linux-arm-musleabihf": "4.57.1", + "@rollup/rollup-linux-arm64-gnu": "4.57.1", + "@rollup/rollup-linux-arm64-musl": "4.57.1", + "@rollup/rollup-linux-loong64-gnu": "4.57.1", + "@rollup/rollup-linux-loong64-musl": "4.57.1", + "@rollup/rollup-linux-ppc64-gnu": "4.57.1", + "@rollup/rollup-linux-ppc64-musl": "4.57.1", + "@rollup/rollup-linux-riscv64-gnu": "4.57.1", + "@rollup/rollup-linux-riscv64-musl": "4.57.1", + "@rollup/rollup-linux-s390x-gnu": "4.57.1", + "@rollup/rollup-linux-x64-gnu": "4.57.1", + "@rollup/rollup-linux-x64-musl": "4.57.1", + "@rollup/rollup-openbsd-x64": "4.57.1", + "@rollup/rollup-openharmony-arm64": "4.57.1", + "@rollup/rollup-win32-arm64-msvc": "4.57.1", + "@rollup/rollup-win32-ia32-msvc": "4.57.1", + "@rollup/rollup-win32-x64-gnu": "4.57.1", + "@rollup/rollup-win32-x64-msvc": "4.57.1", + "@types/estree": "1.0.8", + "fsevents": "~2.3.2" + } + }, + "sass": { + "version": "1.97.3", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", + "requires": { + "@parcel/watcher": "^2.4.1", + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" + }, + "speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==" + }, + "superjson": { + "version": "2.2.6", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "requires": { + "copy-anything": "^4" + } + }, + "tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "requires": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + } + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "devOptional": true + }, + "undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true + }, + "vite": { + "version": "7.3.1", + "resolved": "https://registry.npmmirror.com/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "dev": true, + "requires": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "fsevents": "~2.3.3", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + } + }, + "vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true + }, + "vue": { + "version": "3.5.27", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.27.tgz", + "integrity": "sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==", + "requires": { + "@vue/compiler-dom": "3.5.27", + "@vue/compiler-sfc": "3.5.27", + "@vue/runtime-dom": "3.5.27", + "@vue/server-renderer": "3.5.27", + "@vue/shared": "3.5.27" + } + }, + "vue-echarts": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/vue-echarts/-/vue-echarts-8.0.1.tgz", + "integrity": "sha512-23rJTFLu1OUEGRWjJGmdGt8fP+8+ja1gVgzMYPIPaHWpXegcO1viIAaeu2H4QHESlVeHzUAHIxKXGrwjsyXAaA==", + "requires": {} + }, + "vue-router": { + "version": "4.6.4", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "requires": { + "@vue/devtools-api": "^6.6.4" + }, + "dependencies": { + "@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" + } + } + }, + "vue-tsc": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-3.2.4.tgz", + "integrity": "sha512-xj3YCvSLNDKt1iF9OcImWHhmYcihVu9p4b9s4PGR/qp6yhW+tZJaypGxHScRyOrdnHvaOeF+YkZOdKwbgGvp5g==", + "dev": true, + "requires": { + "@volar/typescript": "2.4.27", + "@vue/language-core": "3.2.4" + } + }, + "zrender": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-6.0.0.tgz", + "integrity": "sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg==", + "requires": { + "tslib": "2.3.0" + } + } + } +} diff --git a/web/package.json b/web/package.json new file mode 100644 index 0000000..411c849 --- /dev/null +++ b/web/package.json @@ -0,0 +1,33 @@ +{ + "name": "web", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.2", + "axios": "^1.13.4", + "dayjs": "^1.11.19", + "echarts": "^6.0.0", + "element-plus": "^2.13.2", + "lodash-es": "^4.17.23", + "pinia": "^3.0.4", + "sass": "^1.97.3", + "vue": "^3.5.24", + "vue-echarts": "^8.0.1", + "vue-router": "^4.6.4" + }, + "devDependencies": { + "@types/lodash-es": "^4.17.12", + "@types/node": "^24.10.1", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/tsconfig": "^0.8.1", + "typescript": "~5.9.3", + "vite": "^7.2.4", + "vue-tsc": "^3.1.4" + } +} diff --git a/web/public/vite.svg b/web/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/web/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/App.vue b/web/src/App.vue new file mode 100644 index 0000000..18bcc9d --- /dev/null +++ b/web/src/App.vue @@ -0,0 +1,10 @@ + + + diff --git a/web/src/assets/vue.svg b/web/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/web/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/components/HelloWorld.vue b/web/src/components/HelloWorld.vue new file mode 100644 index 0000000..b58e52b --- /dev/null +++ b/web/src/components/HelloWorld.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/web/src/main.ts b/web/src/main.ts new file mode 100644 index 0000000..5cad474 --- /dev/null +++ b/web/src/main.ts @@ -0,0 +1,23 @@ +import { createApp } from 'vue' +import { createPinia } from 'pinia' +import ElementPlus from 'element-plus' +import zhCn from 'element-plus/dist/locale/zh-cn.mjs' +import * as ElementPlusIconsVue from '@element-plus/icons-vue' +import 'element-plus/dist/index.css' + +import App from './App.vue' +import router from './router' +import './styles/index.scss' + +const app = createApp(App) + +// 注册所有图标 +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) +} + +app.use(createPinia()) +app.use(router) +app.use(ElementPlus, { locale: zhCn }) + +app.mount('#app') diff --git a/web/src/mock/chat.ts b/web/src/mock/chat.ts new file mode 100644 index 0000000..e3e8e63 --- /dev/null +++ b/web/src/mock/chat.ts @@ -0,0 +1,116 @@ +// AI 模拟回复 +const aiReplies: Record = { + '疲劳': `【情况分析】您可能存在气虚的情况,容易感到疲劳乏力。 + +【建议】 +1. 保证充足睡眠,每天7-8小时 +2. 适当运动,如散步、太极拳 +3. 饮食上可多吃山药、大枣、小米等健脾益气的食物 + +【用药参考】 +- 黄芪精口服液:每日2次,每次1支(建议咨询药师) + +【提醒】如果疲劳持续且伴有其他不适,建议就医检查。`, + + '失眠': `【情况分析】失眠可能与心神不宁、肝气郁结有关。 + +【建议】 +1. 睡前1小时避免使用手机 +2. 可用温水泡脚15-20分钟 +3. 睡前喝一杯热牛奶或酸枣仁茶 + +【用药参考】 +- 酸枣仁百合膏:睡前半小时服用(建议咨询药师) + +【提醒】如失眠超过2周,建议就医。`, + + '感冒': `【情况分析】普通感冒多为病毒感染引起。 + +【建议】 +1. 多休息,多喝温水 +2. 饮食清淡,避免油腻 +3. 保持室内通风 + +【用药参考】 +- 感冒清热颗粒:适用于风寒感冒(建议咨询药师) +- 板蓝根颗粒:清热解毒(建议咨询药师) + +【提醒】如发热超过38.5°C持续3天,或出现呼吸困难,请立即就医!`, + + '头痛': `【情况分析】头痛原因较多,需要根据具体情况判断。 + +【建议】 +1. 保证充足睡眠和休息 +2. 避免长时间看屏幕 +3. 适当按摩太阳穴和风池穴 + +【用药参考】 +- 正天丸:适用于紧张性头痛(建议咨询药师) + +【提醒】如果头痛剧烈、突然发作或伴有恶心呕吐、视力模糊,请立即就医!`, + + '血压': `【情况分析】血压管理需要长期坚持。 + +【建议】 +1. 低盐低脂饮食,每日盐摄入<6g +2. 适量运动,如快走、游泳 +3. 保持情绪稳定,避免熬夜 +4. 定期监测血压 + +【用药参考】 +- 深海鱼油软胶囊:辅助调节血脂(建议咨询药师) + +【提醒】高血压患者请遵医嘱用药,不要自行停药或调整剂量。`, + + '便秘': `【情况分析】便秘多与饮食习惯和肠道功能有关。 + +【建议】 +1. 多吃富含纤维的蔬菜水果 +2. 每天喝足8杯水 +3. 养成定时排便习惯 +4. 适当运动促进肠道蠕动 + +【用药参考】 +- 膳食纤维粉:帮助改善便秘(建议咨询药师) + +【提醒】如便秘超过2周或伴有腹痛、便血,请及时就医。`, + + '关节': `【情况分析】关节问题在中老年人群中较为常见。 + +【建议】 +1. 注意关节保暖 +2. 避免长时间站立或负重 +3. 适当进行关节活动,如游泳 +4. 控制体重减轻关节负担 + +【用药参考】 +- 氨糖软骨素钙片:保护关节软骨(建议咨询药师) + +【提醒】如关节疼痛严重或活动受限,建议骨科就诊。` +} + +// 默认回复 +const defaultReply = `【情况分析】感谢您的咨询,我会尽力为您提供健康建议。 + +【建议】 +1. 保持良好的作息习惯 +2. 均衡饮食,适量运动 +3. 保持心情愉悦 + +【提醒】如有任何不适症状加重,请及时就医。我是健康助手,建议仅供参考,不能替代医生的诊断和治疗。` + +// 模拟 AI 回复 +export function mockAIReply(message: string): Promise { + return new Promise((resolve) => { + setTimeout(() => { + // 关键词匹配 + for (const [keyword, reply] of Object.entries(aiReplies)) { + if (message.includes(keyword)) { + resolve(reply) + return + } + } + resolve(defaultReply) + }, 1000 + Math.random() * 1000) + }) +} diff --git a/web/src/mock/constitution.ts b/web/src/mock/constitution.ts new file mode 100644 index 0000000..a263192 --- /dev/null +++ b/web/src/mock/constitution.ts @@ -0,0 +1,221 @@ +import type { ConstitutionQuestion, ConstitutionResult, ConstitutionType } from '@/types' + +// 体质名称映射 +export const constitutionNames: Record = { + pinghe: '平和质', + qixu: '气虚质', + yangxu: '阳虚质', + yinxu: '阴虚质', + tanshi: '痰湿质', + shire: '湿热质', + xueyu: '血瘀质', + qiyu: '气郁质', + tebing: '特禀质' +} + +// 体质详细描述 +export const constitutionDescriptions: Record = { + pinghe: { + description: '阴阳气血调和,体态适中,面色红润,精力充沛', + features: ['体态适中', '面色红润', '精力充沛', '睡眠良好'], + suggestions: ['饮食均衡,不偏食', '起居有常,劳逸结合', '适量运动,量力而行', '保持乐观心态'] + }, + qixu: { + description: '元气不足,容易疲劳,气短懒言,易出汗', + features: ['容易疲劳', '气短懒言', '易出汗', '抵抗力差'], + suggestions: ['宜食益气健脾食物', '避免劳累,保证睡眠', '宜柔和运动如太极', '避免过度思虑'] + }, + yangxu: { + description: '阳气不足,畏寒怕冷,手脚冰凉,喜热饮', + features: ['畏寒怕冷', '手脚冰凉', '喜热饮食', '精神不振'], + suggestions: ['宜食温阳食物如羊肉', '注意保暖,避免受寒', '宜温和运动,避免大汗', '保持积极乐观'] + }, + yinxu: { + description: '阴液亏少,口燥咽干,手足心热,盗汗', + features: ['口干咽燥', '手足心热', '盗汗', '皮肤干燥'], + suggestions: ['宜食滋阴食物如百合', '避免熬夜,环境保湿', '宜静养,避免剧烈运动', '避免急躁易怒'] + }, + tanshi: { + description: '痰湿凝聚,形体肥胖,腹部肥满,痰多', + features: ['形体肥胖', '腹部肥满', '痰多', '身体沉重'], + suggestions: ['饮食清淡,少食肥甘', '居住环境宜干燥通风', '坚持运动,促进代谢', '保持心情舒畅'] + }, + shire: { + description: '湿热内蕴,面垢油光,口苦口干,大便黏滞', + features: ['面部油光', '口苦口干', '大便黏滞', '易生痤疮'], + suggestions: ['饮食清淡,宜食苦瓜', '避免湿热环境', '适当运动,出汗排湿', '保持平和心态'] + }, + xueyu: { + description: '血行不畅,肤色晦暗,易生斑点,健忘', + features: ['肤色晦暗', '易生斑点', '健忘', '唇色偏暗'], + suggestions: ['宜食活血化瘀食物', '避免久坐,适当活动', '坚持有氧运动', '保持心情愉快'] + }, + qiyu: { + description: '气机郁滞,情绪低落,多愁善感,胸闷', + features: ['情绪低落', '多愁善感', '胸闷', '善太息'], + suggestions: ['宜食行气解郁食物', '多参加社交活动', '宜户外运动,舒展身心', '培养兴趣爱好'] + }, + tebing: { + description: '先天失常,过敏体质,易打喷嚏,皮肤易过敏', + features: ['易过敏', '易打喷嚏', '皮肤敏感', '适应力差'], + suggestions: ['避免接触过敏原', '饮食清淡,避免过敏食物', '适度运动,增强体质', '保持心态平和'] + } +} + +// 问卷选项 +const questionOptions = [ + { value: 1, label: '没有' }, + { value: 2, label: '很少' }, + { value: 3, label: '有时' }, + { value: 4, label: '经常' }, + { value: 5, label: '总是' } +] + +// 体质问卷题目(60题) +export const constitutionQuestions: ConstitutionQuestion[] = [ + // 平和质 (8题) + { id: 1, constitutionType: 'pinghe', question: '您精力充沛吗?', options: questionOptions }, + { id: 2, constitutionType: 'pinghe', question: '您容易疲乏吗?', options: questionOptions }, + { id: 3, constitutionType: 'pinghe', question: '您说话声音低弱无力吗?', options: questionOptions }, + { id: 4, constitutionType: 'pinghe', question: '您感到闷闷不乐、情绪低沉吗?', options: questionOptions }, + { id: 5, constitutionType: 'pinghe', question: '您比一般人耐受不了寒冷吗?', options: questionOptions }, + { id: 6, constitutionType: 'pinghe', question: '您能适应外界自然和社会环境的变化吗?', options: questionOptions }, + { id: 7, constitutionType: 'pinghe', question: '您容易失眠吗?', options: questionOptions }, + + // 气虚质 (8题) + { id: 8, constitutionType: 'qixu', question: '您容易气短(呼吸短促,接不上气)吗?', options: questionOptions }, + { id: 9, constitutionType: 'qixu', question: '您容易心慌吗?', options: questionOptions }, + { id: 10, constitutionType: 'qixu', question: '您容易头晕或站起时晕眩吗?', options: questionOptions }, + { id: 11, constitutionType: 'qixu', question: '您比别人容易感冒吗?', options: questionOptions }, + { id: 12, constitutionType: 'qixu', question: '您喜欢安静、懒得说话吗?', options: questionOptions }, + { id: 13, constitutionType: 'qixu', question: '您说话声音低弱无力吗?', options: questionOptions }, + { id: 14, constitutionType: 'qixu', question: '您活动量稍大就容易出虚汗吗?', options: questionOptions }, + + // 阳虚质 (7题) + { id: 15, constitutionType: 'yangxu', question: '您手脚发凉吗?', options: questionOptions }, + { id: 16, constitutionType: 'yangxu', question: '您胃脘部、背部或腰膝部怕冷吗?', options: questionOptions }, + { id: 17, constitutionType: 'yangxu', question: '您穿的衣服总比别人多吗?', options: questionOptions }, + { id: 18, constitutionType: 'yangxu', question: '您比一般人耐受不了寒冷吗?', options: questionOptions }, + { id: 19, constitutionType: 'yangxu', question: '您比别人容易感冒吗?', options: questionOptions }, + { id: 20, constitutionType: 'yangxu', question: '您吃凉东西会感到不舒服或怕吃凉东西吗?', options: questionOptions }, + { id: 21, constitutionType: 'yangxu', question: '您受凉或吃凉的东西后,容易拉肚子吗?', options: questionOptions }, + + // 阴虚质 (7题) + { id: 22, constitutionType: 'yinxu', question: '您感到手脚心发热吗?', options: questionOptions }, + { id: 23, constitutionType: 'yinxu', question: '您感觉身体、脸上发热吗?', options: questionOptions }, + { id: 24, constitutionType: 'yinxu', question: '您皮肤或口唇干吗?', options: questionOptions }, + { id: 25, constitutionType: 'yinxu', question: '您口唇的颜色比一般人红吗?', options: questionOptions }, + { id: 26, constitutionType: 'yinxu', question: '您容易便秘或大便干燥吗?', options: questionOptions }, + { id: 27, constitutionType: 'yinxu', question: '您感到眼睛干涩吗?', options: questionOptions }, + { id: 28, constitutionType: 'yinxu', question: '您感到口干咽燥、总想喝水吗?', options: questionOptions }, + + // 痰湿质 (7题) + { id: 29, constitutionType: 'tanshi', question: '您感到胸闷或腹部胀满吗?', options: questionOptions }, + { id: 30, constitutionType: 'tanshi', question: '您感到身体沉重不轻松或不爽快吗?', options: questionOptions }, + { id: 31, constitutionType: 'tanshi', question: '您腹部肥满松软吗?', options: questionOptions }, + { id: 32, constitutionType: 'tanshi', question: '您额头部位油脂分泌多吗?', options: questionOptions }, + { id: 33, constitutionType: 'tanshi', question: '您上眼睑比别人肿吗?', options: questionOptions }, + { id: 34, constitutionType: 'tanshi', question: '您嘴里有黏黏的感觉吗?', options: questionOptions }, + { id: 35, constitutionType: 'tanshi', question: '您平时痰多吗?', options: questionOptions }, + + // 湿热质 (7题) + { id: 36, constitutionType: 'shire', question: '您面部或鼻部有油腻感或油光发亮吗?', options: questionOptions }, + { id: 37, constitutionType: 'shire', question: '您脸上容易生痤疮或皮肤容易生疮疖吗?', options: questionOptions }, + { id: 38, constitutionType: 'shire', question: '您感到口苦或嘴里有异味吗?', options: questionOptions }, + { id: 39, constitutionType: 'shire', question: '您大便黏滞不爽、有解不尽的感觉吗?', options: questionOptions }, + { id: 40, constitutionType: 'shire', question: '您小便时尿道有发热感、尿色浓吗?', options: questionOptions }, + { id: 41, constitutionType: 'shire', question: '您带下色黄(白带颜色发黄)吗?(女性)', options: questionOptions }, + { id: 42, constitutionType: 'shire', question: '您的阴囊部位潮湿吗?(男性)', options: questionOptions }, + + // 血瘀质 (7题) + { id: 43, constitutionType: 'xueyu', question: '您皮肤在不知不觉中会出现青紫瘀斑吗?', options: questionOptions }, + { id: 44, constitutionType: 'xueyu', question: '您两颧部有细微红丝吗?', options: questionOptions }, + { id: 45, constitutionType: 'xueyu', question: '您身体上有哪里疼痛吗?', options: questionOptions }, + { id: 46, constitutionType: 'xueyu', question: '您面色晦暗或容易出现褐斑吗?', options: questionOptions }, + { id: 47, constitutionType: 'xueyu', question: '您容易有黑眼圈吗?', options: questionOptions }, + { id: 48, constitutionType: 'xueyu', question: '您容易忘事吗?', options: questionOptions }, + { id: 49, constitutionType: 'xueyu', question: '您口唇颜色偏暗吗?', options: questionOptions }, + + // 气郁质 (7题) + { id: 50, constitutionType: 'qiyu', question: '您感到闷闷不乐、情绪低沉吗?', options: questionOptions }, + { id: 51, constitutionType: 'qiyu', question: '您精神紧张、焦虑不安吗?', options: questionOptions }, + { id: 52, constitutionType: 'qiyu', question: '您多愁善感、感情脆弱吗?', options: questionOptions }, + { id: 53, constitutionType: 'qiyu', question: '您容易感到害怕或受到惊吓吗?', options: questionOptions }, + { id: 54, constitutionType: 'qiyu', question: '您胁肋部或乳房胀痛吗?', options: questionOptions }, + { id: 55, constitutionType: 'qiyu', question: '您无缘无故叹气吗?', options: questionOptions }, + { id: 56, constitutionType: 'qiyu', question: '您咽喉部有异物感吗?', options: questionOptions }, + + // 特禀质 (4题) + { id: 57, constitutionType: 'tebing', question: '您没有感冒时也会打喷嚏吗?', options: questionOptions }, + { id: 58, constitutionType: 'tebing', question: '您没有感冒时也会鼻塞、流鼻涕吗?', options: questionOptions }, + { id: 59, constitutionType: 'tebing', question: '您有因季节变化、温度变化或异味引起的咳嗽吗?', options: questionOptions }, + { id: 60, constitutionType: 'tebing', question: '您容易过敏(药物、食物、气味等)吗?', options: questionOptions } +] + +// 计算体质结果 +export function calculateConstitution(answers: Record): ConstitutionResult { + const types: ConstitutionType[] = ['pinghe', 'qixu', 'yangxu', 'yinxu', 'tanshi', 'shire', 'xueyu', 'qiyu', 'tebing'] + + // 统计各体质得分 + const typeScores: Record = {} as any + types.forEach(type => { + typeScores[type] = { total: 0, count: 0 } + }) + + constitutionQuestions.forEach(q => { + const answer = answers[q.id] || 3 + typeScores[q.constitutionType].total += answer + typeScores[q.constitutionType].count++ + }) + + // 计算转化分 + const scores: Record = {} as any + types.forEach(type => { + const { total, count } = typeScores[type] + if (count > 0) { + scores[type] = Math.round(((total - count) / (count * 4)) * 100) + } else { + scores[type] = 0 + } + }) + + // 确定主体质 + let primaryType: ConstitutionType = 'pinghe' + let maxScore = 0 + + // 平和质特殊判定 + if (scores.pinghe >= 60) { + const otherMax = Math.max(...types.filter(t => t !== 'pinghe').map(t => scores[t])) + if (otherMax < 30) { + primaryType = 'pinghe' + } else { + types.filter(t => t !== 'pinghe').forEach(type => { + if (scores[type] > maxScore) { + maxScore = scores[type] + primaryType = type + } + }) + } + } else { + types.forEach(type => { + if (type !== 'pinghe' && scores[type] > maxScore) { + maxScore = scores[type] + primaryType = type + } + }) + } + + const info = constitutionDescriptions[primaryType] + + return { + primaryType, + scores, + description: info.description, + suggestions: info.suggestions, + assessedAt: new Date().toISOString() + } +} diff --git a/web/src/mock/index.ts b/web/src/mock/index.ts new file mode 100644 index 0000000..4283505 --- /dev/null +++ b/web/src/mock/index.ts @@ -0,0 +1,4 @@ +export * from './user' +export * from './constitution' +export * from './chat' +export * from './products' diff --git a/web/src/mock/products.ts b/web/src/mock/products.ts new file mode 100644 index 0000000..f878083 --- /dev/null +++ b/web/src/mock/products.ts @@ -0,0 +1,69 @@ +import type { Product, ConstitutionType } from '@/types' + +// 模拟产品数据 +export const mockProducts: Product[] = [ + // 补气类 + { id: 1, name: '黄芪精口服液', category: '补气类', description: '补气固表', efficacy: '补气固表,增强免疫力', suitable: '气虚质、易疲劳人群', price: 68, imageUrl: '', mallUrl: 'https://mall.example.com/product/1' }, + { id: 2, name: '人参蜂王浆', category: '补气类', description: '补气养血', efficacy: '补气养血,改善疲劳', suitable: '气虚质、体力不足人群', price: 128, imageUrl: '', mallUrl: 'https://mall.example.com/product/2' }, + { id: 3, name: '西洋参含片', category: '补气类', description: '益气养阴', efficacy: '益气养阴,清热生津', suitable: '气虚质、气阴两虚人群', price: 98, imageUrl: '', mallUrl: 'https://mall.example.com/product/3' }, + + // 温阳类 + { id: 4, name: '鹿茸参精胶囊', category: '温阳类', description: '温肾壮阳', efficacy: '温肾壮阳,补气养血', suitable: '阳虚质、畏寒怕冷人群', price: 268, imageUrl: '', mallUrl: 'https://mall.example.com/product/4' }, + { id: 5, name: '桂圆红枣茶', category: '温阳类', description: '温中补血', efficacy: '温中补血,养心安神', suitable: '阳虚质、手脚冰凉人群', price: 45, imageUrl: '', mallUrl: 'https://mall.example.com/product/5' }, + + // 滋阴类 + { id: 6, name: '枸杞原浆', category: '滋阴类', description: '滋补肝肾', efficacy: '滋补肝肾,明目润肺', suitable: '阴虚质、眼睛干涩人群', price: 158, imageUrl: '', mallUrl: 'https://mall.example.com/product/6' }, + { id: 7, name: '即食燕窝', category: '滋阴类', description: '滋阴润肺', efficacy: '滋阴润肺,美容养颜', suitable: '阴虚质、皮肤干燥人群', price: 398, imageUrl: '', mallUrl: 'https://mall.example.com/product/7' }, + { id: 8, name: '铁皮石斛粉', category: '滋阴类', description: '滋阴清热', efficacy: '滋阴清热,养胃生津', suitable: '阴虚质、口干舌燥人群', price: 188, imageUrl: '', mallUrl: 'https://mall.example.com/product/8' }, + + // 祛湿类 + { id: 9, name: '红豆薏米粉', category: '祛湿类', description: '健脾祛湿', efficacy: '健脾祛湿,消肿利水', suitable: '痰湿质、湿热质', price: 39, imageUrl: '', mallUrl: 'https://mall.example.com/product/9' }, + { id: 10, name: '茯苓山药糕', category: '祛湿类', description: '健脾益气', efficacy: '健脾益气,祛湿止泻', suitable: '痰湿质、脾胃虚弱人群', price: 56, imageUrl: '', mallUrl: 'https://mall.example.com/product/10' }, + { id: 11, name: '清热祛湿茶', category: '祛湿类', description: '清热利湿', efficacy: '清热利湿,解毒消肿', suitable: '湿热质、口苦口干人群', price: 35, imageUrl: '', mallUrl: 'https://mall.example.com/product/11' }, + + // 活血类 + { id: 12, name: '三七粉', category: '活血类', description: '活血化瘀', efficacy: '活血化瘀,消肿止痛', suitable: '血瘀质、面色晦暗人群', price: 128, imageUrl: '', mallUrl: 'https://mall.example.com/product/12' }, + { id: 13, name: '丹参片', category: '活血类', description: '活血通经', efficacy: '活血化瘀,通经止痛', suitable: '血瘀质、易生斑点人群', price: 48, imageUrl: '', mallUrl: 'https://mall.example.com/product/13' }, + + // 理气类 + { id: 14, name: '玫瑰花茶', category: '理气类', description: '疏肝理气', efficacy: '疏肝理气,美容养颜', suitable: '气郁质、情绪低落人群', price: 38, imageUrl: '', mallUrl: 'https://mall.example.com/product/14' }, + { id: 15, name: '陈皮普洱茶', category: '理气类', description: '理气健脾', efficacy: '理气健脾,消食化痰', suitable: '气郁质、胸闷不适人群', price: 68, imageUrl: '', mallUrl: 'https://mall.example.com/product/15' }, + + // 抗敏类 + { id: 16, name: '益生菌粉', category: '抗敏类', description: '调节肠道', efficacy: '调节肠道,增强免疫', suitable: '特禀质、过敏体质人群', price: 98, imageUrl: '', mallUrl: 'https://mall.example.com/product/16' }, + { id: 17, name: '蜂胶软胶囊', category: '抗敏类', description: '抗菌消炎', efficacy: '抗菌消炎,增强体质', suitable: '特禀质、免疫力低下人群', price: 168, imageUrl: '', mallUrl: 'https://mall.example.com/product/17' }, + + // 心脑血管类 + { id: 18, name: '深海鱼油软胶囊', category: '心脑血管类', description: '调节血脂', efficacy: '辅助降血脂,保护心脑血管', suitable: '高血脂、动脉硬化人群', price: 128, imageUrl: '', mallUrl: 'https://mall.example.com/product/18' }, + { id: 19, name: '纳豆激酶胶囊', category: '心脑血管类', description: '溶解血栓', efficacy: '溶解血栓,改善血液循环', suitable: '中老年心脑血管亚健康人群', price: 198, imageUrl: '', mallUrl: 'https://mall.example.com/product/19' }, + + // 骨关节类 + { id: 20, name: '氨糖软骨素钙片', category: '骨关节类', description: '修复软骨', efficacy: '修复软骨,润滑关节,补充钙质', suitable: '关节疼痛、骨质疏松人群', price: 168, imageUrl: '', mallUrl: 'https://mall.example.com/product/20' }, + { id: 21, name: '液体钙维D软胶囊', category: '骨关节类', description: '补钙', efficacy: '补钙,促进钙吸收', suitable: '中老年人、骨质疏松人群', price: 78, imageUrl: '', mallUrl: 'https://mall.example.com/product/21' }, + + // 助眠类 + { id: 22, name: '褪黑素维生素B6片', category: '助眠类', description: '改善睡眠', efficacy: '改善睡眠,调节生物钟', suitable: '失眠、睡眠质量差人群', price: 68, imageUrl: '', mallUrl: 'https://mall.example.com/product/22' }, + { id: 23, name: '酸枣仁百合膏', category: '助眠类', description: '养心安神', efficacy: '养心安神,改善睡眠', suitable: '心烦失眠、多梦易醒人群', price: 58, imageUrl: '', mallUrl: 'https://mall.example.com/product/23' }, + + // 健脑类 + { id: 24, name: '银杏叶提取物片', category: '健脑类', description: '改善记忆', efficacy: '改善记忆力,促进脑部血液循环', suitable: '记忆力减退、脑供血不足人群', price: 98, imageUrl: '', mallUrl: 'https://mall.example.com/product/24' }, +] + +// 体质-产品关联 +const constitutionProductMap: Record = { + pinghe: [1, 2], + qixu: [1, 2, 3], + yangxu: [4, 5], + yinxu: [6, 7, 8], + tanshi: [9, 10], + shire: [9, 11], + xueyu: [12, 13, 18], + qiyu: [14, 15, 23], + tebing: [16, 17] +} + +// 根据体质获取推荐产品 +export function getProductsByConstitution(type: ConstitutionType): Product[] { + const productIds = constitutionProductMap[type] || [] + return mockProducts.filter(p => productIds.includes(p.id)) +} diff --git a/web/src/mock/user.ts b/web/src/mock/user.ts new file mode 100644 index 0000000..e57367c --- /dev/null +++ b/web/src/mock/user.ts @@ -0,0 +1,23 @@ +import type { User } from '@/types' + +// 模拟用户数据 +export const mockUser: User = { + id: 1, + phone: '13800138000', + nickname: '健康达人', + avatar: '', + surveyCompleted: true +} + +// 模拟登录 +export function mockLogin(phone: string, code: string): Promise { + return new Promise((resolve) => { + setTimeout(() => { + if (phone === '13800138000' && code === '123456') { + resolve(mockUser) + } else { + resolve(null) + } + }, 800) + }) +} diff --git a/web/src/router/index.ts b/web/src/router/index.ts new file mode 100644 index 0000000..15153a3 --- /dev/null +++ b/web/src/router/index.ts @@ -0,0 +1,76 @@ +import { createRouter, createWebHistory } from 'vue-router' +import { useAuthStore } from '@/stores/auth' + +const router = createRouter({ + history: createWebHistory(), + routes: [ + { + path: '/login', + name: 'Login', + component: () => import('@/views/auth/LoginView.vue'), + meta: { requiresAuth: false } + }, + { + path: '/', + component: () => import('@/views/layout/MainLayout.vue'), + meta: { requiresAuth: true }, + children: [ + { + path: '', + name: 'Home', + component: () => import('@/views/home/HomeView.vue') + }, + { + path: 'chat', + name: 'ChatList', + component: () => import('@/views/chat/ChatListView.vue') + }, + { + path: 'chat/:id', + name: 'ChatDetail', + component: () => import('@/views/chat/ChatDetailView.vue') + }, + { + path: 'constitution', + name: 'Constitution', + component: () => import('@/views/constitution/ConstitutionView.vue') + }, + { + path: 'constitution/test', + name: 'ConstitutionTest', + component: () => import('@/views/constitution/ConstitutionTestView.vue') + }, + { + path: 'constitution/result', + name: 'ConstitutionResult', + component: () => import('@/views/constitution/ConstitutionResultView.vue') + }, + { + path: 'profile', + name: 'Profile', + component: () => import('@/views/profile/ProfileView.vue') + }, + { + path: 'profile/health-record', + name: 'HealthRecord', + component: () => import('@/views/profile/HealthRecordView.vue') + } + ] + } + ] +}) + +// 路由守卫 +router.beforeEach((to, _from, next) => { + const authStore = useAuthStore() + + if (to.meta.requiresAuth && !authStore.isLoggedIn) { + next('/login') + } else if (to.path === '/login' && authStore.isLoggedIn) { + next('/') + } else { + next() + } +}) + +export default router diff --git a/web/src/stores/auth.ts b/web/src/stores/auth.ts new file mode 100644 index 0000000..ff874e9 --- /dev/null +++ b/web/src/stores/auth.ts @@ -0,0 +1,36 @@ +import { defineStore } from 'pinia' +import { ref, computed } from 'vue' +import type { User } from '@/types' + +export const useAuthStore = defineStore('auth', () => { + const user = ref(null) + const token = ref(localStorage.getItem('token')) + + const isLoggedIn = computed(() => !!token.value) + + function login(userData: User) { + user.value = userData + token.value = 'mock-token-' + userData.id + localStorage.setItem('token', token.value) + localStorage.setItem('user', JSON.stringify(userData)) + } + + function logout() { + user.value = null + token.value = null + localStorage.removeItem('token') + localStorage.removeItem('user') + } + + // 初始化时从 localStorage 恢复用户信息 + function init() { + const savedUser = localStorage.getItem('user') + if (savedUser && token.value) { + user.value = JSON.parse(savedUser) + } + } + + init() + + return { user, token, isLoggedIn, login, logout } +}) diff --git a/web/src/stores/chat.ts b/web/src/stores/chat.ts new file mode 100644 index 0000000..6f5327e --- /dev/null +++ b/web/src/stores/chat.ts @@ -0,0 +1,45 @@ +import { defineStore } from 'pinia' +import { ref } from 'vue' +import type { Conversation, Message } from '@/types' + +export const useChatStore = defineStore('chat', () => { + const conversations = ref([]) + + function addConversation(conv: Conversation) { + conversations.value.unshift(conv) + saveToStorage() + } + + function deleteConversation(id: string) { + conversations.value = conversations.value.filter(c => c.id !== id) + saveToStorage() + } + + function addMessage(convId: string, message: Message) { + const conv = conversations.value.find(c => c.id === convId) + if (conv) { + conv.messages.push(message) + conv.updatedAt = new Date().toISOString() + // 更新标题为第一条用户消息 + if (message.role === 'user' && conv.messages.filter(m => m.role === 'user').length === 1) { + conv.title = message.content.slice(0, 20) + (message.content.length > 20 ? '...' : '') + } + saveToStorage() + } + } + + function saveToStorage() { + localStorage.setItem('conversations', JSON.stringify(conversations.value)) + } + + function init() { + const saved = localStorage.getItem('conversations') + if (saved) { + conversations.value = JSON.parse(saved) + } + } + + init() + + return { conversations, addConversation, deleteConversation, addMessage } +}) diff --git a/web/src/stores/constitution.ts b/web/src/stores/constitution.ts new file mode 100644 index 0000000..ae87924 --- /dev/null +++ b/web/src/stores/constitution.ts @@ -0,0 +1,29 @@ +import { defineStore } from 'pinia' +import { ref } from 'vue' +import type { ConstitutionResult } from '@/types' + +export const useConstitutionStore = defineStore('constitution', () => { + const result = ref(null) + + function setResult(data: ConstitutionResult) { + result.value = data + localStorage.setItem('constitution_result', JSON.stringify(data)) + } + + function clearResult() { + result.value = null + localStorage.removeItem('constitution_result') + } + + // 初始化时从 localStorage 恢复 + function init() { + const saved = localStorage.getItem('constitution_result') + if (saved) { + result.value = JSON.parse(saved) + } + } + + init() + + return { result, setResult, clearResult } +}) diff --git a/web/src/style.css b/web/src/style.css new file mode 100644 index 0000000..f691315 --- /dev/null +++ b/web/src/style.css @@ -0,0 +1,79 @@ +:root { + font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/web/src/styles/index.scss b/web/src/styles/index.scss new file mode 100644 index 0000000..f99cd98 --- /dev/null +++ b/web/src/styles/index.scss @@ -0,0 +1,47 @@ +// 主题色 +$primary-color: #10B981; +$primary-light: #ECFDF5; +$danger-color: #EF4444; +$warning-color: #F59E0B; +$text-primary: #1F2937; +$text-secondary: #6B7280; +$text-hint: #9CA3AF; +$bg-color: #F3F4F6; +$border-color: #E5E7EB; + +// 全局样式 +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +html, body, #app { + height: 100%; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + color: $text-primary; + background-color: $bg-color; +} + +// Element Plus 主题覆盖 +:root { + --el-color-primary: #{$primary-color}; + --el-color-success: #{$primary-color}; +} + +// 通用类 +.page-container { + max-width: 1200px; + margin: 0 auto; + padding: 20px; +} + +.card { + background: #fff; + border-radius: 12px; + padding: 20px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} diff --git a/web/src/types/index.ts b/web/src/types/index.ts new file mode 100644 index 0000000..24c00e7 --- /dev/null +++ b/web/src/types/index.ts @@ -0,0 +1,60 @@ +// 用户类型 +export interface User { + id: number + phone: string + nickname: string + avatar: string + surveyCompleted: boolean +} + +// 体质类型 +export type ConstitutionType = + | 'pinghe' | 'qixu' | 'yangxu' | 'yinxu' | 'tanshi' + | 'shire' | 'xueyu' | 'qiyu' | 'tebing' + +// 体质问卷题目 +export interface ConstitutionQuestion { + id: number + constitutionType: ConstitutionType + question: string + options: { value: number; label: string }[] +} + +// 体质评估结果 +export interface ConstitutionResult { + primaryType: ConstitutionType + scores: Record + description: string + suggestions: string[] + assessedAt: string +} + +// 对话消息 +export interface Message { + id: string + role: 'user' | 'assistant' + content: string + createdAt: string +} + +// 对话 +export interface Conversation { + id: string + title: string + messages: Message[] + createdAt: string + updatedAt: string +} + +// 产品 +export interface Product { + id: number + name: string + category: string + description: string + efficacy: string + suitable: string + price: number + imageUrl: string + mallUrl: string +} diff --git a/web/src/views/auth/LoginView.vue b/web/src/views/auth/LoginView.vue new file mode 100644 index 0000000..1b77af8 --- /dev/null +++ b/web/src/views/auth/LoginView.vue @@ -0,0 +1,221 @@ + + + + + diff --git a/web/src/views/chat/ChatDetailView.vue b/web/src/views/chat/ChatDetailView.vue new file mode 100644 index 0000000..fedf8b5 --- /dev/null +++ b/web/src/views/chat/ChatDetailView.vue @@ -0,0 +1,328 @@ + + + + + diff --git a/web/src/views/chat/ChatListView.vue b/web/src/views/chat/ChatListView.vue new file mode 100644 index 0000000..691f8e2 --- /dev/null +++ b/web/src/views/chat/ChatListView.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/web/src/views/constitution/ConstitutionResultView.vue b/web/src/views/constitution/ConstitutionResultView.vue new file mode 100644 index 0000000..a4bdb90 --- /dev/null +++ b/web/src/views/constitution/ConstitutionResultView.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/web/src/views/constitution/ConstitutionTestView.vue b/web/src/views/constitution/ConstitutionTestView.vue new file mode 100644 index 0000000..ac903da --- /dev/null +++ b/web/src/views/constitution/ConstitutionTestView.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/web/src/views/constitution/ConstitutionView.vue b/web/src/views/constitution/ConstitutionView.vue new file mode 100644 index 0000000..68f8b62 --- /dev/null +++ b/web/src/views/constitution/ConstitutionView.vue @@ -0,0 +1,121 @@ + + + + + diff --git a/web/src/views/home/HomeView.vue b/web/src/views/home/HomeView.vue new file mode 100644 index 0000000..9b91e59 --- /dev/null +++ b/web/src/views/home/HomeView.vue @@ -0,0 +1,308 @@ + + + + + diff --git a/web/src/views/layout/MainLayout.vue b/web/src/views/layout/MainLayout.vue new file mode 100644 index 0000000..6862618 --- /dev/null +++ b/web/src/views/layout/MainLayout.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/web/src/views/profile/HealthRecordView.vue b/web/src/views/profile/HealthRecordView.vue new file mode 100644 index 0000000..fd2f84a --- /dev/null +++ b/web/src/views/profile/HealthRecordView.vue @@ -0,0 +1,183 @@ + + + + + diff --git a/web/src/views/profile/ProfileView.vue b/web/src/views/profile/ProfileView.vue new file mode 100644 index 0000000..b3090b1 --- /dev/null +++ b/web/src/views/profile/ProfileView.vue @@ -0,0 +1,220 @@ + + + + + diff --git a/web/tsconfig.app.json b/web/tsconfig.app.json new file mode 100644 index 0000000..8d16e42 --- /dev/null +++ b/web/tsconfig.app.json @@ -0,0 +1,16 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "types": ["vite/client"], + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] +} diff --git a/web/tsconfig.json b/web/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/web/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/web/tsconfig.node.json b/web/tsconfig.node.json new file mode 100644 index 0000000..8a67f62 --- /dev/null +++ b/web/tsconfig.node.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2023", + "lib": ["ES2023"], + "module": "ESNext", + "types": ["node"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/web/vite.config.ts b/web/vite.config.ts new file mode 100644 index 0000000..70b147f --- /dev/null +++ b/web/vite.config.ts @@ -0,0 +1,17 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import { fileURLToPath, URL } from 'node:url' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [vue()], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + } + }, + server: { + port: 5173, + host: true + } +})

  • B%Hp?Zwu7HcR!{>NLs{nbbvpiu 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 O)hcIQ%KJR^VWZ)oPi2SDQT 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%0DtbjX>WEY4G( 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%0D!nc9c(`{DfYHPVj^5`rE! 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