From b3c6a77497ded61c1da3ce2d76f48a40b03f476d Mon Sep 17 00:00:00 2001 From: libsgh Date: Sat, 8 May 2021 15:22:41 +0800 Subject: [PATCH 01/21] =?UTF-8?q?=E6=B7=BB=E5=8A=A0mdui=E6=98=8E=E4=BA=AE?= =?UTF-8?q?=E3=80=81=E6=9A=97=E9=BB=91=E4=B8=BB=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/pan/admin/index.html | 25 ++++++++++++++++++++----- templates/pan/admin/login.html | 2 +- templates/pan/mdui/index.html | 16 ++++++++-------- 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/templates/pan/admin/index.html b/templates/pan/admin/index.html index b3f80718..cca357b8 100755 --- a/templates/pan/admin/index.html +++ b/templates/pan/admin/index.html @@ -39,7 +39,7 @@ PanIndex - 系统配置 - +
@@ -64,8 +64,10 @@
@@ -132,6 +134,7 @@
缓存记录
+

cookie: 未刷新

状态: 未缓存

最近一次缓存:-

耗时:0s

@@ -235,7 +238,7 @@
- +
重启生效
@@ -245,7 +248,7 @@
- +
@@ -283,7 +286,8 @@ {{range .Accounts}} {"name":"{{.Name}}","id":"{{.Id}}","mode":"{{.Mode}}","user":"{{.User}}","password":"", "refresh_token":"{{.RefreshToken}}","access_token":"{{.AccessToken}}","root_id":"{{.RootId}}", - "status":"{{.Status}}","files_count":"{{.FilesCount}}","time_span":"{{.TimeSpan}}", "last_op_time":"{{.LastOpTime}}" + "cookie_status":"{{.CookieStatus}}","status":"{{.Status}}","files_count":"{{.FilesCount}}","time_span":"{{.TimeSpan}}", + "last_op_time":"{{.LastOpTime}}" }, {{end}} ]; @@ -447,12 +451,23 @@ }); function fillCacheRecord(account){ var text = ""; + if(account.cookie_status == 1){ + text += "

cookie: 未刷新

"; + }else if (account.cookie_status == 2){ + text += "

cookie: 正常

"; + }else if (account.cookie_status == 3){ + text += "

cookie: 失效

"; + }else if (account.cookie_status == -1){ + text += "

cookie: 刷新中

"; + } if(account.status == 1){ text += "

状态: 未缓存

"; }else if (account.status == 2){ text += "

状态: 缓存成功

"; }else if (account.status == 3){ text += "

状态: 缓存失败

"; + }else if (account.status == -1){ + text += "

状态: 缓存中

"; } if(account.files_count > 0){ text += "

文件数:" + account.files_count + "

"; diff --git a/templates/pan/admin/login.html b/templates/pan/admin/login.html index 68458de0..3df67d9e 100755 --- a/templates/pan/admin/login.html +++ b/templates/pan/admin/login.html @@ -23,7 +23,7 @@ > PanIndex - 系统配置 - +
diff --git a/templates/pan/mdui/index.html b/templates/pan/mdui/index.html index 78bf3fcc..7dffe2e2 100755 --- a/templates/pan/mdui/index.html +++ b/templates/pan/mdui/index.html @@ -65,7 +65,7 @@ {{.Title}} {{ .Path }} {{ $SurportFolderDown := .SurportFolderDown }} - + {{if .HasPwd}} + + + + + From a8a770db911fd85b6363a2778f54e43df7a887b7 Mon Sep 17 00:00:00 2001 From: libsgh Date: Fri, 21 May 2021 19:18:40 +0800 Subject: [PATCH 11/21] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/_images/cache-record.png | Bin 0 -> 18227 bytes docs/_images/cron.png | Bin 0 -> 39229 bytes docs/_navbar.md | 12 ++ docs/ask.md | 10 + docs/config.md | 53 ++++++ docs/donate.md | 3 + docs/question.md | 36 ++++ docs/quickstart.md | 64 +++++++ docs/ui.md | 28 +++ docs/v1/README.md | 251 +++++++++++++++++++++++++ docs/v1/_images/1-2.png | Bin 0 -> 48744 bytes docs/v1/_images/alipay.png | Bin 0 -> 70143 bytes docs/v1/_images/audio.png | Bin 0 -> 11137 bytes docs/v1/_images/teambition-project.png | Bin 0 -> 5458 bytes docs/v1/_images/wechat.png | Bin 0 -> 62574 bytes templates/pan/admin/index.html | 97 ++++++++++ 16 files changed, 554 insertions(+) create mode 100644 docs/_images/cache-record.png create mode 100644 docs/_images/cron.png create mode 100644 docs/_navbar.md create mode 100644 docs/ask.md create mode 100644 docs/config.md create mode 100644 docs/donate.md create mode 100644 docs/question.md create mode 100644 docs/quickstart.md create mode 100644 docs/ui.md create mode 100755 docs/v1/README.md create mode 100755 docs/v1/_images/1-2.png create mode 100644 docs/v1/_images/alipay.png create mode 100755 docs/v1/_images/audio.png create mode 100755 docs/v1/_images/teambition-project.png create mode 100644 docs/v1/_images/wechat.png diff --git a/docs/_images/cache-record.png b/docs/_images/cache-record.png new file mode 100644 index 0000000000000000000000000000000000000000..8a10765e67df68c0652627398ce0938b8a2ebd3e GIT binary patch literal 18227 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 Sj&I=xYd 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 P*3%j`O|+GTN$oAeeeSb4Ff5U6hOSST5PFf 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 请不要频繁刷新以免出现验证登录 + +![](_images/cache-record.png) +- 默认关闭目录缓存定时任务,如有需要请自行设置,heroku每天至少执行一次任务,建议`corn:0 0 4 1/1 * ?` + +![](_images/cron.png) + +- Heroku:后台配置好后,获取配置json,并复制到heroku新的环境变量`PAN_INDEX_CONFIG`中,端口号会根据环境变量`PORT`覆盖,无需关注 + +### 基础配置 +* 绑定Host:默认`0.0.0.0`,修改后重启生效 +* 绑定端口:默认`5238`,修改后重启生效 +* 主题: mdui主题功能最全,也会长期更新,并且移动端友好 + * mdui(跟随系统切换暗黑、明亮) + * mdui-light(明亮模式) + * mdui-dark(暗黑模式) + * mdui-dark(暗黑模式) + * classic(经典主题,不支持账号前端切换及搜索,适用于单账号) + * bootstrap + * materialdesign +* 后台登录密码:默认`PanIndex`,注意保护隐私 +* 接口 token:第一次安装时系统随机生成,注意保护隐私 +* 密码文件(夹):格式`id1:pwd1,path1:pwd2` +* 隐藏文件ID(路径):id1,path1 +* 防盗链:允许的 Referrer,多个逗号分隔,例:`baidu.com,google.com` +* 自定义底部信息 + +```html +©2021 libsgh. All rights reserved. +``` +* 底部查看完整配置,用于那些沙盒容器平台配置环境变量 + +### 账号绑定 +* 显示名称:会修改网页标题,每个账号可不一致 +* 网盘模式 + * native: 本地模式,服务器某一目录的文件列表,因为实时获取所以无需更新cookie和目录缓存 + * cloud189:天翼云网盘 + * teambition:阿里teambition盘,包括个人网盘和项目文件,依据根目录ID设定自动判断 +* 用户名:部分模式必需,一般是手机号或邮箱 +* 密码 +* 根目录ID(路径):native为绝对路径,teambition为项目ID,其他为目录ID + +### 文件上传 +* 手动上传 +* 自动同步 diff --git a/docs/donate.md b/docs/donate.md new file mode 100644 index 00000000..0ec4ade7 --- /dev/null +++ b/docs/donate.md @@ -0,0 +1,3 @@ +## 捐助 + +wechatwechat \ No newline at end of file diff --git a/docs/question.md b/docs/question.md new file mode 100644 index 00000000..6d85952e --- /dev/null +++ b/docs/question.md @@ -0,0 +1,36 @@ +## 常见问题 + +### 如何获取目录ID? +正常访问官方网盘页面,进入到你想分享目录的页面,浏览器里地址栏最后面的就是目录ID + +若要使用teambition项目版:rootId,请使用**项目id** + +![image-20210312180742254](_images/teambition-project.png) + +**注**:当网盘启用本地模式,目录ID为分享目录的绝对路径,比如我想分享本地的`/opt`目录,`root_id`为`/opt`,密码目录同理 + +### PanIndex为何不使用前后端分离? +PanIndex的设计初衷是简单高效,前后分离会增加部署的复杂度,且会增加页面响应时间,PanIndex为单页面应用,目前页面的管理也相对容易,也为了更方便的适配heroku,目前将html,js,css,image都打包到二进制文件中,所以通常你只需要一个二进制文件加一个配置文件即可。 +~~PanIndex依然可以作为纯后端使用,可以根据开放接口,开发自己的前端主题~ + +### 如何自定义页面? +参考[自定义主题](/#自定义主题) + +### 登录失效、目录不更新该如何解决? +程序启动时会初始化登录状态。按照配置执行定时任务,默认登录cookie刷新天执行一次,经测试天翼云,teambition的cookie都比较稳定,所以cookie刷新也不建议频繁执行,频繁执行会导致验证登录。 + +计划任务修改配置中cron表达式,[cron在线生成](https://cron.qqe2.com/) + +如果你更新了网盘文件想要立刻生效,可以手动刷新目录缓存 + +### 天翼云出现验证码登录,如何解决? +2.x关闭了打码狗的使用,若出现验证登录,请等一小时后再尝试。 +开发调试:注释掉程序启动刷新COOKIE的代码 + +### 网盘使用经验 + +1. 天翼云网盘:普通版容量较小,15G空间,如果文件被多个不同ip访问下载,有一定几率触发限速,会员也无法幸免。 +2. teambition-项目文件:个人测试速度限制在500K左右,不过容量暂时没有限制,也不需要内测资格即可使用。 +3. teambition-个人文件:无限速,有使用空间限制,目前有2T空间,后期可能会合并到阿里云盘,不清楚会不会一直存在。 +4. 本地目录:下载会占用服务器的带宽,而且服务器到期可能要面临文件的转移。 +5. 阿里云盘:内测+teambition合并有3T,公测使用各种福利码可以达到8T,不过空间可能会回收,不确定是不是永久,阿里云一直都很套路,你懂得,据网友反馈,使用目录程序分享账号可能会ban,管控上比teambition更严格。 \ No newline at end of file diff --git a/docs/quickstart.md b/docs/quickstart.md new file mode 100644 index 00000000..ee5cfb62 --- /dev/null +++ b/docs/quickstart.md @@ -0,0 +1,64 @@ +# 快速开始 +- [在线演示](https://t1.netrss.cf "https://t1.netrss.cf") + +## 平台支持 +由于PanIndex交叉编译需要cgo(sqlite),目前很多平台还不能很好的支持,如果你有特殊的编译需求,请告知我,我会尽量添加 +- Linux (x86 / amd64 / arm / arm64 ) +- Windows 7 及之后版本(x86 / amd64 ) +- macos(amd64) + +## 下载 +预编译的二进制文件压缩包可在 [Github Release](https://github.com/libsgh/PanIndex/releases "release")下载,解压后方可使用。 + +## 安装 + +### 一键脚本 + +### 直接运行 +```bash +$ tar -xvf PanIndex-v1.0.0-linux-amd64.tar.gz +#nohup ./PanIndex -host=0.0.0.0 -port=5238 -debug=false > PanIndex.log & +$ nohup ./PanIndex > PanIndex.log & +``` + +### heroku部署 + +- 注册登录账号并绑卡,因为herokuku免费版有使用小时数限制,绑定信用卡可以使应用一直在线,**不扣费** +- 点击↓按钮跳转到heroku部署页面,修改 **CONFIG** + +[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/libsgh/PanIndex) + +![](_images/1-2.png) +- 点击 **Deploy app** 完成部署 + +### docker部署 +参考下面命令,映射`/app/data`目录到宿主机避免重启docker数据丢失! +```bash +docker pull iicm/pan-index:latest +docker stop PanIndex +docker rm PanIndex +docker run -itd \ + --name PanIndex \ + -d -p 5238:5238 \ + -v /home/single/data/docker/data/PanIndex/data:/app/data \ + -e PORT="5238" \ + iicm/pan-index:latest +``` +### 从源码运行 +- 安装git和golang +- 设置go环境变量`go env -w GO111MODULE=on` +- 如果是国内服务器,设置下代理`go env -w GOPROXY=https://goproxy.cn,direct` +``` +$ git clone https://github.com/libsgh/PanIndex.git +$ cd PanIndex +$ nohup go run main.go > PanIndex.log & +``` +也可以下载源码后自行编译成二进制程序再执行 +以linux,amd64为例 +``` +$ CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o PanIndex +$ nohup ./PanIndex & +``` +更多平台编译参考:[PanIndex-release-action](https://github.com/libsgh/PanIndex-release-action) +### 宝塔配置 +### 视频教程 \ No newline at end of file diff --git a/docs/ui.md b/docs/ui.md new file mode 100644 index 00000000..def8662d --- /dev/null +++ b/docs/ui.md @@ -0,0 +1,28 @@ +> v1.0.4以上版本支持该功能 +- 在[release](https://github.com/libsgh/PanIndex/releases "release")处下载ui.zip包 +- 解压到与PanIndex同级目录,按需修改templates及static目录中的内容 +- 模板中`{{}}`都是与go渲染html相关的表达式,请勿修改这部分内容 +- 目录 +``` +├── PanIndex +├── static +├── ├── img // 图片 +├── ├── ├── favicon-cloud189.ico +├── ├── ├── favicon-native.ico +├── ├── ├── favicon-teambition.ico +├── ├── js // js +├── ├── ├── main.js +├── templates +├── ├── pan +├── ├── ├── admin //系统配置 +├── ├── ├── ├── index.html +├── ├── ├── ├── login.html +├── ├── ├── mdui +├── ├── ├── ├── index.html +├── ├── ├── bootstrap +├── ├── ├── ├── index.html +├── ├── ├── classic +├── ├── ├── ├── index.html +├── ├── ├── materialdesign +├── ├── ├── ├── index.html +``` \ No newline at end of file diff --git a/docs/v1/README.md b/docs/v1/README.md new file mode 100755 index 00000000..a7349155 --- /dev/null +++ b/docs/v1/README.md @@ -0,0 +1,251 @@ +# 快速开始 +## 平台支持 +由于PanIndex交叉编译需要cgo(sqlite),目前很多平台还不能很好的支持,如果你有特殊的编译需求,请告知我,我会尽量添加 +- Linux (x86 / amd64 / arm / arm64 ) +- Windows 7 及之后版本(x86 / amd64 ) +- ~~macos(amd64)~~ + +## 下载PanIndex +预编译的二进制文件压缩包可在 [Github Release](https://github.com/libsgh/PanIndex/releases "release")下载,解压后方可使用。 + + +## 直接运行 +```bash +$ tar -xvf PanIndex-v1.0.0-linux-amd64.tar.gz +$ nohup ./PanIndex -config config.json > PanIndex.log & +``` + +## heroku安装 + +- 注册登录账号并绑卡,因为herokuku免费版有使用小时数限制,绑定信用卡可以使应用一直在线,**不扣费** +- 点击↓按钮跳转到heroku部署页面,修改 **CONFIG** + +[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/libsgh/PanIndex) + +![](_images/1-2.png) +- 点击 **Deploy app** 完成部署 + +## docker安装 +参考下面命令,需要注意配置依靠[环境变量](/#环境变量),与配置文件的格式稍有不同,加密文件夹格式为`id:1234;id2:2345`。环境变量配置优先级高于`config.json`的配置。也可以挂载容器内的`/app`目录,在宿主机自定义`config.json`,`data`目录中是数据库文件 +```bash +docker pull iicm/pan-index:latest +docker stop PanIndex +docker rm PanIndex +docker run -itd \ + --name PanIndex \ + -d -p 8080:8080 \ + -v /home/single/data/docker/data/PanIndex/data:/app/data \ + -e HOST="0.0.0.0" \ + ... + iicm/pan-index:latest +``` +## 从源码运行 +安装git和golang +设置go环境变量go env -w GO111MODULE=on +如果是国内服务器,设置下代理go env -w GOPROXY=https://goproxy.cn,direct +从源码直接运行 +``` +$ git clone https://github.com/libsgh/PanIndex.git +$ cd PanIndex +$ go run main.go -config config/config.json +``` +也可以下载源码后自行编译成二进制程序再执行 +以linux,amd64为例 +``` +$ CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o PanIndex +$ nohup ./PanIndex -config config/config.json & +``` +更多平台编译参考:[PanIndex-release-action](https://github.com/libsgh/PanIndex-release-action) + +## 定时任务 +- cookie刷新 `0 0 8 1/1 * ?` +- 目录缓存刷新 `0 0 0/1 * * ?` +- heroku防止休眠 `0 0/5 * * * ?` + +## 接口 +- 手动刷新登录cookie:`GET /api/refreshCookie?token=` +- 手动刷新目录缓存:`GET /api/updateFolderCache?token=` +- 分享链接直链解析:`GET /api/shareToDown?url=<分享链接>&fileId=<文件父级ID>&passCode=<访问密码>&subFileId=<文件ID,用于文件夹内的文件获取下载地址>` + +> 如果分享的是文件,直接返回下载链接 +> 如果分享链接是目录,返回文件目录信息(json格式),由于目录可能存在嵌套,fileId就是获取子目录的 +> 下载分享目录内的文件,fileId传上级目录的文件ID,subFileId传该文件ID,文件ID可以从目录json中获取 +> 访问密码有就传,没有就不传 + +# 配置项 +## 配置文件 + +| 字段名 | 层级 | 必填 | 描述 | 示例 | +| :-------------: | :----:| :---: | :-----------------------------------------------------: | :----------------------------: | +| host | 0 | 否 | 服务监听地址 | 0.0.0.0 | +| port | 0 | 是 | 端口 | 8080 | +| mode | 0 | 是 | 网盘模式:本地,天翼云,阿里teambition | native,cloud189(默认),teambition(项目或个人) | +| user | 0 | 是 | 账号,一般是手机号或邮箱 | 183xxxx7765,本地模式可不填 | +| password | 0 | 是 | 密码 | 1234,本地模式可不填 | +| root_id | 0 | 是 | 网盘根目录ID | 天翼云:-11
teambition-项目:项目id(正确的项目ID将自动开启)
teambition-个人:目录id
本地模式:绝对路径 | +| pwd_dir_id | 0 | 否 | 加密文件目录id和密码 | 数组 | +| id | 1 | 否 | 加密目录id | 5149xxx1353335,本地模式为绝对路径 | +| pwd | 1 | 否 | 加密目录访问密码 | 1234 | +| hide_file_id | 0 | 否 | 隐藏目录id ,多个文件`,`分隔 | 213123,23445 【本地模式为绝对路径 】 | +| heroku_app_url | 0 | 否 | 部署后的herokuapp网盘地址,heroku部署必须 | https://app-name.herokuapp.com | +| api_token | 0 | 否 | 调用私有api的秘钥 | 1234 | +| theme | 0 | 是 | 使用的主题,目前支持 classic, bootstrap, materialdesign, mdui | 默认为classic | +| damagou | 1 | 否 | 打码狗平台的用户名和密码,用于识别验证码 | username,password | +| only_Referer | 0 | 否 | 简单防盗链,允许的 Referrer,留空为全部允许 | baidu.com | +| cron_exps | 1 | 否 | 计划任务 | refresh_cookie,update_folder_cache,heroku_keep_alive | +| refresh_cookie | 0 | 否 | 计划任务-刷新登录cookie | 默认:`0 0 8 1/1 * ?` ,[cron在线生成](https://cron.qqe2.com/) | +| update_folder_cache | 0 | 否 | 计划任务-刷新目录缓存 | 默认:`0 0 0/1 * * ?`,[cron在线生成](https://cron.qqe2.com/) | +| heroku_keep_alive | 0 | 否 | 计划任务-heroku保持在线 | 默认: `0 0/5 * * * ?`,[cron在线生成](https://cron.qqe2.com/) | + +## config.json +```json +{ + "host": "0.0.0.0", + "port": 8080, + "mode": "cloud189", + "user": "183xxxx7765", + "password": "xxxx", + "root_id": "-11", + "pwd_dir_id": [ + { + "id": "51496311321353335", + "pwd": "1234" + } + ], + "hide_file_id": "", + "heroku_app_url":"https://pan-index.herokuapp.com", + "api_token": "1234", + "theme": "boot", + "damagou": { + "username":"", + "password":"" + }, + "only_Referer": [], + "cron_exps": { + "refresh_cookie": "0 0 8 1/1 * ?", + "update_folder_cache": "0 0 0/1 * * ?", + "heroku_keep_alive": "0 0/5 * * * ?" + } +} +``` + +## 环境变量 +```bash +export HOST="0.0.0.0" +export MODE="cloud189" +export CLOUD_USER="" +export CLOUD_PASSWORD="" +export ROOT_ID="-11" +export PWD_DIR_ID="51496311321353335:1234" +export HIDE_FILE_ID="" +export API_TOKEN="1234" +export THEME="bootstrap" +export DMG_USER="" +export DMG_PASS="" +export ONLY_REFERxiaziaER="baidu.com,qq.com" +export CRON_REFRESH_COOKIE="0 0 8 1/1 * ?" +export CRON_UPDATE_FOLDER_CACHE="0 0 0/1 * * ?" +export CRON_HEROKU_KEEP_ALIVE="0 0/5 * * * ?" +``` + + + +# 文件预览 + +文件预览支持的格式:图片、音频、视频、office文档,其他不支持预览的文件,点击文件名将会进行下载 + +- 视频:h5播放兼容性最好的是mp4,其他的如mkv,可能播放会有问题 + +- 音频:支持封面和歌词,歌词必须是lrc格式,封面、歌词、音频必须同名(除后缀) + + ![](_images/audio.png) + + + +# 自定义主题 + +> v1.0.4以上版本支持该功能 +- 在[release](https://github.com/libsgh/PanIndex/releases "release")处下载ui.zip包 +- 解压到与PanIndex同级目录,按需修改templates及static目录中的内容 +- 模板中`{{}}`都是与go渲染html相关的表达式,请勿修改这部分内容 +- 目录 +``` +├── PanIndex +├── static +├── ├── img // 图片 +├── ├── ├── favicon-cloud189.ico +├── ├── ├── favicon-native.ico +├── ├── ├── favicon-teambition.ico +├── ├── js // js +├── ├── ├── main.js +├── templates +├── ├── pan +├── ├── ├── bootstrap +├── ├── ├── ├── index.html +├── ├── ├── classic +├── ├── ├── ├── index.html +├── ├── ├── materialdesign +├── ├── ├── ├── index.html +``` + +# 更多 + +## 常见问题 + +### 如何获取目录ID? +正常访问官方网盘页面,进入到你想分享目录的页面,浏览器里地址栏最后面的就是目录ID + +若要使用teambition项目版:rootId,请使用**项目id** + +![image-20210312180742254](_images/teambition-project.png) + +**注**:当网盘启用本地模式,目录ID为分享目录的绝对路径,比如我想分享本地的`/opt`目录,`root_id`为`/opt`,密码目录同理 + +### PanIndex为何不使用前后端分离? +PanIndex的设计初衷是简单高效,前后分离会增加部署的复杂度,且会增加页面响应时间,PanIndex为单页面应用,目前页面的管理也相对容易,也为了更方便的适配heroku,目前将html,js,css,image都打包到二进制文件中,所以通常你只需要一个二进制文件加一个配置文件即可。 + +### 如何自定义页面? +参考[自定义主题](/#自定义主题) + +### 登录失效、目录不更新该如何解决? +程序启动时会初始化登录状态,生成目录缓存数据。按照配置执行定时任务,默认登录cookie刷新天执行一次,目录缓存每小时更新一次,如果网盘文件不经常更新建议按天执行,经测试天翼云,teambition的cookie都比较稳定,所以cookie刷新也不建议频繁执行,频繁执行会导致验证登录。 + +计划任务修改请在配置中cron表达式,[cron在线生成](https://cron.qqe2.com/) +``` +"refresh_cookie": "0 0 8 1/1 * ?", +"update_folder_cache": "0 0 0/1 * * ?", +"heroku_keep_alive": "0 0/5 * * * ?" +``` +如果你更新了网盘文件想要立刻生效,可以手动调用[接口](#接口)接口进行刷新 + +### 天翼云出现验证码登录,如何解决? +由于天翼云盘登录会有一定几率触发验证码(1分钟内频繁登录),因此可以利用第三方验证码识别平台进行识别。 + +目前暂时使用的平台为打码狗 [damagou.top](http://www.damagou.top),该平台需付费使用。 + +本功能默认关闭,如需启用只需在配置文件中填写平台用户名密码即可。 + +### 网盘使用经验 + +1. 天翼云网盘:普通版容量较小,15G空间,如果文件被多个不同ip访问下载,有一定几率触发限速,会员也无法幸免。 +2. teambition-项目文件:个人测试速度限制在500K左右,不过容量暂时没有限制,也不需要内测资格即可使用。 +3. teambition-个人文件:无限速,有使用空间限制,目前有2T空间,后期可能会合并到阿里云盘,不清楚会不会一直存在。 +4. 本地目录:下载会占用服务器的带宽,而且服务器到期可能要面临文件的转移。 +5. 阿里云盘:内测+teambition合并有3T,公测使用各种福利码可以达到8T,不过空间可能会回收,不确定是不是永久,阿里云一直都很套路,你懂得,据网友反馈,使用目录程序分享账号可能会ban,管控上比teambition更严格。 + +## 意见反馈 + +### Github Issue +- [PanIndex](https://github.com/libsgh/PanIndex/issues) + +### Telegram 讨论组 +- https://t.me/PanIndex + +### QQ +- 359916450 + +## 捐助 + + + +wechatwechat \ No newline at end of file diff --git a/docs/v1/_images/1-2.png b/docs/v1/_images/1-2.png new file mode 100755 index 0000000000000000000000000000000000000000..83af22860662111d53ac6a7f60a853d71e186069 GIT binary patch literal 48744 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 Lp$_s4y7o;N6|BW(> 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⁣>Fsqb}8#@N# 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 SC0B$6z-4Q7&a&A&AmzW{ybFo| literal 0 HcmV?d00001 diff --git a/docs/v1/_images/audio.png b/docs/v1/_images/audio.png new file mode 100755 index 0000000000000000000000000000000000000000..40e3e151aa25197c156097389a0f1c174517219e GIT binary patch literal 11137 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 literal 0 HcmV?d00001 diff --git a/docs/v1/_images/teambition-project.png b/docs/v1/_images/teambition-project.png new file mode 100755 index 0000000000000000000000000000000000000000..2c8541fa71ac34bd1aeb35bb8333daa6cd931fa7 GIT binary patch literal 5458 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 IM6N<$g5WmQaR2}S literal 0 HcmV?d00001 diff --git a/docs/v1/_images/wechat.png b/docs/v1/_images/wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..5b8dc44b18f6c984ba73b528644edab3c6f69689 GIT binary patch literal 62574 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
vUn`wZ1uw8#wBl1oZ6fKraPz%ihHc zj?F%hcnfk-7r8F44W;%ix~?BB0t-!@%Z$gQrNY#`NCy;UgMUsl;rLE9Yk5xMF*snXdgSLSP-H8Vot$D8h13RyB9c!cC z29dd%%#Z=BiB6EJQ<|1Jig zII)+S0FKg&tuGiU2B9Ol@FNKKPgEpc;B2JGL(^FP+rWSQ#Zg8kJ!BD>hk%)@?1(iU z40f3&8MJvjs(bdIW!l28@th+k6bGVi2v+jkRMzz5AZ%JP;)rsE7_9LaZ!RksBnoc(M-rhzWu(=XJUapm7K7C{CSZEDS*aCsyv!xZ@ z;XmN1lEzVJJERH#7xg3lM+BBw(gH8$Gvc;?{1u6nm|LL>buFf``%HL#-i9jcB6 z^7=4H0SLNPe$7pxpb^Cxu|nPfD8Wc77ytmW8vd7pxnwRHI6b4aBi9v~*H(fD#(~;Y zPc1dssB#SkLnECg++lcCv`GH=LywjzcIq-~95UIFIfQG$1G%AOr>d2BLa3)FM>vyO z2A~e2!K2oYgMuRHvjn2Y{R?V@8S<3DkqgM}7;hJYXJoJu{BEGj=s@f+tjR$Q9AySz zHoW<5u;OafNcd+1XPm)-ad2vlY%C>cf0}W)b4AR-K?nRI5FQgch*f3kQmv~F##&T> zUhKayqgGDTV|gzLcAC*YlHCg;Xq#uLZR1LuE-MhFF@jeQOZr5z%*=n~-uXmfI`XoS8_hn$EE3?gM#}Ua9XnN-RQUtPoSd z^oWt`k%7u4ZD{g7YJk`k8A<{ul={8*R?FKNgs5`ZqfU0`MViuH>uS}Au$m6l){`~r zzcIeT3g_vK+(D*ts8PMdNjBqrmP_MBl8G6IKdBPm6 z?E3fVuy|IFQM&Fz)CV02BtAk6zN^9zloUlRxq_V8=O@2#$$}aSyXQYEzAxtopA(f` z7$|TVqgi$AFkJKWGn7b=d|s;pzWA^YC=@sT?)pRMd+_ zUbEkjPBItLU5swqxX1b;m9X6t zJN=w37!9i)9ErLB&r(J~w*!L$Jk8q&NB>gVJhcz<1Jynb#ny0Wx^+H_i$|mICi~wT z;_8%m>3oo>oM#vcbn-kY-J**`pzMeIFCG(VK{jWOo)I6<*=Jo<%5I1PM?Ud| zkvkz`>oa~KcD!9|#lXy_Lv3{wM(xB7h$NsZgWG5x(M{YQ>#kD15NE}L+7MnOBJZcrQR$9`_HHp+jzVqnicxC}UtkRcn9 zhnMF>b6KtCX?5P4;oT}#69C2jcXw?PbdsBj5>MWSUWlSAk|y1Pki2qf%&=>*V!l4u z0DZzY3{hVIXTjz1W5DIXnPW=-gpCOu#!ygyXim^`Fy0YHX!bzB?2F{fVbqZ4$6#h>Ze00Jbohn@b!^9j7vbo9Cddrg#^@>FRk|afJ zR*AAjMchtlgYD%?o+IXV3Y9#aU>?Nb=S85Nx1Vxid7YIoe;YLO>AQs2h2A6!u5Su6 zx@I;+QV(#qlc#(g#6zxuLxQ~)ClOw~7#-#Q^tYoq0mpN*@FT{w!_^dz6#T81k={c{ z%qg0D98pc-2G-Y}oLsYJg=)@+%9RYE?&v<*I~Zs=k`y<~;J>!~@Gn;#?eqb8JCty^ zY#~z&9wY?#D2g1{yK^MOXgRN>pKPQ?hoj*c^|HxA;NW za3{(_S~y#*C}sVgsh-2|=^prMrRBWbzve)4({PNr2%+Z_p#5<|p%9k`L^NXnip7+m zKVJ7`+xry|csfl`dtdz}=Dl;|y5rj?@Um=@`BuBwis>k#O-xnWc~U zwO9AsnmP6;ahiyxA~i@lc`bvPjzDF2;MDV2YP4wB?k8RRV?%`msp=ApB4tUqLlqG8xjy^%Q`Y+&*j0j#Pqkgx z@sCFdWK`QYnbeT;n|$HB=r|_a_Zd4oLpDTLFi$1jVy5l}RQx2L!nc=3w=~uSa^0}r z^;hHWl5T(T%5L}^{xz7toOrw)Cy2BsxF*?O+m}8Sx2^d6t?@mz2XW7>zoDj~eWAgQ zSi9;Ao(kgglfwK1J@#Vbhn--j=vRqxCuY41#M`0ZV0TgWEPV;x{#7iNf+Fq3dW6j4 zj8vdLqjVl4FPFBBr;2#FU{y=_l+2Ie0!QUYllSTPbRb~ob>~{dgK*!7XI0lN@`^bG zXhy>HW7AmJ>Zy(%73EMzxC>RS5~*qd_I!&|NXfBC#wWm-4&BPEYHmU@D z^M>YVNy<|#o<53IaxLrg6d@|xe)7bO@!*mnaeHyUuHPvHtX)pOK%e|S<0BRn-D_Yz z1XArB(XA+5{cQLXEGa8}>g)UFLxZ;8DajhM%Nxg4abbWW@)JI1@WgIA#)XR%&m0t*}M1 zPV8az<6=*$6+3gZwEh9k^h0hZz%>h;yaaBXA=n{*-zNnrY)M-{aL7riNJa4k!ka zuv*uZwV9L2%VIF{e|JE6$4Ywpx`)ZNb3(os#D`Qut&Y#Gh~cv zlA@Y){W$9*)p9L^t|2`VslCz)_Dx3DpFBqLckwS4p`}kt5_WvYk>i02+V&uM z!8%|v>Pt;yk`5Rk&o;X2S5QDl$~jqA>Z>}C_;GcHGzs|CBZpVjUH{nub*b8q6}5iD z9#JvT$wVfxPPvYgK%RoS+}C*tE$&Iz(=_M`(pKSQL7x>1P_UNot9n@<|q^Un5E+Tq(HbA~ys%2^auwgjP20)xwaApP#tv4wqORvKNpp z6*=kD!kncDWm^Yhzf(1=&idQ=ERFNj&Pne2Lp`3I$WHP!pi?K;u$;4XchpQF#*k|l z2a2@44n<%2o3sk)mq(icLUB5+Q}-l4o1Bs#o9T0o`TvdNCY;RA*Bu|0HMAMD7)~hu z0U-r-1f$je%Gq9I>EyM9T^_<_CuzKWn?>9Jm9FL}ljn2C>5`a#gI4}$RHV?t)BdH@ zgLx@F=OBE+9}a_wgpxl5uiq-n8^ z23A)l{lBPXTMwz*mz}ZILv5c|yVCa##Iq_VyiZ7`mDDq!RT*KLj%r;=i+Sj38Cw-y{q#VR7Zfu>;TDFCwi7DoD_|VVN4#Uc2z5px>bf zg`Npqf#C{uR&(=JQ9oa*8;pXMKxLHMjF7pD+*Hac$3cW-j_}PM19OeH3G&tz8urM^ zHko)t=FQ!i{zFjc5gmi-nn3FgJq%^cLcALUKh8|$&jnK?iV94k_iq%fDW8px^7orh zk6^WoxkdTq*u1Q|oDZ03_oVpOB91Z^)U|8gFu^mEnU39Zqws$%!4@{}F>&4o;fJaZ zM~TS3as3V3J)*;|>IRa)3?w|efyss#IRC!Jc`&xm^bse!6Z3Pn^4(W-$5R&mM|c-N#L>0IfSGI-(r>`ovF6Co)~4Fj}v z5UDyBh^~sO(x_hp#V92UNAn!{+<2o&EQeb@TEA3_b+xi|k?wGo*HD9y?AXl5k#fL( zNCI`oJN(;#>=feh-&`=_33DGWGo-h!px}&o@#x(J1wSE+n^schc3i*UV)3pfVz%31 zSsGP_?Pe*n^onjo8hTxlw`LKQ9%QfPYHzXi%iXnoW7R2CVg1q*RF89ecm_mD56*{lpKQvR{|9>|=MzXD zYcK}~?|X)8H=QjykTiwR|6v%h9VT!jvH2HSq7f#Mv?T@W8-*`2t+H>Pj@$X@$7F5l z+!kcl;SPY}QZRAjQKTg1PL%Ee`mXIc$5#BFEvE%jB$q$wjNM5=pWsQ(ozY3$(}nut zSV?5#=m%1g4yLpO6T~iY)HhpG8@Co}@pTMu|G2dBc>XZ`Vgm?`UFP?uU-gWz^G21c zJ=-CpSVgc4YmKm5Abbf`)r5Y8CJEaamP4C2&q?d?!*}~R6twah``IA5%&5dZlsL*k zVz;+G60af_igl96VF!KZBEk7a;>e6l4=zp%0gD*5Vq{qg2H(%wuGcLLqJTP!Apmyd z8m~;m{6r8FtAtWm95}4Y~1kbP78V0H=tAI0H2Db8_Ht*N1{k;kXNx!4^!xk+$ zH$c<$@e)6%O!Zx+BXUv&!ra{Y(qFMn!rY)96w^DmMM{hAFY>LU){L}wg zlmx&i?o;W4w!gZzIr}QX*Cj?g1esT7lgK-Q$ShbA&Uwty9#-P+N>U zpx1?E^p>{53)MKaGoEMm%!V7d&F2!!)~sZ33VZdC=g4wBi63tejKYAQ)#oQpjIgYL_jc5&ty>~>W@$>Og8&hz1f)BL4I(Q~5A5Y&VjsqkRYt^P0P z?8DP)jXT_5IqKzgvbw5A#f~z)p)Q?c5EShN+pMVk`Ff^X0>P{L+}55LManAWo@zy|z>;>=h%xHgJm5)Y_MXG>lhWC$r{+SZ>Ouix}5!5U}l zX z?3Xb$7B;16d-CO(B6Trr8{4)O436e?>dels)0pvD798>>p!xK^=67#t3MQA%_{e8k zM!n3Tsj}t2%J0mx(vle?3pT7iJn*Z*hnTDHJSYAq)>_B&?C~j-nhT6-QFujLb^^a? zYa{%eQe@L&-;n4^3(-ACb2_S;pV*AJ;3f|(as+y*7TO8avNntUq}6|wAW~I2%Z)10 zx?`&?@V201Wh%qxx)L8DrOcdDcK8cD3`NN-1Pe8d^c0S_-jt%G$k0zOZgeJE4g^Nq zes&p4e7q;2l*`0Q2GD=Kd(}=dj%oerFW3^ab{*2xzO#Hc!{;YOSEXo6Js@A6O^Ap$ zJBFIolCQoeA=g;EcKnIC3a?blc&?k6hsZ(GE#4-Qu?q$#4N;GBrUKlxf{=8Kb>#{* zW<*kuR0&&7sGoN{T!{@Qid4JyOv8?jvULTC?Fs|$s=HfOK_hA~bJ?#dJV@#G$PLWH zFSmN^&~65Kjh(`Z)(nlSx44kHmrC&E^!oxXeP2l@CrVAUHPX2t5iq2(d>#kfplDkz zM9vUlDUbNZ5h&CNKyT{W1+9H(Bti{RE=BKRv2WV*JA^G|KWRqfRh#9dcaOp>Fs|5| zvfwG)tmV9`>cRD?z~&3+$ZzsVKX&|*4r&mAQNxCZvU280m{R03v$-7*1rLauqSsM) zGJ%QJmiDM6-(5yLE)B7;jRJwT7e_?z?#U2nNe5>uVw-c};Ni5RD)BB4ejZ_ov*%In z7w&~|8t-6M6_+`}+$ZzlVDGMcZ$;cUmAEgXTKOfH`K+^@t7@5}cHN)Vx=-LcbKPIB z`@uasRBHBqAwi+XldBy<%FT0er)i7-_sDSK%8K5^8<7ybV4}2y7g)O{@0NA9u!DHf zQ{>9)2}EuW^3gNpCRV%?b^&H=9;pbZwB*Bizyb3!gVQPv|9Bs2AjS@c=cy^vw+8>{ z1~a0#%!J=5)apS3&DgLt>3Lx27)P1#7kw9yblP|2U!c8y%NYjY<@`RA;bDsKJsl46 zs_iEYiuu2#1ZQ$`k!B0~XNh4!$+=O{7<8eAd!H~XLdK>@ zZ~|TO{}SjNFh+BzfNwHfZ2dXBd=M?nFHq}Qbm%UicinA*;>9RdE>eioEb$Eyukzh0qp>#U?0uPjh(epXP z(0{_vf`-RCyuZ)>!4j!PKq(OjygscxrK&5IP+u|-4)rIXbWdhO-{6NCl^Vg>z7-4L zsmuIjf07zLaH(<)$8j$E^%L-_*vEJzJv!36=?3BvjijjAKNcqaE6)rwF`!t@9LjDN zcQ6cMw$puG6%43adJop&clvejpzC=Jxw>JA^@*OK$X>>2yf;0sX(B~mJv3$Gy(1qY zN8#mlE9SCH^=+Mw0IJy5dhr(9W1<&^uP zuB)s2?~O}WehW!ao5;}7dU_unH~)6pVK`}W1Plq| z;KC|~f}WlmR6$BJo@GfkRno2j-kn+v@2uI}HZU1Gn;bU-B}47Tn~;GkeUzq0c>!h2 zz_G>ys$jrf%ZQTT{Lj?6$to5Wmtign)@%Q-CVevj%@!q;HqsL1RFp6KqK}=YD%aHL zW-QNh*e6On2`iK4H8|K4>*MZ5(}LtCI$OXr?&qZ6UBEqzL0FN9jtwTUa&=mif6Dz5 zgBB`V>Nyh9iLd=s(+Q)#|BV-unzSrHF#0z%=1bF+LVY@cOHA^^j3|eUP+J4}iE1dY=dfa8%<~F7^ zFR$#ua0+n(YCxF-ujvAEjiBdR3k>owJp978re7zf!nJu>&{+pk8dqzk#e{7$7!~Ip zf!x5a*gMkS=rbs=(%6V2VMvET6mfYa*6;{AUE&C)`xc^%>+(=Dwn(IDi-C1xc z8A+Cv?0=b@S+o)oZh~e$d6qDzaKmc#UBUrSK z%|Sz&+MBP83TD5teDF_~f4e`+64m(Fxb+zk=3tOLPSy>{I6;T$mQMBC{xR;E;f$jd zPA!g&A3t!mnb6=e)OyC@27(3Ub^F0jWqpDyBwQ#&C)sHUi0@&xuSZs=1<}EV?wovg z6shA<$2Qyynq3o88N(1NPK!MQ#N@z|=xuNfTZ9 z&&V1*G-a!a9qwXTTS?Y4?a>&j`K&1c#m{ohLzC*f#ZN8_cxeoKL6rCPq~}xtMa0~J zc8WJ#XC3T#nfG_ENO5A7ytk~L^FG?n_Qcm-E({!bR>!FQ`;5dYVWCKiQs_)|=F0Z2 ztiWUl8P*b70WW!mox*>PL!H%jd6rZSVdXK>f;${k+OrL!YE`FiHAfkv*ZWOk0e`ej zIr#MzG%+GEzfE3w_y|@*RTDhAsFYgx27|`3M;j(41-d9ajI8dk^kj`nU}M_U)S`8p z>ffGB>{^{eFF9^22k-M-eed+I++SQw1cij^q-DQL#N&GlW=CwS1`8~&yz4eqm0|yEsNAn(r0MHs-CrU@w_3;Nx(jL_jplG3 zFxUN0`!c^sYZ-i*$!d!QdSEkVcVpo|u8ueG`w^_4u`4kSC(2u&+5(Z5`s+^&tVIR50*Ab> z=CERl>G|)Q<_*m<=KEbv;X#P09X>-qR?!jZS0f{6Jg8q3jdar``c||q=fCPFD1)(J z4@@|4RjA9zMm5rg#Q_n}NU!9~;7ZZoh3~ak`4}+1^H?)~+r=DWrMG~e2_I5}e+<1{ zn055@8R2lVBC)w%8z!Kfb;3JZra#;&87nZjIBfCd$p);U}W z>HuPCjN~Q@7+r~l;mz)Ujik{XAH6mP(tM3#fZ~s$Emw&xHi?a-SrmNY`LLX0Zs%vr zJN;eVQb~tO{%4vE&u2SNINMs{Z7wlhCYt52&N2z@p0yjI&PDUsLVpKZds@2ZcBn(* zp>F6&!U;j;gG7~vpr3Aim;0@@q^mAOQ;!ap;MBX$z2Y=c?GuoeH`P_W+4)ZTPJp?j zI_s0|U|PaY8q0K3`ENk=&BD8(d?<-%D_58JpX8c*XgGY10;-dEpH1aJQ;|ZCf6gVk}Dg#t`xzCN6t(A7XB-Tla!8mc=R8RWuyt22zB@8^FQ1~kOqo;QD%Gx=5Z4b1owO9EduQ}xYI}4WHVr%8R;x4%`dZA$|k-LH56$nyG)0d7!H*>q0a{GUrL|3>tiC|TuxNf_jzTpjb2Y34^y)m1zP&X?~z;ZDhpc^9dj&S<-ERi^!BUot&6Vn6SZ*Md*rsCb4fajj{Yd|5#N zA6R;HHxj#);B|mw#Fvc)7!*6Msd>8;f}Er4{ zx>Gfo6>CjRD$AO?OWwn{P!)Uri{$HnMcmn&VgC3C8l`d?2+~dr1^w!DW-9-Ag-)Wh zba*~^!hb)f8N2p|rxk`(b}w0DI|cX7XN#XszIU*0XTkY=sp&}qw=^( z4T}9`rqrV}yG~kN7vcX@QlSH`{x+_gQ`pzP;H{4~!eIP1Iy$*ST1`k{WQDQflv@VlngqqP4nOW;P zba%v3A%*x=)H4sR!ej{Rx+9qG(_Wjfp4oJ~x#I}+zM%zz$O-vxvDTAw4&T1X6q=c{}4yp1noMp(ZXi#*%c?>t54@8ey7exrA#IxfT@*Ve?|5e zXkn59%|8Wf-N{I0kYSa&YrGj$Mz}C1z6*Qc2?GdenT4|K5*a`-3O= zMe@{(Dm;|`>9q(qJX|rwZoHNEZ}w`63Q&2q%~4=-}<7SlI3W8z3V<$;(fnD z*&|Y*97q|`)MtvE)MN+5LXK{udGk4y@J_F78Jma3@MY@Nh}24j(-H{PZ^`|j%pN-X zWmu|OD{p~RyN;p}LU#RoZ~NI7+&>~M1frix&{ymVvw0Wz@vU8x(Q~Tn5k&ElN~8+r zZ21$gB<7>nv8|K{Y_7WVg*+*D7mrHDzaO~PcyEH zs*c{c?qRp1>SDNJP(LmwZ0y*5oCI*hvg#CJwP9Wfq)mY76 zb-S9SPc0fUrTJXm9w-{oKjQVvI9#sP8QSV&c4X;ADzeD(%(O^KmgJBlOl@54JzH7i zRhlyXYpplxEyV5K%2Ap8RmJkH;))q-8adSMUMu1?_7mh^-k_x3M7JMizllaK0$ zqU%ESM9uek6$qOzn;?H{ZUhXQjp}k#E&5a=9>_W!8U4P)icc{||HFF*{5@h3e?|Y; zxM6GW{N)`@dc^L+d#YN)Y6GLyo0dJ|M0Uv5fw%6pakL9BL zMf(Sxx29dZQr2#sX&UtCM1;RYvreY89Ai0#fop$k&=+h?jGcZ19wj2AKua9E0{ zHqR+frGjQSv%2U~yv@5ANRyYYQUYJN7zb=ge@Xi4{Mw53G~@?s$(NDw9nQmu_uhEs z#GKst!4tQ;BJHpD{F57Vi)`Mf=p>jrN{){dd>Pr*lZgsMs;c-J``q5o3KE$D*z!Y#4Q=D-CKQA(>Z1nfodv$g zlE5&8OZC;q)G~K3;ya2a4!RMjZ_b~N7dF`xXFp&H}Xeu028mBhU)eLZG3ECYC>Nl9d9K=@YBvnI6w zMY-V;3*}s*Sqs~7HdZlNPxEc0R(KV(`*vY1tpHJ2t(@y|1Hg4Ivb zIwop~Vm1Y(P`_X+CX1l4vWHYf*b#hVVvL|jv|QvY6I?+oxL9L8Ck{Vm%Zl!Vb=$g| zu`idruAud+9nMY7hC?$O+g%sAG83=GQALw$@6Ia~$t)Ad+kEbddzU*5qr7EYK9jp) zxnDkrXVw*pt@kG-sUqIwBs_Nf+zk0|J?-~t#AdIOYb4tBCko$24`SaXQvknRl%31J zv;=30%Wus?b&F(LRr# z{%$9pw<&1oUC}U2JlA>VAy&pJk)TVxmJm{?G=M&?FOWQ}-(O@$y!Ahi?9<~HbMFnj z_JCg5QaQh33!D>4iqte=RzuX)L!F&ciGR!Zijct{z9H@D(0K$9k2oL|2Hza6>hOo} z;$E>H4B!UKi7l3pXy%1N?G0fUOhufUUZ#^s)f`S)}^Ooe%O_>YQNLyH@V4$-_by|(sL z;+Ia|p-)xEk0{=0jz6sZ@9p0K0S4=%3Jta#iP6#ynWVR=kb6GZd`(If6kBaY#wAbn zy;4z!i+Oza(`GkRLhZUzlV>;I)bzx-x)QLK@91fbsx*HDPkcUpF?ITP2g9LvOSX)x zdnKzDA5~Ji>s?Zw$x-zMM}?UGnTH?nS+O+~OvzW8vld@C$j%&Bji*326jQh{gpOQP z*t7Oro0rZ=IX>cEn>D-M#oz=hSg`}iqW>+^s6u=Ry&dIvKysv5`nQLTyIYO6glbPWCE z>)hH&dc`Nf&rbaGVafcP*K`c{$tqUjcRaiHo0Pp079V%G3K6Jg)X4_6jc~Zw(iZ(% zX6n<0z1E?+4xbNhaCJ(^hnG*n9d_~ek%niX_C?3tCAmc(@f@s5D&T=a2EN_U@N&4t zHv?=3G|b_jncHyEu6Zh8#s3JqdzCoN z?Kn7F9MjCLeF~uHH69dPY&Y|rVj5-1W_jMm2G{YBS5pWRLm~{VBr1RY_Uu#)aHHSC zZ76Elj$pTKZ9Ht7%06?ntnajK3|c^~4f{Eovd#5M^bJH#g$DicLIN7tBEoMLLF}Z|V=>>@agm zZO*X^&wCV1AJzn4hYQx&0y9g+F+!QXFk?C?Yr)acU%O-RX3u`h<tQSGfdoe6bW4a>dJ`mf%7lwi?2qbl&OU!L=e-eOs=^$&1Wgfn_N;oI zjmz`$;W+*un$CeelP*lc6I&D8wr$&*IGNaaW81bfv29N6TQ9yiZF@$df2~`k_D0d1(dQ_KI9{;aX9dV{JsYa` z$%!pyEg^B#(FV+oX~0DP{UcL->)ZH__R5R5{(d}WX9l&R=qmf!q5fu7?7Sl8vFWI^TmnDMmemR$sXkrY7iE|DW^4 z$V4Gs$xwUKh4&rHwwAir&iY!fLR21eSuv80A1GoEFJJW@6SxuPc@C|Z81;uea}Hc4 zO?oaag5$oDHRE?};B(K4Rr6_Cox}#5$SL0IR?Os9ry<2{So$`RI8fEnK6q}WAQ$CO2XYU=@R5sHMq``D zDeh0yRl_9oX(wfe)*r;zSdv4l@|wzj1T^v`lzop(x4a|+rK)hHS5tk_}M9)WXi7h(ov=w^*KyhE;#Nb&uxvqFcTy~U_ zidtI`jf(SsSiJgtx){0be;*G7%GQOk%b3nOJ0dvV-pF0`_2Y>!(DgHVudxA6WJ9S# z4mvF*{RO++--nBzSaq|hFv^7}dU_!csc)^C z5Vkd|XpLwB-vV}XjIEnORYIj@kSlBJuH#OO-o-8Kz&mVt>NcFycOLdN_=X#HktSH0 z3n%OE9Bt!YK6x#9TqYrR{V|oWs)f}!U&w*n;iHtf^pr5wJ`D3?uG7unJGGyJt-?xj z;{2n**hQxD2XTN*fLE`JJ0#F+aXPQr#P*83oJ8P^mAb@G@)vsvW%3GIA^{KADC(-s z1s>^iQ5zV&{ag{kcNmCy`&Xgrs45!2dlj`&37PmvEuZ)q~Bl6{n9XwS8z7KN(EM+vlPwD#m1@P&2-`k9pXS&b4c&CUb~ zO=fda#oyN$i&&^u+c7Zg0P}lt^AH1ukEnabUlos*sIn*sJ$(q}8w+~NBRMe!Z+}xPwF_-rpC~r_cNy;e-Ir+e2d{j# z{xP4K0A@OC)k;fzFUwk>B@*WPH+Dr8tLv11P+2HtzBXz4$2gxK*A|5pK{1;R3)?bG zc{qytdZDkBDP3m=W@Qb&;qPeO=Mi09!U)lDW3n>(IfKT5vA%gt#H2O1*o#JC2|=;f z5G#q7U!Ht4kX-Y@BZR(}GuJOCT;eITE*pt5;$OjJGgV_^mxzIyzPez<0$(RO_2iHm zRxypE%k?*Rh}m+n%0|!>_O$poVH)NyF|}Ldk``PdzI@a;07lzkAZF@F%9?u(YCRsa z)oBbkiuF2qf|%&;LYSp)CF6}9P>Pu`p^5@OK7TCD(F$yholx1hQo|gy0wUlIC))K8 zQH6i_yQs`48HzU!JVj<@p;v{e_Hy)*_3gOi?tk%WB-;_~1A;SkC&F-oW_q1u;cFH` z9m9bhQEXKCvaKuqp+J0YnvWd>k0kqG>K5UFb@U#wz<(h<3v*z43>0yr=db0aZ$G#F z%|}^XnIreK$~40FztD5<){TvlwOV7is*A6duo(w~#*qB}f|S#ri_lq~-Fd7Ik=i#o ztYc5DA2W#psrL%ylW&V)z5Dw~QEI~22Hmt@7cbsZ&zf_4N-Wp_l*Y#0JrEhL`F!suHP|n= zA3OrniG7kGa8c<&9wBx?4;t51G9+?VKP9q_~)Pb)C`2Zx)$0AXOu)eK$DO3CxWDy zvq;QJDSgXhs7bL&jb;G&u!E^T|U#slXNPXQnAX?^K zs$aZG`;$d8L_Fibn6@W!yGv46)2Ua8EZ3ohmTVe#e6|-6g%I z4%!+)6ut{5VWg%RUA3e$A;n&epa||t?vP;b?{({~jD(u)jox5MS;c^!2BIHyS9dte z;@q4+Ea>)I6$dU(Y>CW+oB@Fau3{>aIiMNI|ovQ6TW0!<1V`e#DEm; zM$KFUtHW}|u_N;%g>}-9>@e*mzDKB_mH*oxL%FpmHVU4V3{LDz;icN#0z6v+s}}xo z-7hkOzr*Jb|4dxo+UVp)cUK@5dqeit^TNr5Q;w|l zZc-4cN7G~VN}%c0yov&uzS*go_4ozEuiTX7*P9pb4;M$cDRKkRQ1K0B>~mKppcazalv*$0lsd+ncsyB2%oOR0mA zRS*4E_{vaTZ@vW{x&_8tz@aRWQ-YvYxX;=7Zn zJ3+an!Z0dh;cDcu)`hVIbo2r=^6CAC%G%fbxMKR zh!fKnC@Ga3+imm-hAz%s;Su2ztC!zjAOzf=E4ba18%}xl1n?<9RE+;i=5`zelbklt zUe?auXpNJj9o?{1&&&!BNrT986 z3Ph7l<*Kt5RI=;(+!lr(d5&p2x`lLNkp@y-{Z~BjY^41sb*;)5#%q6y2GJTAW@Urk zq{|vcG#7h+^Nmb3wYJ8o1X`OtmF2h@^6Rx8=$(5Cv=HGkIEx>fLe3*tta0U4UF|@6 zyD{8GKcBS2S`8RmQ@`PY?By;5s8vjftPl%E4`41lw^`}kxRqjNSIAy+QN%X**_vKJ z+^O|gt#sZ)s@Uyo;PkGv)h|ARnx!Z{=y-I9&uk6 zRNY)9aKBtD`<@xA7=>Vg#WTItf+E!~_kNpl8={e8qH6%tdu@CdrP-2*LwS;wi;Rw| zUeY5;DDQ^b)3a<{p1J!jX+MZd!-0A0=0{4mq-9o`51_q%z)hem{D1l>jRAW^ox^7g z>4|DSHqOyr_kzXhJXb=2bNfMAI$%gRB16N~N0yl(62zj-`{&OFmEs>v@AjiK*sA&S=W_Rq957B!=s^GL!wwfO>_9+S^ibo=0aF`9lAHnn4S1G6N& zi=ka3>iI+8vMq(vuFR-{WSUEDBNqY%8{P!cL6J~w{Xwo5DL+X0Dz?g1N;Xe2Txf6v zc2tMl(2RG@C=i6Yph&ckt(1e}>vmS+&cy<|BPasPTs?AkhNgMhls57{w)O97B&gYh zV>NX}JCg+xJ={;UBo}NuFG4*(JT7+#UtR`DV6w7(Y!&mWMBD6{WMe)Ys&n;gdmaYu zE11^MfYvV+(*Nb1RGJj*uK+yVMK4{C6`1wFpzE?>HHTO(ieB~A;O6$;JHWclpmG$+ zshB)eU0(ShaWTrDY3JEB z*J6Wz;pD)n=WB`-YV#G3DN{Lgo1lW!S4{q?EJSrApf-{`v0ilC*X6#Q^7tA1rWQS z#CcE6g9Znyo-fMunSQ?l3}*60lV+^A_;%os@(+5>KwRwLOIgBl3pxCI^J;;q{`f#Cr=b?MxTp9ZyBVs*)c{FfzZa`vE3vNo%?FRB`iXvl-fywUiIYT4BIMjEeVQ5s z&a~8}HuXD|9H`9YTR#;0h}T?%{wu7o38OuAv}m*WnJ6zKYV&6nGcEMv&!265w@>6Z zTW`%p+f+_D73P2NpUl&EI8Ww;Yuxy~`Y&muLN64cR)Q-#af7pdUO&j6IkoNj`y6%QCCYkls3`g9!L{^miwS2*bpisIB^h$ zmBMt7yGp6!MCMbbY3wB?uqxQ#RpDVhFcaP_#v7V%)HZqTU1Eo9_TH@YS`@axS{DD% zc^n9rG%FSP7W+2<>4E$=Xqb2?H}BEM#JSUvwkZJSUZ+F(8`?_wpC&{+p#c{4bd;6) z_#gS}M2A?r=pEXr_ekPd4K5A>hZM17`pFHVPJ42vuYu6W)z-pxNALU7yw~z6xY=x! z=03RG=s<)vN|rp4HYH*3;j(VZ;E|Nj&&aLD^faA@Rc*GYNMoCM)-=WXU_5(LQ6q!^RayxPPz@=TqgLlhn zv>*>(lo5?cbXVq(?Kk{=K`XP713NzfX+_iU#uQ`aP}0mUlhLtem0ts;`W=#afHNN= z)!4c3^wKn%TsuY-Hbyt%0r32Mu%si{23z=grJhd>j7AEp2~nN=pwumDDtjvGOZ1{@ zKcg@=-*Ngy2lt`t_levxNC4%LaJoBDDE^2Ws@^vXV!-VpPv9xmJhe_}mX02r$p#v! zQo1{$ik?(?Pf1VUOg$8`hST_{N*BHg;=~;*9cLmIKCi=HAq8>Hbu-Bsw|lSpZ74lK zpaWd)FjcC^tSoLePI=_V5L(PdGPryOe$XAM))SleVkKD37NG0BcOs0^l2CHTiPS23 zp6xHEA3VvA2u5OgkK<}je;I$Vm52Vf2v=}lm5pvgnSnHK^!9B?OpmU1kZw@U9;D4J zG_ZHX-!HIkT=Zm<`oE}M5)T6$MOH_H z=TJesh8)k;D5Ij1AazVuDVE@j2lhMEi4*g>0*1pC?k!O?P>~ipaD!-CjRNIpJ&g4Y z6Dv6!!+_B-(j!TGs7sK3HT4i+#ld3wPkn=E`Q=nX-LLLSPT>v53oqVWjW{{&%td zi+Z5Jp(QfB!rPAE(EO|&R+3L5CREEd1gN?XQ%pa#Vrr#wc+$!W|E9QMkPGS)p+x{2zYa3BO ztRB97Ssl3Tfys&}Z#+Cr$j(Y{+MYjx072%31we5Ku%JaEyI(ZYn}^x}y!(|0y%GY= zC8uw+taOQ()Tya_4DTGvg(quQ%|l3v#_shP0~{AD17*G*XiFl0a>&(pSM$Ubm??4F zTs`)P(7Rl>{Ff&eXZ~Ganm7BV%%{?sRuu=_h=(!TcHedO zvD-3y@n@+q9oX3+9W&~sres7?xswhDZ&+VQ7Z~A{ztEM)%V;V>7leZSlI8n~w^+yp zNHFwwx) zO?xH*`^WH-TmY$rT4#XL0I!$gV$l#umh7=hEns*L$VTAggWXL0vCm%6QoMRa+|DIW zlRfP8tD7Y>hx7}AWob2QNI`CHmo5=0WZoorr7RqY$IM$TT)}1jw-&E+9)%FbLis~K zpXv%AU0VNqgoqcrJ`Fy68O>!@rD2xfY!_fd3KA+L_Le4k$?`Z;q6^g&ZZrOsdO^{i zriu6ws;Jh0Qo(=9fW9_UWZ_%sVf~*(KkzFCKg=QZ>ugazDsC&O7N*Fj@6SC* zGbzCwtirm0864${aiB!o27aCpEPK-A+K^;L|92+}BF8}Z8x&kx1;^Nc(cH)thKjM0 z4u~&f21i$@#!mh_tAxS=$=T#z_==UWKX-K!^(-Wm zJWH*tX=2!3To~7Ka%9jD{|-`9ja(YOQ?IphK!~oqC*slU!WEVv&w+&b?9193I6H^Z zevf?*c2Ut^G(Dus@ymlgJ_Z{pHA z$tAvyjMkk*p-6C)Se0dOLLzc|BNCY+-LK2ogh%EID@r~cKf|8%%xQ9iVO~k|M!6hx zu>RX$g$Wh}`tyhEM2wsr-9LpXyJvu+TIedifwSzBR2r0OKOt}yj>kwZ6VvB?fLdBZ zL=eZ|)X{ft*CTHACISXk!~~0K%F(n^6Sn!Ata;83DY-lcT*}6lxg+^x&@)<71mH~qD4V7Hs<3gi%R$XI8C?wbiFN#v$?;r zWf6_i!&&XH!bT&J_g-0m-!lQy9*75-qxtP^dX0kiuT0W zi*YXC53JGs@bOIVIN=Qih!e{$)z-!%-p>X*>&&!Ln&wEWu-0EFaIAt)!&{6VcFM5` z`i|=UGnWHg!x@U>TQ$58(5p2yK#M_jrhS7!{Id1eV`6`I4$fQiCaZg$22$EO8dBMR zyczLz?0-5IKtBF#>^FHFjX68gY(!nFAmTRi>Fd7a*C|_&B_-y53Rv&J1S&C2!az}l z)`lsIr>0E}OpK)K)Zb~$CED{}^h{?lcu0gQDauM24Kp^+5ASI71I?z=3oJrWi_wgT ze&Oh|TS-GplGj0Q>vE!5PWXVFK*uNOnO(+X@+9zZG_^CeDvb$?PpsTTM?w0S)fmdB zDK$@y`X9Z#PaN7NErL1kf1vFNkTAO+lzNLq?o(OzA7JHxq>LLET3g4T@yachg`dob z|9QOFixyk=0I>Xg9aGMD;&1b7p1(y@9ha-wTB&Vx+{f8~SkT0vaDQzzF(EN=G_XJ_ z8c;|vWwcRgr>P9`xkETK^)k4&lFz=wPZFJU|JrC}iW9v5 zOq!OhhCk|g0M7IvGM?8i5A8#t!Pps;S!OHS&jaf1`gPTxPj$-Yr~)o(`ps^+R}RLU zzs9_eOQ!wMUV52gpNJo>(xZ)Fx$R5y-4Qo__~ZBUHb13d<8Pv7##3gZ4L(n_D#o1( z(}ttrswkb?zWiQf6kJOl$o|@KO_= z@*{%HktmW^Sw5YjaxRJxWUleJl6NY`OKBZ`bjl7*`mg){-q6jovs}JZ-Ak8$jUdyed)27UQzGP^2FHft8obbQ~}vl;F_YfA>1JJ=K}%&?jd6V zLl`P|!@6&u(1yqJA!iXk;^2O6gAf(&c#$v^GJh!B$T`CYLjYdK-bPAtT5*V+jl^K# zO+RevtnL+#t{o?rM@mqUu}ixl=g&E(Du&)_gr@5!RidCeImFHLld#P+cZJ}5@dq<9 zTmZAbwn8lC`m9yz6a+16L`Z5pJOR4bZ0JTHR;wHExN49bXnd`hQUc{6)aK8Vf!L3b zh4T6)yXD20$NTT1CURhq(V@2EXPP}dwy;Fl?nw%nB!g}mbcs$Xv-8KqYw;C zB)>Ax>d7xL?Z(g3#ttkoA}&vDD@mbR=w*|&ET@qSGTACD+c&l`!F0fA3*vE3k*_U~ zh|%vh1urkrKN$@UwEOcPIZ~4GAmqqrY*taCzlCs_!IBz}Bg^6%=-Dfn(;uf663_s3 zDyr52Z6fh8d-G-3Ee2R2_DR)QBOfP!=KOQx2l=LP15u(1n{0zMIKad;802pAcJ9VT z8s{rCeLv0lTfzBR&SmZ1jUM-9*sk<|NDeIF!qn!EoXAI^avM_!`A(&uO$dLDQ7jr( z4z!q(e7;t(SG>GRg<>*{)_jr=*(#pg7hr7D*MP6L6q>;Y*SaTz?(@-KdP zsH+@N*KI@M{CAT{&0F0Bia8^*oMpJ#2(_$*Mlu^)Zi&)9W9#730~pG*2)`b^j_!wy zRksz-fl@6@M=7Ny)XCx3SZReH85!DA_5(@F0C61Ie?tVOv75_g7w~NeQbSYbR@TF$ zjD=5U&o@eK=E;eRyg$5t#fefUdBUybGZT5$dpUGA?x8WP6q_S43~ zqz%gd+W+qDRebtE9(;=K2g0hWn-Md(Do6Pvme^nxcayK zZw~IBDa-p8wW9*N&|GIxKj@v2Q&NTs=+HxpWoN9ePD&0kDr^8%0z@qbkvGP9rVoXS zk;@7j&Uo#$yh{pm-s$NFdwtz3ltNh7qXy1RU#@m0<#`A84g-Mahg*nbE=Vhg#{qRR zr;_zz=L+CC`fAv-eauh?@{e|O=%&S`!_7Z7BBL~Yv!eFDMZ=kuTZ=Hl39g4K!v?_} zc`d;VCzJ^(5L+~hh^S=An6R}PO$?ACz3)|T*C+7Mdb0L*S3&nkj{w?EZXAD(5T3o) zxla@vJaq zJ5U+OEYy;*lXr*K=a>KeoEX(ei|X&>r8#m6E8^y^bJ8-nWF}fx{V@TSvxN_^2EWS~ z97vmRdpGV#t-}P0toL*^Ub}gFIo0=MpzQ=j<}i1t7%bZJ+7U=r%IA^LNavVN%b+)6 z4CTA-yV#q%6!MR)abjy~lk zTHnumuiO-?O|wUN?h$=nHK$Z~n`6_$Q(O>EsuX|GC$+|_5EVLyDn^vnQ1re@jJEGt!*NNxLoHk?vZF_2;26JyY>h zR>lIYSoEMe*c^qudX>dpy`7xf9wEtfKjuT7Y~|o$Y^sSet){dizM`H{ls=mF5v*68 zkK?94GPn|rtUg|=Y&Ple;yrFhpiL)Y6vT;I5#?4Hmzp^rv}#OvH>820-$6l1djL3n z(9wca=`1YV1f{L{L=Vb}yN^pKZUT=7j*(jRHH&Qw7W>7Bzf#tRQ>lTfFcxj?wPyXQ9FRduBak1{?7;zR6Czl zeh@(m6)}f&<4n-^VdgW>hrELD}t2g#GFiH3)zA?RmgG(K{2*L5Wa|6rES@arp<-~ zmZqMMk%^gezbxGMM_1w9Rnx%-aszVkksELd zE8-!2Cc#B(6csCzce&4eKZhZImnL8*JSQxZ&N3~k;|^NhZI!O36y`!rjJtCgmg+%k zqI-BO->W62+1>oCsr&QoG`M4I;K7N3F3R6*=t0R`5Woil@FZf$;GsGb;eB??={r#` zN_YwI>FL~e!E5Ut-o<0NVy-xHUqGCncg^eZ!~5iX#>nDF07HE?YyAa6sMsvCIS>qW zQeT4bQ#Dx&k@(-d4xM<}Z&3qpUj_=i*STVLqmsM$G18e9C39AF=En;jVFD>Tc8s5Z z9*u_P85qZ6_sKJoKf65djLG9<+Ym!zYD;$W@F>eR?;q@SBR_KfA;nkFhV7_KTrRwi z?Bf28nLO>ox$t*>3{FGM&DF3uXQ{TI``e}41wpZ#IDgW~B6-!3`Mi)Q6LprG=?8#p z+2RR3Iv0=#WPOfyiI3LFw)!TGw4fr$Zm$bXIgPGYU+lBjyk2+lW$3p6yZN&&r>7~w zq%Xp)*!m43-bgi4uH%Su(pr-wbpuel13wtpPMn9TZO8C|V6-_Q>B()sh%%#(9gQ(N zZRo_Nx^Ar@y&Bxc(1Y-VGV;792mPv~cV2eUnnmuSAeHUrlfTiXr{zou3iTk&ZG0%B zCpkpqf5aaPMPuWqBgITjD5{PpivNZ2NiijSlfhD`m%4ucF$I(Es;?-mN@-4gVZpB9 zh6Ehg#TL;;tdoJugA5o`~%-@XoiP1MH<0%h>`8q#!Cc4`G70-I>73U$F zG%!xVk0i8g7kWz(r@hT;FuY8UxBV>KWo^(%G#@UV_7`)>%ZSu~>um?SzQ);c*w~QM z!Su!%s2D3ZczOTQ>0~~95j(h<4#-y*5Ox*(T&6$Y3~vvuMe>deJ^+WW;lumakjmz) zim)<=G<=OerNpW6^*8XPa8;z#HWBAD}elmH~6FcHd899-hG1)~sL_Z8*L;J;q*)SUa5_iK-_yLunK> zJWp;t6EGFaS0cRFt}1v*F<6QGu_1u$CqEAuN(wh<&?CEc5mfzKnpskYicmW zUB$?=H?6ewgp-;arSvNA?^U=hm+vkDp&EplqD&e9FmxKUK6tCMPcRDN9A zJf>WIL1PdvV+vE80sk9VFXXQ!HM+-u%?Spa>Ky^6Dze_Uy?o4sNs6_7DJ$#1Y;Rw? zR2*U`F8C&WNMmpyldKu!a48uvF*&n(m$aABpH@cD?ho+(V#~6A%YVK9$f)Zf-lkp) zxOs~|e2iG%uCU_JV#-yR+jrFPm8qwt?p)9J03LK>7nxyY;&N<_|XY#s1bd0YQt&h zZO5G)a1D|T>7?c9BZ;+ez_h96_I_D!TSYi$@gk5a`pW&H|Cx+COrVSMnTRTD{iop# ze8+uVdIXaSsi3#xT=K)!uG$RYm+%jb6xnwWwP_9bT}AFVTJ9VNw~&SZgo)uUthQaj zRueum-3>bA+7<+@R~2>rAwx#NLG8r&4HMkpj}rG8 zWGX+TTZF-GcN$2V#D))EIIsI=GxK@$f9J_Qf59gB5FhS_`&zb%^MY#zIby>i>eIa} zc|)(VBHyJgoA%f0?{b5@KTuXD-$H0J?z`QljSn9`+wcIgAHSHGC+{?yy#qNy2;^G>ZHFj_jplY8xg5Xi!poDPsW0y=1NZZ1aou)QbtBpj z?jH4`1frH{yG*P?wqpFKwCuK5zj>t&?Q~?lF?6BeN#N2nWMF^NMeLD^WaxzEs}8Ot zKlX|L;eh_=40EwfG!C_(Nj*qLLm4b_B7$266@+$Ae7d;_PCFtS@U@t+F;UUT3WE*; ze0q3!MylGT*!*KE83S14a9$=Gv%xrb%lFoyf1q@^d$wSWzy#t+x z#22MmY39jZcx$VkYZ>aa{ zJWK~uTj@BEQ;j-?BPp@6-#M6{$LhL~-PP0RPR2rre2+P*Lx$!_2_|2FHcGCOCPTDV z5JwKT)7MQ~p*dFT)2>iPKrwod1KC|-O^BhrAD#V2y+Z%vzZ}%t_x5K0p%8I{AC2BF z1|AyE!jTelPa3*pBA9%P2=z0XHDvMS20T`w-s;7Sx%6`@3;5pvQ_iXG@v z93cy?x2p3WXL-D|8ymgl?{G9n&R1XY%`SUaDBgAN^dF1f^~jkG=mMSWX=%o5<)dYo zOIWpOev)|^xp-mMh`s^)&#^l(u%gPmiazR?=A?=+IB($Afd!3T=}+8QOphO#mBvctrSeInvAiwFg!s7;Tr%kEX~}5r9v%X#{ z6w=b{^8nED+-|O?CT2IBOm8#v(2Fb@v4SSZ!34M{JV!=MKenHvjImSypaaeTc|voI zcDmg|wnDl&^^#T7Nk0^cIrpTps?i|1q;F?93|#ciYr_ zu@(r*a|^LrHh5wOo*8#syFTFbBm7Th4TyV$)73uF)8M6s<$)quRWYCyn*3iGfhUJP z>%8>pS{mmQ@~Ds5xNI@hPDbK%)>@gZEsJW7MXdqOvL`C~LWhV=T3~uW^4IS^YHAqmzGkGa+#p#B9usEw#fDE(p{pqT^=vMM z?ssz&v*}AYk+n#yEjGMeObtG8hfu~SbThF!f1=$a^pWW%`I<0vzsWWS_aIMjdqyo# zruTBJvf@#pN$NT{vvXc$(J(K=sx5JoY!R_J7wtqu`<-;B3BhiP@;i(SG6iDso39sy z@gnojkG_jYha^uY7n&1Mdv{W7HkL6c`0pv%a741m3WM1aVB=vD?qnKJwlkdBDo^av zfjc{5h_R)gcPn5O4E)xR2Z~btd7PUH&Vr+ne3ptHqo!pvEwf}zpuXjg9ZFH8v-`a7 z-+#9;IiyjMzU477hB40a=pS1oF9?EjP->LBG6Y4Y-odX5wtr&ebll2jeok65-U z-?U3=B6oSAjGyWG7kfKYk-W7o;n*g(e|>OsaDxOidY$pHwtELTR#t8?-GhrX^sV1| z?gUga&=p4Cv-G_>c72j<>fVCS`5^(^+47i|h~DnSvv$ubJ_jWsiu2yD@ZxTG&5I*~ zMaP_x?bI6oCBTj6NLjdIOfCa(k?#SIwF?s#U=3Bb&?%MC7abv(SjqU~y)Sr>;)*CO(U!FE3(AWf8r=M~@ONCE}!$a1Ucu&BW zAtn!ZS}0*>uYjO^7?#0PyOr|Y)6>L!yuK{6FukIC*hpyQd9~C}BtVE=y@M32zp(Gq z&M)XnStrBE3|)WoGikxUjppwW2T?|cvr9}T!pMG(eVP}pmkr34;7w^VT$GYB{**ym z;fZ7k|xZZcrLN&)XbOVrFdqVhI zTX^x{s8zpgo{&DO%gFi*PYD*@Dd=Bn&Z4l?By#vhFYYki!Qxfe*~AOP_V zXvp?*z^S!8Gd;;F^vtZ2?P8{r2_zaXr z_;#j#u{#T`O4&=?yBRAXXd?hD?wTGpY7RXk%qal~39@5nC68r|R`N7GF-XVUmYdB7 zHB*%t=ze8g^k_S@o;#~=hqhz+8$waY*0n6?J~H%Q=gxk1ODR!Jxux59Mt+*Rp*jmR zMEqL0@o}b6T6fmDikvbB+BC(8FE0Pj0%T9mk}iiU%J}EC{%RUYk*H**zS!d4Bp-qt z6!0xSqN&L4X40ow0_BHW9FD|=Vme)5x#$KAA%+x-X=g}pbV`|gC=Yv>-2`-EGF^{p z$niDfDNENIR;f|9^q_CZr(FEI@f_tiQ7=mvk#kc!tM))LQ1>7}a7sg8+*94Vy?eWA zBRF^8Uu=;MVlH_iTY#;m{E1?oof-LhTpE>xivTsNv4Cte1$8Rx4oVDXH|4)k!$&gj z61T-4-rCyzI|p}v+!NzEOmnPw(q~frn&@MSI}Lv1Pj_#?1XQG%%+FkI) za+3JW3)`-f6Ql}5+EVa- zy73S+w3$sKQ(j!(2-OC+m%h_-}F+^hBAVCj{&=A*IJ zt^khNBnWatP?2g#{0tG{8RmsYIB`>O>z{9qwhZcShfp?}$ulA!Cwo#V?;sC^hCiCY z!PpgLuM+G3SF`2KE3bAm@$nr7M;EQgD@7_<#J4z$8ne*CEVP4N)tR%ummLp3FVoJI z=~ox>O!i1?0X~5HdQGRu`ku3qL(D+tlswV6z(?c@+!JRFoT}F!>vrcx&1^zIM++tm zcJ$oLU@bBs%xur*0bx^-tiS7han1&~XnG4(XI2XVc6;c$No6KF@YQ1^wPtNC@VoxMRh zycP|2A+CNxbpm0WCn!Jt)hzmFLPPmez(}<iC?nJFjf8W%Pbzso5JvK>ha@FB#M-^GZ48!?8&!D1~y?TFCCKSC0 zA4e?5A9xv$KGTV=@disLwjLkK<+ihGL9eHG{7{J~t+r`tf)!^~%6kyYWNOfmGTo(& zH_w`+2H%t8ft7#aQ{aEQW90E3(oKRivjSqS83>(JNt!2;494+(7lSjO)bq#j%-prI}e#pL6aYY5`1%kyTqbf)M{MV{(m~?Ug zjKkhH<}NIQK(yL^h+MMUrbuV}>rMy3R8eHj3te}HU|Lc$98GcQH6n#~O!vpP9<(8# z>P^wqqb>mN-&tOy)n&uEmV;zkE0rV}ZXC~t8)NZ|T@Jk29+<=2NB647_4CG~J^e@Y zYy#A(`OjkJVC99`=}#wjvJLp`a&XgGTHK8nOXVR|j*cd(N|Ljtamcdr@&gE=$N3R* zf;`#EnNq&2O-|6+iK-NDi94zl2%iOGS~Na{YVI(V1|S%s0rvX?Qpt(!NEqNIP#rbA(&o_^?6p3~FMiN9XSyZ+mAe2DzX|Aff3(l%D z9(+vs0?%3WYDh_@rI;yrxMHo_kW1qC`9%ztxD4f~eW}bwkU&m42OqQvd z6}{m02!!2IP^5a5bhxLY&fSA-P|c#~s=4vqo8CzB)-}@Nljfr+n)DdX@pDIfaRZ0@ zBbxZ7!hG|>*Ij1Z#aI7k0Uv5>$qC8I z>S8Py_UNDCb$TL`Np8kb{zl!rO&hmXR*4e10Gca^>0~-A(wLk7E+I zWovz|e&83sm?>4rOm<9b_hTz1X5Lj82$o+Xji&&M6A2dBUX>4fPTCCHeUndf^fBXv zSvoHCW_!6Y-Ee*^ME#}ZzNoa~6MQO~hWf4nrV$X>62rrTMqPD|H6WsJtn9O%IH`#& zzVd^C7vDwH@n2mz0G5YpPH3r18J>KZND;;J{53~~FysOC0l{u+jk4#W=q>_nfl7Y6 zJOX(7rp&Z)jhnrGiiL$o4;b(D5L-~QN%|1OUETDzAoAl42w2_bCmro$L)!Y_gj}Av z953@sjIfZh;64Yy!tlDBr*yol4=lW+%scXC(U^O$U7_buH-06G0v$g2MyT$?%nUi> z`97#lV6V=e4@e(du5Dq31nHCIm5Sg(gdlEPn)|H3rhi}bX)`+iR|+tDgO1Y88ZSsP zVmhhJwI|pU`$v%+PXX`G8>>u|*~@d()7F-gR#-<~rELv#>!nf4-q#D4%t}W$*U1yG z0~j+Eq>iuyFgXNwXZA1zbltu2TV+h$vWI=CG3z;vcYL7Y&aeOE`#f7(exXL6L%!kd z0Pv}fT8eoBIk)vty4l!yx`0gJEBf2O_eGM9P1t~Cz~p&#E5IU8Yerh`@?DX>W2_dm zl>WWGanCZrz%&Ba+t?&+ER$3i>OLiwg{^LT?M|4Nt`u^aa zTK*DeT6L^j79&@v%d`HFHb_29WmOZJBu~FDSJDZ~SC8&2RBCmGhBk^p`?k`%3ME`k z@ghA&Q6fyQj)6TpSUx+<2g*dBd|e8|3Nw)NeLpm=WRDTC)yB2JO46ei&!mP@-2w4~ z@wV7<-}tAm!ehjmuiY%t%|mZoBbxls-lA%bkIuk8_WNQJ3HXijhK2gn6>qnG-_5V5 zs#H67jbLo#0m|scOkdP)H|KMNl}9}CEUiL^is`UNvEd?ylHe>^9TS12qXo>opwu`o z4R?J$@~=6r@oW_23HUaUtm&it?A~Ti6b>)xhQG%{ZDtJxhD@ppON7MCb-&^u5BL|( zQwYXH+`kd$iMYb`J~nIz4c*1YIE zs;2JbjD;O&^e2X1C6^3k&VA~851D%Wwt2x!q34k)Mm9#fMs(zG#}j3&SsWvllmz3} zxVI7y?Ny`e@j!Z@$dl_+_+Br~hIgn`I97g`6OpUyjBxfqMZZs6U`#QsXaz$BDaB8a zDs+1Sr%9vhdtt@eFFteMD3R%Fd+bpdnLlr2W685F$|t^9M4){+6#Z#Y@%4MLTKz5h z)_D}%H<(id*^a=Rv$P_gK>`Y&mlXdKI$8vUG^g`COF4lsWM`Y8y5ylOp3@zZvmB5F z0iXUbVa-4H5J~{Karb?0Dwc0gOBrH>)<;@!#vC?h*~uqP1)=pY#YoaW1WMAH=gZh1)d^JSYZ%li+eSl=LQ?1sj7I@q*7!8RiyU!D z;0}ox&Fh6YhZ-|winwTknrh(4RfM2-$}8JACL50ly!`FxGB~X;Y)(i1 za$uPskGF!f;tLzF&Xk(D&JI2AfZm&w+Q#v)g&MDznnFXdnCD02U+UTDkF9jfS#KB1 zpPSi4ruMi6U{v2^O&e5%%i;Sp%k5x+ZPPs`h1q`xZItqK`p=kW8P4}6RnNok_$tP_ z=$d@+J(Ueki06PKjvfW^3@9fQ%P4TaZ zUH zP^GHwu`DqQ;ao~wEvY&Uw(^O&r&@s1?L-8C1fcTIdU~ppSvx-x-h>bRDPt!rY5Deh zGg3YxT1!3ZHgRy^AdMRHz;ofF$)Xuy$j~zj3DpppsVU|DRN=f4#U740=SZlU`r~S# zo(p_BuQ=mDi~DUG>Z2!h7jDlbsr2~IN7_Xd%D%@IGxv$p!d3P<_%$((;;X^WK)7Ss z#V#i6hm$Hdq*dF@Sjy3YKk@>UbiaNZEV1Wwko1P|J%|X4CkS%b&TBOUPPm0u{RVa{ zkajk{QoK2sBpD?%*sC40>kg!NPxYlth^`AnB?;ThiHRnF0o4JM)iIfgnY6uibR?|s zbww^XC8Wttx&$_finrt5M$DT-!C&BVxZXfEu}|ey$n5&%AUnq$v4QC0WC^U@CH4=z zb}}_^zL_(0E{Xpi+*kG4;m#Ue^R2c4#gPJ8l@2=^xqktsD(zJz4FI%X+tKqXbEvcC*%`qlxJ$m6UCJYJ+#)EdkWz)LM z{cHw$X>m;xI^8p%K**(8Vr977A@m~s7z{u4=%41Lbu9s6_+L=m5?9532=(;B%t&}~O5BiS_I3NDqyW3C4N)&I7+Zv0B;iq~z7&UU5q%W>0%}aSP!Ll8Qo%|Gu)l&f%y~CsjrKweG6y?Gc(C+I+BNy1jrY~?V4&p| z$uEK$pSi{GOuiGZtJ4nUAf9Fs41^)35+!aHdz6)^l+3)(7vaJGog?cxauas`p`RRh z7=D3?A`N(=mE9y;wQp23gb)g0FrkH=9D@`FSR(=@jRRHZ*Yi3(tEdQ}!oZU^P@3a! zC8uh}vZNI-#e}U?LT_>CaB)cvkw(dsTiIG99KSe??wCMCj~1uVPX8(*JpqLvsV?wK zgkk`u!k;>& z{TV6+!+vj}Pg{Spv3)E!ceMX}t!g!3KwRUeCkO^Ha0`tAm1=sRUYUyxN@hgHMJB$_ z&>)dQLi6{oeMcH1@*C%Cd&e7VuNK`=Rl?+0cNTHx{h3eX@Ja<{XhqMZk#n!>Y{-we z#!GK-7zUr`yu~PZ2w_r!;2`EK{rnMbgW~;a`e`X1sR6T>R=+)jR z)?hw0Jfv4{$QI6jUi6{L*Dy#jCY1yY1aP6dv=xRaWqP=RlO=Z&rTQ7`c7Sax?->?( ziq}XoasbFMo33sQFMAUS@q=dTt+;2$n>?{4RqRE_uPjK)*n-%*zHYp{1(#W8l0deW z>=dLO_teF5yMvzA^)#5Un>FZHH|K*MRA*Mf>(b>2ecg0hC(FP3#6&#RMf2>%$x1#_ zQ*3j_!1t=Xc9a3F!$Csft63TO5sPN54VG$QN9j!PIwWbr0rzNzsbW|CoHn*nT0Klz z`2G)mRTZR+S+tsAcT^$O-|FueIc|Eo891>33@PHUl%RN0>5asFnK6S90#$jSk5N-- z{yP<&`pe`wnJlp)cu)S2>6{*jP~Pzk!}mFvgGq6>n-WvC)MvKLfW#W2}$Ffyk! zqhWe;TRB?@S16(-3Th$n9sv%U>)07$6b3l~9doAq3ORE3&T2E`M&5Yl0#7dL7mo0W*q{HNZ8L zn2%IT0UfHoQrZG?zl{U^Q4!jwf(51fH%)b7$z78?2LeD>X8%JLYPxYzLb#s{)V|ITJA%C7tF zd-4_l)`er8$Y$Ag>grHw&6G+UnFcvFF~EmOK$DE=K}hWMfaSaH({KFR?t@Q)G~V|c z4~n%%95WG-&KK>RBF!3hZsRG5sfTN*T(lZP>&y(^vhmVrCTt(uRZr^sd6ET4Nu}cb z8dJBEMjlFWnLWb8<}EXMwhk4J5-gY(81lMTa>;AnjZp_Hfy61K>&uQ!QA_3jmPAW3J4%k;lhm;FlwK8jOILi(%(Os-kH@zQKkSR0 z@uI&RVpw_-o@2%5e6`}n-xq>C2{x2iMA$0({(fb%ENf!3T{FkXr7#twLP%I-V|bTp zj@P!~TR#q@M*sHA$9c`|Z^DbS}4A@o)>IU4u>UK>n6602GVb+PE2=tU24($J1r zuQO!eVrS=}>Dw<8TGX7_FY!D1ULUxrn^(NY^2Ka}ox6(leu@#UInVtoM7rb3ibA^G z9!4a@dtyITA&dybVKP>ga$Ke}D0w<~wydv3%mml~F&d0V<6FB6KH$(0_)fPBlP{Vj zr9LZjev=DIL@TxO9>+d{h2H7TPJz1D+mJcDyIhvs7G!{_@YeG#s5;J^ybn3Nb-CwM;U9VsAxw}BlIW`l()3Wgdd zLjbJZtGe^}kc&5V186TJ;ZVP$jl8(K5)Z9nMP}d8Z@?0DYV>gw!(DfBo}8xy4=6HQq#-$=cOh;Cgkz3D0@Ojkwn3I}~UZG%XmPo|`%yd83 zl+7=RD|Rw7H*g-_qr6+rzcj-@FUAFf@Gq0#;A4InG1q-clC#Oj_#s~U;jM)o>jF`g z(rCx*vE)_QiyijP3J93pcM<6VVt!CzH6_X~;mP44fq&_7lF^au0uJA=EMIzW)~5^f zw3(GiD(apO6e9U+&?71@(CZSwT9os@rcU~>mkI~D-#56Qjbi64PLVp#j=0rwzDY#Rsj~*YD9;q1e;Q!cwbCMOn4T`f zxNa%;D+jpQM^3oxm}CvrL9ORgM_8J`o_x8w!vMtbttY_jV$=WOcJ0bIzQ z6_@$x-;Uej)|o=I_a}JhkcNi=!TPm7i%!U|L7-sSx<@HoZ^SnYOl5CXc*qk!O-#=5 z^4QUQGJWD=nORHzzB;gh8W``B?$mnVjFjTgoMECTwo% zNa`4Gu4K&LL~*LvP$q~yKVZnW%O_q^-amdlq04YI$e{W*`pU0BtizCg5%uq}>kRO| z9p}5`T#NB3{+SL~hq_-24cb|rD$M$q2uDkH$@5ocSKVusHxc4=9ys|Y4u}{1`I^xl z<-Iz z(TY(Z+k}q^MB52zrEa+C>oxTrOfTHV1mn?s0|uQJByHpJ&*Q7sZ(pe^FPVqz8@E7*Dy1m%1v4O#7d=`HVtDWag6v> zxB}N&>1pDO=0+d09`xl;Iz+8C3zm~E3VD@L0#wv}x2i1yur{G25$7^dMt?5y%K*SZ@=X08SJDa4nkkXZWS>7WUWVmM3Y72&kKi zxk+g@ilNb0RMqJFap5&r0L0}FrB0qs|@-#<^qs{m40*aE8<)HfT z`Rd8?JW9@$6OOEW|4))@G{0`Hk6ce$huj<10Ove>1VvF?5n`WdJ;;`Zd4R?^Z+OQ8 zmea`){;)Wt2|9L$BJ%lj3SR}x&HoODm~K4L{MmVH}vRFIqze zS4$lzlH#pC{VxkJR?aRm5@pm@)bt?R4LG&q)+wNsrDY@~1#?6EK@7vBCFR2qhOtLx zIjVU2LJFfu8F7XsWEIw!X#j|*FT*ShYc`UY-MoUKl1cH^Qeq@^oE=VwY6CUf(n;Yg z8^aKGSN4s>$T;mj8&|OQMqzmo<591uTL^s6e%3B_cXU$8Z}k9fj0l=^lYUWUkVemB ze+I_v zhaj+sy4tZOdOPknt1gozHrGK_0HDUF$%?TsA6{^cz&Fbg#<-E?4+e?WO9l=t$Wo8Z zhMtj6%KOay6jytlS=(l!deG^AvSSZ<2Skz|d9SJT&YDSG?Ew?iD)c5BKIBMjds2F^O z`aswHtZZ&H%G2LGOL_mq>o-+ZBRi@LBam-5SDB4#MT5Rg@aC(VAtdkniXK%qSt=nB z>=#3QClF*6l(|8E>*{Kuy4GnPM8NBW7k;l$jqh2}LNANwq&775Pd9(sJ(moM|rUi^8x0p-A?%HeHNXJ{R9eEOrsuCkd<9KDrxz6sr^p&}_6 z3`NyK_Rt$Jr^iD0yGp0kLrldTvvtnDtnITYvk{X#0wL8q4IL!%~l zc(C~Q`q$&Vh&BoXKul1Ta(LZl;*2&UwWfniAT@5q_U$TS2Q(S_9Dm_`G zE0H4YbbunMt{;Y;n;IJQc5uby;}z zWyGnkx%6d^qicCxbf9Lyzu6OPo67fUo6W5(t+iuETBkRNawgO);*968tGbJp5&Gf-sn-VT2S0Cbe00ufe+t_!c#+ALbPX%xZ^ZB zSZSxHR$ZPiA33@{UGF5VR?$zC-cN%097+rjz221T_**f`OlNu#< z1xt?+*pYtvd~UK3g7+3}6){t@e%LN*tD7JUy+2WoH8+0|MtY-zU(6d2c(VJj1{Z<^ z!9BDI!k;{7et7|{VUtYAWhIPcy~=;qDA1X4&UD$1Xhw07yIoB%6o6)!n%UziRQuqc zj{4Va8g4k8VoMBm?msa0E&2O`apuMxp)Ry^E+6_ktaQS!@+0VGt5f0>eED{>h`IDj zL&I?wq?5A-+mt|Su%WpvH@qnYE51BG%nk5J8`6*aa?)RSvhAmj@k)>=j*dSRx^jwF4YUq<#GYHa#;=S3v7G(sDs?3u-TJgN zX_>{G8f*_wqJ>QkQhECop`MAg4Q7x@hdBXCCyefP*;U;6k{z3j`jsCOmb>%u!^7{SxC1YATJ|M^fP z;rxazGufjAdD!Jua)UA~{B+lDNu4figXIQd=CooH0ZGA7u=mlq3;3;Y=r1xtT`Q<1 zCG^p4IGSGxP=gGd{XJy5b<*tq%uIQqj?b1iKEF9X_D)gXAV>@g7B{x0NH+L5RdyK zZ~oxremLco$@JeXq0Tw01r_R1*4={y^3RbE*j&|8Bsd5?VZAvzw75p-zMSfLgYy=6 zYy{CCfiELo%t9xxx{ao&iWsnU5x;;N2034D;0nIGQ4ke zd%wt`AQDybES-nhnVQi#kI`DxJb<^<}P$vb$G$cReZuL49_i1 zp||C;z3Te6d)8DQ9~Nh}C7$>XScVwhj_=0j+rnjysC^q{-T5J=)WWxetXcjk(#q(r z-mK4bE%ObHc;w*qgnoM-)mnMHv)+-oFiV%7bxh}Krml|Z@o$92Rqgb!g1XH2jKwYO z`bpike2aG=?1m~#jWe)QE{W}NO`x(7_l?94E;N?4MS@6Kzn zqAxa6NiPiUM=Qw_QZ`ZlI5}a{U>73ouyB@kg&*6^{>I+=rr+wdZy0K*Qia5qH~Ag4 zpeXov7Y5&#g#0zVzjZ-)VVq7Wk?H?xQ*(=QL%u|Vm=rtLe#{A$|EJV(L5wp8m)}t0 zQP%ngt%=Us&W-jx^$NPr98PiTgrh2!U>y;4_`$uF(mMcpLjmrA?HQQBTOe41%F32g zbv^`TPPw_739wOjwxJhCxFO6tw2HB($5GM%&g|C-XjNT{Ts8HNMvTg`7Lo|jSOh+` z`mmBi3+1q(l2iM~yI2d0T31(Sgk&1>MA+fq@&;iTQH9Tcx0t^ZC?bcfmZE4A-MVX( zyxyl?+m?3v5|O)2;+ung2xGM&NRabdjX0rtmu-6Q)0G1#drfOemd$z`sDAZh0xa*f ze$d4ZU9rfL(feRC9>ApV$a~j$&O5vY>3Q8wLX5=+rGHR}n@FQ!KXbF6W?Qr$BoY88 z;?=0^U1jujw*xd7^RLfIEd~A9SNZ)t^j;@+35CJ~K}m6tq#?GLR%U##7(a}p`4Pbt zsl_GFEZ&bS+$Z3n6NF6{2}*O_UG_0FOp_4g`)2Rbjv~c7RC8H7%N}xtEl^CJk)S`n z_~@<~ebFmkL|lX#R-|+?mNv`uvWIiOe3C6C5e97to#?`wX>N9ixo9>2Z*1L+tFy$3 zGD~j-#(2u+P33_9#qAZw0ukUa1ZkFd%H!u;?aTrm--7|bToV1YcdA*DQmv1a0=l2mRZ{><$zq0ZJLwFMbZOVCm>oJ=a+!E3CFJS13i{I#`HnUv zB|$uz!~62D)!;Gfh=RSUPkYuvJNB z#u6RZqs#NIUXPPpWL-wnr4CHB^cje)=T?*c-Jb%d&3OqseFGyg-~+rieVgJPTE^7{ z{aDB3)Ag6>ilh6%eO*+=nm`F`*@^pBWY9=TfbLTZgsR z)$sB{5wWy@+8_V++uIvV0&yMhI^otjc#9BZVnnjpRXsa4`BWDu=*q8)FQSW6||MY7LgiYpaqI1)Jh3SBiXd~oTeSzfp-0m$>$A0sq$^6HAvjDhvka-Mq*r2tHCw&?A3 z^^wk{K~PDjYY(QOf7XL~ZoV#xc}fv-aG8aPlw7}a1~i?}$ff~%`?5}`;G%?g}&g#pX|zs{S& zla<3!|Ja=ANoqKbr+wbGtn<%ImtLpDDMGfCw$9qvQ;?5bFWf$JTl&pBWs6jnTSfa3 zaL|uD3}=zev>&j*u8SiJbLE@@N4bbI#Y}Z~7+>@XL|~7>KJjBfepLvp8EMY}|qeS-ex;HsD z<`w+?i$Zf4-8fjZz5>lp(d6LRleMPVUb7Po2P&M_?Z-=`mE|yT7zN*i+eg*iJ{zIj zQ-ZhKAt~VEjQTUEiV-0iM>GGDHvGPKOtv`On7`$I$nPZbE31y{XTbgmg1=1-dCq=K z>vBo-)Nyd#g%Yi3C~Fo-m0I0rAVzVBIUwuCF+XuJeJrK z^(n(?Cjq(8@V&1DL%du2!qLg2mv~W3vK$dpUw?m1P zdYG`9e#%b3>2bN_B73j_UXHKXpQ|inyECv+8z@1967vtR^8PPIYUZQPBXr5XoYGTRGna3W zA~utDuvFdY*pZ?;uY3y2=c(kn`nkv2xs&r6DVQLGZo6I4|CCA7F^|yBon>11T?l#F z_;(2fJE13&H-kjqo=HpPa*}h(J#t7!=Cbj$cJdDRr{Yo&c5?i|=#^N`R=`S`OKT1U?k@ps9lYc%& zqX&3?q1SDfi9ZX!ANAsj6n?^-YB3W6>zBIgTWyP?!+S!IY=|I!h|dcnmfv)?@I) z9`zKQ7z}TD;&8cK4BY+q4QL1GX)Zqm6mdK5ZNH=8#a=k1gk7i5Z@O}FeWYmpdu0AA zw{(}tClz^@2Yxkzdr=FCguO>E1z)JFQ(ae8BbS2*GPhi7#sLi!y zsa$@eD$!OIv?Zt#XMlOcu$>OZRf^@H+UZR4xPQFs2f7YeMj})y)OoRbOgJj_%Dy%7 zd4K3okM7m*p<1d0J3a|+*&qS9)M6Lr=*b~s-uW;wUf&W{sI8!#m*#!|!WDo;c)&N5 z-jS&ZB^66YCDC?ZJH&rA+U(;{8P|blb^LDO^P#g5Dk(KZl-iCHa`{&ir&=}=5Cv;Hw+hP)^-Cgg=cP1J_?iUPe z;#yA)|MqvmMfB0u&;a6e9wIUYDRvvnteYZuEwxDn_)RqrocZz=tlA4VFq~g{zj-Ez z?pawl-|i@B8io5XSo`zhckF}eH*$wkal+p8tJSy-$b2VX zNd{GFX!JSmw{Uk9QBkr_9A=tJ;j>WKJF_hx7F(*%Jo4WxfMBhX8sH#o7>};%yRY^L zi~iG}3@7k!t74=t3iAnqU{w!7!4K;$FEE5f_$L2vbB+h6`?Mga{pW`yRD!rMOc{>d zd1OAAZ^2W?Q$L9gSTst7(378B8GRAMM_x9Yb<73AA%ck~;zOyYn<^kRdC9YUb*Yze z6Yy`%CzB3eKN~86mvAP*vTj?cywzS{rj;j7o=}ri0!!S;GjI&wnj6$u2$rKGqN&%X z;YQ)O>}H-uJTtg)liNB3<7-PbN8x@HztE}Yi9nq~Z}_P=eRcoq#CF1$rq+)%cdGl= zfJ0tOGXWq=VLNP?RacFSw^SpVRnlTdTD6Oj$;Z^QA>}JBGBete^{E9Jx%}mFYKQLP>Dvu6xFD@}}#I zD#B=<%4uc-2ihyq7pt9Y%=0DAk?_!qf8QW`r*eFMH$@bcf2W2bQAJ%c1>%rRiT?fu z8S-I1PPoqfq=yVV4Zu0#W>IGM?_iHc7kWV(1*mMsnip!i@wT?w-GAR<8Fiw*F|=i) zyPFXnh7m}?uCA4A8ZFRxPpbUjC&m>x-;Xw{vPRy!uLr6e4sPm9J* zt^`V&(~ki%&zrv1^?7@7#WuHSz^h0?;FH$x5iCk*R9`8AUZ%p{h3tR1;C)Tng_yq9 zP~rGfCIHz_SsZ@g&vms+J+A4fF=YaVjEYUyi-4@z_A~vH_#tDtUy3>xD|R2o$YYd| z7;Z@>2X!M<*nP+t0CkSZi~hL0>o=923b`ehrGayjRXb&N8E1?m4`tfz_B$zY@B{wt1hdypS2zB&K+lL%z@Gv0?|;UjlzMBAG! zMi1RAWDY`PdAeC#e5o{R%Juu&&?h&W!i-gnbO}rk}y= zjddkj2YGe5$dQ6ZrG{hG^vc@#_&6Ccz%tg^B_dU(@(FSF+~Up6KQ%o-B)qC4v@`m-K^{?auT@O~B$Y|vW5;Zt|LIXYvt+CFQBB<7iq?Pp`4WZwV&D(L7gl_1PXE>sJ11AUDs zQr8|nX6GPwL=b`4# zG1cK4pW+0y$Bxh|UJBWSJxQw8DMEWHXuBNXH)W(FNnx!CP3RdRCsDH1@9XYjd|Bc# zC(g;k4nYP9%po<9-KwI)v z*o6wqB)+|PtQVdJE1N8*bKnf~%?%L%l=&TEVZ5mjxYiyn2hx^UMNrPe3Ve}CFK%A^w?Lx7U;-ybhQ4{S|m3}03v_fC`+K^u_-(*>jAt=v@iAwy(G~;N=QX~(8m{jywZb2>E_|y!zE3<7e&`8JIxsleDr=1b znOSbQfeX01E1vH~7ELQxFbiuOsh||d#!A1nKebUdT@wL^obJxenW-8E%+C;&?vXN@JC*X-WRw50j8@}sS}y6k zkbO(*iGp(dh_DQ%%JKnieN&LxUi|PhQb~}n`%1*;wm6CnuBHP3Ws9$NB$HqIIf^~;664PpsGo?&uu}>3*sh?zb*Nsu$*-6l3 zND@aQQppmerJSWhnMD=@B6>BNA*2Z;5Meq|m8{@B=w9Q4;6&ja(8av8NCn_hwq0ha zHc$6$3tzVWT-{R&fef4s6)n>=M+Cil26sFJQ#Ze0nhE482?`ALV8xoH znZmO7?P*p?o96T;(^ub(=xDF0UduC@%ll!k+5}ZX3XT@Fu)(-ib2mZIS-;K8w~g4*ahLjmB8;y3F9%aD zS0Vi?hEk} zBxHftWepukPrn!G%IV{GsW*9sX1L(Cl5Na z@hQt@(0Lg4P(ay?k!Tvegjid(5n3g*6_vbkT@YPIlT<_R5G*gi4nvc=pLO0_YK1k# zDOyydI9prrfdDN&*x}ur9~7k^-g<9xe%e9^Ggh)p+!SRTLy9hgcj>aOJJ|El6g-SH z*jBV(sy64rDZny5w>Xp(qF76m4mFxkFc2$w0s<>upI4L>t?fb_XwJ065vLj}1;T-F&8<&ITG`9X~FG%SKt3#@iUJH=>f=BbeECB3}ftDg4woLBZE(3u;^96{} z&81srZ>~D2&SZo;0idMKlx@4Z*Ja=uY3!nyrB}6<5&*eE=5WtG3d?|NW}8tvyoIcu zNH$EMyp@s>;T?;eswnMm;d>uCq)3l&pK2mnXtM1P7`>c##fY7F?G`h{{mY92wt9*LgboGy48s}MRA&W2%}qKWJa zP^+hNqPc9p(XLsyK7+^upF~G@+$hITnAxGVIq*2c;3!;M3V)^n;IKxTW?>SU9f#M)^ z+dy!-i@ab$xI=To$<9Ow`)$nXSlL@KheAx%Q|x{f2%?!XzE#(XXe;X^PYTlXX-8eY zK&3191YPd_;TSPiJ2R_Zhv5sH=yebW!i)HxoJJ~@5U|bMs)<#N^kZE z3nt~z%4NYt9OY(KbP5H<3YB&Pq1p^cq#6NlC5;Zyh#PH$l00KeXrVjA3btB7SY7^Q zj4t`Xx95uIjGZsih1o3YG1*dVVm7ugyoblNdueuQmV&y%xUsk2$n)&v%`85}&be{* z+_luDalJwxo-K=i^Wr&!tEj=pRsFz{BSe?BtiKRm_nLjOwPw`Ba+(}M3)O?4D(Byz zG-M)6Zm0V~IabMk7pLG`h&An#p9@sDo&ax8$Uxl!2O;78M8ir5w^u#WGJBvAAdo}4 zqntyo!mtf`1Lb7Ay;1daKKop0Lu8-|w|& zZ5Ng5sOm2@kI?PF@@3;Pi?U3iTQ;D~Zdse^6pZ4L~ zA-}YSbxbWwZ0%L~l}Z^Iq(Rl4#ixo)JeE%R_pOd`Nap3(FIY|6y-H;YW^^KPlu%?n z)X3sCS(D*5CDzLD<@YCpv5KiG?l74k1EP=pJ>HYUh|KP*c;&FUQzMC<_gru($xeolkMvW6Q zs2SDwW`i^Ywq!diBhN_tDpqu6Y3Nf9ZTI041#JhOi^9OVejK`C_1sIDXm7q`R(Y5G zFur)ypQ^dzQ$!#g*CNuhLOc-Jw9z-RvBK`|^MVH~9NBZ;LyX16bO`!}`wTjpQ)^4| z>5g%VW)yC~s9_&R9Ym)bzpwgKOG_Xfq!ba!ooAI%%WjoAOaOlB+{3MXX`%w%!1faF zbv#8MDJ6BCRWc5_orJhcX2rPL+~@7_zGU#`z5i+%}NFXFv&MzcOs^d77#1JgR4`r!FY_xSe zAQOpy`FrAC&q7ZhgVHw<#NZLHZZ9@lr@A=7OdOC}aQPvRCu*rw{rcT^l0~ssurteidNmqU zq1w%V9Wf7F>SwzVqLFCZ8ucd6JyudrmU4t-m?9 z1Gq9DgyKYLXd`lGnZ`1`5O*O5;aitY0D|_qn16WAUxJbdx!!x9s^DtS(9zOEWeFJA zneT-{agd2eij4u-9o5e4OFvrrxvg@dFzLkx*sdUIS^X5w2p>pf-ImF-blTgerL{5Q??8(^8>PvAqIC?Ruv2P(@4i*QB zDmordi#PA3M&6Buhf=o*64J|hHF3+kp4oRNyDQ4oXWoyfaL<4ET9Y!VuWIXPIrrXX zFQBC@Jqs&1k~rTz4PbG%-ys|aO3a!?D`ceVXS>62*?jI8=`^(Re@d8#vtRJq#O_QH~eguRgVNW z&nG(6-OsTlu$liv_E)-R3ha!vv?t_7E{S08TrNq6Fv2?Ep|T+<&<~$JnCOeT<)tO9 zh>8R6Hg-fw>mLS5i+%zaf4{SL&JCS+FK|-a+_-)@6JQY9gTlQ29%=2|c3YGnOxDnM zUlerXrBuyGr=K@#f|P+TZ&Wd;AGzY+ahXT5o;J9l?HY4a#<#_R*?&5>(wQ5?|J0j3 zz|eLmCZ-wB|FY8yj`tT_Oq=NqwO-l%PWW9^FA{ymG^TvXq=iCYlc9EaT!2q{rU3mD zs~nW!qKZ?zpl2nqXok44Avav3RZ~n8CP7S7CDcUZvk34g5w6Vjuybw(l zIu{_(M zg9WQPLSHs7+4A~|bWVVGbq{*Qri7=4TyuBuw*?g*f^|*@Kmk0RO4k{<;M;R&0-=Oo z#gVtiLrVj7m1`y5$QboM#TL8!wS&c9-V4D63j!!TP+6FNH7r=TUgMM0)g{A&9#@Xh z(e;n_^wK-IDkF6Tha`$G3B6Fa8ZMg1kP~PNdUX@rRL0&r@^VQ$Xc|&;6-5N|TMm8( ziWhPE&?+KgDEFYSe$Pxj+3_&LFMibYECq9KFE%tpti zPXFd96|C;cC+vl5@d`*)3U_66C0_id^hL1UAgx84D3Y#n*%?}~WWmQ-;e~L79>+p7 zmBWFjWcpF;NMxc0Ejr}_dDyWnx2v0M5-Sntdz!M=0P*`U2ch3?t5@SPX*%=bD>S>P zr^EJK)f09> z*YQp54->Hyd3{|{-dV>T#HAz;&3i=)i0H4sB4&OJ3yqAUq5Ns^1=7Z1s>%9c#;5Je z>qz?ZSC7@;qS+FpOnRdLM0ANCHA#G1^-4)mA8EJ9sdFcRn6WLm!Lc1Y>Sv{6t@>4$ zQfozQd112fj2!TqaHD6F;1ApE0E_(!|6;0C4v+Z!yso&*_?Wi(BFsY)`cvuo)Q&Yc zz}TNimx?mN{67D;@JQ6HT0?!j^>@r}-VTXjsP!L_Lv46yDRBRc>}0>yJP28`fw1A% z2rqD^Fp zjZm*h_Hwe2#e1T1)m3OUuip7 zWC!M*aAW_*z^(!_=Sd+P$eJ=>em)u-v7T4$%GCfmL@9LVbqYknL%D<|Y9pq@)tmf9 z(ybVjKyh$>qQkg*`>3go+l2o*?CeH59Arax6% zT^eB-+X?U1CGz6axAk zTo+Rlxc=yH3n;?JbiF-5USfaHa)vFsC+EE!PGWI4J!LAI##G}a#;v3q)L~#;3>(i5 zNST2#6x~k-=jrn_c{>qEhS>-U*d@`6Caw~YgbBl#SWZwLDSR3ZpC;@Jv@4imIQMU= zo+CRcYB-x>5KPIEy?AG29%=9+=oR)lPtZ{4QxhhN-$d?17Db|(-vkKPRS-DiA6t1>He%=cAN$+Or}vTJew^=Spp31-GP9A_ zFjWC66pHjQTHA)FQ1c*{;0=6#Tn+bsj0!EAKcm(gBbZTH;@*U8^CLSbc*)`_kv+pf z!jxs4n!4Cf3Eo?1?dN{UVShpEWX_% z-&H*ycoVSL4kcM5l{a1OF}dH6PQ?$p|Ij_>o-@7EMAbwUXe*J$MKyFaBBK0b>b*4~ znE8cz=zq$_3aKi5r^2apj;@`<&MyH;A!l37IN*1em(Xz_YG;BqUYMA*9{yIUcHpea zeLCsMnLWbpX}nejrjEyb)3K zg}g7jYzQQz?TQ0Pcb{S|!z5N?o(V=Hzo@KzUbVn()NvibHAFZn2x~LmnbJGRdL;zk zPQGGx+P|g5;uPH;^=>*|(dTSG@od04Rx%b15+h&!i@cIm^zGttsDtCTg^nK zdI9B9imxm8`%wlNtO+P!2?LJZ55O~yCjvBFl(ft-X>0Ond4nz?`^7CGr(#LK7_U4* z3v^}^6w#S25N5(uCT&a6T`{%zUgvdhB-+bxRf-?@bYEeVXltdLYO?F5@QBgPH32>W zge=M>II=yxmhP*LMuSEiR{WPE9w*O?z#-1bTV=`e`2>Y_=HNNlK@eC~VPBKh48d#FhC={+&+V6sAAlBp$7jNqS^7D_~?2zz{SU$1H)} zCVhr|)$m^WN4=>y!x7I1pK*$D6a$h(OWG(A!XhEM9Ken%9K90%N{DZEA8}(oY9&pY z9PsrVf`pkuOqmP~3T~#tlp9e!(IVlpF^sU2=k%bpt~uJ}6tpL#M4m72%RI?BP~w;5VyLi)PTdN9?o>{fOxg4=>yxv> z^97rWNQ?MrdIz6(e|hhZRW5-x5z18!Ku(hu>oR##2X>vlfWTGmKwt|)dkRRAGO2}m z6Xpvj7GJNu@9h6lszhBjGN{V(MM_Tejn%kAEQ_jFL|GwGgNP|x@c-erJm}u{!bL|zRFhz>tJmxB_M)YfheGw-*9o~n^TrjFB4F7y9BLNR* zJvd!D^-Y0)Fhrmm!Yf^Sa4IVAdE+C+&xzJD41h=83%&Q&1p~`Q#j043{?AB-Q5Hu5 z+Ot>gVO9!0eC;`~aVC7{>X+%_h6ZZXXsg%PC;;DnHp+5hMiglHUF6`)oL)JOY;&#> zBsiKgf=xIN(NC+637OteL|7Z>#!Y`^%iqenlkj1Zd5z9S0uL$+^6G@B1V#MT`&T89x7~8U4m248 zA@`aY{so9)XaOf$?qBy-?K1J^1HMpneUpA%`J>ji1Tc+w5zjjqO-WAXr&vK%2hgx~ z4c)?4Xb-Uh?_Y>VI8jU*YU=#S$hY7k6qb*7Xs}Y+M5arj{Zoz_frrJsEFZSBG-zHv)O?ey9d_@`EtV8Do(3zgaAh432ITxIOgHq zM3jvmk70}8H3&8__0bR+%u)qSrVHpvKlXpG!i$d#!h=F-ve&sQ-nX)wzKj&#yYYbhm?vy7(^;-?P?-h_h0*_S+f7de6w%?A#~od6abw zWH&+BjEsr1g&}ydO9^tH?&R&ywih9AD&_9ivp2NOjtiql#fjfz0qSJNF#V8p;A!4z z*ujs|>UJ7LrfX%QTX$lgm>Glbp0;TLUFBxPB(Xz^gw8O;l$WnMH$zM|c8Naiza#JM z-$PE+Z7{@CGx^O@j-Qzroy+sd;w3G$LOMfo_NrAr16_%;dv~XPr}q~75E020qPS$t zT3(`uJa00ynjwYN=nl^|DENm@%ScmU+hktxL320oBv;nj3bf3otXA$57yb)z7Xy~! zA)&pP=&CN0!aW(eF~bwr-;jugqIHMG>~iSJ3v0knl5p^LTUu>k{8Y)b)h#<${o)(y zj3M5tBzymG%JoftKae^>FQRAF{A@W;elLS%L_uL8Mdx8C+cmqbc_1{zq#h3|bzh&yg#WlaV@y#;)Z7^X&$xD7tg2It zrW!VeXK~=CQ16*9B|=+eQ7yXr2X{eo#Ov=U;Uq^pe~K|dn1bc3{oOP z)!u!bScOk(K7n1+ild_90%COP$#rVYMKlaO-(%kRS$s9&q2Q(e9-6sik*5ol4@as3 z1jA!CLMDY)>W(X}3kd;^m%zP}S9~7U39;Qcg1&jQ3|MTzIJUU$0}&R)MA*uS_0o9l zG?Mo_tRPQ(qyp&&hK-&6d#MiN(@@o?fV6$}m^4C)7+b8j3ghct5~VnbKgenYcirx% zW}QCTAqiIXb<+QgJ3!n#=oPC9KN`H^Yeafu!zso&PDjN=Xkq4}lzW8il1Q5wkoWZn<=(1hI~_Rd%F zlsoFZ(PV@J(tkJ?lhJ8#gK*C~1`(4cD<#E3PTYv3B%qwxpjDj%~MM57UOcY#3k&Xo-bfRnnORzeMMUS z&QPQnFA2(-=*>!uRGtEd7G;3e?jDDjxHOfw?=8IAI1o|TQ zdqSo~K1Uxd@lSk|zo3_|jerO+Z@5GhWkPJL3rVz(3L`l;@lSr;Ltzi!gaU>1&IY}# zbn;|5AX?p8uz4QWXKIXDFOjXVC&4(ZHG1ulRCV|!e(?ieRJLvmeM?YlH=0&ywlGlt zyzP?ewDZy8FbQ)1$}C|<82wP7h(Ko#R*4iP+lM0ZhCeO>f&Q8PN&F-Z<5DIXf+4OU z;!jof5M)pqpRV~Ob`0;HjXeb&#H*rF`gTI=XmaW_)VR+}a|`oW4BY6{hOUrpeB)!t zn7*I^1f=mxvESWCIjVGVI)>QgHt{y=9bbllKhglUb|?!BbX3xstbm6F4JH*pK=6RX zHM7u~i(zHE>)LiH8PNvvu!P1bj;cn)5Ql5_bi%U28Nn*xmj${#;UC5Zi&$g0F!@$# z9k?JvBVf!hyqNXS^d0W3g#jW$3ZMzgw950%N9SS+%G50Q5Bsgo9o`aJ8KIlFd|4ZT zOd8PEn)4b3c(q-hIqzN$1W}LxqkQ?u$5?&lx%*A%kDi_Ie#5hgC`;x`ygS-;sxXR= zZ0DbN*_yvd(B0?PQC1}RF?LgUPP@lzv< z(^*p1h+s)S+;b=R#!pS@8plOQty@Zu)-RRy$Uw~wN1$PF5igTR`=z-kH>AqbykZ;q zGnir^1^&I1Q!<3ytyd+QqY}&s7jA`L)Sbuj)I0Y#;d-W{s=cifYLNg zdL^uz2{R$y4D~^2EOVv~lRJp9*o2j9#t8;hz?tx|PK0H=JHF#n?|OXB`r+CIkHA1E zTu_I)P@K3xL?gD}molKNlw$+Cmh24!`1FP#A#^2##?gGx?@woSGJlm@S3`CzB8wix zw87&r=7ymex~)%vXr7AK%Chqz^;zX>`flz2ss%TY=b7F35#`~B`gIZjMqI6vA87477QAFN0Na|CN{Fc=Aw35_5eJ9awGXO2om?YPnYRD%&bQl@IAMYzZ3>>^*bJ<{L3z`)tAR*bu#Ls3fa`nn-LSx79i_=Nw36Wdo`k;O$EZqDpHiUhO#%nIgVrHZG(k-Cs?{R9^bPU7wS@FiU+2(6gyuUfh<{zy?ZOzM~O)M^@c9@IgUOf!`3oy%XLAfV+ zWZS=lK8!j2P+#?H*BtfW`@i5cDL}9Zq0BI|71-zh8TN#DjCy)Yre&|Tnd>_t8TdNB z0tKq#P^b;pCK?>*`rWHin}+)J0vsTysihdo4dI~$!P2`m1$pp+CIrlP_Z@@2z1^V3 zQHR74=%Kl~sK5#LYD;<)L?+)Y2-zW+U-SP7uyXN5(Kuvu%N^03HL z3VVK#R1Qam5X7y&`zO{sFnIbQtteXk(B^JS0zfvu?;8$q(l+F`{kU+kNC!v=ls6>L zp`h)dhC$2xGqO(9#Zat`EIA1;(hOr5{(r|Qq=%&iL*o_=%)0rTB@+E5`A?_}HpC=S z66^zn;AL0X@APTC*{3A3n*5#`wn*cRnZi%fMtB%60hSsGwd6!zPv~_}%Eb+$uqM|C zdpi>Ran5bq7oKz>Y^UdpMG{7rTZvS4w~LEZ1W&Q zKf?`@>}Un!#Si7GW<*v#=T9u8RVh@>GwsHTah^F{Q7U^^X{ty}UDCozKoug~2Tw|N zlLvYXZTfw+sl?q*$#fIbCK2@?L{?^x)n}hHnD1d%f;g5;k<|6}vtR+Pn-6GZtx6{A zJrt#Leh1RwKcegrBy)vKm=s_3=x;!zEjaxxe8v=(%GoS@Tms<^KtNFTB!mT&w_a~X zR^!~`>L)mZ2X|L^XY#`Rj7?HzYLf;0u@Tw0(VW37TK++Ia06Z?tm$;-Vw2vk32S(C zj-*8dJwZq7i;`@UwV9O9m1q%!uQTqo)%z)W8TR>q>|6<*aOe5KDfmp8Q$SwqNQy9oCaT(fgOPc%OgZrjhjQqhMaP} zfet!WCNG_k{Z-H-V?Lj1(l^l*W0f;lFFkTUOF+s;9Q_XcFxUIPkO#0tWj6NlI?z>j z9f-8$-)It2>^F*3VHM!BXecO!huXq9>U*Yb7iv{Vh74+_y=KEf$#_tLmzQD0cUE$g zgi31KG1*!mN2K^r^yB22KMQ7CAppAMMIALxcw-&p`wL!HGbvzQjvx!Z$WusEU4xZy zipsUljMvaYLN1}X#F%Tu)Rgf;aJaD@?F=V~M(DWUmt@SRT0QpNZO)7dBpcJ3vxPr) zm30-`9lr~en;hMIM1gwHvyF`2zVb~GrLLed?ymPV%NcyC()Y*iW1(9cy1ypo!5n4G zwS~zQCpb|m0Ns>ik+}u{aLP--SY?%Ao(>fSQjT3ZN?4o&?b4p*A$G`2hulDQv==*^ z$kDf))u*P*hO(4VJhsj}ld(=ah_AR=B1Y`_0%%~~ZUFnSG!l$@jasIO5x-kdAaA3} zM@tk;V4O4&j=!9Q0=0#=#P@RgfHjsV@RY)OjSimSz4fq2j_~^Dr8=$Ms=LGkm~n;J zd7xsO7;j6sut^bE=`I9dN2WR{Q)PwR1T(Vl>ip7Z6yV@(0y>T3}$gsCnFhRVQ zqlGsV)E`Js5Au_z+YhF!{M5Zo@?$LAQlGpqOjfBqgzs`bMOWoq*-JVP0!>HULXUi% z7~x;9@r5fDF7+!QB>RIQPU0r#$-#zC8`@~yYd3A%e<6nco6_ZQxxlniQC!UFRn#d*H;^e4l zI#C)RP<1CQ!T5#YTr5#$5~-}&<*n~ib?-)BQ9<1DFbW5tiWi!L8M(MdvJEJ zP5)anf1=+1zGVpl!%nIG0lEY5ho7J^K*XQc7c#8hvxy#7q~UL;4mT!V43KsE+9u_sNLM>9G^#J_2E1z%C-#VnD?5Jn{L1el75rsm2a1Ca8Q7MR%&EMbC|N z56o=}qsLB$9st=>{^HNu#)kGeRyKw5t%mwKDSi_#`f;Q`KbBk1#56rb^k)w!Nx(Qh zqQ(74TTbm49Ss})wGZTckoMEjLe2078$ z_KQJpu;`9;I04mgEv#>DPDO3ym&;XJ=49jqTnP=?R*~GnXCIZrg*G?ie;O%+15+xf z89}dZ3=dH??QXXR3Q4FS|R^0HNlO}PDj5TO($W`%-s)}dx-ik<52dgQ~OfgoJMJt5fekj{b)=0K<;U9u8eOE(0Kv@S4U6l~_AJ+a=+|I>DoZ$o9=xztL(AtUy1WU%;4+HH=nFP#D zST__QBUUtTu9PxW;o|t143W*|Z2Yj$o%j*KIOVXz0+N?n%%3O^Eg%&*634t#*Ryb4 z%AN23=H6!QS<_u1@nSv0O$F9wv?nWHhD$5hTg0@Rm}100(Lm+QnH?#5G=K;+=hib0 z@`j|moxWHH!l#N%)7^nDby^~pnZXRAR}UMRn_IDLdEmhVEw=!ax>_eUN+;x|_IlY9 z^JWGpZ7X8H^auQ{#{~50&)MGK!ux!nuBK*s8xD!mJkQzKX8J=VU?}{I#SYe^5^D**vywTUHpz>>R+6;aAqq zkO!RBUAKQ*s25NqD9T!ixZ-*}WqQJwk&apoSEqlqZ+Ur|W^ndm^ zz#5?BF*lB`ZiG(!Lw*vl{r774oAB<%WeG!YKYq3y6SB<={wLrdl=Hon|CA1HK{PQd&GrYrEZh)0$I=;a%-WR>I3WF!4W+Kx;Lp^M`^A2) zJDqRk|I#%(`~KJh6mrnpegz6PP%FO6jHCnUY_=}q8Nly5iZ90!%nNseigC>a#c_XZ z>&Srut|GW}4{mxUz0*tT zy$ry7`SCNLJ=#BaJLqpVuIP%ts0%g}+YS#KzAfY`>s$LGiu>(@p|QP-E&{=HY54@y zCgLI-UrTnNz3%5gbu1{5F1W?|HY))Pj`x8h=ET841VI2uSO|5RKX93rc`H1Ctv`=_ zP7agPW@F3G{fjB{=ueOz{lS|h!t`kAKGY%)xM8PI`lHI{?y<|wF^~7iroTJlZBoI{ z2aabXWLPF1cB%#uLT2IK50+8%Yll03y=`wq0J%l_VH*6Hz!$c1gQ)g zYPGSpWcgw`Qp`htq7C#8Wb{!*M1$Xqf8J@-! z;B%nNH<&$0MAEz*P6Nr{Zp#6%zc+;+{&bao za=V(&XP=KhHSqh-89P`LdH@>l-sNzj;d*?X|`NUy63P;V_bz?uL7_`eXgEnQ(rMRX8|=(H~8WR4&Q z3+=gNMPKj>V|;%tcu1(U!tk<)<(U%EQx~!DT5zDjcm1+@j9%9K3LQUzlv=l`|tB1Vtsq!04=OZvys&*sY&SSIec*nN| zU12VHtR=cYlR4JzD%&DEP6lU;?4z5DkKss~OKuE=01`6R{2^ZB}Dyn`E5v*m9NQB1A zr}Y8ulGior&X0wJ)^`Wc3g-sN8WRfdCa5BT`A4$I?9j^1SoWqJeb-Z)0@kzuzm-CVz4!4<3^-6%77cM4^V#8^qL+<%zTLF1&S^s6R#daj^LJ zjd0})i?q6{dNBWyrjz81=(NweYpI}GJW>e@m{qgD?je_sKA$%HS?xoFgQ2_x0bnE^ zajNw%+aNY_qU8(z)68rwn>L4_*OCJ@{yOV0UITf!xsr^H_+)VLF#2*#=#9|>f1|S= z;Vo6aaIhE*>+>MWy_kn^UAqH2r%SNZ9Yj%oO`c2KjSt8r{fM?h`4oX>BSPh^@b#oa zV=gsR$ZF6c(8j$03OSOu%&L&z22Piw7mZhYz31zMc^Ve8L6S#sJRBt)n@76dTP@o4 zWTrFhx4&#;w=6Q%ld`Rwuf-W0@uxJI=DR*csV_#+HbQFr5Tq z$-Ov7D?_4G?8)D}#EY5Xo-+kXeE}O{{ZpKGQajb_H|<@JVh21tv-`nV2-|La$UCC- zL;0DO&c*T!yg19weAT|UchW5zuiW!DOp=!+@1|=VT|g~9w{{PkE&NRwTKC=(yXr+R7hXVx}w`8Dn?F`K(@iSSBnS9Zo z*f+y=BHeA*L&D+)f1B&RyK|V58>w<6vgl5=v^jeuDSL81QEqoWkg*o!2tuEih-!xQ zr9u-U7fwsrl~HV{oh*;Ri^H!u&TITTJJ+3Tufr`LYGW~8O4cH6tITi@-G4dl!@!$M zH;GwE7Pan#kob1HBb5oXKn*kVp20G!W0aVc%$PwMgDcA=ir=ifKmcvAPG>927t)FD z1L0c(-HIlJ9x^9!dAx$b)vf%m?y&L!Xd{Q0@@GN^GS%Xr14Dt0no}zUK6r?mU^A?^ z{@8(;P6rBrZ5iN${AC*S2+R9(M!Q04k==G%tiH+1PndTniSV)(pj=n1z;}TeoiCOP zohcBfV@uK(qntJ*5jEWp1UPbESMQ*>tz1k48#$NYzA{zJ*TXtVEp20$aR+WUTM|Yq z3Hz=#Ird8G6}~deH~8%(!pP2cZrsKbVCuV?;}O%wV5NlA5aatdeWF6oo{6-6Mr#V_ z`*9h+)f%XZt&dZuYlrmC>PKq=821mG%T7?kxQJ>8oT9%uG)G6A#8YZ?yLnKhkm3nA zD#%7x2?@T+HfmFXvv8TRdqKKadH|hX@z0}l!+zAh_c4)Pk~7Gssg5z~gQXym=Jjq| zN^7aEoa$`&%5T*ktHbflcn?rMy{*t5MnjFft`cU-T^8~plIw``7*K*K9nx|=rRyHn z>O|}~&4$du`S!Hj5F5-Bb;0$TNm%l-l0YBjkcX7IM-22eOrKvFfsD}}PTxT(n_k_9 zJxCW@DgUZBeYod!#%K+2=}QZXJwRJWAQsZCG& zb`OHCR?{(0G6Hm%VNhK>yYKj&@9n}setB6rwVICsyCfwAiG>6OqwVz8qxcq#DwDM$ zc`=5Co%?^mdlsgD)=3@?@swZ#Yw*{Kd7tzI@EUsD;thlE9Cl~<_sAJE`f4`NXjNOTv+cG_G+6E zt8Mb7Sd&>VTf={XBoj}izP%N=4pZOlIr@zZY8Nydu27Z1x8t52X3 z(RgNK`tH?0SHD2+!(N1XRBz@li=yl`Fr#mH2svLAaSy`}sMR<9neh^oA8ZF6CLvM^ z`;QMVJD%axJ-$@ZMj^U04Lc62&BlA~s|ps&J4f1uEINPkul=7&c~Sh!3*$G2(Wm~a rn=5dEm1~7B!ZXZ&Wix-Y@a`ul;P82Ga~`e~1o)8v9 literal 0 HcmV?d00001 diff --git a/templates/pan/admin/index.html b/templates/pan/admin/index.html index cca357b8..7118fefe 100755 --- a/templates/pan/admin/index.html +++ b/templates/pan/admin/index.html @@ -47,6 +47,7 @@ settings account_circle access_alarms + cloud_upload
@@ -258,6 +259,78 @@
+
+
+
+
+
手动上传
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+ {{/*
+
+
+
自动上传 服务器目录中的文件自动上传至网盘,上传成功会删除原文件
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+
*/}} +
©2021 PanIndex. All rights reserved. @@ -518,6 +591,30 @@ if(e.target.tagName == 'INPUT')return; fillAccount($(this).attr('data-index')); }); +$('#uploadBtn').on('click', function () { + var fileObjs = document.getElementById('uploadFile').files; + var formData = new FormData(); + formData.append("uploadAccount", $('#uploadAccount').val()); + formData.append("uploadPath", $('#uploadPath').val()); + $.each(fileObjs, function (i, f) { + formData.append("uploadFile", f); + }); + $.ajax({ + method: 'POST', + url: "/api/admin/upload?token={{.ApiToken}}", //上传文件的请求路径必须是绝对路劲 + data: formData, + cache: false, + contentType: false, + processData: false, + success: function (data) { + var d = JSON.parse(data); + mdui.snackbar({ + message: d.msg, + timeout: 3000 + }); + } + }); +}); $.fn.serializeObject = function() { var o = {}; From df576979b7207ccd98b7584fbcbfcc21ed7a8722 Mon Sep 17 00:00:00 2001 From: libsgh Date: Fri, 21 May 2021 19:19:16 +0800 Subject: [PATCH 12/21] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=9Ateambition=E3=80=81native?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Util/Base.go | 15 +++++ Util/Cloud189.go | 14 ----- Util/Teambition.go | 142 +++++++++++++++++++++++++++++++++++++++++---- boot/Init.go | 7 ++- entity/entity.go | 4 ++ go.mod | 1 + go.sum | 2 + main.go | 28 +++++---- service/service.go | 49 ++++++++++++++++ 9 files changed, 221 insertions(+), 41 deletions(-) diff --git a/Util/Base.go b/Util/Base.go index e79b7923..e634d416 100644 --- a/Util/Base.go +++ b/Util/Base.go @@ -3,6 +3,7 @@ package Util import ( "fmt" "strconv" + "strings" "time" ) @@ -10,3 +11,17 @@ func ShortDur(d time.Duration) string { v, _ := strconv.ParseFloat(fmt.Sprintf("%.1f", d.Seconds()), 64) return fmt.Sprint(v) + "s" } +func GetCurBetweenStr(str, start, end string) string { + n := strings.Index(str, start) + if n == -1 { + return "" + } + n = n + len(start) + str = string([]byte(str)[n:]) + m := strings.Index(str, end) + if m == -1 { + return "" + } + str = string([]byte(str)[:m]) + return str +} diff --git a/Util/Cloud189.go b/Util/Cloud189.go index 6111c0fd..4e4720ea 100755 --- a/Util/Cloud189.go +++ b/Util/Cloud189.go @@ -406,20 +406,6 @@ func FormatFileSize(fileSize int64) (size string) { } } -func GetBetweenStr1(str, start, end string) string { - n := strings.Index(str, start) - if n == -1 { - return "" - } - n = n + len(start) - str = string([]byte(str)[n:]) - m := strings.Index(str, end) - if m == -1 { - return "" - } - str = string([]byte(str)[:m]) - return str -} func GetBetweenStr(str, start, end string) string { n := strings.Index(str, start) if n == -1 { diff --git a/Util/Teambition.go b/Util/Teambition.go index 5965aec0..13ce0389 100755 --- a/Util/Teambition.go +++ b/Util/Teambition.go @@ -4,12 +4,16 @@ import ( "PanIndex/config" "PanIndex/entity" "PanIndex/model" + "bytes" "encoding/json" "fmt" "github.com/eddieivan01/nic" jsoniter "github.com/json-iterator/go" uuid "github.com/satori/go.uuid" log "github.com/sirupsen/logrus" + "io/ioutil" + "mime/multipart" + "net/http" "sort" "strings" "time" @@ -86,7 +90,7 @@ func TeambitionLogin(accountId, user, password string) string { if err != nil { panic(err.Error()) } - Teambition.GloablDriveId = jsoniter.Get(resp.Bytes, "data.driveId").ToString() + Teambition.GloablDriveId = jsoniter.Get(resp.Bytes, "data").Get("driveId").ToString() Teambition.TeambitionSession = TeambitionSession TeambitionSessions[accountId] = Teambition return "success" @@ -132,17 +136,16 @@ func TeambitionGetFiles(accountId, rootId, fileId, p string) { } }() limit := 100 - pageNum := 0 + nextMarker := "" for { - offset := pageNum * limit - url := fmt.Sprintf("https://pan.teambition.com/pan/api/nodes?orgId=%s&offset=%d&limit=%d&orderBy=updateTime&orderDirection=desc&driveId=%s&spaceId=%s&parentId=%s", Teambition.GloablOrgId, offset, limit, Teambition.GloablDriveId, Teambition.GloablSpaceId, fileId) + url := fmt.Sprintf("https://pan.teambition.com/pan/api/nodes?orgId=%s&from=%s&limit=%d&orderBy=updated_at&orderDirection=DESC&driveId=%s&parentId=%s", Teambition.GloablOrgId, nextMarker, limit, Teambition.GloablDriveId, fileId) resp, err := TeambitionSession.Get(url, nil) if err != nil { panic(err.Error()) } byteFiles := []byte(resp.Text) d := jsoniter.Get(byteFiles, "data") - nextMarker := jsoniter.Get(byteFiles, "nextMarker").ToString() + nextMarker = jsoniter.Get(byteFiles, "nextMarker").ToString() var m []map[string]interface{} json.Unmarshal([]byte(d.ToString()), &m) for _, item := range m { @@ -156,7 +159,11 @@ func TeambitionGetFiles(accountId, rootId, fileId, p string) { fn.Delete = 1 kind := item["kind"].(string) if kind == "file" { - fn.FileType = item["ext"].(string) + if item["ext"] == nil { + fn.FileType = "" + } else { + fn.FileType = item["ext"].(string) + } fn.IsFolder = false fn.FileSize = int64(item["size"].(float64)) fn.SizeFmt = FormatFileSize(fn.FileSize) @@ -210,9 +217,7 @@ func TeambitionGetFiles(accountId, rootId, fileId, p string) { fn.Id = uuid.NewV4().String() model.SqliteDb.Create(fn) } - if nextMarker != "" { - pageNum++ - } else { + if nextMarker == "" { break } } @@ -303,7 +308,7 @@ func TeambitionGetProjectFiles(accountId, rootId, p string) { } } fn.ParentPath = p - if fn.ParentId == rootId { + if fn.ParentId == Teambition.GloablRootId { fn.Path = p + fn.FileName } else { fn.Path = p + "/" + fn.FileName @@ -361,6 +366,123 @@ func GetTeambitionProDownUrl(accountId, nodeId string) string { return rs.Header.Get("Location") } +func TeambitionUpload(accountId, parentId string, files []*multipart.FileHeader) bool { + Teambition := TeambitionSessions[accountId] + TeambitionSession := Teambition.TeambitionSession + for _, file := range files { + t1 := time.Now() + log.Debugf("开始上传文件:%s,大小:%d", file.Filename, file.Size) + fs := []nic.KV{nic.KV{ + "driveId": Teambition.GloablDriveId, + "chunkCount": 1, + "name": file.Filename, + "ccpParentId": parentId, + "contentType": "", + "size": file.Size, + "type": "file", + }} + resp, _ := TeambitionSession.Post("https://pan.teambition.com/pan/api/nodes/file", nic.H{ + JSON: nic.KV{ + "orgId": Teambition.GloablOrgId, + "spaceId": Teambition.GloablSpaceId, + "parentId": parentId, + "checkNameMode": "autoRename", + "infos": fs, + }, + }) + nodeId := jsoniter.Get(resp.Bytes, 0).Get("nodeId").ToString() + uploadId := jsoniter.Get(resp.Bytes, 0).Get("uploadId").ToString() + resp, _ = TeambitionSession.Post(fmt.Sprintf("https://pan.teambition.com/pan/api/nodes/%s/uploadUrl", nodeId), nic.H{ + JSON: nic.KV{ + "orgId": Teambition.GloablOrgId, + "driveId": Teambition.GloablDriveId, + "uploadId": uploadId, + "startPartNumber": 1, + "endPartNumber": 1, + }, + }) + fileId := jsoniter.Get(resp.Bytes, "fileId").ToString() + partInfoListString := jsoniter.Get(resp.Bytes, "partInfoList").ToString() + partInfoList := []entity.PartInfo{} + jsoniter.UnmarshalFromString(partInfoListString, &partInfoList) + log.Debugf("文件分片数:%d", len(partInfoList)) + for _, partInfo := range partInfoList { + fileContent, _ := file.Open() + byteContent, _ := ioutil.ReadAll(fileContent) + client := &http.Client{} + req, err := http.NewRequest(http.MethodPut, partInfo.UploadUrl, bytes.NewBuffer(byteContent)) + if err != nil { + log.Error("上传失败") + return false + } + client.Do(req) + } + TeambitionSession.Post("https://pan.teambition.com/pan/api/nodes/complete", nic.H{ + JSON: nic.KV{ + "orgId": Teambition.GloablOrgId, + "driveId": Teambition.GloablDriveId, + "uploadId": uploadId, + "nodeId": nodeId, + "ccpFileId": fileId, + }, + }) + log.Debugf("文件:%s,上传成功,耗时:%s", file.Filename, ShortDur(time.Now().Sub(t1))) + } + return true +} + +func TeambitionProUpload(accountId, parentId string, files []*multipart.FileHeader) bool { + Teambition := TeambitionSessions[accountId] + TeambitionSession := Teambition.TeambitionSession + for _, file := range files { + t1 := time.Now() + log.Debugf("开始上传文件:%s,大小:%d", file.Filename, file.Size) + resp, _ := TeambitionSession.Get("https://www.teambition.com/projects", nil) + //0.准备文件 + fileContent, _ := file.Open() + byteContent, _ := ioutil.ReadAll(fileContent) + //1.获取jwt + jwt := GetCurBetweenStr(resp.Text, "strikerAuth":"", "","phoneForLogin") + //2.上传文件 + resp, _ = nic.Post("https://tcs.teambition.net/upload", nic.H{ + Files: nic.KV{ + "file": nic.File( + file.Filename, byteContent), + }, + Headers: nic.KV{ + "Authorization": jwt, + }, + }) + fileKey := jsoniter.Get(resp.Bytes, "fileKey").ToString() + fileName := jsoniter.Get(resp.Bytes, "fileName").ToString() + fileType := jsoniter.Get(resp.Bytes, "fileType").ToString() + fileSize := jsoniter.Get(resp.Bytes, "fileSize").ToInt64() + fileCategory := jsoniter.Get(resp.Bytes, "fileCategory").ToString() + imageWidth := jsoniter.Get(resp.Bytes, "imageWidth").ToString() + imageHeight := jsoniter.Get(resp.Bytes, "imageHeight").ToString() + //3.完成上传 + TeambitionSession.Post("https://www.teambition.com/api/works", nic.H{ + JSON: nic.KV{ + "works": []nic.KV{nic.KV{ + "fileKey": fileKey, + "fileName": fileName, + "fileType": fileType, + "fileSize": fileSize, + "fileCategory": fileCategory, + "imageWidth": imageWidth, + "imageHeight": imageHeight, + "source": "tcs", + "visible": "members", + "_parentId": parentId, + }}, + "_parentId": parentId, + }, + }) + log.Debugf("文件:%s,上传成功,耗时:%s", file.Filename, ShortDur(time.Now().Sub(t1))) + } + return true +} + func UTCTimeFormat(timeStr string) string { t, _ := time.Parse(time.RFC3339, timeStr) timeUint := t.In(time.Local).Unix() diff --git a/boot/Init.go b/boot/Init.go index 3236ef48..2c786edd 100755 --- a/boot/Init.go +++ b/boot/Init.go @@ -6,6 +6,7 @@ import ( "PanIndex/service" "encoding/json" "fmt" + "github.com/banzaicloud/logrus-runtime-formatter" "github.com/gin-gonic/gin" log "github.com/sirupsen/logrus" "io/ioutil" @@ -67,12 +68,14 @@ func InitLog(debug bool) { } else { gin.SetMode(gin.ReleaseMode) } - log.SetFormatter(&log.TextFormatter{ + formatter := runtime.Formatter{ChildFormatter: &log.TextFormatter{ ForceColors: true, EnvironmentOverrideColors: true, TimestampFormat: "2006-01-02 15:04:05", FullTimestamp: true, - }) + }} + formatter.Line = true + log.SetFormatter(&formatter) } func PrintVersion() { diff --git a/entity/entity.go b/entity/entity.go index 939073a7..e10001f5 100755 --- a/entity/entity.go +++ b/entity/entity.go @@ -76,3 +76,7 @@ type Teambition struct { GloablProjectId string IsPorject bool } +type PartInfo struct { + PartNumber int `json:"partNumber"` + UploadUrl string `json:"uploadUrl"` +} diff --git a/go.mod b/go.mod index 0769af1a..2be287e7 100755 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.16 require ( github.com/PuerkitoBio/goquery v1.6.1 + github.com/banzaicloud/logrus-runtime-formatter v0.0.0-20190729070250-5ae5475bae5e github.com/bluele/gcache v0.0.2 github.com/eddieivan01/nic v0.3.1 github.com/gin-gonic/gin v1.6.3 diff --git a/go.sum b/go.sum index 1272894c..8627290c 100755 --- a/go.sum +++ b/go.sum @@ -10,6 +10,8 @@ github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9Pq github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394/go.mod h1:Q8n74mJTIgjX4RBBcHnJ05h//6/k6foqmgE45jTQtxg= +github.com/banzaicloud/logrus-runtime-formatter v0.0.0-20190729070250-5ae5475bae5e h1:ZOnKnYG1LLgq4W7wZUYj9ntn3RxQ65EZyYqdtFpP2Dw= +github.com/banzaicloud/logrus-runtime-formatter v0.0.0-20190729070250-5ae5475bae5e/go.mod h1:hEvEpPmuwKO+0TbrDQKIkmX0gW2s2waZHF8pIhEEmpM= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/bluele/gcache v0.0.2 h1:WcbfdXICg7G/DGBh1PFfcirkWOQV+v077yF1pSy3DGw= diff --git a/main.go b/main.go index 966a9ff1..d0c34659 100755 --- a/main.go +++ b/main.go @@ -98,6 +98,8 @@ func main() { getConfig(c) } else if path == "/api/admin/envToConfig" { envToConfig(c) + } else if path == "/api/admin/upload" { + upload(c) } else if ad { admin(c) } else { @@ -133,8 +135,8 @@ func main() { } } }) - r.Run(fmt.Sprintf("%s:%d", config.GloablConfig.Host, config.GloablConfig.Port)) // 监听并在 0.0.0.0:8080 上启动服务 - + log.Infoln("程序启动成功") + r.Run(fmt.Sprintf("%s:%d", config.GloablConfig.Host, config.GloablConfig.Port)) } func initTemplates() *template.Template { @@ -166,19 +168,7 @@ func initStaticBox(r *gin.Engine) { r.StaticFS("/static", staticBox) } } -func GetBetweenStr(str, start, end string) string { - n := strings.Index(str, start) - if n == -1 { - n = 0 - } - str = string([]byte(str)[n:]) - m := strings.Index(str, end) - if m == -1 { - m = len(str) - } - str = string([]byte(str)[:m]) - return str -} + func index(c *gin.Context) { tmpFile := strings.Join([]string{"pan/", "/index.html"}, config.GloablConfig.Theme) pwd := "" @@ -347,8 +337,16 @@ func setDefaultAccount(c *gin.Context) { service.SetDefaultAccount(id) c.JSON(http.StatusOK, gin.H{"status": 0, "msg": "默认账号设置成功!"}) } + func envToConfig(c *gin.Context) { service.EnvToConfig() c.JSON(http.StatusOK, gin.H{"status": 0, "msg": "同步配置"}) } + +func upload(c *gin.Context) { + accountId := c.PostForm("uploadAccount") + path := c.PostForm("uploadPath") + c.JSON(http.StatusOK, gin.H{"status": 0, "msg": service.Upload(accountId, path, c)}) +} + func unescaped(x string) interface{} { return template.HTML(x) } diff --git a/service/service.go b/service/service.go index 8c332232..5e183b0a 100755 --- a/service/service.go +++ b/service/service.go @@ -6,11 +6,14 @@ import ( "PanIndex/entity" "PanIndex/jobs" "PanIndex/model" + "errors" "github.com/bluele/gcache" "github.com/eddieivan01/nic" + "github.com/gin-gonic/gin" jsoniter "github.com/json-iterator/go" uuid "github.com/satori/go.uuid" log "github.com/sirupsen/logrus" + "gorm.io/gorm" "io/ioutil" "os" "path/filepath" @@ -390,3 +393,49 @@ func EnvToConfig() { SaveConfig(c) } } +func Upload(accountId, path string, c *gin.Context) string { + form, _ := c.MultipartForm() + files := form.File["uploadFile"] + dbFile := entity.FileNode{} + account := entity.Account{} + result := model.SqliteDb.Raw("select * from account where id=?", accountId).Take(&account) + if errors.Is(result.Error, gorm.ErrRecordNotFound) { + return "指定的账号不存在" + } + p := filepath.FromSlash(account.RootId + path) + if !Util.FileExist(p) { + return "指定的目录不存在" + } + if account.Mode == "native" { + //服务器本地模式 + for _, file := range files { + log.Debugf("开始上传文件:%s,大小:%d", file.Filename, file.Size) + t1 := time.Now() + c.SaveUploadedFile(file, p) + log.Debugf("文件:%s,上传成功,耗时:%s", file.Filename, Util.ShortDur(time.Now().Sub(t1))) + } + return "上传成功" + } else { + if path == "/" { + result = model.SqliteDb.Raw("select * from file_node where parent_path=? and `delete`=0 and account_id=? limit 1", path, accountId).Take(&dbFile) + } else { + result = model.SqliteDb.Raw("select * from file_node where path=? and `delete`=0 and account_id=?", path, accountId).Take(&dbFile) + } + if errors.Is(result.Error, gorm.ErrRecordNotFound) { + return "指定的目录不存在" + } else { + fileId := dbFile.FileId + if path == "/" { + fileId = dbFile.ParentId + } + if account.Mode == "teambition" && !Util.TeambitionSessions[accountId].IsPorject { + //teambition 个人文件上传 + Util.TeambitionUpload(accountId, fileId, files) + } else if account.Mode == "teambition" && Util.TeambitionSessions[accountId].IsPorject { + //teambition 项目文件上传 + Util.TeambitionProUpload(accountId, fileId, files) + } + return "上传成功" + } + } +} From c9736323f41772a363da02a4b8f269dc40c9fd4d Mon Sep 17 00:00:00 2001 From: libsgh Date: Thu, 3 Jun 2021 19:42:51 +0800 Subject: [PATCH 13/21] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/pan/bootstrap/index.html | 47 +++++++++++++++----- templates/pan/materialdesign/index.html | 58 +++++++++++++++++++++++-- templates/pan/mdui/index.html | 18 ++++---- 3 files changed, 99 insertions(+), 24 deletions(-) diff --git a/templates/pan/bootstrap/index.html b/templates/pan/bootstrap/index.html index 1d895ab3..04731004 100755 --- a/templates/pan/bootstrap/index.html +++ b/templates/pan/bootstrap/index.html @@ -54,18 +54,22 @@ {{else}}
+ {{if .HasReadme}} +
+
+
+ README.md +
+
+ + +

+

+ +
+
+
+ {{else}} + {{end}}
{{if eq $.Footer ""}} diff --git a/templates/pan/materialdesign/index.html b/templates/pan/materialdesign/index.html index 2ee495b7..0539cf56 100755 --- a/templates/pan/materialdesign/index.html +++ b/templates/pan/materialdesign/index.html @@ -7,9 +7,10 @@ - + + @@ -63,9 +68,37 @@ {{else}}
-
+ {{/*

{{.Title}} {{ .Path }}

-
+
*/}} + +
@@ -137,6 +170,20 @@

{{.Title}} {{ .Path }}

+ {{if .HasReadme}} +
+
+
+ + +
+ +
+
+
+ {{end}}
@@ -386,6 +400,12 @@ $("#UserDiv").show(); $("#PasswordDiv").show(); $("#recordDiv").show(); + }else if (mode == "teambition-us"){ + $("#AccessTokenDiv").hide(); + $("#RefreshTokenDiv").hide(); + $("#UserDiv").show(); + $("#PasswordDiv").show(); + $("#recordDiv").show(); } } $(".saveAccountBtn").on("click", function () { diff --git a/templates/pan/admin/login.html b/templates/pan/admin/login.html index 3df67d9e..8e4632b0 100755 --- a/templates/pan/admin/login.html +++ b/templates/pan/admin/login.html @@ -6,8 +6,13 @@ +{{if ne .FaviconUrl ""}} + + +{{else}} +{{end}} {{.Title}} {{ .Path }} + {{if ne .FaviconUrl ""}} + + + {{else}} + {{end}} diff --git a/templates/pan/classic/index.html b/templates/pan/classic/index.html index e39f83b0..1d250803 100755 --- a/templates/pan/classic/index.html +++ b/templates/pan/classic/index.html @@ -11,8 +11,13 @@ text-align: center; } +{{if ne .FaviconUrl ""}} + + +{{else}} +{{end}} diff --git a/templates/pan/materialdesign/index.html b/templates/pan/materialdesign/index.html index 0539cf56..995194e2 100755 --- a/templates/pan/materialdesign/index.html +++ b/templates/pan/materialdesign/index.html @@ -4,8 +4,13 @@ {{.Title}} {{ .Path }} + {{if ne .FaviconUrl ""}} + + + {{else}} + {{end}} diff --git a/templates/pan/mdui/index.html b/templates/pan/mdui/index.html index 3509e23a..d75f37ff 100755 --- a/templates/pan/mdui/index.html +++ b/templates/pan/mdui/index.html @@ -6,8 +6,13 @@ +{{if ne .FaviconUrl ""}} + + +{{else}} +{{end}} From bff53cc301328cc3b76afe75335684e19154fd26 Mon Sep 17 00:00:00 2001 From: libsgh Date: Fri, 4 Jun 2021 16:04:52 +0800 Subject: [PATCH 19/21] =?UTF-8?q?=E6=94=AF=E6=8C=81teambition=E5=9B=BD?= =?UTF-8?q?=E9=99=85=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Util/Teambition.go | 95 +++++++++++++++++++++++++++++++++++++++------- boot/Init.go | 2 +- jobs/Jobs.go | 18 +++++++-- model/sqlitedb.go | 2 +- service/service.go | 22 +++++++++-- 5 files changed, 118 insertions(+), 21 deletions(-) diff --git a/Util/Teambition.go b/Util/Teambition.go index b569ab8b..015a03ba 100755 --- a/Util/Teambition.go +++ b/Util/Teambition.go @@ -71,6 +71,7 @@ func TeambitionLogin(accountId, user, password string) string { panic(err.Error()) } } + fmt.Println(resp.Text) //2. 获orgId, memberId resp, err = TeambitionSession.Get("https://www.teambition.com/api/organizations/personal", nil) if err != nil { @@ -96,7 +97,60 @@ func TeambitionLogin(accountId, user, password string) string { return "success" } -func ProjectIdCheck(accountId, rootId string) string { +//Teambition网盘登录 +func TeambitionUSLogin(accountId, user, password string) string { + Teambition := TeambitionSessions[accountId] + TeambitionSession := Teambition.TeambitionSession + defer func() { + if p := recover(); p != nil { + log.Errorln(p) + } + }() + //0.登录-获取token + resp, err := TeambitionSession.Get("https://us-account.teambition.com/login/password", nil) + if err != nil { + panic(err.Error()) + } + token := GetBetweenStr(resp.Text, "TOKEN\":\"", "\"") + clientId := GetBetweenStr(resp.Text, "CLIENT_ID\":\"", "\"") + param := nic.KV{ + "client_id": clientId, + "token": token, + "password": password, + "response_type": "session", + } + //1.登录-用户名密码登录,获取cookie + if strings.Contains(user, "@") { + //邮箱登录 + param["email"] = user + resp, err = TeambitionSession.Post("https://us-account.teambition.com/api/login/email", nic.H{ + JSON: param, + AllowRedirect: false, + }) + if err != nil { + panic(err.Error()) + } + } else { + //手机号登录 + param["phone"] = user + resp, err = TeambitionSession.Post("https://us-account.teambition.com/api/login/phone", nic.H{ + JSON: param, + }) + if err != nil { + panic(err.Error()) + } + } + u := jsoniter.Get(resp.Bytes, "user") + if u != nil && u.Get("_id").ToString() != "" { + //登录成功 + Teambition.TeambitionSession = TeambitionSession + TeambitionSessions[accountId] = Teambition + return "success" + } + return "" +} + +func ProjectIdCheck(server, accountId, rootId string) string { Teambition := TeambitionSessions[accountId] TeambitionSession := Teambition.TeambitionSession defer func() { @@ -104,7 +158,7 @@ func ProjectIdCheck(accountId, rootId string) string { log.Errorln(p) } }() - resp, err := TeambitionSession.Get("https://www.teambition.com/api/projects/"+rootId, nil) + resp, err := TeambitionSession.Get(fmt.Sprintf("https://%s.teambition.com/api/projects/%s", server, rootId), nil) if err != nil { panic(err.Error()) } @@ -223,7 +277,7 @@ func TeambitionGetFiles(accountId, rootId, fileId, p string) { } } -func TeambitionGetProjectFiles(accountId, rootId, p string) { +func TeambitionGetProjectFiles(server, accountId, rootId, p string) { Teambition := TeambitionSessions[accountId] TeambitionSession := Teambition.TeambitionSession defer func() { @@ -237,13 +291,13 @@ func TeambitionGetProjectFiles(accountId, rootId, p string) { var m []map[string]interface{} var n []map[string]interface{} //先查询目录 - url := fmt.Sprintf("https://www.teambition.com/api/collections?_parentId=%s&_projectId=%s&order=updatedDesc&count=%d&page=%d", rootId, Teambition.GloablProjectId, limit, pageNum) + url := fmt.Sprintf("https://%s.teambition.com/api/collections?_parentId=%s&_projectId=%s&order=updatedDesc&count=%d&page=%d", server, rootId, Teambition.GloablProjectId, limit, pageNum) resp, err := TeambitionSession.Get(url, nil) if err != nil { panic(err.Error()) } json.Unmarshal(resp.Bytes, &m) - url = fmt.Sprintf("https://www.teambition.com/api/works?_parentId=%s&_projectId=%s&order=updatedDesc&count=%d&page=%d", rootId, Teambition.GloablProjectId, limit, pageNum) + url = fmt.Sprintf("https://%s.teambition.com/api/works?_parentId=%s&_projectId=%s&order=updatedDesc&count=%d&page=%d", server, rootId, Teambition.GloablProjectId, limit, pageNum) resp, err = TeambitionSession.Get(url, nil) if err != nil { panic(err.Error()) @@ -313,7 +367,7 @@ func TeambitionGetProjectFiles(accountId, rootId, p string) { } else { fn.Path = p + "/" + fn.FileName } - TeambitionGetProjectFiles(accountId, fn.FileId, fn.Path) + TeambitionGetProjectFiles(server, accountId, fn.FileId, fn.Path) if fn.FileName != "" { fn.Id = uuid.NewV4().String() model.SqliteDb.Create(fn) @@ -342,10 +396,10 @@ func GetTeambitionDownUrl(accountId, nodeId string) string { } return downUrl } -func GetTeambitionProDownUrl(accountId, nodeId string) string { +func GetTeambitionProDownUrl(server, accountId, nodeId string) string { Teambition := TeambitionSessions[accountId] TeambitionSession := Teambition.TeambitionSession - url := fmt.Sprintf("https://www.teambition.com/api/works/%s", nodeId) + url := fmt.Sprintf("https://%s.teambition.com/api/works/%s", server, nodeId) resp, err := TeambitionSession.Get(url, nil) defer func() { if p := recover(); p != nil { @@ -432,21 +486,31 @@ func TeambitionUpload(accountId, parentId string, files []*multipart.FileHeader) return true } -func TeambitionProUpload(accountId, parentId string, files []*multipart.FileHeader) bool { +func TeambitionProUpload(server, accountId, parentId string, files []*multipart.FileHeader) bool { Teambition := TeambitionSessions[accountId] TeambitionSession := Teambition.TeambitionSession + prefix := "" + if server == "us" { + prefix = "us" + } else { + prefix = "www" + } for _, file := range files { t1 := time.Now() log.Debugf("开始上传文件:%s,大小:%d", file.Filename, file.Size) - resp, _ := TeambitionSession.Get("https://www.teambition.com/projects", nil) + resp, _ := TeambitionSession.Get(fmt.Sprintf("https://%s.teambition.com/projects", prefix), nil) //0.准备文件 fileContent, _ := file.Open() byteContent, _ := ioutil.ReadAll(fileContent) //1.获取jwt jwt := GetCurBetweenStr(resp.Text, "strikerAuth":"", "","phoneForLogin") //2.上传文件 - fmt.Println(file.Header.Get("Content-Type")) - resp, _ = nic.Post("https://tcs.teambition.net/upload", nic.H{ + if server == "us" { + prefix = "us-" + } else { + prefix = "" + } + resp, _ = nic.Post(fmt.Sprintf("https://%stcs.teambition.net/upload", prefix), nic.H{ Files: nic.KV{ "file": nic.File( file.Filename, byteContent), @@ -464,7 +528,12 @@ func TeambitionProUpload(accountId, parentId string, files []*multipart.FileHead //imageWidth := jsoniter.Get(resp.Bytes, "imageWidth").ToString() //imageHeight := jsoniter.Get(resp.Bytes, "imageHeight").ToString() //3.完成上传 - resp, _ = TeambitionSession.Post("https://www.teambition.com/api/works", nic.H{ + if server == "us" { + prefix = "us" + } else { + prefix = "www" + } + resp, _ = TeambitionSession.Post(fmt.Sprintf("https://%s.teambition.com/api/works", prefix), nic.H{ JSON: nic.KV{ "works": []nic.KV{nic.KV{ "fileKey": fileKey, diff --git a/boot/Init.go b/boot/Init.go index 2c786edd..4300abfc 100755 --- a/boot/Init.go +++ b/boot/Init.go @@ -41,7 +41,7 @@ func Start(host, port string, debug bool) { //定时任务初始化 jobs.Run() //刷新cookie和目录缓存 - go jobs.StartInit() + //go jobs.StartInit() } func PrintAsc() { diff --git a/jobs/Jobs.go b/jobs/Jobs.go index bc587c1b..163cf15d 100755 --- a/jobs/Jobs.go +++ b/jobs/Jobs.go @@ -72,12 +72,18 @@ func AccountLogin(account entity.Account) { cookie = Util.Cloud189Login(account.Id, account.User, account.Password) } else if account.Mode == "teambition" { cookie = Util.TeambitionLogin(account.Id, account.User, account.Password) - Util.ProjectIdCheck(account.Id, account.RootId) + Util.ProjectIdCheck("www", account.Id, account.RootId) if Util.TeambitionSessions[account.Id].IsPorject { msg = "[" + account.Name + "] >> teambition网盘-项目" } else { msg = "[" + account.Name + "] >> teambition网盘-个人" } + } else if account.Mode == "teambition-us" { + cookie = Util.TeambitionUSLogin(account.Id, account.User, account.Password) + Util.ProjectIdCheck("us", account.Id, account.RootId) + if Util.TeambitionSessions[account.Id].IsPorject { + msg = "[" + account.Name + "] >> teambition国际盘-项目" + } } else if account.Mode == "native" { msg = "[" + account.Name + "] >> 本地模式" } @@ -95,12 +101,18 @@ func SyncOneAccount(account entity.Account) { if account.Mode == "cloud189" { Util.Cloud189GetFiles(account.Id, account.RootId, account.RootId, "") } else if account.Mode == "teambition" { - rootId := Util.ProjectIdCheck(account.Id, account.RootId) + rootId := Util.ProjectIdCheck("www", account.Id, account.RootId) if Util.TeambitionSessions[account.Id].IsPorject { - Util.TeambitionGetProjectFiles(account.Id, rootId, "/") + Util.TeambitionGetProjectFiles("www", account.Id, rootId, "/") } else { Util.TeambitionGetFiles(account.Id, account.RootId, account.RootId, "/") } + } else if account.Mode == "teambition-us" { + rootId := Util.ProjectIdCheck("us", account.Id, account.RootId) + if Util.TeambitionSessions[account.Id].IsPorject { + Util.TeambitionGetProjectFiles("us", account.Id, rootId, "/") + } else { + } } else if account.Mode == "native" { } //删除旧数据 diff --git a/model/sqlitedb.go b/model/sqlitedb.go index 0abb652d..e37af01d 100755 --- a/model/sqlitedb.go +++ b/model/sqlitedb.go @@ -51,7 +51,7 @@ func InitDb(host, port string, debug bool) { if c.Host == "" { rand.Seed(time.Now().UnixNano()) ApiToken := strconv.Itoa(rand.Intn(10000)) - SqliteDb.Create(&entity.Config{"0.0.0.0", 5238, nil, "", "", "", ApiToken, "mdui", "PanIndex", entity.Damagou{}, "", "0 0 8 1/1 * ?", "", "", ""}) + SqliteDb.Create(&entity.Config{"0.0.0.0", 5238, nil, "", "", "", ApiToken, "mdui", "PanIndex", entity.Damagou{}, "", "0 0 8 1/1 * ?", "", "", "", ""}) } if os.Getenv("PORT") != "" { port = os.Getenv("PORT") diff --git a/service/service.go b/service/service.go index 70fffd62..560fc5b6 100755 --- a/service/service.go +++ b/service/service.go @@ -181,10 +181,16 @@ func GetDownlaodUrl(account entity.Account, fileNode entity.FileNode) string { return Util.GetDownlaodUrl(account.Id, fileNode.FileIdDigest) } else if account.Mode == "teambition" { if Util.TeambitionSessions[account.Id].IsPorject { - return Util.GetTeambitionProDownUrl(account.Id, fileNode.FileId) + return Util.GetTeambitionProDownUrl("www", account.Id, fileNode.FileId) } else { return Util.GetTeambitionDownUrl(account.Id, fileNode.FileId) } + } else if account.Mode == "teambition-us" { + if Util.TeambitionSessions[account.Id].IsPorject { + return Util.GetTeambitionProDownUrl("us", account.Id, fileNode.FileId) + } else { + //国际版暂时没有个人文件 + } } else if account.Mode == "native" { } return "" @@ -318,6 +324,8 @@ func SaveConfig(config map[string]interface{}) { Util.CLoud189Sessions[old.Id] = nic.Session{} } else if mode == "teambition" { Util.TeambitionSessions[old.Id] = entity.Teambition{nic.Session{}, "", "", "", "", "", false} + } else if mode == "teambition-us" { + Util.TeambitionSessions[old.Id] = entity.Teambition{nic.Session{}, "", "", "", "", "", false} } } ID = old.Id @@ -334,6 +342,8 @@ func SaveConfig(config map[string]interface{}) { Util.CLoud189Sessions[id] = nic.Session{} } else if mode == "teambition" { Util.TeambitionSessions[id] = entity.Teambition{nic.Session{}, "", "", "", "", "", false} + } else if mode == "teambition-us" { + Util.TeambitionSessions[id] = entity.Teambition{nic.Session{}, "", "", "", "", "", false} } } ac := entity.Account{} @@ -434,7 +444,10 @@ func Upload(accountId, path string, c *gin.Context) string { Util.TeambitionUpload(accountId, fileId, files) } else if account.Mode == "teambition" && Util.TeambitionSessions[accountId].IsPorject { //teambition 项目文件上传 - Util.TeambitionProUpload(accountId, fileId, files) + Util.TeambitionProUpload("", accountId, fileId, files) + } else if account.Mode == "teambition-us" && Util.TeambitionSessions[accountId].IsPorject { + //teambition-us 项目文件上传 + Util.TeambitionProUpload("us", accountId, fileId, files) } else if account.Mode == "cloud189" { //teambition 项目文件上传 Util.Cloud189UploadFiles(accountId, fileId, files) @@ -471,7 +484,10 @@ func Async(accountId, path string) string { Util.TeambitionGetFiles(account.Id, fileId, fileId, path) } else if account.Mode == "teambition" && Util.TeambitionSessions[accountId].IsPorject { //teambition 项目文件 - Util.TeambitionGetProjectFiles(account.Id, fileId, path) + Util.TeambitionGetProjectFiles("www", account.Id, fileId, path) + } else if account.Mode == "teambition-us" && Util.TeambitionSessions[accountId].IsPorject { + //teambition-us 项目文件 + Util.TeambitionGetProjectFiles("us", account.Id, fileId, path) } else if account.Mode == "cloud189" { Util.Cloud189GetFiles(account.Id, fileId, fileId, path) } From 402927046b627013488e32929c9c0d76c26980ec Mon Sep 17 00:00:00 2001 From: libsgh Date: Fri, 4 Jun 2021 16:05:15 +0800 Subject: [PATCH 20/21] =?UTF-8?q?=E4=B8=BA=E5=9B=BD=E9=99=85=E7=89=88?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0favicon.ico?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/img/favicon-teambition-us.ico | Bin 0 -> 11379 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 static/img/favicon-teambition-us.ico diff --git a/static/img/favicon-teambition-us.ico b/static/img/favicon-teambition-us.ico new file mode 100755 index 0000000000000000000000000000000000000000..11188d7f61f9a33e3f3b50160d734331a91deed3 GIT binary patch literal 11379 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 Date: Fri, 4 Jun 2021 16:07:58 +0800 Subject: [PATCH 21/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/getPanIndex.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/getPanIndex.sh b/docker/getPanIndex.sh index 528798f1..3f81cce5 100755 --- a/docker/getPanIndex.sh +++ b/docker/getPanIndex.sh @@ -1,7 +1,7 @@ #!/bin/bash version=$PAN_INDEX_VERSION echo $PAN_INDEX_VERSION -version="v2.0.0.BETA" +#version="v2.0.0" if [ "$version" = "" ] then version=`curl --silent "https://api.github.com/repos/libsgh/PanIndex/releases/latest" \ @@ -12,4 +12,4 @@ curl -sOL "https://github.com/libsgh/PanIndex/releases/download/${version}/PanIn sha256sum "PanIndex-"${version}"-linux-amd64.tar.gz" tar -xvzf "PanIndex-"${version}"-linux-amd64.tar.gz" rm -rf README.md LICENSE -chmod +x PanIndex +chmod +x PanIndex \ No newline at end of file