Compare commits

..
21 Commits
Author SHA1 Message Date
laoyang 91cdd95792 Drawio更新版本后,图库似乎有不兼容,因此创建新的图库文件。 2022-05-19 11:17:32 +08:00
laoyang 9ad575cf09 说明文件中增加了drawio的下载地址。 2022-05-19 10:59:54 +08:00
laoyang a80cb8beb9 增加4位输入的卡诺图。 2022-05-19 09:13:20 +08:00
laoyang 7f2d90bf8f 更改3位输入卡诺图文件名 2022-05-19 09:05:44 +08:00
laoyang 7b736d027b 增加了3位输入的卡诺图。 2022-05-19 09:04:22 +08:00
laoyang ca0bb3db7b 更改了说明文件中的使用方法。 2022-05-18 18:00:01 +08:00
laoyang 57d2ac5378 更新了使用说明。 2022-05-18 17:59:25 +08:00
laoyang 1fc17ac526 在库中增加了连接点。 2022-05-18 16:44:10 +08:00
laoyang 61abb338c2 增加了连接点,用来表示两条交叉的线是连通的。 2022-05-18 16:42:11 +08:00
laoyang 472bad5883 添加了库文件。 2022-05-18 16:13:57 +08:00
laoyang e2f5724820 更改了文件名 2022-05-18 16:10:13 +08:00
laoyang ac16b540ed 增加同或门 2022-05-18 15:57:14 +08:00
laoyang bf150b0157 增加异或门 2022-05-18 15:54:41 +08:00
laoyang b0ff2a45fc 增加与或非门 2022-05-18 15:51:40 +08:00
laoyang 4c8f285313 增加或非门 2022-05-18 15:48:00 +08:00
laoyang 40f9eae5fe 增加与非门 2022-05-18 10:32:57 +08:00
laoyang b5636979e3 增加非门 2022-05-18 10:32:42 +08:00
laoyang aca3eb5636 增加或门 2022-05-18 10:32:21 +08:00
laoyang f18c00a37b 增加了与门。 2022-05-18 10:22:29 +08:00
laoyang 3be5ceff13 修改了说明文件,增加了标准说明。 2022-05-18 10:22:13 +08:00
杨永全 fbe0f0980c Initial commit 2022-05-18 02:10:26 +00:00
30 changed files with 22 additions and 1985 deletions
-9
View File
@@ -1,9 +0,0 @@
# 统一换行符:仓库内一律 LF,避免 Windows 提交后被转成 CRLF,
# 部署到 Linux 上再出现整文件 diff。
* text=auto eol=lf
# 图片是二进制,别做换行转换
*.png binary
*.jpg binary
*.webp binary
*.ico binary
-12
View File
@@ -1,12 +0,0 @@
# 本地校验用的依赖(脚本在仓库外的 _tooling/,这里只是 npm install 的落点)
node_modules/
package-lock.json
# 编辑器 / 系统垃圾
.vscode/
.idea/
.DS_Store
Thumbs.db
# 临时产物
*.log
+1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+9 -131
View File
@@ -1,138 +1,16 @@
# Simple Password
# 项目说明
一个干净、纯本地的密码生成器。单文件 `index.html`,双击即用,也可丢到任意静态托管上。
因工作需要,制作了面向数字逻辑的Draw.io图库,共享出来提供给所有人使用。
**在线使用 → https://password.yangyq.net/**
根据SJ1223-77标准制作。
![深色主题](./docs/dark.png)
# 使用方法
## 特点
1. 下载或者Clone项目到本地。
2. 在Draw.io中,选择文件→打开图库,在弹出的对话框中,选择`DigitalLogic.xml`即可。
- **纯前端,零依赖** — 一个 `index.html`,没有构建步骤、没有 CDN、没有任何外部请求。断网可用。
- **左设置、右操作** — 设置栏在左,不调任何设置时视线直接落到右侧的密码与「复制密码」。窄屏自动变上下排列,设置在上。
- **密码学安全随机** — 走 `crypto.getRandomValues` + 拒绝采样消除取模偏差,不用 `Math.random()`。
- **生成即复制** — 默认开启自动复制;剪贴板 API 不可用(如 `file://` 下的旧浏览器)时自动降级到 `execCommand`。
- **深浅色** — 跟随系统偏好,可手动切换并记住选择。首帧前定主题,不会白屏闪一下。
- **可调长度** — 4~64 位。选了「每类至少一位」时,下限自动收紧到所选类型数。
- **四类字符可选** — 小写 / 大写 / 数字 / 符号,四类全不选会被兜回小写,不会生成空密码。
- **排除易混淆字符** — 一键去掉 `0 O o 1 l I`,抄写不出错。
- **自定义排除** — 想避开 `@`、空格或某个符号,直接填进去。
- **强度与熵** — 按 `长度 × log₂(字符池)` 算真实熵,分五档给出评价,同时显示字符池规模。
- **批量候选** — 一次出 5 个,点任意一条即复制。
- **不保留记录** — 不记历史,`localStorage` 只存偏好设置与主题,不存密码。
# Draw.io Desktop下载地址
## 界面
<a href="https://github.com/jgraph/drawio-desktop/releases" target="_blank">Github</a>
设置与主操作分居左右两栏 —— 不调设置的人,视线直接落到右侧的密码和「复制密码」上。
「复制密码」与「换一个」严格等大(实测 241×42,宽高差 0px),用渐变与实心填充区分主次。
浅色主题:
![浅色主题](./docs/light.png)
移动端自动转为上下单列,设置在输出之上:
<img src="./docs/mobile.png" alt="移动端" width="320">
## 使用
直接用浏览器打开 `index.html` 即可,无需服务器。
已经部署的在线版本:<https://password.yangyq.net/>
想在本地用 http 协议(例如需要真实剪贴板权限时):
```bash
python -m http.server 8000
# 然后访问 http://127.0.0.1:8000/
```
## 快捷键
| 键 | 作用 |
|---|---|
| `空格` | 换一个密码 |
| `C` | 复制当前密码 |
| `点击密码` | 也可以复制 |
在输入框里打字时不会误触发。
## 关于安全
- 所有运算在浏览器里完成,**不联网、不上传、不写日志**。
- 用 `crypto.getRandomValues` 取随机数,并按「拒绝采样」丢弃落在偏置区间的值,避免取模带来的分布倾斜。
- 勾「每类至少一位」时,先从每类各取一位,剩余位从全池随机,最后整体洗牌 —— 保证覆盖的同时不引入位置可预测性。
- **不保留任何生成记录**。密码只存在于剪贴板与页面显示,刷新即失去痕迹;`localStorage` 里只存偏好设置与主题,不存密码。
## 浏览器支持
Chrome / Edge / Firefox / Safari 的近两年版本,以及移动端浏览器。
用到 `backdrop-filter`(毛玻璃)和 `crypto.getRandomValues`,老浏览器上会自动降级为不透明背景,功能不受影响。
## 目录
```
index.html 全部内容:结构、样式、脚本
docs/ README 用的界面截图
logo/ 品牌 logo 多尺寸 PNG(5 档 × 带阴影/无阴影)
```
`docs/logo/` 里的图**只进仓库、不部署到站点**(`_sp_deploy.sh` 只覆盖 `index.html`),
所以线上访问 `https://password.yangyq.net/docs/logo/logo-1024.png` 会 404 —— 这是预期行为。
重新导出 logo(脚本在仓库外的 `_tooling/`,需要 `playwright` + `Pillow`)。
**先 `cd _tooling/` 再跑**,脚本按 `__dirname/../simple_password` 定位仓库:
```bash
cd ../_tooling
node _sp_logo_export.js # 输出到 docs/logo/:logo-{64,128,256,512,1024}[-flat].png
python3 _sp_logo_verify.py # 像素判据 95 项:白边比例 / 主体居中 / 阴影朝向 / 圆角
python3 _sp_logo_verify_falsify.py # 反证 6 条:证明上面那套判据抓得住 bug
```
> ⚠️ **不要在不同机器上重跑覆盖仓库里的 PNG**。仓库里这 10 张是在 Windows 侧生成的,
> 换到 WSL(或另一台机器)重跑,字体度量与阴影模糊实现不同,产物**逐字节全不一样**
> —— 实测 10/10 文件 md5 全变,阴影版最大通道差到 255。判据仍是 95/95 通过、
> 几何关系一致,但 diff 会是一大堆无法 review 的二进制变更。真要重跑就接受这一点,
> 别把它当成"脚本坏了"。
尺寸是 64/128/256/512/1024 五档,每档两版:`logo-N.png` 带品牌阴影(用于展示场合)、
`logo-N-flat.png` 无阴影(用于 favicon、深色底、贴边摆放)。画布是正方形,
白边控制在 shadow 8% / flat 3%(旧版 41%)。
## 开发校验
改完 `index.html` 后建议跑一遍(脚本在仓库外的 `_tooling/`,配合 `jsdom` 与 `playwright`):
```bash
cd ../_tooling
node _sp_test.js # 功能判据(jsdom,78 条)
node _sp_visual.js # 真实浏览器几何 / 对比度 / 多视口(114 条)
node _sp_clip.js # 真实剪贴板端到端(19 条)
node _sp_file_check.js # file:// 双击直开(15 条)
node _sp_falsify.js # 反向注入,证明功能判据有牙齿(22 条)
node _sp_visual_falsify.js # 反向注入,证明几何判据有牙齿(6 条)
```
反向注入必须单独跑视觉那套:`_sp_falsify.js` 只喂 `_sp_test.js`(jsdom 不做布局),
把「按钮等大」「两栏左右」这类几何 bug 注进去根本影响不到被测判据,
会表现成"注入后仍全绿",看着像判据没牙齿,其实是靶子选错。
重拍 README 截图:
```bash
cd ../_tooling
node _sp_shots.js # 输出到仓库 docs/:dark.png / light.png / mobile.png
node _sp_shot_verify.js # 断言被截图的那个页面状态是对的(26 条)
```
> ⚠️ 截图同样是**跨机器不可复现**的:手机视口实测 Windows 780×2490、WSL 780×2510,
> 字体度量差异导致高度不同。判据只断言几何关系,别断言绝对页高,也别拿另一侧的图覆盖仓库。
> 截图脚本与判据脚本分开,是因为判据脚本的截图(`_sp_shots` 目录)尺寸与时机跟着判据走,
> 会带 toast、焦点框、320px 极端视口;README 需要的是干净的产品图。混在一起改判据就会把图搞脏。
## License
MIT
<a href="https://sourceforge.net/projects/drawio-desktop.mirror/" target="_blank">SourceForge</a>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-18T02:21:37.248Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="Hl2TTIOjfhyBMdYay-_H" version="16.5.1" type="device"><diagram id="5Xvh56vFpQx7t7IzU6PJ" name="第 1 页">7ZZdT8MgFIZ/TS81FFa3Xur8StTEZJpF77AcC0lbGsbs5q+XCv1g3bJp1Ct70cDL4QDPe2gakGm+ulK05HeSQRZgxFYBOQ8wJgibdy2srYAnoRVSJZiVesJMvIMTkVOXgsHCC9RSZlqUvpjIooBEexpVSlZ+2KvM/FVLmsJAmCU0G6pzwTS36gSPO/0aRMqblcOT2I7ktAl2J1lwymTVk8hFQKZKSm1b+WoKWc2u4WLnXe4YbTemoNCHTJhXwG8fnrh8XszH8St9qG4ejyKb5Y1mS3dgt1m9bgikSi5LFwZKw2obd/rShKPhvsL2tKZKQOag1dqEuEQYuSlthbh+1fEOm7S8z3rkROo8TtvcHQbTcCS+QCXcT8VAKRjUSVBAziouNMxKmtSjlbkIRuM6N4ueh6a5k16f0m5/hugcqtGBpE5+CxTeDwoKdlrfQ9MrZAE+GJ+inQtscCO/B6lHJdoCpdEUZFSLN3/NbaTcCvdSmN205RvFx+Mo7j1eMW+W6EIuVQIuRf+ybmTddExTlYIezPs0rT3y930k/z5i/ys0+Lgc6hxGx5h01TCJIz8v+ltnR//OhuiHrDWJPG/jX3LWdLvfAhve/VuRiw8=</diagram></mxfile>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-18T02:25:49.347Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="n__eDcXSjBzvlE-2CRoe" version="16.5.1" type="device"><diagram id="Ly8QvU39BoRuvR4asZjM" name="第 1 页">7VZNU6QwEP01HN0Cwqh7dGbUPWipNZa7e4ykhWxBQmUywvjrN2wSIIQpZ/28eKHSL53uznvdKQK0KJtzgav8khMogjgkTYCWQRwnSaS+LbA1QBRqIBOUaCjqgRV9AgNatw0lsHYcJeeFpJULppwxSKWDYSF47bo98MLNWuEMPGCV4sJHf1Iic40ex0c9/gNoltvM0eF3vVNi62xuss4x4fUAQqcBWgjOpV6VzQKKljvLiz53tmO3K0wAk/scuH9aX7AYrs4zdBfe3P6Z361XBzMd5REXG3NhU6zcWgYywTeVcQMhoZniHd9b99CvK+puq7oEeAlSbJWLDWSPmA6JE2PXPd+dTz7kGhkQG42zLnZPg1oYJv6DlWiClblHjOKFEWjjhAGa1zmVsKpw2u7WahYUlstS5V1GavnAmTTdHbfuOwkdErdbMp9NO197knf4XtzFz3cUMHLSjqayGGfgEuWyCg2Vv9r1t5mxfg92ls3Q2BpD5wPiDfY+xKpC+Uak8Fx3+AIMGJ9NEG4xAQWW9NGtbUoFk+GaU1V1Ny0zd1iSkYy6eHNm+BiMwozll1hkIL1z/zqgu+PLmwK9aVNMz9ILBf8sIUevnveY7avkOE74scomX8qOFekkeK20XqA301aZ/Y+Hdu//3tDpXw==</diagram></mxfile>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-18T02:31:39.895Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="5aePQkRfDbL3iX_-vj2W" version="16.5.1" type="device"><diagram id="k4YY2W4VOJ1SSicnH8f-" name="第 1 页">zZZNj5swEIZ/Dceu+Ahp9tgmm82hlVpF6tdl5eJZsBYwMSZAf31NPQ440IaNdqXmEs/r8Zh5ZmxwgnXW3AtSJB85hdTxXdo4wcbxfc9zffXXKS0qrh9qJRaMotYLe/YLjCOqFaNQWo6S81SywhYjnucQSUsjQvDadnvkqb1rQWIYCfuIpGP1K6My0erKf9vrO2BxYnb2lrd6JiPGGTMpE0J5PZCCOydYC86lHmXNGtKOnuGi123/Mnt6MAG5nLPg4fCU3jeHVUKP7YddXSc/gsMbjHIkaYUJ48PK1hCIBa8KdAMhoZniTn4ad3f8XN4pW9UnwDOQolUuJtASl2CL+Cu06563Z8ImQ9ZGJFjj+BS7x6AGSGKaSkQ2ldxtq/Jp/WULYbT7TNw5VBSUnEIXxHWC93XCJOwLEnWztToKSktkpjbdeGo4RvLPYpxTHqNDVIuZpJavBcq/DEpFUWcVLkMiZaEP8CNrOrAvTw1nw9Dqt2AC4lS3vRbDYAbDnL7r7jJl5TwHm5vdidAw+a0b34RofR/MbJqh0aLxPNAlr0QEl5sCqHWzjssxAB5OADeagJRIdrTv46kq4A6fOFNp9NV2J6ttAuhscM3w9jwLc36EJBExyNG6Px1wyvH6pli8aFM8r8D/S+Fub1bu4OdZdfQWVxbyQlh3Xp0VedIO3IrOobw6GfvVrQY6/syWUmb/GaHd+6+x4O43</diagram></mxfile>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-18T07:46:20.869Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="9AfMW3mJbGNNk1SAHeMO" version="16.5.1" type="device"><diagram id="k4YY2W4VOJ1SSicnH8f-" name="第 1 页">7ZbLjpswFIafhmVH3CdZtslksqnUKlIvSxefAWsAI2MC9OlrajvgQAsZEamLZhHZv4+P8Xd+GyxvlzXPDBXJR4ohtVwbN5a3t1zXCx/Ffye0SvBdKcSMYCk5vXAiP0GJtlIrgqE0AjmlKSeFKUY0zyHihoYYo7UZ9kJTc9UCxTASThFKx+pXgnki1Y372OtHIHGiV3bCrRzJkA5WOykThGk9kLwny9sxSrlsZc0O0o6d5iLnHf4wenkwBjlfMiFC+4ofD1X5uvtygCA6fkb2u43MckZppTasHpa3mkDMaFWMF1Prn4FxaKZKgX7oDP1uhUuAZsBZK+L0rFABUg5xN6pf97wdDTEZstYiUjWOL7l7DKKhSNxAxZmnIqDkGLoktuV9qBPC4VSgqButxUEQWsIzsejeEc0xvb8W4xrpGJ1C5S8kFd4LlDsPSmQRZxXmIaGykAf4hTQd2PWpqdEgMPzmTUCcctu9GHoLGOb4fXeXiV5OczC5mU6EhvBvXfshUL3vg5F9M+y0qnMb6JJWLIJ5UwA2btZxOQbAgwngWmOQIk7O5n08VQW1widKxDb6atuT1dYJ5G7UnOHteZXm+ghxxGLgo3m/HXDZ49tN4a9qitsK/I8UzjUL5/hvrNx1HntZJQVb1A7Cii6gXP645ttYNGTCVV0S/nfJdvuwHf78dUwzk/ZOHrrkXcdEott/Xsrw/hvde/oF</diagram></mxfile>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-18T07:47:28.013Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="VIYH77eF-wLpBFRGqMNq" version="16.5.1" type="device"><diagram id="k4YY2W4VOJ1SSicnH8f-" name="第 1 页">7VdNs5owFP01LN8bPoTq8qnPuulMO870Y5nCFTIFQkNQ7K9vMDdCgFZ8ozNd1I3JuTc3yTmHK1reKqvfc1IkH1gEqeXaUW15a8t1Hcd25VeDnBCxXV8hMacRYi2wo79AJyJa0QhKI1EwlgpamGDI8hxCYWCEc3Y00/YsNXctSAwDYBeSdIh+oZFIFDp337X4Fmic6J2dYKEiGdHJeJMyIRE7diDv1fJWnDGhRlm9grRhT/Oi1m3+EL0cjEMupiwIyboS201V/lh93oAfbj8R+2muqhxIWuGF8bDipBmIOasKy1vuWS5QH7mTtxzuj0c6ABdQj6lDvuuiLQHSOsAyEPwk8/SqADlD17hznB9bCRzNa9KlX4MEZY8vtVtm5ADJuYEoZ4SoIBXIi8FY8LNiOvBUnhl7kQmSq7oNylGsvpe6kDyXqqUjPSGkDnkEzSEb+o8JFbArSNhEj/Lpk1giMnmptTOqzl/170s2lAalmE1UIniUEO51x8oqsj3AdZJIWaiesad1Q+z9WcOo7xt+9kZIHHPzozj0JnCYRy9N+5SznOVg8mY6EWoqvjbjZx9n3zqRdd2dnHByG9Elq3gI100BkdHMh3J0CPdHCNcYh5QIejB/AsZUwB0+MnruAbVZpqe2LqBug2u6DbtXpv8ICcJjEIN1Zwdc7vh2U8zuaorbBP5HhHNN4ZzZG5Xr17GnKSm5JadOWtEklNOPa74AyIEqeFeXBP9dslg8L7qf2X1Mc6Xsgzx0qXsfE8lp+0ar0ts/Bt7rbw==</diagram></mxfile>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-18T07:51:20.964Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="5IUvotft7fPChSRDxaG9" version="16.5.1" type="device"><diagram id="k4YY2W4VOJ1SSicnH8f-" name="第 1 页">7Vhdk5owFP01ProjIKiPfqx1OrPtVmfa3ccUImSKhIaw4v76BkmABFZZhboP64PmntzcJOcecoM9Y75LvhAQeg/YgX5PHzhJz1j0dN2wRuw7BQ4cGOoZ4BLkZJBWABv0Cjk44GiMHBhJjhRjn6JQBm0cBNCmEgYIwXvZbYt9edYQuLACbGzgV9FfyKFeho71UYGvIHI9MbNmTbKeHRDOfCeRBxy8L0HGfc+YE4xp1tolc+in3AlesnHLN3rzhREY0CYDJsvx4tvD9nEefzfXzmj9+nWy7vNtvAA/5hvmi6UHwYBLcBxyN0goTOp4B7+F+6C6Li3fLVMJxDtIyYG5iEAWH8IVoo+5vS/41kRYr8y1AAHPsZvHLmhgDc5EPSs2WMR0tYyjP/OfS2jaqx9g0B83ZcWYbXFAuWrZcoxZdfcneW9KaJW927Gj1bBj+ZSTIdFk/Y2x6OhHR5qmzIERlBSdrOVmvzMRiK0riyV6FPYZ+YED00WmnO89ROEmBHbau2fHEMM8umObWmismZKM2BM99ZEbMIzisDZRJ6WgJqqaEC7fYUP1Wl2lRz8vXhaFnZ/wPHUgCrNDdYuSlO72WeO9pimdAUYNiXUa74pDowGHgTNN6wuzAhxAmTdZnzBB9Clt35ncei71LJKyceDG+4iOcExseF4U0JGq3clTxawhXGAE+oCiF7lG1mWBz/CI0fFkSOQwSrZFgGw3fEy5oilh1EeIAuJCWhl3VEC+x8tFMWxVFO9L8AdJnC4nThtemDk1zqBZJhm34FByC1OHqPly5RsSa2QBW1WJ9amSyeRuUv4M2xHNmbAdaSiP25GIaq+HTWp4cxGpd1SmJXJ44q5H47moTqlZlKSjJWpSXsfKVSyvaafqmCLMFgubeCc8Jvuc360eiL5Rr6Frz81RZwWwVpXt3ooqqqy9JWm3V9etVDNURHPtNek2ouni1nQy4W+/b3+URF5aANU4HVU8dZr/UfDMT5WMW1KJGqcjlajTXKcSZhb/hGbuxd/Jxv0/</diagram></mxfile>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-18T07:54:24.896Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="gTBbSU9IFVJ0slPRxBmL" version="16.5.1" type="device"><diagram id="5Xvh56vFpQx7t7IzU6PJ" name="第 1 页">7ZbRbpswFIafhstVxoQkXG5pu0nbpEnpFG13Lj7BlsBGxoRkTz8TDiGGdEuntVeNImH/Pj62v/8YEUSrYv/RsFJ81RzygBK+D6LbgNIwJNQ9WuWACqFxp2RGctQGYS1/QR+Iai05VF6g1Tq3svTFVCsFqfU0Zoxu/LCtzv1VS5bBRFinLJ+qG8mt6NQlXQz6J5CZ6FcO50k3UrA+GFNUgnHddNLxcNFdEK2M1rZrFfsV5C29nktH4P6J0dPGDCh7zYRNA+LLww+hf1abRbJlD83n7+/QjB3LazwwbtYeegKZ0XU5XQzX34GxsL9kBXvsMwyndXUCugBrDi4OZ1GCVmOJ0CX2m4F3iGcj4pz1DEWGHmen3AMG10ASz6ASXqAya//xSpd5XQV0zooyiD6ox6p94OiYnAOnOLQLERfUCGlhXbK0HW3cdXGasIXb2G3omlutLJY/JcecY+J/NHBswxQ34p1dSXf+UnDp30sOFH/f3l3XU1qBD8qn+jxMwL3bPoV0RiW+AKXXDOTMyp3/jrhEClf4pqXb3qnk4+RmESdnP+8CjMu60rVJAVOcX/BR1rFjlpkM7GTe0bTTkf/dx+jNR+q/uSYvpGudo+SGRkM1LJPYz0te19nZm7Mh+U/WukSet8kLOeu6w6dEFz58kUV3vwE=</diagram></mxfile>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-18T07:56:57.258Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="hLuxcVc-V5iHf-3bXn2B" version="16.5.1" type="device"><diagram id="5Xvh56vFpQx7t7IzU6PJ" name="第 1 页">7ZbRbpswFIafhstWxoQkXG5pu0ltpUnpFG13Lj7BlsBGxgnJnn4mHEIM6ZZOa68aRcL+OT62v9/HIogWxe6LYaV41BzygBK+C6KbgNIwJNQ9GmWPCqFxq2RGctR6YSl/QReI6kZyqLxAq3VuZemLqVYKUutpzBhd+2FrnfuzliyDkbBMWT5WV5Jb0apzOuv1ryAz0c0cTpP2TcG6YExRCcZ13UqHzUW3QbQwWtu2VewWkDf0Oi4tgbsX3h4XZkDZSwasahAPTz+E/lmtZsmaPdX336/QjC3LN7hhXKzddwQyozfleDKcfwvGwu6cFey5y9Dv1p0T0AVYs3dxOIoStBqPCJ1jv+55h7g3Ik5ZT1Bk6HF2zN1jcA0k8Qoq4Rkqk+YfLzR3ftEpK8og+qyeq+Yx7h+ChyAdR8WhmZe4oFpIC8uSpc3b2lWP04Qt3DpvQtdca2WxGig55Bwa8Ec/h66M6SPtyYWwp2/Fmv79BILin5pSdj2lFfigfKqvwwTcK/4xpBMq8RkonWYgZ1Zu/SvjHCmc4ZuWbnnHCoiT61mcnPy8ehie8kpvTAqY4rTeB1mHjllmMrCjcQfTjlv+dx+jDx+pf5GN7qdLnaPkmkb9aZgnsZ+XvK+zkw9nQ/KfrHWJPG+TN3LWdfsviza8/0CLbn8D</diagram></mxfile>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-18T08:43:47.644Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="0o77iOjol01LKSCDi50j" version="16.5.1" type="device"><diagram id="PR5U5zUkX46PSxxDsiZg" name="第 1 页">jZJNb4MwDIZ/DcdJENqOXUu77tIdRqVJu2VgSKbQsBAG7NcvEKeAUKVxIX7s+ON1vDAuu5OiFTvLDIRH/KzzwoNHSBD4xPwG0iPxydaSQvEM2QQS/gsuEGnDM6gXgVpKoXm1hKm8XiHVC0aVku0yLJdiWbWiBaxAklKxpu8808zSiDxO/AV4wVzlYPdkPSV1wThJzWgm2xkKj14YKym1PZVdDGJQz+li7z3f8d4aU3DV/7kQfZefB37eXZrXj+1Xe367BPkDZvmhosGBsVndOwVMFiO2MfYt4xqSiqaDpzULN4zpUhgrMEdaV3YDOe/AFN3nXIhYCqnGRKE/foavO3dtgNLQzRBOcgJZgla9CUEv8VFVfFebCO12WtLGEjZbDyKKj6K45Z10MweUzpnTikbf7KWHxz8=</diagram></mxfile>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-19T01:03:44.107Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/18.0.1 Chrome/100.0.4896.143 Electron/18.2.0 Safari/537.36" etag="MjHnoCG6Uig0fNmtK4iA" version="18.0.1" type="device"><diagram id="W6DzrreroZMBUvCn5uDv" name="第 1 页">7Vptb9sgEP41+djJr2nysXHablUnVe3e+mkiNonRsLEwqZ3++kEMcRyTxG7nVUosRQocGMPzHMfd4YHtRfktBUn4lQQQDywjyAf2dGBZpmnY/E9IVlJiWG4hWVAUSFkpeEKvUHWU0iUKYFrpyAjBDCVVoU/iGPqsIgOUkqzabU5w9a0JWMCa4MkHuC79iQIWFtKRdVnKP0O0CNWbzeG4aImA6iyHSEMQkKwQrRdnXw9sjxLCilKUexAL9BQuBQI3e1o3E6MwZk0ecH5kycv82f6esrvQpPiBhq8Xw2KUF4CXcsFysmylEFhQskxkN0gZzHW4g5nqbtTnZW5Wy/UEkggyuuJd1EBj+YhUEduR9azE2zakLNzG2pZCIDlebMYuYeAFiYQeFcuZ5fldjO6d34+zG3h7+/z45cI8jgpnMxFFufJJyCL+iqnJi1mIGHxKgC/aM74vuCxlgDKp3Qavc9gYQDGk8hmfYAySFBUwrnuECAf3YEWWTL1G1SZ1iA+Su8vaXiqGVSbcOhGWoyFi1BUPVkseHsX+moSEoleBL5ZQ7oKfZijCIOYbFwQ7oglZWyohYiSRJQznTBZnhDESyQqVEBhaAgNKkm+ALqDqMkcYewQTwXlMYqE1CUExW6PmTviP4+gZn9yBy1fm8bpZ1vlPdKfMI3HKKNcdMSwEKctgqteJg6p9XCeOse50xbrdnHW+XIYAfhQWKF402YhVe7WHlnbUEw7mHK9Ne4iCAMbN2bDewsawJRlysBKk1qMBzCCNAePbYxkHaY3hzTzfTrrTk37ULJ+6Dri9Duz3kqwzUQLT6UnfkD46E9IbhCG9o9eVo7eq0v5hft/l+Zj/5pHZqe/8UU/62ft9414Her/PdHvST9nv02YoG0R8708/78+NHjxu9TlndX3xHu9HO6EGOeeOoHCPQjHqCgl9mNQAChgHV+J2p9zNWxaBCn2FyuOf8whBxgTmiNdhjtgv2SbKz/IpUZ7mWw1TFSA0xFHd85Al9eEhSycdXRhUrp4OMuBqGFAyCjFg6AVWtOGASXgQsUhpbC7UNYqMAzaKo4YoFiSfKrmtDWRWxzF3hmHrEKk2zL86P5SSVLTG4b+r4q+mQnz/sKre8HCL/IE7p4Tm4AAYLbj5n/pcH8QNzkTsRuQDfCUbIn5ArI8p3dl0WDvb6Vrz6M5udqJ0dqVm6bL6gpeJd978yNaGbl53/NQT8MaZU6I8UnUbOvxghurOktkztM3Q2P1vDGnnrzuBPtSF01/ra0yNNtHX3ecV9Uwff5VxYvbG2kNz6xxfdzzUk2+ChxOzKs15aJd2646Wej7M7GlpnAnr7gA2tLycrdlqmax6Ay+8Wn4fWQSK5Wem9vVf</diagram></mxfile>
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-05-19T01:12:48.016Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/18.0.1 Chrome/100.0.4896.143 Electron/18.2.0 Safari/537.36" etag="51lI-LuCSI9s_4MYpEBa" version="18.0.1" type="device"><diagram id="W6DzrreroZMBUvCn5uDv" name="第 1 页">7Vxbk6I4FP41PvaWgHh5bLWnd6dmZ6a699ZPW2mJQm0kVIyt9q/fRBJpJEC0BeVSZZUQICTnOzn58nGgY02W20cCAvd37EDUMbvOtmNNO6ZpGF2L/fGSnSjpmnZYsiCeI8qigmfvHcoTRenac+AqdiLFGFEviBfOsO/DGY2VAULwJn7aHKP4XQOwgImC5xlAydK/PYe6YenQHETlv0Jv4co7G/1ReGQJ5MmiipULHLwJi/adsx461oRgTMOt5XYCEbeetEtogS8pRw8NI9CnOhf0/toEb/MX688V/eoaBP0k7vtdP6zlDaC16LBoLN1JCywIXgfJm4n7v0FC4VYFBXiVNUS9ZX4C8RJSsmPnyatGAmrhIlZP7G8ie1tdUeZ+tLUlCoHAeHGoOzID2xCWUFvF7L1ut19971vv36fXL/Dx8eXptzsj3yoMzYBvim6OXbpkt5gabHPjehQ+B2DGj2/YuGBlKwoIFd7dZfvMRhR4PiTimhlGCAQrL7TZ/gzXQ843sMNrKm8j98ZJNDLBPYYoFYp+HAk7CYTZUwHRLwoI80QgnvgAG7uYeO/cwEjY8tj6q423RMBnIxc4R0VjvA9VvIjiQGwhOKdi8xVTipdihwgbdJUIOgQHfwCygPKUuYfQBCPMQfexz90mwJ5P91azx+zH7Djp/mJ3bNazCds3on3246cTOsH+ihLmPLxaCFZ0A1dqp8j07XynyIO9VxTqlj7qrLvUA+iJxxt/oTMS49EpBZbToMfMmHO0j+2u5zjQ10fDPAeN/olgiMoiI51cG0AUEh9QNjzWvrNKIHxo5/mg91rQc+Ny3X3Abn0gnSaZDXECo9eCfgB92BDQNdYhLdEriujt4rBfjfcNmhP+9ZdmdR/5wxb0xvO+UesDLe8z7Bb0OvM+gF7NHw8v/ve3Z3s3XNuLH9vvkqS0NC+N5in0dT3ml0rzFK5VGM1TYl7Z4J6DRbqD15rVKbtttRjXmMQprVBZ2ebykNeRsynNUFnKVgDmTaFs/ZaylU3ZVPGkXM42aNJA7zeTsw1bjJvG2UYt5I3jbDKzsgW9nqRNmQqokVmRkud5UmahfvJnbnKnzBO+OJUxTrOFdh81zGZf0RbKBmkkuqa4RbZpL+IXw3LdQiPrsCC3yFlYih7LpNy+VsSSaeiXT8lNJuqx23eTkwozD41PIGzNhP+DR5ODYr4AyFuwqD+dMbPxDOkxN7Y3A+heHFiyeWE/O6mmJMKDKJSLyjlbhIplpzFUPrHJ9oZPP6AvLEndTMYxDkTyiUpTgJDvD4y0BsglcFG3WCOT9SqB5C4ZOYZ9ReQozGE1ZhvoO/f8rZ3IBz+4bbZDwa1H/xHH+PaLuIpvT7cfDkyluqTrglLZxmsygxkdNIRKAp3YO0WZIcNWuKYsIxAB6r3BmHNkUNCfXMn6gLcM1WJgHPxIVhF2SFwVgZuoyOjH6jGOqqF7gS1RzaXyAqSXxNyG9ax3Pw7/axbwZPjQD3h6a5jiJiIVc+LATKYNB0gcNfUo2yUAUk4LqgF0XZavft9MV+Uu7r2/ZAZqtbltpjvcLrU1kkmh1aa2n8ThNFW6OFiSeZpGC4u2clzcBNxV4tLYsHWiuFvcSjC54KneeMkR3XOYTzcuXvUG5VEhNSRJLlS9oXJRSGxJ564GyWnfoDhTL8kJFWd/g6I4PVrjbajPmyUDkVvS5jVeEirKFoNsx7maOK9ubZKhVW8Bc1Zu3jDXZUsNagpKVr0VzCWBuBFxXkeDvk4kKVGdV1tGQyW6gjp/pKVr2Pnwva0Pcr36xPxprlXnc90mTfytpDp/TsS7HXVe3TzV48jKqvOXBKh8dV7dvFLykU4i+teX5zMCdgPZrZmfOFauy6qfk9Sf3aYBUb5Ar25ecp1cO8HxHFzKVOjV7VM/OWlu5LoViV5WXOcRUzGJ3lI/NanVWLkZiZ7tRl+gDteE0Ye8rYf/AQ==</diagram></mxfile>
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 KiB

-1833
View File
File diff suppressed because it is too large Load Diff