Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a48f414bbb | ||
|
|
853531c07c |
@@ -0,0 +1,9 @@
|
|||||||
|
# 统一换行符:仓库内一律 LF,避免 Windows 提交后被转成 CRLF,
|
||||||
|
# 部署到 Linux 上再出现整文件 diff。
|
||||||
|
* text=auto eol=lf
|
||||||
|
|
||||||
|
# 图片是二进制,别做换行转换
|
||||||
|
*.png binary
|
||||||
|
*.jpg binary
|
||||||
|
*.webp binary
|
||||||
|
*.ico binary
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,16 +1,73 @@
|
|||||||
# 项目说明
|
# Simple Password
|
||||||
|
|
||||||
因工作需要,制作了面向数字逻辑的Draw.io图库,共享出来提供给所有人使用。
|
一个干净、纯本地的密码生成器。单文件 `index.html`,双击即用,也可丢到任意静态托管上。
|
||||||
|
|
||||||
根据SJ1223-77标准制作。
|

|
||||||
|
|
||||||
# 使用方法
|
## 特点
|
||||||
|
|
||||||
1. 下载或者Clone项目到本地。
|
- **纯前端,零依赖** — 一个 `index.html`,没有构建步骤、没有 CDN、没有任何外部请求。断网可用。
|
||||||
2. 在Draw.io中,选择文件→打开图库,在弹出的对话框中,选择`DigitalLogic.xml`即可。
|
- **密码学安全随机** — 走 `crypto.getRandomValues` + 拒绝采样消除取模偏差,不用 `Math.random()`。
|
||||||
|
- **生成即复制** — 默认开启自动复制;剪贴板 API 不可用(如 `file://` 下的旧浏览器)时自动降级到 `execCommand`。
|
||||||
|
- **深浅色** — 跟随系统偏好,可手动切换并记住选择。首帧前定主题,不会白屏闪一下。
|
||||||
|
- **可调长度** — 4~64 位。选了「每类至少一位」时,下限自动收紧到所选类型数。
|
||||||
|
- **四类字符可选** — 小写 / 大写 / 数字 / 符号,四类全不选会被兜回小写,不会生成空密码。
|
||||||
|
- **排除易混淆字符** — 一键去掉 `0 O o 1 l I`,抄写不出错。
|
||||||
|
- **自定义排除** — 想避开 `@`、空格或某个符号,直接填进去。
|
||||||
|
- **强度与熵** — 按 `长度 × log₂(字符池)` 算真实熵,分五档给出评价,同时显示字符池规模。
|
||||||
|
- **批量候选** — 一次出 5 个,点任意一条即复制。
|
||||||
|
- **最近生成** — 只存在本机 `localStorage`,最多 6 条,可一键清空。
|
||||||
|
|
||||||
# Draw.io Desktop下载地址
|
## 使用
|
||||||
|
|
||||||
<a href="https://github.com/jgraph/drawio-desktop/releases" target="_blank">Github</a>
|
直接打开 `index.html` 即可。
|
||||||
|
|
||||||
<a href="https://sourceforge.net/projects/drawio-desktop.mirror/" target="_blank">SourceForge</a>
|
想用 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 全部内容:结构、样式、脚本
|
||||||
|
```
|
||||||
|
|
||||||
|
## 开发校验
|
||||||
|
|
||||||
|
改完 `index.html` 后建议跑一遍(脚本在仓库外的 `_tooling/`,配合 `jsdom` 与 `playwright`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
node _sp_test.js # 功能判据(jsdom,80 条,含反向注入 24 条)
|
||||||
|
node _sp_visual.js # 真实浏览器几何 / 对比度 / 多视口(约 101 条)
|
||||||
|
node _sp_clip.js # 真实剪贴板端到端(18 条)
|
||||||
|
```
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
MIT
|
||||||
@@ -1 +0,0 @@
|
|||||||
<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 +0,0 @@
|
|||||||
<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 +0,0 @@
|
|||||||
<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 +0,0 @@
|
|||||||
<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 +0,0 @@
|
|||||||
<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 +0,0 @@
|
|||||||
<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 +0,0 @@
|
|||||||
<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 +0,0 @@
|
|||||||
<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 +0,0 @@
|
|||||||
<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 +0,0 @@
|
|||||||
<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 +0,0 @@
|
|||||||
<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>
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 439 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 406 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 345 KiB |
+1852
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user