From 4768ef2d264c2144693180fcb78c10457f470687 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=BE=E5=90=8C=E5=AD=A6?= Date: Thu, 16 Oct 2025 20:01:57 +0800 Subject: [PATCH] init --- .gitignore | 22 ++ .npmrc | 4 + README.md | 221 ++++++++++++++++++ README.zh-CN.md | 221 ++++++++++++++++++ build/extraResources/chromeExtension/read.txt | 1 + build/extraResources/read.txt | 1 + build/icons/256x256.png | Bin 0 -> 56698 bytes build/icons/32x32.png | Bin 0 -> 2893 bytes build/icons/512x512.png | Bin 0 -> 172621 bytes build/icons/64x64.png | Bin 0 -> 10079 bytes build/icons/favicon.ico | Bin 0 -> 21678 bytes build/icons/icon.ico | Bin 0 -> 262206 bytes build/script/installer.nsh | 0 cmd/bin.js | 199 ++++++++++++++++ cmd/builder-linux.json | 40 ++++ cmd/builder-mac-arm64.json | 38 +++ cmd/builder-mac.json | 38 +++ cmd/builder.json | 50 ++++ electron/config/config.default.ts | 66 ++++++ electron/config/config.local.ts | 14 ++ electron/config/config.prod.ts | 9 + electron/controller/cross.ts | 63 +++++ electron/controller/effect.ts | 63 +++++ electron/controller/example.ts | 16 ++ electron/controller/os.ts | 167 +++++++++++++ electron/jobs/example/hello.ts | 10 + electron/jobs/example/timer.ts | 98 ++++++++ electron/main.ts | 19 ++ electron/preload/bridge.ts | 16 ++ electron/preload/index.ts | 21 ++ electron/preload/lifecycle.ts | 70 ++++++ electron/service/cross.ts | 144 ++++++++++++ electron/service/effect.ts | 23 ++ electron/service/example.ts | 21 ++ electron/service/job/user.ts | 19 ++ electron/service/os/auto_updater.ts | 177 ++++++++++++++ electron/service/os/icon.js | 15 ++ electron/service/os/security.ts | 31 +++ electron/service/os/tray.ts | 81 +++++++ electron/service/os/window.ts | 131 +++++++++++ frontend/.editorconfig | 14 ++ frontend/.env.development | 4 + frontend/.env.production | 3 + frontend/.gitignore | 6 + frontend/index.html | 105 +++++++++ frontend/package.json | 38 +++ frontend/src/App.vue | 15 ++ frontend/src/api/index.ts | 84 +++++++ frontend/src/assets/global.less | 15 ++ frontend/src/assets/login.png | Bin 0 -> 10404 bytes frontend/src/assets/logo.png | Bin 0 -> 22026 bytes frontend/src/assets/theme.less | 17 ++ frontend/src/components/global/iconFont.ts | 22 ++ frontend/src/components/global/index.ts | 19 ++ frontend/src/layouts/AppSider.vue | 112 +++++++++ frontend/src/layouts/index.ts | 5 + frontend/src/main.ts | 30 +++ frontend/src/router/index.ts | 9 + frontend/src/router/routerMap.ts | 21 ++ frontend/src/types/env.d.ts | 12 + frontend/src/types/pinia.d.ts | 0 frontend/src/types/shim.d.ts | 0 frontend/src/types/source.d.ts | 7 + frontend/src/utils/iconList.ts | 27 +++ frontend/src/utils/ipcRenderer.ts | 39 ++++ frontend/src/utils/rsa.ts | 47 ++++ frontend/src/views/activate/index.ts | 56 +++++ frontend/src/views/activate/index.vue | 205 ++++++++++++++++ frontend/tsconfig.json | 35 +++ frontend/vite.config.ts | 54 +++++ package.json | 50 ++++ public/html/loading.html | 94 ++++++++ public/html/view_example.html | 22 ++ public/images/logo-32.png | Bin 0 -> 2893 bytes public/images/logo.png | Bin 0 -> 22026 bytes public/images/tray.png | Bin 0 -> 943 bytes public/ssl/localhost+1.key | 28 +++ public/ssl/localhost+1.pem | 26 +++ tsconfig.json | 28 +++ 79 files changed, 3358 insertions(+) create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 README.md create mode 100644 README.zh-CN.md create mode 100644 build/extraResources/chromeExtension/read.txt create mode 100644 build/extraResources/read.txt create mode 100644 build/icons/256x256.png create mode 100644 build/icons/32x32.png create mode 100644 build/icons/512x512.png create mode 100644 build/icons/64x64.png create mode 100644 build/icons/favicon.ico create mode 100644 build/icons/icon.ico create mode 100644 build/script/installer.nsh create mode 100644 cmd/bin.js create mode 100644 cmd/builder-linux.json create mode 100644 cmd/builder-mac-arm64.json create mode 100644 cmd/builder-mac.json create mode 100644 cmd/builder.json create mode 100644 electron/config/config.default.ts create mode 100644 electron/config/config.local.ts create mode 100644 electron/config/config.prod.ts create mode 100644 electron/controller/cross.ts create mode 100644 electron/controller/effect.ts create mode 100644 electron/controller/example.ts create mode 100644 electron/controller/os.ts create mode 100644 electron/jobs/example/hello.ts create mode 100644 electron/jobs/example/timer.ts create mode 100644 electron/main.ts create mode 100644 electron/preload/bridge.ts create mode 100644 electron/preload/index.ts create mode 100644 electron/preload/lifecycle.ts create mode 100644 electron/service/cross.ts create mode 100644 electron/service/effect.ts create mode 100644 electron/service/example.ts create mode 100644 electron/service/job/user.ts create mode 100644 electron/service/os/auto_updater.ts create mode 100644 electron/service/os/icon.js create mode 100644 electron/service/os/security.ts create mode 100644 electron/service/os/tray.ts create mode 100644 electron/service/os/window.ts create mode 100644 frontend/.editorconfig create mode 100644 frontend/.env.development create mode 100644 frontend/.env.production create mode 100644 frontend/.gitignore create mode 100644 frontend/index.html create mode 100644 frontend/package.json create mode 100644 frontend/src/App.vue create mode 100644 frontend/src/api/index.ts create mode 100644 frontend/src/assets/global.less create mode 100644 frontend/src/assets/login.png create mode 100644 frontend/src/assets/logo.png create mode 100644 frontend/src/assets/theme.less create mode 100644 frontend/src/components/global/iconFont.ts create mode 100644 frontend/src/components/global/index.ts create mode 100644 frontend/src/layouts/AppSider.vue create mode 100644 frontend/src/layouts/index.ts create mode 100644 frontend/src/main.ts create mode 100644 frontend/src/router/index.ts create mode 100644 frontend/src/router/routerMap.ts create mode 100644 frontend/src/types/env.d.ts create mode 100644 frontend/src/types/pinia.d.ts create mode 100644 frontend/src/types/shim.d.ts create mode 100644 frontend/src/types/source.d.ts create mode 100644 frontend/src/utils/iconList.ts create mode 100644 frontend/src/utils/ipcRenderer.ts create mode 100644 frontend/src/utils/rsa.ts create mode 100644 frontend/src/views/activate/index.ts create mode 100644 frontend/src/views/activate/index.vue create mode 100644 frontend/tsconfig.json create mode 100644 frontend/vite.config.ts create mode 100644 package.json create mode 100644 public/html/loading.html create mode 100644 public/html/view_example.html create mode 100644 public/images/logo-32.png create mode 100644 public/images/logo.png create mode 100644 public/images/tray.png create mode 100644 public/ssl/localhost+1.key create mode 100644 public/ssl/localhost+1.pem create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c81d9e0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +node_modules +out/ +logs/ +runtime/ +.idea/ +package-lock.json +data/ +.vscode/launch.json +public/electron/ +public/dist/ +pnpm-lock.yaml +.yalc/ +yalc.lock +go/tmp/ +build/extraResources/java-app.jar +build/extraResources/jre1.8.0_201/ +python/.venv/ +python/*.spec +python/build/ +python/dist/ +*DS_Store +yalc.lock diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..00023c9 --- /dev/null +++ b/.npmrc @@ -0,0 +1,4 @@ +registry=https://registry.npmmirror.com/ +disturl=https://registry.npmmirror.com/-/binary/node +electron_mirror=https://npmmirror.com/mirrors/electron/ +electron-builder-binaries_mirror=https://registry.npmmirror.com/-/binary/electron-builder-binaries/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..61f2410 --- /dev/null +++ b/README.md @@ -0,0 +1,221 @@ +[![star](https://gitee.com/dromara/electron-egg/badge/star.svg?theme=gvp)](https://gitee.com/dromara/electron-egg/stargazers) + +
+

🎉🎉🎉 ElectronEgg V4 已发布! 🎉🎉🎉

+
+
+ +
+ +
+ +
+

一个入门简单、跨平台、企业级桌面软件开发框架

+
+
+ + + +## 📋 介绍 + +> 框架已经广泛应用于记账、政务、企业、医疗、学校、股票交易、ERP、娱乐、视频等领域客户端,请放心使用! + +## 👦 谁可以使用 + +项目已经有 5 个交流群,覆盖`前端`、`java`、`go`、`python`、`php` 等开发者。 + +无论你是前端、服务端、运维、游戏、客户端等,都可以很快入门, + +## 🐶 精彩案例 + +- [**点击查看**](#项目案例) + +## 📺 特点 +- 🍩 **为什么使用?** 桌面软件(办公方向、 个人工具),仍然是未来十几年PC端需求之一,提高工作效率 +- 🍉 **简单:** 只需懂 JavaScript +- 🍑 **愿景:** 所有开发者都能学会桌面软件研发 +- 🍰 **gitee:** https://gitee.com/dromara/electron-egg **5100+** +- 🍨 **github:** https://github.com/dromara/electron-egg **1800+** +- 🏆 码云最有价值开源项目 + ![](./public/images/example/ee-zs.png) + +## 📚 文档 +- 快速体验:[教程文档](https://www.kaka996.com/) + ![](./public/images/example/v3-home.png) + +## 📦 特性 +1. 🍄 跨平台:一套代码,可以打包成windows版、Mac版、Linux版、国产UOS、Deepin、麒麟等 +2. 🌹 架构:单业务进程/模块化/多任务(进程,线程,渲染进程),让开发大型项目变的简单。 +3. 🌱 简单高效:只需学习 js 语言 +4. 🌴 前端独立:理论上支持任何前端技术,如:vue、react、html等等 +5. 🍁 工程化:可以用前端、服务端的开发思维,来编写桌面软件 +6. 🌷 高性能:事件驱动、非阻塞式IO +7. 🌰 功能丰富:配置、通信、插件、数据库、升级、打包、工具... 应有尽有 +8. 💐 安全:支持字节码加密、压缩混淆加密 +9. 🌻 功能demo:桌面软件常见功能,框架集成或提供demo + +## ✈️ 使用场景 + +### 1. 🚀 常规桌面软件 +- 🚖 windows平台 + + ![](./public/images/example/ee-win-home.png) + +- 🚍 macOS平台 + ![](./public/images/example/ee-mac-home.png) + +- 🚔 linux平台 - 国产UOS、Deepin + ![](./public/images/example/uos-home.png) + +- 🚔 linux平台 - ubuntu + ![](./public/images/example/ubuntu-db.png) + +### 🚐 2. vue、react、angular、web 转换成桌面软件 +- 🚙 vue-ant-design(本地) + + ![](./public/images/example/vue-antd.png) + +- 🚙 禅道项目管理(web项目地址) + + ![](./public/images/example/ee-project-7.png) + +### 🚂 3. 游戏(h5相关技术开发) +- 🚊 忍者100层 + + ![](./public/images/example/ee_game_1.png) + + +## 📒 开始使用 + +- ✒️ [安装文档](https://www.kaka996.com/pages/e64ff6/) + +## 项目案例 +- 🐟 框架已经应用于医疗、学校、政务、股票交易、ERP、娱乐、视频、企业等领域客户端 + +### 🐸 远控 + +- RQ Center +![](./public/images/example/rq-1.png) +![](./public/images/example/rq-2.png) + +### 🐸 云盘 + +- FM Cloud +![](./public/images/example/fm-p2.png) +![](./public/images/example/fm-p1.png) +![](./public/images/example/fm-p4.png) + +### 🐸 IM + +- Cede IM +![](./public/images/example/im-p1.png) +![](./public/images/example/im-p5.png) +![](./public/images/example/im-p1.png) + +### 🐸 壁纸 + +- warpar +![](./public/images/example/aw-3.png) + +### 🐸 英雄联盟助手 + +- Serendlplty +![](./public/images/example/lol-zhanji.png) + +### 🐸 更多 + +- [更多案例](https://www.kaka996.com/pages/eadf46/) + +## 💬 交流 +1. [讨论](https://www.kaka996.com/pages/c2720e/) + +## 📌 关于pr +请前往[GitHub项目](https://github.com/dromara/electron-egg)提pr(避免代码同步后,pr被覆盖掉),感谢! + +地址:https://github.com/dromara/electron-egg + +## 📔 框架核心包 ee-core +ee-core:[https://github.com/wallace5303/ee-core](https://github.com/wallace5303/ee-core) + +## 📚 Dromara 成员项目 + +

+ + + + + + + + + + + + + + + + + + +

+

+ + + + + + + + + + + + + + + + + + +

+

+ + + + + + + + + + + + + + + + + + +

+

+ + + + + + + + + + + + + + + + + + +

\ No newline at end of file diff --git a/README.zh-CN.md b/README.zh-CN.md new file mode 100644 index 0000000..61f2410 --- /dev/null +++ b/README.zh-CN.md @@ -0,0 +1,221 @@ +[![star](https://gitee.com/dromara/electron-egg/badge/star.svg?theme=gvp)](https://gitee.com/dromara/electron-egg/stargazers) + +
+

🎉🎉🎉 ElectronEgg V4 已发布! 🎉🎉🎉

+
+
+ +
+ +
+ +
+

一个入门简单、跨平台、企业级桌面软件开发框架

+
+
+ + + +## 📋 介绍 + +> 框架已经广泛应用于记账、政务、企业、医疗、学校、股票交易、ERP、娱乐、视频等领域客户端,请放心使用! + +## 👦 谁可以使用 + +项目已经有 5 个交流群,覆盖`前端`、`java`、`go`、`python`、`php` 等开发者。 + +无论你是前端、服务端、运维、游戏、客户端等,都可以很快入门, + +## 🐶 精彩案例 + +- [**点击查看**](#项目案例) + +## 📺 特点 +- 🍩 **为什么使用?** 桌面软件(办公方向、 个人工具),仍然是未来十几年PC端需求之一,提高工作效率 +- 🍉 **简单:** 只需懂 JavaScript +- 🍑 **愿景:** 所有开发者都能学会桌面软件研发 +- 🍰 **gitee:** https://gitee.com/dromara/electron-egg **5100+** +- 🍨 **github:** https://github.com/dromara/electron-egg **1800+** +- 🏆 码云最有价值开源项目 + ![](./public/images/example/ee-zs.png) + +## 📚 文档 +- 快速体验:[教程文档](https://www.kaka996.com/) + ![](./public/images/example/v3-home.png) + +## 📦 特性 +1. 🍄 跨平台:一套代码,可以打包成windows版、Mac版、Linux版、国产UOS、Deepin、麒麟等 +2. 🌹 架构:单业务进程/模块化/多任务(进程,线程,渲染进程),让开发大型项目变的简单。 +3. 🌱 简单高效:只需学习 js 语言 +4. 🌴 前端独立:理论上支持任何前端技术,如:vue、react、html等等 +5. 🍁 工程化:可以用前端、服务端的开发思维,来编写桌面软件 +6. 🌷 高性能:事件驱动、非阻塞式IO +7. 🌰 功能丰富:配置、通信、插件、数据库、升级、打包、工具... 应有尽有 +8. 💐 安全:支持字节码加密、压缩混淆加密 +9. 🌻 功能demo:桌面软件常见功能,框架集成或提供demo + +## ✈️ 使用场景 + +### 1. 🚀 常规桌面软件 +- 🚖 windows平台 + + ![](./public/images/example/ee-win-home.png) + +- 🚍 macOS平台 + ![](./public/images/example/ee-mac-home.png) + +- 🚔 linux平台 - 国产UOS、Deepin + ![](./public/images/example/uos-home.png) + +- 🚔 linux平台 - ubuntu + ![](./public/images/example/ubuntu-db.png) + +### 🚐 2. vue、react、angular、web 转换成桌面软件 +- 🚙 vue-ant-design(本地) + + ![](./public/images/example/vue-antd.png) + +- 🚙 禅道项目管理(web项目地址) + + ![](./public/images/example/ee-project-7.png) + +### 🚂 3. 游戏(h5相关技术开发) +- 🚊 忍者100层 + + ![](./public/images/example/ee_game_1.png) + + +## 📒 开始使用 + +- ✒️ [安装文档](https://www.kaka996.com/pages/e64ff6/) + +## 项目案例 +- 🐟 框架已经应用于医疗、学校、政务、股票交易、ERP、娱乐、视频、企业等领域客户端 + +### 🐸 远控 + +- RQ Center +![](./public/images/example/rq-1.png) +![](./public/images/example/rq-2.png) + +### 🐸 云盘 + +- FM Cloud +![](./public/images/example/fm-p2.png) +![](./public/images/example/fm-p1.png) +![](./public/images/example/fm-p4.png) + +### 🐸 IM + +- Cede IM +![](./public/images/example/im-p1.png) +![](./public/images/example/im-p5.png) +![](./public/images/example/im-p1.png) + +### 🐸 壁纸 + +- warpar +![](./public/images/example/aw-3.png) + +### 🐸 英雄联盟助手 + +- Serendlplty +![](./public/images/example/lol-zhanji.png) + +### 🐸 更多 + +- [更多案例](https://www.kaka996.com/pages/eadf46/) + +## 💬 交流 +1. [讨论](https://www.kaka996.com/pages/c2720e/) + +## 📌 关于pr +请前往[GitHub项目](https://github.com/dromara/electron-egg)提pr(避免代码同步后,pr被覆盖掉),感谢! + +地址:https://github.com/dromara/electron-egg + +## 📔 框架核心包 ee-core +ee-core:[https://github.com/wallace5303/ee-core](https://github.com/wallace5303/ee-core) + +## 📚 Dromara 成员项目 + +

+ + + + + + + + + + + + + + + + + + +

+

+ + + + + + + + + + + + + + + + + + +

+

+ + + + + + + + + + + + + + + + + + +

+

+ + + + + + + + + + + + + + + + + + +

\ No newline at end of file diff --git a/build/extraResources/chromeExtension/read.txt b/build/extraResources/chromeExtension/read.txt new file mode 100644 index 0000000..57b4b84 --- /dev/null +++ b/build/extraResources/chromeExtension/read.txt @@ -0,0 +1 @@ +chrome应用商店ctx文件,解压后,放置在此目录中,打包时会将资源加入安装包内。 \ No newline at end of file diff --git a/build/extraResources/read.txt b/build/extraResources/read.txt new file mode 100644 index 0000000..e20ade3 --- /dev/null +++ b/build/extraResources/read.txt @@ -0,0 +1 @@ +建议第三方软件放置在此目录中,打包时会将资源加入安装包内。 \ No newline at end of file diff --git a/build/icons/256x256.png b/build/icons/256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..a78f067932be69e321341477745de8d0ba4d596e GIT binary patch literal 56698 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

KCb(hqLo^o<+3 z_B02-h5w5H?&=c2?!Z!Lg^b_MWQ zbLd;>-z9)QKmZa5Ah_cT;DvpL{DCu!k#t(j1FsKBon{|OzsI7 za0vpqEQF)a5Lh9fUghZ%0qiwfviR(>E%31jypS(0VGqI;ISsxlGx6i)CYl{2rRzBj z6p8LQH3)7!E2%}$`kF}JaVZ&?)#rOAfqQyyKl);2b$;+Z13%NSc4{> zZS*stwSqPI>Z746yK<(Mq+#CjV7v^&*~GNwP)(LPb9*2%|F>j@SD9-gDyR(I3zGrZ6-ryeoV*f zZV44M_(%%a2JKJb+-|gEHTHEnv^@ z*e~W*%fI?X$($8tKui-wrLiMX=@_LKelEig`pVh!DfVK38JRybuT=5CRD3oC0_W z8$yHvc)?vmui~=v>&pt$^56ej0PhKS|9>EWkI!n*)U$-!`fPO@S$OV=E0ZBdQ%nM2k0XvI(c4GRZ~t&h@MWz6cm$X6 zmau#KK8MYrzs~~p{LcMiZtD`j?HC zApBhd=nMkr)`6@EP!bcz;p=U*A6Ox z{w`dFfXc^QxcaAD)nrM3G-~+ZjFtxDc(B1id@H{MAgGue6mbDTy+~Gk4Bo@JgF^lV z-VyLG98dQCc`@&u@pg{m< zw@F=Bc4_2aCXC<0* zRMX?2{~;Ob^ij@>65keBd2b)qm*0ZE;2uog-nHKvwzPMvhgL+d=9zp;db*)i_ikQ9 z4|MA3;i9slJ8RtGq!hDVE{3)0ws~M@wP3ct+8lU<+qA@IiKxCmzumB#&gK(f3Oj4p zEo5<=n1wOzEcu0rVS%3$Yz^DYGNE<$g~d+i9|^AkA6JGhpdlV!9cUP@<6 zR8&IduDOi@elG#Y5qL{j55Fqx^GU#yLkR!OOKCLWWCFVO#$ba^Ek=AZj~}eD5P-T_ z0%jh?^9K&|R`dbA5AX=QHEbh~EdlgowfyeZ^k4#TzEdhLjpbf_|VCN733V@E6(z?hxa!!)b z(Oe}(DmW@_z5@8O1ivDQE5N(PNPl}I0ZB%oDSYIEo<=@LMf06K^O9>?h{ zuOC*>Ky=g{5@hTY0{Hes5v>WYp=0?f3YKz|i2#=W$pS#-G3B5Jz$vzz1|N!{kFc}v zMYlA1+M}pT0Dlz$%)x8319W!woj?G%->+%IP|F^f1f;B^B>(^*07*naRD=R}!bOWM zs8ZYp$Z1&c|6c%~{14^;{u2Sb*DL^b$#2QK7jP8WX(oVbx>lp3B-Z4EU4GjL{~sX$ zcK^?g>Z-tjG<}6vRBhMynPG-Tx*O?6x`zfqP>_;tq+3cDx^kcOeV6_6Yn zgc}Cw{^t4CdjEm5&f4c(JASb*`f}mFj&V8^1X5(0IufcgvqAs%tx|9U!C_5baGRjI ze^U^bYA6#+#l8PQMmG<%pyfnebDo@v>(;h|%Dph{4zx;QijfnZ)0GSyGQ*A0FH6{h zQmK;gRv~QjU`uJG+R|y}9!eWLk-yKDB{-W7fD$}mzmc4B+)xWGkc0K-$DYclTL0LP zMTv#q7osKtDEx%n3%B9jV0H*Lmi5g-IN_vK%Rfb&xd-Q=wl`{A>K2&J2jkghK+BVurd(LqRE)r?iE(IqXoKR+V(>#{y$bx`oFe?wA;e+b@%pO1IH?dp+O zATmJ5uqyUwVs9ityCcJAiK|I+ecrVKU%je!30>)&`?FfF-b`FfPZi39Ow_cSP zpFJpVF);5veW&g0h}_4$x$&{%u_&ly4Jv%Tm^r7OCWWzrPzXqUp`6Wqs?IB;F(3OX z4?^|g{B~no;bJ$6O3QOs8EMHZLdE?26Yajs=Zq(%JdTTH!GXja=Q3Nm3Mt3@;`Afe zS4Yo$wtgo_BEP{|tzr9ltbp2EM23v6zmv$v8R{P+E z$oyqJfvlnn^nFOF>rUiCQ92$F_P?nm%q)1Ix0+5-pmF0BC70|vCMb^_4{3qjP9*m1 zk#zlMqz2NL_KpH{hY=Qv(e1u|ZV#%R3iWOM{t3iU;fND>kM)a&6IAZdSNtGOqZFF4 z80_*BWxKMb3FzuM3l*PYKYqq%<2&UleRr`ltu!&-?fyj`GId*|jjxJYy{)n$X{HXN zoGAdzyJnPY%-uE#8dSSRF*Lokbt6}E-1w~z^JqdjK()zoDq!42Vt7*HJ-YXl1N#q^ zo#G+Au`N#txHSGswtl`jg}h8yN|y1VYfTjHH@Kp(+7O6aUC38TY0bEQ3r6=5{nb53 z(!?A5ARinUCp@GL-x>rTd^bPc=0KLO2o&ahWv%)CbNX?T1O^R!k~c9sH5^R;LN;H6 z@i4Z8GT$5JezS{>Y~-A?D`1h zO`3Bb&dwaw!l5GfOSWl3&YJ)zTi3gi;gR6B>IinLqVaGI7^D zoNDdJjLC8HGi>xqZ_9C8<0?g!yiNS?U?xo^AA(GoB zlos5}r+KoN?L6KHpHMy0)ueF=p zLCJH=J4Rs$!}z_r)Tqv}c(*UJ0SSE#Jn+P>0>J(e3PB+*Xzt)X!Jt|m_}jg^AhDW) zcn=@Hdq!3`IJlSv@A*m81UaYU)cWh$y~oWk)<8ztdj=I*6?fC($8|7}a>Vm_H`#FN z9W#N5oQihIhMfpD*z%4_SBEjLqEtMYa@vHb`(Aox@5nX4XE0;tf9DLy{I=w@H=h1O zn;Fh#IJ>W!KSOpSwaLf>`0>1i$AwM3NnWlcw3p{-ZN%?-!ClaCkmlnNvVJ@iJ|p1 zO*rr>@Kr!~7?HvtIdF7&pzLDsdx-?mp#>B?yV=*FfN#?w>c_nS`4XZ%H7&@qPD%Y2 zJk<_*a>>7)To~>{-9f)Z*TA)?%sOFAW;h0?Vorc$VTeL#mj%&7%BB6Ru-or51Va?( zUE(TwqI@&}nv?(?23}QTPYoU&Ywe;MXR!`{5lWJ;U*f)by)pRCY)HoQnIhI;`_%D) zTd5|RhOWZ^1H`mU%l+c=p7#p>!cV~GnB2MmV~+%O@C;e`WR<9N7t`(=mG7VbXmf|s zmc)kk3;2GY5l*U_f{=$@09`#4^X78|O2`LK%59tndv_GO>BH_Ml}fwENUWvFDM>9G zd{^7+>`X(6M<*;(+ez@iLXENTtGLji4_DRsXqgOlkpdI&$DIf;p{~_OR;UbGYM#L` zK_8!91sGiK2Z`xhqr(9BFblXAeiT9 zF-uKWob2h@oR3ZYy)$lquj;1PP_b%ye$D$_>Z#{djyk#H*!W1j8vkmMPF*}JnRv#^634?ax%65z7W1vERc33 zJDJgV+Hv@HoCn#MKG*)F;6gbmyu9E>ymvL^Uu1^49BX;z6E4)(qHhwn?ly2^;1IWH zVnYnU3Y4_q)w2DEgP6l)rhnsaQY>DZWS1AM8xCa7m=Tvq$KgDC0P0+ zn5ob#>ccCk&KjTP-4g2I0yjLmz3llEbpWO9_xx(p~VfU~4>n*Ae^MQCMwf`AMUnBoA5rEN)X^PR-Y?=W6 z2nIj?a7g@D3t>X*xc>@P8o!9%ETLKKh0k<~ZZ{U#2n}YSiFO>kcaUebVP5VNNN311 z+xy&+F`4c3>--G0OBzD5ra{v1dBW!Rw^!S|f$wzCUJbr922)C<_j7C!r3P6>2>ti~wzoj8&e8JDk(dQ_ee5#6k1? z(H=O+iqa0&FhrQa3FzoX*0p)(Aq4b9Y}#E{^v~bpxM$Q zmcLE{o6i zn{J>fY6+Dn;(AjRj(?>hhyLJ>CV?b|<=>JJ%O0*z4CX1AY`Lsw-K(5ARIjy6rdtp3 zFGMUNfa(n=Buh?qD_Mo3fjUl-V%zyG9SItGZ-FvZkk+Xhtc`z8=B+a^(`hQHJZ*fc zOS7kRRz^8(XbC(y41S0#FegGKa^!yARhIGW;oQjHl#va}tKZlsr8|#Nj+F6QhNaLs zZ+^C+lZ|1gTw~xbt0BzHrHcJAum2TesGbX$o5G0k#1+b4a3&bM30&I4<9EUY=b!@c zP@TZo!{p_7IjBu(k6@mx)%)Gkl{%9}+@O$p+BbG>B}>)P4oOKG2sg*yu1$un1d9#t zyv4AQFGp*H8j(N4egCe^*%Gv#`K%eK$%?&hnt888uo8ZH!C=m)LRgjZIYzuMi-F^2 zdrGQ7K>Ah9L+D{XmXX2kbxarG%ViUrWlvi%jdb>Lksz_RId{1Y)UIhisb9Q?nc`C( z$$A`kF1`t_b~$L*ZvjRj%jV> z(2#RdF5+0)X~8p9#v@mi*wuyGkt7yvX(%|-*0KgB+xp5i_L~CsjA8BLyCsMq98^;( z1ZwZv=U!d;$b0g{Q^KDjGhxIn7x;I5YQFLKE)iVom(q`y@cz&Fy9|&3xT}ca#8Zz5 zUH}%%Eig_A38df+u(03&!qm@jh!bTCBBABNwX$vay!UVp9gI%atQy$@w(TsUwAf2A zHDuWSppb1K6V7)BD)}Q>(MlEIT?8QI!FPHrzAg41gn}Ubx9(h}L9x{e)A(flPyaC| zGu9Ua1#dj)2vM;sc~GW3Nl}Qvvs3ruLU{l5pM?xRf@Np~jHJ6O*<)kecPCwkb)!aJ z#cD4RhVO;zNQ_wFgeS|e$klO`8)I9hneaNG^q-T$-CKaZpM~GwKvO-Hk&2v=sAJ~5NNN?N@$0aslJl0^pTc8yP+Nk- zjF&HN`S1{JEqF{=UOwsGwB&H?s~Ga-P&D0D2=<372skWE;=oiH9~Q8<;PQGvs5RHP=h>{ zf3kw8oqvh211mE$P#0oz-HFZzUA-*S?6|-)JLc?R$?u9fsS`3(>p;KiU12nDPtxnv?>rBTS6gYBv>a3E0ugqD%W+m=~r!OL}sfBU%I^_)lHXh%PzlFE=$tzs?nm4O>Ye5el>GdM{>JJoyDP(0!w3 z(AU`A?RlTG76jLvO$=+o@_5_jVp~{&gZ9yk^~=q_&`-F^wLHYqj}4HQ&*MzfUv=xS zpL}<*=n<`E*6i&fbm%@=`p;pYWOU5P$NsuHOu{GI zlh}+y?SmeH;ON?Ke(aUOARB~jXnWVX2>Xez<#@m86{TT!Q!QAokEhG@=HYW5u8Ssr zH?9HE!~08WeBXaXkUK$3KQhd5xul1B?cQa68hbzMEG&)-ZeqRQ|9%~~gPdgXU z(w2T92JN}t|4!U-lcyz+*i(x8Le{sNn*^|LZ+#!0sL#p+OWLQWO~;-7VO;wV(PVbL z<$&zcFqeg#Etw`g;NA#*y>-_U_Nd4SG5J1ih{HCuTh6V=8Md02<~`Yp8R#W7QFPw# z@2MwKP!54iram4eBdQm8OJ4$&PM=trINvG*EDO$!AHG1dS!m+_*~S)%Cnv~-#%~iZ zJSAoPuQ^^V!yGBsuiRkrD)A?arCo!SxMl7qm3fte?S98?m*>t77k0c_&pwZa+s@Ik zYNkis2(!Gxz?pV* zorm$XdGARvJmR;qwJP1$B#)*@D!||i}B)F zpP+Z-5wP7jHCy+$+V^a4i*+$ z5fH5h2neDq1fL@}t6nVxGvf_^`Ymn-Kvi*mz2b!+zPH$wpPtN{8J-LuvC3=&L+>-# z?-POQlmW<;omD&zJ!R>}bmNJCfC-)XGEL0-RzDx6xxK=S<;4YI7HwRJH_LSBDs@N@ z&Aol$_i}k+T}Rh<6d4x;4L?)90E%32%QGSp|J))9g^J zYPt|Frg}Q8A3U}46=1h0(S?y&M9NVnYGlN+y;%fXfKNJXo->?*^r_Vjk<~{yej7>^ z;?ctyhMCgO! ztj=1Hpt>T2!KCYZ)ZjG5E4!hbXo5hyrS{rnTE)SC#={C}nt9WlJ znZg>7x6bF|O0?;q38#{nYB%B?B}2ag!(&QmhWZ+Vwop5G2wGc6R}2v=|Fl6%;h;fM z1l%kHbdSk3r~u;{Kz=zM$X4@DC>M@8sNJjfrv^5x0E6hxQwdCm@uN03-ECvUsf>xQ zISSmY4&o&NTcSdT0w5U1PD|-v$6Fq#WlOs{uD@i)L{#vxj#wHi4zlq@<_S&8&7+S- zPi3tSZ_-3R=G=eB>fd@MemNcPy#BSaPrfjsT4qQ2Z@q7zV0w@=TTnJeP6h`*i(Ubg zr$~$W-XsQdk%$@2Kn8n<8TzgSIHKN-8DwYZ6PJGKfpq#zcBcr5`7!GGAr2uG2{Dyq zT&L1e9~H3e9Z0Xi_=s@k(Js2T?L1vN&0k~Ik|N0ZjR$*?0Jv2EUjKa3TfV-U=+ip0 z$cvY+)alcd7C!kFN=_MJu;KZnnQkaf#0xXE(}b!L-;M3kX(|R(qhj$8`aJL-MUgZI za&9_F9MmCZ+FSH{pQ>4^q(F{G7}en{HJ8t$=wT&Vjrz&|sXON>xLNf@V<5MLJ6Jio z>rGS!!2j{J6&J?wI6>yrTThx+K8;UP0=u#@FaAEG=lGy-I^hbo>+4!8e28?HfE zVOIFRxbX=RDX=A-vQ!h0d3MXnkWH>TSyCUcMQMCFZRP0dj0pCT2wa42o<}kG2NZCa zTWlrex6|MwZ_aC-t%)@;h*`5bAm$(8Iy{4Nw6g}Zg4LS$~$VYa<#4e zY`G~^z42zUMXq);G&YAwwtF?W;1&3Rl3ZkP0jP&y3BKBok=hGgh7g~YNW=VI6f*I{ zBNu$`=encx4W!kCQ6Y5cy}$2gO78qBf0ululQ%;?UVd<0zeq5%aw|GU5f3?KE^;xQrwf)%`CHi2(X7^p#^AyVD zMs3XrXIuY+|2%o*&Bwq|h)2zp-z)spKSU!)o$em*eTk8BCzu8SzX#nP{eIhx0SI!O zX*u0IJ|erlvjigMu{SvMH1pavxvy9Fu?gT+!zx)xQJePdlPdt)Q5mP6V^)$LzyV0x zGXyb-Q*^{?Io^`wjv_;C6vOay_u}~Hj`joxXfsIf(6T`mxP<`R!7#6Xs3h~6<|X_- zZX0`ti|HT(r-&w@*P9F8XTlB-qA-KWhdg#vrDjogBjpRjdhwBhZqlu3dmu4Ti+H2r^SbQ@eqAUbh1?%4Q> z^n+pY?6$lB5GL^0=~o+VIdkIQ-XujPz-znTuqo8gLOn=Q>Z-eD{d4B`?BFDXT|^qRaHR(faskKh zd~G^br~U+rzXEBEP3U)<0QVnxho)bQD2B>SKOl%_1&-~bD50oOGK9@R+H^{GfaLvf zM?215W0}FYy{N4C@1hv+NlTE}@9%p*Q*Te2aW%E)&&&22xns8GX1zt5sOwSNC9V#2 ztlt4FJ!hgm^{x@vu!H3;_t#&X&}wUW81xqM@#EAJFK+)*iY7oXTQq{{+5JES=9vQ}w#q9ZhFNkb-nD9R5i7MrYsH1n6glN)aB{ zXFMu!Sm5Uz4&ox18n)eJB>!^>p9d`CUBM4ynFZe2R0{CHJgx)H`Tq*=D-r88Vb2=f0nxj zb=Uf%&ST#^bS9*cms%owH2q!PvdS%Z(L9kmF$z7QS)So3d$nWz?QNVy7!{YbC8d6@ zE@#eXPHeW8G~hcME|U{mA8sQ}O2o2K0IQ zq!qEM{#$tHV2sxB9rS-fxZ+zz#$g=ho80vffV*=hs#hGVrcJ&at7FA?!T!m*_?=AX zI1_%sP862Ib(W>od@NwJS+kXagSZI1CcsA4!=DH5>3ixyrapo9tnqK8T36wK)GHw0 z(9=nX?WJ1z@BUzm&d7I714#K8f$p$(t3eXqF1-lc;(@K#cp%dX#K$Q*8BI`o&p(sy z(bD^8{J%Uh(w~F29C3>XG0Z1A+FwwK+~Tipr-%NH!*@yK>ksi;@@y(+Mv{}wQGv~q z7Ysj)Gu9~c0}67(8*xlIqNHtUBXtEq81#4bMvd>{lVBjnN#kpJ7g{3l-fIB>gFZwi znd8vxgnAc?7keViS(Q)m?KjTOC(6%|+t@h%J2Viac6)%7^oKX`(}UJ0d!~%f5ww?+ zXWzdow8mW^BF6DrUGk&3Uzp=N zdhp&*I_%Q@$wrih8VbW1Z%&P}JB51IBboBi0!(!E;7&-!Z3JctukKJO|N@ zR_#=&vSkPpUvGzbH@kn&d=7ZMfp~C0iPS;<)R3uMP-soKIT?%)vpvlX-=8gM8)&UD zoQ(tTajxEOJ8l6|o{#1=Wv1~hdopOVn}@a~D?3(sZ@M^0@{UEPMy%`*6Y}yqjEvNx z7|5{T>@if+V?~?(-yS8n480Wy5BWxiYw7ufmy$d!JaCbBWH;3UB47W&drVH^?`bDe zGn{s{I!P0BbkxS_M@T~&)Px=#T>kQ=ZqGPy<`y>d`s5Aj<9k})R%71?fm|TZdSJvl z!E9!sDA+M^wg2KY`P}V_=x^h zoztw*ocDDu%8A07+ckVddda1ch2hTle|4c7-fzk#quR$gE33Yi$8OD`SbJwx@=}!_ zawbxtSJn<-hJ5Py2R{(i9wIxmw8Pji+UzO5^J!=99Tu-Dxm2_Lw|1hl;+yZ30s&>*Tr`T+k%(!Z#y#6cE=Bd}I& zU1H4tsa1DTW=RWbR;-q|+7P$T0Au7OUtZA~90=!bp>J-_#)c~iWpHd{i&Cy{6~?~o z#Jm#TJCJzbfilG>@T2zI^Nz<08K3vA{fTgAnkF$c+rbQ35Iwj$r}zO0ndM?^At zWT7jPCJ-V+PN)72sc$Q{^Y7DNd9@AH*&TqNwHFnFe%k|YdfShqK z-w@F`=(j}AEQ0Pi^3<$uPX~17>&OnK;<*o01wnLyFftf&g#&(>n+;%k$;=76kQTgu zhGDhc{1!}f53M7EQ{Et(#($?rhNt-v=!&p*OA()-C~M_TRah-jVz zrfkX11UAegJM=++8oKQ5v56)b=)6JNa#WKh_%+K1qzKQDiClUUe(K*^m=spi+2Aqz zxN~V|7Nd`>tjK8=c&;>=h_p_`-Qzhf69iS@php5L!=X6%F6d}S!eHbHz0?DTGmmbb zY~@JY9U#dor7RFMzP((C@*awWMEf@7d~hpL8PwN&Jcc^&-lt^U zPdCj@GWAo9NP9VgzI=lu@4o&KQP%^J51A0Jh%OoUF39nW@U-M#-3JmXPgVsIn7cIL zzKEbl8rCjJ12)n=52$wfQ0cw#)lqVpU}{n_!lqkKDA+w&0gwURxhYAtR#qt+Lh0uW zOXwp^G;)2N-c(iCA#zyc99q8Us_@N&%hs+2dL= zLeZEMJc$g5sI5qJE5#^8xCXeEm!7{7-NE-0MrX&WW-6t)ekWXb{lD#oo#OH21Kew8 z3enomSi7bc$5H7^Kh;Iv;Z5u+R+;(@5!C>8%aLK;=6{R(E>)jXcbxPwiWB&Ae>q~q zL~w?~zEdRu zB4*uPKEL}R5}Ze@6PmG0(fzWTha&}4!*+qsk*z{H2>EYjDQ|EEJjPKAp7Y2@11yASmbsqB) zbmvXU_%S>)OvBXxut+3@IJ-Y8xmd}J=zYX{1T9~s=niHyzezlQKFE`xV+pAIvTMLv zT)64!xsZrh{b<1lr_JUpolda)szby9hwq?pKaf@^EUz%ZFD8~9hFWi>7Wsy^uXtAl z>NQcDE0pNxGkELlGR1D!1S6S@=>n2sQ@m-2VdNO*$yD_0ww_^mwhk*I7W`OdTa*96 ztnmGbuQCsa8BHd%f04mbhQs{rjafSvDHC81GMQAtT-GOF_h7G!*nn5lS#Qz3?GN;` zaODNUAHL%_fntw_UC9uI8JH-?P$C^|85RwsLX3?|K+kz!7g5ujw&Lj;A`w5x z(Q2un3^K6b>}6($qzF#GLvhEXvF3PX&1xy5c-FtFNaQ1*&8%c*eb~}coFHpxIC1F# zV;2MAM{c0@W3%Zo$cKoD!{5ik$8-#4H2v4_DN*O2NApZgy!9Z6dDBSB*FBP~IEAi> z2u8}n))3H`_724gDOKlR{LanWYI!U_)5?x|usR8z&h@U@av$!LOV0s4eTU{8qnZ{Vfc8(f&qeh;=Oqz3EH;L5|^VFlo7kKg*DCRWa6 z2%QIVu*768T)5I>$(tF=;FjNmSd|Pz?g>5Bm9LM>83ZxWmA&ro`d>hB=xeRHmU=Kz zcVSOF?45z+xJ~9}o95j~^S#2If)t2u0ArpHurPYqi#IpGLal$P&tmx4|98OWP>Tfo zwcQPLxP5f)8cdKym(|-E`Pz>l+B>6&V@v{}mj~Vwfr7G<2&$)2@D|;)L0Njh&ImD|4}>rsTrcqTC|T+6;vnSnz}* zq@9ESy#&@Q`oj5oLck%P8EZ;A1B1xNsHYDZuIy9ji@8Go{^UB0#{+w!_e({Y1dloN zJ3%*^R!lvwdHs@Y9M`cZ!&ZOp`D4ddtXSKc+hT-B@Q|&|r7>m8rx>25M4wHw&?RHT zqQZO@+4BRz!u-hYc2V?qrR$U>o2;ny>U&KKwLF{?{@kjnVgr78AshS5k{Mnh{}gV- z4ih-tT^=N{Rb$K$pWJOd#fd?E?M2_7;7_H*F2WCJY7e-=Yk;RI>kKB8?QJ{wbkuj+ zVa5w-h%}4NW9Mxkxv%06y-C7s#|o&&z5Gx9 zeTN>2BN-}6MNlLPLexVF6Vw5iU%UopPi^$IMh)@cc#2q6BLfL-^(Tkg7ahk#1KxKR z`}8sf^%tE9iPe>(?&GlERiJO8-NC*|xb^zWE^XhRM}^o$<&fJgdW+ zFP2b0?LDD#mPMPuaLQkDaA?$C%MG3d&(@_79}nIDLPIPHe{&tc)jvq0a7V~HK*iLY zRh1-G?LAT|+TLGPId?Zh8~+nw*y(tPn5FUeU&LWJ&*shbdXk}6eDGEYQ;Sfk@Z0CB z-RcCR-n4Df_8Lt)CJKH1I_=M4in;@p9eG|XU=#eip$|_3=|{M=xT-7%y28DL*s}Xx z@eAF#U)X-KbiWW?RW03EGJ8eEGT?jfL6xt@ppcmwGmYLpbUIxw!Ogo&Mq7PoUGfqG zREz8x>um45bu9VZ9$;_8EQX5frdmNXO#MbhCc{kOG^T7dRcaP$tIU-huAz?r>r9c`Odp%J$_kQ=PnkM|VJPHYVO85%g@kLb^*rmSO z{rgra61e$6f=cI`HlqI2kE8lqy{bJQ{B;W;oWQn49gpsOGULz8zcEML@}$@xBq+sh z1+UcT73N>XNcLaeK&RsIgr$w!*1Nd|TYkL2cO34`S)e6FU}gglc{9vT`Hv$6Dq%Bg zp7ey{j@)30KP+%`9X;|E*t{HldLr&uBbl$h*|+!{b&%xT@AUF60rHY7ANUevx~}(# z=Acr*SC(dwj6&^A7unU{^|!}<*i1}`;(IlDlOEg&8{tCcD=?p~a0aoa_ z`U!YX0kkYGKsU)t7*%3{Yf!+499Yt2)dkqPV1O^g^Y9`TBlASsZ-&6TRSu+1;vt1o zUStdTr^(G`9K=60O8kb)RBeFKy#w*LGsl7r z{(=(G8m=3RxW-emEr+u+18x#?DJkfV+rt`B(NY1Oa(N?!rr8VO2ibpUDM1nRr~ znb|ciiMS~7!Ku+5qE-}y32ZUt`it4;hgX-||MF**5#E$@gLFY2ab!w!vWs@)E1;cZ znP=CF+Rx%;eJXeXfv8c!wtQvF7UD74dr%=@oke9QcUr29)>~w+e8cTn`SwKsxNi?P zBKOAI9J9AqOm=(2eq@p!MY({5I^@TgOfC0&*4FutW^r^6#!H20{f!@p*-WQYn_FyQ zTn2*vXg4KLvpbLwu!swJ8%LwPGVQ&njiFL&)VFrr?%$A~$+`LcSJeDqToQj?)Z_3^ zZzIq6W8|TF!sf4WqbH=F^oA6e`y0P(JxeGUAyvvrd_94^@V<L0JcS;wa(D}A$h-Hfa!hz20hudRofsVooZD~wUd<9%B8Ms}=Ma8`%-P8C%8 zDf3&isc{%pfjvJ}i+Y`kclwXXMjE;6idsQ#sKs$|&*tnC@2eQ;n$z~Fj3{wmqvVTi zeaawUAUdmPcTcb*sSrOjO9O0qUNkOr=lQ_Z{!@l#R*@SuD=D`!Y0;}qEw4gp^V9+4 zqFc-TJv<f`8!FqietD7RFVIO~ubKa4n5na?0@iF`Gza2VE+VzvyMl{}XwMT^}V`n-%(r^|y_jJavar zOsIhHh%8lUF|*q1Jo+8}FgzEOl}2!XddGp=Xa`4$%3C0mC2l?TKPIxq|pVp-RP;l1cd_+HjcXXt-#q}I-P zyWOIsVgD4YUd1WOoYeRFHB&q&bYRGs#JGE%vodC(x6Ty36|<9ar*%WFt;2CJCj?Ks z?`^;IWuOtfS4$j6Ou;FKIM>s5FMxi*DYESst>E%CoiyHL&vX~WWWpnW>yMjqaOmhh zOJ&?x|C2NXhH&-Ew+l4u~)SU0x@oQffc`JR4%tN0bL(eW5u z=1*Yx)=ihWQ=Ten{d9Rcbd15LNfO~@LfLs7lnZ%G!bOa!`d~AtHPvjvf*5wBWoW}{5 zbj-oqBMN^dQ48N3joW94v%o)za-Z>h*Wb%9d9WRWFM z0@&mIn08{o2sQVTr6^rG)7$ITgAuZ0Kv%Mpy51GbN54596n+vTbOfWTIal^8tZIm77u^D8j94mJ^}nCEGwBCwg8DKub3ec)^lPnC6+*wa z$Cu1hczmqKs!HzP49K|q`FJU1aQB}T!t0u2$<5@?&376%-i0TXd~iUBXcpqVL%4{7 zO#2>s%5)$_9t7pnHV5=-g?>P!OKOC!2o9M{isKuh9)D>vyos&pd4@=yTdnRtACu5e zs^eWJs{!5r_lKo28$#C2P-$E+U3U;&(8l$i(PFxpjy_=b!N4q3Q9> z>JGGE%rlgtV8t0J`HzfkD#zG=)Q+Hmd1sV|s_(Z`hW>ZY>Zzh-szY1~@^ltGihmmN z;%ZTDei^v;E(MMY!6nLrZ-Oxl32G(FPaEnF;hQkLj5@iV0H3)-hUM`{M3{eXzAtP2 z_VCz4g4~^Hk{L!gc=O-OX|`suFGOqf$%C4jiYHqlp)&nUHJiiKbdBTF^InUIcnI$V zf403qoFyB)GL@oTqcW<|!b@Hq=<{N(9Pek!LbKE%4-(!~A-Lh_J;fdp-?Q49cD#fJ zZm}g#(5{o1kLu2oHlaacOFl(FX;khTYL6smAz?Y!aTnUDrTD;m;0X#<1_V!MV<@$L z2t90$A2;=>m2Rbxo;1)n++egm$kwfteF5^2|D0#XEa~yY&63*KCoMgqH(p4f9a~s2 z9(BFyV_skIAv!WE8!=Bre7N~ky_t(t+e|!gP@TLr?iF2jsA{)y{JKxngpgC)#QIp9 z)L^|k${Rgm;QjOdO}2G^f$m7;>%t^8_MZKR4@D-&{3ms#QEJ;7k54~E~iwS#9qP_|iYFbGO_*%_RVX90gTXLNk#vgS}g$AzKkvbIti=Hwp zW+!oonoWD0qTE*i_~d>v^m)4iXzLk@)=2d)M9?q|hNIbnhZ-xM4c=I@0%?5#=t}Ux zS;`=-x5Th|N_bu!)}+;BnRRlNHP+InXOSmd+?Y{24~YOIG1Q;+6LPj{7d1rIg%&qV zTqx{`uF|@D(9IJDP1sZ}*|{VLgt^xlwO)@xiTWzWF{rnx4&GBgE>MTb*AVt7r4tHm zb`|m<+T9WWxh21P=u6&w@aig&06BR7xB+1QiB8veMF$O>$=zPUI1e#HL7I0G=eyh& z-Wb&%5DJ|nu`_GnyLN!;okX@?vK{fCE3Gv6<0Nho9(3xH_c5mAmAXdvrD3!+9bV*5 z){L+y4{=_A_=;KP;#jK<(_~UJm{30Hoq^CivX*hB(yzAt5_UiRn1P41F9e3h(p9c( zb=Vm!{3)vXD?6v(=>iTsKItX75x~_%&6apJ#!Fl#;u~s131K7|mX!z9m;1Uvh9C0r znGUU%B5n76=A0SPMtK{G2_zJcTP1T_tW1>fA*`)by)mpYg69Ymx*sQ;?hFrze+wM; znBSm?lO_7Wcu`Ziy$PpwX1d;Uj^~J@1#%bb6q#Eq)&;`|DzEMfQr0DHbWy5Hx2 zKE*Vh*!Fj8Z)ewLFGHq1kd?5PklH^^rcIu(D$}EDWd^N>^4<@u)`}`ns8nvslJ`p` zA>NB}icF-~%6=wqi0eXLKl3_kTuY&XI*$8HSn}&E8sNTw}Q>5q{rsMlrWuCgPa~09A35;TzDaddX>eT!ABpD52icw$c z85!~pqd_vpXSJu|pUXSsrB3l$?)PArPrD`sw#>)y@a-(RV`y3G1fOB#ZhF^>Hxk9n z)U0!+oL6T@(+9cHae6U*GIU=4+4i6-mXW8?Ys7fuYuY0fkv%vyKaEE}P+OS^T8$2K z8%8wQTIQsj8h)k~fDqY&%U1*!lwR+t)n|m9;gF79-MWvzf%}me*WiTsTZfQ6v`9xl zb+>tMtG4vZ!;*Lpjfb^%O`kYsPkv@(huGT`;Gdivl0x(FUXGMJic**P2e`^CChpca zFL~fGx$&ND_P*Xb)Ul9HFaBLyt|We59Ip8hh7a}Vq{g;XIbkEaDR=7L)vjpulfq}tL+WGU@}plu*W2~eB(jQRW-P;%(c3J zw!Q?Yxf8)ZKS4%AkVIwUrQS};2xi`-yjD(M24r*cale9 zM4cYi<^E(KU0C+99QeyR^(l$3#_KN%6%gW|T+sw!tb8(PC~bq{BA7pHh!q>s>P zQeJQDZ`Y`mj{JO~CYZR{&XBhi9>c+C=hmGddQbPqZV6FE0;ewf9bXSxG70j`sbMtt zNbbIjIlXGALEg$@$j>08a1q(yEaI#fV})yWbi=*6k`X;u%)hRUYx%|nssrW&H|Ij9 z67aYo`BhJzH7}zW3m|>B2cIKZel}9nCU==~W6qGkbgLHF`_7G8itofQ3LnVOSBKW< z0QuL@`>EIRGJT4lGbufcI5O>)CuRDN*%^C}^JP%CZwvgbb12gjV(I_1 z03Y9<9q2e%Pi_ZmpH+RTevG%mey~onBZEsoV@cL*jLBy{<#Ea$33XpROzJPc0e>y2 z`oy?c-}ylNAih#%HhmIjhbHD*?v1 zfLAyRapL%dwOcomyQftD8HekabJv+eI#bWln9M8}d>>7nMnWE1#Tj*Kw%FMX{{GGf zyVU?!el+uIqd+$FH_?MVJ7xoSbc-BLxiK-YD=7 z#48@G_*2wukyex1m2491M@cL)7f*(Pw%VWBOkKr!p{QCwvu5nByR~Gga*aQd(=}u) z0=ZHzfC3WP&46%4OvMhq&krVK+4@T}#iQP=x!kYJOoQZ|fUoS|uP{7J2%h|DrxDu- z7T+LBbW~?IncGSF$-0IS1!<;4W}`4$L3*B5q&ExYR`+`#5^6sC5#S{VxWE5n@zmnb zYe)npS7OVWZf-W@*zZ4ot_yF&KG()^Xg8knpMnCJ&cmuPI}b*;ITt_%>ohUMd6M%I z1-FL)U(kF_^Wl4$+tx3z^Rw)pD=Jn30-?>zYrkavq4fGEHe`lP8!T7$?M~}_hwAz+tHvkhC7c-FL%J&gVy7^^= zp@w99jfKp$Iv1JA46#1)B4g{CNo&sluP4m`wv6WikC?z{1bsX}1@`eFUarHoKMI~|IM}(zuWWIAsTgfYNXhxL5&z3ua@Qp1S(D;cIGO{n~A7) z5je9&yQ&pUBEoQVRGZ>eXaR*;0^ezh5S?8?)j>z2HY47>)+fSi$l%CLdyU^SHSX2l zlw-g{rVmuj zi(OMwaK)vig2QEvP7nP*0JNqv^0-v)Z)To#_0&?bu_+XXoQu&R_++~1&1OCV8dkeO zp>IK$Oaa&pu5|JdfWM)I{xgV&QGN5%j{bde{f=blTJhLCiW}{@q6Gj^(C^D%3n2P3 zSkla|&ffd?27T~#p_%UjBb-9bds5EZE(hk$xW$Y6VuZlxPx?%&zfAhy=ud649EK3! zBdWhx>e1cyr~^zMz!XB}h){l9_f*E|ZAy(Nbey%gDO-eU(`T>P7{vpm?DC@-NkE(M zyGZ`!*%Yebg;>f&K%BfHBAu_ZP(cx;dSle&lsO>3RN&^Y(glX91A{67NebZ2oUNTI zRBsi?uNKjHGd>-*QB12w49+wF@;(Ka<2cTfA_SR0h2lIHC}0PeT+>5|Fn{|qbfFVp zQ?`{*jj)Ud>?gM7pNRh_=ns9d4^ObebbeH*|GdPl_Y=-KilV-_XC}#qQc@A1KK6c$VFEs1 zehv)U5Q63FIE#{r5%qL~@{4h$O&L6(uu%F>&W4{~9C5sLtF-dpBoamDF$1>5=tm)V zJ%8pP^%Y5E{q~0a5NGE^7F}YU} zNAg}zZH4weCQGbn`!pUe%2U^A0tp4i{z4!Z$b5>~0$IV$f(-5Ya=@GARx+y?5Hp%)Q=Hn4)e!yepcW1jMsyP{762isq$DRzNy-JWG7ZAZmpC(O9sl%`q$tS z3;}1(Jl_Y5IsVKZDM(FXXWAf-S)AhTimn5Qbp(=&U9+!)IDQ1 zQkAn#q(#r#zb|?oua{$xA!pb8prcL)|Mmw-wfvAYH;e>AG)id>+kRvGCymH8xCYlS zYIbn;N?;D#wpB{kEgl3I5=2LIsOpDlwuf#?Z)<;Wq8NWQG>7GFB*r0h%F*9(BH#He z2H9erBC}3D2Z~>(zf^B*VxOo!OYyDiC1M*s{pfk)3HEyyVeqe!4v-29Klyxq_|iW= z;0yH|fib@7>m4c7nE_>=N}^FPj_aMT=A}epX#yQvdjM;D0CPy~0EhdK9u*>Mt;s_q z2-OU;%a^TRXRjDNFL#3ry&w!_N}BUX^vN{_oE>okyS9BOVQPe^4jx>GhElDa*#%_` zT9Ie=6mPs@f4|$mUU*-GV0q(9uH__mNp$3Bf(({D@p3{pc4fa35p>D_zQrB0)evW% zm$<=Iv)LZf#qdjp2be60>e*CA_vPXnY^cDjMPNqD4^M_;pOIQdGTrSIjg*B+wAlj! zrGzjqSGZyHz>o2bBKAbz{9J;KTGz<8R=a^tmnM)`Ct_0@A%q68fus?uP66;gk>ssa zrcfEVZ3D8&A@{YQuAvtimqy!}hCK_i48Y`v16)}h^j;yeA`CDL#_95LS8xqjT&xf@ z>OrNJ3i#2tkkq$e`Fx})pz$Jvz~O4r@SL%O!)*`Y zR*L(<4kvxFoXy?_qR^-?Mu>k<$1ciKPKS^az_!@>n->46T$H)5)-vd;Q^o)XLn1W6 zyyyG~tB)_fG@dQUO`xVV{dn=%s+(qB}q9jP*QxET(;y zn2k2!bU8%U7BJVlo`#tg)RZteNJYQRe_fV0mk$`${@6rj>d+Ud#=1YN zXgpC7p3z&JE>8zP2=-#k$|&b&{CwX)Q_ovQyBJ%Yd}@W`-gsL+S}yr2HJj8%cxgb| zAHgC9zix!QQQy*eD6UP6v7xEPY&*QmV2+?LVI5^eg6?f;2Oi@tXU)9FU0*MmuO~Yb z*yoTNB?U9P;yG9!X3(@zXGMSJl6mwY-;1d{=oh0XlcCw5e;=RkZsP=1#sCFcHA9>} zK>^S1Nmx-dpRV^fG@df)r~>eYZi7z_Pwb2yx1CvAl;cfay1uU{9qP@uEFi|@4RF*t zUYkDIWG?wftaaG(H)Xp*0!C+$Hs7!}9~WCsV}wsL=j@e*n{ z)k+oiy!MVuFH&opX(*Z+poZG9ts;jj7R(Yhe)Hs^Xmei=EgQGy7HigK$y=Oj@b##? zk3&-MZcqejekfA2_F3~repj?@fB8{L*K}cK#xU*Mwuw!wG_|$Ojo^$G?9)q`QIl7U zmm<2$9hWXmNY30Fa_QL&r*9lPxj0dKwUZ;1j}`PV?YZL@U(xTf4i!eS{Gqi?!Q-$T zQqQ)a+fZSSwa}b(>&9m^_mN*gVn+{kIzQcpv^Y)nwx0&ddn-+TFQ>)4tkzQH`JTBV zr=DHxR$GuKATw6L>C?5nbC-l;>qX}ZPMQFimji%|?vojv{zSTLwq6N@Z{W;maXTy8 zgc!E}`kn`mP5yZ|k;vd7e#2@W!eP+wc9Vs^{UXKK@4~;rsxkdGfAb7GDyZncsgY31TofuI33fd0kQAlmtRbp6r|> z8{u|CeS+w!=7Xsy-K)w9klG&^jquJZtce1(x>{g)ksCUeGkw^(_(`Wy$W_`>1JEOFK6?JSV z7B~4~*U2~XQsB}6b)1v>C>pi!dhZ5{BthJp6GJiN*xXjcAU4VXL70*LxjvTZ2sZ)TVtU6_$>I zId+EWCVoqyGBwcIu)}Nb$+9=I!|UfS`^)GrHXciZY?&46o7@cL%+d=+r_RQnysmn{ zUeW{c(pi^gaGPvy5)hY?$xXZ@3{+DK;U^fVm zbLnz>G#pm_Q>r9wdq*eK#o`nxYb50&FgmV{`R_QS9#wCLPN?fF-g6VFf&*;=@b1X9}-E^UwpyaH$ z9^n0!zPW%P@w=8+59Nnm{BR!eFoM2~Q?`oV<_E~sS7pHjx1TXJeH2I*@89NWCAe%- zeY5(f=aYb+s+1Q6`Z0Phhv9_Fx<&P@ez35!8J%#ZOaS89V#}dy1CV$!6EgF|LWaXo5}&vl)y$50j_euAqevg z-MXv_X~F5Zdd@%h&#}x20_^rq)E!+1izt{#qU!}`Ue_w|1%_JDT?jt@%K!W|znmsQ zjJYleCmtxal)Q zx`SB2h-zM;5L`jaApAP!3lG@Lj*m6qnXB+_M+*q^{&udG+IELu62%gSog&0>ol;Yy zXGKIqt#@p0ndK~cSO0g9F9!jo{aEj6iV%RBr>l^np}E=(^p7!%Tc7VkzaIi5{&~tb z-mTh1QQ04jJH80K@TNm7sF;ceN=99;;hKpep{WtFb~(K0-!w2Y^8c+s6h=rhq5DeT z@?VeSwb7q#&M6Le<$lx8;; z*w5Sh%oM%$5g;81up1)9FyD^XSZNTV4!gm#o!v`p3~EH+r?aH^C>!e9B$HUC^MHxJ z?_i|YdA4L-8bnG+s`YS4T|t&$xL{w1sd_~)_99#V^P@(Ie8Z^JLBayO};MK%~bO~|;Lp5?>Qcj?T{ZLh!K|`Rv5XWvbnwQ-j31yeO zERyC}d%9g)cf|laZtPDhHRn#hY?T;_tL#y10)E=ehx}@mThB%xH72%E@iL*K7) zI+8c!#tYaF^9g+(9MwrYl|PDpxYh+vc1_8H#%V813oWu8rV;g8MHJ`_ zkl`^3kAz~#@=w~f8y&QDPHuQG&)LiG&i*pO9~thwtz@X|AHmdSM#s#PkNxwJB}4@tvHd%pPTAD z{(yy1=|o=Vo2w)yY-lITKBG8f71wAs$K7(+3V@2zD3PgRDD%n-6kjwpqcAX92k_}3 z4)j$qyOXFL+gO!bhkFfF}m+0%7q=eZN5ze)1=$cry&V1Dz7=#C3zqO_2t-7t`)fjR;LE3l?ecYnfPrR(4%zeE(AMwH3uQ zY9ak?9|sjdK8V(n&9{3v?THEeZQWQ27qUB%K@IViVlM^`H6EWA&DHE2;i?^j8nGSe zjItYjQSl=NyY7c?db}>8UcMx?vmJW5cEkt2s6{ZAvZkF(Ne^WS;9UmMRoYl?3u#8) z+Apy3V@?@S)wgrq%L!uNYl?2q%00>KR$r3E(+fC^zN00z$R50+9oy@6Gzh6K53&Do zG;V28rz2eV)55DZP}Ibsrvg-OX8QiiH{$K_!ft>(u?M5bY=b! ze9sBFk4jx4)MjQ->oEpN`n&}Qo86k>!_m)hD98!qj&vF!ghQF6 zR@kOEG3uhy0Q3yd_!O5x1ETnV$wc3(cln=z-bfHz;ZJkIC?{cZd|&qnq305NyS@s~ z@Ov5TP}!wo9oxT?enxLv{#6wGNcv`k#J2#@qcnVZ??iWTTWA~8*nAv=>aUFi|JUG# zrWOI(bWegl>g=25(5h|8j=Q+{S~Wb37z)s)p@T8u;J-srqEyY@*tE#^fq}ZO*EA8p zRcFXQkxTBb$ms_FNUL4!RP4nSxf`80YRFFq>`I0n5;2JN=2L5lFq#nAH zZ7m|L>zoSXU@Oz`-EY*m#(t>leaA`X>e$96aQ~hqzKOiJrIERIlQfj9?&t2+W==j8 ziKj2kM19nBE=}t1bX3JNPX?UO=#^V;Q6EFZQg2LG0uXt1TelzLyj9B6i1q50gl^`z z5|2j=Q5x~_*fgJ1;+kk74Wz-*QBhT>&B`tQWPB7y8~T^;lxa|Dsg03b#m)yili9Sb z?yJAi_u70O9|G)N4wt@GrmHtIlU%Gd_{5<0Qx<|P%-w$glfiZGw{dyom4AJ)6sK;l zJX^-`)Bv`r;RYGGaD(V1^zHalL2=o*H)!ESN9xgOLd@;Z=bMvUmHx}<#!tq|=$c4? zrNDXazcM-M#fM(nlsEROve6IEnHl4rvLV8SWRe70hfS8}^~vze1g?SE7PT`b^sZ*n z#19IM?TEW(f(MPiUinZY!Ot%zWf;)k8=l|p`0=ww1t@e2a1vgV0ywDr>(M5Tz73oA)m#HWc|D^K?F$ zX4Dn?dFpxa*}0>EnF>8s4gW&njR`XE+w4h^`9h<1Mh9Ss9Gw=MLO9VPbXBxNOUD`R z4@?u}GUkb3PG6q?&_iU?12HdD-d5Fo$ziVFyg8(WG3`OO;_m;Igt}}gKw^mR2Wr0B zs(s=@^8p##b3mb&Y6ZN&*u~qMsUA zhKD}?OC8=f0?v8bx0hF6E!~q~pq`-nNzqp3$8m7wnSU4E6njX;=CNH>yUL z=6_fa@kJYetGP^pD2-z7{!_V9Sl(<@e24C9#gBZMucy+0Vc#)irAg$2vJ;AtNbFnss{%rvA4a8w*pj`PPV2MDKuLWAt^7cz%76z>Z&c07(_I-NIH z(#_FJN6!3rr#_v4)m%eBPAF8N`OeW*%Y+W`EhQzGRxN_KOc^|lLk8|*i2g1MvJGMS zEj985*7b6>u+UdGi>s(;gj^Vlc+s4D#H53WYW%bTk-(pPfBaTK(!WFw9>cFZek{L| z4j>EBDBLIeE5R*wT%$4K)yZ$Q6#PUB9`*wDY509<+YB@t!gF=@MyWw(f8?=h?<-KW z&)19;avN8II$TU$2t2Y6SdwC+D-JlLwP+u51V zWdc794k0NMSP(13VQEX^GM4xrob;&D#veHvzx?cA*nidhq;2IBEueJwsDM!bAH}!x zj~Ip2twkfgJcq=@J-_9_+56a8&EbCMXO)1@4**@W(KxRZ-07GA#$}-^mVczYiiGa_ zo!8bbKgb9IlLcaW!(PwM^~Ok1s@?qW-Y!!hDx+y5xn$o=q>vrbi?!D^p+az)-O4Zk zzt#XA)r-{ca`FMS`Ji-Ju#i{)`?eA+q+1KkfD)mI2YmCt44ueSpd+_e1YM&0Z&KPDJX8NT!cuXgHu3IR1kq%X zp0tQpvRlks{PCjusPlvprJjNkgS(4e4g(f;CJ4gXlpPZo>E;Uld?h z9Zk%G1xREZ>&h~&2lZ}%9i{|PS(irbQ2cRR{9F4htUlT%S&%iRo`a=a%>YR@!)X!E z681SYt-F_*{Kt=`T)Xr~oL?oklFI(|7-~_5yZafi2$6k_UjC2b$wVFQbB0=qSp%aR zlp`*G3+@hXM(=Qt>)k+JHFaHXRgp%k9O?%AZFW+VkvhGiUh7QW>n_Mg<%rgwes*GQ z+G6zOGkZ2&Q;3r{7VGoJh??{Sh-|=+@4|6U*Wq5)7&ioV%a6`((F(@UM)x?#t-tZC zh&D)K_NAfZuc^t*@av1m^t7ML|5v%A8y_=GzK$kw#pHaowXUidxPBP)>`OWGN*KxX z%X*vz3s6qR1voMO+EhYLU@B5{L};9Hk``~lWpk;!BQ(4%wkCKB75h>zNuYM)b=}TE z#9h80*dbl1FTSCd-ri>N6MBI>$XE*b=z3p6DW?Vg%}@)T5!7qA{FSK+h-WHy`jMD~ zSo8H2;bW98GW`6*&kXimnZM%UW0V{rEdG?my}#3M4wcb6EqQ2g=|B6^?ilL4;9neK zuXsX8iTSV3oKy}El}!HgP~QCRo^*eIZZibRUgxee$rI(soQ29}v4-%n$CSRKugI!*t4kC@=3yQ_J#BaE-ck z`IA01a;+!w%06e#_*9JcK_UtA1eP{m5w?`j5?Gzk@JF(va zw9u&$_qsLL>ze=0uz?}p&i`N|btUin%wdXxFtO1Q-7)#!jg*>syz5-9_Z&94+$}oR ze#&jyfz*g34_rv&^kg_yQY+5u2`5&?L|AhSbyu#SWk*7zrkt>ZJ)4UDWh0Ck+3_esJ%#QHZMUHM=Q8+1?}F#MB;bxpd9Z?G$Q+1WO~6>(nE zvE%>e0!%=A>-y*pS=HzRaWvR_8>LRMUfh}g9A`B806-#p{KG*-ck-+OQP``RYg^<&g5{!lP@RW9BqfGKVFCy2? zQse|-<@)m5o?O2p3*=?nRC(wCmXZX})jIsAKMnB3rFhKam88gxGb=Y$)m|0kNqD({ z?3`Nvi7j8;nomOkJB*#-p}y;*AO^lLn%;=fpy_%T&q!iAHr zyVsGF1f2F+r)o<4^<&mKBlh8r4}b5=U*v3Xp*P~3A;i0iACbYk*i>ylh3~ju^1(5| znm;;d{IhQ4t%&aTm~FF3e0x)6`*!oq43=i}O$$?~V{vRv`+_fLR`j>;c@CoV;bYU2 z-_0_P>HDV2*&hd`raa%x3;6Q$%QL!dp@*i)vFzUS^ZC=k^@K-ObSsSL743QZDIKoZ z&nZ(ZwXH#R_7@%tWI1C07A+LIaIC+%BB5QGeOC6B{5XmNk!T;IVBCId2PBr2tYFQ&Ldn+~oV9!7Hsb>5{>1S9e-Cz%k37%&!%qP8CrF*JH8*x0G%RXmd;HW2U zk%=4H!ujM8eR!khad$}OYAWn}wW)G}o#bY14Invy>Xy6Y$I7@)Ss||(C&mJZjw5=S zk)rA$4>s(#rol=HmX{~c5#|D?Wtt_M>QvagSo*3nh93S<%HIr#amCFP4c;oc zdWUcSEmB-ka%!--tv&DJBSt1HK!e;}xe9_Z(KkU|B9e_I>PS`%xBkd$1+IH9+0TIk zb??>jX!;v+iI+X}5HcjeTNY6BG>~kfILi3-U~}}NNa$NU4m)AM2})LcV4HPb`?BvF znmylPa5a*i{%QbPpqhYWnmB{3YXoz!K`aOSR6G+P-NF^$31)s3(qEnXdoc%;LYTOR z7(#BdUi9{vmxrMC;hpFw7+Z^@MFQ^pIbn4A#uN|nSKh?-sSsm6QzM8Q|OIf6sa@$$li;82pVV5Q5z z{5BwgilxYnU)#va-6@;Z18vo>;tskTUJgbCS-)u><*%8c;`>X;xI$Mg(Oe|)u2f3E zeju_W6<;Ol0X6!3Mp_?KqC`a&9vSii!GjzU)r{Er-E#1!)#Db$7KO)n_&&a*gB03v zDYAUw+joT4Bg9*zQW_SAsm=gGrvcU4Mw5|M|5?=L5egx7`hdSd@<*m*Ne>Ku&k{i6 zJ9}hO*22dCUL;BGa3N08G79ZA{rE7S<6}txos!|lXXQ!%Ro&z9K0TlNuUa`S>w5-j zWbsw|e#U@d1`vY?r2H330c><(fp0pyYhY;oxTS?ku!4;@dA@U}Q_P679oqF9)hMNb ztda5Wn>^!p!^QI*WXF_Ui(d+MG%o0qfa0Vm3JF*k=DJr)ftI{8JI?tjO%b;}-rMOYFPXHrQuxo z@o(3NqDST=`9FkdrpK)B?U(^n6i`M)sT07!9k6Ty5ih0e8T&w${FirtJYGwF+Y+2B z|90o`5>I=Yx>8|ni2ES6R~DeB#XJ|4;kdQ?=2LM@s=k<)j{HUKQ}m?NMhpchv`IBZ z6}7iXcaLpv9yoUWNq#(Yw)TEO%u?hnJb4G6ind<{`1BJ?!ze0!OcGQl=V4Syz*`zT z=(Eb5Lr5k>cx>(iND%_r`9viFlc#*1`YQ1+5uE(^(kP2XeS%~tL*_bo=(6uq5bN^z zajZ9$1Hc{sxs6tX4cmu4`lhLyOENVMGL+5m1F~O?=t4z^_zS?`5;o{mQ$F#Q(x0HU z{a>F>4LfSkRg85JkTec|^W~)MbJfXqgHDtJW*o&=FWB_MZ%Gc-H*-_5bQ zm7RCKKO*TPD>nkMRNcOlfq7_F`L^V*yFU~?0J#rB!^89Ibz#i!hQ!}Eej{7s--J#l z+@MW2@G$a!$qB9OMmho#gSw&&S8SvXlWne-74rA3e2!|H6cQVfHU_I1f+qN&w47`S zupEX42Vf z^j|c;`^J$1xf$f

U6bEY%e<4qPdngPH)C*Go42{2*?Uqx-kSMG7#!koLgULqZt+^d z%TY~=DAz-Qo)t3=D>tE|=UhTwIcH0nl5#P+iCA4mHC|Vcm9!)&DnlNGx@7n-Vt}0X zK6rrlG0aHd6Ghs|?GwV7_aRGwKVR4f$dN#c%|&n_dP2-OHXSN4mjy=NdgX82s4ycQ zVg+cd@!0!&$|8`xgk8p09lu}Bi4gmoE?XOoe(}ByyX@>dGZGUrxGk?KTneZC$Yq)K zloSPEMwq(;?2TApVR*P@+v2H}Hwz9s{XP2AfJ_r#U*NrE*HfW4+bq7P$_vOGPGIL* zJ}Dj(e^;sqxfaBOWh-ixdjkXx6t=P3g&l5EvZZDMQo>~Kq0vIEw^Xdk;y8+ z{R%4!$c-5Q$ln(L@r`lHKWbw5FRb1%|7m542r%PsFnE>XX0~N-_lrqugoQT65#Q_R zue5Z-=RPd3A@m~avh$a}1RnowN5O|LAqPh71f|2PiOA&bG6y+zL>&-pqn6>?_gsJ9 za$?DV=TckMg%RVc?-j{*17j zXK&$J%H+8oyoks|Mhh6uM=XDd1aKaH9xOU_&<3W%|qRY0a_*w-RBm7%%qS=EWdY>FM+*ly`71+EdTzBmk z$W#W3S@4_Z*c%fGKRBA*lvk+%iqja!JS4<}o*{Bq7I)(V=_BPwd}Tq4yPC|IQzedQh>=oO) zYHkMlm1^0HJawAKtBurI4?G||_djRD@NSD940Ch=rc$btqhu2nf4T);h$PA@V7q}I ztEVN}Fl&y02Pg&OGB+Q*|M1NcLzx#dU94Wi|9WxzjVIyhO)$*A&>7fn_J==~fv89! z6YV7mbXgnEr$$;d{a#Su(}%>z7&By&DE9TjNxB+aVLLx{KJ1YlT|H@UmW$<~8+5y= z(}9nF7?N!!0LYSf!xep-jA2Pbvg;y_2le@vX;^5m|T2&ep z5<7za4Ie6}o450Vfgx3#UJ2&Cn9oL%9@I2S8ySoMj8sm&>S^4g9JGQZI$IHHS{%KMp+44yFJB6Jp*vLJ-!JV@vUxrF z5r>WTx1$Z$oO@zz6OiK>hd2CaUuHn>3lUrpzQzq!HAu>kFpp_*B^7>0k<`Nc7G3ZH z!s;&!WWqw^OQ*@^7me1KD{rG8gnEo7uApAFx-tPPQX|e|HHX%JUX676V!|p-t7~e8FmK@ zi%8kvFi+~6-V&fv8DUKNW%tc~7PNxc^FDIB;b);$3^nsHD`hQMqsKK7}23w7(FOuRs+T>pR=!a#ruA(J*9f*kSQ ze6O!O*Whn6*R!zZ-I-f~C$g@Uxe^4}K|r?KiL8kl5DCr#DGL)1`lvnu`K@E~Sa_~k z8Fx3cGax>R78Yf>guRP9{c^cXW$ac2^n!=ko{xIpaS?uEjZOY*OxVaA3&*J`9`41% zHrP2Cf@V?n(}`5~^nOT9ywT2kh}@t=A$tUEr!7RJm1)vf0-%BJb_Yo@I-i@6s_}Sx zoxYxl`T55IL+3`on$jNI87)NIjgJXBg&DO064Hbm%8iFu64J(MNXxd?q+$1#>Ik4T zfSWKhzNC#2Ktpv=3Qpapc_jY;g1(h$9BF1y!Y@JEQTyWG_B8TuJN+qzt?g{#_aakY zgOfAYQi&X#sjh}RjeBd1T07Iz8~$}&o||08mNgbxi$!{wxL@xjDxFZIpC)2wuiYf~ zI&?=8OZ;8ECe+CGGzf%WG9?tp$~i z+yE>dY?0hdY4?gN?Pl zpMTYqrjFC7;io;B)H!jJjvWy$GO^n8d;9`VSDM*_^_e1yI;Hsic(TMc^==hKtO{K? zT3)P&W2C$BcF* zF!1u^Cbc*zBB59}oS|ct(FS#QI|M3qLt<8rRH^;gV!lov-fMC#bY3Rf9xgi>zbxs_qfq=Q6y=&*jVU)g&xrU*!*E+qii$5|!dpy> zR|gyDN7n#(rz<50j^RMUG5kJmrWnfH^EkeDK5$(Y{Xj8SSV|0^_PMOyAvB#534dot zC|2b%3;4B%Sz`ehf($!TA$}|>AzeD_`a2Lx75ij7?LcEpn27;1fQI@1^5Io=Jd}SV z1Y~$Q%+Ohew$-^=Lp_?u#l(H)M{kpY-5gK83UlU6PZuH9&UbR*tAuN)<-?A#&x6h_ zrUh4z3Lj_rt~@e|IbQwOWZ@-DvKM8Etp^g?VIr6S1gBMcAXf1wFkjKZ0Xcqu_}T-= zhZW*=YFvK!_%=ocPaKh^*@98QOsq3UuK!TOy`zqo=zFqA#+m{u?2QwkU$nBjqIE%E zyHPs#DZJAzuC&(7=CeR!k42cn)(~-Fi|m$1gm*yjkyOTtmk;>_{)fvKcWn?j$`=Yq z*j;kwj-_+ReUl)TPJ@QhO zZo)CFL%kYucnLpEV$B7qLgBp|_G5sj=q^Kiq##<}DIjAG6F)S?6P0Q+oJ6mXLADu~ zfME{72F#47=Zqf|3SCJ%d9-hhe&@d4d*gZdcf#DRuIuZOW5KrW-=p8MtTStB;T#Jw z9stD}QrOzZ-54m~MKfnlo&oYVDS*UxwX8_Z1z-ZrWe4BB2ZNFEY$2D-yol)3Ak5xl z^3m|TSXs!wgD()y58J>&Ic3Okg|T?LFZe7WxV>l=NX2(YOG7Ah7>|~;s(Ad3>sx#L znovf{z$ zwImkoUAqL^`%5o!bos8^DDY^_8?a)+FOK(m7pt2Nc8urgJCLAsm(xhaOIcl?BFzVn z9^3*fiaEG5V00`oU%n}oD_s?F1e3_Ccv1UdbSuj?yCDuWCyyQSey?yhRNB@Sy=wMb zg)Up=9hJ2hPO2BOHgxy~dVlL0{ygzse|RM6%3RT#ooGR7Tt;K4m4%P}W?Jc@dF7qx zI9T zKc5`F4b>`OPCKBPxv~_WBzoIc`X9mg^L0`Yf5!BTFp?Q*I3+0WHGn_CRF+zvt^#JH z0Kw35!^~wF+xa46&ps%ki-N#ZmiCLWd>yKa^l?uDSZp-Zm#RWwA!f?>e`M6$)umE8 z$Q;Liadp9&KmmoEl-ew53qdDUBH4|aXDoY!Q{D+>tl_s(`+Ml`?f~TZu%)!|J^PPE z9)>w_q-x8nTxl=NYlXXQrub|-5PgRn{KcrU_}Eb7{RegV15*;k$!3R2V@RDsDKK?v z2biHl?6=8jESfHjnl&H@u3LaATN`LowT6z=^`5=_PlU`MX<=8wCm$;58Lb`v;>?pi zb*iw=Y^Aa;*Vc(v_|eE>UARwx1;t7++1^I_8r=3Sa9c>Ow0UtgY{K8AuJ~;1KdIV* zVh8%0-)s}DZJ!std~*X9*MzD3x*5I>9`@x7O@)Z2$fsE~z>gO!UDj%wr^-!yJDnCz zCf{g!wzUV>FCADk1s9r3{x!1wo7*UZq}_V7`S3Ayv$eq^=bop}Cv5z%OPu$3I~rm0 z>_JC%ZTv~#@r>KRXI28QMUqlT#cN1U12V}rmYy8Eaf5j%#zuOu=of!R z$`s0btEQGh%6%FOf2Kev`y!z~ulhB*^5w(-+W*8`df_cP9d*U*5!$Vj#oM2V57N%_ zyri^!N@8s8`GB%?GlgZ9(j+MTl=Sfj<|`8I+$xrG>`nOH{ds2N&jz&77;!mZBao-Fy6G6oE*#z zuS6-dNW%8X7E4IMMvqcOR*<bD>Kg5;v>RcViv2JKx@`D@%bje(X84&-X@Y| z5?!t`(nNbD{ME#G-(=yBuRg{-Vy+-EdEimT!&{U422uA-A>;--4-lRK5Y7}Dt1}`L zyw<8>H~X^v#dp7>*%x0ogS1~#8)KT_q=~&644ouA`Y+$PzK$6NR zy4|!_hkHKAcblUZ2(1z^7;F{sdOay)y?zF^x=m?fws{xpaU0NQUpGT!+iAz+zWHbi zRYf|3B_o63j2F`5hW^f=D=kSQy;;fD7)KC9ox*7-283AaQW?ije0n`LDD^_zQm`ha zRTN7XF$7otGnWLM1xW*x_Qy98%IxD5p^ch!USIn2$;`M!e`)7C#0ZcgK36i7 z;<4s-+jiv+ko~9J_|s3Obj$BTX}tU~u<%Gtz0gohz1C0+SW7M!U2CX&pUM_|R@eA@ zJ?LTlmF(mQgRKw7CDC?3Y+TGNhNtdrYsP-sv7M;INYsaTEq&49@Iqi3vhS{q3BgZ$ z7fy=}Ki=a(pkurNfoBnEL}mbcF1D`_ybQ5CgWNDCtS!Cg(7@-wtbPHD#N=nBoW0E^bP0IRPHfdwI3B>5MKMDH)&GUSJJ z5*7x36PDeBTRYE}HxE{52fx{8!&g_UWY@*Qans>W4R6 zO%*KM`X>kW)A24HU$t!O6Wx_A=hO!A9t^9EA4|eW!@K5K5P0BYy~K#?m*N9LI)QP2 zzVB$Kom)HqGpV@I5$rBwSOW(1kum-hi+#x;4oGdHaNH4q4yjj=p#QlL5!-1+yyF|K zX#S1}lVxdlM|31EE+^{MI>+hNhBEi#+ez&&s5s3xh8Ye?rJ$OY2&7^q9G_7LGfcBi zG<3U4c!qv=Tt&wXb)A4~EeCvya_jGGa=lk2#nB9`vqxL_V5^L<07pFjkfDt4btV;O|oj62n$Ji1QzZD<~ zH(Ld_er_KS2nYHt%hE~5d%}}lDIJ^8{N>?<4Q6s0hAuSD=F%F$VR+6t_VMRmARpdp z4F8bo{=hz)`jD&sV@gu{vLy4y+mA((gi{X_DIa~_BOLo23n0ax8Wz}pMAnlW;YuR! zvO%{-E1GO;Me-kk4PF7llT*C`?7!wQt=D&dr@&KIv`8j^_ZKC_Qbb)xm()!tzWcg` zh!wLfjYm$)_l-rc%J}VLCabY>YanZTC-Nz9g4x_&>cyXK$JxptrYe*GL-;IDlZPb9Z_XRnlry-uW&t64Mi<>B(MLGnnKo5*cOXpPS zvpepb!5QkL;NWj=8xue*r6kuGrHe;7c%~o&T4XNNm31e-jny3^!SLFsKOLjfqU(mH zno&kNG7_mS@y4r%k}>N1;C>0EG$ZOUzv23F%}>9QrvBd**<&9SF3iNK4)g5z``!P9 zIv}4OV1871Fyqb=mj~#j+a`z_D#2GY4-U>ZT_qfa*y8C0urX^WCtp49Q%RM!2$TiM z?&|ba2hPBCUWJ;ZR7wHNq+tb2_*sF37J?A9To#6XCQfyMk|^84qbVse5x z_O2F@0ec;{9J%{jQ9>2PS1TGnu@9|~;xMcnp1AOJj1<5}>nVFkq$LIA+u+!oFQRaB zFz07wY<))AfiJL+GT&>6egvwt7`%G< z=q;Qo(Folu4hSwT@}iBBd>7{&@YnTQ;J%B{se4ti70)Kzt0Up}L*fm)TD{Jw8Y@@e z9B)iMlnH{yIs$+RK-$~A{}-+rQRN1}B@+njQUS2-d@LNek_kUJWW%>tvOwIk2#jMI z!6XJd>x9;TUqK&)VBjtu%WTtX#~^~T>%U(HKpX)aGg>LH|FVJgupeLbKfq4H8+2oE zjzIJq@&73XKnPzWe}Yo#t$Fq7lmYbPa}wS1L3W+&9Et(xW@Yl}XL|_grfBl3Myt(J z2tK_|%4X>bY3G#$gb9!)d*=Tsp)H01{22z|Hi9vLyA<(%8hMxU2EcD{6$PJ62Q!{4 znH4i=QAno@=AsQiv$_iB+0N-9}93SQ{kk0 zA!tNg!{~N5I2Me8U*&BGtG)wKHMbxJU-OgeZ$MhzC}h+QLr(1=#Q=g)^dVCOm*2wD z+yOlI(;GlW*>yV7(EujT{na$gZ2+Zji2+p65j^AVu z!~A~S{l$H2;VYXQ_yE(Bm#GAUkX!)FllF&IS`n}nO>(n-423Pox^ppaF#tUCD-$ya zGmuQmlT|GTIP_|eYAP_pPkS=*&#aMqi%lcD22;ArSkC4*;z+nY4(+@MF5TQ<0(R{z zKiu&%Idn6NxpdOWLVB5+EA&%Ni>OC@zvPVb2FlJa>$I9+nUw1qh5@`2w*bxE^tALc z8Fm0Qr1R|{dZiO~dw1c8XT-A$2R?Sfx+@svRUiUQvrvqt1fSUCFlsM{jWST++%hO` z>2NHk4Tpu8jVFX@w+qBQVDT9Y-pP2u24ynr(v83-8fkFcxe%oNYCt`#5j*4bQLf~| zDn=lt0;Bd-eUMr^1R3?ikWn`TS@i>uTiXq}HC;$2QJ#pF+$Svs@f7%f?JF%f(KxD8#EY~ZY2KV_Dc)Qfsh4;((>1v@ zQslYLrYm#m=AGfv$zRH;o3xC8ODAn9yMEd_cHQiaoLZ^NMRZdaE;mdU*sK=IyIaYZ zZLOv&2Q>^~zQYDUGHeGL&;XWPYK0xHEwI&jlI zS6D?y?A0oW$*ZIzJg<(P+-oTKMmqd+T4)H&ZNa?#b}&IvnGzslGU5h@6hY(-P8mcx;wHOvR3C?I zY&(ZcYzGC|n07Xq*gj@CEUuD?nIK6=O)$yFJmXSJ80S$>y1}iQFv_JC-^Qg9SInyt zpTnn`m^EJ|E}Bm%(rdnIq?dqZl&gSxxZXmwNI4;mC>de(h*LsmV|UI!o5atDjWC2U zPoANmzm);B!A`eU*yb|HcGou8?9hY;5cWp+Omg9rWD^caU*N`q8m<$rz>CiXXFOr0 zVj%1}7Yip`i{P|d5u9-^!W|BC*b|A~b$BOVdkZV;?n4aT$;a2V{@`#EJ}J2_=zx+uuR zbfO^)aH?kD{XdpRW2^;#J`?Opv2~n^G5zdvq4&8ILVE?&V=5P_#S|=54$l`+iAY#+ zHrjWYMreSjdVtTGv!O;Cb;1=lX$8q|P$!FT((+!%Pz}QXXbgaaEwV_mVfYLKA=NNg zj@fn_&xXMkO)Rca$0@gJ0kB&q91h!Lz^@K@pcP&ZHfil(i?6&Pb=V)Tb`;V&?!(o= zr;y+K5c0e3Lv9$Se&#FyACay68<#* z+5lpEkbX`XL@urmdlq)HE5!9M%SQGv%SCjv%Ex4K$cCr0NeAR`%Lm0S(unpFQIB#G zQVeihsuFC8aRaS28lgY0QY9bWq#ySA2l^p#R^9{et{rpxDdVc*8g4>H+YQL-7=!%on^4$$8;W{vK~dKYC~O~ryk?B#qu^<| zhXyb-CH($3{CNgI2)=@j2oyXWXaM0T_}NSfznMY+5}Zdw^*d1XJvgPOkMdL?SHU+H zDe$RLJbZ4F1S=H%VS%I%@Zp5uh0?yT1QVV_9Jl9Eh_>fajJ?Pq7j45S7jcS5hJ1iW&i^Z6wa^bm z)Wdcyl=0mqq7<}I#2|J#Lm7XQ#cb4EKSdprQA;B-z+}`q#$?zA)R4}%QD(gDc5lTQ zaGmg>R|kCL-2vYPbbt)G7?gbTG5MwfEaU3&jN1l2cqJEEeFIXi--n!z$57bw48{Ef z%DW#zb>Bm%?7asS-8YaCDDNDC@{U0$YafKt)_y2y?t#L_UdU`1gRF*8D#jqY2G9J} zT}byEaxmzZTh&5GCK><{$)_d_4Ir_oj*j@k8aiSzy*D}^^ZfH`X$VHK(}DH;!PvZG zHvYNo;Gfq4WE|b)lhc7w{Wh?SZw4(4ZmI^>Oq_Bqc(Fw-@Wpaz&zJmSPQZQK2{^@E zf&GLBu%7S+-ZOrf8A-;#DH#^XkS7GCv3yyY{E9;=e2h~%e1uavY=m1XY=~PrbdXCr zypu~NvYlHpIF;wLuLZw^kGY^!;01muvId`opNz0lfUJme*e{~;9&6Vg)a01_4Irl1 zim^;a~(L3Ggw_F zkuU^mSvSD5@c{%j-iOGhaVQ@Fs2T;zvu@xCH1yqrdK7vcLC;;N?Y<4Qt=&iu)VB2E z6KU&(@@t(?TGv5ECzRl`u%d~M{E|kd}z z)C}P`rYoYTlLimGl5@|Z#RISEys~NW#+iPe*#=g{Nmo@Jg0odIZt?xvx|9;GyUrQm~_(jDbp$c z`%I_EcS&MCH}P{T`^ilOA2A}&&G^k{tSJL%3Y#K?*`O(jq~CIj*|=v8184zW zlUi75QvsiOUk4@Z8*ktE3L^Uf$_4@OmJW&sCMXmQ0PgUQpcX}6({pcz?mJL}qOWP~ zo1v`_${V_%w7!!D!T<^?o9W0eZGyZKT5^%O3?PZ}x=+jRGl1)80EFl}Xz)aF6N0D4 z6Y-8D|O>GM^@=GoSKHWjWy&%6git%yH7!nM=a^G7mCe z!pm}=q^Ak*X%|DjQ%*WU5-zeUWc_|wDdTr^t&Gp%^-3P!Y*!2UY@3?@7bLOwsG}`o z{lNyHe?5Vu-`>Y!L~j60hAqHjScMZ{3*l1_yr#m=GMB3!Lqz8UluQZ#?`{BISuK-f zV?TlPW>E1e`t4&?@27i}Jf41};`waJ5$k*0-E-JPF6OqGGXJjNfR+`i~6&j{@;5=i7T( zjk@PH0HZ3L0hb3Ky42u^=wVPy8-b|qSATm0@X5vEoP-8Y^C<>dr))TGg>A$2LMHYp zy8ZTvn$Oc^N6eqjKVbNf{R{oute+d*;Q7Jow!qO#|E>X8F`xEVBZNOmfEHl@6wzZg z-86iX4(o-)Ja`$u(Tw%`48Wi<;thlm7&IrbQ{DhtXu!ZA8bA$Bg3W`K#+mSmV>u{i z-h}9$7nIlk5-N(3%D%@?i)a6u-tifF{yYQ7A|n2?n9Bf?kd!${M8Q)-{C9ChO_Vc# zB)061MBzu5bV3aF2=K+Ao)3ji2*CM$7s9LISL>vgpQ?MmTKlW@gy7dY6D)g`Ua{;_ zc*?p*=`qt@)yGU9X+2>6RBw#^YtzAbKiS-wfAr$x`A053p>Wvd>HH&?{(+*8q-KR| zP%QtMpetwqXIW4C>ryxsaE?{nPn{xq8JBg_@Jc&uWEcQr{qDtLP=9HXYc?!~4KBLg!!rFe*kYCoGLbmH?)nQzYkvZ%R3x`Qg~I0BP}wvD z6-~pl7?=e{|LePF1p$%TPAJA`KQ$#tR#`Kop$Vi@ky?5k;!2t!eiqTiE!cy9hNzNO z2rF!T;hWbs?w8kgpNjG5(yrHWeX!I-q3qRdCsjSNMEs8d3LH%dg~) zj8o3d(^pb&iCHE0A2p3>`}$nS_1((eZJVWCQa7Bj)n6rMWwPvNGsMDZ%~7MD*ZgdH zbc2}Hk&P!W9ojBocW{-2o5s>pZZ@K)+%>T(PHCl-hw@4ZZz)l!;HA_oRqzuPmIz%$ z5+e(ee#RPj3Ly(f;t>KQF>`iWV%bUi_p{DwjKOG-!C3#|4ZyI@oWl7!Q7iJyrgqqO=_%00bFST&sWE`-zAH}DJXuvZ@_`u?^_!tMFW6OIprj$H0rc=$?( z&=K3t#Xs9si5#^}U-qkG+WOPZ_B-X>#kb43%1yIF-d*;fuGa@Y>3Hv$=8(ScuG6{> ze^xdf!vGlT_boR4Y6Uj^3Zz_)S+81?MZYeJRj=+jhjzt3H2{LucpUi1`YLG0bU{kn zBS`*>7y$10cYX3Z?-Tf5?Yi$*(ESg$jMn=O$&L3kyo+ueHjNwJr|dVhM$C3V=m(1q z&iw{0oS&a>=Gbpk!*jqgOW>$|%2F}+)YX!{VVh(F+_ua6J8zfwGTkBPrnp_sU4?>z zyUGql59PTG;INj9Fv9>C>z!Ean)#dAH8VG}t0ZqAXHqGK*4m|sF zU>*3h0W8wXg|#?HVwJ(9_=#fx@%+`Z3dl9%XabKRxoyS(DjWJKCO`v*^EsjzT}#Sn_^ja)I|- z3lpA$7CJmXS)UO+>UezVX|LmJWypuO%7-4uH@1-G=UkCQRH!DT@XJ-LU}hN zRrEkmLCb_sPSY!w)Y{i}@#PbjV@oHjqe`CY2Nranu!$`>Vj5QZ#aZw4&EnP}YfoB) zEc@kx->T#0#v9MrOYfBT65p-lFSbi1@bmr3Nh?3oPG9|zaoW<&=CQm7v6da5>_kob z3h5wD%KiIWnp+&w@?HM@S?`t8{G{!*TFk(AKIzYEguw^`GS+{#R-7&57uC*JU#wG* z!mW@O!K08v=2R;gMqab4m0**Pyw@zUnXg#nvM4aiX1(H2$a?jWX$tJcLKejk>|0+s z4pB`Q7;L=mv0Kjw_!jnqU(p~1UnCgs67#EvCvvMtFyDU+ zGAc$VQc8y=lJL$kscZ<6v3LJ8DHTKuuv>3Ps2Y12Uq1T6Ho4)6mS5gO@hfpXhfM+- zzt!_;+^1xJZQXIBy7k8lOE!v`l&t;PFkSQqolxNenju18srxVbR$FE1A>$u59J})U zRxy_Y>yJ5XWc+3@*56`nHZSB|tCx3t#ks34JW6?9h!3}NUK5A%)iGA3f>Bn5oJVYO znGDR@0dO=`;> z?DR7X{zd%|P&`1v9|VN2))7^F@;abBvazTTbSy=Ot^S*9k#$*ji%P{S| z(v}vaEk^@cc8a<2ekkQO{}Y+Zy!)h#xc5pK@a~o};M#VEF=T?V{>BS)#YNR}zF4M` z_PKz{RdK=ukWe1wTwf0P>{d1foc!~~01&y%SL|o7hrf6be2z8jpP8qEc3c-kU%LzW zDEPepzyJt>ONL%2)ZTv>T|NE}_l%()=d^(ym-K;dhvdERjX)US))L28RK9}N%Jt>;|64%;|9JuzZ#Lx9XIjULyW}?ynmU#0HK1F z@q=e9#-dsaj@T|)s*>^%k5axTw_;u-nt(rtLUtRS0mx^*VwH#oPVsQy7W0MWIK1OS z<3vyj!x{J0x8Q2W-QQ&Z{uBeiqrlbv-&|4fZW)8U1e$)eZ8ENfX&q z^>*%8bKZGC!+sSJ`y@ghvtab6V=TscV*uakFIk}!`!VGhpqLlKqnsazZvdTaig|sbxUTZ7A-#2l*ZMAieeOByE#q zw2wnf-5A)Ww1G}QB`CV)!^w-u@RM=$^Zi;O5BI4CKHRQIzP(<`vunj^kLIN(oLg5) zc$96C^G(J`ee{-7j^WF`)N|)ve$0%0@i!Nkg}yT6Tz>G(!gWV~6x#mFLE+6}UvsTH z@FCms?{~3nJhY2r`vHalFcxEx-X2BfMEUcP_Dk~%Nky#@R7m($Kt4&CS1C(@P2s8y zn?hj%t89KglVnytlT=nIi&SO3X#KQvD2KH*l@ ztr5}EW1imAW0BFQ**PFxAMB5FDfqjNJX3^ z{LLYfz~?`a_&)uCv~>SR0;`X16IlJrR^Ii8Hgc@^ekDm@_i~cJnq?%?_C*-(LG5lg~@r%X161QkZC4OR(n)u~~EF>fGL*4kq z9qQqct7XXnE2Vt>S4fh5S4#LhtdQ`tT6W6MQsk7c(Lym_IsW6`N4bu9{>*X6={vTA zmp@?t_R1y_!g17jrLct8B4S3|lAjG12<%pxPZHYCOM!%le#Avudys>|W-;9Dce71G z5&U$%JfmMcV=>mhT;|v&YVwYoiKLvilq8q@6-hevXOd*fF=pvlB_@ezOD2g}8y4Bv zi%b$xZcO5#0jy`j1KH061+t5Ig>W5p4x4|>HB9)Vci0l~ps;00nTdLs;qu^5Z7{>+8*+RO`Ci8ld?2`Hs5C&?y%OOi-Bjs_scESspxBA;Z2ydCnm{nCL})O#WM~-Q3BL%A!%h+G2OT1~4|_z+|HU_AzL3yGEK^3n*vT2|Z?*mpq8?8vTNiO200000NkvXXu0mjf3U})K literal 0 HcmV?d00001 diff --git a/build/icons/32x32.png b/build/icons/32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..7fdd3086a60b41df5e1d9563c0ec25b374005f17 GIT binary patch literal 2893 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 literal 0 HcmV?d00001 diff --git a/build/icons/512x512.png b/build/icons/512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..9606b3169b2a25d742d8167352a5e71ff17f2569 GIT binary patch literal 172621 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 W>n;>@Voq`Z0000oIAKv@^-mG$r9K&# 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 B)1?3a literal 0 HcmV?d00001 diff --git a/build/icons/favicon.ico b/build/icons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4da7a781ef46af6aaea856e035a8ced8bca247c4 GIT binary patch literal 21678 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 literal 0 HcmV?d00001 diff --git a/build/icons/icon.ico b/build/icons/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f67e8c427edc5df3ec9192e18c7c45ce94b95f3f GIT binary patch literal 262206 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 literal 0 HcmV?d00001 diff --git a/build/script/installer.nsh b/build/script/installer.nsh new file mode 100644 index 0000000..e69de29 diff --git a/cmd/bin.js b/cmd/bin.js new file mode 100644 index 0000000..f62f4ba --- /dev/null +++ b/cmd/bin.js @@ -0,0 +1,199 @@ +/** + * ee-bin 配置 + * 仅适用于开发环境 + */ +module.exports = { + /** + * development serve ("frontend" "electron" ) + * ee-bin dev + */ + dev: { + frontend: { + directory: './frontend', + cmd: 'npm', + args: ['run', 'dev'], + port: 8080, + }, + electron: { + directory: './', + cmd: 'electron', + args: ['.', '--env=local'], + watch: true, + delay: 1000, + } + }, + + /** + * 构建 + * ee-bin build + */ + build: { + frontend: { + directory: './frontend', + cmd: 'npm', + args: ['run', 'build'], + }, + electron: { + type: 'typescript', + }, + win64: { + cmd: 'electron-builder', + directory: './', + args: ['--config=./cmd/builder.json', '-w=nsis', '--x64'], + }, + win32: { + args: ['--config=./cmd/builder.json', '-w=nsis', '--ia32'], + }, + win_e: { + args: ['--config=./cmd/builder.json', '-w=portable', '--x64'], + }, + win_7z: { + args: ['--config=./cmd/builder.json', '-w=7z', '--x64'], + }, + mac: { + args: ['--config=./cmd/builder-mac.json', '-m'], + }, + mac_arm64: { + args: ['--config=./cmd/builder-mac-arm64.json', '-m', '--arm64'], + }, + linux: { + args: ['--config=./cmd/builder-linux.json', '-l=deb', '--x64'], + }, + linux_arm64: { + args: ['--config=./cmd/builder-linux.json', '-l=deb', '--arm64'], + }, + go_w: { + directory: './go', + cmd: 'go', + args: ['build', '-o=../build/extraResources/goapp.exe'], + }, + go_m: { + directory: './go', + cmd: 'go', + args: ['build', '-o=../build/extraResources/goapp'], + }, + go_l: { + directory: './go', + cmd: 'go', + args: ['build', '-o=../build/extraResources/goapp'], + }, + python: { + directory: './python', + cmd: 'python', + args: ['./setup.py', 'build'], + }, + }, + + /** + * 移动资源 + * ee-bin move + */ + move: { + frontend_dist: { + src: './frontend/dist', + dest: './public/dist' + }, + go_static: { + src: './frontend/dist', + dest: './go/public/dist' + }, + go_config: { + src: './go/config', + dest: './go/public/config' + }, + go_package: { + src: './package.json', + dest: './go/public/package.json' + }, + go_images: { + src: './public/images', + dest: './go/public/images' + }, + python_dist: { + src: './python/dist', + dest: './build/extraResources/py' + }, + }, + + /** + * 预发布模式(prod) + * ee-bin start + */ + start: { + directory: './', + cmd: 'electron', + args: ['.', '--env=prod'] + }, + + /** + * 加密 + */ + encrypt: { + frontend: { + type: 'none', + files: [ + './public/dist/**/*.(js|json)', + ], + cleanFiles: ['./public/dist'], + confusionOptions: { + compact: true, + stringArray: true, + stringArrayEncoding: ['none'], + stringArrayCallsTransform: true, + numbersToExpressions: true, + target: 'browser', + } + }, + electron: { + type: 'confusion', + files: [ + './public/electron/**/*.(js|json)', + ], + cleanFiles: ['./public/electron'], + specificFiles: [ + './public/electron/main.js', + './public/electron/preload/bridge.js', + ], + confusionOptions: { + compact: true, + stringArray: true, + stringArrayEncoding: ['none'], + deadCodeInjection: false, + stringArrayCallsTransform: true, + numbersToExpressions: true, + target: 'node', + } + } + }, + + /** + * 执行自定义命令 + * ee-bin exec + */ + exec: { + // 单独调试,air 实现 go 热重载 + go: { + directory: './go', + cmd: 'air', + args: ['-c=config/.air.toml' ], + }, + // windows 单独调试,air 实现 go 热重载 + go_w: { + directory: './go', + cmd: 'air', + args: ['-c=config/.air.windows.toml' ], + }, + // 单独调试,以基础方式启动 go + go2: { + directory: './go', + cmd: 'go', + args: ['run', './main.go', '--env=dev','--basedir=../', '--port=7073'], + }, + python: { + directory: './python', + cmd: 'python', + args: ['./main.py', '--port=7074'], + stdio: "inherit", // ignore + }, + }, +}; \ No newline at end of file diff --git a/cmd/builder-linux.json b/cmd/builder-linux.json new file mode 100644 index 0000000..06b1f36 --- /dev/null +++ b/cmd/builder-linux.json @@ -0,0 +1,40 @@ +{ + "productName": "PQS9100工具箱", + "appId": "com.njcn.pqs9100.tool", + "copyright": "© 2025 njcn Technology Co., Ltd.", + "directories": { + "output": "out" + }, + "asar": true, + "files": [ + "**/*", + "!cmd/", + "!data/", + "!electron/", + "!frontend/", + "!logs/", + "!out/", + "!go/", + "!python/" + ], + "extraResources": [ + { + "from": "build/extraResources", + "to": "extraResources" + } + ], + "publish": [ + { + "provider": "generic", + "url": "" + } + ], + "linux": { + "icon": "build/icons/icon.icns", + "artifactName": "${productName}-${os}-${version}-${arch}.${ext}", + "target": [ + "deb" + ], + "category": "Utility" + } +} \ No newline at end of file diff --git a/cmd/builder-mac-arm64.json b/cmd/builder-mac-arm64.json new file mode 100644 index 0000000..6e655f7 --- /dev/null +++ b/cmd/builder-mac-arm64.json @@ -0,0 +1,38 @@ +{ + "productName": "PQS9100工具箱", + "appId": "com.njcn.pqs9100.tool", + "copyright": "© 2025 njcn Technology Co., Ltd.", + "directories": { + "output": "out" + }, + "asar": true, + "files": [ + "**/*", + "!cmd/", + "!data/", + "!electron/", + "!frontend/", + "!logs/", + "!out/", + "!go/", + "!python/" + ], + "extraResources": [ + { + "from": "build/extraResources", + "to": "extraResources" + } + ], + "publish": [ + { + "provider": "generic", + "url": "" + } + ], + "mac": { + "icon": "build/icons/icon.icns", + "artifactName": "${productName}-${os}-${version}-${arch}.${ext}", + "darkModeSupport": true, + "hardenedRuntime": false + } +} \ No newline at end of file diff --git a/cmd/builder-mac.json b/cmd/builder-mac.json new file mode 100644 index 0000000..6e655f7 --- /dev/null +++ b/cmd/builder-mac.json @@ -0,0 +1,38 @@ +{ + "productName": "PQS9100工具箱", + "appId": "com.njcn.pqs9100.tool", + "copyright": "© 2025 njcn Technology Co., Ltd.", + "directories": { + "output": "out" + }, + "asar": true, + "files": [ + "**/*", + "!cmd/", + "!data/", + "!electron/", + "!frontend/", + "!logs/", + "!out/", + "!go/", + "!python/" + ], + "extraResources": [ + { + "from": "build/extraResources", + "to": "extraResources" + } + ], + "publish": [ + { + "provider": "generic", + "url": "" + } + ], + "mac": { + "icon": "build/icons/icon.icns", + "artifactName": "${productName}-${os}-${version}-${arch}.${ext}", + "darkModeSupport": true, + "hardenedRuntime": false + } +} \ No newline at end of file diff --git a/cmd/builder.json b/cmd/builder.json new file mode 100644 index 0000000..8d4fe9b --- /dev/null +++ b/cmd/builder.json @@ -0,0 +1,50 @@ +{ + "productName": "PQS9100工具箱", + "appId": "com.njcn.pqs9100.tool", + "copyright": "© 2025 njcn Technology Co., Ltd.", + "directories": { + "output": "out" + }, + "asar": true, + "files": [ + "**/*", + "!cmd/", + "!data/", + "!electron/", + "!frontend/", + "!logs/", + "!out/", + "!go/", + "!python/" + ], + "extraResources": { + "from": "build/extraResources/", + "to": "extraResources" + }, + "nsis": { + "oneClick": false, + "allowElevation": true, + "allowToChangeInstallationDirectory": true, + "installerIcon": "build/icons/icon.ico", + "uninstallerIcon": "build/icons/icon.ico", + "installerHeaderIcon": "build/icons/icon.ico", + "createDesktopShortcut": true, + "createStartMenuShortcut": true, + "shortcutName": "PQS9100工具箱" + }, + "publish": [ + { + "provider": "generic", + "url": "" + } + ], + "win": { + "icon": "build/icons/icon.ico", + "artifactName": "${productName}-${os}-${version}-${arch}.${ext}", + "target": [ + { + "target": "nsis" + } + ] + } +} \ No newline at end of file diff --git a/electron/config/config.default.ts b/electron/config/config.default.ts new file mode 100644 index 0000000..4988ab4 --- /dev/null +++ b/electron/config/config.default.ts @@ -0,0 +1,66 @@ +import path from 'path'; +import {getBaseDir} from 'ee-core/ps'; +import {type AppConfig} from 'ee-core/config'; + +const config: () => AppConfig = () => { + return { + openDevTools: false, + singleLock: true, + windowsOption: { + title: 'PQS9100工具箱', // 软件标题 + width: 980, // 软件窗口宽度 + height: 650, // 软件窗口高度 + minWidth: 800, // 软件窗口最小宽度 + minHeight: 650, // 软件窗口最小高度 + autoHideMenuBar: true, // 默认不显示菜单栏, + webPreferences: { + webSecurity: true, + contextIsolation: false, + nodeIntegration: true, + }, + frame: true, + show: false, + icon: path.join(getBaseDir(), 'public', 'images', 'logo-32.png'), + }, + logger: { + level: 'INFO', + outputJSON: false, + appLogName: 'pqs-9100_tool.log', + coreLogName: 'pqs-9100_tool-core.log', + errorLogName: 'pqs-9100_tool-error.log', + }, + remote: { + enable: false, + url: '', + }, + socketServer: { + enable: true, + port: 7070, + path: "/socket.io/", + connectTimeout: 45000, + pingTimeout: 30000, + pingInterval: 25000, + maxHttpBufferSize: 1e8, + transports: ["polling", "websocket"], + cors: { + origin: true, + }, + channel: 'socket-channel', + }, + httpServer: { + enable: true, + https: { + enable: false, + key: '/public/ssl/localhost+1.key', + cert: '/public/ssl/localhost+1.pem', + }, + host: '127.0.0.1', + port: 7071, + }, + mainServer: { + indexPath: '/public/dist/index.html', + } + }; +}; + +export default config; \ No newline at end of file diff --git a/electron/config/config.local.ts b/electron/config/config.local.ts new file mode 100644 index 0000000..7663064 --- /dev/null +++ b/electron/config/config.local.ts @@ -0,0 +1,14 @@ +import { type AppConfig } from 'ee-core/config'; + +const config: () => AppConfig = () => { + return { + openDevTools: { + mode: 'bottom' + }, + jobs: { + messageLog: false + } + }; +}; + +export default config; \ No newline at end of file diff --git a/electron/config/config.prod.ts b/electron/config/config.prod.ts new file mode 100644 index 0000000..567a8c9 --- /dev/null +++ b/electron/config/config.prod.ts @@ -0,0 +1,9 @@ +import { type AppConfig } from 'ee-core/config'; + +const config: () => AppConfig = () => { + return { + openDevTools: false, + }; +}; + +export default config; \ No newline at end of file diff --git a/electron/controller/cross.ts b/electron/controller/cross.ts new file mode 100644 index 0000000..efe4b59 --- /dev/null +++ b/electron/controller/cross.ts @@ -0,0 +1,63 @@ +import { crossService } from '../service/cross'; + +/** + * Cross + * @class + */ +class CrossController { + + /** + * View process service information + */ + info() { + crossService.info(); + return 'hello electron-egg'; + } + + /** + * Get service url + */ + async getUrl(args: { name: string }): Promise { + const { name } = args; + const serverUrl = crossService.getUrl(name); + return serverUrl; + } + + /** + * kill service + * By default (modifiable), killing the process will exit the electron application. + */ + async killServer(args: { type: string; name: string }): Promise { + const { type, name } = args; + crossService.killServer(type, name); + return; + } + + /** + * create service + */ + async createServer(args: { program: string }): Promise { + const { program } = args; + if (program == 'go') { + crossService.createGoServer(); + } else if (program == 'java') { + crossService.createJavaServer(); + } else if (program == 'python') { + crossService.createPythonServer(); + } + + return; + } + + /** + * Access the api for the cross service + */ + async requestApi(args: { name: string; urlPath: string; params: any }): Promise { + const { name, urlPath, params} = args; + const data = await crossService.requestApi(name, urlPath, params); + return data; + } +} +CrossController.toString = () => '[class CrossController]'; + +export default CrossController; \ No newline at end of file diff --git a/electron/controller/effect.ts b/electron/controller/effect.ts new file mode 100644 index 0000000..e713ec2 --- /dev/null +++ b/electron/controller/effect.ts @@ -0,0 +1,63 @@ +import { dialog } from 'electron'; +import { getMainWindow } from 'ee-core/electron'; + +/** + * effect - demo + * @class + */ +class EffectController { + + /** + * select file + */ + selectFile(): string | null { + const filePaths = dialog.showOpenDialogSync({ + properties: ['openFile'] + }); + + if (!filePaths) { + return null + } + + return filePaths[0]; + } + + /** + * login window + */ + loginWindow(args: { width?: number; height?: number }): void { + const { width, height } = args; + const win = getMainWindow(); + + const size = { + width: width || 400, + height: height || 300 + } + win.setSize(size.width, size.height); + win.setResizable(true); + win.center(); + win.show(); + win.focus(); + } + + /** + * restore window + */ + restoreWindow(args: { width?: number; height?: number }): void { + const { width, height } = args; + const win = getMainWindow(); + + const size = { + width: width || 980, + height: height || 650 + } + win.setSize(size.width, size.height); + win.setResizable(true); + win.center(); + win.show(); + win.focus(); + } +} +EffectController.toString = () => '[class EffectController]'; + +export default EffectController; \ No newline at end of file diff --git a/electron/controller/example.ts b/electron/controller/example.ts new file mode 100644 index 0000000..a1138ef --- /dev/null +++ b/electron/controller/example.ts @@ -0,0 +1,16 @@ +/** + * example + * @class + */ +class ExampleController { + + /** + * test + */ + async test(): Promise { + return 'hello electron-egg'; + } +} +ExampleController.toString = () => '[class ExampleController]'; + +export default ExampleController; \ No newline at end of file diff --git a/electron/controller/os.ts b/electron/controller/os.ts new file mode 100644 index 0000000..29260d6 --- /dev/null +++ b/electron/controller/os.ts @@ -0,0 +1,167 @@ +import fs from 'fs'; +import path from 'path'; +import { app as electronApp, dialog, shell } from 'electron'; +import { windowService } from '../service/os/window'; + +/** + * example + * @class + */ +class OsController { + + /** + * All methods receive two parameters + * @param args Parameters transmitted by the frontend + * @param event - Event are only available during IPC communication. For details, please refer to the controller documentation + */ + + /** + * Message prompt dialog box + */ + messageShow(): string { + dialog.showMessageBoxSync({ + type: 'info', // "none", "info", "error", "question" 或者 "warning" + title: 'Custom Title', + message: 'Customize message content', + detail: 'Other additional information' + }) + + return 'Opened the message box'; + } + + /** + * Message prompt and confirmation dialog box + */ + messageShowConfirm(): string { + const res = dialog.showMessageBoxSync({ + type: 'info', + title: 'Custom Title', + message: 'Customize message content', + detail: 'Other additional information', + cancelId: 1, // Index of buttons used to cancel dialog boxes + defaultId: 0, // Set default selected button + buttons: ['confirm', 'cancel'], + }) + let data = (res === 0) ? 'click the confirm button' : 'click the cancel button'; + + return data; + } + + /** + * Select Directory + */ + selectFolder() { + const filePaths = dialog.showOpenDialogSync({ + properties: ['openDirectory', 'createDirectory'] + }); + + if (!filePaths) { + return "" + } + + return filePaths[0]; + } + + /** + * open directory + */ + openDirectory(args: { id: any }): boolean { + const { id } = args; + if (!id) { + return false; + } + let dir = ''; + if (path.isAbsolute(id)) { + dir = id; + } else { + dir = electronApp.getPath(id); + } + + shell.openPath(dir); + return true; + } + + /** + * Select Picture + */ + selectPic(): string | null { + const filePaths = dialog.showOpenDialogSync({ + title: 'select pic', + properties: ['openFile'], + filters: [ + { name: 'Images', extensions: ['jpg', 'png', 'gif'] }, + ] + }); + if (!filePaths) { + return null + } + + try { + const data = fs.readFileSync(filePaths[0]); + const pic = 'data:image/jpeg;base64,' + data.toString('base64'); + return pic; + } catch (err) { + console.error(err); + return null; + } + } + + /** + * Open a new window + */ + createWindow(args: any): any { + const wcid = windowService.createWindow(args); + return wcid; + } + + /** + * Get Window contents id + */ + getWCid(args: any): any { + const wcid = windowService.getWCid(args); + return wcid; + } + + /** + * Realize communication between two windows through the transfer of the main process + */ + window1ToWindow2(args: any): void { + windowService.communicate(args); + return; + } + + /** + * Realize communication between two windows through the transfer of the main process + */ + window2ToWindow1(args: any): void { + windowService.communicate(args); + return; + } + + /** + * Create system notifications + */ + sendNotification(args: { title?: string; subtitle?: string; body?: string; silent?: boolean }, event: any): boolean { + const { title, subtitle, body, silent} = args; + + const options: any = {}; + if (title) { + options.title = title; + } + if (subtitle) { + options.subtitle = subtitle; + } + if (body) { + options.body = body; + } + if (silent !== undefined) { + options.silent = silent; + } + windowService.createNotification(options, event); + + return true + } +} +OsController.toString = () => '[class OsController]'; + +export default OsController; \ No newline at end of file diff --git a/electron/jobs/example/hello.ts b/electron/jobs/example/hello.ts new file mode 100644 index 0000000..16311a4 --- /dev/null +++ b/electron/jobs/example/hello.ts @@ -0,0 +1,10 @@ +import { logger } from 'ee-core/log'; + +/** + * Welcome function + */ +function welcome(): void { + logger.info('[child-process] [jobs/example/hello] welcome !'); +} + +export { welcome }; \ No newline at end of file diff --git a/electron/jobs/example/timer.ts b/electron/jobs/example/timer.ts new file mode 100644 index 0000000..0a12c8d --- /dev/null +++ b/electron/jobs/example/timer.ts @@ -0,0 +1,98 @@ +import { logger } from 'ee-core/log'; +import { isChildJob, exit } from 'ee-core/ps'; +import { childMessage } from 'ee-core/message'; +import { welcome } from './hello'; +import { UserService } from '../../service/job/user'; +import { sqlitedbService } from '../../service/database/sqlitedb'; + +/** + * example - TimerJob + * @class + */ +class TimerJob { + timer: NodeJS.Timeout | undefined; + timeoutTimer: NodeJS.Timeout | undefined; + number: number; + countdown: number; + + constructor() { + this.timer = undefined; + this.timeoutTimer = undefined; + this.number = 0; + this.countdown = 10; // 倒计时 + sqlitedbService.init(); + } + + /** + * handle() method is necessary and will be automatically called + * params transferred parameters + */ + async handle(params: any): Promise { + logger.info("[child-process] TimerJob params: ", params); + const { jobId } = params; + + // Use service in child process + // 1. Ensure that the service does not have Electron's API or dependencies, as Electron does not support them + const userService = new UserService(); + userService.hello('job'); + + // Execute the task + this.number = 0; + this.countdown = 10; + this.doTimer(jobId); + + // sqlite + const userList = await sqlitedbService.getAllTestDataSqlite(); + logger.info('[child-process] Sqlite userList:', userList); + } + + /** + * Pause the job + */ + async pause(jobId: string): Promise { + logger.info("[child-process] Pause timerJob, jobId: ", jobId); + clearInterval(this.timer); + clearInterval(this.timeoutTimer); + } + + /** + * Resume the job + */ + async resume(jobId: string, pid: number): Promise { + logger.info("[child-process] Resume timerJob, jobId: ", jobId, ", pid: ", pid); + this.doTimer(jobId); + } + + /** + * Run the task + */ + async doTimer(jobId) { + // Timer to simulate the task + const eventName = 'job-timer-progress-' + jobId; + this.timer = setInterval(() => { + welcome(); + + childMessage.send(eventName, {jobId, number: this.number, end: false}); + this.number++; + this.countdown--; + }, 1000); + + // Use setTimeout to simulate the task duration + this.timeoutTimer = setTimeout(() => { + // Stop the timer to simulate the task + clearInterval(this.timer); + + // Task completed, reset the front-end display + childMessage.send(eventName, {jobId, number:0, pid:0, end: true}); + + // If it is a childJob task, call exit() to exit the process, otherwise it will stay in memory + // If it is a childPoolJob task, stay in memory and wait for the next business + if (isChildJob()) { + exit(); + } + }, this.countdown * 1000) + } +} +TimerJob.toString = () => '[class TimerJob]'; + +export default TimerJob; diff --git a/electron/main.ts b/electron/main.ts new file mode 100644 index 0000000..f3f9a91 --- /dev/null +++ b/electron/main.ts @@ -0,0 +1,19 @@ +import { ElectronEgg } from 'ee-core'; +import { Lifecycle } from './preload/lifecycle'; +import { preload } from './preload'; + +// New app +const app = new ElectronEgg(); + +// Register lifecycle +const life = new Lifecycle(); +app.register("ready", life.ready); +app.register("electron-app-ready", life.electronAppReady); +app.register("window-ready", life.windowReady); +app.register("before-close", life.beforeClose); + +// Register preload +app.register("preload", preload); + +// Run +app.run(); \ No newline at end of file diff --git a/electron/preload/bridge.ts b/electron/preload/bridge.ts new file mode 100644 index 0000000..0f21b65 --- /dev/null +++ b/electron/preload/bridge.ts @@ -0,0 +1,16 @@ +/* + * 如果启用了上下文隔离,渲染进程无法使用electron的api, + * 可通过contextBridge 导出api给渲染进程使用 + */ + +import { type IpcRenderer, contextBridge, ipcRenderer } from 'electron'; + +// 确保contextBridge.exposeInMainWorld的参数类型正确,这里进行简单的类型定义示例 +type ElectronApi = { + ipcRenderer: IpcRenderer; +}; + +const ele: ElectronApi = { + ipcRenderer, +}; +contextBridge.exposeInMainWorld('electron', ele); \ No newline at end of file diff --git a/electron/preload/index.ts b/electron/preload/index.ts new file mode 100644 index 0000000..9b9bf54 --- /dev/null +++ b/electron/preload/index.ts @@ -0,0 +1,21 @@ +/** + * Preload module, this file will be loaded when the program starts. + */ + +import {logger} from 'ee-core/log'; +import {trayService} from '../service/os/tray'; +import {securityService} from '../service/os/security'; +import {autoUpdaterService} from '../service/os/auto_updater'; + +function preload(): void { + // Example feature module, optional to use and modify + logger.info('[preload] load 5'); + trayService.create(); + securityService.create(); + autoUpdaterService.create(); +} + +/** + * Entry point of the preload module + */ +export { preload }; \ No newline at end of file diff --git a/electron/preload/lifecycle.ts b/electron/preload/lifecycle.ts new file mode 100644 index 0000000..0a22700 --- /dev/null +++ b/electron/preload/lifecycle.ts @@ -0,0 +1,70 @@ +import { app as electronApp, screen } from 'electron'; +import { logger } from 'ee-core/log'; +import { getConfig } from 'ee-core/config'; +import { getMainWindow } from 'ee-core/electron'; + +class Lifecycle { + /** + * Core app has been loaded + */ + async ready(): Promise { + logger.info('[lifecycle] ready'); + } + + /** + * Electron app is ready + */ + async electronAppReady(): Promise { + logger.info('[lifecycle] electron-app-ready'); + + // When double clicking the icon, display the opened window + electronApp.on('second-instance', () => { + const win = getMainWindow(); + if (win.isMinimized()) { + win.restore(); + } + win.show(); + win.focus(); + }); + } + + /** + * Main window has been loaded + */ + async windowReady(): Promise { + logger.info('[lifecycle] window-ready'); + + const win = getMainWindow(); + + // The window is centered and scaled proportionally + // Obtain the size information of the main screen, calculate the width and height of the window as a percentage of the screen, + // and calculate the coordinates of the upper left corner when the window is centered + const mainScreen = screen.getPrimaryDisplay(); + const { width, height } = mainScreen.workAreaSize; + const windowWidth = Math.floor(width * 0.6); + const windowHeight = Math.floor(height * 0.8); + const x = Math.floor((width - windowWidth) / 2); + const y = Math.floor((height - windowHeight) / 2); + win.setBounds({ x, y, width: windowWidth, height: windowHeight }); + + // Delay loading, no white screen + const config = getConfig(); + const { windowsOption } = config; + if (windowsOption?.show == false) { + win.once('ready-to-show', () => { + win.show(); + win.focus(); + }); + } + } + + /** + * Before app close + */ + async beforeClose(): Promise { + logger.info('[lifecycle] before-close'); + } +} +Lifecycle.toString = () => '[class Lifecycle]'; + +export { Lifecycle }; \ No newline at end of file diff --git a/electron/service/cross.ts b/electron/service/cross.ts new file mode 100644 index 0000000..c0f3e04 --- /dev/null +++ b/electron/service/cross.ts @@ -0,0 +1,144 @@ +import { logger } from 'ee-core/log'; +import { getExtraResourcesDir, getLogDir } from 'ee-core/ps'; +import path from 'path'; +import axios from 'axios'; +import { is } from 'ee-core/utils'; +import { cross } from 'ee-core/cross'; + +/** + * cross + * @class + */ +class CrossService { + + info(): string { + const pids = cross.getPids(); + logger.info('cross pids:', pids); + + let num = 1; + pids.forEach(pid => { + let entity = cross.getProc(pid); + logger.info(`server-${num} name:${entity.name}`); + logger.info(`server-${num} config:`, entity.config); + num++; + }) + + return 'hello electron-egg'; + } + + getUrl(name: string): string { + const serverUrl = cross.getUrl(name); + return serverUrl; + } + + killServer(type: string, name: string): void { + if (type == 'all') { + cross.killAll(); + } else { + cross.killByName(name); + } + } + + /** + * create go service + * In the default configuration, services can be started with applications. + * Developers can turn off the configuration and create it manually. + */ + async createGoServer(): Promise { + // method 1: Use the default Settings + //const entity = await cross.run(serviceName); + + // method 2: Use custom configuration + const serviceName = "go"; + const opt = { + name: 'goapp', + cmd: path.join(getExtraResourcesDir(), 'goapp'), + directory: getExtraResourcesDir(), + args: ['--port=7073'], + appExit: true, + } + const entity = await cross.run(serviceName, opt); + logger.info('server name:', entity.name); + logger.info('server config:', entity.config); + logger.info('server url:', entity.getUrl()); + } + + /** + * create java server + */ + async createJavaServer(): Promise { + const serviceName = "java"; + const jarPath = path.join(getExtraResourcesDir(), 'java-app.jar'); + const opt = { + name: 'javaapp', + cmd: path.join(getExtraResourcesDir(), 'jre1.8.0_201/bin/javaw.exe'), + directory: getExtraResourcesDir(), + args: ['-jar', '-server', '-Xms512M', '-Xmx512M', '-Xss512k', '-Dspring.profiles.active=prod', `-Dserver.port=18080`, `-Dlogging.file.path=${getLogDir()}`, `${jarPath}`], + appExit: false, + } + if (is.macOS()) { + // Setup Java program + opt.cmd = path.join(getExtraResourcesDir(), 'jre1.8.0_201.jre/Contents/Home/bin/java'); + } + if (is.linux()) { + // Setup Java program + } + + const entity = await cross.run(serviceName, opt); + logger.info('server name:', entity.name); + logger.info('server config:', entity.config); + logger.info('server url:', cross.getUrl(entity.name)); + } + + /** + * create python service + * In the default configuration, services can be started with applications. + * Developers can turn off the configuration and create it manually. + */ + async createPythonServer(): Promise { + // method 1: Use the default Settings + //const entity = await cross.run(serviceName); + + // method 2: Use custom configuration + const serviceName = "python"; + const opt = { + name: 'pyapp', + cmd: path.join(getExtraResourcesDir(), 'py', 'pyapp'), + directory: path.join(getExtraResourcesDir(), 'py'), + args: ['--port=7074'], + windowsExtname: true, + appExit: true, + } + const entity = await cross.run(serviceName, opt); + logger.info('server name:', entity.name); + logger.info('server config:', entity.config); + logger.info('server url:', entity.getUrl()); + } + + async requestApi(name: string, urlPath: string, params: any): Promise { + const serverUrl = cross.getUrl(name); + const apiHello = serverUrl + urlPath; + console.log('Server Url:', serverUrl); + + const response = await axios({ + method: 'get', + url: apiHello, + timeout: 1000, + params, + proxy: false, + }); + if (response.status == 200) { + const { data } = response; + return data; + } + + return null; + } +} +CrossService.toString = () => '[class CrossService]'; +const crossService = new CrossService(); + +export { + CrossService, + crossService +}; \ No newline at end of file diff --git a/electron/service/effect.ts b/electron/service/effect.ts new file mode 100644 index 0000000..b8d23e8 --- /dev/null +++ b/electron/service/effect.ts @@ -0,0 +1,23 @@ +import { logger } from 'ee-core/log'; + +// effect service +class EffectService { + + // hello + async hello(args: any): Promise<{ status: string; params: any }> { + let obj = { + status:'ok', + params: args + } + logger.info('EffectService obj:', obj); + + return obj; + } +} +EffectService.toString = () => '[class EffectService]'; +const effectService = new EffectService(); + +export { + EffectService, + effectService +} \ No newline at end of file diff --git a/electron/service/example.ts b/electron/service/example.ts new file mode 100644 index 0000000..c8b9f1f --- /dev/null +++ b/electron/service/example.ts @@ -0,0 +1,21 @@ +import { logger } from 'ee-core/log'; + +// example service +class ExampleService { + + async test(args: any): Promise<{ status: string; params: any }> { + let obj = { + status:'ok', + params: args + } + logger.info('ExampleService obj:', obj); + return obj; + } +} +ExampleService.toString = () => '[class ExampleService]'; +const exampleService = new ExampleService(); + +export { + ExampleService, + exampleService +}; \ No newline at end of file diff --git a/electron/service/job/user.ts b/electron/service/job/user.ts new file mode 100644 index 0000000..7fe2143 --- /dev/null +++ b/electron/service/job/user.ts @@ -0,0 +1,19 @@ +import { logger } from 'ee-core/log'; + +/** + * UserService class + */ +class UserService { + + async hello(args: any): Promise<{ status: string; params: any }> { + const obj = { + status: 'ok', + params: args, + }; + logger.info('UserService obj:', obj); + return obj; + } +} +UserService.toString = () => '[class UserService]'; + +export { UserService }; \ No newline at end of file diff --git a/electron/service/os/auto_updater.ts b/electron/service/os/auto_updater.ts new file mode 100644 index 0000000..655144c --- /dev/null +++ b/electron/service/os/auto_updater.ts @@ -0,0 +1,177 @@ +import { app as electronApp } from 'electron'; +import { autoUpdater } from 'electron-updater'; +import { is } from 'ee-core/utils'; +import { logger } from 'ee-core/log'; +import { getMainWindow, setCloseAndQuit } from 'ee-core/electron'; + +/** + * AutoUpdaterService class for automatic updates + */ +class AutoUpdaterService { + private config: { + windows: boolean; + macOS: boolean; + linux: boolean; + options: any; + }; + constructor() { + this.config = { + windows: false, + macOS: false, + linux: false, + options: { + provider: 'generic', + url: 'http://kodo.qiniu.com/' + }, + } + } + + /** + * Create and configure the auto updater + */ + create(): void { + logger.info('[autoUpdater] load'); + const cfg = this.config; + if ((is.windows() && cfg.windows) || + (is.macOS() && cfg.macOS) || + (is.linux() && cfg.linux)) { + // continue + } else { + return; + } + + const status = { + error: -1, + available: 1, + noAvailable: 2, + downloading: 3, + downloaded: 4, + }; + + const version = electronApp.getVersion(); + logger.info('[autoUpdater] current version: ', version); + + // Set the download server address + let server = cfg.options.url; + const lastChar = server.substring(server.length - 1); + server = lastChar === '/' ? server : server + "/"; + cfg.options.url = server; + + try { + autoUpdater.setFeedURL(cfg.options); + } catch (error) { + logger.error('[autoUpdater] setFeedURL error : ', error); + } + + autoUpdater.on('checking-for-update', () => { + // sendStatusToWindow('正在检查更新...'); + }); + autoUpdater.on('update-available', () => { + const data = { + status: status.available, + desc: '有可用更新', + }; + this.sendStatusToWindow(data); + }); + autoUpdater.on('update-not-available', () => { + const data = { + status: status.noAvailable, + desc: '没有可用更新', + }; + this.sendStatusToWindow(data); + }); + autoUpdater.on('error', (err) => { + const data = { + status: status.error, + desc: err, + }; + this.sendStatusToWindow(data); + }); + autoUpdater.on('download-progress', (progressObj) => { + const percentNumber = progressObj.percent; + const totalSize = this.bytesChange(progressObj.total); + const transferredSize = this.bytesChange(progressObj.transferred); + let text = '已下载 ' + percentNumber + '%'; + text = text + ' (' + transferredSize + "/" + totalSize + ')'; + + const data = { + status: status.downloading, + desc: text, + percentNumber, + totalSize, + transferredSize, + }; + logger.info('[addon:autoUpdater] progress: ', text); + this.sendStatusToWindow(data); + }); + autoUpdater.on('update-downloaded', () => { + const data = { + status: status.downloaded, + desc: '下载完成', + }; + this.sendStatusToWindow(data); + + // Allow the window to close + setCloseAndQuit(true); + + // Install updates and exit the application + autoUpdater.quitAndInstall(); + }); + } + + /** + * Check for updates + */ + checkUpdate(): void { + autoUpdater.checkForUpdates(); + } + + /** + * Download updates + */ + download(): void { + autoUpdater.downloadUpdate(); + } + + /** + * Send status to the frontend + */ + sendStatusToWindow(content: any = {}): void { + const textJson = JSON.stringify(content); + const channel = 'custom/app/updater'; + const win = getMainWindow(); + win.webContents.send(channel, textJson); + } + + /** + * Convert bytes to a more readable format + */ + bytesChange(limit: number): string { + let size = ""; + if (limit < 0.1 * 1024) { + size = limit.toFixed(2) + "B"; + } else if (limit < 0.1 * 1024 * 1024) { + size = (limit / 1024).toFixed(2) + "KB"; + } else if (limit < 0.1 * 1024 * 1024 * 1024) { + size = (limit / (1024 * 1024)).toFixed(2) + "MB"; + } else { + size = (limit / (1024 * 1024 * 1024)).toFixed(2) + "GB"; + } + + let sizeStr = size + ""; + let index = sizeStr.indexOf("."); + let dou = sizeStr.substring(index + 1, index + 3); + if (dou === "00") { + return sizeStr.substring(0, index) + sizeStr.substring(index + 3, index + 5); + } + + return size; + } +} +AutoUpdaterService.toString = () => '[class AutoUpdaterService]'; +const autoUpdaterService = new AutoUpdaterService(); + +export { + AutoUpdaterService, + autoUpdaterService +}; \ No newline at end of file diff --git a/electron/service/os/icon.js b/electron/service/os/icon.js new file mode 100644 index 0000000..66ebc5b --- /dev/null +++ b/electron/service/os/icon.js @@ -0,0 +1,15 @@ +const {getMainWindow} = require("ee-core/electron"); + + +class IconService { + + + + update(iconPath) { + const win = getMainWindow(); + win.setIcon(iconPath); + } +} +module.exports = { + iconService: new IconService() +}; \ No newline at end of file diff --git a/electron/service/os/security.ts b/electron/service/os/security.ts new file mode 100644 index 0000000..648516f --- /dev/null +++ b/electron/service/os/security.ts @@ -0,0 +1,31 @@ +import { logger } from 'ee-core/log'; +import { app as electronApp } from 'electron'; + +/** + * SecurityService class for handling security-related operations + */ +class SecurityService { + /** + * Create and configure the security service + */ + create(): void { + logger.info('[security] load'); + const runWithDebug = process.argv.find((e) => { + const isHasDebug = e.includes('--inspect') || e.includes('--inspect-brk') || e.includes('--remote-debugging-port'); + return isHasDebug; + }); + + // Do not allow remote debugging + if (runWithDebug) { + logger.error('[error] Remote debugging is not allowed, runWithDebug:', runWithDebug); + electronApp.quit(); + } + } +} +SecurityService.toString = () => '[class SecurityService]'; +const securityService = new SecurityService(); + +export { + SecurityService, + securityService +}; \ No newline at end of file diff --git a/electron/service/os/tray.ts b/electron/service/os/tray.ts new file mode 100644 index 0000000..79027b2 --- /dev/null +++ b/electron/service/os/tray.ts @@ -0,0 +1,81 @@ +import { Tray, Menu } from 'electron'; +import path from 'path'; +import { isDev, getBaseDir } from 'ee-core/ps'; +import { logger } from 'ee-core/log'; +import { app as electronApp } from 'electron'; +import { getMainWindow, getCloseAndQuit, setCloseAndQuit } from 'ee-core/electron'; + +/** + * 托盘 + * @class + */ +class TrayService { + tray: Tray | null; + config: { + title: string; + icon: string; + } + + constructor() { + this.tray = null; + this.config = { + title: 'electron-egg', + icon: '/public/images/tray.png', + } + } + + /** + * Create the tray icon + */ + create () { + logger.info('[tray] load'); + + const cfg = this.config; + const mainWindow = getMainWindow(); + + // tray icon + const iconPath = path.join(getBaseDir(), cfg.icon); + + // Tray menu items + const trayMenuTemplate = [ + { + label: '显示', + click: function () { + mainWindow.show(); + } + }, + { + label: '退出', + click: function () { + electronApp.quit(); + } + } + ] + + // Set a flag to minimize to tray instead of closing + setCloseAndQuit(false); + mainWindow.on('close', (event: any) => { + if (getCloseAndQuit()) { + return; + } + mainWindow.hide(); + event.preventDefault(); + }); + + // Initialize the tray + this.tray = new Tray(iconPath); + this.tray.setToolTip(cfg.title); + const contextMenu = Menu.buildFromTemplate(trayMenuTemplate); + this.tray.setContextMenu(contextMenu); + // Show the main window when the tray icon is clicked + this.tray.on('click', () => { + mainWindow.show() + }) + } +} +TrayService.toString = () => '[class TrayService]'; +const trayService = new TrayService(); + +export { + trayService +} \ No newline at end of file diff --git a/electron/service/os/window.ts b/electron/service/os/window.ts new file mode 100644 index 0000000..cc9231e --- /dev/null +++ b/electron/service/os/window.ts @@ -0,0 +1,131 @@ +import path from 'path'; +import { BrowserWindow, Notification } from 'electron'; +import { getMainWindow } from 'ee-core/electron'; +import { isProd, getBaseDir } from 'ee-core/ps'; +import { getConfig } from 'ee-core/config'; +import { isFileProtocol } from 'ee-core/utils'; +import { logger } from 'ee-core/log'; + +/** + * Window + * @class + */ +class WindowService { + myNotification: Notification | null; + windows: { [key: string]: BrowserWindow }; + + constructor() { + this.myNotification = null; + this.windows = {} + } + + /** + * Create a new window + */ + createWindow(args: { type: string; content: string; windowName: string; windowTitle: string }): number { + const { type, content, windowName, windowTitle } = args; + let contentUrl: string = ''; + if (type == 'html') { + contentUrl = path.join('file://', getBaseDir(), content) + } else if (type == 'web') { + contentUrl = content; + } else if (type == 'vue') { + let addr = 'http://localhost:8080' + if (isProd()) { + const { mainServer } = getConfig(); + if (mainServer && mainServer.protocol && isFileProtocol(mainServer.protocol)) { + addr = mainServer.protocol + path.join(getBaseDir(), mainServer.indexPath); + } + } + + contentUrl = addr + content; + } + + logger.info('[createWindow] url: ', contentUrl); + const opt = { + title: windowTitle, + x: 10, + y: 10, + width: 980, + height: 650, + webPreferences: { + contextIsolation: false, + nodeIntegration: true, + }, + } + const win = new BrowserWindow(opt); + const winContentsId = win.webContents.id; + win.loadURL(contentUrl); + win.webContents.openDevTools(); + this.windows[windowName] = win; + + return winContentsId; + } + + /** + * Get window contents id + */ + getWCid(args: { windowName: string }): number { + const { windowName } = args; + let win: BrowserWindow; + if (windowName == 'main') { + win = getMainWindow(); + } else { + win = this.windows[windowName]; + } + + return win.webContents.id; + } + + /** + * Realize communication between two windows through the transfer of the main process + */ + communicate(args: { receiver: string; content: any }): void { + const { receiver, content } = args; + if (receiver == 'main') { + const win = getMainWindow(); + win.webContents.send('controller/os/window2ToWindow1', content); + } else if (receiver == 'window2') { + const win = this.windows[receiver]; + win.webContents.send('controller/os/window1ToWindow2', content); + } + } + + /** + * createNotification + */ + createNotification(options: any, event: any): void { + const channel = 'controller/os/sendNotification'; + this.myNotification = new Notification(options); + + if (options.clickEvent) { + this.myNotification.on('click', () => { + let data = { + type: 'click', + msg: '您点击了通知消息' + } + event.reply(`${channel}`, data) + }); + } + + if (options.closeEvent) { + this.myNotification.on('close', () => { + let data = { + type: 'close', + msg: '您关闭了通知消息' + } + event.reply(`${channel}`, data) + }); + } + + this.myNotification.show(); + } + +} +WindowService.toString = () => '[class WindowService]'; +const windowService = new WindowService(); + +export { + WindowService, + windowService +} \ No newline at end of file diff --git a/frontend/.editorconfig b/frontend/.editorconfig new file mode 100644 index 0000000..3454886 --- /dev/null +++ b/frontend/.editorconfig @@ -0,0 +1,14 @@ +# https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/frontend/.env.development b/frontend/.env.development new file mode 100644 index 0000000..8afb7b4 --- /dev/null +++ b/frontend/.env.development @@ -0,0 +1,4 @@ +VITE_TITLE="NPQS9100-自动检测平台工具箱" + +VITE_RSA_PUBLIC_KEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnFMmIVanMxsW5S/qP8Wcxf/J3/i4631BP3UtWkRzO7jAw9HIAgK4Y7X53hXj6zMbfme1vMjQc0mq7m/KrH4WlTYpFexLO6Gnk8oH40F04tp+ABZIq93zNOydPEaVoZeTPH/LlkwrrxVGAMNNIKuebcqapp25JiWtlSFMv4kH/nDAj+2m8+P4zYVM1Ed6gO01eKDEYE3SBA1Ket2BfHTgviR/F8WKwlXh11enywsJnrHTM5dJQdlUxCjHy214TpheYOz/cv9elQnDfFAbmZW8mH5/hgMSTkm3h4uR7ITin6Erg+yc/t1kGaTWrzloyBRMSiFN/Pwr5yQjj+1wQqqUkwIDAQAB" +VITE_RSA_PRIVATE_KEY="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCcUyYhVqczGxblL+o/xZzF/8nf+LjrfUE/dS1aRHM7uMDD0cgCArhjtfneFePrMxt+Z7W8yNBzSarub8qsfhaVNikV7Es7oaeTygfjQXTi2n4AFkir3fM07J08RpWhl5M8f8uWTCuvFUYAw00gq55typqmnbkmJa2VIUy/iQf+cMCP7abz4/jNhUzUR3qA7TV4oMRgTdIEDUp63YF8dOC+JH8XxYrCVeHXV6fLCwmesdMzl0lB2VTEKMfLbXhOmF5g7P9y/16VCcN8UBuZlbyYfn+GAxJOSbeHi5HshOKfoSuD7Jz+3WQZpNavOWjIFExKIU38/CvnJCOP7XBCqpSTAgMBAAECggEAYeWokWRE3TpvwiOZnUpR/aVMdVi75a3ROL5XIpqPV61B+t/bU3cEpl0GF9C5pUeiRi0IoStZb3mI9D1KPW/REKyUWkhabQO1gFYbTnRlkNOn6MILzKX4cwJjDaZeeo4EBPU7N+qHyOOXrU6hdH5FfxhMdV983ajm5eeuupxER1C2kAcIklTeVpTX6EKOgZb5LBp5ssOVm2P42pOauvcRozRcvZmqnErXmukv0H4l3EVNt4rHpTn9riHUC63e8JfiYzVaF6zuNUxv6nHEft0/SRMw11XSTnNfDzcKqgjz6ksFBS/6eQQYKESk+ONC53HUuYHFAknkwsPupDCT2W8FIQKBgQDLHT/xCU3nxGr4vFKBDNaO2D5oK20ECbBO4oDvLWWmQG7f+6TsMy8PgVdMnoL4RfqGlwFAKEpS6KVFHnBVqnNEhcdy9uCI7x7Xx8UnyUtxj1EDTm76uta9Ki9OrlqB6tImDM9+Ya3vGktW37ht4WOx2OsJRhG1dbf6RLwFlH7DWwKBgQDFBxvi5I1BR6hg6Tj7xd2SqOT2Y+BED3xuSYENhWbmMhLJDResaB7mjztbxlYaY2mOE0holWm2uDmVFFhMh4jYXik4hYH8nmDzq9mDpZCZ9pyjYqnAP8THoAa8EbgrUWB8A6BPH4iL3KbMnBfBKY0pIr2xrvnjQjNBAgta7KDRKQKBgCe6oe4wxrdF2TKsC2tIqpMoQxS3Icy/ZGgZr+SYuaBKTCWtoDW/UT40K3JGMxIDBhzbXphBCUCsVt9tM8Xd4EwP6tJW7dZ7B0pnve2pVwNwaAVAiz6p2yUHIle+jN+Koe5lZRSwYIg7WW81tWpwwsJfzqFyvjYDP6hJV4mz4ROvAoGAaRcdnKvjXApomShMqJ4lTPChD3q+SA8qg3jZSOj6tZXHx00gb2kp8jg7pPvpOTIFPy6x1Ha9aCRjMk0ju84fA6lVuzwa1S907wOehUVuF3Eeo1cgy9Y3k3KbpPyeixxgpkUY4JslLdSHc2NemD0dee951qhJyRmqVOZOQDUuoeECgYEAqBw2cAFk3vM97WY06TSldGA8ajVHx3BYRjj+zl62NTQthy8fw3tqxb3c5e8toOmZWKjZvDhg2TRLhsDDQWEYg3LZG87REqVIjgEPcpjNLidjygGX8n3JF2o0O5I/EMvl0s/+LVQONfduOBvhwDqr8QNisbLsyneiAq7umewMolo=" diff --git a/frontend/.env.production b/frontend/.env.production new file mode 100644 index 0000000..5f191a9 --- /dev/null +++ b/frontend/.env.production @@ -0,0 +1,3 @@ +VITE_TITLE="NPQS9100-自动检测平台工具箱" +VITE_RSA_PUBLIC_KEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnFMmIVanMxsW5S/qP8Wcxf/J3/i4631BP3UtWkRzO7jAw9HIAgK4Y7X53hXj6zMbfme1vMjQc0mq7m/KrH4WlTYpFexLO6Gnk8oH40F04tp+ABZIq93zNOydPEaVoZeTPH/LlkwrrxVGAMNNIKuebcqapp25JiWtlSFMv4kH/nDAj+2m8+P4zYVM1Ed6gO01eKDEYE3SBA1Ket2BfHTgviR/F8WKwlXh11enywsJnrHTM5dJQdlUxCjHy214TpheYOz/cv9elQnDfFAbmZW8mH5/hgMSTkm3h4uR7ITin6Erg+yc/t1kGaTWrzloyBRMSiFN/Pwr5yQjj+1wQqqUkwIDAQAB" +VITE_RSA_PRIVATE_KEY="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCcUyYhVqczGxblL+o/xZzF/8nf+LjrfUE/dS1aRHM7uMDD0cgCArhjtfneFePrMxt+Z7W8yNBzSarub8qsfhaVNikV7Es7oaeTygfjQXTi2n4AFkir3fM07J08RpWhl5M8f8uWTCuvFUYAw00gq55typqmnbkmJa2VIUy/iQf+cMCP7abz4/jNhUzUR3qA7TV4oMRgTdIEDUp63YF8dOC+JH8XxYrCVeHXV6fLCwmesdMzl0lB2VTEKMfLbXhOmF5g7P9y/16VCcN8UBuZlbyYfn+GAxJOSbeHi5HshOKfoSuD7Jz+3WQZpNavOWjIFExKIU38/CvnJCOP7XBCqpSTAgMBAAECggEAYeWokWRE3TpvwiOZnUpR/aVMdVi75a3ROL5XIpqPV61B+t/bU3cEpl0GF9C5pUeiRi0IoStZb3mI9D1KPW/REKyUWkhabQO1gFYbTnRlkNOn6MILzKX4cwJjDaZeeo4EBPU7N+qHyOOXrU6hdH5FfxhMdV983ajm5eeuupxER1C2kAcIklTeVpTX6EKOgZb5LBp5ssOVm2P42pOauvcRozRcvZmqnErXmukv0H4l3EVNt4rHpTn9riHUC63e8JfiYzVaF6zuNUxv6nHEft0/SRMw11XSTnNfDzcKqgjz6ksFBS/6eQQYKESk+ONC53HUuYHFAknkwsPupDCT2W8FIQKBgQDLHT/xCU3nxGr4vFKBDNaO2D5oK20ECbBO4oDvLWWmQG7f+6TsMy8PgVdMnoL4RfqGlwFAKEpS6KVFHnBVqnNEhcdy9uCI7x7Xx8UnyUtxj1EDTm76uta9Ki9OrlqB6tImDM9+Ya3vGktW37ht4WOx2OsJRhG1dbf6RLwFlH7DWwKBgQDFBxvi5I1BR6hg6Tj7xd2SqOT2Y+BED3xuSYENhWbmMhLJDResaB7mjztbxlYaY2mOE0holWm2uDmVFFhMh4jYXik4hYH8nmDzq9mDpZCZ9pyjYqnAP8THoAa8EbgrUWB8A6BPH4iL3KbMnBfBKY0pIr2xrvnjQjNBAgta7KDRKQKBgCe6oe4wxrdF2TKsC2tIqpMoQxS3Icy/ZGgZr+SYuaBKTCWtoDW/UT40K3JGMxIDBhzbXphBCUCsVt9tM8Xd4EwP6tJW7dZ7B0pnve2pVwNwaAVAiz6p2yUHIle+jN+Koe5lZRSwYIg7WW81tWpwwsJfzqFyvjYDP6hJV4mz4ROvAoGAaRcdnKvjXApomShMqJ4lTPChD3q+SA8qg3jZSOj6tZXHx00gb2kp8jg7pPvpOTIFPy6x1Ha9aCRjMk0ju84fA6lVuzwa1S907wOehUVuF3Eeo1cgy9Y3k3KbpPyeixxgpkUY4JslLdSHc2NemD0dee951qhJyRmqVOZOQDUuoeECgYEAqBw2cAFk3vM97WY06TSldGA8ajVHx3BYRjj+zl62NTQthy8fw3tqxb3c5e8toOmZWKjZvDhg2TRLhsDDQWEYg3LZG87REqVIjgEPcpjNLidjygGX8n3JF2o0O5I/EMvl0s/+LVQONfduOBvhwDqr8QNisbLsyneiAq7umewMolo=" diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..082d756 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,6 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local +package-lock.json \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..37dea01 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,105 @@ + + + + + + + + + + + +

+
+ + + diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..0b182ab --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,38 @@ +{ + "name": "ee", + "version": "4.0.0", + "scripts": { + "dev": "vite --host --port 8080", + "serve": "vite --host --port 8080", + "build-staging": "vite build --mode staging", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@ant-design/icons-vue": "^6.1.0", + "ant-design-vue": "^3.2.20", + "axios": "^1.12.2", + "jsencrypt": "^3.5.4", + "node-forge": "^1.3.1", + "pinia": "^3.0.3", + "socket.io-client": "^4.8.1", + "store2": "^2.14.4", + "vue": "^3.5.22", + "vue-router": "^4.6.2", + "vuex": "^4.1.0" + }, + "devDependencies": { + "@types/node": "^20.16.0", + "@types/node-forge": "^1.3.14", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/compiler-sfc": "^3.5.22", + "less": "^4.4.2", + "less-loader": "^12.3.0", + "postcss": "^8.5.6", + "postcss-pxtorem": "^6.1.0", + "terser": "^5.44.0", + "typescript": "^5.9.3", + "vite": "^6.4.0", + "vite-plugin-compression": "^0.5.1" + } +} diff --git a/frontend/src/App.vue b/frontend/src/App.vue new file mode 100644 index 0000000..fd3f672 --- /dev/null +++ b/frontend/src/App.vue @@ -0,0 +1,15 @@ + + + diff --git a/frontend/src/api/index.ts b/frontend/src/api/index.ts new file mode 100644 index 0000000..a395175 --- /dev/null +++ b/frontend/src/api/index.ts @@ -0,0 +1,84 @@ + +/** + * Definition of communication channel between main process and rendering process + * format:controller/filename/method + * Definition of communication channels between main process and rendering process + */ +const ipcApiRoute = { + example: { + test: 'controller/example/test', + }, + framework: { + checkForUpdater: 'controller/framework/checkForUpdater', + downloadApp: 'controller/framework/downloadApp', + jsondbOperation: 'controller/framework/jsondbOperation', + sqlitedbOperation: 'controller/framework/sqlitedbOperation', + uploadFile: 'controller/framework/uploadFile', + checkHttpServer: 'controller/framework/checkHttpServer', + doHttpRequest: 'controller/framework/doHttpRequest', + doSocketRequest: 'controller/framework/doSocketRequest', + ipcInvokeMsg: 'controller/framework/ipcInvokeMsg', + ipcSendSyncMsg: 'controller/framework/ipcSendSyncMsg', + ipcSendMsg: 'controller/framework/ipcSendMsg', + startJavaServer: 'controller/framework/startJavaServer', + closeJavaServer: 'controller/framework/closeJavaServer', + someJob: 'controller/framework/someJob', + timerJobProgress: 'controller/framework/timerJobProgress', + createPool: 'controller/framework/createPool', + createPoolNotice: 'controller/framework/createPoolNotice', + someJobByPool: 'controller/framework/someJobByPool', + hello: 'controller/framework/hello', + openSoftware: 'controller/framework/openSoftware', + }, + + // os + os: { + messageShow: 'controller/os/messageShow', + messageShowConfirm: 'controller/os/messageShowConfirm', + selectFolder: 'controller/os/selectFolder', + selectPic: 'controller/os/selectPic', + openDirectory: 'controller/os/openDirectory', + loadViewContent: 'controller/os/loadViewContent', + removeViewContent: 'controller/os/removeViewContent', + createWindow: 'controller/os/createWindow', + getWCid: 'controller/os/getWCid', + sendNotification: 'controller/os/sendNotification', + initPowerMonitor: 'controller/os/initPowerMonitor', + getScreen: 'controller/os/getScreen', + autoLaunch: 'controller/os/autoLaunch', + setTheme: 'controller/os/setTheme', + getTheme: 'controller/os/getTheme', + window1ToWindow2: 'controller/os/window1ToWindow2', + window2ToWindow1: 'controller/os/window2ToWindow1', + }, + + // effect + effect: { + selectFile: 'controller/effect/selectFile', + loginWindow: 'controller/effect/loginWindow', + restoreWindow: 'controller/effect/restoreWindow', + }, + + // cross + cross: { + crossInfo: 'controller/cross/info', + getCrossUrl: 'controller/cross/getUrl', + killCrossServer: 'controller/cross/killServer', + createCrossServer: 'controller/cross/createServer', + requestApi: 'controller/cross/requestApi', + } +} + +/** + * Customize Channel + * Format: Custom (recommended to add a prefix) + */ +const specialIpcRoute = { + appUpdater: 'custom/app/updater', // updater channel +} + +export { + ipcApiRoute, + specialIpcRoute +} + diff --git a/frontend/src/assets/global.less b/frontend/src/assets/global.less new file mode 100644 index 0000000..6eace16 --- /dev/null +++ b/frontend/src/assets/global.less @@ -0,0 +1,15 @@ +#app { + font-family: Avenir, Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-align: center; + color: #2c3e50; +} + +/* 滚动条 */ +::-webkit-scrollbar{width:8px;height:4px} +::-webkit-scrollbar-button{width:10px;height:0} +::-webkit-scrollbar-track{background:0 0} +::-webkit-scrollbar-thumb{background: #ecf3fb; border-radius: 4px;-webkit-transition:.3s;transition:.3s} +::-webkit-scrollbar-thumb:hover{background-color:#1890ff} +::-webkit-scrollbar-thumb:active{background-color:#1890ff} diff --git a/frontend/src/assets/login.png b/frontend/src/assets/login.png new file mode 100644 index 0000000000000000000000000000000000000000..5882c8671f88df3f5662a5f45942eeab17673430 GIT binary patch literal 10404 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/logo.png b/frontend/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bee90679fc43e203c58b6c77d4e33d7e55a4aec2 GIT binary patch literal 22026 zcmV)WK(4=uP)+mZf1J$$kV^-imJ-2$gGNgBhi^w=HV9Z_LC;1&qWLW^FR16=a>G?Uw_jUTG%WUaydND1FZ4{>O;w)MXhppyR-IHk}Iu%JDN&C2KaKIHQS^7#Vu z{@j{-v;?Gu4aI--*FVfqUpJ(QAI zhv%tK0fZJ$8RY>Og^Fua3@Zw?#4+HENCy?4LyWhV1~PoOhx##*d%Q^xrp4R-DxtnQ1bRjXHli%Z?# zC;|E3ep@@a^n0vPx;~kejXdj=58yOfE0ytda;~)wziMmAzk${fnVK@mzgd;h+VkuE zyx7`|1?7@`J&UWK|Bdo-HtRqsP|CTCwZ;c9*o@VF)+kUYZE-nmt?xV!>ug3Tm$k_; zLpxOYd>c=|dg3VMTqS zto~3F<01oStnx6%CVz(x;}m{22TEa_CXOAkjj%X;&u4aG?7ORz`lHK5$bR zgC85TiLkXYajl98t0)Yfa&)y9=;|oa)n1^O56EXBpVedoO*ZTC)}FRyqTfr+OWi}I z7IKUwHMzB3)v5lgL@$&}lM}ntACiX*7#K?RTR#v$VNz|zx~0$S?rsabdE?X3(MDv} zZgLwYAphgfZXExwfA`pR>EHh7^4wv7NTUL+G-QA*R-@w(6#_LA>RKhzQ3xhRRej|- z6KQ}rR{mHiS>bI*pq#_2#L1HgBRr-3rPW@=T6tmpIhH&!I<6l>G(N^=mj~rEYH0_F z)yh+`^&dqZz&YjB7fCEOxBihCOAbIOv{fo_$#Ei|Ob)%=Z_#;&l|s4LDuw4KM+%42 z%2yC5&jY2jab94Y^-O5-v>#M!(c8Iv{<3kX*x*M7ZJlFrdhDBz5_QB2({0)sFQZWz ztr+aHd*&8{af~D9DV+dbR;#7_fBz?+V&bskD>vWW(@Ae< zk1Dnmg22a%BFH$;cPxcp8cl5K5q-hOMTO`-6F zRq|=5PCwq2RdDdY!1Cho-r>RSLOw%#PSci0of^pcrMTgbeC?ny-&dY@yQ8y>C^mO? z_wL#;J2FGgWnWA{N-=qSzl+G_%UI>C>WOr==y!AzSX&A-zRqQcw67|$%G8`rh%BCO ztjb~mXLTiva$)Q|V=Y#ZwN7Qj7$S>~m6x?B56Ap7hV#;>SvQ1po&%giDT|j;jIZw( z;dVKPc1uKj^%k)Tv0;$90@4B+h3~nkP5ly2!Ks5Qf&uWYBZG7n^TDYdDf7r1jeMXE zSDYTxs6w%`BYXJxes&D?y_kShbf>n;=-3+V!dNNK(_Y}~T%m((*3%i^(^yMQp+al5 z7i+Ek3`Y67YOHoZXpJsaBUP=%%2|saWR>sxs^-9eLU}3%m02bSn}@1n)p=O~nvAeW zS6#v(mL|WGwU5Nkv802CM2hkoJLHD&`=@tihx!W)bSVN9zDr1TU*;(Tf5TzXXkW8$ z?_T!p-Ag9(9313-_@wf8OvH)BC}PIZUyF0USM<#&STerO>cI0Cs_s;-E&G+zF0}RK z(_;0V$=Z3SE`L_R*Iye8^EPv)-S@9mt2JCL_R2N?=*ps;yu`?+rnb=Y80}X zLdK(*@hN25vW1MLJ@3<=%ku4gZPM4pcQ)158KgTFk`v+@WL(OqPqI(0g(vQnK_J$P670SiE6lVd{*TLWhf^fAz`C`(e1)29ERA5h`6RpNTq3O9CX(jUiZv#-+WvE)@+TWw8%vIcEq0%dq>M}d(ULwiosRn&azU>5)t z>v*qg?RRk|J!paNil*vVcm|$ez0Rh;hN#%C3XPJ5Tq4@(*#eO;H>CIBg!|6bAT&^o zEY-+Si44`)5JrYt6jO@~wKyhh+1J(kK`ptFq^@XT z0}&9SY=~!KP7Wo)u%|oEw+^ojkytMrEj%5!XKK_UsMIW_s-sj1DODrN)sRXxq+G3W z?a2Z=Iy7Ny2#p~&7Gsko+c}3_wb-r^kj_H)4`-|9_o@cseC7;*3H2E~jTU9Sg_psZ z{tT>ha9uAPEv&^CQ;KTMvRICoFV~nam07ITC|5(~OEpTBn8+k5+AwxR#uA(KR``qC zOL{8J(ze*0k8w_6SM5w|1SGT!Ij7FV`Gju7p?BIiaxOMx)2ieaHW26c7wOC@BH?Ae ziTHdXq!L*wk)cwn|AdZ82$dSlmt*EjHD(veEL3VNRzeobHHIr`jb6@{cx%_Q7oM4l zkHaaPl8;ywG)n1Z`7v4%MFwM90WX-{6V^9h$ zrO+}pUuJTy%xt;F>|%x4xkVOARTe8DkyS)aWAHI}#8xG3R$-j%uTa(Pd@-ibN~4rQ zDMgmFLAFM&&W%_2j;{&>N0$DuPKVXl43x`if6`JXrP{;u(<|HTRQlL89i}D82$ox4 zAkY%Civ&VxBz3dEP?d0B$&};7#xx<%xb*i`I{kfpXE@V2yQXcr6wy_Ho}$n192o%M z*ukayu8gz0O>oy1zJ~J!lHQ;e-WSMiD7+3MXiaLuO-jP^i;TglWHFANBDPSAp&U9& zHOE3VX1*LUUx`^L$CRp;a_FeUFjuNETdGp7#e6Z91A6fEsx38QHa ztgi_z)LbGMl?di4Ftg~Gn6+HIJpsU1kE^L`?<^>i!_BLmh>3=C?Q*$h1TiS(3C=|= zyfoe<;Q+WX7ISNOa!uQ3ceggbvPz+xT4OL+BOp#G52ZmmnzZmjc<*RGy+se~>mPgc z)l`MK1;^~7C9W+1@S7_W%q&!yTMU^ig_I(Q$Usm)WsCF{x6pA#)nnyW4QZ`_INQJxFT;j7qNv zp%X0HqE<|DMNhB1N*JGHnfC-Uyb~<4f>9bR95j3MT&k^N^W;=WcQ#_M5OaKY57~_3 z{rdS19DWoj^u(>4ocOaGxd45tT4brI-a2x2?`RM?&k!L3QIbs$a(2`rAZPA z7;ohPrDn5kdF(zH3RKAx^1UP7%Wdn0<8{E-<1jM0$fL0tKEJoH=HD(%WoS-F*v7)H z-#!ooL`lw1Ej$%}?Q{`X5r~t!(tc;#6~DN@!1O|e>G_b!Im66C$ZTotYJ7EM5i+UF zquUhetyL6|r-hQXuofTeU3=_2x2p{yFmK!8!jp*Mi82qz7kM~3!^qSkQ}ZFA^+9J* znG9zJlOyBFoo!rbO0@mPLzBc*+xRK2Ch+t)>lW7H2Pg9M7xGlA$=UdwooxiH58T~8 z`0UOik0$4MGQGg)OqtoTW4;D8>r zo`Wb(lNu@hw=6jP#tjOXwtj@oh~Go7@Jc3f!8j&()RPkw9~CLlgmD-W9lueEs)cfFDMb;pm5Awb z#K=_4@MM+y<1<{CX=BNOGRpL?d{7}#0T}D04kDHI^s%xch6@PF8k5%VSxK`XC~KT# zu@ltkPH0oY=dC0QUKvyBZM1ylo{rgZ4a(O0u$C8J;BH*3R9L z1wOg)WVzo@p0q)_+QA!-lz@ntB7mFs<~VvFt)_dEu)i9k*{k;PByneCyaCU3oat zzWoB1%6QzW3&*d%9_I4h$2^%SQ&Cw$uR!b-Ak)@T?mq>>4x+@cN++CyUw0fnypQvH z+Zk-r=TuT$DJ^TBaF0cDQleTW^Ag#xV1+%$i`4)IAN^oPB61a&=ph;g_v}px| zA*A3LyxIb12NLq;D~~^XclYvW0dkVtzQjdEZ~QbVl)gqy%ub$0Y#fnsI8S4BlE1tZ zS{5VATrFaBzRE8zj4)L#@x{%1EDpYxTv&vtV{hv7OjU4M7l?MvOFzF*_#&}HjBR?p zI4d~e#De>Y)K4JzO6n)PH;K5f8o=^zB1wPK_KKXgywf?$r6*OWYvxvjV{0PTibyG9 z;Omh^0183C!|@WITptDC@}no*${d2hR9=o28iXJqG6#8`;hPGVMnX>SN`&L|!NDev z=-H?^#l_LZHEsXmmv;cT_GpCR=|w7JU`I1Xw@s0%^7E7(&Tf0l%w<(5(xx4 z6s*2lO0FhYQ03_-28^ehgf>rb6PMhfeJq|0IolI*ZFr7waRS$~i@$Mx-*O*opf^a9 zJ|C0#N=mxO13?eQ$1-x%SunF6K94=CsF$32fI1ixAi&4#}8+@_qf8<2V-2iI|?29o_$dZ&xfTQbJgY|d-J}=0%F4w ztK&BYw}Ey1|Gn^t%Xh}P{$Pr^*dxroF7X#zA8#B7%3Or1rX0f1GY*f`K ziKY{*v{GWCC`^;HUEWBlZDdigzc4=QEI~BohWm2 zc!p1}JqF<7;|dFXXJ7TuTBzfVJ7VqZ$#Z(=){W=5_Gpd^*B|rSOSh@{9Z=}owo!`P z4s~~T)HnEIz0UadkzT&Ff9sYm`|%eKx$}4$fK1;(RM3IRw2MdC7B&H{0ZY1budgX& z-@w)tj(>gOAy@8Cb7y>!iYk!l8btX;oXW}Gtu1T<1OZuJk0PTX7MQlcfvJS)5h78)EQKcv)_Te9d~V**>BkK9<~cjqMqeJfg%6anol8ee<4J3|RMIWoFAh8| z&aSn=9(>oWG4}0!TKLdo(+iS(eDR*;Fg>f-5WyEfA?e} z94Gg7(B{j>ux8-v2UA>mkj^D_H#pXW(X_CFMo7AtVQPD$GpEV<)K`aQj|RTDHOb8< zi?ppu!+6s_LX0OJgIjo2a5gnRd}G!g%(XVe0)G*$s)8lcsX%B;Ut1L#1Icw8O6Z>J!}Jr4>QU=_ZT?!3ux3nx5u8omoD)KEaPZ9|aWs z-R*p4(+-EBPJ0$t1y_VnXp^eB8iCB)Sa9MN$fqZeTPr1SYuLqHvW5#^L^|h-uIAbFSQm~Kwk)JF7!C9RWEtF2SSKLA zbE5w#9h-xH^3!|G9zqK*fV6--MMAc~(fu3oR$=Yx+~2cx>Q(&ctF+VPm(k89jHHEc zf^>FDAF-a2dUQMaXq`ULNq1+q*~0+fS9ce=Il91=dykgezN+=IJ|9^NTL`gP{_)G9 zTbCF{kNJ?wdvjuU57l+9@kZb)Muq8pY_XJJPAHWn5aZj69rWfR-aF7vB~D`N zGXf#kQk=C|cU^Gd76|X6Q189q!)OJrkIwVS)#PYZ-t!)xE%8h*3GcL|6&f|0ZW9T) zKt^j)Xn>IjxllS!kXWg{y+poc0xczplSs9sm=P2K(gH1IXqWm)q`$!h|FzL7YL^Jd z5}Ik?S%@tUCKvd(7Zc(5c)0wGD_Yp9cx?p4UzNe+{NeVd8U?2-F+aX=7l1D(3?|XZYTB9G$DRVYfY0p#RT&muA zO~^iI1i~xXHoXRu#Dzj8wE>g%fbHqdk@qaxXyz&~2b>bBF)OK#wxC!rLLxO^QW!X> zIGBmxlSdUG$H-Kb%ki!xZIyw%iJ1+0(}NM*$t%K|2R8v1u0G=2vegZR z?;Y%F%6+TW@tga}?s0cyj;T`fp3~cVTIn5L3eKfmmeK)J%DV`p^2}^?0cjQ%>vgYh zJ)B{x?3lOSE7uUbd$b*2ITlNf{!YV>FSqP28wG!{QcWG0t3slgfzGtOxgv!Q3$f;6 z$^k*(q}tzA;cO?>nH`^<=Y!oHYuY4LuV|5#Lg58s_t2!D%WS2_)YueX-k+kUGfNMa zU%NCRcS6Se*rg?@mKBa@Le{>y$+_j<$2$!>2Rn$PdD@Hcw?0VPKfgA^LfKLdlQMV~ zAFXo)Vfu|kLa95cjG9c01?DOwi4%#oaIK_B5lgj6jJZ)l{*5KrR?x7T_h~*_TLr!p z=kW?KT@Lw+8_f*`xO``kg~epjA6ZqZ`}~P+&J4BV)n*AyiL43<V&>fhcwv4;@#-4$wJFDjd({z^>b#jpW8Ic_j-hIFR_7K=7-=J?@7qCi0Jp zqj*}&i6$C#X_i7Qg)h?KJIcU?Cy843$xNBgN}a2ERDmirKV9~$Cb-IbLIO90@@O?7 zhWtS_Z4@2!7ARE}zx*@_(CTm<_>tq?vqQ9Hv;5_^ySa0JjO_jyo=j9I)jX;uLuh@7 z(%fW9b)?$lQ0@kIB#{_PL|fuXVp4<#`w88iwvMgq+qgIH7TrL!Qh2W@S89w~<7hFy zxV6voKl*GQfI{BV-3CLw0pB~niz9n_`QAH2^cEthO`_xZCXaOMqTvJcmOWuP%d5%; z=hi78%hA?1%-y^{zWn>|f4B#Y$N7_ee13J356ZUDY_es?p6xTUe}1Ex%D z#j?hm0qfxElf+7WfA|Tr<*j|h0$2=vDyG1-8^iqS;slQ;7O{ZmL01tzJe}By|K_&@ zzR?0cE=m#dnnb#sBd)DYYG!nrWQGE{wNl-1Vb!k++0(6%b$o~wUH{{-ox|p7=L4x` zyOgj_h+P*-{Tc^*`wRTZCyyAPo~LZPSoG6mxoU-k5yECulM>}s(i%A>kXETS`9!HN z)wY8LDlX6MF}OYU1mD&uO;k93s-H~Yk@Xede|t9*Gi5Y2?hel}G8r>l3D{3M8_OM& zzK6)%rCnXLr3pC#BprRDX@6F3V2(2<3=cNO@%KRCg+-`>Z8!6JFp^5=r*5D>kEQ^zU))fnfhF)Y;M zkE%vvwrO#+Kl}6+0GBR~V(r?b-hb)zPCj~TkPlAoc*@mp78({1wS|j&YX8+33agQ0 zW+B;0tJcSE)8zQ~M$7#1&#wUx#TKBm@z!_{^$*k+yH4v^W>eQr%%>~*wmV1FwDa2=mUe%H4^Qu6HUm=^})czh$?eAfB_G2E5 zmiX?Dm52Pr;~b$?M1K0qDIwlI5Mt{?sm^?ZrxmG;pX3sy1V>gUW$G8MeJys7N*EEp z0wqEenM61MbQWV@%?@&=Zz0u|_2Bw&iLhG38b?OI*fI0}yHcaOIK}?{6=fDSxc~ql z07*naRQH|JJKMN4vQ}XJ(?9%(fAi^GuHRh|;CFUcxj0&Qt<$JBZb{#whC+ag@JFA{QwSdOop%z0;nSYvUw;1}&RK5UTe*+t zLS6%NS^`z~=3S+bdQH9=EY>z(<+@s(Y*ty-Up3x2(98SBcJe!?cJuCG$u9By`1Kc; zmw&%Jl0I%N;dehe!ifW`Y(L@a?W6Kq9I*hV7GpjhkNId|^S;vRlXlHm(Xn--@jHEs zOuK+@@6XUx4CpB4XfNjRw1?ITP#hZ=V0xj(P(K)>*Ml$dn%YX~H&KOP48|oQs(4iWu(pX!8^~1x|?h?hwuok(Mm25_tqwEAeOJ z?LcBJuLzcTfwQ87gG;{|PPJuKNX}I$s4B;X2KeAq4?Tr0zP)R0B)(pLE`I%|z?T!r zajPpc!o?e-JRDo#aC_Q?RyS=ruod;uc{7?V_l0`rQ1_{e=y|oaG8qnAPB(oh*jG9Ulrz+7RtPdM?5Jjzm#4;iY#rcyuJ8=FLuP* zf(GRA*(CP$(xWOdn^O_Xp-`I~F<7vR93IHyZm;R#hZT%d8-ec)8P3&@MBhF61-WB&?c3Zmdbni!nKhwlv$Uqx8a9|d|p#>0sDJ=Y8E2FeLj{7pi4>Yq~vA5 zaK&(@d*wLy$(&%NHR-hSJuaR#GUme(Cu4(@AMu3 z&K>NaZ4(Uh1?_lyC|NwdcWx)W?Tu^1F5aEz%GKKpk5`y4TWW%Tm4t7f*~|BjzaC}h zUWjpSMaTEhY8FGwmAgqjpoLAyu({Fv>-3>STXp6@2W=XPo526`+R?Epz_BaexD;0F zm9c*Mi%*yzd-+p(L4Go98Hcj@%|F00QmEd+_ew#H)9(yYcadD#O>q$x1UaSz%_Oam~l> z{tgZeZHyaCGvUi7ZNX}}x+IxP{w@pNtg#qQERbcv?cB5JB`T8Q#r^a-x<8|VP8R6o z&+oxt$2?bi(l6-!Vp;+0yL1fsv~ZmAJ;!1V_V*U~<;_XTWHAC+4uw)>)fAE)oUWgWM7a_Snwy{1z`FbuX0HQL=G_DEoRYX=L0`a{Pl0D6a`lPX+wRd*Y+kTcAQ?*=z^#Xqe0;qz7Zm4QijW@Kz5N8l zS4yQ0mQH&qCAM2~30F&hE0o~RVFY86l(s4sc#IX?)17dP3B2^qFcPI5>)K{#*u9wH z`b5Z)fjqm~9TRc-+`m&Gdws$xFryU*+hC|zA%mgjVzOb{LLTWf@x(;r3mzFSq>%B* z1W=GH{U*I;RfK2d3vG*n!XOZK3(s@(>Y3%gFE8|gP#6AQHGLHO`r2J`!5&T?>c z95aG1WZ)d&INGtIH4Ai(Kls4%laDVmSu(^yJ4(uMuY~a7Ms@5B_ESPX$-ehuYTj*v z`7jym=hsIVov*RjprPwo=*W0<=dgL*RMnCc8sl9EWo4#owUL z*LfUZ_=m1INEZ_@#)n5UfMIwsSNfsD5cR_;d?CqJiog;@ZjFY5#P;( z(OF8y<3U|A?v0iCZ06;+k+%-?GSuHmN3L-J3A_M}mJ>6-LM)U+7RoRF47_Zf*~OLX z8}-iuz(79mIsaDTem~Il>g!5=BkD)27=QW4cY*Mdh3xLRY$EN$j~ADJca=0*t_X3* zo}~72Qs#BZ6+PW1)#Xq+eRRp!X0QbKJqP%cD~7knu9JUzKZUj)x-`j;2W696K}=xbqme2dOw z>HKm2&|X4UB)oJx)$fL|h#7G$7v_QF0F=Xmk3Pz*5Te4 zzj#w1xHUCl6ivmo2lHHbG|r7X3xq)VC0_7AhoH`V2Fle6U^hFoeHmX*t=;7(X6O0p z!Hb8)#x}`O3`sKY@FgQR-#)Z;Vn-aB^&;`c3CMKGaKD}y?KhXEDZfN@s^2@eo4<1I z`FxCi^UzR@VoZ~$$k@!w)%|eJ5!LNqx9^P*Jr7A2(ABvy-q9O^Wmgk#`R9!jkcCh& zGF{>GJBfX?9KBq0%i+DxZyhezVzCm}X5;6d4l^OC%}Qr*$wJ;((l4<@mtaYk$gN~?pA(3CpNUvB z9zVG{LC%Ks6?3!?q>oDbJJV$OP~9?M3LW1?(U6U z`o`c#*XOu$w{aKlr(vkCoxaXIo-$}@g0I8WZ0)62@UM~NVQ zeS3sh1w?{F=<`4+FY&>u<7EXz;mG(a&&+S)4ziLM@Fn9xUN>BQIL*KO=>`7e*Y}_M z+AQ$aoP~<2zjdR8$gsMfKuGM z6!6|qC0d~M$rWf7c;zjatHSM zI9`~JnYbe)nEU+NL#!F#+~GdjGLZEhqk_A;G-sxwbl7a*L)AJa7a|^v%yaSPL;lUB zd1yP3bTG+hRRVzoORnBRqVA$j3g%p`hcqAG)q_TuFG6;ATPda5Vn2fi^ylD7E}*@T z>y5{yY=`Ey^gt_#`wt-~pWUCQj=;vi}K=_mKN`e0>(UmT9H+JB0x!wNne z%yI6>0Q>tJ_tw35YlJUuj&pA+WU^{03yCbA2eTE+#C*j4(Gp)>d&uQmPhRTt8iCnB zb@kc31v=ZF-}t&=SaRQAI$_Zg5E1|ECztv3%KhcPzj#oi)PTkKyM1tIu<`7Oll4lb zKl|i1H=ZmqmR?|=3r}WB{L7zR=Hk_RT)j8S#Qf$bk>2Peg56zR8~SY zz?U~4^I&X_`Bzb-PL$Mf9Yi7?iW`cm$>_QnmZ3i zcsxGC$kaTGHJ4;X^m3aY04ngjm%+I`Iqr=-U%{XagVNNK>n=C>Wc{?ItQMt2I3oqO zND*ODSuD}=E$O=@ld(kH(-TigNxuYZu9Sb-x|nPJ(3-aX+HL0Mpm_5U)iC7j(cS#? zPIB?vd%7t2$?77-e4p9b#@%B(h}0-w+?rsztO;~F_90dtMir<~;L0dm8J*?rhZh)` z*vnvVKzlYzA(O@T0z9qJ+ET8D%$KT^YBlD{HO8hxe)DCbqP|xu0DY|XxvTk-w?q1w zdV*Jk6+#kbBTayzBkOT=XaL{$SrD=XPL>7FSm9ktb<#6IfLbSbQVBb!g#(ZjYc5p< z^93Qa22ild7Sq~6o`H*x%UpbX5AA39=tSa}_~oNn&JJ~v)k&rk34i$RKC@RBGqF*XAbY+o#W50BKzUa z48!AXyuV-Z>HTM`M5}R<*x}1zi*s2VngESZ=}{>D!s z-}lMonvwlQNLViLFgi2ohd(}-NY$BRoqT;G3264Di>1+$;;gg-0PyO@cC1YKg7k+~FPM{ABSNtF0aLhsSm>I$gnf z6Wko0VS3R~H5m-)*!8t>B1@A*ttdYnU|@Dp)P|(ngm)y>qZbt#5jU zo-)nD7Z1z) zTbop@Q+XP{DJg+AASQi_`I0pq*B(vrdA&Ua zL|IEN6Hwg51b9j*Jg*74i?v!i!C%A|ODVII^3QdsjGy2HFA`>dA3<-%bwi+sR*ie2Yty&8ZXe!f=LS zE=Olanm=uOC=E`rnveNPAUX>+y+fSoO^Dc|@x-HUpf}*|gyhDaCSBGvW(^lfy3|i1 zlu{`IA^g>Of)zPV-@~c&+A-z{b`O_4tC4(!ZtV z-6UMOH^!BFW1N3$h~o$PII_1B^omC{!1+^2kkH)1Z3qo6vKT40Vk^PKpI^Zo>*Qzb?>-$VVS zkPS42!scq2oC4bnil%fTAWOTm*AkFTfy;FhhZ(-OHH(QB>1hl2-~aEAdH38&POY-M zE8u(YA7r7D9Q)!Z-0}iaDEJg#Am!@wz^Z2LAe!W@tQ^-{0*Lr#M@L(MOeRZzZwJ|2p2g@1f3>%p&oAC( zrc|R;vvhQ&RjLa@*#Rkep2)L>HZM*;(_KRJYhTwOZe7fP!!;Ezp zV|hHciu?<4CsNG3l?b_%_Wm2y$V>0uYwaM-z@-PXTzW9ev6~OsJ9LnfM|V>w1bCj$ z+2cF7czu-fXAg4i?gV2~3tP(O{_fF(n|_bjTEdq}8~?&s%FVlS@0Nfx5w{=C5}C)# ze;+wCNLxpa6Nh(l?e+*K4)$~6U_XEU&_T+^ASNN;PlBoO&(nuXATcNyVC|BNsj&a*&R0;0*z?xAWcN*GDNYX zVhq3e>JD8U1*}l<>-+B?U}R#R8~0v5kMPT&>lIngqoy3MsP7&Q^h&uc-wGt%Cv6#3 zk^##I37DnK+@gDWqtZ=C;oH(?H-o9=+y4uizrr2J@*6VUyeK3KOG9*fQZ6!;(5y-9ZMaJhAC`-h;b&c=s_U_w{q(-sb1_4YZ<=S($`|j4v({8;xqXb?T?L z1Z11w*3Ad6{GM4~bLvpSg^nK_N|H=(P_6lI!sREgrZj{I#hMiTEdkjExO4X*Uf{ET z&#qT`-(qfM_XxBnC%%2HP(N1dm0V6OE!H-`VmV}Xc9F|B@4wRfp4gvgtq$(lku0i> z8e?Aqm+m)FrCqO+z8bz0ET~$@hAovxvtj{Ef#6G4bAeQgS>UCY((pN0vdlN==ZvZ8TnZ z2WdUN*9YG{dxU+vcaYHzOpNvwzH$hKqh4z$l|&SJE8gy_D z-GPHU@toym-3D=TSH~+KOQ{w?&>X)j5h~d+mieOZ~R40_5@Iw2jJ+=A^@?NHy}L^V&Tvc3+rszrCn9p3NTlyaQ$8q^U+gmqhyQe z`+8Emz0@XDgp$-w!YNLxrx`-m#e+Ph*E1nbj25;W^1h>(&o2u{GqF$!mxW_XLb>{4 zSzqMi76*Cl(UuE%_uX`6`DWni7P6X4kc6S7#d^*0&iQlA9>TVP=Mwu@xa{ERx11GU zXMFqYQ2-9_+T3jHuM0dh9%^-oLVPJkTgnnXzp$1N?cF!X=vX>8ladmZiJ9CRB+Ft# zxW?kt8@7fwD(ekf@TKx-QpdEC!jPdF`lKxO{izSTz!*3xm?$b|M^P`gWuvHuN8Lp_i%WB zb7INYqY_zeKU&dP-G1;GdbVCd?loBQ?b?Xcqb&}y^{^xyhxY8iQ;wStn-_?5^TGI< zzpe7Nyvo$oeNBATD#7+z;lxlEr{6ls&dEuRzF+l8ClwS{9lbj5TjGnVd+{ z8=OUg@6v^$}i57C#N- zTyx2fRW{M{`aGwh@WI`&WG+di0a|#a=GRzPrEKL)Z{l<#1T1qR6Ny zGA4@5a~}&^)MIPlJ8z$C_7Ik_eqX)uV7qEK>w5_C^3U`0Cg)m0(q#PL!?VpE!W!Iq zyrQkT`QQoV+Eyw%+BiI|Vy#siJ7;3&jB-vWHS`QPOOvX+xA5(=$LZ^8r!5~aSK4}$ z@W$PTgodYB|F%A|zOEWvt?Jn@186e%D3fMb*6Uf{G_)__@*|@O2^<>gWnz3fb*U2) zn#l>=BvRcNnU}N03$e|jt9*l&^acsJm13oZL~ovOnr&C<{U0l5`M>ZD0TK~!ax zb1qXWIl_qODWBIu6XDlYv|u>9ZzllX+d_Q9Dosr&nejTng*7yeE?~A?A_~hb0oiKE z##KIi>)`U=#||}LOSKwT?hH432%CniHIvHOnY=Rd<*4I9wx6HfmZlI zhPh^&!v)-aG=_1=p|IN!{ci47TL8YZP@150^;0J9Kfo7~e^!j8i*iVdA3C%UVKqVduWB{7n!s*ye1^9Td--89@Pb)9LC(J`*qzL zultLrVA&HO7P7XBUIKzq!3qyryi{;w*Fva9-WLeDpqR;Ei@q}Wm_=OX7olpWpr=C( z6Jv8!quDvQf4{YZyega>$N(8`JeejA%RnzXy9@mA{HbOS?dk9W7ArMw4R7H%@)w1T z0RzfZP#Ffi@xKUM1?Ak0um0iB=iwg$EpOgej$^xefJBSFrG*3d^49B1$hA^r6yy{( z=caCjV-HHxcdlZp)f)VR<*lhDAg>6w?>*q~fkY$q?ukR}**QRIak0sxY8LxenNF|X3d$oRUhOP;qZZdoH{VXKzBPmoka?P zMJS}SW$^j+`w*-M!{NP2{g7o2vdy94Cl%{cu|7L=>6bNYZaSyH=rz`FACq=>w<=A( zYwO~Popo{&HZk#;Wcikc{o+>cMg`VM3F{a1`g^OTa7kXuccN7TO-KA;ZRo4o2G2?xyahD6xg3D8z{MmnT z@Xv%>0xy*~ZhOTWZx+t=C9xG(N6MJE0(8=ub?h73$;tiO#|?aXp~TlW?=^cEuLOaq zVQLlP>I{|Wn|H)kX2lJ{$(>z55)kxPzP*yD?a2P!1PZ8ZjXHc!!o4$?$gKYtYtYXK3uB7y}b3`V> zn0QO>x7Y6vGc_|$xfWB*Z=o#f8;G6Z5As#_K)!Iu`os^omz1 zt!-1z5=f=S1kx3`#?+ZE7D%BG-z^eABkX8WZ5EsUzB!2i+8B+&#}H`8nV}x;j?JJ= zOm};M{@yM=chzmZ&PYIaFw~4@-%U!+Hkp`7v4eimRu7z z4jCdm4BFIK(gVG7>>#HP>}u+`o)^w(wANg|^>Dduy>M&?tQHOcuR1lXb49OEy1%A9 zQ|y0~v5xA@!}1Aw^)HK z5tQ2ncOMK>s>OsBbn*2Nkky#D`6-?;*LNIQiPsNGPk3_e;!Az*3kyi26_&RXzO|=F zXE8@dAwyStf!>Zb2721)>BxbNnOGH^{ML>Tuh z|LvVyjNI2<$3N$s|7C7Fd$ZSf$FWnVNt|0LRiP3EBq|{!ig=<(R6IZ>gj56%Ao0Wt z65^#&Dzy?4l$HmO(!S7&DwV1fl8O?Ny5wpnalF}GuRXi7vvd33&xMCsuf3js;>PRC z+TM?}5A&b@f9A~Woc}q$+xO=L_$95UcNm^$Us0BUz@V@?R4&Qj@d;;srm!s~@(wyi z`6jJ|ey_c}XmlJ|qxH(_n=kZ_&CSuQ)w(*dt^RtvEqAMDOO?{c*N3dwx~G~w^dP<7 zYh&jXNr{1_N`%VFMkB|KJ-@`bEi=f=ve@%fBb~z&5GYCLNrcp(b4-@tIZZ8)JaAwi zCypHAQ;#0qymrd10x_5vvms)Ca{7v4Tx2OHry-5U9S~_r{kbg@*(PX zb5>!c0;$0B5MDss8?e&p^3v;XZ=ScJ!_k)NDw{qkiNXs})?t3jb}*3P`(wwl z@f`R_+F2nmN=c*?gKE)xB?%fQoFlc)E=%X4K!K-%rAFv2nq&Y)ns_EzZAzEbJb39Z zpZea|pspeZwzp<%<(^J=Z}<+m(Gox!izr~C8ZtRuXV27r9zHs%`9Af)o;y6!kB(M8 zxswzI27@7;^)5dfB;ZwkD?Qi_1c&`p{^`SIm*N^ zZZ-Gx1o_n5<-PV*4JD=Gk%u1KeE5rxogf*G%YE*2hT1X6GNN45UhnbZt8a6#v9q^N zRh9g3^TEazU77Tpa3+&VUi2k#6|lvymGxUI`PvFLi?XF>zx0+hmw{+fp?u;oSn+W^*$HcU0yyrw!7I8NNav7g-E4vk#g1v=L&>e66iiw z;{@wcxmAS037xn8`V-Gzb@`65aPP?p^65E`M(B}dIZquw$lUZ4(~}cSPc}JuU>b?R z=p1JY1UZAd>}&Yha);&4kpDZs^CUhebn&V*ZcUPdHL)o2o^;v?MCMC(USZZDLkZET z`)TX+-~QI(^a+->-n5YCy)f!CJD?EMT zO2;CJp^3_P4(9gWEpvo5+r@D6C0?R0iKUCPT^blgBwZ)7X6e z)bXQCR086%#HPCtZ6)Uxw{D&8#N;SLdGbF<2F$kSpS$|_{6GK6{2dz7EoU1O<-*)!Q>x=|yLjzBnku@C7q(rSdW zC@don`rXZo=LcL`S!1=^XMGS+7>99!Lwg(7zxW1FE`Lb~(G?OhDkp0$eojb}09Z@` z>QR7-EnckPEf|WVmd7`o*K{}H*^;oiEeXgB+gr7f_V3-p`la!uUkQn`qd<^!4u!+R z5lB!jN17Cg!Ix001WYy??3tNjZgz&f)6-1UD?EPi%BrFA0i*b6zUln)?6^_A*No>$ zC1o|_C7A=ZB)z&QNzIlevi@1gv4v!OvhEE*3x#%)+(Kp{w}R!>4hzdI&diS_c6zqH zQF>S#nW_TbUzh!BU$1aH1P%m9PiA2d41AnJN>dd1D%K5@??K)k>RfkJpq%H4+*r5d zIR>5t;d!e)0`=us7XE_jHUiqiCrw1l7Q&9tKQQ z1172yG%AvhJ#d({_9bf73XeT_MV$G>zHyJsy+SU025G??^H;Q{hMD2?*&D0olTzWF z!CH;8&N{0N&RJI&<4KVyMWk$wfWGqWIuuS=n|VU4cuI7^BCT1O|H>DiyZ*b~zufc* zQqc)Uk6Kp+N-^b6u(uiT^kc_1&pGw6{ls&V96x>l4*^Caj6oMWyEJt>qy)S%f2Ahl z<=5XKDN}{{ISB&~V;p(maJInY;zexs%U0(!8Z|1OhfZSxPf)Lg=)3@vQ>#>{D1pfn zY>9O2E?c>26Xa8SC5>v8T6L?6(8muSB-zm6ed57A)T@$8APA=>@JW%*;he!agD#0F z+zXtYzkuDS3Vi+C0>iW*N;SbYjBj0}-vRK|m4BfW_8F<1k=VABdZ>f}CzC?R{`qIV z_`)_n#(l}QCdhA`oWeIbjfzjRR%N<5$@FBC>B%PbYK2-D;0y58NOwt!0$d7M1RCKq z&RVQBSZgQ?y4~%(@X8ys+UvB}dt??0CveikAes576C@pcR|uDQp65(qJ5Ja^r4r&P z)h>$Yy#rzX-sr?^WVR`I^J{;4f4QA*GM>`*Czl@-!vCC*YECjeD>p4vRWJnM}mVrFTvX^F{=zgj+?I$??u#qyHA>t)*&SyIog zN{s5<9~Ug>CM9juN<7I@grIy94ZYN`yt2m9#rL_;YVrQkrA^O)s5NJt5;!N&7L0?| z&>)moNGS_DQa(w2KkF*Ua2h3Cq68`0ARJxaQ}{|CrA8?bO5#h467bg7|M=D0Y)Ic1 zZ27eaYjg1d4H&J-d24BnM-I>O=&}7AoDDd3=iT#noD1!)$qK_D(Y71q=KQ;7+?nO| zu}Z3mYU3N%9$Sd=Qvy<)O9T#2c;Cb5Cy*|cI6UW4aG5nZ3OB3-)r+1Ixe(U*l40O` z2{>MT<_~^&?Q8FHbJ#i?oE!>Q?qf4Wj^1eGV)GnwAFB68aPCHVb74Jy`Sfd>OU>Ey zmj;DXc$E?@&JqHt{skC);Tt!mil6-5<>xQ2lf8favvUCB-Bx$G)ol4kDvA9d%|r*p z$!N=TX1T+Idn(sne$R7esl#9p(;E!w^@pz4?c(_X=NB#zr8-YC@2hPcC}w`16x)QtBd643G%=8ev4Dbj&kH!?fNI*1)N)2wY@=Hbh>@kI=%eD zrPiQ7i1IWq&{?)(3f-yJs~p}x^ZlRa_1^u~m%etZ$Gpq!Vao)O7=-7Q_3#|yjd#xB z+rvD4eEL?6?UwSwtBYJ(?QpTR#(Hl^ZxB-y1=={Q^6-O@YQ0G?<>4!dl0bRK(_QXi zJXJ(LHd>mm(E^%r#py?UVqqKUF&7-PLFPX7i zr6`ebl>WGperBbWwmUt2v9+2SVI|~8&;RJNIEJ-a z6)C;GHE!K#gEKZ7{_i)xdgCMA<$hty1bO%Gf9>1Hzx@66sZfzv|5#R7yp59z_`?*ZC{jeBV_&$nERIYX zN7gCX%AD&*SweV?r#FB3#ovWd-rg0KcCMiAE<28~knelX{N@jj{N7g&hO@_ujLNTm z*u_><$SwT$>3I%JSNQ=yC3@-+K68Wa-=)teMqE;m?ka?KZN zKyJzMB2AO1r?b?8wW3hHstIEZ6iydpHj9%LND2e{1iW&2hh@3n@?&<{HXmXzIKh|x z!6VEhJOqh7rBDw5m@J(p&yLDK_%c+&WyPely5=h&i$oFi)l73jOiwnc1|iN_k~krX zlcXQT5r9MGQmBp)G8@Uh$>kg_YCszsAxsM?N0}FmdPMr&QKsax&pLL0=)2q|K3dwT z9&KBc1XuGI&971RuK}>2{0hN@BFQrHR)-*{pp?QmFh+r_W2{Bv5LS+6s2Y__>CI-9 zcSh=dmtC&qBj#mq{AiUzDutAW%MExg-_n)x2|S-9$w-G0L16Ly0Hr*H@IWan8mBGB t0aBolI7W?NV03I$tGk;vzRR8E{{e?pj(s%Bw|f8p002ovPDHLkV1gx+!=(TK literal 0 HcmV?d00001 diff --git a/frontend/src/assets/theme.less b/frontend/src/assets/theme.less new file mode 100644 index 0000000..9c5445d --- /dev/null +++ b/frontend/src/assets/theme.less @@ -0,0 +1,17 @@ +@import 'ant-design-vue/dist/antd.less'; + +// 可自定义主题颜色 +//@primary-color: #07C160; // 全局主色 +@link-color: #1890ff; // 链接色 +@success-color: #52c41a; // 成功色 +@warning-color: #faad14; // 警告色 +@error-color: #f5222d; // 错误色 +@font-size-base: 14px; // 主字号 +@heading-color: rgba(0, 0, 0, 0.85); // 标题色 +@text-color: rgba(0, 0, 0, 0.65); // 主文本色 +@text-color-secondary: rgba(0, 0, 0, 0.45); // 次文本色 +@disabled-color: rgba(0, 0, 0, 0.25); // 失效色 +@border-radius-base: 4px; // 组件/浮层圆角 +@border-color-base: #dce3e8; // 边框色 +@box-shadow-base: 0 2px 8px rgba(0, 0, 0, 0.15); // 浮层阴影 + diff --git a/frontend/src/components/global/iconFont.ts b/frontend/src/components/global/iconFont.ts new file mode 100644 index 0000000..6c675dc --- /dev/null +++ b/frontend/src/components/global/iconFont.ts @@ -0,0 +1,22 @@ +import { createFromIconfontCN } from '@ant-design/icons-vue' +import { h, VNode } from 'vue' + +const IconFont = createFromIconfontCN({ + scriptUrl: 'https://at.alicdn.com/t/font_2456157_4ovzopz659q.js', + extraCommonProps: { + type: 'icon-fengche', + style: { + fontSize: '18px', + }, + }, +}) + +interface Props { + type?: string; +} + +const DynamicIconFont = (props: Props): VNode => { + return h(IconFont, { type: props.type || 'icon-fengche' }) +} + +export default DynamicIconFont diff --git a/frontend/src/components/global/index.ts b/frontend/src/components/global/index.ts new file mode 100644 index 0000000..3c7401f --- /dev/null +++ b/frontend/src/components/global/index.ts @@ -0,0 +1,19 @@ +import iconFont from './iconFont'; + +// Use import.meta.globEager to dynamically import all .vue files in the directory +const modules: { [key: string]: { default: any } } = import.meta.glob('./*.vue', { eager: true }); + +// Create a map of component names to their default exports +const map: { [key: string]: any } = {}; +Object.keys(modules).forEach(file => { + const moduleName = file.replace('./', '').replace('.vue', ''); + map[moduleName] = modules[file].default; +}); + +// Combine the dynamically imported components with the iconFont component +const globalComponents = { + ...map, + iconFont, +}; + +export default globalComponents; \ No newline at end of file diff --git a/frontend/src/layouts/AppSider.vue b/frontend/src/layouts/AppSider.vue new file mode 100644 index 0000000..e359913 --- /dev/null +++ b/frontend/src/layouts/AppSider.vue @@ -0,0 +1,112 @@ + + + diff --git a/frontend/src/layouts/index.ts b/frontend/src/layouts/index.ts new file mode 100644 index 0000000..43d8cc8 --- /dev/null +++ b/frontend/src/layouts/index.ts @@ -0,0 +1,5 @@ +import AppSider from '@/layouts/AppSider.vue' + +export { + AppSider +} diff --git a/frontend/src/main.ts b/frontend/src/main.ts new file mode 100644 index 0000000..06cf297 --- /dev/null +++ b/frontend/src/main.ts @@ -0,0 +1,30 @@ +import * as AntIcon from '@ant-design/icons-vue'; +import Antd from 'ant-design-vue'; +import { createApp } from 'vue'; +import App from './App.vue'; +import './assets/global.less'; +import './assets/theme.less'; +import components from './components/global'; +import Router from './router/index'; + +const app = createApp(App) + +// components +type ComponentsType = typeof components; +for (const componentName in components) { + if (Object.prototype.hasOwnProperty.call(components, componentName)) { + const component = components[componentName as keyof ComponentsType]; + app.component(componentName, component); + } +} + +// icon +const whiteList = ['createFromIconfontCN', 'getTwoToneColor', 'setTwoToneColor', 'default'] +const iconKeys = Object.keys(AntIcon) as Array; +iconKeys.forEach(key => { + if (!whiteList.includes(key as typeof whiteList[number])) { + app.component(key.toString(), AntIcon[key]); + } +}); + +app.use(Antd).use(Router).mount('#app') diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts new file mode 100644 index 0000000..bb03e09 --- /dev/null +++ b/frontend/src/router/index.ts @@ -0,0 +1,9 @@ +import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router' +import routerMap from './routerMap' + +const Router = createRouter({ + history: createWebHashHistory(), + routes: routerMap as RouteRecordRaw[], +}) + +export default Router diff --git a/frontend/src/router/routerMap.ts b/frontend/src/router/routerMap.ts new file mode 100644 index 0000000..30900bf --- /dev/null +++ b/frontend/src/router/routerMap.ts @@ -0,0 +1,21 @@ +/** + * 基础路由 + * @type { *[] } + */ + +const constantRouterMap = [ + { + path: '/', + component: () => import('@/layouts/AppSider.vue'), + children: [ + { + path: '/activate', + name: 'Activate', + component: () => import('@/views/activate/index.vue'), + props: { id: 'activate' } + } + ] + }, +] + +export default constantRouterMap diff --git a/frontend/src/types/env.d.ts b/frontend/src/types/env.d.ts new file mode 100644 index 0000000..1d1226d --- /dev/null +++ b/frontend/src/types/env.d.ts @@ -0,0 +1,12 @@ +/// +declare module '*.vue' { + import type { DefineComponent } from 'vue'; + const component: DefineComponent<{}, {}, any>; + export default component; +} + +// declare global { +// interface Window { +// electron?: any; +// } +// } \ No newline at end of file diff --git a/frontend/src/types/pinia.d.ts b/frontend/src/types/pinia.d.ts new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/types/shim.d.ts b/frontend/src/types/shim.d.ts new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/types/source.d.ts b/frontend/src/types/source.d.ts new file mode 100644 index 0000000..d04f0da --- /dev/null +++ b/frontend/src/types/source.d.ts @@ -0,0 +1,7 @@ +// 声明一个模块,防止引入文件时报错 +declare module '*.json'; +declare module '*.png'; +declare module '*.jpg'; +declare module '*.scss'; +declare module '*.ts'; +declare module '*.js'; \ No newline at end of file diff --git a/frontend/src/utils/iconList.ts b/frontend/src/utils/iconList.ts new file mode 100644 index 0000000..e8597aa --- /dev/null +++ b/frontend/src/utils/iconList.ts @@ -0,0 +1,27 @@ +export default [ + { name: '对话框', type: 'icon-duihuakuang' }, + { name: '闹钟', type: 'icon-naozhong' }, + { name: '笑脸', type: 'icon-xiaolian' }, + { name: 'ok', type: 'icon-ok' }, + { name: '风车', type: 'icon-fengche' }, + { name: '汗颜', type: 'icon-hanyan' }, + { name: '相机', type: 'icon-xiangji' }, + { name: '礼物', type: 'icon-liwu' }, + { name: '礼花', type: 'icon-lihua' }, + { name: '扭蛋', type: 'icon-niudan' }, + { name: '流星', type: 'icon-liuxing' }, + { name: '风筝', type: 'icon-fengzheng' }, + { name: '蛋糕', type: 'icon-dangao' }, + { name: '泡泡', type: 'icon-paopao' }, + { name: '购物', type: 'icon-gouwu' }, + { name: '饮料', type: 'icon-yinliao' }, + { name: '云彩', type: 'icon-yuncai' }, + { name: '彩铅', type: 'icon-caiqian' }, + { name: '纸飞机', type: 'icon-zhifeiji' }, + { name: '点赞', type: 'icon-dianzan' }, + { name: '煎蛋', type: 'icon-jiandan' }, + { name: '小熊', type: 'icon-xiaoxiong' }, + { name: '花', type: 'icon-hua' }, + { name: '眼睛', type: 'icon-yanjing' }, +] + \ No newline at end of file diff --git a/frontend/src/utils/ipcRenderer.ts b/frontend/src/utils/ipcRenderer.ts new file mode 100644 index 0000000..919fd77 --- /dev/null +++ b/frontend/src/utils/ipcRenderer.ts @@ -0,0 +1,39 @@ +declare global { + interface Window { + electron?: any; + } +} + +const Renderer = (window.require && window.require('electron')) || window.electron || {}; + +/** + * ipc + * 官方api说明:https://www.electronjs.org/zh/docs/latest/api/ipc-renderer + * + * 属性/方法 + * ipc.invoke(channel, param) - 发送异步消息(invoke/handle 模型) + * ipc.sendSync(channel, param) - 发送同步消息(send/on 模型) + * ipc.on(channel, listener) - 监听 channel, 当新消息到达,调用 listener + * ipc.once(channel, listener) - 添加一次性 listener 函数 + * ipc.removeListener(channel, listener) - 为特定的 channel 从监听队列中删除特定的 listener 监听者 + * ipc.removeAllListeners(channel) - 移除所有的监听器,当指定 channel 时只移除与其相关的所有监听器 + * ipc.send(channel, ...args) - 通过channel向主进程发送异步消息 + * ipc.postMessage(channel, message, [transfer]) - 发送消息到主进程 + * ipc.sendTo(webContentsId, channel, ...args) - 通过 channel 发送消息到带有 webContentsId 的窗口 + * ipc.sendToHost(channel, ...args) - 消息会被发送到 host 页面上的 元素 + */ + +/** + * ipc + */ +const ipc = Renderer.ipcRenderer || undefined; + +/** + * 是否为EE环境 + */ +const isEE = ipc ? true : false; + +export { + Renderer, ipc, isEE +}; + diff --git a/frontend/src/utils/rsa.ts b/frontend/src/utils/rsa.ts new file mode 100644 index 0000000..daeccb1 --- /dev/null +++ b/frontend/src/utils/rsa.ts @@ -0,0 +1,47 @@ +import JSEncrypt from 'jsencrypt' + +// 获取 RSA 公钥 +const publicKey = import.meta.env.VITE_RSA_PUBLIC_KEY + +// 获取 RSA 私钥 +const privateKey = import.meta.env.VITE_RSA_PRIVATE_KEY + +// RSA加密 +const encrypt = (data: string): string => { + try { + const encrypt = new JSEncrypt() + encrypt.setPublicKey(publicKey) + const encrypted = encrypt.encrypt(data) + if (encrypted) { + return encrypted + } else { + throw new Error('加密失败') + } + } catch (error) { + console.error('加密失败:', error) + throw new Error('RSA加密失败') + } +} + +// RSA解密 +const decrypt = (encryptedData: string): string => { + try { + const decrypt = new JSEncrypt() + decrypt.setPrivateKey(privateKey) + const decrypted = decrypt.decrypt(encryptedData) + if (decrypted) { + return decrypted as string + } else { + throw new Error('解密失败') + } + } catch (error) { + console.error('解密失败:', error) + throw new Error('RSA解密失败') + } +} +export default { + encrypt, + decrypt, + publicKey, + privateKey +} diff --git a/frontend/src/views/activate/index.ts b/frontend/src/views/activate/index.ts new file mode 100644 index 0000000..1817e25 --- /dev/null +++ b/frontend/src/views/activate/index.ts @@ -0,0 +1,56 @@ + +export namespace Activate { + + export interface ApplicationModule { + /** + * 是否申请 1是 0否 + */ + apply: number; + + } + + export interface ActivateModule extends ApplicationModule { + /** + * 是否永久 1是 0否 + */ + permanently: number; + } + + export interface ApplicationCodePlaintext { + + /** + * 模拟式模块 + */ + simulate: ApplicationModule; + + /** + * 数字式模块 + */ + digital: ApplicationModule; + + /** + * 比对式模块 + */ + contrast: ApplicationModule; + } + export interface ActivationCodePlaintext { + + /** + * 模拟式模块 + */ + simulate: ActivateModule; + + /** + * 数字式模块 + */ + digital: ActivateModule; + + /** + * 比对式模块 + */ + contrast: ActivateModule; + } + + + +} diff --git a/frontend/src/views/activate/index.vue b/frontend/src/views/activate/index.vue new file mode 100644 index 0000000..b18ad06 --- /dev/null +++ b/frontend/src/views/activate/index.vue @@ -0,0 +1,205 @@ + + + diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..7d6abf9 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,35 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "lib": ["esnext", "dom", "dom.iterable", "scripthost"], + "jsx": "preserve", + + "strict": true, + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "importHelpers": true, + "resolveJsonModule": true, + + // 定义一个变量就必须给它一个初始值 + "strictPropertyInitialization": false, + // 允许使用obj[key]访问对象属性 + //"suppressImplicitAnyIndexErrors": true, + "allowJs": true, + "sourceMap": true, + "baseUrl": "./", + "paths": { + "@/*": [ + "src/*" + ], + } + }, + "include":["src/**/*.ts", "src/**/*.vue", "src/**/*.tsx", "src/**/*.d.ts", "*.d.ts"], + "exclude": [ + "node_modules", + "dist" + ] +} \ No newline at end of file diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts new file mode 100644 index 0000000..e67ddb1 --- /dev/null +++ b/frontend/vite.config.ts @@ -0,0 +1,54 @@ +import vue from '@vitejs/plugin-vue'; +import { defineConfig } from 'vite'; +import viteCompression from 'vite-plugin-compression'; +import path from 'path'; + +export default defineConfig((mode) => { + return { + // Project plugins + plugins: [ + vue(), + viteCompression({ + verbose: true, + disable: false, + threshold: 1025, + algorithm: 'gzip', + ext: '.gz', + }), + ], + // Base configuration + base: './', + publicDir: 'public', + resolve: { + alias: { + '@': path.resolve(__dirname, 'src'), + }, + }, + css: { + preprocessorOptions: { + less: { + modifyVars: { + '@border-color-base': '#dce3e8', + }, + javascriptEnabled: true, + }, + }, + }, + build: { + outDir: 'dist', + assetsDir: 'assets', + assetsInlineLimit: 4096, + cssCodeSplit: true, + brotliSize: false, + sourcemap: false, + minify: 'terser', + terserOptions: { + compress: { + // Remove console and debugger in production + drop_console: false, + drop_debugger: true, + }, + }, + }, + }; +}); \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..ff2c29a --- /dev/null +++ b/package.json @@ -0,0 +1,50 @@ +{ + "name": "pqs9100_tool", + "version": "0.0.1", + "description": "pqs-9100 tool client", + "main": "./public/electron/main.js", + "scripts": { + "dev": "ee-bin dev", + "build": "npm run build-frontend && npm run build-electron && ee-bin encrypt", + "start": "ee-bin start", + "dev-frontend": "ee-bin dev --serve=frontend", + "dev-electron": "ee-bin dev --serve=electron", + "build-frontend": "ee-bin build --cmds=frontend && ee-bin move --flag=frontend_dist", + "build-electron": "ee-bin build --cmds=electron", + "encrypt": "ee-bin encrypt", + "icon": "ee-bin icon", + "build-w": "ee-bin build --cmds=win64", + "build-we": "ee-bin build --cmds=win_e", + "build-m": "ee-bin build --cmds=mac", + "build-m-arm64": "ee-bin build --cmds=mac_arm64", + "build-l": "ee-bin build --cmds=linux", + "debug-dev": "cross-env DEBUG=ee-* ee-bin dev", + "debug-encrypt": "ee-bin encrypt", + "debug-electron": "cross-env DEBUG=ee-* ee-bin dev --serve=electron", + "debug-move": "ee-bin move --flag=frontend_dist" + }, + "repository": "https://github.com/dromara/electron-egg.git", + "keywords": [ + "Electron", + "electron-egg", + "ElectronEgg" + ], + "author": "njcn", + "devDependencies": { + "@electron/rebuild": "^3.7.1", + "@types/node": "^20.16.0", + "cross-env": "^7.0.3", + "debug": "^4.4.0", + "ee-bin": "^4.1.10", + "electron": "^31.7.6", + "electron-builder": "^25.1.8", + "icon-gen": "^5.0.0", + "typescript": "^5.4.2" + }, + "dependencies": { + "axios": "^1.7.9", + "dayjs": "^1.11.13", + "ee-core": "^4.1.5", + "electron-updater": "^6.3.8" + } +} diff --git a/public/html/loading.html b/public/html/loading.html new file mode 100644 index 0000000..9d1520b --- /dev/null +++ b/public/html/loading.html @@ -0,0 +1,94 @@ + + + + + + + + + +
+
+
+
+
+
+
+
+ + diff --git a/public/html/view_example.html b/public/html/view_example.html new file mode 100644 index 0000000..d480ac7 --- /dev/null +++ b/public/html/view_example.html @@ -0,0 +1,22 @@ + + + + + + + +
+ 这是一个html页面 +
+ + \ No newline at end of file diff --git a/public/images/logo-32.png b/public/images/logo-32.png new file mode 100644 index 0000000000000000000000000000000000000000..7fdd3086a60b41df5e1d9563c0ec25b374005f17 GIT binary patch literal 2893 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 literal 0 HcmV?d00001 diff --git a/public/images/logo.png b/public/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bee90679fc43e203c58b6c77d4e33d7e55a4aec2 GIT binary patch literal 22026 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 literal 0 HcmV?d00001 diff --git a/public/images/tray.png b/public/images/tray.png new file mode 100644 index 0000000000000000000000000000000000000000..3bee245e05bd1579aed1ffcd88410421c7098b63 GIT binary patch literal 943 zcmV;g15o^lP)R!V^(h1S{zT@~>I1eC#K(9c7= z($e#u^WRC6wIur|Z}Q$ezvs!HNX~9^__+#qbhp|T*QmM@2X^*~$MU*Gn!vDI~)*qIDt>?z+N}doa#yKAA^$)En;1i3;Z|@SM4>};c*DeYL{ZZksa9jXHHWrAoFRgxY<;k!}y0Ao5 zvjQEQ0%`tePXTW>3;t~#BDP!>rEOQ@xF3iow_3+|ylV1;3<+>`0+h7@D61YaWyLT! zwcU~eUO5@#-)?2t&>~7D*P`;Mgkk?Y)}0DrSyKYfnC6~5pBb0Wz74L}#i)2d27XTi*+;ywwLd4Y zw1MHnE4&Oad}iUX#^}X>FNVEsKwsIIqVxtxZA$~oYyF{>rUh{IqD1;2 zY*YWB*6GEb%ah42i~~=wrox4@_aewW=w?*nkuPyBx}YvNmt7wP>7x=I@nZF{VVv_! zBk%kJRM;l*a*Yd_#n+*C@z~Nh%Bbu<6qR?=z%xzZV75VS`_Po6s2%~8-odH^H}H<} z4l*?^`D{DZ)p&5oF^A2jNk)ffz#W}k1T^r$l`)Z;LaFYNH+Mpj--)gD_n@`; z@NP>$c!hgBEZl0B_#Ls>i9ciJhP?i+=!`!U`+F@h!KLn2rG zcqT*7+j0%Q%1w>@vne36dNlNL!yu|Ic%-v^BQU#0U^KfIRQm3Tm(;Bm+IgvbX>s4y zwOUs$rNgDa`Mo9I{yOMu>mMF6wmFPNMr+<{c_%i~3RMpMFW~4mC<#ac{{nkTKyH|b R(;5H(002ovPDHLkV1m(Z!Os8y literal 0 HcmV?d00001 diff --git a/public/ssl/localhost+1.key b/public/ssl/localhost+1.key new file mode 100644 index 0000000..9a04a92 --- /dev/null +++ b/public/ssl/localhost+1.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDpWYqPkljVtDNp +JVwlcOxNVihQPf4T3Q/tuIt5znV5ImBmlWg+OyuG47Y5e+qPMjFCSX4ebTAtBMbY +m6AJihkKy0iKj1mVS9TPCzqcHFnUliCIqJMKFsJTWygNGgogjXhlxFaJgCZO6Gw6 +ocWp6nw1gMhrMIxqT2MQIQX16SD1IH/F4JMoaYuifnR+OOgbS3yUKHDTFApkZAWn +dS4GpbT39rW9cmbJrGHCvl8bsm8MXMdXars10A++wjjmHbtZu8beFv+zKbDw4iAu +ls8p/lAoIvQy8MkLLM5b392CLMaK0517+qM3VdEZ0ph+32m9IEoj5QV8xgaPdnyP +8/8a2bU/AgMBAAECggEBAIzFZ8GVF+JUA2+7CgvMQ8Gj6E4AF/cDtUhDvGCPHG8n +PeCk4W4pY+jMFnI3PxmDvhOvIlZYqGeAKjUiLTmUBedtGyX7tJ9MT+VXcNQchlSo +/Jd0mr/LWw/OPispOlLJBYjfGRV6KaIQtLnqPcRzoNrmBgIkF5FKswhX47CmIyu8 +eEXmDsqXzWmYwdOHLNDshLOrCgFgRnqK7HjxvNqb9k4qv3V9WxlJYITK7L4eJNcZ +XYvGl+QV1+n153phyYnHcbohzvE44Hv8e4hiY9uYNdWckNBNFLpk9vEmUjewCRT1 +kL30woifUhZCalXBIfKEHNZg23teOMHNZTqcS+ER64ECgYEA7BAWVWS/8b9h1AmP +SYhJgudb+ck1ItuvEDjonKuUCTBYm0iQI7cgAimasIBybRO8zwKstvWGDnUJJEkB +Oh7AXF6CbKuP7navTBAaF3AXsNfDgQuEwtEg78iqiQzTyp6FOvvOT2aOtzi86Ju1 +zwKu+DLV3ETeokHWrQmV1uZnbZMCgYEA/Q7LdEEvZxz8OqOjtj8iKLWAv0WvnHTO +Zjqn/BbXi2PyI8d5ntIUPEgm/MRpvXTa465Uu8Orujfq51Z/oFbyvhhEOWT/sVn/ +fzzbH4xXb3bLJ3D+LILQzsm4d8yrV66Re1ehFVxRPIy5RTpssED7bOns9ds4lsHT +W9p7ibYRBSUCgYAMpJftnuXA1tUwfAqWj5wQTL/aUvJrmYR4w/OBYJcfHt3AA1Tk +9MvcEcpdJaP7P5FfLO9/JQs2/wGsVdSg/kCjMdSeaVneFbExy7L6CmDacdPgt3M2 +0+iFryOjD3LQaUkNbasRCZcfLQTBGIXWPniMhnx5vZ6G5ivPPLIvvktPzQKBgQCd +s/yi5ISwE+Y0fQpnZwzYpdQoXztDm5+NIfzSI0IMgirClWt7yJwHvUdeuuDSyuIm +hdwUb6qzkGl55fP/bnA0e1b5FbIrSlTpbHl6PbG3qyaL2+TqxFNwq1Gkhw44xHex +kDi44SFXRLOpKvHVHYoSo+2igg3QFdasJYpblfUhaQKBgF0l9PpMbDLdPlI33IQz +bEzw0ig8R8nHocJzOkK/BdLI8WiItYGgq4mcZGDWsztNg17QQGTEFrH7H9B8DKAJ +p75jz5O83arjMECqAiXlSGOWtq6NhbgyJcQJxvvvN8wObVFoVkLoEbqE1TkDqZfI +CqiusA5zgG89vzP9xFhW2ia2 +-----END PRIVATE KEY----- diff --git a/public/ssl/localhost+1.pem b/public/ssl/localhost+1.pem new file mode 100644 index 0000000..332a3ae --- /dev/null +++ b/public/ssl/localhost+1.pem @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIEXzCCAsegAwIBAgIRAOLUY4uS9d2yXx0vd6qql30wDQYJKoZIhvcNAQELBQAw +gZExHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTEzMDEGA1UECwwqQklM +SUJJTElcZ2Fvc2h1YWl4aW5nQENOMjEwMTAyMjc0ICjljaHor7opMTowOAYDVQQD +DDFta2NlcnQgQklMSUJJTElcZ2Fvc2h1YWl4aW5nQENOMjEwMTAyMjc0ICjljaHo +r7opMB4XDTIyMDcyNzA4NDcyOFoXDTI0MTAyNzA4NDcyOFowXjEnMCUGA1UEChMe +bWtjZXJ0IGRldmVsb3BtZW50IGNlcnRpZmljYXRlMTMwMQYDVQQLDCpCSUxJQklM +SVxnYW9zaHVhaXhpbmdAQ04yMTAxMDIyNzQgKOWNoeivuikwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDpWYqPkljVtDNpJVwlcOxNVihQPf4T3Q/tuIt5 +znV5ImBmlWg+OyuG47Y5e+qPMjFCSX4ebTAtBMbYm6AJihkKy0iKj1mVS9TPCzqc +HFnUliCIqJMKFsJTWygNGgogjXhlxFaJgCZO6Gw6ocWp6nw1gMhrMIxqT2MQIQX1 +6SD1IH/F4JMoaYuifnR+OOgbS3yUKHDTFApkZAWndS4GpbT39rW9cmbJrGHCvl8b +sm8MXMdXars10A++wjjmHbtZu8beFv+zKbDw4iAuls8p/lAoIvQy8MkLLM5b392C +LMaK0517+qM3VdEZ0ph+32m9IEoj5QV8xgaPdnyP8/8a2bU/AgMBAAGjZDBiMA4G +A1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAfBgNVHSMEGDAWgBQn +B1E5Js/cFhxBwpZL59aoK/skLjAaBgNVHREEEzARgglsb2NhbGhvc3SHBH8AAAEw +DQYJKoZIhvcNAQELBQADggGBAIaUncQj2XN2rNn6sE0MuaWboFqwpkydyei6FvtN +c/TY9RWW3QRYICcO721l/2jBiWplQt/ZYaJ+IWN+C+3JSAz9IYsM/nMgxHL2azLQ +zHKnASEjxptW9+mlsgVk2LTrBfbc197ikLu80M/0jQYaIBeoEOaMlhBjno139nTO +evNheyFKvAhggOseD00I9VBZkKDBxvqr6PHnGjyAU43C1/HkNjglIbQjAZdBmXlX +HuelQ97glfhzyApvmczPrc8IAqPhtYn2nJ5P6Ea35LEc3D7uVExywcjDFcSwMJCb +TXqouzM/U8pO+DGeuvgwkYrBGlA7iEE+ZQgxCBatOXwG95THtFlfW+H0ILHB2tcX +P+Kztwd+4ipPciJz+1NK7z7erwfxHO5hmXJskH9YWi6YJsIw5g1iYs0pJJ/4p7Bd +8qSGEhri/+iijcC76q+1N0xhJxQrDDlC0pKp6oAYFDGKirzwmlAf/eJBy0ORWjCj +yk+d9T622yzcXa5fw3HBZh1o6A== +-----END CERTIFICATE----- diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..78276bd --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "useDefineForClassFields": true, + "skipLibCheck": true, + "types": ["node"], + "esModuleInterop": true, + + /* Bundler mode */ + "moduleResolution": "node", // node + "resolveJsonModule": true, + "isolatedModules": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitAny": false, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "forceConsistentCasingInFileNames": true, + }, + "include": [ + "./electron/**/*" + ] +} + \ No newline at end of file