diff --git a/How_To_Choose.jpg b/How_To_Choose.jpg
deleted file mode 100755
index ff5a6e6..0000000
Binary files a/How_To_Choose.jpg and /dev/null differ
diff --git a/README.md b/README.md
index 213797e..5ee901b 100755
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@
## 如何选取适合自己的配置:
-![](How_To_Choose.jpg)
+![](how-to-choose/how-to-choose-a-v2ray-plan.png)
附加说明:
尽管 Websocket+TLS+Web 可能称得上是现阶段最好的方案,但**绝对**不是推荐新手一上来就尝试的方案,更不是 V2Ray 唯一的用法。
diff --git a/how-to-choose/.gitignore b/how-to-choose/.gitignore
new file mode 100644
index 0000000..dacf588
--- /dev/null
+++ b/how-to-choose/.gitignore
@@ -0,0 +1,5 @@
+# Emacs
+*~
+
+# Node
+node_modules
diff --git a/how-to-choose/LICENSE b/how-to-choose/LICENSE
new file mode 100644
index 0000000..261eeb9
--- /dev/null
+++ b/how-to-choose/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/how-to-choose/README.md b/how-to-choose/README.md
new file mode 100644
index 0000000..f6af56c
--- /dev/null
+++ b/how-to-choose/README.md
@@ -0,0 +1,29 @@
+# 如何选择 V2Ray 方案
+
+![](how-to-choose-a-v2ray-plan.png)
+
+## 想参与修改本图?
+
+1. 修改 [how-to-choose-a-v2ray-plan](how-to-choose-a-v2ray-plan.mmd) (参见 [Mermaid 流程图语法](https://mermaidjs.github.io/how-to-choose-a-v2ray-plan.html))
+1. 生成出 PNG 并覆盖已存在的 `how-to-choose-a-v2ray-plan.png` 文件
+ 1. 安装 [mermaid.cli](https://github.com/mermaidjs/mermaid.cli)
+ ```shell
+ # yarn config set puppeteer_download_host https://npm.taobao.org/mirrors
+ yarn add mermaid.cli
+ ```
+ Or use NPM:
+ ```
+ # npm config set puppeteer_download_host=https://npm.taobao.org/mirrors
+ npm install mermaid.cli
+ ```
+ 1. 生成文件
+ ```shell
+ ./node_modules/.bin/mmdc -i how-to-choose-a-v2ray-plan.mmd -o how-to-choose-a-v2ray-plan.png -t forest -w 1920 -H 1080 -p puppeteer-config.json
+ ```
+1. 提交 PR
+
+## 相关链接
+
+[在线预览 Mermaid](https://mermaidjs.github.io/mermaid-live-editor/)
+[支持 Mermaid 的在线 Markdown 编辑器](https://mdp.tylingsoft.com/)
+[mermaid](https://github.com/knsv/mermaid)
diff --git a/how-to-choose/how-to-choose-a-v2ray-plan.mmd b/how-to-choose/how-to-choose-a-v2ray-plan.mmd
new file mode 100644
index 0000000..3840a56
--- /dev/null
+++ b/how-to-choose/how-to-choose-a-v2ray-plan.mmd
@@ -0,0 +1,68 @@
+%% 大段文字请用双引号,否则无法使用中文标点等字符
+%% 文字内支持 HTML 语法,如 换行请用
+%% 支持 Font Awesome 图标
+%% 更多语法参见 [Mermaid 流程图语法](https://mermaidjs.github.io/flowchart.html)
+
+graph TB
+
+tag(fa:fa-tag ver. 1.1)
+style tag fill: #0000000a, stroke: #bfbfbf
+
+start["如何选择 V2Ray 方案 fa:fa-rocket"] -->
+ simple-way?(-"萌新?懒得折腾?急着用?"-)
+
+simple-way? -->
+ |否| speed?(-"要速度?还是要稳定?"-)
+simple-way? -->
+ |是| buy["买买买!请自行搜索付费 VPN SS V2Ray
方便、快捷、省时、省力!"]
+
+speed? --> |稳定| worry-sniff?(-"介意可能会被探测到你正在使用 V2Ray 么?"-)
+speed? --> |速度| kcp["fa:fa-star KCP"]
+
+%% 速度分支
+
+kcp --> more-speed?(-"单纯 KCP 速度不理想?想尝试更复杂的配置?"-)
+more-speed? -->
+ |是的| kcp-udp2raw["fa:fa-star fa:fa-star fa:fa-star 尝试 KCP + udp2raw
*注意 udp2raw 难以在手机客户端使用"]
+
+kcp-udp2raw --> more-more-speed?(-"还是不给力?"-)
+more-more-speed? -->
+ |"是啊!感觉被骗了!"| tcp-bbr["
+ fa:fa-star fa:fa-star fa:fa-star 调整 KCP 参数 或 尝试 TCP + BBR
+ *注意 BBR 需要特定的系统支持,请查阅相关教程。
+ 由于是底层单边算法,可以结合其他选项使用
+ "]
+
+%% 稳定分支
+
+worry-sniff? -->
+ |不用杞人忧天| tcp-vmess["fa:fa-star TCP + Vmess"]
+worry-sniff? -->
+ |偷偷地干活| have-website?(-"懂得如何搭建网站?
服务器上已经有网站在运行了?"-)
+
+have-website? -->
+ |"没有,不懂也不想懂"| ws-or-obfu["fa:fa-star WebSocket、HTTP/2 或者 Vmess + 伪装"]
+have-website? -->
+ |"是的!教练!我想学这个!"| https?(-"想要进一步隐藏 V2Ray?
网站是否支持 HTTPS?"-)
+
+https? -->
+ |安全一点总是好的| https-website["
+ fa:fa-star fa:fa-star Caddy + TLS + WebSocket、HTTP/2
+ fa:fa-star fa:fa-star fa:fa-star Nginx/Apache/其它 + TLS + WebSocket、HTTP/2
+ "]
+https? -->
+ |"算了,太麻烦"| website["fa:fa-star fa:fa-star Caddy/Nginx/Apache/其它 + WebSocket"]
+
+website --> cdn?
+https-website --> cdn?
+cdn?(-"想要保护主机 IP 不被干掉?
即使速度可能会受到不确定的影响?"-) -->
+ |"是的,稳一点是一点"| cdn["fa:fa-star fa:fa-star Cloudflare 等 CDN
*注 该难度等级独属于 CDN"]
+
+
+note("
+fa:fa-star 表示复杂等级,fa:fa-star 越多越复杂,难度越大
+可以结合使用速度分类和稳定分类中的某些选项
+参与修改本图请前往 github.com/v2fly/vTemplate
+")
+
+style note stroke-width:2px, stroke-dasharray: 5.5
diff --git a/how-to-choose/how-to-choose-a-v2ray-plan.png b/how-to-choose/how-to-choose-a-v2ray-plan.png
new file mode 100644
index 0000000..d809276
Binary files /dev/null and b/how-to-choose/how-to-choose-a-v2ray-plan.png differ
diff --git a/how-to-choose/package.json b/how-to-choose/package.json
new file mode 100644
index 0000000..887dde6
--- /dev/null
+++ b/how-to-choose/package.json
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "mermaid.cli": "^0.5.1"
+ }
+}
diff --git a/how-to-choose/puppeteer-config.json b/how-to-choose/puppeteer-config.json
new file mode 100644
index 0000000..3201af7
--- /dev/null
+++ b/how-to-choose/puppeteer-config.json
@@ -0,0 +1,3 @@
+{
+ "args": ["--no-sandbox"]
+}
diff --git a/how-to-choose/yarn.lock b/how-to-choose/yarn.lock
new file mode 100644
index 0000000..e74d862
--- /dev/null
+++ b/how-to-choose/yarn.lock
@@ -0,0 +1,352 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+agent-base@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-4.3.0.tgz?cache=0&sync_timestamp=1593732732901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagent-base%2Fdownload%2Fagent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee"
+ integrity sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4=
+ dependencies:
+ es6-promisify "^5.0.0"
+
+ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1589682811931&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=
+ dependencies:
+ color-convert "^1.9.0"
+
+async-limiter@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
+ integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=
+
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+buffer-crc32@~0.2.3:
+ version "0.2.13"
+ resolved "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
+ integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
+
+buffer-from@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
+ integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=
+
+chalk@^2.4.1:
+ version "2.4.2"
+ resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+color-convert@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=
+ dependencies:
+ color-name "1.1.3"
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+commander@^2.15.1:
+ version "2.20.3"
+ resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1595168281426&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+concat-stream@^1.6.2:
+ version "1.6.2"
+ resolved "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz?cache=0&sync_timestamp=1589682751334&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconcat-stream%2Fdownload%2Fconcat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+
+debug@^2.6.9:
+ version "2.6.9"
+ resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1589891993007&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=
+ dependencies:
+ ms "2.0.0"
+
+debug@^3.1.0:
+ version "3.2.6"
+ resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&sync_timestamp=1589891993007&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
+ integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps=
+ dependencies:
+ ms "^2.1.1"
+
+debug@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&sync_timestamp=1589891993007&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
+ integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=
+ dependencies:
+ ms "^2.1.1"
+
+es6-promise@^4.0.3:
+ version "4.2.8"
+ resolved "https://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.8.tgz?cache=0&sync_timestamp=1589683583729&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes6-promise%2Fdownload%2Fes6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
+ integrity sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo=
+
+es6-promisify@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npm.taobao.org/es6-promisify/download/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
+ integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=
+ dependencies:
+ es6-promise "^4.0.3"
+
+escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+extract-zip@^1.6.6:
+ version "1.7.0"
+ resolved "https://registry.npm.taobao.org/extract-zip/download/extract-zip-1.7.0.tgz?cache=0&sync_timestamp=1591773082587&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fextract-zip%2Fdownload%2Fextract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927"
+ integrity sha1-VWzDrp339FLEk6DPtRzDAneUCSc=
+ dependencies:
+ concat-stream "^1.6.2"
+ debug "^2.6.9"
+ mkdirp "^0.5.4"
+ yauzl "^2.10.0"
+
+fd-slicer@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
+ integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=
+ dependencies:
+ pend "~1.2.0"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+glob@^7.1.3:
+ version "7.1.6"
+ resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz?cache=0&sync_timestamp=1589682812051&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+https-proxy-agent@^2.2.1:
+ version "2.2.4"
+ resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b"
+ integrity sha1-TuenN6vZJniik9mzShr00NCMeHs=
+ dependencies:
+ agent-base "^4.3.0"
+ debug "^3.1.0"
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@^2.0.3, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&sync_timestamp=1589682822213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=
+
+isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+mermaid.cli@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.npm.taobao.org/mermaid.cli/download/mermaid.cli-0.5.1.tgz#f261491b7d7eda309c9c2e1122c16b7eb3af66b0"
+ integrity sha1-8mFJG31+2jCcnC4RIsFrfrOvZrA=
+ dependencies:
+ chalk "^2.4.1"
+ commander "^2.15.1"
+ puppeteer "^1.4.0"
+
+mime@^2.0.3:
+ version "2.4.6"
+ resolved "https://registry.npm.taobao.org/mime/download/mime-2.4.6.tgz?cache=0&sync_timestamp=1590635592890&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1"
+ integrity sha1-5bQHyQ20QvK+tbFiNz0Htpr/pNE=
+
+minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1589682820731&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=
+
+mkdirp@^0.5.4:
+ version "0.5.5"
+ resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1589682820707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=
+ dependencies:
+ minimist "^1.2.5"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+ms@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=
+
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+ dependencies:
+ wrappy "1"
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+pend@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+ integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I=
+
+progress@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=
+
+proxy-from-env@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/proxy-from-env/download/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha1-4QLxbKNVQkhldV0sno6k8k1Yw+I=
+
+puppeteer@^1.4.0:
+ version "1.20.0"
+ resolved "https://registry.npm.taobao.org/puppeteer/download/puppeteer-1.20.0.tgz#e3d267786f74e1d87cf2d15acc59177f471bbe38"
+ integrity sha1-49JneG904dh88tFazFkXf0cbvjg=
+ dependencies:
+ debug "^4.1.0"
+ extract-zip "^1.6.6"
+ https-proxy-agent "^2.2.1"
+ mime "^2.0.3"
+ progress "^2.0.1"
+ proxy-from-env "^1.0.0"
+ rimraf "^2.6.1"
+ ws "^6.1.0"
+
+readable-stream@^2.2.2:
+ version "2.3.7"
+ resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz?cache=0&sync_timestamp=1589682741447&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+ integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+rimraf@^2.6.1:
+ version "2.7.1"
+ resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1589682814592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+ integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=
+ dependencies:
+ glob "^7.1.3"
+
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz?cache=0&sync_timestamp=1589682795646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0=
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz?cache=0&sync_timestamp=1589682743884&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring_decoder%2Fdownload%2Fstring_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=
+ dependencies:
+ safe-buffer "~5.1.0"
+
+supports-color@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=
+ dependencies:
+ has-flag "^3.0.0"
+
+typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+
+util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+ws@^6.1.0:
+ version "6.2.1"
+ resolved "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&sync_timestamp=1593925481882&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
+ integrity sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=
+ dependencies:
+ async-limiter "~1.0.0"
+
+yauzl@^2.10.0:
+ version "2.10.0"
+ resolved "https://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
+ integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
+ dependencies:
+ buffer-crc32 "~0.2.3"
+ fd-slicer "~1.1.0"