Bläddra i källkod

Merge branch '2018zt' of http://svn.ouj.com:3000/FED/dwweb-pc into 2018zt

dmy 6 år sedan
förälder
incheckning
7f57740374
100 ändrade filer med 9392 tillägg och 172 borttagningar
  1. 1 0
      2017专题/幻想全明星/src/sass/global.scss
  2. 8077 0
      2018专题/1807吸血鬼专题-商务/package-lock.json
  3. 4 2
      2018专题/1807吸血鬼专题-商务/package.json
  4. 46 0
      2018专题/1807吸血鬼专题-商务/src/img/atlas/icon-1.less
  5. BIN
      2018专题/1807吸血鬼专题-商务/src/img/atlas/icon-1.png
  6. 46 0
      2018专题/1807吸血鬼专题-商务/src/img/atlas/icon.less
  7. BIN
      2018专题/1807吸血鬼专题-商务/src/img/atlas/icon.png
  8. 57 0
      2018专题/1807吸血鬼专题-商务/src/img/atlas/light.less
  9. BIN
      2018专题/1807吸血鬼专题-商务/src/img/atlas/light.png
  10. BIN
      2018专题/1807吸血鬼专题-商务/src/img/icon/icon-mark-gray.png
  11. BIN
      2018专题/1807吸血鬼专题-商务/src/img/icon/icon-mouse.png
  12. BIN
      2018专题/1807吸血鬼专题-商务/src/img/primary-mouse-icon.png
  13. BIN
      2018专题/1807吸血鬼专题-商务/src/img/primary-mouse-shake.png
  14. 244 99
      2018专题/1807吸血鬼专题-商务/src/index.html
  15. 45 9
      2018专题/1807吸血鬼专题-商务/src/js/index.js
  16. 25 0
      2018专题/1807吸血鬼专题-商务/src/js/requestAnimationFrame.js
  17. 43 6
      2018专题/1807吸血鬼专题-商务/src/js/task1.js
  18. 156 21
      2018专题/1807吸血鬼专题-商务/src/js/task2.js
  19. 1 2
      2018专题/1807吸血鬼专题-商务/src/js/task3.js
  20. 1 1
      2018专题/1807吸血鬼专题-商务/src/lib/rem.js
  21. 78 4
      2018专题/1807吸血鬼专题-商务/src/sass/global.scss
  22. 468 1
      2018专题/1807吸血鬼专题-商务/src/sass/module/_animation.scss
  23. 2 2
      2018专题/1807吸血鬼专题-商务/src/sass/module/_icon.scss
  24. 2 2
      2018专题/1807吸血鬼专题-商务/src/sass/page/_comment.scss
  25. 8 0
      2018专题/1807吸血鬼专题-商务/src/sass/page/_primary.scss
  26. 4 0
      2018专题/1807吸血鬼专题-商务/src/sass/page/_task-1.scss
  27. 63 21
      2018专题/1807吸血鬼专题-商务/src/sass/page/_task-2.scss
  28. 18 0
      2018专题/1807吸血鬼专题Wap-商务/package-lock.json
  29. 3 2
      2018专题/1807吸血鬼专题Wap-商务/package.json
  30. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book-back.png
  31. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book-front.png
  32. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book-line.png
  33. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book-next.png
  34. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book-prev.png
  35. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book.png
  36. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-back-hover.png
  37. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-back.png
  38. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-buy-hover.png
  39. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-buy.png
  40. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-close.png
  41. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-comment-hover.png
  42. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-comment.png
  43. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-end-hover.png
  44. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-end.png
  45. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-goon-hover.png
  46. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-goon.png
  47. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-history-hover.png
  48. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-history.png
  49. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-play.png
  50. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-primary-start-hover.png
  51. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-primary-start.png
  52. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-restart-hover.png
  53. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-restart-simple-hover.png
  54. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-restart-simple.png
  55. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-restart.png
  56. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-skip-hover.png
  57. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-skip.png
  58. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-start-hover.png
  59. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-start.png
  60. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/enter-room.jpg
  61. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/finish-btn-bg.png
  62. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/finish-btn-bg2.png
  63. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/finish-mask.png
  64. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-back-index.png
  65. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-chongwei-hover.png
  66. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-chongwei.png
  67. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-comment-hover.png
  68. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-comment.png
  69. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-jiuren-hover.png
  70. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-jiuren.png
  71. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-a-hover.png
  72. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-a.png
  73. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-d-hover.png
  74. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-d.png
  75. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-f-hover.png
  76. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-f.png
  77. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-s-hover.png
  78. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-s.png
  79. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-w-hover.png
  80. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-w.png
  81. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-mark-rotate.png
  82. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-mark.png
  83. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-music-hover.png
  84. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-music.png
  85. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-next-column.png
  86. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-next.png
  87. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-shenshi-hover.png
  88. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-shenshi.png
  89. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-sw-prev-hover.png
  90. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-sw-prev.png
  91. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-task-hover.png
  92. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-task.png
  93. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-zhenxiang-hover.png
  94. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-zhenxiang.png
  95. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/primary-bg.jpg
  96. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/run-end.jpg
  97. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/shenshichengmi-avatar.png
  98. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/task-intro-1.jpg
  99. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/task-tab-bg.png
  100. BIN
      2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/task-tab-complete-bg.png

+ 1 - 0
2017专题/幻想全明星/src/sass/global.scss

@@ -71,6 +71,7 @@ a {
 
 
 .hide {
+    
     display: none;
 }
 

+ 8077 - 0
2018专题/1807吸血鬼专题-商务/package-lock.json

@@ -0,0 +1,8077 @@
+{
+  "name": "parcel-sample-project",
+  "version": "1.0.0",
+  "lockfileVersion": 1,
+  "requires": true,
+  "dependencies": {
+    "@mrmlnc/readdir-enhanced": {
+      "version": "2.2.1",
+      "resolved": "http://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz",
+      "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=",
+      "requires": {
+        "call-me-maybe": "1.0.1",
+        "glob-to-regexp": "0.3.0"
+      }
+    },
+    "@nodelib/fs.stat": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.0.tgz",
+      "integrity": "sha1-UMHiJgrA7ZQ5oYHeNyWgFo1ZxIo="
+    },
+    "@samverschueren/stream-to-observable": {
+      "version": "0.3.0",
+      "resolved": "http://registry.npm.taobao.org/@samverschueren/stream-to-observable/download/@samverschueren/stream-to-observable-0.3.0.tgz",
+      "integrity": "sha1-7N9I1TLFjqR3rPyrgDSEJPjQZi8=",
+      "dev": true,
+      "requires": {
+        "any-observable": "0.3.0"
+      }
+    },
+    "abbrev": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz",
+      "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg="
+    },
+    "acorn": {
+      "version": "5.7.1",
+      "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-5.7.1.tgz",
+      "integrity": "sha1-8JWCkpdwanyXdpWMCvyJMKm52dg="
+    },
+    "ajv": {
+      "version": "4.11.8",
+      "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz",
+      "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+      "requires": {
+        "co": "4.6.0",
+        "json-stable-stringify": "1.0.1"
+      }
+    },
+    "alphanum-sort": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz",
+      "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM="
+    },
+    "amdefine": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz",
+      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
+    },
+    "ansi-escapes": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-1.4.0.tgz",
+      "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
+      "dev": true
+    },
+    "ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+    },
+    "ansi-styles": {
+      "version": "2.2.1",
+      "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
+      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+    },
+    "ansi-to-html": {
+      "version": "0.6.6",
+      "resolved": "http://registry.npm.taobao.org/ansi-to-html/download/ansi-to-html-0.6.6.tgz",
+      "integrity": "sha1-WKjQS4fsmoXjrSc8EqX7xxR7nEI=",
+      "requires": {
+        "entities": "1.1.1"
+      }
+    },
+    "any-observable": {
+      "version": "0.3.0",
+      "resolved": "http://registry.npm.taobao.org/any-observable/download/any-observable-0.3.0.tgz",
+      "integrity": "sha1-r5M0deWAamfQ198JDdXovvZdEZs=",
+      "dev": true
+    },
+    "anymatch": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
+      "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
+      "requires": {
+        "micromatch": "3.1.10",
+        "normalize-path": "2.1.1"
+      },
+      "dependencies": {
+        "normalize-path": {
+          "version": "2.1.1",
+          "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
+          "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+          "requires": {
+            "remove-trailing-separator": "1.1.0"
+          }
+        }
+      }
+    },
+    "app-root-path": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/app-root-path/download/app-root-path-2.1.0.tgz",
+      "integrity": "sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo=",
+      "dev": true
+    },
+    "aproba": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz",
+      "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo="
+    },
+    "are-we-there-yet": {
+      "version": "1.1.5",
+      "resolved": "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz",
+      "integrity": "sha1-SzXClE8GKov82mZBB2A1D+nd/CE=",
+      "requires": {
+        "delegates": "1.0.0",
+        "readable-stream": "2.3.6"
+      }
+    },
+    "argparse": {
+      "version": "1.0.10",
+      "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz",
+      "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
+      "requires": {
+        "sprintf-js": "1.0.3"
+      }
+    },
+    "arr-diff": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz",
+      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+    },
+    "arr-flatten": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz",
+      "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE="
+    },
+    "arr-union": {
+      "version": "3.1.0",
+      "resolved": "http://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz",
+      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
+    },
+    "array-find-index": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz",
+      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
+    },
+    "array-unique": {
+      "version": "0.3.2",
+      "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz",
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+    },
+    "asn1": {
+      "version": "0.2.3",
+      "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz",
+      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
+    },
+    "asn1.js": {
+      "version": "4.10.1",
+      "resolved": "http://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz",
+      "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=",
+      "requires": {
+        "bn.js": "4.11.8",
+        "inherits": "2.0.3",
+        "minimalistic-assert": "1.0.1"
+      }
+    },
+    "assert": {
+      "version": "1.4.1",
+      "resolved": "http://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz",
+      "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+      "requires": {
+        "util": "0.10.3"
+      },
+      "dependencies": {
+        "inherits": {
+          "version": "2.0.1",
+          "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz",
+          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
+        },
+        "util": {
+          "version": "0.10.3",
+          "resolved": "http://registry.npm.taobao.org/util/download/util-0.10.3.tgz",
+          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+          "requires": {
+            "inherits": "2.0.1"
+          }
+        }
+      }
+    },
+    "assert-plus": {
+      "version": "0.2.0",
+      "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz",
+      "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ="
+    },
+    "assign-symbols": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz",
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+    },
+    "async-each": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz",
+      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
+    },
+    "async-foreach": {
+      "version": "0.1.3",
+      "resolved": "http://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz",
+      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI="
+    },
+    "async-limiter": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.0.tgz",
+      "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg="
+    },
+    "asynckit": {
+      "version": "0.4.0",
+      "resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+    },
+    "atob": {
+      "version": "2.1.1",
+      "resolved": "http://registry.npm.taobao.org/atob/download/atob-2.1.1.tgz",
+      "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio="
+    },
+    "autoprefixer": {
+      "version": "8.6.5",
+      "resolved": "http://registry.npm.taobao.org/autoprefixer/download/autoprefixer-8.6.5.tgz",
+      "integrity": "sha1-ND89GT7VaLMgjgARehuW62kdTuk=",
+      "dev": true,
+      "requires": {
+        "browserslist": "3.2.8",
+        "caniuse-lite": "1.0.30000865",
+        "normalize-range": "0.1.2",
+        "num2fraction": "1.2.2",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "aws-sign2": {
+      "version": "0.6.0",
+      "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz",
+      "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8="
+    },
+    "aws4": {
+      "version": "1.7.0",
+      "resolved": "http://registry.npm.taobao.org/aws4/download/aws4-1.7.0.tgz",
+      "integrity": "sha1-1NDpudv8p3vwjusKikcVUP454ok="
+    },
+    "axios": {
+      "version": "0.18.0",
+      "resolved": "http://registry.npm.taobao.org/axios/download/axios-0.18.0.tgz",
+      "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
+      "requires": {
+        "follow-redirects": "1.5.1",
+        "is-buffer": "1.1.6"
+      }
+    },
+    "babel-code-frame": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz",
+      "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+      "requires": {
+        "chalk": "1.1.3",
+        "esutils": "2.0.2",
+        "js-tokens": "3.0.2"
+      }
+    },
+    "babel-core": {
+      "version": "6.26.3",
+      "resolved": "http://registry.npm.taobao.org/babel-core/download/babel-core-6.26.3.tgz",
+      "integrity": "sha1-suLwnjQtDwyI4vAuBneUEl51wgc=",
+      "requires": {
+        "babel-code-frame": "6.26.0",
+        "babel-generator": "6.26.1",
+        "babel-helpers": "6.24.1",
+        "babel-messages": "6.23.0",
+        "babel-register": "6.26.0",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0",
+        "babylon": "6.18.0",
+        "convert-source-map": "1.5.1",
+        "debug": "2.6.9",
+        "json5": "0.5.1",
+        "lodash": "4.17.10",
+        "minimatch": "3.0.4",
+        "path-is-absolute": "1.0.1",
+        "private": "0.1.8",
+        "slash": "1.0.0",
+        "source-map": "0.5.7"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        }
+      }
+    },
+    "babel-generator": {
+      "version": "6.26.1",
+      "resolved": "http://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.1.tgz",
+      "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=",
+      "requires": {
+        "babel-messages": "6.23.0",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "detect-indent": "4.0.0",
+        "jsesc": "1.3.0",
+        "lodash": "4.17.10",
+        "source-map": "0.5.7",
+        "trim-right": "1.0.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        }
+      }
+    },
+    "babel-helper-builder-binary-assignment-operator-visitor": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+      "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
+      "requires": {
+        "babel-helper-explode-assignable-expression": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-builder-react-jsx": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-builder-react-jsx/download/babel-helper-builder-react-jsx-6.26.0.tgz",
+      "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "esutils": "2.0.2"
+      }
+    },
+    "babel-helper-call-delegate": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz",
+      "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+      "requires": {
+        "babel-helper-hoist-variables": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-define-map": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz",
+      "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+      "requires": {
+        "babel-helper-function-name": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "lodash": "4.17.10"
+      }
+    },
+    "babel-helper-explode-assignable-expression": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz",
+      "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-function-name": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz",
+      "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+      "requires": {
+        "babel-helper-get-function-arity": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-get-function-arity": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz",
+      "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-hoist-variables": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz",
+      "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-optimise-call-expression": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz",
+      "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-regex": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz",
+      "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "lodash": "4.17.10"
+      }
+    },
+    "babel-helper-remap-async-to-generator": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz",
+      "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
+      "requires": {
+        "babel-helper-function-name": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-replace-supers": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz",
+      "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+      "requires": {
+        "babel-helper-optimise-call-expression": "6.24.1",
+        "babel-messages": "6.23.0",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helpers": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
+      "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-messages": {
+      "version": "6.23.0",
+      "resolved": "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz",
+      "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-check-es2015-constants": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz",
+      "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-syntax-async-functions": {
+      "version": "6.13.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz",
+      "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU="
+    },
+    "babel-plugin-syntax-exponentiation-operator": {
+      "version": "6.13.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+      "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4="
+    },
+    "babel-plugin-syntax-jsx": {
+      "version": "6.18.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-jsx/download/babel-plugin-syntax-jsx-6.18.0.tgz",
+      "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
+    },
+    "babel-plugin-syntax-trailing-function-commas": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+      "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM="
+    },
+    "babel-plugin-transform-async-to-generator": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+      "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
+      "requires": {
+        "babel-helper-remap-async-to-generator": "6.24.1",
+        "babel-plugin-syntax-async-functions": "6.13.0",
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-arrow-functions": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+      "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-block-scoped-functions": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+      "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-block-scoping": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+      "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0",
+        "lodash": "4.17.10"
+      }
+    },
+    "babel-plugin-transform-es2015-classes": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+      "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+      "requires": {
+        "babel-helper-define-map": "6.26.0",
+        "babel-helper-function-name": "6.24.1",
+        "babel-helper-optimise-call-expression": "6.24.1",
+        "babel-helper-replace-supers": "6.24.1",
+        "babel-messages": "6.23.0",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-computed-properties": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+      "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-destructuring": {
+      "version": "6.23.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+      "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-duplicate-keys": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+      "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-for-of": {
+      "version": "6.23.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+      "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-function-name": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+      "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+      "requires": {
+        "babel-helper-function-name": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-literals": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+      "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-amd": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+      "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
+      "requires": {
+        "babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-commonjs": {
+      "version": "6.26.2",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
+      "integrity": "sha1-WKeThjqefKhwvcWogRF/+sJ9tvM=",
+      "requires": {
+        "babel-plugin-transform-strict-mode": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-systemjs": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+      "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
+      "requires": {
+        "babel-helper-hoist-variables": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-umd": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+      "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
+      "requires": {
+        "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-object-super": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+      "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+      "requires": {
+        "babel-helper-replace-supers": "6.24.1",
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-parameters": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+      "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+      "requires": {
+        "babel-helper-call-delegate": "6.24.1",
+        "babel-helper-get-function-arity": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-shorthand-properties": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+      "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-spread": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+      "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-sticky-regex": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+      "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+      "requires": {
+        "babel-helper-regex": "6.26.0",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-template-literals": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+      "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-typeof-symbol": {
+      "version": "6.23.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+      "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-unicode-regex": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+      "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+      "requires": {
+        "babel-helper-regex": "6.26.0",
+        "babel-runtime": "6.26.0",
+        "regexpu-core": "2.0.0"
+      }
+    },
+    "babel-plugin-transform-exponentiation-operator": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+      "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
+      "requires": {
+        "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1",
+        "babel-plugin-syntax-exponentiation-operator": "6.13.0",
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-react-jsx": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-react-jsx/download/babel-plugin-transform-react-jsx-6.24.1.tgz",
+      "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
+      "requires": {
+        "babel-helper-builder-react-jsx": "6.26.0",
+        "babel-plugin-syntax-jsx": "6.18.0",
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-regenerator": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz",
+      "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
+      "requires": {
+        "regenerator-transform": "0.10.1"
+      }
+    },
+    "babel-plugin-transform-strict-mode": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz",
+      "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-polyfill": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-polyfill/download/babel-polyfill-6.26.0.tgz",
+      "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "core-js": "2.5.7",
+        "regenerator-runtime": "0.10.5"
+      },
+      "dependencies": {
+        "regenerator-runtime": {
+          "version": "0.10.5",
+          "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz",
+          "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
+          "dev": true
+        }
+      }
+    },
+    "babel-preset-env": {
+      "version": "1.7.0",
+      "resolved": "http://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.7.0.tgz",
+      "integrity": "sha1-3qefpOvriDzTXasH4mDBycBN93o=",
+      "requires": {
+        "babel-plugin-check-es2015-constants": "6.22.0",
+        "babel-plugin-syntax-trailing-function-commas": "6.22.0",
+        "babel-plugin-transform-async-to-generator": "6.24.1",
+        "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
+        "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
+        "babel-plugin-transform-es2015-block-scoping": "6.26.0",
+        "babel-plugin-transform-es2015-classes": "6.24.1",
+        "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+        "babel-plugin-transform-es2015-destructuring": "6.23.0",
+        "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
+        "babel-plugin-transform-es2015-for-of": "6.23.0",
+        "babel-plugin-transform-es2015-function-name": "6.24.1",
+        "babel-plugin-transform-es2015-literals": "6.22.0",
+        "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+        "babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
+        "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
+        "babel-plugin-transform-es2015-modules-umd": "6.24.1",
+        "babel-plugin-transform-es2015-object-super": "6.24.1",
+        "babel-plugin-transform-es2015-parameters": "6.24.1",
+        "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+        "babel-plugin-transform-es2015-spread": "6.22.0",
+        "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
+        "babel-plugin-transform-es2015-template-literals": "6.22.0",
+        "babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
+        "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
+        "babel-plugin-transform-exponentiation-operator": "6.24.1",
+        "babel-plugin-transform-regenerator": "6.26.0",
+        "browserslist": "3.2.8",
+        "invariant": "2.2.4",
+        "semver": "5.5.0"
+      }
+    },
+    "babel-register": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz",
+      "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+      "requires": {
+        "babel-core": "6.26.3",
+        "babel-runtime": "6.26.0",
+        "core-js": "2.5.7",
+        "home-or-tmp": "2.0.0",
+        "lodash": "4.17.10",
+        "mkdirp": "0.5.1",
+        "source-map-support": "0.4.18"
+      }
+    },
+    "babel-runtime": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
+      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+      "requires": {
+        "core-js": "2.5.7",
+        "regenerator-runtime": "0.11.1"
+      }
+    },
+    "babel-template": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz",
+      "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0",
+        "babylon": "6.18.0",
+        "lodash": "4.17.10"
+      }
+    },
+    "babel-traverse": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz",
+      "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+      "requires": {
+        "babel-code-frame": "6.26.0",
+        "babel-messages": "6.23.0",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "babylon": "6.18.0",
+        "debug": "2.6.9",
+        "globals": "9.18.0",
+        "invariant": "2.2.4",
+        "lodash": "4.17.10"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        }
+      }
+    },
+    "babel-types": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz",
+      "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "esutils": "2.0.2",
+        "lodash": "4.17.10",
+        "to-fast-properties": "1.0.3"
+      }
+    },
+    "babylon": {
+      "version": "6.18.0",
+      "resolved": "http://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz",
+      "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM="
+    },
+    "babylon-walk": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/babylon-walk/download/babylon-walk-1.0.2.tgz",
+      "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "lodash.clone": "4.5.0"
+      }
+    },
+    "balanced-match": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
+      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+    },
+    "base": {
+      "version": "0.11.2",
+      "resolved": "http://registry.npm.taobao.org/base/download/base-0.11.2.tgz",
+      "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
+      "requires": {
+        "cache-base": "1.0.1",
+        "class-utils": "0.3.6",
+        "component-emitter": "1.2.1",
+        "define-property": "1.0.0",
+        "isobject": "3.0.1",
+        "mixin-deep": "1.3.1",
+        "pascalcase": "0.1.1"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
+          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "requires": {
+            "is-descriptor": "1.0.2"
+          }
+        },
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+          "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+          "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.2"
+          }
+        }
+      }
+    },
+    "base64-js": {
+      "version": "1.3.0",
+      "resolved": "http://registry.npm.taobao.org/base64-js/download/base64-js-1.3.0.tgz",
+      "integrity": "sha1-yrHmEY8FEJXli1KBrqjBzSK/wOM="
+    },
+    "bcrypt-pbkdf": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
+      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+      "optional": true,
+      "requires": {
+        "tweetnacl": "0.14.5"
+      }
+    },
+    "big.js": {
+      "version": "3.2.0",
+      "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz",
+      "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=",
+      "dev": true
+    },
+    "binary-extensions": {
+      "version": "1.11.0",
+      "resolved": "http://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.11.0.tgz",
+      "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU="
+    },
+    "bindings": {
+      "version": "1.2.1",
+      "resolved": "http://registry.npm.taobao.org/bindings/download/bindings-1.2.1.tgz",
+      "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE="
+    },
+    "block-stream": {
+      "version": "0.0.9",
+      "resolved": "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz",
+      "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+      "requires": {
+        "inherits": "2.0.3"
+      }
+    },
+    "bluebird": {
+      "version": "3.5.1",
+      "resolved": "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz",
+      "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk="
+    },
+    "bn.js": {
+      "version": "4.11.8",
+      "resolved": "http://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz",
+      "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8="
+    },
+    "boolbase": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz",
+      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
+    },
+    "boom": {
+      "version": "2.10.1",
+      "resolved": "http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz",
+      "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+      "requires": {
+        "hoek": "2.16.3"
+      }
+    },
+    "brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
+      "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
+      "requires": {
+        "balanced-match": "1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "braces": {
+      "version": "2.3.2",
+      "resolved": "http://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
+      "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
+      "requires": {
+        "arr-flatten": "1.1.0",
+        "array-unique": "0.3.2",
+        "extend-shallow": "2.0.1",
+        "fill-range": "4.0.0",
+        "isobject": "3.0.1",
+        "repeat-element": "1.1.2",
+        "snapdragon": "0.8.2",
+        "snapdragon-node": "2.1.1",
+        "split-string": "3.1.0",
+        "to-regex": "3.0.2"
+      },
+      "dependencies": {
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "brfs": {
+      "version": "1.6.1",
+      "resolved": "http://registry.npm.taobao.org/brfs/download/brfs-1.6.1.tgz",
+      "integrity": "sha1-t4ziM22BjiXuoEoJR8um1PuIScM=",
+      "requires": {
+        "quote-stream": "1.0.2",
+        "resolve": "1.8.1",
+        "static-module": "2.2.5",
+        "through2": "2.0.3"
+      }
+    },
+    "brorand": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz",
+      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
+    },
+    "browserify-aes": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz",
+      "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=",
+      "requires": {
+        "buffer-xor": "1.0.3",
+        "cipher-base": "1.0.4",
+        "create-hash": "1.2.0",
+        "evp_bytestokey": "1.0.3",
+        "inherits": "2.0.3",
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "browserify-cipher": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz",
+      "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=",
+      "requires": {
+        "browserify-aes": "1.2.0",
+        "browserify-des": "1.0.2",
+        "evp_bytestokey": "1.0.3"
+      }
+    },
+    "browserify-des": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz",
+      "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=",
+      "requires": {
+        "cipher-base": "1.0.4",
+        "des.js": "1.0.0",
+        "inherits": "2.0.3",
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "browserify-rsa": {
+      "version": "4.0.1",
+      "resolved": "http://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz",
+      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+      "requires": {
+        "bn.js": "4.11.8",
+        "randombytes": "2.0.6"
+      }
+    },
+    "browserify-sign": {
+      "version": "4.0.4",
+      "resolved": "http://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz",
+      "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+      "requires": {
+        "bn.js": "4.11.8",
+        "browserify-rsa": "4.0.1",
+        "create-hash": "1.2.0",
+        "create-hmac": "1.1.7",
+        "elliptic": "6.4.0",
+        "inherits": "2.0.3",
+        "parse-asn1": "5.1.1"
+      }
+    },
+    "browserify-zlib": {
+      "version": "0.2.0",
+      "resolved": "http://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz",
+      "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
+      "requires": {
+        "pako": "1.0.6"
+      },
+      "dependencies": {
+        "pako": {
+          "version": "1.0.6",
+          "resolved": "http://registry.npm.taobao.org/pako/download/pako-1.0.6.tgz",
+          "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg="
+        }
+      }
+    },
+    "browserslist": {
+      "version": "3.2.8",
+      "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-3.2.8.tgz",
+      "integrity": "sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y=",
+      "requires": {
+        "caniuse-lite": "1.0.30000865",
+        "electron-to-chromium": "1.3.52"
+      }
+    },
+    "buffer": {
+      "version": "4.9.1",
+      "resolved": "http://registry.npm.taobao.org/buffer/download/buffer-4.9.1.tgz",
+      "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+      "requires": {
+        "base64-js": "1.3.0",
+        "ieee754": "1.1.12",
+        "isarray": "1.0.0"
+      }
+    },
+    "buffer-equal": {
+      "version": "0.0.1",
+      "resolved": "http://registry.npm.taobao.org/buffer-equal/download/buffer-equal-0.0.1.tgz",
+      "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs="
+    },
+    "buffer-from": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz",
+      "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8="
+    },
+    "buffer-xor": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz",
+      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
+    },
+    "builtin-modules": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz",
+      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
+    },
+    "builtin-status-codes": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz",
+      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
+    },
+    "cache-base": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz",
+      "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
+      "requires": {
+        "collection-visit": "1.0.0",
+        "component-emitter": "1.2.1",
+        "get-value": "2.0.6",
+        "has-value": "1.0.0",
+        "isobject": "3.0.1",
+        "set-value": "2.0.0",
+        "to-object-path": "0.3.0",
+        "union-value": "1.0.0",
+        "unset-value": "1.0.0"
+      }
+    },
+    "call-me-maybe": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz",
+      "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
+    },
+    "camelcase": {
+      "version": "2.1.1",
+      "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz",
+      "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
+    },
+    "camelcase-keys": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz",
+      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+      "requires": {
+        "camelcase": "2.1.1",
+        "map-obj": "1.0.1"
+      }
+    },
+    "caniuse-api": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz",
+      "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=",
+      "requires": {
+        "browserslist": "4.0.1",
+        "caniuse-lite": "1.0.30000865",
+        "lodash.memoize": "4.1.2",
+        "lodash.uniq": "4.5.0"
+      },
+      "dependencies": {
+        "browserslist": {
+          "version": "4.0.1",
+          "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-4.0.1.tgz",
+          "integrity": "sha1-YcBc4qWEPH2WFmQIvCPVi1QW6Bg=",
+          "requires": {
+            "caniuse-lite": "1.0.30000865",
+            "electron-to-chromium": "1.3.52",
+            "node-releases": "1.0.0-alpha.10"
+          }
+        }
+      }
+    },
+    "caniuse-db": {
+      "version": "1.0.30000875",
+      "resolved": "http://registry.npm.taobao.org/caniuse-db/download/caniuse-db-1.0.30000875.tgz",
+      "integrity": "sha1-b5BPyJEg3kApqcoPIdesPbiaDc4="
+    },
+    "caniuse-lite": {
+      "version": "1.0.30000865",
+      "resolved": "http://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30000865.tgz",
+      "integrity": "sha1-cAJmFuiv5uFEL4u04Qkph9gaLyU="
+    },
+    "caseless": {
+      "version": "0.12.0",
+      "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+    },
+    "chalk": {
+      "version": "1.1.3",
+      "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+      "requires": {
+        "ansi-styles": "2.2.1",
+        "escape-string-regexp": "1.0.5",
+        "has-ansi": "2.0.0",
+        "strip-ansi": "3.0.1",
+        "supports-color": "2.0.0"
+      }
+    },
+    "chokidar": {
+      "version": "2.0.4",
+      "resolved": "http://registry.npm.taobao.org/chokidar/download/chokidar-2.0.4.tgz",
+      "integrity": "sha1-NW/04rDo5D4yLRijckYLvPOszSY=",
+      "requires": {
+        "anymatch": "2.0.0",
+        "async-each": "1.0.1",
+        "braces": "2.3.2",
+        "fsevents": "1.2.4",
+        "glob-parent": "3.1.0",
+        "inherits": "2.0.3",
+        "is-binary-path": "1.0.1",
+        "is-glob": "4.0.0",
+        "lodash.debounce": "4.0.8",
+        "normalize-path": "2.1.1",
+        "path-is-absolute": "1.0.1",
+        "readdirp": "2.1.0",
+        "upath": "1.1.0"
+      },
+      "dependencies": {
+        "normalize-path": {
+          "version": "2.1.1",
+          "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
+          "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+          "requires": {
+            "remove-trailing-separator": "1.1.0"
+          }
+        }
+      }
+    },
+    "ci-info": {
+      "version": "1.1.3",
+      "resolved": "http://registry.npm.taobao.org/ci-info/download/ci-info-1.1.3.tgz",
+      "integrity": "sha1-cQGTJkuwXHe4yQ0C9aryIhamZ7I=",
+      "dev": true
+    },
+    "cipher-base": {
+      "version": "1.0.4",
+      "resolved": "http://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz",
+      "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
+      "requires": {
+        "inherits": "2.0.3",
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "clap": {
+      "version": "1.2.3",
+      "resolved": "http://registry.npm.taobao.org/clap/download/clap-1.2.3.tgz",
+      "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=",
+      "requires": {
+        "chalk": "1.1.3"
+      }
+    },
+    "class-utils": {
+      "version": "0.3.6",
+      "resolved": "http://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz",
+      "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
+      "requires": {
+        "arr-union": "3.1.0",
+        "define-property": "0.2.5",
+        "isobject": "3.0.1",
+        "static-extend": "0.1.2"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        }
+      }
+    },
+    "cli-cursor": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz",
+      "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+      "dev": true,
+      "requires": {
+        "restore-cursor": "1.0.1"
+      }
+    },
+    "cli-spinners": {
+      "version": "0.1.2",
+      "resolved": "http://registry.npm.taobao.org/cli-spinners/download/cli-spinners-0.1.2.tgz",
+      "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=",
+      "dev": true
+    },
+    "cli-truncate": {
+      "version": "0.2.1",
+      "resolved": "http://registry.npm.taobao.org/cli-truncate/download/cli-truncate-0.2.1.tgz",
+      "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=",
+      "dev": true,
+      "requires": {
+        "slice-ansi": "0.0.4",
+        "string-width": "1.0.2"
+      }
+    },
+    "cliui": {
+      "version": "3.2.0",
+      "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz",
+      "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+      "requires": {
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1",
+        "wrap-ansi": "2.1.0"
+      }
+    },
+    "clone": {
+      "version": "2.1.2",
+      "resolved": "http://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz",
+      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
+    },
+    "clones": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/clones/download/clones-1.1.0.tgz",
+      "integrity": "sha1-h+kEEy1hQMXAtyAGwIwNBb17Y7M="
+    },
+    "co": {
+      "version": "4.6.0",
+      "resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
+      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+    },
+    "coa": {
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/coa/download/coa-2.0.1.tgz",
+      "integrity": "sha1-8/iwsVBz411wJj+xBCyywCPbOK8=",
+      "requires": {
+        "q": "1.5.1"
+      }
+    },
+    "code-point-at": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
+      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+    },
+    "collection-visit": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz",
+      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+      "requires": {
+        "map-visit": "1.0.0",
+        "object-visit": "1.0.1"
+      }
+    },
+    "color": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/color/download/color-3.0.0.tgz",
+      "integrity": "sha1-2SC0Mo1TSjrIKV1o971LpsQnvpo=",
+      "requires": {
+        "color-convert": "1.9.2",
+        "color-string": "1.5.3"
+      }
+    },
+    "color-convert": {
+      "version": "1.9.2",
+      "resolved": "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.2.tgz",
+      "integrity": "sha1-SYgbj7pn3xKpa98/VsCqueeRMUc=",
+      "requires": {
+        "color-name": "1.1.1"
+      }
+    },
+    "color-name": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.1.tgz",
+      "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok="
+    },
+    "color-string": {
+      "version": "1.5.3",
+      "resolved": "http://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz",
+      "integrity": "sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=",
+      "requires": {
+        "color-name": "1.1.1",
+        "simple-swizzle": "0.2.2"
+      }
+    },
+    "colormin": {
+      "version": "1.1.2",
+      "resolved": "http://registry.npm.taobao.org/colormin/download/colormin-1.1.2.tgz",
+      "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+      "requires": {
+        "color": "0.11.4",
+        "css-color-names": "0.0.4",
+        "has": "1.0.3"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "1.0.4",
+          "resolved": "http://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz",
+          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
+        },
+        "color": {
+          "version": "0.11.4",
+          "resolved": "http://registry.npm.taobao.org/color/download/color-0.11.4.tgz",
+          "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+          "requires": {
+            "clone": "1.0.4",
+            "color-convert": "1.9.2",
+            "color-string": "0.3.0"
+          }
+        },
+        "color-string": {
+          "version": "0.3.0",
+          "resolved": "http://registry.npm.taobao.org/color-string/download/color-string-0.3.0.tgz",
+          "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
+          "requires": {
+            "color-name": "1.1.1"
+          }
+        }
+      }
+    },
+    "colors": {
+      "version": "1.1.2",
+      "resolved": "http://registry.npm.taobao.org/colors/download/colors-1.1.2.tgz",
+      "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
+    },
+    "combined-stream": {
+      "version": "1.0.6",
+      "resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.6.tgz",
+      "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+      "requires": {
+        "delayed-stream": "1.0.0"
+      }
+    },
+    "command-exists": {
+      "version": "1.2.7",
+      "resolved": "http://registry.npm.taobao.org/command-exists/download/command-exists-1.2.7.tgz",
+      "integrity": "sha1-FoKPDD/ysMWIBYYe8hG2T8FWkqg="
+    },
+    "commander": {
+      "version": "2.16.0",
+      "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.16.0.tgz",
+      "integrity": "sha1-8WOQWTmWzrTz7rAgsx14Uo9/ilA="
+    },
+    "component-emitter": {
+      "version": "1.2.1",
+      "resolved": "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.2.1.tgz",
+      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+    },
+    "concat-stream": {
+      "version": "1.6.2",
+      "resolved": "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz",
+      "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=",
+      "requires": {
+        "buffer-from": "1.1.1",
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.6",
+        "typedarray": "0.0.6"
+      }
+    },
+    "config-chain": {
+      "version": "1.1.11",
+      "resolved": "http://registry.npm.taobao.org/config-chain/download/config-chain-1.1.11.tgz",
+      "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=",
+      "requires": {
+        "ini": "1.3.5",
+        "proto-list": "1.2.4"
+      }
+    },
+    "console-browserify": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/console-browserify/download/console-browserify-1.1.0.tgz",
+      "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+      "requires": {
+        "date-now": "0.1.4"
+      }
+    },
+    "console-control-strings": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz",
+      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+    },
+    "constants-browserify": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz",
+      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
+    },
+    "convert-source-map": {
+      "version": "1.5.1",
+      "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.1.tgz",
+      "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU="
+    },
+    "copy-descriptor": {
+      "version": "0.1.1",
+      "resolved": "http://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz",
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+    },
+    "core-js": {
+      "version": "2.5.7",
+      "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.7.tgz",
+      "integrity": "sha1-+XJgj/DOrWi4QaFqky0LGDeRgU4="
+    },
+    "core-util-is": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+    },
+    "cosmiconfig": {
+      "version": "5.0.5",
+      "resolved": "http://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.0.5.tgz",
+      "integrity": "sha1-qAnjwjBokc4Xq3A1nci99mH+LNA=",
+      "requires": {
+        "is-directory": "0.3.1",
+        "js-yaml": "3.12.0",
+        "parse-json": "4.0.0"
+      },
+      "dependencies": {
+        "parse-json": {
+          "version": "4.0.0",
+          "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz",
+          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+          "requires": {
+            "error-ex": "1.3.2",
+            "json-parse-better-errors": "1.0.2"
+          }
+        }
+      }
+    },
+    "create-ecdh": {
+      "version": "4.0.3",
+      "resolved": "http://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz",
+      "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=",
+      "requires": {
+        "bn.js": "4.11.8",
+        "elliptic": "6.4.0"
+      }
+    },
+    "create-hash": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz",
+      "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=",
+      "requires": {
+        "cipher-base": "1.0.4",
+        "inherits": "2.0.3",
+        "md5.js": "1.3.4",
+        "ripemd160": "2.0.2",
+        "sha.js": "2.4.11"
+      }
+    },
+    "create-hmac": {
+      "version": "1.1.7",
+      "resolved": "http://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz",
+      "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=",
+      "requires": {
+        "cipher-base": "1.0.4",
+        "create-hash": "1.2.0",
+        "inherits": "2.0.3",
+        "ripemd160": "2.0.2",
+        "safe-buffer": "5.1.2",
+        "sha.js": "2.4.11"
+      }
+    },
+    "cross-spawn": {
+      "version": "3.0.1",
+      "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz",
+      "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+      "requires": {
+        "lru-cache": "4.1.3",
+        "which": "1.3.1"
+      }
+    },
+    "cryptiles": {
+      "version": "2.0.5",
+      "resolved": "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz",
+      "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+      "requires": {
+        "boom": "2.10.1"
+      }
+    },
+    "crypto-browserify": {
+      "version": "3.12.0",
+      "resolved": "http://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz",
+      "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
+      "requires": {
+        "browserify-cipher": "1.0.1",
+        "browserify-sign": "4.0.4",
+        "create-ecdh": "4.0.3",
+        "create-hash": "1.2.0",
+        "create-hmac": "1.1.7",
+        "diffie-hellman": "5.0.3",
+        "inherits": "2.0.3",
+        "pbkdf2": "3.0.16",
+        "public-encrypt": "4.0.2",
+        "randombytes": "2.0.6",
+        "randomfill": "1.0.4"
+      }
+    },
+    "css-color-names": {
+      "version": "0.0.4",
+      "resolved": "http://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz",
+      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA="
+    },
+    "css-declaration-sorter": {
+      "version": "3.0.1",
+      "resolved": "http://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-3.0.1.tgz",
+      "integrity": "sha1-0OMFaw/YjcHqnc7/Q1rb6ccCp/g=",
+      "requires": {
+        "postcss": "6.0.23",
+        "timsort": "0.3.0"
+      }
+    },
+    "css-modules-loader-core": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/css-modules-loader-core/download/css-modules-loader-core-1.1.0.tgz",
+      "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=",
+      "dev": true,
+      "requires": {
+        "icss-replace-symbols": "1.1.0",
+        "postcss": "6.0.1",
+        "postcss-modules-extract-imports": "1.1.0",
+        "postcss-modules-local-by-default": "1.2.0",
+        "postcss-modules-scope": "1.1.0",
+        "postcss-modules-values": "1.3.0"
+      },
+      "dependencies": {
+        "has-flag": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+          "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+          "dev": true
+        },
+        "postcss": {
+          "version": "6.0.1",
+          "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.1.tgz",
+          "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=",
+          "dev": true,
+          "requires": {
+            "chalk": "1.1.3",
+            "source-map": "0.5.7",
+            "supports-color": "3.2.3"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "3.2.3",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz",
+          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+          "dev": true,
+          "requires": {
+            "has-flag": "1.0.0"
+          }
+        }
+      }
+    },
+    "css-select": {
+      "version": "1.3.0-rc0",
+      "resolved": "http://registry.npm.taobao.org/css-select/download/css-select-1.3.0-rc0.tgz",
+      "integrity": "sha1-b5MZaqrnN2ZuoQNqjLFKj8t6kjE=",
+      "requires": {
+        "boolbase": "1.0.0",
+        "css-what": "2.1.0",
+        "domutils": "1.5.1",
+        "nth-check": "1.0.1"
+      }
+    },
+    "css-select-base-adapter": {
+      "version": "0.1.0",
+      "resolved": "http://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.0.tgz",
+      "integrity": "sha1-AQKz0UYw34bD65+p9UVicBBs+ZA="
+    },
+    "css-selector-tokenizer": {
+      "version": "0.7.0",
+      "resolved": "http://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.0.tgz",
+      "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=",
+      "dev": true,
+      "requires": {
+        "cssesc": "0.1.0",
+        "fastparse": "1.1.1",
+        "regexpu-core": "1.0.0"
+      },
+      "dependencies": {
+        "regexpu-core": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-1.0.0.tgz",
+          "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+          "dev": true,
+          "requires": {
+            "regenerate": "1.4.0",
+            "regjsgen": "0.2.0",
+            "regjsparser": "0.1.5"
+          }
+        }
+      }
+    },
+    "css-tree": {
+      "version": "1.0.0-alpha25",
+      "resolved": "http://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha25.tgz",
+      "integrity": "sha1-G7+r+/bu708B2RCP8u3Qvi/jVZc=",
+      "requires": {
+        "mdn-data": "1.1.4",
+        "source-map": "0.5.7"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        }
+      }
+    },
+    "css-unit-converter": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/css-unit-converter/download/css-unit-converter-1.1.1.tgz",
+      "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY="
+    },
+    "css-url-regex": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/css-url-regex/download/css-url-regex-1.1.0.tgz",
+      "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w="
+    },
+    "css-what": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/css-what/download/css-what-2.1.0.tgz",
+      "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0="
+    },
+    "cssesc": {
+      "version": "0.1.0",
+      "resolved": "http://registry.npm.taobao.org/cssesc/download/cssesc-0.1.0.tgz",
+      "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+      "dev": true
+    },
+    "cssnano": {
+      "version": "4.0.5",
+      "resolved": "http://registry.npm.taobao.org/cssnano/download/cssnano-4.0.5.tgz",
+      "integrity": "sha1-h4m1/b574F2KD35FxMeJ6+cS9ao=",
+      "requires": {
+        "cosmiconfig": "5.0.5",
+        "cssnano-preset-default": "4.0.0",
+        "is-resolvable": "1.1.0",
+        "postcss": "6.0.23"
+      }
+    },
+    "cssnano-preset-default": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.0.tgz",
+      "integrity": "sha1-wzQoe099SfstFwqS+SFGVXiOO2s=",
+      "requires": {
+        "css-declaration-sorter": "3.0.1",
+        "cssnano-util-raw-cache": "4.0.0",
+        "postcss": "6.0.23",
+        "postcss-calc": "6.0.1",
+        "postcss-colormin": "4.0.1",
+        "postcss-convert-values": "4.0.0",
+        "postcss-discard-comments": "4.0.0",
+        "postcss-discard-duplicates": "4.0.0",
+        "postcss-discard-empty": "4.0.0",
+        "postcss-discard-overridden": "4.0.0",
+        "postcss-merge-longhand": "4.0.4",
+        "postcss-merge-rules": "4.0.1",
+        "postcss-minify-font-values": "4.0.0",
+        "postcss-minify-gradients": "4.0.0",
+        "postcss-minify-params": "4.0.0",
+        "postcss-minify-selectors": "4.0.0",
+        "postcss-normalize-charset": "4.0.0",
+        "postcss-normalize-display-values": "4.0.0",
+        "postcss-normalize-positions": "4.0.0",
+        "postcss-normalize-repeat-style": "4.0.0",
+        "postcss-normalize-string": "4.0.0",
+        "postcss-normalize-timing-functions": "4.0.0",
+        "postcss-normalize-unicode": "4.0.0",
+        "postcss-normalize-url": "4.0.0",
+        "postcss-normalize-whitespace": "4.0.0",
+        "postcss-ordered-values": "4.0.0",
+        "postcss-reduce-initial": "4.0.1",
+        "postcss-reduce-transforms": "4.0.0",
+        "postcss-svgo": "4.0.0",
+        "postcss-unique-selectors": "4.0.0"
+      }
+    },
+    "cssnano-util-get-arguments": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz",
+      "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8="
+    },
+    "cssnano-util-get-match": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz",
+      "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0="
+    },
+    "cssnano-util-raw-cache": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.0.tgz",
+      "integrity": "sha1-vgooVuJfGF9feivMBiTii38Xmp8=",
+      "requires": {
+        "postcss": "6.0.23"
+      }
+    },
+    "cssnano-util-same-parent": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.0.tgz",
+      "integrity": "sha1-0qPeEDmqmLxOwlAB+gUDMMKhbaw="
+    },
+    "csso": {
+      "version": "3.5.1",
+      "resolved": "http://registry.npm.taobao.org/csso/download/csso-3.5.1.tgz",
+      "integrity": "sha1-e564vmFiiXPBsmHhadLwJACOdYs=",
+      "requires": {
+        "css-tree": "1.0.0-alpha.29"
+      },
+      "dependencies": {
+        "css-tree": {
+          "version": "1.0.0-alpha.29",
+          "resolved": "http://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.29.tgz",
+          "integrity": "sha1-P6nU7zFCy9HDAedmTB81K9gvWjk=",
+          "requires": {
+            "mdn-data": "1.1.4",
+            "source-map": "0.5.7"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        }
+      }
+    },
+    "currently-unhandled": {
+      "version": "0.4.1",
+      "resolved": "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz",
+      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+      "requires": {
+        "array-find-index": "1.0.2"
+      }
+    },
+    "dashdash": {
+      "version": "1.14.1",
+      "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz",
+      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "requires": {
+        "assert-plus": "1.0.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        }
+      }
+    },
+    "date-fns": {
+      "version": "1.29.0",
+      "resolved": "http://registry.npm.taobao.org/date-fns/download/date-fns-1.29.0.tgz",
+      "integrity": "sha1-EuYJzcuTUScxHQTTMzTilgoqVOY=",
+      "dev": true
+    },
+    "date-now": {
+      "version": "0.1.4",
+      "resolved": "http://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz",
+      "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
+    },
+    "deasync": {
+      "version": "0.1.13",
+      "resolved": "http://registry.npm.taobao.org/deasync/download/deasync-0.1.13.tgz",
+      "integrity": "sha1-gVwrabvREXyuVwFSzYlWYcCfIOo=",
+      "requires": {
+        "bindings": "1.2.1",
+        "nan": "2.10.0"
+      }
+    },
+    "debug": {
+      "version": "3.1.0",
+      "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz",
+      "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+      "requires": {
+        "ms": "2.0.0"
+      }
+    },
+    "decamelize": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+    },
+    "decode-uri-component": {
+      "version": "0.2.0",
+      "resolved": "http://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz",
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+    },
+    "dedent": {
+      "version": "0.7.0",
+      "resolved": "http://registry.npm.taobao.org/dedent/download/dedent-0.7.0.tgz",
+      "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
+      "dev": true
+    },
+    "deep-is": {
+      "version": "0.1.3",
+      "resolved": "http://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz",
+      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+    },
+    "defaults": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz",
+      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+      "requires": {
+        "clone": "1.0.4"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "1.0.4",
+          "resolved": "http://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz",
+          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
+        }
+      }
+    },
+    "define-properties": {
+      "version": "1.1.2",
+      "resolved": "http://registry.npm.taobao.org/define-properties/download/define-properties-1.1.2.tgz",
+      "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
+      "requires": {
+        "foreach": "2.0.5",
+        "object-keys": "1.0.12"
+      }
+    },
+    "define-property": {
+      "version": "2.0.2",
+      "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz",
+      "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=",
+      "requires": {
+        "is-descriptor": "1.0.2",
+        "isobject": "3.0.1"
+      },
+      "dependencies": {
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+          "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+          "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.2"
+          }
+        }
+      }
+    },
+    "defined": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz",
+      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
+    },
+    "delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+    },
+    "delegates": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz",
+      "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+    },
+    "depd": {
+      "version": "1.1.2",
+      "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
+      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+    },
+    "des.js": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz",
+      "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+      "requires": {
+        "inherits": "2.0.3",
+        "minimalistic-assert": "1.0.1"
+      }
+    },
+    "destroy": {
+      "version": "1.0.4",
+      "resolved": "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
+      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+    },
+    "detect-indent": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz",
+      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+      "requires": {
+        "repeating": "2.0.1"
+      }
+    },
+    "diffie-hellman": {
+      "version": "5.0.3",
+      "resolved": "http://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz",
+      "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=",
+      "requires": {
+        "bn.js": "4.11.8",
+        "miller-rabin": "4.0.1",
+        "randombytes": "2.0.6"
+      }
+    },
+    "dom-serializer": {
+      "version": "0.1.0",
+      "resolved": "http://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.1.0.tgz",
+      "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
+      "requires": {
+        "domelementtype": "1.1.3",
+        "entities": "1.1.1"
+      },
+      "dependencies": {
+        "domelementtype": {
+          "version": "1.1.3",
+          "resolved": "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.1.3.tgz",
+          "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
+        }
+      }
+    },
+    "domain-browser": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz",
+      "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto="
+    },
+    "domelementtype": {
+      "version": "1.3.0",
+      "resolved": "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.0.tgz",
+      "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI="
+    },
+    "domhandler": {
+      "version": "2.4.2",
+      "resolved": "http://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz",
+      "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=",
+      "requires": {
+        "domelementtype": "1.3.0"
+      }
+    },
+    "domutils": {
+      "version": "1.5.1",
+      "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz",
+      "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+      "requires": {
+        "dom-serializer": "0.1.0",
+        "domelementtype": "1.3.0"
+      }
+    },
+    "dot-prop": {
+      "version": "4.2.0",
+      "resolved": "http://registry.npm.taobao.org/dot-prop/download/dot-prop-4.2.0.tgz",
+      "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
+      "requires": {
+        "is-obj": "1.0.1"
+      }
+    },
+    "dotenv": {
+      "version": "5.0.1",
+      "resolved": "http://registry.npm.taobao.org/dotenv/download/dotenv-5.0.1.tgz",
+      "integrity": "sha1-pTF0Wb09eauIz/bkQFemo/ux/O8="
+    },
+    "duplexer2": {
+      "version": "0.1.4",
+      "resolved": "http://registry.npm.taobao.org/duplexer2/download/duplexer2-0.1.4.tgz",
+      "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+      "requires": {
+        "readable-stream": "2.3.6"
+      }
+    },
+    "ecc-jsbn": {
+      "version": "0.1.1",
+      "resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz",
+      "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+      "optional": true,
+      "requires": {
+        "jsbn": "0.1.1"
+      }
+    },
+    "editorconfig": {
+      "version": "0.13.3",
+      "resolved": "http://registry.npm.taobao.org/editorconfig/download/editorconfig-0.13.3.tgz",
+      "integrity": "sha1-5SGeWHlR1glY/ZTqmpoAjN7/GzQ=",
+      "requires": {
+        "bluebird": "3.5.1",
+        "commander": "2.16.0",
+        "lru-cache": "3.2.0",
+        "semver": "5.5.0",
+        "sigmund": "1.0.1"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "3.2.0",
+          "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-3.2.0.tgz",
+          "integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=",
+          "requires": {
+            "pseudomap": "1.0.2"
+          }
+        }
+      }
+    },
+    "ee-first": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+    },
+    "electron-to-chromium": {
+      "version": "1.3.52",
+      "resolved": "http://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.52.tgz",
+      "integrity": "sha1-0tnxJwuko7lnuDHEDvcftNmrXOA="
+    },
+    "elegant-spinner": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/elegant-spinner/download/elegant-spinner-1.0.1.tgz",
+      "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=",
+      "dev": true
+    },
+    "elliptic": {
+      "version": "6.4.0",
+      "resolved": "http://registry.npm.taobao.org/elliptic/download/elliptic-6.4.0.tgz",
+      "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
+      "requires": {
+        "bn.js": "4.11.8",
+        "brorand": "1.1.0",
+        "hash.js": "1.1.5",
+        "hmac-drbg": "1.0.1",
+        "inherits": "2.0.3",
+        "minimalistic-assert": "1.0.1",
+        "minimalistic-crypto-utils": "1.0.1"
+      }
+    },
+    "emojis-list": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz",
+      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+      "dev": true
+    },
+    "encodeurl": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz",
+      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
+    },
+    "entities": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/entities/download/entities-1.1.1.tgz",
+      "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA="
+    },
+    "error-ex": {
+      "version": "1.3.2",
+      "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz",
+      "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=",
+      "requires": {
+        "is-arrayish": "0.2.1"
+      }
+    },
+    "es-abstract": {
+      "version": "1.12.0",
+      "resolved": "http://registry.npm.taobao.org/es-abstract/download/es-abstract-1.12.0.tgz",
+      "integrity": "sha1-nbvdJ8aFbwABQhyhh4LXhr+KYWU=",
+      "requires": {
+        "es-to-primitive": "1.1.1",
+        "function-bind": "1.1.1",
+        "has": "1.0.3",
+        "is-callable": "1.1.4",
+        "is-regex": "1.0.4"
+      }
+    },
+    "es-to-primitive": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.1.1.tgz",
+      "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
+      "requires": {
+        "is-callable": "1.1.4",
+        "is-date-object": "1.0.1",
+        "is-symbol": "1.0.1"
+      }
+    },
+    "escape-html": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+    },
+    "escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+    },
+    "escodegen": {
+      "version": "1.9.1",
+      "resolved": "http://registry.npm.taobao.org/escodegen/download/escodegen-1.9.1.tgz",
+      "integrity": "sha1-264X75bI5L7bE1b0UE+kzC98t+I=",
+      "requires": {
+        "esprima": "3.1.3",
+        "estraverse": "4.2.0",
+        "esutils": "2.0.2",
+        "optionator": "0.8.2",
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "esprima": {
+          "version": "3.1.3",
+          "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz",
+          "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
+          "optional": true
+        }
+      }
+    },
+    "esprima": {
+      "version": "4.0.1",
+      "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz",
+      "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE="
+    },
+    "estraverse": {
+      "version": "4.2.0",
+      "resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz",
+      "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
+    },
+    "esutils": {
+      "version": "2.0.2",
+      "resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz",
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+    },
+    "etag": {
+      "version": "1.8.1",
+      "resolved": "http://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz",
+      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
+    },
+    "events": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/events/download/events-1.1.1.tgz",
+      "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
+    },
+    "evp_bytestokey": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz",
+      "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
+      "requires": {
+        "md5.js": "1.3.4",
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "execa": {
+      "version": "0.9.0",
+      "resolved": "http://registry.npm.taobao.org/execa/download/execa-0.9.0.tgz",
+      "integrity": "sha1-rbfOYs+YUHH2BYDetKiLnjRxLQE=",
+      "dev": true,
+      "requires": {
+        "cross-spawn": "5.1.0",
+        "get-stream": "3.0.0",
+        "is-stream": "1.1.0",
+        "npm-run-path": "2.0.2",
+        "p-finally": "1.0.0",
+        "signal-exit": "3.0.2",
+        "strip-eof": "1.0.0"
+      },
+      "dependencies": {
+        "cross-spawn": {
+          "version": "5.1.0",
+          "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz",
+          "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+          "dev": true,
+          "requires": {
+            "lru-cache": "4.1.3",
+            "shebang-command": "1.2.0",
+            "which": "1.3.1"
+          }
+        }
+      }
+    },
+    "exit-hook": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/exit-hook/download/exit-hook-1.1.1.tgz",
+      "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
+      "dev": true
+    },
+    "expand-brackets": {
+      "version": "2.1.4",
+      "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz",
+      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+      "requires": {
+        "debug": "2.6.9",
+        "define-property": "0.2.5",
+        "extend-shallow": "2.0.1",
+        "posix-character-classes": "0.1.1",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "extend": {
+      "version": "3.0.2",
+      "resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
+      "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo="
+    },
+    "extend-shallow": {
+      "version": "3.0.2",
+      "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
+      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+      "requires": {
+        "assign-symbols": "1.0.0",
+        "is-extendable": "1.0.1"
+      },
+      "dependencies": {
+        "is-extendable": {
+          "version": "1.0.1",
+          "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+          "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+          "requires": {
+            "is-plain-object": "2.0.4"
+          }
+        }
+      }
+    },
+    "extglob": {
+      "version": "2.0.4",
+      "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz",
+      "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
+      "requires": {
+        "array-unique": "0.3.2",
+        "define-property": "1.0.0",
+        "expand-brackets": "2.1.4",
+        "extend-shallow": "2.0.1",
+        "fragment-cache": "0.2.1",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
+          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "requires": {
+            "is-descriptor": "1.0.2"
+          }
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        },
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+          "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+          "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.2"
+          }
+        }
+      }
+    },
+    "extsprintf": {
+      "version": "1.3.0",
+      "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+    },
+    "falafel": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/falafel/download/falafel-2.1.0.tgz",
+      "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=",
+      "requires": {
+        "acorn": "5.7.1",
+        "foreach": "2.0.5",
+        "isarray": "0.0.1",
+        "object-keys": "1.0.12"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "0.0.1",
+          "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+        }
+      }
+    },
+    "fast-deep-equal": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz",
+      "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
+    },
+    "fast-glob": {
+      "version": "2.2.2",
+      "resolved": "http://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.2.tgz",
+      "integrity": "sha1-cXIzOKybTg4v/x1nSKKhPV7TUr8=",
+      "requires": {
+        "@mrmlnc/readdir-enhanced": "2.2.1",
+        "@nodelib/fs.stat": "1.1.0",
+        "glob-parent": "3.1.0",
+        "is-glob": "4.0.0",
+        "merge2": "1.2.2",
+        "micromatch": "3.1.10"
+      }
+    },
+    "fast-json-stable-stringify": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz",
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+    },
+    "fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "http://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+    },
+    "fastparse": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/fastparse/download/fastparse-1.1.1.tgz",
+      "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=",
+      "dev": true
+    },
+    "figures": {
+      "version": "1.7.0",
+      "resolved": "http://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz",
+      "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+      "dev": true,
+      "requires": {
+        "escape-string-regexp": "1.0.5",
+        "object-assign": "4.1.1"
+      }
+    },
+    "filesize": {
+      "version": "3.6.1",
+      "resolved": "http://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz",
+      "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc="
+    },
+    "fill-range": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
+      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "requires": {
+        "extend-shallow": "2.0.1",
+        "is-number": "3.0.0",
+        "repeat-string": "1.6.1",
+        "to-regex-range": "2.1.1"
+      },
+      "dependencies": {
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "find-parent-dir": {
+      "version": "0.3.0",
+      "resolved": "http://registry.npm.taobao.org/find-parent-dir/download/find-parent-dir-0.3.0.tgz",
+      "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=",
+      "dev": true
+    },
+    "find-up": {
+      "version": "1.1.2",
+      "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz",
+      "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+      "requires": {
+        "path-exists": "2.1.0",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "flatten": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/flatten/download/flatten-1.0.2.tgz",
+      "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I="
+    },
+    "follow-redirects": {
+      "version": "1.5.1",
+      "resolved": "http://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.1.tgz",
+      "integrity": "sha1-Z6jxT1ofZ/liwsRkaceersCpApE=",
+      "requires": {
+        "debug": "3.1.0"
+      }
+    },
+    "for-in": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+    },
+    "foreach": {
+      "version": "2.0.5",
+      "resolved": "http://registry.npm.taobao.org/foreach/download/foreach-2.0.5.tgz",
+      "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
+    },
+    "forever-agent": {
+      "version": "0.6.1",
+      "resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+    },
+    "form-data": {
+      "version": "2.1.4",
+      "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz",
+      "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+      "requires": {
+        "asynckit": "0.4.0",
+        "combined-stream": "1.0.6",
+        "mime-types": "2.1.19"
+      }
+    },
+    "fragment-cache": {
+      "version": "0.2.1",
+      "resolved": "http://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz",
+      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+      "requires": {
+        "map-cache": "0.2.2"
+      }
+    },
+    "fresh": {
+      "version": "0.5.2",
+      "resolved": "http://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz",
+      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+    },
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+    },
+    "fsevents": {
+      "version": "1.2.4",
+      "resolved": "http://registry.npm.taobao.org/fsevents/download/fsevents-1.2.4.tgz",
+      "integrity": "sha1-9B3LGvJYKvNpLaNvxVy9jhBBxCY=",
+      "optional": true,
+      "requires": {
+        "nan": "2.10.0",
+        "node-pre-gyp": "0.10.0"
+      },
+      "dependencies": {
+        "abbrev": {
+          "version": "1.1.1",
+          "bundled": true,
+          "optional": true
+        },
+        "ansi-regex": {
+          "version": "2.1.1",
+          "bundled": true
+        },
+        "aproba": {
+          "version": "1.2.0",
+          "bundled": true,
+          "optional": true
+        },
+        "are-we-there-yet": {
+          "version": "1.1.4",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "delegates": "1.0.0",
+            "readable-stream": "2.3.6"
+          }
+        },
+        "balanced-match": {
+          "version": "1.0.0",
+          "bundled": true
+        },
+        "brace-expansion": {
+          "version": "1.1.11",
+          "bundled": true,
+          "requires": {
+            "balanced-match": "1.0.0",
+            "concat-map": "0.0.1"
+          }
+        },
+        "chownr": {
+          "version": "1.0.1",
+          "bundled": true,
+          "optional": true
+        },
+        "code-point-at": {
+          "version": "1.1.0",
+          "bundled": true
+        },
+        "concat-map": {
+          "version": "0.0.1",
+          "bundled": true
+        },
+        "console-control-strings": {
+          "version": "1.1.0",
+          "bundled": true
+        },
+        "core-util-is": {
+          "version": "1.0.2",
+          "bundled": true,
+          "optional": true
+        },
+        "debug": {
+          "version": "2.6.9",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "deep-extend": {
+          "version": "0.5.1",
+          "bundled": true,
+          "optional": true
+        },
+        "delegates": {
+          "version": "1.0.0",
+          "bundled": true,
+          "optional": true
+        },
+        "detect-libc": {
+          "version": "1.0.3",
+          "bundled": true,
+          "optional": true
+        },
+        "fs-minipass": {
+          "version": "1.2.5",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "minipass": "2.2.4"
+          }
+        },
+        "fs.realpath": {
+          "version": "1.0.0",
+          "bundled": true,
+          "optional": true
+        },
+        "gauge": {
+          "version": "2.7.4",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "aproba": "1.2.0",
+            "console-control-strings": "1.1.0",
+            "has-unicode": "2.0.1",
+            "object-assign": "4.1.1",
+            "signal-exit": "3.0.2",
+            "string-width": "1.0.2",
+            "strip-ansi": "3.0.1",
+            "wide-align": "1.1.2"
+          }
+        },
+        "glob": {
+          "version": "7.1.2",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "fs.realpath": "1.0.0",
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.4.0",
+            "path-is-absolute": "1.0.1"
+          }
+        },
+        "has-unicode": {
+          "version": "2.0.1",
+          "bundled": true,
+          "optional": true
+        },
+        "iconv-lite": {
+          "version": "0.4.21",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "safer-buffer": "2.1.2"
+          }
+        },
+        "ignore-walk": {
+          "version": "3.0.1",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "minimatch": "3.0.4"
+          }
+        },
+        "inflight": {
+          "version": "1.0.6",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "once": "1.4.0",
+            "wrappy": "1.0.2"
+          }
+        },
+        "inherits": {
+          "version": "2.0.3",
+          "bundled": true
+        },
+        "ini": {
+          "version": "1.3.5",
+          "bundled": true,
+          "optional": true
+        },
+        "is-fullwidth-code-point": {
+          "version": "1.0.0",
+          "bundled": true,
+          "requires": {
+            "number-is-nan": "1.0.1"
+          }
+        },
+        "isarray": {
+          "version": "1.0.0",
+          "bundled": true,
+          "optional": true
+        },
+        "minimatch": {
+          "version": "3.0.4",
+          "bundled": true,
+          "requires": {
+            "brace-expansion": "1.1.11"
+          }
+        },
+        "minimist": {
+          "version": "0.0.8",
+          "bundled": true
+        },
+        "minipass": {
+          "version": "2.2.4",
+          "bundled": true,
+          "requires": {
+            "safe-buffer": "5.1.1",
+            "yallist": "3.0.2"
+          }
+        },
+        "minizlib": {
+          "version": "1.1.0",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "minipass": "2.2.4"
+          }
+        },
+        "mkdirp": {
+          "version": "0.5.1",
+          "bundled": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "bundled": true,
+          "optional": true
+        },
+        "needle": {
+          "version": "2.2.0",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "debug": "2.6.9",
+            "iconv-lite": "0.4.21",
+            "sax": "1.2.4"
+          }
+        },
+        "node-pre-gyp": {
+          "version": "0.10.0",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "detect-libc": "1.0.3",
+            "mkdirp": "0.5.1",
+            "needle": "2.2.0",
+            "nopt": "4.0.1",
+            "npm-packlist": "1.1.10",
+            "npmlog": "4.1.2",
+            "rc": "1.2.7",
+            "rimraf": "2.6.2",
+            "semver": "5.5.0",
+            "tar": "4.4.1"
+          }
+        },
+        "nopt": {
+          "version": "4.0.1",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "abbrev": "1.1.1",
+            "osenv": "0.1.5"
+          }
+        },
+        "npm-bundled": {
+          "version": "1.0.3",
+          "bundled": true,
+          "optional": true
+        },
+        "npm-packlist": {
+          "version": "1.1.10",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "ignore-walk": "3.0.1",
+            "npm-bundled": "1.0.3"
+          }
+        },
+        "npmlog": {
+          "version": "4.1.2",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "are-we-there-yet": "1.1.4",
+            "console-control-strings": "1.1.0",
+            "gauge": "2.7.4",
+            "set-blocking": "2.0.0"
+          }
+        },
+        "number-is-nan": {
+          "version": "1.0.1",
+          "bundled": true
+        },
+        "object-assign": {
+          "version": "4.1.1",
+          "bundled": true,
+          "optional": true
+        },
+        "once": {
+          "version": "1.4.0",
+          "bundled": true,
+          "requires": {
+            "wrappy": "1.0.2"
+          }
+        },
+        "os-homedir": {
+          "version": "1.0.2",
+          "bundled": true,
+          "optional": true
+        },
+        "os-tmpdir": {
+          "version": "1.0.2",
+          "bundled": true,
+          "optional": true
+        },
+        "osenv": {
+          "version": "0.1.5",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "os-homedir": "1.0.2",
+            "os-tmpdir": "1.0.2"
+          }
+        },
+        "path-is-absolute": {
+          "version": "1.0.1",
+          "bundled": true,
+          "optional": true
+        },
+        "process-nextick-args": {
+          "version": "2.0.0",
+          "bundled": true,
+          "optional": true
+        },
+        "rc": {
+          "version": "1.2.7",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "deep-extend": "0.5.1",
+            "ini": "1.3.5",
+            "minimist": "1.2.0",
+            "strip-json-comments": "2.0.1"
+          },
+          "dependencies": {
+            "minimist": {
+              "version": "1.2.0",
+              "bundled": true,
+              "optional": true
+            }
+          }
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "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.2"
+          }
+        },
+        "rimraf": {
+          "version": "2.6.2",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "glob": "7.1.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.1",
+          "bundled": true
+        },
+        "safer-buffer": {
+          "version": "2.1.2",
+          "bundled": true,
+          "optional": true
+        },
+        "sax": {
+          "version": "1.2.4",
+          "bundled": true,
+          "optional": true
+        },
+        "semver": {
+          "version": "5.5.0",
+          "bundled": true,
+          "optional": true
+        },
+        "set-blocking": {
+          "version": "2.0.0",
+          "bundled": true,
+          "optional": true
+        },
+        "signal-exit": {
+          "version": "3.0.2",
+          "bundled": true,
+          "optional": true
+        },
+        "string-width": {
+          "version": "1.0.2",
+          "bundled": true,
+          "requires": {
+            "code-point-at": "1.1.0",
+            "is-fullwidth-code-point": "1.0.0",
+            "strip-ansi": "3.0.1"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "safe-buffer": "5.1.1"
+          }
+        },
+        "strip-ansi": {
+          "version": "3.0.1",
+          "bundled": true,
+          "requires": {
+            "ansi-regex": "2.1.1"
+          }
+        },
+        "strip-json-comments": {
+          "version": "2.0.1",
+          "bundled": true,
+          "optional": true
+        },
+        "tar": {
+          "version": "4.4.1",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "chownr": "1.0.1",
+            "fs-minipass": "1.2.5",
+            "minipass": "2.2.4",
+            "minizlib": "1.1.0",
+            "mkdirp": "0.5.1",
+            "safe-buffer": "5.1.1",
+            "yallist": "3.0.2"
+          }
+        },
+        "util-deprecate": {
+          "version": "1.0.2",
+          "bundled": true,
+          "optional": true
+        },
+        "wide-align": {
+          "version": "1.1.2",
+          "bundled": true,
+          "optional": true,
+          "requires": {
+            "string-width": "1.0.2"
+          }
+        },
+        "wrappy": {
+          "version": "1.0.2",
+          "bundled": true
+        },
+        "yallist": {
+          "version": "3.0.2",
+          "bundled": true
+        }
+      }
+    },
+    "fstream": {
+      "version": "1.0.11",
+      "resolved": "http://registry.npm.taobao.org/fstream/download/fstream-1.0.11.tgz",
+      "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "inherits": "2.0.3",
+        "mkdirp": "0.5.1",
+        "rimraf": "2.6.2"
+      }
+    },
+    "fswatcher-child": {
+      "version": "1.0.5",
+      "resolved": "http://registry.npm.taobao.org/fswatcher-child/download/fswatcher-child-1.0.5.tgz",
+      "integrity": "sha1-E00BL/p0kYl1YX4A5W5BOfNssUA=",
+      "requires": {
+        "chokidar": "2.0.4"
+      }
+    },
+    "function-bind": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
+      "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0="
+    },
+    "gauge": {
+      "version": "2.7.4",
+      "resolved": "http://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz",
+      "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+      "requires": {
+        "aproba": "1.2.0",
+        "console-control-strings": "1.1.0",
+        "has-unicode": "2.0.1",
+        "object-assign": "4.1.1",
+        "signal-exit": "3.0.2",
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1",
+        "wide-align": "1.1.3"
+      }
+    },
+    "gaze": {
+      "version": "1.1.3",
+      "resolved": "http://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz",
+      "integrity": "sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=",
+      "requires": {
+        "globule": "1.2.1"
+      }
+    },
+    "generic-names": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/generic-names/download/generic-names-1.0.3.tgz",
+      "integrity": "sha1-LXhqEhruUIh2eWk56OO/+DbCCRc=",
+      "dev": true,
+      "requires": {
+        "loader-utils": "0.2.17"
+      }
+    },
+    "get-caller-file": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz",
+      "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o="
+    },
+    "get-own-enumerable-property-symbols": {
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-2.0.1.tgz",
+      "integrity": "sha1-XErYfyg0xLm06EVJ3B4GUPs4wks=",
+      "dev": true
+    },
+    "get-port": {
+      "version": "3.2.0",
+      "resolved": "http://registry.npm.taobao.org/get-port/download/get-port-3.2.0.tgz",
+      "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw="
+    },
+    "get-stdin": {
+      "version": "4.0.1",
+      "resolved": "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz",
+      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4="
+    },
+    "get-stream": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz",
+      "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+      "dev": true
+    },
+    "get-value": {
+      "version": "2.0.6",
+      "resolved": "http://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz",
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+    },
+    "getpass": {
+      "version": "0.1.7",
+      "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
+      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "requires": {
+        "assert-plus": "1.0.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        }
+      }
+    },
+    "glob": {
+      "version": "7.1.2",
+      "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz",
+      "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
+      "requires": {
+        "fs.realpath": "1.0.0",
+        "inflight": "1.0.6",
+        "inherits": "2.0.3",
+        "minimatch": "3.0.4",
+        "once": "1.4.0",
+        "path-is-absolute": "1.0.1"
+      }
+    },
+    "glob-parent": {
+      "version": "3.1.0",
+      "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz",
+      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+      "requires": {
+        "is-glob": "3.1.0",
+        "path-dirname": "1.0.2"
+      },
+      "dependencies": {
+        "is-glob": {
+          "version": "3.1.0",
+          "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
+          "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+          "requires": {
+            "is-extglob": "2.1.1"
+          }
+        }
+      }
+    },
+    "glob-to-regexp": {
+      "version": "0.3.0",
+      "resolved": "http://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz",
+      "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs="
+    },
+    "globals": {
+      "version": "9.18.0",
+      "resolved": "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz",
+      "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo="
+    },
+    "globule": {
+      "version": "1.2.1",
+      "resolved": "http://registry.npm.taobao.org/globule/download/globule-1.2.1.tgz",
+      "integrity": "sha1-Xf+xsZHyLSB5epNptJ6rTpg5aW0=",
+      "requires": {
+        "glob": "7.1.2",
+        "lodash": "4.17.10",
+        "minimatch": "3.0.4"
+      }
+    },
+    "graceful-fs": {
+      "version": "4.1.11",
+      "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz",
+      "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
+    },
+    "grapheme-breaker": {
+      "version": "0.3.2",
+      "resolved": "http://registry.npm.taobao.org/grapheme-breaker/download/grapheme-breaker-0.3.2.tgz",
+      "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=",
+      "requires": {
+        "brfs": "1.6.1",
+        "unicode-trie": "0.3.1"
+      }
+    },
+    "har-schema": {
+      "version": "1.0.5",
+      "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz",
+      "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4="
+    },
+    "har-validator": {
+      "version": "4.2.1",
+      "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz",
+      "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+      "requires": {
+        "ajv": "4.11.8",
+        "har-schema": "1.0.5"
+      }
+    },
+    "has": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
+      "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
+      "requires": {
+        "function-bind": "1.1.1"
+      }
+    },
+    "has-ansi": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
+      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+      "requires": {
+        "ansi-regex": "2.1.1"
+      }
+    },
+    "has-flag": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+    },
+    "has-unicode": {
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz",
+      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+    },
+    "has-value": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz",
+      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+      "requires": {
+        "get-value": "2.0.6",
+        "has-values": "1.0.0",
+        "isobject": "3.0.1"
+      }
+    },
+    "has-values": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz",
+      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+      "requires": {
+        "is-number": "3.0.0",
+        "kind-of": "4.0.0"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "4.0.0",
+          "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
+          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "hash-base": {
+      "version": "3.0.4",
+      "resolved": "http://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz",
+      "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+      "requires": {
+        "inherits": "2.0.3",
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "hash.js": {
+      "version": "1.1.5",
+      "resolved": "http://registry.npm.taobao.org/hash.js/download/hash.js-1.1.5.tgz",
+      "integrity": "sha1-44q0uF37HgxA/pJlwOm1SFTCOBI=",
+      "requires": {
+        "inherits": "2.0.3",
+        "minimalistic-assert": "1.0.1"
+      }
+    },
+    "hawk": {
+      "version": "3.1.3",
+      "resolved": "http://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz",
+      "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+      "requires": {
+        "boom": "2.10.1",
+        "cryptiles": "2.0.5",
+        "hoek": "2.16.3",
+        "sntp": "1.0.9"
+      }
+    },
+    "hex-color-regex": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz",
+      "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4="
+    },
+    "hmac-drbg": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz",
+      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+      "requires": {
+        "hash.js": "1.1.5",
+        "minimalistic-assert": "1.0.1",
+        "minimalistic-crypto-utils": "1.0.1"
+      }
+    },
+    "hoek": {
+      "version": "2.16.3",
+      "resolved": "http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz",
+      "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
+    },
+    "home-or-tmp": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz",
+      "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+      "requires": {
+        "os-homedir": "1.0.2",
+        "os-tmpdir": "1.0.2"
+      }
+    },
+    "hosted-git-info": {
+      "version": "2.7.1",
+      "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.7.1.tgz",
+      "integrity": "sha1-l/I2l3vW4SVAiTD/bePuxigewEc="
+    },
+    "howler": {
+      "version": "2.0.14",
+      "resolved": "http://registry.npm.taobao.org/howler/download/howler-2.0.14.tgz",
+      "integrity": "sha1-KON4AP6gAv6hR6PKAzZgxPEoipk="
+    },
+    "hsl-regex": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz",
+      "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4="
+    },
+    "hsla-regex": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz",
+      "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg="
+    },
+    "html-comment-regex": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.1.tgz",
+      "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4="
+    },
+    "htmlnano": {
+      "version": "0.1.10",
+      "resolved": "http://registry.npm.taobao.org/htmlnano/download/htmlnano-0.1.10.tgz",
+      "integrity": "sha1-oKVI60x2rizyQj7HolyIFzTT3qY=",
+      "requires": {
+        "cssnano": "3.10.0",
+        "object-assign": "4.1.1",
+        "posthtml": "0.11.3",
+        "posthtml-render": "1.1.4",
+        "svgo": "1.0.5",
+        "terser": "3.8.1"
+      },
+      "dependencies": {
+        "autoprefixer": {
+          "version": "6.7.7",
+          "resolved": "http://registry.npm.taobao.org/autoprefixer/download/autoprefixer-6.7.7.tgz",
+          "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+          "requires": {
+            "browserslist": "1.7.7",
+            "caniuse-db": "1.0.30000875",
+            "normalize-range": "0.1.2",
+            "num2fraction": "1.2.2",
+            "postcss": "5.2.18",
+            "postcss-value-parser": "3.3.0"
+          }
+        },
+        "balanced-match": {
+          "version": "0.4.2",
+          "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz",
+          "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg="
+        },
+        "browserslist": {
+          "version": "1.7.7",
+          "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz",
+          "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+          "requires": {
+            "caniuse-db": "1.0.30000875",
+            "electron-to-chromium": "1.3.52"
+          }
+        },
+        "caniuse-api": {
+          "version": "1.6.1",
+          "resolved": "http://registry.npm.taobao.org/caniuse-api/download/caniuse-api-1.6.1.tgz",
+          "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+          "requires": {
+            "browserslist": "1.7.7",
+            "caniuse-db": "1.0.30000875",
+            "lodash.memoize": "4.1.2",
+            "lodash.uniq": "4.5.0"
+          }
+        },
+        "coa": {
+          "version": "1.0.4",
+          "resolved": "http://registry.npm.taobao.org/coa/download/coa-1.0.4.tgz",
+          "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
+          "requires": {
+            "q": "1.5.1"
+          }
+        },
+        "cssnano": {
+          "version": "3.10.0",
+          "resolved": "http://registry.npm.taobao.org/cssnano/download/cssnano-3.10.0.tgz",
+          "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+          "requires": {
+            "autoprefixer": "6.7.7",
+            "decamelize": "1.2.0",
+            "defined": "1.0.0",
+            "has": "1.0.3",
+            "object-assign": "4.1.1",
+            "postcss": "5.2.18",
+            "postcss-calc": "5.3.1",
+            "postcss-colormin": "2.2.2",
+            "postcss-convert-values": "2.6.1",
+            "postcss-discard-comments": "2.0.4",
+            "postcss-discard-duplicates": "2.1.0",
+            "postcss-discard-empty": "2.1.0",
+            "postcss-discard-overridden": "0.1.1",
+            "postcss-discard-unused": "2.2.3",
+            "postcss-filter-plugins": "2.0.3",
+            "postcss-merge-idents": "2.1.7",
+            "postcss-merge-longhand": "2.0.2",
+            "postcss-merge-rules": "2.1.2",
+            "postcss-minify-font-values": "1.0.5",
+            "postcss-minify-gradients": "1.0.5",
+            "postcss-minify-params": "1.2.2",
+            "postcss-minify-selectors": "2.1.1",
+            "postcss-normalize-charset": "1.1.1",
+            "postcss-normalize-url": "3.0.8",
+            "postcss-ordered-values": "2.2.3",
+            "postcss-reduce-idents": "2.4.0",
+            "postcss-reduce-initial": "1.0.1",
+            "postcss-reduce-transforms": "1.0.4",
+            "postcss-svgo": "2.1.6",
+            "postcss-unique-selectors": "2.0.2",
+            "postcss-value-parser": "3.3.0",
+            "postcss-zindex": "2.2.0"
+          }
+        },
+        "csso": {
+          "version": "2.3.2",
+          "resolved": "http://registry.npm.taobao.org/csso/download/csso-2.3.2.tgz",
+          "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+          "requires": {
+            "clap": "1.2.3",
+            "source-map": "0.5.7"
+          }
+        },
+        "esprima": {
+          "version": "2.7.3",
+          "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz",
+          "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE="
+        },
+        "has-flag": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+          "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
+        },
+        "is-svg": {
+          "version": "2.1.0",
+          "resolved": "http://registry.npm.taobao.org/is-svg/download/is-svg-2.1.0.tgz",
+          "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+          "requires": {
+            "html-comment-regex": "1.1.1"
+          }
+        },
+        "js-yaml": {
+          "version": "3.7.0",
+          "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.7.0.tgz",
+          "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+          "requires": {
+            "argparse": "1.0.10",
+            "esprima": "2.7.3"
+          }
+        },
+        "normalize-url": {
+          "version": "1.9.1",
+          "resolved": "http://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz",
+          "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+          "requires": {
+            "object-assign": "4.1.1",
+            "prepend-http": "1.0.4",
+            "query-string": "4.3.4",
+            "sort-keys": "1.1.2"
+          }
+        },
+        "postcss": {
+          "version": "5.2.18",
+          "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz",
+          "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+          "requires": {
+            "chalk": "1.1.3",
+            "js-base64": "2.4.8",
+            "source-map": "0.5.7",
+            "supports-color": "3.2.3"
+          }
+        },
+        "postcss-calc": {
+          "version": "5.3.1",
+          "resolved": "http://registry.npm.taobao.org/postcss-calc/download/postcss-calc-5.3.1.tgz",
+          "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+          "requires": {
+            "postcss": "5.2.18",
+            "postcss-message-helpers": "2.0.0",
+            "reduce-css-calc": "1.3.0"
+          }
+        },
+        "postcss-colormin": {
+          "version": "2.2.2",
+          "resolved": "http://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-2.2.2.tgz",
+          "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+          "requires": {
+            "colormin": "1.1.2",
+            "postcss": "5.2.18",
+            "postcss-value-parser": "3.3.0"
+          }
+        },
+        "postcss-convert-values": {
+          "version": "2.6.1",
+          "resolved": "http://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-2.6.1.tgz",
+          "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+          "requires": {
+            "postcss": "5.2.18",
+            "postcss-value-parser": "3.3.0"
+          }
+        },
+        "postcss-discard-comments": {
+          "version": "2.0.4",
+          "resolved": "http://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-2.0.4.tgz",
+          "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+          "requires": {
+            "postcss": "5.2.18"
+          }
+        },
+        "postcss-discard-duplicates": {
+          "version": "2.1.0",
+          "resolved": "http://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-2.1.0.tgz",
+          "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+          "requires": {
+            "postcss": "5.2.18"
+          }
+        },
+        "postcss-discard-empty": {
+          "version": "2.1.0",
+          "resolved": "http://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-2.1.0.tgz",
+          "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+          "requires": {
+            "postcss": "5.2.18"
+          }
+        },
+        "postcss-discard-overridden": {
+          "version": "0.1.1",
+          "resolved": "http://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-0.1.1.tgz",
+          "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+          "requires": {
+            "postcss": "5.2.18"
+          }
+        },
+        "postcss-merge-longhand": {
+          "version": "2.0.2",
+          "resolved": "http://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-2.0.2.tgz",
+          "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+          "requires": {
+            "postcss": "5.2.18"
+          }
+        },
+        "postcss-merge-rules": {
+          "version": "2.1.2",
+          "resolved": "http://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-2.1.2.tgz",
+          "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+          "requires": {
+            "browserslist": "1.7.7",
+            "caniuse-api": "1.6.1",
+            "postcss": "5.2.18",
+            "postcss-selector-parser": "2.2.3",
+            "vendors": "1.0.2"
+          }
+        },
+        "postcss-minify-font-values": {
+          "version": "1.0.5",
+          "resolved": "http://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-1.0.5.tgz",
+          "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+          "requires": {
+            "object-assign": "4.1.1",
+            "postcss": "5.2.18",
+            "postcss-value-parser": "3.3.0"
+          }
+        },
+        "postcss-minify-gradients": {
+          "version": "1.0.5",
+          "resolved": "http://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-1.0.5.tgz",
+          "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+          "requires": {
+            "postcss": "5.2.18",
+            "postcss-value-parser": "3.3.0"
+          }
+        },
+        "postcss-minify-params": {
+          "version": "1.2.2",
+          "resolved": "http://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-1.2.2.tgz",
+          "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+          "requires": {
+            "alphanum-sort": "1.0.2",
+            "postcss": "5.2.18",
+            "postcss-value-parser": "3.3.0",
+            "uniqs": "2.0.0"
+          }
+        },
+        "postcss-minify-selectors": {
+          "version": "2.1.1",
+          "resolved": "http://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-2.1.1.tgz",
+          "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+          "requires": {
+            "alphanum-sort": "1.0.2",
+            "has": "1.0.3",
+            "postcss": "5.2.18",
+            "postcss-selector-parser": "2.2.3"
+          }
+        },
+        "postcss-normalize-charset": {
+          "version": "1.1.1",
+          "resolved": "http://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-1.1.1.tgz",
+          "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+          "requires": {
+            "postcss": "5.2.18"
+          }
+        },
+        "postcss-normalize-url": {
+          "version": "3.0.8",
+          "resolved": "http://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-3.0.8.tgz",
+          "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+          "requires": {
+            "is-absolute-url": "2.1.0",
+            "normalize-url": "1.9.1",
+            "postcss": "5.2.18",
+            "postcss-value-parser": "3.3.0"
+          }
+        },
+        "postcss-ordered-values": {
+          "version": "2.2.3",
+          "resolved": "http://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-2.2.3.tgz",
+          "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+          "requires": {
+            "postcss": "5.2.18",
+            "postcss-value-parser": "3.3.0"
+          }
+        },
+        "postcss-reduce-initial": {
+          "version": "1.0.1",
+          "resolved": "http://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-1.0.1.tgz",
+          "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+          "requires": {
+            "postcss": "5.2.18"
+          }
+        },
+        "postcss-reduce-transforms": {
+          "version": "1.0.4",
+          "resolved": "http://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-1.0.4.tgz",
+          "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+          "requires": {
+            "has": "1.0.3",
+            "postcss": "5.2.18",
+            "postcss-value-parser": "3.3.0"
+          }
+        },
+        "postcss-svgo": {
+          "version": "2.1.6",
+          "resolved": "http://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-2.1.6.tgz",
+          "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+          "requires": {
+            "is-svg": "2.1.0",
+            "postcss": "5.2.18",
+            "postcss-value-parser": "3.3.0",
+            "svgo": "0.7.2"
+          },
+          "dependencies": {
+            "svgo": {
+              "version": "0.7.2",
+              "resolved": "http://registry.npm.taobao.org/svgo/download/svgo-0.7.2.tgz",
+              "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+              "requires": {
+                "coa": "1.0.4",
+                "colors": "1.1.2",
+                "csso": "2.3.2",
+                "js-yaml": "3.7.0",
+                "mkdirp": "0.5.1",
+                "sax": "1.2.4",
+                "whet.extend": "0.9.9"
+              }
+            }
+          }
+        },
+        "postcss-unique-selectors": {
+          "version": "2.0.2",
+          "resolved": "http://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-2.0.2.tgz",
+          "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+          "requires": {
+            "alphanum-sort": "1.0.2",
+            "postcss": "5.2.18",
+            "uniqs": "2.0.0"
+          }
+        },
+        "reduce-css-calc": {
+          "version": "1.3.0",
+          "resolved": "http://registry.npm.taobao.org/reduce-css-calc/download/reduce-css-calc-1.3.0.tgz",
+          "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
+          "requires": {
+            "balanced-match": "0.4.2",
+            "math-expression-evaluator": "1.2.17",
+            "reduce-function-call": "1.0.2"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        },
+        "supports-color": {
+          "version": "3.2.3",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz",
+          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+          "requires": {
+            "has-flag": "1.0.0"
+          }
+        }
+      }
+    },
+    "htmlparser2": {
+      "version": "3.9.2",
+      "resolved": "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.9.2.tgz",
+      "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
+      "requires": {
+        "domelementtype": "1.3.0",
+        "domhandler": "2.4.2",
+        "domutils": "1.5.1",
+        "entities": "1.1.1",
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.6"
+      }
+    },
+    "http-errors": {
+      "version": "1.6.3",
+      "resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz",
+      "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+      "requires": {
+        "depd": "1.1.2",
+        "inherits": "2.0.3",
+        "setprototypeof": "1.1.0",
+        "statuses": "1.4.0"
+      }
+    },
+    "http-signature": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz",
+      "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+      "requires": {
+        "assert-plus": "0.2.0",
+        "jsprim": "1.4.1",
+        "sshpk": "1.14.2"
+      }
+    },
+    "https-browserify": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz",
+      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
+    },
+    "husky": {
+      "version": "0.14.3",
+      "resolved": "http://registry.npm.taobao.org/husky/download/husky-0.14.3.tgz",
+      "integrity": "sha1-xp7XTi0neXaaF7qDmbVM4LY8EsM=",
+      "dev": true,
+      "requires": {
+        "is-ci": "1.1.0",
+        "normalize-path": "1.0.0",
+        "strip-indent": "2.0.0"
+      },
+      "dependencies": {
+        "strip-indent": {
+          "version": "2.0.0",
+          "resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz",
+          "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
+          "dev": true
+        }
+      }
+    },
+    "icss-replace-symbols": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz",
+      "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+      "dev": true
+    },
+    "ieee754": {
+      "version": "1.1.12",
+      "resolved": "http://registry.npm.taobao.org/ieee754/download/ieee754-1.1.12.tgz",
+      "integrity": "sha1-UL8k5bnIu5ivSWTJQc2wkY2ntgs="
+    },
+    "in-publish": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/in-publish/download/in-publish-2.0.0.tgz",
+      "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E="
+    },
+    "indent-string": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz",
+      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+      "requires": {
+        "repeating": "2.0.1"
+      }
+    },
+    "indexes-of": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz",
+      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc="
+    },
+    "indexof": {
+      "version": "0.0.1",
+      "resolved": "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz",
+      "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "requires": {
+        "once": "1.4.0",
+        "wrappy": "1.0.2"
+      }
+    },
+    "inherits": {
+      "version": "2.0.3",
+      "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+    },
+    "ini": {
+      "version": "1.3.5",
+      "resolved": "http://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz",
+      "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc="
+    },
+    "invariant": {
+      "version": "2.2.4",
+      "resolved": "http://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz",
+      "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=",
+      "requires": {
+        "loose-envify": "1.4.0"
+      }
+    },
+    "invert-kv": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz",
+      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+    },
+    "is-absolute-url": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz",
+      "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY="
+    },
+    "is-accessor-descriptor": {
+      "version": "0.1.6",
+      "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz",
+      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+      "requires": {
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+    },
+    "is-binary-path": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
+      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+      "requires": {
+        "binary-extensions": "1.11.0"
+      }
+    },
+    "is-buffer": {
+      "version": "1.1.6",
+      "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz",
+      "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4="
+    },
+    "is-builtin-module": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz",
+      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+      "requires": {
+        "builtin-modules": "1.1.1"
+      }
+    },
+    "is-callable": {
+      "version": "1.1.4",
+      "resolved": "http://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz",
+      "integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU="
+    },
+    "is-ci": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/is-ci/download/is-ci-1.1.0.tgz",
+      "integrity": "sha1-JH5BYueGDOu9rzC3dNawrH3P56U=",
+      "dev": true,
+      "requires": {
+        "ci-info": "1.1.3"
+      }
+    },
+    "is-color-stop": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz",
+      "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
+      "requires": {
+        "css-color-names": "0.0.4",
+        "hex-color-regex": "1.1.0",
+        "hsl-regex": "1.0.0",
+        "hsla-regex": "1.0.0",
+        "rgb-regex": "1.0.1",
+        "rgba-regex": "1.0.0"
+      }
+    },
+    "is-data-descriptor": {
+      "version": "0.1.4",
+      "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz",
+      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+      "requires": {
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "is-date-object": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz",
+      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
+    },
+    "is-descriptor": {
+      "version": "0.1.6",
+      "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz",
+      "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
+      "requires": {
+        "is-accessor-descriptor": "0.1.6",
+        "is-data-descriptor": "0.1.4",
+        "kind-of": "5.1.0"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "5.1.0",
+          "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz",
+          "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0="
+        }
+      }
+    },
+    "is-directory": {
+      "version": "0.3.1",
+      "resolved": "http://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz",
+      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
+    },
+    "is-extendable": {
+      "version": "0.1.1",
+      "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+    },
+    "is-extglob": {
+      "version": "2.1.1",
+      "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+    },
+    "is-finite": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz",
+      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+      "requires": {
+        "number-is-nan": "1.0.1"
+      }
+    },
+    "is-fullwidth-code-point": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+      "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+      "requires": {
+        "number-is-nan": "1.0.1"
+      }
+    },
+    "is-glob": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-4.0.0.tgz",
+      "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+      "requires": {
+        "is-extglob": "2.1.1"
+      }
+    },
+    "is-number": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "requires": {
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "is-obj": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz",
+      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
+    },
+    "is-observable": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/is-observable/download/is-observable-1.1.0.tgz",
+      "integrity": "sha1-s+mGyPRN6VCGfKtUA/WjRlAFl14=",
+      "dev": true,
+      "requires": {
+        "symbol-observable": "1.2.0"
+      }
+    },
+    "is-plain-obj": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz",
+      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
+    },
+    "is-plain-object": {
+      "version": "2.0.4",
+      "resolved": "http://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz",
+      "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
+      "requires": {
+        "isobject": "3.0.1"
+      }
+    },
+    "is-promise": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz",
+      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+      "dev": true
+    },
+    "is-regex": {
+      "version": "1.0.4",
+      "resolved": "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz",
+      "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+      "requires": {
+        "has": "1.0.3"
+      }
+    },
+    "is-regexp": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz",
+      "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
+      "dev": true
+    },
+    "is-resolvable": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz",
+      "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg="
+    },
+    "is-stream": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz",
+      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+      "dev": true
+    },
+    "is-svg": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz",
+      "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=",
+      "requires": {
+        "html-comment-regex": "1.1.1"
+      }
+    },
+    "is-symbol": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.1.tgz",
+      "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI="
+    },
+    "is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+    },
+    "is-url": {
+      "version": "1.2.4",
+      "resolved": "http://registry.npm.taobao.org/is-url/download/is-url-1.2.4.tgz",
+      "integrity": "sha1-BKTfRtKMTP89c9Af8Gq+sxihqlI="
+    },
+    "is-utf8": {
+      "version": "0.2.1",
+      "resolved": "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
+      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
+    },
+    "is-windows": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz",
+      "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0="
+    },
+    "is-wsl": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz",
+      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
+    },
+    "isarray": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+    },
+    "isexe": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+    },
+    "isobject": {
+      "version": "3.0.1",
+      "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+    },
+    "isstream": {
+      "version": "0.1.2",
+      "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+    },
+    "jest-get-type": {
+      "version": "22.4.3",
+      "resolved": "http://registry.npm.taobao.org/jest-get-type/download/jest-get-type-22.4.3.tgz",
+      "integrity": "sha1-46hQTYR5NC3UQgI2syKGnxiQDOQ=",
+      "dev": true
+    },
+    "jest-validate": {
+      "version": "23.4.0",
+      "resolved": "http://registry.npm.taobao.org/jest-validate/download/jest-validate-23.4.0.tgz",
+      "integrity": "sha1-2W7t4B7wOskJwAnpyORVGX1IwgE=",
+      "dev": true,
+      "requires": {
+        "chalk": "2.4.1",
+        "jest-get-type": "22.4.3",
+        "leven": "2.1.0",
+        "pretty-format": "23.2.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
+          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.2"
+          }
+        },
+        "chalk": {
+          "version": "2.4.1",
+          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz",
+          "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.4.0"
+          }
+        },
+        "supports-color": {
+          "version": "5.4.0",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz",
+          "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=",
+          "dev": true,
+          "requires": {
+            "has-flag": "3.0.0"
+          }
+        }
+      }
+    },
+    "js-base64": {
+      "version": "2.4.8",
+      "resolved": "http://registry.npm.taobao.org/js-base64/download/js-base64-2.4.8.tgz",
+      "integrity": "sha1-V6mxMIiPlWg0qkDFsWW6WcdY8DM="
+    },
+    "js-beautify": {
+      "version": "1.7.5",
+      "resolved": "http://registry.npm.taobao.org/js-beautify/download/js-beautify-1.7.5.tgz",
+      "integrity": "sha1-adllHvYNu2SfZVJ7U2dJUBOKeRk=",
+      "requires": {
+        "config-chain": "1.1.11",
+        "editorconfig": "0.13.3",
+        "mkdirp": "0.5.1",
+        "nopt": "3.0.6"
+      }
+    },
+    "js-tokens": {
+      "version": "3.0.2",
+      "resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",
+      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+    },
+    "js-yaml": {
+      "version": "3.12.0",
+      "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.12.0.tgz",
+      "integrity": "sha1-6u1lbsg0TxD1J8a/obbiJE3hZ9E=",
+      "requires": {
+        "argparse": "1.0.10",
+        "esprima": "4.0.1"
+      }
+    },
+    "jsbn": {
+      "version": "0.1.1",
+      "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "optional": true
+    },
+    "jsesc": {
+      "version": "1.3.0",
+      "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz",
+      "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s="
+    },
+    "json-parse-better-errors": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz",
+      "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk="
+    },
+    "json-schema": {
+      "version": "0.2.3",
+      "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz",
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+    },
+    "json-schema-traverse": {
+      "version": "0.3.1",
+      "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz",
+      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+    },
+    "json-stable-stringify": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz",
+      "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+      "requires": {
+        "jsonify": "0.0.0"
+      }
+    },
+    "json-stringify-safe": {
+      "version": "5.0.1",
+      "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+    },
+    "json5": {
+      "version": "0.5.1",
+      "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
+      "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
+    },
+    "jsonify": {
+      "version": "0.0.0",
+      "resolved": "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz",
+      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+    },
+    "jsprim": {
+      "version": "1.4.1",
+      "resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
+      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+      "requires": {
+        "assert-plus": "1.0.0",
+        "extsprintf": "1.3.0",
+        "json-schema": "0.2.3",
+        "verror": "1.10.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        }
+      }
+    },
+    "kind-of": {
+      "version": "6.0.2",
+      "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz",
+      "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE="
+    },
+    "lcid": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
+      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+      "requires": {
+        "invert-kv": "1.0.0"
+      }
+    },
+    "leven": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/leven/download/leven-2.1.0.tgz",
+      "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
+      "dev": true
+    },
+    "levn": {
+      "version": "0.3.0",
+      "resolved": "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz",
+      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+      "requires": {
+        "prelude-ls": "1.1.2",
+        "type-check": "0.3.2"
+      }
+    },
+    "lint-staged": {
+      "version": "7.2.0",
+      "resolved": "http://registry.npm.taobao.org/lint-staged/download/lint-staged-7.2.0.tgz",
+      "integrity": "sha1-vfS7fy83/miaz67JmZ2yiKWyaIg=",
+      "dev": true,
+      "requires": {
+        "app-root-path": "2.1.0",
+        "chalk": "2.4.1",
+        "commander": "2.16.0",
+        "cosmiconfig": "5.0.5",
+        "debug": "3.1.0",
+        "dedent": "0.7.0",
+        "execa": "0.9.0",
+        "find-parent-dir": "0.3.0",
+        "is-glob": "4.0.0",
+        "is-windows": "1.0.2",
+        "jest-validate": "23.4.0",
+        "listr": "0.14.1",
+        "lodash": "4.17.10",
+        "log-symbols": "2.2.0",
+        "micromatch": "3.1.10",
+        "npm-which": "3.0.1",
+        "p-map": "1.2.0",
+        "path-is-inside": "1.0.2",
+        "pify": "3.0.0",
+        "please-upgrade-node": "3.1.1",
+        "staged-git-files": "1.1.1",
+        "string-argv": "0.0.2",
+        "stringify-object": "3.2.2"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
+          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.2"
+          }
+        },
+        "chalk": {
+          "version": "2.4.1",
+          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz",
+          "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.4.0"
+          }
+        },
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "5.4.0",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz",
+          "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=",
+          "dev": true,
+          "requires": {
+            "has-flag": "3.0.0"
+          }
+        }
+      }
+    },
+    "listr": {
+      "version": "0.14.1",
+      "resolved": "http://registry.npm.taobao.org/listr/download/listr-0.14.1.tgz",
+      "integrity": "sha1-inr6SnE1zuTJIdEo4LffxuUi1D0=",
+      "dev": true,
+      "requires": {
+        "@samverschueren/stream-to-observable": "0.3.0",
+        "cli-truncate": "0.2.1",
+        "figures": "1.7.0",
+        "indent-string": "2.1.0",
+        "is-observable": "1.1.0",
+        "is-promise": "2.1.0",
+        "is-stream": "1.1.0",
+        "listr-silent-renderer": "1.1.1",
+        "listr-update-renderer": "0.4.0",
+        "listr-verbose-renderer": "0.4.1",
+        "log-symbols": "1.0.2",
+        "log-update": "1.0.2",
+        "ora": "0.2.3",
+        "p-map": "1.2.0",
+        "rxjs": "6.2.2",
+        "strip-ansi": "3.0.1"
+      },
+      "dependencies": {
+        "log-symbols": {
+          "version": "1.0.2",
+          "resolved": "http://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz",
+          "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+          "dev": true,
+          "requires": {
+            "chalk": "1.1.3"
+          }
+        }
+      }
+    },
+    "listr-silent-renderer": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/listr-silent-renderer/download/listr-silent-renderer-1.1.1.tgz",
+      "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=",
+      "dev": true
+    },
+    "listr-update-renderer": {
+      "version": "0.4.0",
+      "resolved": "http://registry.npm.taobao.org/listr-update-renderer/download/listr-update-renderer-0.4.0.tgz",
+      "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3",
+        "cli-truncate": "0.2.1",
+        "elegant-spinner": "1.0.1",
+        "figures": "1.7.0",
+        "indent-string": "3.2.0",
+        "log-symbols": "1.0.2",
+        "log-update": "1.0.2",
+        "strip-ansi": "3.0.1"
+      },
+      "dependencies": {
+        "indent-string": {
+          "version": "3.2.0",
+          "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-3.2.0.tgz",
+          "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+          "dev": true
+        },
+        "log-symbols": {
+          "version": "1.0.2",
+          "resolved": "http://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz",
+          "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+          "dev": true,
+          "requires": {
+            "chalk": "1.1.3"
+          }
+        }
+      }
+    },
+    "listr-verbose-renderer": {
+      "version": "0.4.1",
+      "resolved": "http://registry.npm.taobao.org/listr-verbose-renderer/download/listr-verbose-renderer-0.4.1.tgz",
+      "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3",
+        "cli-cursor": "1.0.2",
+        "date-fns": "1.29.0",
+        "figures": "1.7.0"
+      }
+    },
+    "load-json-file": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
+      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "parse-json": "2.2.0",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1",
+        "strip-bom": "2.0.0"
+      }
+    },
+    "loader-utils": {
+      "version": "0.2.17",
+      "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz",
+      "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+      "dev": true,
+      "requires": {
+        "big.js": "3.2.0",
+        "emojis-list": "2.1.0",
+        "json5": "0.5.1",
+        "object-assign": "4.1.1"
+      }
+    },
+    "lodash": {
+      "version": "4.17.10",
+      "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-4.17.10.tgz",
+      "integrity": "sha1-G3eTz3JZ6jj7NmHU04syYK+K5Oc="
+    },
+    "lodash.assign": {
+      "version": "4.2.0",
+      "resolved": "http://registry.npm.taobao.org/lodash.assign/download/lodash.assign-4.2.0.tgz",
+      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc="
+    },
+    "lodash.camelcase": {
+      "version": "4.3.0",
+      "resolved": "http://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz",
+      "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+      "dev": true
+    },
+    "lodash.clone": {
+      "version": "4.5.0",
+      "resolved": "http://registry.npm.taobao.org/lodash.clone/download/lodash.clone-4.5.0.tgz",
+      "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y="
+    },
+    "lodash.clonedeep": {
+      "version": "4.5.0",
+      "resolved": "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz",
+      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
+    },
+    "lodash.debounce": {
+      "version": "4.0.8",
+      "resolved": "http://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz",
+      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
+    },
+    "lodash.memoize": {
+      "version": "4.1.2",
+      "resolved": "http://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz",
+      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
+    },
+    "lodash.mergewith": {
+      "version": "4.6.1",
+      "resolved": "http://registry.npm.taobao.org/lodash.mergewith/download/lodash.mergewith-4.6.1.tgz",
+      "integrity": "sha1-Y5BX5ybDr72z59QnQcqo1uQzWSc="
+    },
+    "lodash.uniq": {
+      "version": "4.5.0",
+      "resolved": "http://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz",
+      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
+    },
+    "log-symbols": {
+      "version": "2.2.0",
+      "resolved": "http://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz",
+      "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=",
+      "requires": {
+        "chalk": "2.4.1"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
+          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+          "requires": {
+            "color-convert": "1.9.2"
+          }
+        },
+        "chalk": {
+          "version": "2.4.1",
+          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz",
+          "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.4.0"
+          }
+        },
+        "supports-color": {
+          "version": "5.4.0",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz",
+          "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=",
+          "requires": {
+            "has-flag": "3.0.0"
+          }
+        }
+      }
+    },
+    "log-update": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/log-update/download/log-update-1.0.2.tgz",
+      "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=",
+      "dev": true,
+      "requires": {
+        "ansi-escapes": "1.4.0",
+        "cli-cursor": "1.0.2"
+      }
+    },
+    "loose-envify": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz",
+      "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=",
+      "requires": {
+        "js-tokens": "3.0.2"
+      }
+    },
+    "loud-rejection": {
+      "version": "1.6.0",
+      "resolved": "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz",
+      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+      "requires": {
+        "currently-unhandled": "0.4.1",
+        "signal-exit": "3.0.2"
+      }
+    },
+    "lru-cache": {
+      "version": "4.1.3",
+      "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.3.tgz",
+      "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=",
+      "requires": {
+        "pseudomap": "1.0.2",
+        "yallist": "2.1.2"
+      }
+    },
+    "magic-string": {
+      "version": "0.22.5",
+      "resolved": "http://registry.npm.taobao.org/magic-string/download/magic-string-0.22.5.tgz",
+      "integrity": "sha1-jpz1r930Q4XB2lvCpqDb0QsDZX4=",
+      "requires": {
+        "vlq": "0.2.3"
+      }
+    },
+    "map-cache": {
+      "version": "0.2.2",
+      "resolved": "http://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz",
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
+    },
+    "map-obj": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz",
+      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
+    },
+    "map-visit": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz",
+      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+      "requires": {
+        "object-visit": "1.0.1"
+      }
+    },
+    "math-expression-evaluator": {
+      "version": "1.2.17",
+      "resolved": "http://registry.npm.taobao.org/math-expression-evaluator/download/math-expression-evaluator-1.2.17.tgz",
+      "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw="
+    },
+    "md5.js": {
+      "version": "1.3.4",
+      "resolved": "http://registry.npm.taobao.org/md5.js/download/md5.js-1.3.4.tgz",
+      "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
+      "requires": {
+        "hash-base": "3.0.4",
+        "inherits": "2.0.3"
+      }
+    },
+    "mdn-data": {
+      "version": "1.1.4",
+      "resolved": "http://registry.npm.taobao.org/mdn-data/download/mdn-data-1.1.4.tgz",
+      "integrity": "sha1-ULXU/8RXUnZXPE7tuHgIEqhBnwE="
+    },
+    "meow": {
+      "version": "3.7.0",
+      "resolved": "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz",
+      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+      "requires": {
+        "camelcase-keys": "2.1.0",
+        "decamelize": "1.2.0",
+        "loud-rejection": "1.6.0",
+        "map-obj": "1.0.1",
+        "minimist": "1.2.0",
+        "normalize-package-data": "2.4.0",
+        "object-assign": "4.1.1",
+        "read-pkg-up": "1.0.1",
+        "redent": "1.0.0",
+        "trim-newlines": "1.0.0"
+      }
+    },
+    "merge-source-map": {
+      "version": "1.0.4",
+      "resolved": "http://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.0.4.tgz",
+      "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=",
+      "requires": {
+        "source-map": "0.5.7"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        }
+      }
+    },
+    "merge2": {
+      "version": "1.2.2",
+      "resolved": "http://registry.npm.taobao.org/merge2/download/merge2-1.2.2.tgz",
+      "integrity": "sha1-AyEuPajYbE2FI869YxgZNBT5TjQ="
+    },
+    "micromatch": {
+      "version": "3.1.10",
+      "resolved": "http://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz",
+      "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
+      "requires": {
+        "arr-diff": "4.0.0",
+        "array-unique": "0.3.2",
+        "braces": "2.3.2",
+        "define-property": "2.0.2",
+        "extend-shallow": "3.0.2",
+        "extglob": "2.0.4",
+        "fragment-cache": "0.2.1",
+        "kind-of": "6.0.2",
+        "nanomatch": "1.2.13",
+        "object.pick": "1.3.0",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      }
+    },
+    "miller-rabin": {
+      "version": "4.0.1",
+      "resolved": "http://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz",
+      "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
+      "requires": {
+        "bn.js": "4.11.8",
+        "brorand": "1.1.0"
+      }
+    },
+    "mime": {
+      "version": "1.4.1",
+      "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.4.1.tgz",
+      "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY="
+    },
+    "mime-db": {
+      "version": "1.35.0",
+      "resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.35.0.tgz",
+      "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c="
+    },
+    "mime-types": {
+      "version": "2.1.19",
+      "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.19.tgz",
+      "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=",
+      "requires": {
+        "mime-db": "1.35.0"
+      }
+    },
+    "mimic-fn": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz",
+      "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI="
+    },
+    "minimalistic-assert": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz",
+      "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc="
+    },
+    "minimalistic-crypto-utils": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz",
+      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
+    },
+    "minimatch": {
+      "version": "3.0.4",
+      "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
+      "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+      "requires": {
+        "brace-expansion": "1.1.11"
+      }
+    },
+    "minimist": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+    },
+    "mixin-deep": {
+      "version": "1.3.1",
+      "resolved": "http://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.1.tgz",
+      "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=",
+      "requires": {
+        "for-in": "1.0.2",
+        "is-extendable": "1.0.1"
+      },
+      "dependencies": {
+        "is-extendable": {
+          "version": "1.0.1",
+          "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+          "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+          "requires": {
+            "is-plain-object": "2.0.4"
+          }
+        }
+      }
+    },
+    "mkdirp": {
+      "version": "0.5.1",
+      "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
+      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "requires": {
+        "minimist": "0.0.8"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "0.0.8",
+          "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
+          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+        }
+      }
+    },
+    "ms": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+    },
+    "nan": {
+      "version": "2.10.0",
+      "resolved": "http://registry.npm.taobao.org/nan/download/nan-2.10.0.tgz",
+      "integrity": "sha1-ltDNYQ69WNS03pzAxoKM2pnHVI8="
+    },
+    "nanomatch": {
+      "version": "1.2.13",
+      "resolved": "http://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
+      "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=",
+      "requires": {
+        "arr-diff": "4.0.0",
+        "array-unique": "0.3.2",
+        "define-property": "2.0.2",
+        "extend-shallow": "3.0.2",
+        "fragment-cache": "0.2.1",
+        "is-windows": "1.0.2",
+        "kind-of": "6.0.2",
+        "object.pick": "1.3.0",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      }
+    },
+    "nice-try": {
+      "version": "1.0.4",
+      "resolved": "http://registry.npm.taobao.org/nice-try/download/nice-try-1.0.4.tgz",
+      "integrity": "sha1-2Tli9sUvLBVYwPvabVEoGfHv4cQ="
+    },
+    "node-forge": {
+      "version": "0.7.5",
+      "resolved": "http://registry.npm.taobao.org/node-forge/download/node-forge-0.7.5.tgz",
+      "integrity": "sha1-bBUsNFzhHFL0ZcKr2VfoY5zWdN8="
+    },
+    "node-gyp": {
+      "version": "3.7.0",
+      "resolved": "http://registry.npm.taobao.org/node-gyp/download/node-gyp-3.7.0.tgz",
+      "integrity": "sha1-eJR46PbEXid6oBTz4o+VjyhvkgM=",
+      "requires": {
+        "fstream": "1.0.11",
+        "glob": "7.1.2",
+        "graceful-fs": "4.1.11",
+        "mkdirp": "0.5.1",
+        "nopt": "3.0.6",
+        "npmlog": "4.1.2",
+        "osenv": "0.1.5",
+        "request": "2.81.0",
+        "rimraf": "2.6.2",
+        "semver": "5.3.0",
+        "tar": "2.2.1",
+        "which": "1.3.1"
+      },
+      "dependencies": {
+        "request": {
+          "version": "2.81.0",
+          "resolved": "http://registry.npm.taobao.org/request/download/request-2.81.0.tgz",
+          "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+          "requires": {
+            "aws-sign2": "0.6.0",
+            "aws4": "1.7.0",
+            "caseless": "0.12.0",
+            "combined-stream": "1.0.6",
+            "extend": "3.0.2",
+            "forever-agent": "0.6.1",
+            "form-data": "2.1.4",
+            "har-validator": "4.2.1",
+            "hawk": "3.1.3",
+            "http-signature": "1.1.1",
+            "is-typedarray": "1.0.0",
+            "isstream": "0.1.2",
+            "json-stringify-safe": "5.0.1",
+            "mime-types": "2.1.19",
+            "oauth-sign": "0.8.2",
+            "performance-now": "0.2.0",
+            "qs": "6.4.0",
+            "safe-buffer": "5.1.2",
+            "stringstream": "0.0.6",
+            "tough-cookie": "2.3.4",
+            "tunnel-agent": "0.6.0",
+            "uuid": "3.3.2"
+          }
+        },
+        "semver": {
+          "version": "5.3.0",
+          "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz",
+          "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
+        }
+      }
+    },
+    "node-libs-browser": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.1.0.tgz",
+      "integrity": "sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8=",
+      "requires": {
+        "assert": "1.4.1",
+        "browserify-zlib": "0.2.0",
+        "buffer": "4.9.1",
+        "console-browserify": "1.1.0",
+        "constants-browserify": "1.0.0",
+        "crypto-browserify": "3.12.0",
+        "domain-browser": "1.2.0",
+        "events": "1.1.1",
+        "https-browserify": "1.0.0",
+        "os-browserify": "0.3.0",
+        "path-browserify": "0.0.0",
+        "process": "0.11.10",
+        "punycode": "1.4.1",
+        "querystring-es3": "0.2.1",
+        "readable-stream": "2.3.6",
+        "stream-browserify": "2.0.1",
+        "stream-http": "2.8.3",
+        "string_decoder": "1.1.1",
+        "timers-browserify": "2.0.10",
+        "tty-browserify": "0.0.0",
+        "url": "0.11.0",
+        "util": "0.10.4",
+        "vm-browserify": "0.0.4"
+      }
+    },
+    "node-releases": {
+      "version": "1.0.0-alpha.10",
+      "resolved": "http://registry.npm.taobao.org/node-releases/download/node-releases-1.0.0-alpha.10.tgz",
+      "integrity": "sha1-YcjV+bWy4F2E66lB0FtvUgL2iio=",
+      "requires": {
+        "semver": "5.5.0"
+      }
+    },
+    "node-sass": {
+      "version": "4.9.2",
+      "resolved": "http://registry.npm.taobao.org/node-sass/download/node-sass-4.9.2.tgz",
+      "integrity": "sha1-XmP+a9DyrjrJ1sFO3oYg4ri9tDc=",
+      "requires": {
+        "async-foreach": "0.1.3",
+        "chalk": "1.1.3",
+        "cross-spawn": "3.0.1",
+        "gaze": "1.1.3",
+        "get-stdin": "4.0.1",
+        "glob": "7.1.2",
+        "in-publish": "2.0.0",
+        "lodash.assign": "4.2.0",
+        "lodash.clonedeep": "4.5.0",
+        "lodash.mergewith": "4.6.1",
+        "meow": "3.7.0",
+        "mkdirp": "0.5.1",
+        "nan": "2.10.0",
+        "node-gyp": "3.7.0",
+        "npmlog": "4.1.2",
+        "request": "2.87.0",
+        "sass-graph": "2.2.4",
+        "stdout-stream": "1.4.0",
+        "true-case-path": "1.0.2"
+      }
+    },
+    "nopt": {
+      "version": "3.0.6",
+      "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz",
+      "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+      "requires": {
+        "abbrev": "1.1.1"
+      }
+    },
+    "normalize-package-data": {
+      "version": "2.4.0",
+      "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz",
+      "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
+      "requires": {
+        "hosted-git-info": "2.7.1",
+        "is-builtin-module": "1.0.0",
+        "semver": "5.5.0",
+        "validate-npm-package-license": "3.0.3"
+      }
+    },
+    "normalize-path": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz",
+      "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=",
+      "dev": true
+    },
+    "normalize-range": {
+      "version": "0.1.2",
+      "resolved": "http://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz",
+      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
+    },
+    "normalize-url": {
+      "version": "3.2.0",
+      "resolved": "http://registry.npm.taobao.org/normalize-url/download/normalize-url-3.2.0.tgz",
+      "integrity": "sha1-mNCUivyCgp83QyD0Bf6cpVpfhWc="
+    },
+    "npm-path": {
+      "version": "2.0.4",
+      "resolved": "http://registry.npm.taobao.org/npm-path/download/npm-path-2.0.4.tgz",
+      "integrity": "sha1-xkE0el/51qCeTZvOVYDE9QUnjmQ=",
+      "dev": true,
+      "requires": {
+        "which": "1.3.1"
+      }
+    },
+    "npm-run-path": {
+      "version": "2.0.2",
+      "resolved": "http://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz",
+      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+      "dev": true,
+      "requires": {
+        "path-key": "2.0.1"
+      }
+    },
+    "npm-which": {
+      "version": "3.0.1",
+      "resolved": "http://registry.npm.taobao.org/npm-which/download/npm-which-3.0.1.tgz",
+      "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=",
+      "dev": true,
+      "requires": {
+        "commander": "2.16.0",
+        "npm-path": "2.0.4",
+        "which": "1.3.1"
+      }
+    },
+    "npmlog": {
+      "version": "4.1.2",
+      "resolved": "http://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz",
+      "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=",
+      "requires": {
+        "are-we-there-yet": "1.1.5",
+        "console-control-strings": "1.1.0",
+        "gauge": "2.7.4",
+        "set-blocking": "2.0.0"
+      }
+    },
+    "nth-check": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/nth-check/download/nth-check-1.0.1.tgz",
+      "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
+      "requires": {
+        "boolbase": "1.0.0"
+      }
+    },
+    "num2fraction": {
+      "version": "1.2.2",
+      "resolved": "http://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz",
+      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
+    },
+    "number-is-nan": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+    },
+    "oauth-sign": {
+      "version": "0.8.2",
+      "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz",
+      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
+    },
+    "object-assign": {
+      "version": "4.1.1",
+      "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+    },
+    "object-copy": {
+      "version": "0.1.0",
+      "resolved": "http://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz",
+      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+      "requires": {
+        "copy-descriptor": "0.1.1",
+        "define-property": "0.2.5",
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        },
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "object-inspect": {
+      "version": "1.4.1",
+      "resolved": "http://registry.npm.taobao.org/object-inspect/download/object-inspect-1.4.1.tgz",
+      "integrity": "sha1-N/+xDnGtrzdI0F9xO0yUUvQCy8Q="
+    },
+    "object-keys": {
+      "version": "1.0.12",
+      "resolved": "http://registry.npm.taobao.org/object-keys/download/object-keys-1.0.12.tgz",
+      "integrity": "sha1-CcU4VTd1dTEMymL1W7M0q/97PtI="
+    },
+    "object-visit": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz",
+      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+      "requires": {
+        "isobject": "3.0.1"
+      }
+    },
+    "object.getownpropertydescriptors": {
+      "version": "2.0.3",
+      "resolved": "http://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.0.3.tgz",
+      "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+      "requires": {
+        "define-properties": "1.1.2",
+        "es-abstract": "1.12.0"
+      }
+    },
+    "object.pick": {
+      "version": "1.3.0",
+      "resolved": "http://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz",
+      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+      "requires": {
+        "isobject": "3.0.1"
+      }
+    },
+    "object.values": {
+      "version": "1.0.4",
+      "resolved": "http://registry.npm.taobao.org/object.values/download/object.values-1.0.4.tgz",
+      "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=",
+      "requires": {
+        "define-properties": "1.1.2",
+        "es-abstract": "1.12.0",
+        "function-bind": "1.1.1",
+        "has": "1.0.3"
+      }
+    },
+    "on-finished": {
+      "version": "2.3.0",
+      "resolved": "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
+      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+      "requires": {
+        "ee-first": "1.1.1"
+      }
+    },
+    "once": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "requires": {
+        "wrappy": "1.0.2"
+      }
+    },
+    "onetime": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz",
+      "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+      "dev": true
+    },
+    "opn": {
+      "version": "5.3.0",
+      "resolved": "http://registry.npm.taobao.org/opn/download/opn-5.3.0.tgz",
+      "integrity": "sha1-ZIcVZchjh18FLP31PT48ta21Oxw=",
+      "requires": {
+        "is-wsl": "1.1.0"
+      }
+    },
+    "optionator": {
+      "version": "0.8.2",
+      "resolved": "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz",
+      "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+      "requires": {
+        "deep-is": "0.1.3",
+        "fast-levenshtein": "2.0.6",
+        "levn": "0.3.0",
+        "prelude-ls": "1.1.2",
+        "type-check": "0.3.2",
+        "wordwrap": "1.0.0"
+      }
+    },
+    "ora": {
+      "version": "0.2.3",
+      "resolved": "http://registry.npm.taobao.org/ora/download/ora-0.2.3.tgz",
+      "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3",
+        "cli-cursor": "1.0.2",
+        "cli-spinners": "0.1.2",
+        "object-assign": "4.1.1"
+      }
+    },
+    "os-browserify": {
+      "version": "0.3.0",
+      "resolved": "http://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz",
+      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
+    },
+    "os-homedir": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz",
+      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
+    },
+    "os-locale": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz",
+      "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+      "requires": {
+        "lcid": "1.0.0"
+      }
+    },
+    "os-tmpdir": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+    },
+    "osenv": {
+      "version": "0.1.5",
+      "resolved": "http://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz",
+      "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=",
+      "requires": {
+        "os-homedir": "1.0.2",
+        "os-tmpdir": "1.0.2"
+      }
+    },
+    "p-finally": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
+      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+      "dev": true
+    },
+    "p-map": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz",
+      "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=",
+      "dev": true
+    },
+    "pako": {
+      "version": "0.2.9",
+      "resolved": "http://registry.npm.taobao.org/pako/download/pako-0.2.9.tgz",
+      "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU="
+    },
+    "parcel-bundler": {
+      "version": "1.9.7",
+      "resolved": "http://registry.npm.taobao.org/parcel-bundler/download/parcel-bundler-1.9.7.tgz",
+      "integrity": "sha1-XNAIUN6gJU03cAXVWrS/YEKborw=",
+      "requires": {
+        "ansi-to-html": "0.6.6",
+        "babel-code-frame": "6.26.0",
+        "babel-core": "6.26.3",
+        "babel-generator": "6.26.1",
+        "babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
+        "babel-plugin-transform-react-jsx": "6.24.1",
+        "babel-preset-env": "1.7.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0",
+        "babylon": "6.18.0",
+        "babylon-walk": "1.0.2",
+        "browserslist": "3.2.8",
+        "chalk": "2.4.1",
+        "clone": "2.1.2",
+        "command-exists": "1.2.7",
+        "commander": "2.16.0",
+        "cross-spawn": "6.0.5",
+        "cssnano": "4.0.5",
+        "deasync": "0.1.13",
+        "dotenv": "5.0.1",
+        "fast-glob": "2.2.2",
+        "filesize": "3.6.1",
+        "fswatcher-child": "1.0.5",
+        "get-port": "3.2.0",
+        "grapheme-breaker": "0.3.2",
+        "htmlnano": "0.1.10",
+        "is-glob": "4.0.0",
+        "is-url": "1.2.4",
+        "js-yaml": "3.12.0",
+        "json5": "1.0.1",
+        "micromatch": "3.1.10",
+        "mkdirp": "0.5.1",
+        "node-forge": "0.7.5",
+        "node-libs-browser": "2.1.0",
+        "opn": "5.3.0",
+        "ora": "2.1.0",
+        "physical-cpu-count": "2.0.0",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0",
+        "posthtml": "0.11.3",
+        "posthtml-parser": "0.4.1",
+        "posthtml-render": "1.1.4",
+        "resolve": "1.8.1",
+        "semver": "5.5.0",
+        "serialize-to-js": "1.2.1",
+        "serve-static": "1.13.2",
+        "source-map": "0.6.1",
+        "strip-ansi": "4.0.0",
+        "terser": "3.8.1",
+        "toml": "2.3.3",
+        "tomlify-j0.4": "3.0.0",
+        "v8-compile-cache": "2.0.0",
+        "ws": "5.2.2"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+        },
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
+          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+          "requires": {
+            "color-convert": "1.9.2"
+          }
+        },
+        "chalk": {
+          "version": "2.4.1",
+          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz",
+          "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.4.0"
+          }
+        },
+        "cli-cursor": {
+          "version": "2.1.0",
+          "resolved": "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz",
+          "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+          "requires": {
+            "restore-cursor": "2.0.0"
+          }
+        },
+        "cli-spinners": {
+          "version": "1.3.1",
+          "resolved": "http://registry.npm.taobao.org/cli-spinners/download/cli-spinners-1.3.1.tgz",
+          "integrity": "sha1-ACwZkJEtDVlYDJO9NsBW3pnkJZo="
+        },
+        "cross-spawn": {
+          "version": "6.0.5",
+          "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
+          "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+          "requires": {
+            "nice-try": "1.0.4",
+            "path-key": "2.0.1",
+            "semver": "5.5.0",
+            "shebang-command": "1.2.0",
+            "which": "1.3.1"
+          }
+        },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "http://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz",
+          "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=",
+          "requires": {
+            "minimist": "1.2.0"
+          }
+        },
+        "onetime": {
+          "version": "2.0.1",
+          "resolved": "http://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
+          "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+          "requires": {
+            "mimic-fn": "1.2.0"
+          }
+        },
+        "ora": {
+          "version": "2.1.0",
+          "resolved": "http://registry.npm.taobao.org/ora/download/ora-2.1.0.tgz",
+          "integrity": "sha1-bK8oMOuSSUGGHsU6FzeZ4Ai1Hls=",
+          "requires": {
+            "chalk": "2.4.1",
+            "cli-cursor": "2.1.0",
+            "cli-spinners": "1.3.1",
+            "log-symbols": "2.2.0",
+            "strip-ansi": "4.0.0",
+            "wcwidth": "1.0.1"
+          }
+        },
+        "restore-cursor": {
+          "version": "2.0.0",
+          "resolved": "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
+          "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+          "requires": {
+            "onetime": "2.0.1",
+            "signal-exit": "3.0.2"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        },
+        "strip-ansi": {
+          "version": "4.0.0",
+          "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+          "requires": {
+            "ansi-regex": "3.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "5.4.0",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz",
+          "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=",
+          "requires": {
+            "has-flag": "3.0.0"
+          }
+        }
+      }
+    },
+    "parcel-plugin-html": {
+      "version": "1.0.21",
+      "resolved": "http://registry.npm.taobao.org/parcel-plugin-html/download/parcel-plugin-html-1.0.21.tgz",
+      "integrity": "sha1-oF5BqLxLUSCbkeS2Uq360uXY6Ns=",
+      "dev": true
+    },
+    "parse-asn1": {
+      "version": "5.1.1",
+      "resolved": "http://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.1.tgz",
+      "integrity": "sha1-9r8pOBgzK9DatU77Fgh3JHRebKg=",
+      "requires": {
+        "asn1.js": "4.10.1",
+        "browserify-aes": "1.2.0",
+        "create-hash": "1.2.0",
+        "evp_bytestokey": "1.0.3",
+        "pbkdf2": "3.0.16"
+      }
+    },
+    "parse-json": {
+      "version": "2.2.0",
+      "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
+      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+      "requires": {
+        "error-ex": "1.3.2"
+      }
+    },
+    "parseurl": {
+      "version": "1.3.2",
+      "resolved": "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.2.tgz",
+      "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
+    },
+    "pascalcase": {
+      "version": "0.1.1",
+      "resolved": "http://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz",
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
+    },
+    "path-browserify": {
+      "version": "0.0.0",
+      "resolved": "http://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.0.tgz",
+      "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo="
+    },
+    "path-dirname": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz",
+      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
+    },
+    "path-exists": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
+      "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+      "requires": {
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+    },
+    "path-is-inside": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz",
+      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+      "dev": true
+    },
+    "path-key": {
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz",
+      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+    },
+    "path-parse": {
+      "version": "1.0.6",
+      "resolved": "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz",
+      "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw="
+    },
+    "path-type": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz",
+      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "pbkdf2": {
+      "version": "3.0.16",
+      "resolved": "http://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.16.tgz",
+      "integrity": "sha1-dAQgjsawG2LYW/g4U6gGT42cKlw=",
+      "requires": {
+        "create-hash": "1.2.0",
+        "create-hmac": "1.1.7",
+        "ripemd160": "2.0.2",
+        "safe-buffer": "5.1.2",
+        "sha.js": "2.4.11"
+      }
+    },
+    "performance-now": {
+      "version": "0.2.0",
+      "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz",
+      "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
+    },
+    "physical-cpu-count": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/physical-cpu-count/download/physical-cpu-count-2.0.0.tgz",
+      "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA="
+    },
+    "pify": {
+      "version": "2.3.0",
+      "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+    },
+    "pinkie": {
+      "version": "2.0.4",
+      "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
+    },
+    "pinkie-promise": {
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
+      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+      "requires": {
+        "pinkie": "2.0.4"
+      }
+    },
+    "please-upgrade-node": {
+      "version": "3.1.1",
+      "resolved": "http://registry.npm.taobao.org/please-upgrade-node/download/please-upgrade-node-3.1.1.tgz",
+      "integrity": "sha1-7TIAUd/MUCT65pZxLIKImTWV6Kw=",
+      "dev": true,
+      "requires": {
+        "semver-compare": "1.0.0"
+      }
+    },
+    "posix-character-classes": {
+      "version": "0.1.1",
+      "resolved": "http://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz",
+      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
+    },
+    "postcss": {
+      "version": "6.0.23",
+      "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz",
+      "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=",
+      "requires": {
+        "chalk": "2.4.1",
+        "source-map": "0.6.1",
+        "supports-color": "5.4.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
+          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+          "requires": {
+            "color-convert": "1.9.2"
+          }
+        },
+        "chalk": {
+          "version": "2.4.1",
+          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz",
+          "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.4.0"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        },
+        "supports-color": {
+          "version": "5.4.0",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz",
+          "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=",
+          "requires": {
+            "has-flag": "3.0.0"
+          }
+        }
+      }
+    },
+    "postcss-calc": {
+      "version": "6.0.1",
+      "resolved": "http://registry.npm.taobao.org/postcss-calc/download/postcss-calc-6.0.1.tgz",
+      "integrity": "sha1-PSQXG79udinUIqQ26/5t2VEfQzA=",
+      "requires": {
+        "css-unit-converter": "1.1.1",
+        "postcss": "6.0.23",
+        "postcss-selector-parser": "2.2.3",
+        "reduce-css-calc": "2.1.4"
+      }
+    },
+    "postcss-colormin": {
+      "version": "4.0.1",
+      "resolved": "http://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.1.tgz",
+      "integrity": "sha1-bxwYoBVbxpYT8v8ThD4uSuj/C74=",
+      "requires": {
+        "browserslist": "4.0.1",
+        "color": "3.0.0",
+        "has": "1.0.3",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      },
+      "dependencies": {
+        "browserslist": {
+          "version": "4.0.1",
+          "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-4.0.1.tgz",
+          "integrity": "sha1-YcBc4qWEPH2WFmQIvCPVi1QW6Bg=",
+          "requires": {
+            "caniuse-lite": "1.0.30000865",
+            "electron-to-chromium": "1.3.52",
+            "node-releases": "1.0.0-alpha.10"
+          }
+        }
+      }
+    },
+    "postcss-convert-values": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.0.tgz",
+      "integrity": "sha1-d9d9mu0dxOaVbmUcw0nVMwWHb2I=",
+      "requires": {
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-discard-comments": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.0.tgz",
+      "integrity": "sha1-loSimedrPpMmPvj9KtvxocCP2I0=",
+      "requires": {
+        "postcss": "6.0.23"
+      }
+    },
+    "postcss-discard-duplicates": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.0.tgz",
+      "integrity": "sha1-QvPCZ/hfqQngQsNXZ+z9Zcsr1yw=",
+      "requires": {
+        "postcss": "6.0.23"
+      }
+    },
+    "postcss-discard-empty": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.0.tgz",
+      "integrity": "sha1-VeGKWcdBKOOMfSgEvPpAVmEfuX8=",
+      "requires": {
+        "postcss": "6.0.23"
+      }
+    },
+    "postcss-discard-overridden": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.0.tgz",
+      "integrity": "sha1-Sgv4WXh4TPH4HtLBwf2dlkodofo=",
+      "requires": {
+        "postcss": "6.0.23"
+      }
+    },
+    "postcss-discard-unused": {
+      "version": "2.2.3",
+      "resolved": "http://registry.npm.taobao.org/postcss-discard-unused/download/postcss-discard-unused-2.2.3.tgz",
+      "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+      "requires": {
+        "postcss": "5.2.18",
+        "uniqs": "2.0.0"
+      },
+      "dependencies": {
+        "has-flag": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+          "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
+        },
+        "postcss": {
+          "version": "5.2.18",
+          "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz",
+          "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+          "requires": {
+            "chalk": "1.1.3",
+            "js-base64": "2.4.8",
+            "source-map": "0.5.7",
+            "supports-color": "3.2.3"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        },
+        "supports-color": {
+          "version": "3.2.3",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz",
+          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+          "requires": {
+            "has-flag": "1.0.0"
+          }
+        }
+      }
+    },
+    "postcss-filter-plugins": {
+      "version": "2.0.3",
+      "resolved": "http://registry.npm.taobao.org/postcss-filter-plugins/download/postcss-filter-plugins-2.0.3.tgz",
+      "integrity": "sha1-giRf34IzcEFkXkdxFNjlk6oYuOw=",
+      "requires": {
+        "postcss": "5.2.18"
+      },
+      "dependencies": {
+        "has-flag": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+          "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
+        },
+        "postcss": {
+          "version": "5.2.18",
+          "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz",
+          "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+          "requires": {
+            "chalk": "1.1.3",
+            "js-base64": "2.4.8",
+            "source-map": "0.5.7",
+            "supports-color": "3.2.3"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        },
+        "supports-color": {
+          "version": "3.2.3",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz",
+          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+          "requires": {
+            "has-flag": "1.0.0"
+          }
+        }
+      }
+    },
+    "postcss-merge-idents": {
+      "version": "2.1.7",
+      "resolved": "http://registry.npm.taobao.org/postcss-merge-idents/download/postcss-merge-idents-2.1.7.tgz",
+      "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+      "requires": {
+        "has": "1.0.3",
+        "postcss": "5.2.18",
+        "postcss-value-parser": "3.3.0"
+      },
+      "dependencies": {
+        "has-flag": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+          "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
+        },
+        "postcss": {
+          "version": "5.2.18",
+          "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz",
+          "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+          "requires": {
+            "chalk": "1.1.3",
+            "js-base64": "2.4.8",
+            "source-map": "0.5.7",
+            "supports-color": "3.2.3"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        },
+        "supports-color": {
+          "version": "3.2.3",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz",
+          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+          "requires": {
+            "has-flag": "1.0.0"
+          }
+        }
+      }
+    },
+    "postcss-merge-longhand": {
+      "version": "4.0.4",
+      "resolved": "http://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.4.tgz",
+      "integrity": "sha1-v/x8b/oUZZHJk6C7g3PWX5oG1NA=",
+      "requires": {
+        "css-color-names": "0.0.4",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0",
+        "stylehacks": "4.0.0"
+      }
+    },
+    "postcss-merge-rules": {
+      "version": "4.0.1",
+      "resolved": "http://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.1.tgz",
+      "integrity": "sha1-Qw/Vmz8u0uivzQsxJ47aOYVKuxA=",
+      "requires": {
+        "browserslist": "4.0.1",
+        "caniuse-api": "3.0.0",
+        "cssnano-util-same-parent": "4.0.0",
+        "postcss": "6.0.23",
+        "postcss-selector-parser": "3.1.1",
+        "vendors": "1.0.2"
+      },
+      "dependencies": {
+        "browserslist": {
+          "version": "4.0.1",
+          "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-4.0.1.tgz",
+          "integrity": "sha1-YcBc4qWEPH2WFmQIvCPVi1QW6Bg=",
+          "requires": {
+            "caniuse-lite": "1.0.30000865",
+            "electron-to-chromium": "1.3.52",
+            "node-releases": "1.0.0-alpha.10"
+          }
+        },
+        "postcss-selector-parser": {
+          "version": "3.1.1",
+          "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
+          "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+          "requires": {
+            "dot-prop": "4.2.0",
+            "indexes-of": "1.0.1",
+            "uniq": "1.0.1"
+          }
+        }
+      }
+    },
+    "postcss-message-helpers": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-message-helpers/download/postcss-message-helpers-2.0.0.tgz",
+      "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4="
+    },
+    "postcss-minify-font-values": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.0.tgz",
+      "integrity": "sha1-TMM9KD1qgXWQNudX75gdksvYW+0=",
+      "requires": {
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-minify-gradients": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.0.tgz",
+      "integrity": "sha1-P8ORZDnSepu4Bm23za2AFlDrCQ4=",
+      "requires": {
+        "cssnano-util-get-arguments": "4.0.0",
+        "is-color-stop": "1.1.0",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-minify-params": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.0.tgz",
+      "integrity": "sha1-BekWbuSMBa9lGYnOhNOcG015BnQ=",
+      "requires": {
+        "alphanum-sort": "1.0.2",
+        "cssnano-util-get-arguments": "4.0.0",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0",
+        "uniqs": "2.0.0"
+      }
+    },
+    "postcss-minify-selectors": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.0.tgz",
+      "integrity": "sha1-sen2xGNBbT/Nyybnt4XZX2FXiq0=",
+      "requires": {
+        "alphanum-sort": "1.0.2",
+        "has": "1.0.3",
+        "postcss": "6.0.23",
+        "postcss-selector-parser": "3.1.1"
+      },
+      "dependencies": {
+        "postcss-selector-parser": {
+          "version": "3.1.1",
+          "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
+          "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+          "requires": {
+            "dot-prop": "4.2.0",
+            "indexes-of": "1.0.1",
+            "uniq": "1.0.1"
+          }
+        }
+      }
+    },
+    "postcss-modules": {
+      "version": "1.3.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-modules/download/postcss-modules-1.3.0.tgz",
+      "integrity": "sha1-XK2wyhLcnvjpetQ43j3xoGTguOM=",
+      "dev": true,
+      "requires": {
+        "css-modules-loader-core": "1.1.0",
+        "generic-names": "1.0.3",
+        "husky": "0.14.3",
+        "lint-staged": "7.2.0",
+        "lodash.camelcase": "4.3.0",
+        "postcss": "7.0.1",
+        "prettier": "1.13.7",
+        "string-hash": "1.1.3"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
+          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.2"
+          }
+        },
+        "chalk": {
+          "version": "2.4.1",
+          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz",
+          "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.4.0"
+          }
+        },
+        "postcss": {
+          "version": "7.0.1",
+          "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-7.0.1.tgz",
+          "integrity": "sha1-2yDKT8kKpWgJZ07qdYZBSMZrZ/o=",
+          "dev": true,
+          "requires": {
+            "chalk": "2.4.1",
+            "source-map": "0.6.1",
+            "supports-color": "5.4.0"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "5.4.0",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz",
+          "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=",
+          "dev": true,
+          "requires": {
+            "has-flag": "3.0.0"
+          }
+        }
+      }
+    },
+    "postcss-modules-extract-imports": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.1.0.tgz",
+      "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=",
+      "dev": true,
+      "requires": {
+        "postcss": "6.0.23"
+      }
+    },
+    "postcss-modules-local-by-default": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz",
+      "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+      "dev": true,
+      "requires": {
+        "css-selector-tokenizer": "0.7.0",
+        "postcss": "6.0.23"
+      }
+    },
+    "postcss-modules-scope": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz",
+      "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+      "dev": true,
+      "requires": {
+        "css-selector-tokenizer": "0.7.0",
+        "postcss": "6.0.23"
+      }
+    },
+    "postcss-modules-values": {
+      "version": "1.3.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz",
+      "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+      "dev": true,
+      "requires": {
+        "icss-replace-symbols": "1.1.0",
+        "postcss": "6.0.23"
+      }
+    },
+    "postcss-normalize-charset": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.0.tgz",
+      "integrity": "sha1-JFJyknAtXoEp6vo9HeSe1RpqtzA=",
+      "requires": {
+        "postcss": "6.0.23"
+      }
+    },
+    "postcss-normalize-display-values": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.0.tgz",
+      "integrity": "sha1-lQ4Me+NEV3ChYP/9a2ZEw8DNj4k=",
+      "requires": {
+        "cssnano-util-get-match": "4.0.0",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-normalize-positions": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.0.tgz",
+      "integrity": "sha1-7pNDq5gbgixjq3JhXszNCFZERaM=",
+      "requires": {
+        "cssnano-util-get-arguments": "4.0.0",
+        "has": "1.0.3",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-normalize-repeat-style": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.0.tgz",
+      "integrity": "sha1-txHFks8W+vn/V15C+hALZ5kIPv8=",
+      "requires": {
+        "cssnano-util-get-arguments": "4.0.0",
+        "cssnano-util-get-match": "4.0.0",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-normalize-string": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.0.tgz",
+      "integrity": "sha1-cYy20wpvrGrGqDDjLAbAfbxm/l0=",
+      "requires": {
+        "has": "1.0.3",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-normalize-timing-functions": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.0.tgz",
+      "integrity": "sha1-A1HymIaqmB1D2RssK9GuptCvbSM=",
+      "requires": {
+        "cssnano-util-get-match": "4.0.0",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-normalize-unicode": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.0.tgz",
+      "integrity": "sha1-Ws1dR7rqXRdnSyzMSuUWb6iM35c=",
+      "requires": {
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-normalize-url": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.0.tgz",
+      "integrity": "sha1-t6nIrSbPJmlMFG6y1ovQz0mVbw0=",
+      "requires": {
+        "is-absolute-url": "2.1.0",
+        "normalize-url": "3.2.0",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-normalize-whitespace": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.0.tgz",
+      "integrity": "sha1-HafnaxCuY8EYJ/oE/Du0oe/pnMA=",
+      "requires": {
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-ordered-values": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.0.0.tgz",
+      "integrity": "sha1-WLQMdPcuAi6zQVLBLksPk1RIL8I=",
+      "requires": {
+        "cssnano-util-get-arguments": "4.0.0",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-reduce-idents": {
+      "version": "2.4.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-reduce-idents/download/postcss-reduce-idents-2.4.0.tgz",
+      "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+      "requires": {
+        "postcss": "5.2.18",
+        "postcss-value-parser": "3.3.0"
+      },
+      "dependencies": {
+        "has-flag": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+          "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
+        },
+        "postcss": {
+          "version": "5.2.18",
+          "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz",
+          "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+          "requires": {
+            "chalk": "1.1.3",
+            "js-base64": "2.4.8",
+            "source-map": "0.5.7",
+            "supports-color": "3.2.3"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        },
+        "supports-color": {
+          "version": "3.2.3",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz",
+          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+          "requires": {
+            "has-flag": "1.0.0"
+          }
+        }
+      }
+    },
+    "postcss-reduce-initial": {
+      "version": "4.0.1",
+      "resolved": "http://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.1.tgz",
+      "integrity": "sha1-8tWPUM6isMXcEnjW6l7Q/1gpwpM=",
+      "requires": {
+        "browserslist": "4.0.1",
+        "caniuse-api": "3.0.0",
+        "has": "1.0.3",
+        "postcss": "6.0.23"
+      },
+      "dependencies": {
+        "browserslist": {
+          "version": "4.0.1",
+          "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-4.0.1.tgz",
+          "integrity": "sha1-YcBc4qWEPH2WFmQIvCPVi1QW6Bg=",
+          "requires": {
+            "caniuse-lite": "1.0.30000865",
+            "electron-to-chromium": "1.3.52",
+            "node-releases": "1.0.0-alpha.10"
+          }
+        }
+      }
+    },
+    "postcss-reduce-transforms": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.0.tgz",
+      "integrity": "sha1-9kX8dEDDUnT0DegQThStcWPt8Yg=",
+      "requires": {
+        "cssnano-util-get-match": "4.0.0",
+        "has": "1.0.3",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-selector-parser": {
+      "version": "2.2.3",
+      "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-2.2.3.tgz",
+      "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+      "requires": {
+        "flatten": "1.0.2",
+        "indexes-of": "1.0.1",
+        "uniq": "1.0.1"
+      }
+    },
+    "postcss-svgo": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.0.tgz",
+      "integrity": "sha1-wLutAlIPxjbJ14sOhAPi5RXDIoU=",
+      "requires": {
+        "is-svg": "3.0.0",
+        "postcss": "6.0.23",
+        "postcss-value-parser": "3.3.0",
+        "svgo": "1.0.5"
+      }
+    },
+    "postcss-unique-selectors": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.0.tgz",
+      "integrity": "sha1-BMHpdkx1h0JhMDQCxB8Ol2n8VQE=",
+      "requires": {
+        "alphanum-sort": "1.0.2",
+        "postcss": "6.0.23",
+        "uniqs": "2.0.0"
+      }
+    },
+    "postcss-value-parser": {
+      "version": "3.3.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.0.tgz",
+      "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU="
+    },
+    "postcss-zindex": {
+      "version": "2.2.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-zindex/download/postcss-zindex-2.2.0.tgz",
+      "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+      "requires": {
+        "has": "1.0.3",
+        "postcss": "5.2.18",
+        "uniqs": "2.0.0"
+      },
+      "dependencies": {
+        "has-flag": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+          "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
+        },
+        "postcss": {
+          "version": "5.2.18",
+          "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz",
+          "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+          "requires": {
+            "chalk": "1.1.3",
+            "js-base64": "2.4.8",
+            "source-map": "0.5.7",
+            "supports-color": "3.2.3"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        },
+        "supports-color": {
+          "version": "3.2.3",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz",
+          "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+          "requires": {
+            "has-flag": "1.0.0"
+          }
+        }
+      }
+    },
+    "posthtml": {
+      "version": "0.11.3",
+      "resolved": "http://registry.npm.taobao.org/posthtml/download/posthtml-0.11.3.tgz",
+      "integrity": "sha1-F+opIbBVW3RV8zyXe9Fti4y3Tyc=",
+      "requires": {
+        "object-assign": "4.1.1",
+        "posthtml-parser": "0.3.3",
+        "posthtml-render": "1.1.4"
+      },
+      "dependencies": {
+        "isobject": {
+          "version": "2.1.0",
+          "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
+          "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+          "requires": {
+            "isarray": "1.0.0"
+          }
+        },
+        "posthtml-parser": {
+          "version": "0.3.3",
+          "resolved": "http://registry.npm.taobao.org/posthtml-parser/download/posthtml-parser-0.3.3.tgz",
+          "integrity": "sha1-P+mG/KnwDA8QnXMbpZCxkvJud20=",
+          "requires": {
+            "htmlparser2": "3.9.2",
+            "isobject": "2.1.0",
+            "object-assign": "4.1.1"
+          }
+        }
+      }
+    },
+    "posthtml-parser": {
+      "version": "0.4.1",
+      "resolved": "http://registry.npm.taobao.org/posthtml-parser/download/posthtml-parser-0.4.1.tgz",
+      "integrity": "sha1-lbeP73Zvu+Cm+GG26VWCvD0f+TM=",
+      "requires": {
+        "htmlparser2": "3.9.2",
+        "object-assign": "4.1.1"
+      }
+    },
+    "posthtml-render": {
+      "version": "1.1.4",
+      "resolved": "http://registry.npm.taobao.org/posthtml-render/download/posthtml-render-1.1.4.tgz",
+      "integrity": "sha1-ldrAmJL08YP61ayCPwj0LAJWVR4="
+    },
+    "prelude-ls": {
+      "version": "1.1.2",
+      "resolved": "http://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
+      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
+    },
+    "prepend-http": {
+      "version": "1.0.4",
+      "resolved": "http://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz",
+      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
+    },
+    "prettier": {
+      "version": "1.13.7",
+      "resolved": "http://registry.npm.taobao.org/prettier/download/prettier-1.13.7.tgz",
+      "integrity": "sha1-hQ87iveEpJpuotLqp+0UKKNLcoE=",
+      "dev": true
+    },
+    "pretty-format": {
+      "version": "23.2.0",
+      "resolved": "http://registry.npm.taobao.org/pretty-format/download/pretty-format-23.2.0.tgz",
+      "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "3.0.0",
+        "ansi-styles": "3.2.1"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
+          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.2"
+          }
+        }
+      }
+    },
+    "private": {
+      "version": "0.1.8",
+      "resolved": "http://registry.npm.taobao.org/private/download/private-0.1.8.tgz",
+      "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8="
+    },
+    "process": {
+      "version": "0.11.10",
+      "resolved": "http://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
+      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+    },
+    "process-nextick-args": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz",
+      "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o="
+    },
+    "proto-list": {
+      "version": "1.2.4",
+      "resolved": "http://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz",
+      "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk="
+    },
+    "pseudomap": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+    },
+    "public-encrypt": {
+      "version": "4.0.2",
+      "resolved": "http://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.2.tgz",
+      "integrity": "sha1-RuuRByBr9zSJ+LhbadkTNMZhCZQ=",
+      "requires": {
+        "bn.js": "4.11.8",
+        "browserify-rsa": "4.0.1",
+        "create-hash": "1.2.0",
+        "parse-asn1": "5.1.1",
+        "randombytes": "2.0.6"
+      }
+    },
+    "punycode": {
+      "version": "1.4.1",
+      "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+    },
+    "q": {
+      "version": "1.5.1",
+      "resolved": "http://registry.npm.taobao.org/q/download/q-1.5.1.tgz",
+      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
+    },
+    "qs": {
+      "version": "6.4.0",
+      "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz",
+      "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
+    },
+    "query-string": {
+      "version": "4.3.4",
+      "resolved": "http://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz",
+      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+      "requires": {
+        "object-assign": "4.1.1",
+        "strict-uri-encode": "1.1.0"
+      }
+    },
+    "querystring": {
+      "version": "0.2.0",
+      "resolved": "http://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz",
+      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
+    },
+    "querystring-es3": {
+      "version": "0.2.1",
+      "resolved": "http://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz",
+      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
+    },
+    "quote-stream": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/quote-stream/download/quote-stream-1.0.2.tgz",
+      "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=",
+      "requires": {
+        "buffer-equal": "0.0.1",
+        "minimist": "1.2.0",
+        "through2": "2.0.3"
+      }
+    },
+    "randombytes": {
+      "version": "2.0.6",
+      "resolved": "http://registry.npm.taobao.org/randombytes/download/randombytes-2.0.6.tgz",
+      "integrity": "sha1-0wLFIpSFiISKjTAMkytEwkIx2oA=",
+      "requires": {
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "randomfill": {
+      "version": "1.0.4",
+      "resolved": "http://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz",
+      "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=",
+      "requires": {
+        "randombytes": "2.0.6",
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "range-parser": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz",
+      "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
+    },
+    "read-pkg": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz",
+      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+      "requires": {
+        "load-json-file": "1.1.0",
+        "normalize-package-data": "2.4.0",
+        "path-type": "1.1.0"
+      }
+    },
+    "read-pkg-up": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
+      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+      "requires": {
+        "find-up": "1.1.2",
+        "read-pkg": "1.1.0"
+      }
+    },
+    "readable-stream": {
+      "version": "2.3.6",
+      "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz",
+      "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+      "requires": {
+        "core-util-is": "1.0.2",
+        "inherits": "2.0.3",
+        "isarray": "1.0.0",
+        "process-nextick-args": "2.0.0",
+        "safe-buffer": "5.1.2",
+        "string_decoder": "1.1.1",
+        "util-deprecate": "1.0.2"
+      }
+    },
+    "readdirp": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/readdirp/download/readdirp-2.1.0.tgz",
+      "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "minimatch": "3.0.4",
+        "readable-stream": "2.3.6",
+        "set-immediate-shim": "1.0.1"
+      }
+    },
+    "redent": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz",
+      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+      "requires": {
+        "indent-string": "2.1.0",
+        "strip-indent": "1.0.1"
+      }
+    },
+    "reduce-css-calc": {
+      "version": "2.1.4",
+      "resolved": "http://registry.npm.taobao.org/reduce-css-calc/download/reduce-css-calc-2.1.4.tgz",
+      "integrity": "sha1-wg6c2oRFrXPU/0vqlgxvg1N5Fwg=",
+      "requires": {
+        "css-unit-converter": "1.1.1",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "reduce-function-call": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/reduce-function-call/download/reduce-function-call-1.0.2.tgz",
+      "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
+      "requires": {
+        "balanced-match": "0.4.2"
+      },
+      "dependencies": {
+        "balanced-match": {
+          "version": "0.4.2",
+          "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz",
+          "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg="
+        }
+      }
+    },
+    "regenerate": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz",
+      "integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE="
+    },
+    "regenerator-runtime": {
+      "version": "0.11.1",
+      "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz",
+      "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
+    },
+    "regenerator-transform": {
+      "version": "0.10.1",
+      "resolved": "http://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz",
+      "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=",
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "private": "0.1.8"
+      }
+    },
+    "regex-not": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz",
+      "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=",
+      "requires": {
+        "extend-shallow": "3.0.2",
+        "safe-regex": "1.1.0"
+      }
+    },
+    "regexpu-core": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz",
+      "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+      "requires": {
+        "regenerate": "1.4.0",
+        "regjsgen": "0.2.0",
+        "regjsparser": "0.1.5"
+      }
+    },
+    "regjsgen": {
+      "version": "0.2.0",
+      "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz",
+      "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
+    },
+    "regjsparser": {
+      "version": "0.1.5",
+      "resolved": "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz",
+      "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+      "requires": {
+        "jsesc": "0.5.0"
+      },
+      "dependencies": {
+        "jsesc": {
+          "version": "0.5.0",
+          "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
+          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
+        }
+      }
+    },
+    "remove-trailing-separator": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
+      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+    },
+    "repeat-element": {
+      "version": "1.1.2",
+      "resolved": "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz",
+      "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
+    },
+    "repeat-string": {
+      "version": "1.6.1",
+      "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+    },
+    "repeating": {
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz",
+      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+      "requires": {
+        "is-finite": "1.0.2"
+      }
+    },
+    "request": {
+      "version": "2.87.0",
+      "resolved": "http://registry.npm.taobao.org/request/download/request-2.87.0.tgz",
+      "integrity": "sha1-MvACNc0I1IK00NaNuTqCnA7VdW4=",
+      "requires": {
+        "aws-sign2": "0.7.0",
+        "aws4": "1.7.0",
+        "caseless": "0.12.0",
+        "combined-stream": "1.0.6",
+        "extend": "3.0.2",
+        "forever-agent": "0.6.1",
+        "form-data": "2.3.2",
+        "har-validator": "5.0.3",
+        "http-signature": "1.2.0",
+        "is-typedarray": "1.0.0",
+        "isstream": "0.1.2",
+        "json-stringify-safe": "5.0.1",
+        "mime-types": "2.1.19",
+        "oauth-sign": "0.8.2",
+        "performance-now": "2.1.0",
+        "qs": "6.5.2",
+        "safe-buffer": "5.1.2",
+        "tough-cookie": "2.3.4",
+        "tunnel-agent": "0.6.0",
+        "uuid": "3.3.2"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "5.5.2",
+          "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz",
+          "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+          "requires": {
+            "co": "4.6.0",
+            "fast-deep-equal": "1.1.0",
+            "fast-json-stable-stringify": "2.0.0",
+            "json-schema-traverse": "0.3.1"
+          }
+        },
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        },
+        "aws-sign2": {
+          "version": "0.7.0",
+          "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
+          "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
+        },
+        "form-data": {
+          "version": "2.3.2",
+          "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.3.2.tgz",
+          "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+          "requires": {
+            "asynckit": "0.4.0",
+            "combined-stream": "1.0.6",
+            "mime-types": "2.1.19"
+          }
+        },
+        "har-schema": {
+          "version": "2.0.0",
+          "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
+          "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
+        },
+        "har-validator": {
+          "version": "5.0.3",
+          "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-5.0.3.tgz",
+          "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+          "requires": {
+            "ajv": "5.5.2",
+            "har-schema": "2.0.0"
+          }
+        },
+        "http-signature": {
+          "version": "1.2.0",
+          "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz",
+          "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+          "requires": {
+            "assert-plus": "1.0.0",
+            "jsprim": "1.4.1",
+            "sshpk": "1.14.2"
+          }
+        },
+        "performance-now": {
+          "version": "2.1.0",
+          "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
+          "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+        },
+        "qs": {
+          "version": "6.5.2",
+          "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz",
+          "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY="
+        }
+      }
+    },
+    "require-directory": {
+      "version": "2.1.1",
+      "resolved": "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+    },
+    "require-main-filename": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
+      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+    },
+    "resolve": {
+      "version": "1.8.1",
+      "resolved": "http://registry.npm.taobao.org/resolve/download/resolve-1.8.1.tgz",
+      "integrity": "sha1-gvHsGaQjrB+9CAsLqwa6NuhKeiY=",
+      "requires": {
+        "path-parse": "1.0.6"
+      }
+    },
+    "resolve-url": {
+      "version": "0.2.1",
+      "resolved": "http://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz",
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
+    },
+    "restore-cursor": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz",
+      "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+      "dev": true,
+      "requires": {
+        "exit-hook": "1.1.1",
+        "onetime": "1.1.0"
+      }
+    },
+    "ret": {
+      "version": "0.1.15",
+      "resolved": "http://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz",
+      "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w="
+    },
+    "rgb-regex": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz",
+      "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE="
+    },
+    "rgba-regex": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz",
+      "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM="
+    },
+    "rimraf": {
+      "version": "2.6.2",
+      "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz",
+      "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=",
+      "requires": {
+        "glob": "7.1.2"
+      }
+    },
+    "ripemd160": {
+      "version": "2.0.2",
+      "resolved": "http://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz",
+      "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=",
+      "requires": {
+        "hash-base": "3.0.4",
+        "inherits": "2.0.3"
+      }
+    },
+    "rxjs": {
+      "version": "6.2.2",
+      "resolved": "http://registry.npm.taobao.org/rxjs/download/rxjs-6.2.2.tgz",
+      "integrity": "sha1-63X6PBhv9SiZB9Bkg6d4hFhuHPk=",
+      "dev": true,
+      "requires": {
+        "tslib": "1.9.3"
+      }
+    },
+    "safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+      "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+    },
+    "safe-regex": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz",
+      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+      "requires": {
+        "ret": "0.1.15"
+      }
+    },
+    "safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz",
+      "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
+    },
+    "safer-eval": {
+      "version": "1.2.3",
+      "resolved": "http://registry.npm.taobao.org/safer-eval/download/safer-eval-1.2.3.tgz",
+      "integrity": "sha1-c7p0o0vIoH1qRBNcgV/Rio7r56A=",
+      "requires": {
+        "clones": "1.1.0"
+      }
+    },
+    "sass-graph": {
+      "version": "2.2.4",
+      "resolved": "http://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.4.tgz",
+      "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+      "requires": {
+        "glob": "7.1.2",
+        "lodash": "4.17.10",
+        "scss-tokenizer": "0.2.3",
+        "yargs": "7.1.0"
+      }
+    },
+    "sax": {
+      "version": "1.2.4",
+      "resolved": "http://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
+      "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk="
+    },
+    "scss-tokenizer": {
+      "version": "0.2.3",
+      "resolved": "http://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz",
+      "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+      "requires": {
+        "js-base64": "2.4.8",
+        "source-map": "0.4.4"
+      }
+    },
+    "semver": {
+      "version": "5.5.0",
+      "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.5.0.tgz",
+      "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs="
+    },
+    "semver-compare": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/semver-compare/download/semver-compare-1.0.0.tgz",
+      "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
+      "dev": true
+    },
+    "send": {
+      "version": "0.16.2",
+      "resolved": "http://registry.npm.taobao.org/send/download/send-0.16.2.tgz",
+      "integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=",
+      "requires": {
+        "debug": "2.6.9",
+        "depd": "1.1.2",
+        "destroy": "1.0.4",
+        "encodeurl": "1.0.2",
+        "escape-html": "1.0.3",
+        "etag": "1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "1.6.3",
+        "mime": "1.4.1",
+        "ms": "2.0.0",
+        "on-finished": "2.3.0",
+        "range-parser": "1.2.0",
+        "statuses": "1.4.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        }
+      }
+    },
+    "serialize-to-js": {
+      "version": "1.2.1",
+      "resolved": "http://registry.npm.taobao.org/serialize-to-js/download/serialize-to-js-1.2.1.tgz",
+      "integrity": "sha1-Lof2H5OIJtJMRjp8vQ3Skp7DgAg=",
+      "requires": {
+        "js-beautify": "1.7.5",
+        "safer-eval": "1.2.3"
+      }
+    },
+    "serve-static": {
+      "version": "1.13.2",
+      "resolved": "http://registry.npm.taobao.org/serve-static/download/serve-static-1.13.2.tgz",
+      "integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=",
+      "requires": {
+        "encodeurl": "1.0.2",
+        "escape-html": "1.0.3",
+        "parseurl": "1.3.2",
+        "send": "0.16.2"
+      }
+    },
+    "set-blocking": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+    },
+    "set-immediate-shim": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz",
+      "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E="
+    },
+    "set-value": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/set-value/download/set-value-2.0.0.tgz",
+      "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=",
+      "requires": {
+        "extend-shallow": "2.0.1",
+        "is-extendable": "0.1.1",
+        "is-plain-object": "2.0.4",
+        "split-string": "3.1.0"
+      },
+      "dependencies": {
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "setimmediate": {
+      "version": "1.0.5",
+      "resolved": "http://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
+      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
+    },
+    "setprototypeof": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz",
+      "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY="
+    },
+    "sha.js": {
+      "version": "2.4.11",
+      "resolved": "http://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz",
+      "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=",
+      "requires": {
+        "inherits": "2.0.3",
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "shallow-copy": {
+      "version": "0.0.1",
+      "resolved": "http://registry.npm.taobao.org/shallow-copy/download/shallow-copy-0.0.1.tgz",
+      "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA="
+    },
+    "shebang-command": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz",
+      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+      "requires": {
+        "shebang-regex": "1.0.0"
+      }
+    },
+    "shebang-regex": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
+      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
+    },
+    "sigmund": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz",
+      "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA="
+    },
+    "signal-exit": {
+      "version": "3.0.2",
+      "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz",
+      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+    },
+    "simple-swizzle": {
+      "version": "0.2.2",
+      "resolved": "http://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz",
+      "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+      "requires": {
+        "is-arrayish": "0.3.2"
+      },
+      "dependencies": {
+        "is-arrayish": {
+          "version": "0.3.2",
+          "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz",
+          "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM="
+        }
+      }
+    },
+    "slash": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
+      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+    },
+    "slice-ansi": {
+      "version": "0.0.4",
+      "resolved": "http://registry.npm.taobao.org/slice-ansi/download/slice-ansi-0.0.4.tgz",
+      "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
+      "dev": true
+    },
+    "snapdragon": {
+      "version": "0.8.2",
+      "resolved": "http://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz",
+      "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=",
+      "requires": {
+        "base": "0.11.2",
+        "debug": "2.6.9",
+        "define-property": "0.2.5",
+        "extend-shallow": "2.0.1",
+        "map-cache": "0.2.2",
+        "source-map": "0.5.7",
+        "source-map-resolve": "0.5.2",
+        "use": "3.1.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        }
+      }
+    },
+    "snapdragon-node": {
+      "version": "2.1.1",
+      "resolved": "http://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz",
+      "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
+      "requires": {
+        "define-property": "1.0.0",
+        "isobject": "3.0.1",
+        "snapdragon-util": "3.0.1"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
+          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "requires": {
+            "is-descriptor": "1.0.2"
+          }
+        },
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+          "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+          "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+          "requires": {
+            "kind-of": "6.0.2"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.2"
+          }
+        }
+      }
+    },
+    "snapdragon-util": {
+      "version": "3.0.1",
+      "resolved": "http://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz",
+      "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
+      "requires": {
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "sntp": {
+      "version": "1.0.9",
+      "resolved": "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz",
+      "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+      "requires": {
+        "hoek": "2.16.3"
+      }
+    },
+    "sort-keys": {
+      "version": "1.1.2",
+      "resolved": "http://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz",
+      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+      "requires": {
+        "is-plain-obj": "1.1.0"
+      }
+    },
+    "source-map": {
+      "version": "0.4.4",
+      "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz",
+      "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+      "requires": {
+        "amdefine": "1.0.1"
+      }
+    },
+    "source-map-resolve": {
+      "version": "0.5.2",
+      "resolved": "http://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.2.tgz",
+      "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=",
+      "requires": {
+        "atob": "2.1.1",
+        "decode-uri-component": "0.2.0",
+        "resolve-url": "0.2.1",
+        "source-map-url": "0.4.0",
+        "urix": "0.1.0"
+      }
+    },
+    "source-map-support": {
+      "version": "0.4.18",
+      "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz",
+      "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
+      "requires": {
+        "source-map": "0.5.7"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        }
+      }
+    },
+    "source-map-url": {
+      "version": "0.4.0",
+      "resolved": "http://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz",
+      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
+    },
+    "spdx-correct": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.0.0.tgz",
+      "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=",
+      "requires": {
+        "spdx-expression-parse": "3.0.0",
+        "spdx-license-ids": "3.0.0"
+      }
+    },
+    "spdx-exceptions": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.1.0.tgz",
+      "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k="
+    },
+    "spdx-expression-parse": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz",
+      "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=",
+      "requires": {
+        "spdx-exceptions": "2.1.0",
+        "spdx-license-ids": "3.0.0"
+      }
+    },
+    "spdx-license-ids": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.0.tgz",
+      "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc="
+    },
+    "split-string": {
+      "version": "3.1.0",
+      "resolved": "http://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz",
+      "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
+      "requires": {
+        "extend-shallow": "3.0.2"
+      }
+    },
+    "sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz",
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+    },
+    "sshpk": {
+      "version": "1.14.2",
+      "resolved": "http://registry.npm.taobao.org/sshpk/download/sshpk-1.14.2.tgz",
+      "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
+      "requires": {
+        "asn1": "0.2.3",
+        "assert-plus": "1.0.0",
+        "bcrypt-pbkdf": "1.0.2",
+        "dashdash": "1.14.1",
+        "ecc-jsbn": "0.1.1",
+        "getpass": "0.1.7",
+        "jsbn": "0.1.1",
+        "safer-buffer": "2.1.2",
+        "tweetnacl": "0.14.5"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        }
+      }
+    },
+    "stable": {
+      "version": "0.1.8",
+      "resolved": "http://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz",
+      "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88="
+    },
+    "staged-git-files": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/staged-git-files/download/staged-git-files-1.1.1.tgz",
+      "integrity": "sha1-N8IhjvDW0mF4sTEHGTCaFqWfj3s=",
+      "dev": true
+    },
+    "static-eval": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/static-eval/download/static-eval-2.0.0.tgz",
+      "integrity": "sha1-DoIfiSaEfe97S1DNpdVcBKmxOGQ=",
+      "requires": {
+        "escodegen": "1.9.1"
+      }
+    },
+    "static-extend": {
+      "version": "0.1.2",
+      "resolved": "http://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz",
+      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+      "requires": {
+        "define-property": "0.2.5",
+        "object-copy": "0.1.0"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        }
+      }
+    },
+    "static-module": {
+      "version": "2.2.5",
+      "resolved": "http://registry.npm.taobao.org/static-module/download/static-module-2.2.5.tgz",
+      "integrity": "sha1-vUCrzq4z2mt6+4Sg5DKf+IUr+78=",
+      "requires": {
+        "concat-stream": "1.6.2",
+        "convert-source-map": "1.5.1",
+        "duplexer2": "0.1.4",
+        "escodegen": "1.9.1",
+        "falafel": "2.1.0",
+        "has": "1.0.3",
+        "magic-string": "0.22.5",
+        "merge-source-map": "1.0.4",
+        "object-inspect": "1.4.1",
+        "quote-stream": "1.0.2",
+        "readable-stream": "2.3.6",
+        "shallow-copy": "0.0.1",
+        "static-eval": "2.0.0",
+        "through2": "2.0.3"
+      }
+    },
+    "statuses": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz",
+      "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic="
+    },
+    "stdout-stream": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.0.tgz",
+      "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
+      "requires": {
+        "readable-stream": "2.3.6"
+      }
+    },
+    "stream-browserify": {
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.1.tgz",
+      "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+      "requires": {
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.6"
+      }
+    },
+    "stream-http": {
+      "version": "2.8.3",
+      "resolved": "http://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz",
+      "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=",
+      "requires": {
+        "builtin-status-codes": "3.0.0",
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.6",
+        "to-arraybuffer": "1.0.1",
+        "xtend": "4.0.1"
+      }
+    },
+    "strict-uri-encode": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz",
+      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
+    },
+    "string-argv": {
+      "version": "0.0.2",
+      "resolved": "http://registry.npm.taobao.org/string-argv/download/string-argv-0.0.2.tgz",
+      "integrity": "sha1-2sMECGkMIfPDYwo/86BYd73L1zY=",
+      "dev": true
+    },
+    "string-hash": {
+      "version": "1.1.3",
+      "resolved": "http://registry.npm.taobao.org/string-hash/download/string-hash-1.1.3.tgz",
+      "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=",
+      "dev": true
+    },
+    "string-width": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+      "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+      "requires": {
+        "code-point-at": "1.1.0",
+        "is-fullwidth-code-point": "1.0.0",
+        "strip-ansi": "3.0.1"
+      }
+    },
+    "string_decoder": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
+      "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+      "requires": {
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "stringify-object": {
+      "version": "3.2.2",
+      "resolved": "http://registry.npm.taobao.org/stringify-object/download/stringify-object-3.2.2.tgz",
+      "integrity": "sha1-mFMFLlqI+2BaRM0nRFqiV61/+80=",
+      "dev": true,
+      "requires": {
+        "get-own-enumerable-property-symbols": "2.0.1",
+        "is-obj": "1.0.1",
+        "is-regexp": "1.0.0"
+      }
+    },
+    "stringstream": {
+      "version": "0.0.6",
+      "resolved": "http://registry.npm.taobao.org/stringstream/download/stringstream-0.0.6.tgz",
+      "integrity": "sha1-eIAiWw1K0Q4wkn0Weh1vL9OzOnI="
+    },
+    "strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "requires": {
+        "ansi-regex": "2.1.1"
+      }
+    },
+    "strip-bom": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz",
+      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+      "requires": {
+        "is-utf8": "0.2.1"
+      }
+    },
+    "strip-eof": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz",
+      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+      "dev": true
+    },
+    "strip-indent": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz",
+      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+      "requires": {
+        "get-stdin": "4.0.1"
+      }
+    },
+    "stylehacks": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.0.tgz",
+      "integrity": "sha1-ZLMjlRxKJOX8ey7AbBN78y0VXoo=",
+      "requires": {
+        "browserslist": "4.0.1",
+        "postcss": "6.0.23",
+        "postcss-selector-parser": "3.1.1"
+      },
+      "dependencies": {
+        "browserslist": {
+          "version": "4.0.1",
+          "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-4.0.1.tgz",
+          "integrity": "sha1-YcBc4qWEPH2WFmQIvCPVi1QW6Bg=",
+          "requires": {
+            "caniuse-lite": "1.0.30000865",
+            "electron-to-chromium": "1.3.52",
+            "node-releases": "1.0.0-alpha.10"
+          }
+        },
+        "postcss-selector-parser": {
+          "version": "3.1.1",
+          "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
+          "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+          "requires": {
+            "dot-prop": "4.2.0",
+            "indexes-of": "1.0.1",
+            "uniq": "1.0.1"
+          }
+        }
+      }
+    },
+    "supports-color": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
+      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+    },
+    "svgo": {
+      "version": "1.0.5",
+      "resolved": "http://registry.npm.taobao.org/svgo/download/svgo-1.0.5.tgz",
+      "integrity": "sha1-cEA2TAYqBTirrP9EAc6momp6OJo=",
+      "requires": {
+        "coa": "2.0.1",
+        "colors": "1.1.2",
+        "css-select": "1.3.0-rc0",
+        "css-select-base-adapter": "0.1.0",
+        "css-tree": "1.0.0-alpha25",
+        "css-url-regex": "1.1.0",
+        "csso": "3.5.1",
+        "js-yaml": "3.10.0",
+        "mkdirp": "0.5.1",
+        "object.values": "1.0.4",
+        "sax": "1.2.4",
+        "stable": "0.1.8",
+        "unquote": "1.1.1",
+        "util.promisify": "1.0.0"
+      },
+      "dependencies": {
+        "js-yaml": {
+          "version": "3.10.0",
+          "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.10.0.tgz",
+          "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
+          "requires": {
+            "argparse": "1.0.10",
+            "esprima": "4.0.1"
+          }
+        }
+      }
+    },
+    "symbol-observable": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.2.0.tgz",
+      "integrity": "sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ=",
+      "dev": true
+    },
+    "tar": {
+      "version": "2.2.1",
+      "resolved": "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz",
+      "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+      "requires": {
+        "block-stream": "0.0.9",
+        "fstream": "1.0.11",
+        "inherits": "2.0.3"
+      }
+    },
+    "terser": {
+      "version": "3.8.1",
+      "resolved": "http://registry.npm.taobao.org/terser/download/terser-3.8.1.tgz",
+      "integrity": "sha1-y3AHCsngpxrdFp37Y8CmT8onOKw=",
+      "requires": {
+        "commander": "2.16.0",
+        "source-map": "0.6.1",
+        "source-map-support": "0.5.6"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        },
+        "source-map-support": {
+          "version": "0.5.6",
+          "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.6.tgz",
+          "integrity": "sha1-RDXO5Gsaq2K46GEM5g94gJHFHBM=",
+          "requires": {
+            "buffer-from": "1.1.1",
+            "source-map": "0.6.1"
+          }
+        }
+      }
+    },
+    "through2": {
+      "version": "2.0.3",
+      "resolved": "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz",
+      "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+      "requires": {
+        "readable-stream": "2.3.6",
+        "xtend": "4.0.1"
+      }
+    },
+    "timers-browserify": {
+      "version": "2.0.10",
+      "resolved": "http://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.10.tgz",
+      "integrity": "sha1-HSjj0qrfHVpZlsTp+VYBzQU0gK4=",
+      "requires": {
+        "setimmediate": "1.0.5"
+      }
+    },
+    "timsort": {
+      "version": "0.3.0",
+      "resolved": "http://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz",
+      "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
+    },
+    "tiny-inflate": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/tiny-inflate/download/tiny-inflate-1.0.2.tgz",
+      "integrity": "sha1-k9nez/yIBb1X6uQxDwt0Xptvs6c="
+    },
+    "to-arraybuffer": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
+      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
+    },
+    "to-fast-properties": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz",
+      "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+    },
+    "to-object-path": {
+      "version": "0.3.0",
+      "resolved": "http://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz",
+      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+      "requires": {
+        "kind-of": "3.2.2"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "to-regex": {
+      "version": "3.0.2",
+      "resolved": "http://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz",
+      "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=",
+      "requires": {
+        "define-property": "2.0.2",
+        "extend-shallow": "3.0.2",
+        "regex-not": "1.0.2",
+        "safe-regex": "1.1.0"
+      }
+    },
+    "to-regex-range": {
+      "version": "2.1.1",
+      "resolved": "http://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz",
+      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "requires": {
+        "is-number": "3.0.0",
+        "repeat-string": "1.6.1"
+      }
+    },
+    "toml": {
+      "version": "2.3.3",
+      "resolved": "http://registry.npm.taobao.org/toml/download/toml-2.3.3.tgz",
+      "integrity": "sha1-jWg9cpV3yyhiMd/HqK/+WNMXKPs="
+    },
+    "tomlify-j0.4": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/tomlify-j0.4/download/tomlify-j0.4-3.0.0.tgz",
+      "integrity": "sha1-mUFNRSaMOjuL84voIUW3u6NLdHM="
+    },
+    "tough-cookie": {
+      "version": "2.3.4",
+      "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.4.tgz",
+      "integrity": "sha1-7GDO44rGdQY//JelwYlwV47oNlU=",
+      "requires": {
+        "punycode": "1.4.1"
+      }
+    },
+    "trim-newlines": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz",
+      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM="
+    },
+    "trim-right": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
+      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
+    },
+    "true-case-path": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.2.tgz",
+      "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
+      "requires": {
+        "glob": "6.0.4"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "6.0.4",
+          "resolved": "http://registry.npm.taobao.org/glob/download/glob-6.0.4.tgz",
+          "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
+          "requires": {
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.4.0",
+            "path-is-absolute": "1.0.1"
+          }
+        }
+      }
+    },
+    "tslib": {
+      "version": "1.9.3",
+      "resolved": "http://registry.npm.taobao.org/tslib/download/tslib-1.9.3.tgz",
+      "integrity": "sha1-1+TdeSRdhUKMTX5IIqeZF5VMooY=",
+      "dev": true
+    },
+    "tty-browserify": {
+      "version": "0.0.0",
+      "resolved": "http://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz",
+      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
+    },
+    "tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "requires": {
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "tweetnacl": {
+      "version": "0.14.5",
+      "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "optional": true
+    },
+    "type-check": {
+      "version": "0.3.2",
+      "resolved": "http://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz",
+      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+      "requires": {
+        "prelude-ls": "1.1.2"
+      }
+    },
+    "typedarray": {
+      "version": "0.0.6",
+      "resolved": "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+    },
+    "unicode-trie": {
+      "version": "0.3.1",
+      "resolved": "http://registry.npm.taobao.org/unicode-trie/download/unicode-trie-0.3.1.tgz",
+      "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=",
+      "requires": {
+        "pako": "0.2.9",
+        "tiny-inflate": "1.0.2"
+      }
+    },
+    "union-value": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/union-value/download/union-value-1.0.0.tgz",
+      "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+      "requires": {
+        "arr-union": "3.1.0",
+        "get-value": "2.0.6",
+        "is-extendable": "0.1.1",
+        "set-value": "0.4.3"
+      },
+      "dependencies": {
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        },
+        "set-value": {
+          "version": "0.4.3",
+          "resolved": "http://registry.npm.taobao.org/set-value/download/set-value-0.4.3.tgz",
+          "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+          "requires": {
+            "extend-shallow": "2.0.1",
+            "is-extendable": "0.1.1",
+            "is-plain-object": "2.0.4",
+            "to-object-path": "0.3.0"
+          }
+        }
+      }
+    },
+    "uniq": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz",
+      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8="
+    },
+    "uniqs": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz",
+      "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI="
+    },
+    "unquote": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz",
+      "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ="
+    },
+    "unset-value": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz",
+      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+      "requires": {
+        "has-value": "0.3.1",
+        "isobject": "3.0.1"
+      },
+      "dependencies": {
+        "has-value": {
+          "version": "0.3.1",
+          "resolved": "http://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz",
+          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+          "requires": {
+            "get-value": "2.0.6",
+            "has-values": "0.1.4",
+            "isobject": "2.1.0"
+          },
+          "dependencies": {
+            "isobject": {
+              "version": "2.1.0",
+              "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
+              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+              "requires": {
+                "isarray": "1.0.0"
+              }
+            }
+          }
+        },
+        "has-values": {
+          "version": "0.1.4",
+          "resolved": "http://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz",
+          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
+        }
+      }
+    },
+    "upath": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/upath/download/upath-1.1.0.tgz",
+      "integrity": "sha1-NSVll+RqWB20eT0M5H+prr/J+r0="
+    },
+    "urix": {
+      "version": "0.1.0",
+      "resolved": "http://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz",
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+    },
+    "url": {
+      "version": "0.11.0",
+      "resolved": "http://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
+      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+      "requires": {
+        "punycode": "1.3.2",
+        "querystring": "0.2.0"
+      },
+      "dependencies": {
+        "punycode": {
+          "version": "1.3.2",
+          "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz",
+          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
+        }
+      }
+    },
+    "use": {
+      "version": "3.1.1",
+      "resolved": "http://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
+      "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8="
+    },
+    "util": {
+      "version": "0.10.4",
+      "resolved": "http://registry.npm.taobao.org/util/download/util-0.10.4.tgz",
+      "integrity": "sha1-OqASW/5mikZy3liFfTrOJ+y3aQE=",
+      "requires": {
+        "inherits": "2.0.3"
+      }
+    },
+    "util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+    },
+    "util.promisify": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz",
+      "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=",
+      "requires": {
+        "define-properties": "1.1.2",
+        "object.getownpropertydescriptors": "2.0.3"
+      }
+    },
+    "uuid": {
+      "version": "3.3.2",
+      "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz",
+      "integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE="
+    },
+    "v8-compile-cache": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.0.0.tgz",
+      "integrity": "sha1-UmSS41/GFoZChHALcEPgG67gnwo="
+    },
+    "validate-npm-package-license": {
+      "version": "3.0.3",
+      "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.3.tgz",
+      "integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=",
+      "requires": {
+        "spdx-correct": "3.0.0",
+        "spdx-expression-parse": "3.0.0"
+      }
+    },
+    "vendors": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/vendors/download/vendors-1.0.2.tgz",
+      "integrity": "sha1-f8te759WI7FWvOqJ7DfWNnbyGAE="
+    },
+    "verror": {
+      "version": "1.10.0",
+      "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
+      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+      "requires": {
+        "assert-plus": "1.0.0",
+        "core-util-is": "1.0.2",
+        "extsprintf": "1.3.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        }
+      }
+    },
+    "vlq": {
+      "version": "0.2.3",
+      "resolved": "http://registry.npm.taobao.org/vlq/download/vlq-0.2.3.tgz",
+      "integrity": "sha1-jz5DKM9jsVQMDWfhsneDhviXWyY="
+    },
+    "vm-browserify": {
+      "version": "0.0.4",
+      "resolved": "http://registry.npm.taobao.org/vm-browserify/download/vm-browserify-0.0.4.tgz",
+      "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+      "requires": {
+        "indexof": "0.0.1"
+      }
+    },
+    "vue": {
+      "version": "2.5.16",
+      "resolved": "http://registry.npm.taobao.org/vue/download/vue-2.5.16.tgz",
+      "integrity": "sha1-B+23XoQSqu7YceuvqZ9GclhKAIU="
+    },
+    "wcwidth": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz",
+      "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+      "requires": {
+        "defaults": "1.0.3"
+      }
+    },
+    "whet.extend": {
+      "version": "0.9.9",
+      "resolved": "http://registry.npm.taobao.org/whet.extend/download/whet.extend-0.9.9.tgz",
+      "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE="
+    },
+    "which": {
+      "version": "1.3.1",
+      "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.1.tgz",
+      "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
+      "requires": {
+        "isexe": "2.0.0"
+      }
+    },
+    "which-module": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz",
+      "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8="
+    },
+    "wide-align": {
+      "version": "1.1.3",
+      "resolved": "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz",
+      "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=",
+      "requires": {
+        "string-width": "1.0.2"
+      }
+    },
+    "wordwrap": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz",
+      "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
+    },
+    "wrap-ansi": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz",
+      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+      "requires": {
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1"
+      }
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+    },
+    "ws": {
+      "version": "5.2.2",
+      "resolved": "http://registry.npm.taobao.org/ws/download/ws-5.2.2.tgz",
+      "integrity": "sha1-3/7xSGa46NyRM1glFNG++vlumA8=",
+      "requires": {
+        "async-limiter": "1.0.0"
+      }
+    },
+    "xtend": {
+      "version": "4.0.1",
+      "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz",
+      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+    },
+    "y18n": {
+      "version": "3.2.1",
+      "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz",
+      "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+    },
+    "yallist": {
+      "version": "2.1.2",
+      "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
+      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+    },
+    "yargs": {
+      "version": "7.1.0",
+      "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz",
+      "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+      "requires": {
+        "camelcase": "3.0.0",
+        "cliui": "3.2.0",
+        "decamelize": "1.2.0",
+        "get-caller-file": "1.0.3",
+        "os-locale": "1.4.0",
+        "read-pkg-up": "1.0.1",
+        "require-directory": "2.1.1",
+        "require-main-filename": "1.0.1",
+        "set-blocking": "2.0.0",
+        "string-width": "1.0.2",
+        "which-module": "1.0.0",
+        "y18n": "3.2.1",
+        "yargs-parser": "5.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+        }
+      }
+    },
+    "yargs-parser": {
+      "version": "5.0.0",
+      "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz",
+      "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+      "requires": {
+        "camelcase": "3.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+        }
+      }
+    }
+  }
+}

+ 4 - 2
2018专题/1807吸血鬼专题-商务/package.json

@@ -7,7 +7,8 @@
     "axios": "^0.18.0",
     "howler": "^2.0.14",
     "lodash": "^4.17.10",
-    "node-sass": "^4.7.2",
+    "node-sass": "^4.9.2",
+    "parcel-bundler": "^1.9.7",
     "vue": "^2.5.16"
   },
   "devDependencies": {
@@ -17,6 +18,7 @@
     "babel-polyfill": "^6.26.0",
     "babel-preset-env": "^1.6.1",
     "lodash": "^4.17.5",
+    "parcel-plugin-html": "^1.0.21",
     "postcss-modules": "^1.1.0",
     "vue": "^2.5.16"
   },
@@ -27,4 +29,4 @@
   "keywords": [],
   "author": "heitan",
   "license": "ISC"
-}
+}

+ 46 - 0
2018专题/1807吸血鬼专题-商务/src/img/atlas/icon-1.less

@@ -0,0 +1,46 @@
+//
+// Created with TexturePacker http://www.codeandweb.com/texturepacker
+//
+// SmartUpdateHash: $TexturePacker:SmartUpdate:3fb01eb6acd3e9816bdc20afc0feecad$
+//
+
+.sprite-icon-1 { display:inline-block; overflow: hidden; background-repeat: no-repeat; background-image: url('icon-1.png'); }
+
+.icon-1-fg_00000 { width: 300px; height: 300px; background-position: -0px -0px; }
+.icon-1-fg_00001 { width: 300px; height: 300px; background-position: -0px -302px; }
+.icon-1-fg_00002 { width: 300px; height: 300px; background-position: -0px -604px; }
+.icon-1-fg_00003 { width: 300px; height: 300px; background-position: -0px -906px; }
+.icon-1-fg_00004 { width: 300px; height: 300px; background-position: -0px -1208px; }
+.icon-1-fg_00005 { width: 300px; height: 300px; background-position: -0px -1510px; }
+.icon-1-fg_00006 { width: 300px; height: 300px; background-position: -0px -1812px; }
+.icon-1-fg_00007 { width: 300px; height: 300px; background-position: -0px -2114px; }
+.icon-1-fg_00008 { width: 300px; height: 300px; background-position: -0px -2416px; }
+.icon-1-fg_00009 { width: 300px; height: 300px; background-position: -0px -2718px; }
+.icon-1-fg_00010 { width: 300px; height: 300px; background-position: -0px -3020px; }
+.icon-1-fg_00011 { width: 300px; height: 300px; background-position: -0px -3322px; }
+.icon-1-fg_00012 { width: 300px; height: 300px; background-position: -0px -3624px; }
+.icon-1-fg_00013 { width: 300px; height: 300px; background-position: -0px -3926px; }
+.icon-1-fg_00014 { width: 300px; height: 300px; background-position: -0px -4228px; }
+.icon-1-fg_00015 { width: 300px; height: 300px; background-position: -0px -4530px; }
+.icon-1-fg_00016 { width: 300px; height: 300px; background-position: -0px -4832px; }
+.icon-1-fg_00017 { width: 300px; height: 300px; background-position: -0px -5134px; }
+.icon-1-fg_00018 { width: 300px; height: 300px; background-position: -0px -5436px; }
+.icon-1-fg_00019 { width: 300px; height: 300px; background-position: -0px -5738px; }
+.icon-1-fg_00020 { width: 300px; height: 300px; background-position: -0px -6040px; }
+.icon-1-fg_00021 { width: 300px; height: 300px; background-position: -0px -6342px; }
+.icon-1-fg_00022 { width: 300px; height: 300px; background-position: -0px -6644px; }
+.icon-1-fg_00023 { width: 300px; height: 300px; background-position: -0px -6946px; }
+.icon-1-fg_00024 { width: 300px; height: 300px; background-position: -0px -7248px; }
+.icon-1-fg_00025 { width: 300px; height: 300px; background-position: -0px -7550px; }
+.icon-1-fg_00026 { width: 300px; height: 300px; background-position: -0px -7852px; }
+.icon-1-fg_00027 { width: 300px; height: 300px; background-position: -0px -8154px; }
+.icon-1-fg_00028 { width: 300px; height: 300px; background-position: -0px -8456px; }
+.icon-1-fg_00029 { width: 300px; height: 300px; background-position: -0px -8758px; }
+.icon-1-fg_00030 { width: 300px; height: 300px; background-position: -0px -9060px; }
+.icon-1-fg_00031 { width: 300px; height: 300px; background-position: -0px -9362px; }
+.icon-1-fg_00032 { width: 300px; height: 300px; background-position: -0px -9664px; }
+.icon-1-fg_00033 { width: 300px; height: 300px; background-position: -0px -9966px; }
+.icon-1-fg_00034 { width: 300px; height: 300px; background-position: -0px -10268px; }
+.icon-1-fg_00035 { width: 300px; height: 300px; background-position: -0px -10570px; }
+.icon-1-fg_00036 { width: 300px; height: 300px; background-position: -0px -10872px; }
+.icon-1-fg_00037 { width: 300px; height: 300px; background-position: -0px -11174px; }

BIN
2018专题/1807吸血鬼专题-商务/src/img/atlas/icon-1.png


+ 46 - 0
2018专题/1807吸血鬼专题-商务/src/img/atlas/icon.less

@@ -0,0 +1,46 @@
+//
+// Created with TexturePacker http://www.codeandweb.com/texturepacker
+//
+// SmartUpdateHash: $TexturePacker:SmartUpdate:14a8a0d6f605b27383444b71a985d21d$
+//
+
+.sprite-icon { display:inline-block; overflow: hidden; background-repeat: no-repeat; background-image: url('icon.png'); }
+
+.icon-fg_00000 { width: 52px; height: 72px; background-position: -350px -378px; }
+.icon-fg_00001 { width: 52px; height: 72px; background-position: -454px -304px; }
+.icon-fg_00002 { width: 52px; height: 72px; background-position: -400px -304px; }
+.icon-fg_00003 { width: 54px; height: 72px; background-position: -402px -156px; }
+.icon-fg_00004 { width: 54px; height: 72px; background-position: -404px -82px; }
+.icon-fg_00005 { width: 54px; height: 74px; background-position: -344px -254px; }
+.icon-fg_00006 { width: 56px; height: 76px; background-position: -290px -82px; }
+.icon-fg_00007 { width: 60px; height: 78px; background-position: -412px -2px; }
+.icon-fg_00008 { width: 62px; height: 80px; background-position: -286px -358px; }
+.icon-fg_00009 { width: 62px; height: 82px; background-position: -226px -2px; }
+.icon-fg_00010 { width: 64px; height: 82px; background-position: -224px -92px; }
+.icon-fg_00011 { width: 66px; height: 84px; background-position: -220px -272px; }
+.icon-fg_00012 { width: 70px; height: 88px; background-position: -154px -2px; }
+.icon-fg_00013 { width: 70px; height: 88px; background-position: -152px -94px; }
+.icon-fg_00014 { width: 72px; height: 90px; background-position: -78px -280px; }
+.icon-fg_00015 { width: 72px; height: 90px; background-position: -78px -188px; }
+.icon-fg_00016 { width: 74px; height: 92px; background-position: -2px -378px; }
+.icon-fg_00017 { width: 74px; height: 92px; background-position: -2px -284px; }
+.icon-fg_00018 { width: 76px; height: 92px; background-position: -2px -2px; }
+.icon-fg_00019 { width: 74px; height: 92px; background-position: -2px -190px; }
+.icon-fg_00020 { width: 74px; height: 92px; background-position: -2px -96px; }
+.icon-fg_00021 { width: 72px; height: 90px; background-position: -80px -2px; }
+.icon-fg_00022 { width: 72px; height: 90px; background-position: -78px -96px; }
+.icon-fg_00023 { width: 70px; height: 88px; background-position: -150px -372px; }
+.icon-fg_00024 { width: 70px; height: 88px; background-position: -78px -372px; }
+.icon-fg_00025 { width: 68px; height: 86px; background-position: -152px -184px; }
+.icon-fg_00026 { width: 66px; height: 84px; background-position: -152px -272px; }
+.icon-fg_00027 { width: 64px; height: 82px; background-position: -222px -184px; }
+.icon-fg_00028 { width: 62px; height: 80px; background-position: -222px -358px; }
+.icon-fg_00029 { width: 60px; height: 78px; background-position: -350px -2px; }
+.icon-fg_00030 { width: 58px; height: 78px; background-position: -290px -2px; }
+.icon-fg_00031 { width: 56px; height: 76px; background-position: -288px -176px; }
+.icon-fg_00032 { width: 54px; height: 74px; background-position: -288px -254px; }
+.icon-fg_00033 { width: 54px; height: 72px; background-position: -348px -82px; }
+.icon-fg_00034 { width: 54px; height: 72px; background-position: -346px -160px; }
+.icon-fg_00035 { width: 52px; height: 72px; background-position: -456px -230px; }
+.icon-fg_00036 { width: 52px; height: 72px; background-position: -402px -230px; }
+.icon-fg_00037 { width: 52px; height: 72px; background-position: -458px -156px; }

BIN
2018专题/1807吸血鬼专题-商务/src/img/atlas/icon.png


+ 57 - 0
2018专题/1807吸血鬼专题-商务/src/img/atlas/light.less

@@ -0,0 +1,57 @@
+//
+// Created with TexturePacker http://www.codeandweb.com/texturepacker
+//
+// SmartUpdateHash: $TexturePacker:SmartUpdate:bdb563b1ef676936a128d073a3b350fc$
+//
+
+.sprite-light { display:inline-block; overflow: hidden; background-repeat: no-repeat; background-image: url('light.png'); }
+
+.light-gy_00001 { width: 4px; height: 4px; background-position: -504px -94px; }
+.light-gy_00002 { width: 10px; height: 8px; background-position: -500px -134px; }
+.light-gy_00003 { width: 14px; height: 14px; background-position: -140px -178px; }
+.light-gy_00004 { width: 18px; height: 18px; background-position: -140px -158px; }
+.light-gy_00005 { width: 22px; height: 22px; background-position: -488px -254px; }
+.light-gy_00006 { width: 26px; height: 26px; background-position: -460px -254px; }
+.light-gy_00007 { width: 30px; height: 30px; background-position: -460px -222px; }
+.light-gy_00008 { width: 34px; height: 34px; background-position: -464px -134px; }
+.light-gy_00009 { width: 38px; height: 38px; background-position: -464px -94px; }
+.light-gy_00010 { width: 42px; height: 42px; background-position: -464px -50px; }
+.light-gy_00011 { width: 46px; height: 46px; background-position: -464px -2px; }
+.light-gy_00012 { width: 50px; height: 50px; background-position: -460px -170px; }
+.light-gy_00013 { width: 54px; height: 54px; background-position: -326px -598px; }
+.light-gy_00014 { width: 60px; height: 58px; background-position: -326px -538px; }
+.light-gy_00015 { width: 64px; height: 62px; background-position: -308px -794px; }
+.light-gy_00016 { width: 68px; height: 66px; background-position: -308px -726px; }
+.light-gy_00017 { width: 72px; height: 70px; background-position: -308px -654px; }
+.light-gy_00018 { width: 76px; height: 74px; background-position: -174px -920px; }
+.light-gy_00019 { width: 80px; height: 78px; background-position: -92px -920px; }
+.light-gy_00020 { width: 84px; height: 82px; background-position: -90px -834px; }
+.light-gy_00021 { width: 88px; height: 86px; background-position: -2px -920px; }
+.light-gy_00022 { width: 92px; height: 90px; background-position: -378px -734px; }
+.light-gy_00023 { width: 96px; height: 94px; background-position: -210px -736px; }
+.light-gy_00024 { width: 100px; height: 98px; background-position: -108px -640px; }
+.light-gy_00025 { width: 104px; height: 102px; background-position: -2px -638px; }
+.light-gy_00026 { width: 108px; height: 106px; background-position: -112px -532px; }
+.light-gy_00027 { width: 112px; height: 110px; background-position: -388px -522px; }
+.light-gy_00028 { width: 116px; height: 114px; background-position: -392px -294px; }
+.light-gy_00029 { width: 120px; height: 118px; background-position: -266px -418px; }
+.light-gy_00030 { width: 124px; height: 122px; background-position: -266px -294px; }
+.light-gy_00031 { width: 128px; height: 126px; background-position: -136px -294px; }
+.light-gy_00032 { width: 132px; height: 130px; background-position: -2px -294px; }
+.light-gy_00033 { width: 136px; height: 134px; background-position: -2px -158px; }
+.light-gy_00034 { width: 140px; height: 138px; background-position: -160px -154px; }
+.light-gy_00035 { width: 144px; height: 142px; background-position: -314px -150px; }
+.light-gy_00036 { width: 148px; height: 146px; background-position: -314px -2px; }
+.light-gy_00037 { width: 152px; height: 150px; background-position: -160px -2px; }
+.light-gy_00038 { width: 156px; height: 154px; background-position: -2px -2px; }
+.light-gy_00039 { width: 86px; height: 84px; background-position: -2px -834px; }
+.light-gy_00040 { width: 88px; height: 86px; background-position: -204px -832px; }
+.light-gy_00041 { width: 92px; height: 90px; background-position: -2px -742px; }
+.light-gy_00042 { width: 94px; height: 92px; background-position: -108px -740px; }
+.light-gy_00043 { width: 96px; height: 94px; background-position: -210px -640px; }
+.light-gy_00044 { width: 100px; height: 98px; background-position: -382px -634px; }
+.light-gy_00045 { width: 102px; height: 100px; background-position: -222px -538px; }
+.light-gy_00046 { width: 104px; height: 102px; background-position: -2px -534px; }
+.light-gy_00047 { width: 108px; height: 106px; background-position: -2px -426px; }
+.light-gy_00048 { width: 110px; height: 108px; background-position: -136px -422px; }
+.light-gy_00049 { width: 112px; height: 110px; background-position: -392px -410px; }

BIN
2018专题/1807吸血鬼专题-商务/src/img/atlas/light.png


BIN
2018专题/1807吸血鬼专题-商务/src/img/icon/icon-mark-gray.png


BIN
2018专题/1807吸血鬼专题-商务/src/img/icon/icon-mouse.png


BIN
2018专题/1807吸血鬼专题-商务/src/img/primary-mouse-icon.png


BIN
2018专题/1807吸血鬼专题-商务/src/img/primary-mouse-shake.png


+ 244 - 99
2018专题/1807吸血鬼专题-商务/src/index.html

@@ -22,6 +22,7 @@
         <transition name="swiper" mode="out-in">
             <!--首屏 s-->
             <div class="page-primary" v-if="swiperIndex == 0" key="primary">
+                <div class="xsj-logo"></div>
                 <video preload="meta" loop autoplay ref="primaryVideo"></video>
                 <div class="vampyr-logo"></div>
                 <button class="primary-start-btn" @click="slideTo(1)"></button>
@@ -46,7 +47,7 @@
                         </li>
                         <li :class="{'is-finish':progress[1],'is-active':introIndex == 1}" @click="introIndex = 1">
                             <i class="icon-zhenxiang"></i>
-                            <div class="game-name">找出真相</div>
+                            <div class="game-name">寻找药品</div>
                             <div class="finish-bg"></div>
                         </li>
                         <li :class="{'is-finish':progress[2],'is-active':introIndex == 2}" @click="introIndex = 2">
@@ -70,15 +71,15 @@
 
                                 <div class="intro-desc">
                                     <img src="./img/shenshichengmi-avatar.png" alt="">
-                                    <p v-if="progress[0]">完成任务1</p>
-                                    <p v-else>你处于一场恶梦当中,赶紧醒过来,你到底是谁或者说你是什么,需要你去自己发现。</p>
+                                    <p v-if="progress[0]">你从死亡中再次复活了过来,这一切都证明你已经成了一个吸血鬼。</p>
+                                    <p v-else>1861年的法国,流行病害死了成千上万的人;你是一名血液医生,你似乎也死于这场疾病。</p>
                                 </div>
                             </section>
 
                         </div>
 
                         <div v-if="introIndex == 1" key="intro-1">
-                            <header class="game-title">身世成迷1</header>
+                            <header class="game-title">寻找药品</header>
                             <section class="intro-main">
                                 <div class="main-img-box">
                                     <img class="main-img" src="./img/task-intro-1.jpg" alt="">
@@ -86,15 +87,15 @@
                                 </div>
                                 <div class="intro-desc">
                                     <img src="./img/shenshichengmi-avatar.png" alt="">
-                                    <p v-if="progress[1]">完成任务2</p>
-                                    <p v-else>你处于一场恶梦当中,赶紧醒过来,你到底是谁或者说你是什么,需要你去自己发现。</p>
+                                    <p v-if="progress[1]">你已经合成了疲劳症的药品,医院内的病人也会得救</p>
+                                    <p v-else>几经磨难,你在医院里安下了身,但医院似乎遇到了缺药的麻烦中。</p>
                                 </div>
                             </section>
 
                         </div>
 
                         <div v-if="introIndex == 2" key="intro-2">
-                            <header class="game-title">身世成迷2</header>
+                            <header class="game-title">行医救人</header>
                             <section class="intro-main">
                                 <div class="main-img-box">
                                     <img class="main-img" src="./img/task-intro-1.jpg" alt="">
@@ -102,27 +103,13 @@
                                 </div>
                                 <div class="intro-desc">
                                     <img src="./img/shenshichengmi-avatar.png" alt="">
-                                    <p v-if="progress[2]">完成任务3</p>
-                                    <p v-else>你处于一场恶梦当中,赶紧醒过来,你到底是谁或者说你是什么,需要你去自己发现。</p>
+                                    <p v-if="progress[2]">你对克兰护士所做的事,将会对附近造成影响,而你也会因此承受苦果</p>
+                                    <p v-else>你和克兰护士为病人进行手术,你必须慎重选择,每一个选择都会有不同的结果</p>
                                 </div>
                             </section>
 
                         </div>
 
-                        <div v-if="introIndex == 3" key="intro-3">
-                            <header class="game-title">身世成迷3</header>
-                            <section class="intro-main">
-                                <div class="main-img-box">
-                                    <img class="main-img" src="./img/task-intro-1.jpg" alt="">
-                                    <div class="finish-mask" v-show="progress[3]"></div>
-                                </div>
-                                <div class="intro-desc">
-                                    <img src="./img/shenshichengmi-avatar.png" alt="">
-                                    <p>你处于一场恶梦当中,赶紧醒过来,你到底是谁或者说你是什么,需要你去自己发现。</p>
-                                </div>
-                            </section>
-
-                        </div>
                     </transition>
                 </div>
 
@@ -166,14 +153,14 @@
 
                         <!--拥抱吸血结束(图片) s-->
                         <div class="task-scene task-image" v-show="task1.sceneIndex == 4" key="task1-scene4">
-                            <img src="./img/run-end.jpg" alt="">
+                            <img data-src="./img/run-end.jpg" alt="">
                             <!--继续按钮 s-->
-                            <i class="btn-next btn-goon" @click="toScene5"></i>
+                            <i class="btn-next btn-skip" @click="toScene5"></i>
                             <!--继续按钮 e-->
                             <div class="mark-popup large-size run-popup">
                                 <header class="popup-hd">寻找安全屋</header>
                                 <section class="popup-bd">
-                                    <img src="./img/task/popup-1.jpg" alt="">
+                                    <img data-src="./img/task/popup-1.jpg" alt="">
                                     <p class="popup-desc">
                                         刚“死而复生”的你遭到了警员的追杀,你必须赶紧逃命,为自己找到一个容身之所。
                                     </p>
@@ -190,7 +177,8 @@
 
                         <!--逃亡进屋前(图片) s-->
                         <div class="task-scene task-image" v-show="task1.sceneIndex == 6" key="task1-scene6">
-                            <img src="./img/enter-room.jpg" alt="">
+                            <img data-src="./img/enter-room.jpg" alt="">
+
                             <i class="icon-mark" @click="toHouseVideo"></i>
 
                             <div class="mark-popup  house-popup">
@@ -212,7 +200,7 @@
 
                         <!--进入安全屋(图片1) s-->
                         <div class="task-scene task-image image-0" v-show="task1.sceneIndex == 8" key="task1-scene8">
-                            <img src="./img/task/1/scene-1.jpg" alt="">
+                            <img data-src="./img/task/1/scene-1.jpg" alt="">
                             <i class="icon-next to-step2" @click="changeTask1Scene(10)"></i>
                             <i class="icon-next to-step3" @click="changeTask1Scene(11)"></i>
                             <i class="icon-mark-rotate" @click="toTableVideo"></i>
@@ -227,28 +215,37 @@
 
                         <!--进入图2 s-->
                         <div class="task-scene task-image image-1" v-show="task1.sceneIndex == 10" key="task1-scene10">
-                            <img src="./img/task/1/scene-2.jpg" alt="">
+                            <img data-src="./img/task/1/scene-2.jpg" alt="">
                             <i class="icon-prev" @click="backToImage1"></i>
                             <i class="icon-mark-rotate mark-left" @click="task1.image1LeftPopup = 1"></i>
-                            <i class="icon-mark-rotate mark-right" @click="fadeIn('task1','image1RightPopup')"></i>
+                            <i class="icon-mark-rotate mark-right" @click="toGetImage1"></i>
 
                             <!--触发左边 s-->
                             <div class="full-screen-popup fadeIn" v-show="task1.image1LeftPopup" @mousedown="rightMouseClosePopup('task1','image1LeftPopup',$event)">
-                                <img src="./img/task/left-cupboard.jpg" alt="">
+                                <img data-src="./img/task/left-cupboard.jpg" alt="">
                             </div>
                             <!--触发左边 e-->
 
                             <!--触发右边 s-->
                             <div class="right-popup fadeIn" v-show="task1.image1RightPopup">
-                                <img src="./img/task/right-table.jpg" alt="">
+                                <img data-src="./img/task/right-table.jpg" alt="">
                             </div>
                             <!--触发右边 e-->
+
+                            <div class="mark-popup empty-popup" v-if="task1.image1GetPopup">
+                                <section class="popup-bd">
+                                    <p class="popup-desc">
+                                        请勿重复搜寻
+                                        <br>你已经搜寻过一次了,去其他地方看看吧
+                                    </p>
+                                </section>
+                            </div>
                         </div>
                         <!--进入图2 e-->
 
                         <!--进入图3 s-->
                         <div class="task-scene task-image image-2" v-show="task1.sceneIndex == 11" key="task1-scene11">
-                            <img src="./img/task/1/scene-3.jpg" alt="">
+                            <img data-src="./img/task/1/scene-3.jpg" alt="">
                             <i class="icon-prev" @click="changeTask1Scene(8)"></i>
                             <i class="icon-next to-step3" @click="changeTask1Scene(13)"></i>
                             <i class="icon-mark-rotate mark-person" @click="toCorpseVideo"></i>
@@ -264,7 +261,7 @@
 
                         <!--进入图4 s-->
                         <div class="task-scene task-image image-3" v-show="task1.sceneIndex == 13" key="task1-scene13">
-                            <img src="./img/task/1/scene-4.jpg" alt="">
+                            <img data-src="./img/task/1/scene-4.jpg" alt="">
                             <i class="icon-prev" @click="changeTask1Scene(11)"></i>
                             <i class="icon-next to-step4" @click="changeTask1Scene(15)"></i>
                             <i class="icon-mark-rotate mark-mirrow" @click="toMirrowVideo"></i>
@@ -279,7 +276,7 @@
 
                         <!--进入图5 s-->
                         <div class="task-scene task-image image-4" v-show="task1.sceneIndex == 15" key="task1-scene15">
-                            <img src="./img/task/1/scene-5.jpg" alt="">
+                            <img data-src="./img/task/1/scene-5.jpg" alt="">
                             <i class="icon-prev" @click="changeTask1Scene(13)"></i>
                             <i class="icon-next to-step5" @click="changeTask1Scene(17)"></i>
                             <i class="icon-mark-rotate mark-person" @click="toGunVideo"></i>
@@ -295,14 +292,14 @@
 
                         <!--进入图6 s-->
                         <div class="task-scene task-image image-5" v-show="task1.sceneIndex == 17" key="task1-scene17">
-                            <img src="./img/task/1/scene-6.jpg" alt="">
+                            <img data-src="./img/task/1/scene-6.jpg" alt="">
                             <i class="icon-prev" @click="changeTask1Scene(15)"></i>
                             <i class="icon-mark-rotate mark-bed" @click="toBedVideo"></i>
                             <i class="icon-mark-rotate mark-table" @click="task1.image5TablePopup = 1"></i>
 
                             <!--触发左边 s-->
                             <div class="full-screen-popup fadeIn" v-show="task1.image5TablePopup" @mousedown="rightMouseClosePopup('task1','image5TablePopup',$event)">
-                                <img src="./img/task/desk.jpg" alt="">
+                                <img data-src="./img/task/desk.jpg" alt="">
                             </div>
                             <!--触发左边 e-->
                         </div>
@@ -368,7 +365,8 @@
                     <div class="transition-wrapper" v-show="!task2.sceneChange">
                         <!--接受任务说明(图片)s-->
                         <div class="task-scene task-image image-0" v-show="task2.sceneIndex == 0" key="task2-scene0">
-                            <img src="./img/task/2/scene-1.jpg" alt="">
+                            <img data-src="./img/task/2/scene-1.jpg" alt="">
+
                             <i class="icon-mark" @click="toScene1"></i>
                         </div>
                         <!--接受任务说明(图片)e-->
@@ -381,7 +379,7 @@
 
                         <!--对话完后直走找楼梯(图片)s-->
                         <div class="task-scene task-image image-23" v-show="task2.sceneIndex == 23" key="task2-scene23">
-                            <img src="./img/task/2/scene-23.jpg" alt="">
+                            <img data-src="./img/task/2/scene-23.jpg" alt="">
                             <i class="icon-next" @click="changeTask2Scene(24)"></i>
                         </div>
                         <!--对话完后直走找楼梯(图片) e-->
@@ -389,7 +387,7 @@
                         <!--找楼梯(图片)s-->
                         <div class="task-scene task-image image-24" v-show="task2.sceneIndex == 24" key="task2-scene24">
                             <i class="icon-prev" @click="changeTask2Scene(23)"></i>
-                            <img src="./img/task/2/scene-24.jpg" alt="">
+                            <img data-src="./img/task/2/scene-24.jpg" alt="">
                             <i class="icon-next" @click="changeTask2Scene(25)"></i>
                         </div>
                         <!--找楼梯(图片) e-->
@@ -397,7 +395,7 @@
                         <!--下楼梯(图片)s-->
                         <div class="task-scene task-image image-25" v-show="task2.sceneIndex == 25" key="task2-scene25">
                             <i class="icon-prev" @click="changeTask2Scene(24)"></i>
-                            <img src="./img/task/2/scene-25.jpg" alt="">
+                            <img data-src="./img/task/2/scene-25.jpg" alt="">
                             <i class="icon-next" @click="changeTask2Scene(26)"></i>
                         </div>
                         <!--下楼梯(图片) e-->
@@ -405,9 +403,11 @@
                         <!--选择左右(图片)s-->
                         <div class="task-scene task-image image-26" v-show="task2.sceneIndex == 26" key="task2-scene26">
                             <i class="icon-prev" @click="changeTask2Scene(25)"></i>
-                            <img src="./img/task/2/scene-26.jpg" alt="">
+                            <img data-src="./img/task/2/scene-26.jpg" alt="">
                             <i class="icon-next left" @click="changeTask2Scene(28)"></i>
+
                             <i class="icon-mark center" @click="task2.image26Popup = 1"></i>
+
                             <i class="icon-next right" @click="changeTask2Scene(27)"></i>
 
                             <!--触发弹窗 s-->
@@ -427,8 +427,7 @@
                         <!--右边啥也没有(图片)s-->
                         <div class="task-scene task-image image-27" v-show="task2.sceneIndex == 27" key="task2-scene27">
                             <i class="icon-prev" @click="changeTask2Scene(26)"></i>
-                            <img src="./img/task/2/scene-27.jpg" alt="">
-                            <i class="icon-mark" @click="changeTask2Scene(24)"></i>
+                            <img data-src="./img/task/2/scene-27.jpg" alt="">
 
                             <div class="mark-popup empty-popup">
                                 <header class="popup-hd">这里什么也没有</header>
@@ -444,7 +443,7 @@
                         <!--左边提醒往里走(图片)s-->
                         <div class="task-scene task-image image-28" v-show="task2.sceneIndex == 28" key="task2-scene28">
                             <i class="icon-prev" @click="changeTask2Scene(26)"></i>
-                            <img src="./img/task/2/scene-28.jpg" alt="">
+                            <img data-src="./img/task/2/scene-28.jpg" alt="">
                             <i class="icon-next" @click="changeTask2Scene(29)"></i>
                         </div>
                         <!--左边提醒往里走(图片) e-->
@@ -452,7 +451,7 @@
                         <!--往里走看到门(图片)s-->
                         <div class="task-scene task-image image-29" v-show="task2.sceneIndex == 29" key="task2-scene29">
                             <i class="icon-prev" @click="changeTask2Scene(28)"></i>
-                            <img src="./img/task/2/scene-29.jpg" alt="">
+                            <img data-src="./img/task/2/scene-29.jpg" alt="">
                             <i class="icon-mark" @click="changeTask2Scene(2)"></i>
                         </div>
                         <!--往里走看到门(图片) e-->
@@ -460,7 +459,7 @@
                         <!--打开门看到太平间大门(图片)s-->
                         <div class="task-scene task-image image-1" v-show="task2.sceneIndex == 2" key="task2-scene2">
                             <i class="icon-prev" @click="changeTask2Scene(29)"></i>
-                            <img src="./img/task/2/scene-30.jpg" alt="">
+                            <img data-src="./img/task/2/scene-30.jpg" alt="">
                             <i class="icon-mark" @click="changeTask2Scene(3)"></i>
                         </div>
                         <!--打开门看到太平间大门(图片) e-->
@@ -468,34 +467,47 @@
                         <!--左右分别选择(图片)s-->
                         <div class="task-scene task-image image-2" v-show="task2.sceneIndex == 3" key="task2-scene3">
                             <i class="icon-prev" @click="changeTask2Scene(2)"></i>
-                            <img src="./img/task/2/scene-3.jpg" alt="">
+                            <img data-src="./img/task/2/scene-3.jpg" alt="">
                             <i class="icon-next left" @click="changeTask2Scene(4)"></i>
                             <i class="icon-next right" @click="changeTask2Scene(5)"></i>
+
+                            <div class="delete-line suanyatie top" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line kuini middle" v-show="task2.getKuiNi"></div>
+                            <div class="delete-line nacl bottom" v-show="task2.getDrug"></div>
                         </div>
                         <!--左右分别选择(图片)e-->
 
                         <!--左(图片)s-->
                         <div class="task-scene task-image image-3" v-show="task2.sceneIndex == 4" key="task2-scene4">
                             <i class="icon-prev" @click="changeTask2Scene(7)"></i>
-                            <img src="./img/task/2/scene-4.jpg" alt="">
+                            <img data-src="./img/task/2/scene-4.jpg" alt="">
                             <i class="icon-next left" @click="changeTask2Scene(6)"></i>
                             <i class="icon-next right" @click="changeTask2Scene(8)"></i>
+
+                            <div class="delete-line suanyatie top" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line kuini middle" v-show="task2.getKuiNi"></div>
+                            <div class="delete-line nacl bottom" v-show="task2.getDrug"></div>
                         </div>
                         <!--左(图片)e-->
 
                         <!--右(图片)s-->
                         <div class="task-scene task-image image-4" v-show="task2.sceneIndex == 5" key="task2-scene5">
                             <i class="icon-prev" @click="changeTask2Scene(3)"></i>
-                            <img src="./img/task/2/scene-5.jpg" alt="">
+                            <img data-src="./img/task/2/scene-5.jpg" alt="">
                             <i class="icon-mark left" v-show="!task2.getKey" @click="changeTask2Scene(9)"></i>
                             <i class="icon-next center" v-show="!task2.getKey" @click="changeTask2Scene(10)"></i>
-                            <i class="icon-mark right" @click="toBasement"></i>
+
+                            <i class="icon-mark right" v-show="task2.getKey" @click="toBasement"></i>
+                            <i class="icon-mark-gray right" v-show="!task2.getKey" @click="toBasement"></i>
+
+                            <div class="delete-line suanyatie top" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line kuini middle" v-show="task2.getKuiNi"></div>
+                            <div class="delete-line nacl bottom" v-show="task2.getDrug"></div>
 
                             <!--触发弹窗 s-->
                             <div class="mark-popup fadeIn" v-show="task2.image4Popup">
                                 <header class="popup-hd">提示</header>
                                 <section class="popup-bd">
-                                    <!-- <img src="http://fed.webdev.ouj.com/512x227" alt=""> -->
                                     <p class="popup-desc">
                                         需要去楼上拿到钥匙后才能下去地下室
                                     </p>
@@ -507,16 +519,24 @@
 
                         <!--右 拿到钥匙后的(图片)s-->
                         <div class="task-scene task-image image-4" v-show="task2.sceneIndex == 37" key="task2-scene37">
-                            <img src="./img/task/2/scene-34.jpg" alt="">
+                            <img data-src="./img/task/2/scene-34.jpg" alt="">
+
                             <i class="icon-mark right" @click="toBasement"></i>
+
+                            <div class="delete-line nacl top" v-show="task2.getDrug"></div>
                         </div>
                         <!--右 拿到钥匙后的(图片)e-->
 
                         <!--左边展示(图片)s-->
                         <div class="task-scene task-image image-5" v-show="task2.sceneIndex == 6" key="task2-scene6">
                             <i class="icon-prev" @click="changeTask2Scene(4)"></i>
-                            <img src="./img/task/2/scene-8.jpg" alt="">
-                            <i class="icon-mark" @click="changeTask2Scene(6)"></i>
+                            <img data-src="./img/task/2/scene-8.jpg" alt="">
+
+                            <!-- <i class="icon-mark" @click="changeTask2Scene(6)"></i> -->
+
+                            <div class="delete-line suanyatie top" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line kuini middle" v-show="task2.getKuiNi"></div>
+                            <div class="delete-line nacl bottom" v-show="task2.getDrug"></div>
 
                             <div class="mark-popup empty-popup">
                                 <section class="popup-bd">
@@ -530,48 +550,87 @@
 
                         <!--中间(图片)s-->
                         <div class="task-scene task-image image-6" v-show="task2.sceneIndex == 7" key="task2-scene7">
-                            <img src="./img/task/2/scene-6.jpg" alt="">
+                            <img data-src="./img/task/2/scene-6.jpg" alt="">
                             <i class="icon-next center" @click="changeTask2Scene(8)"></i>
                             <i class="icon-next right" @click="changeTask2Scene(5)"></i>
+
+                            <div class="delete-line suanyatie top" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line kuini middle" v-show="task2.getKuiNi"></div>
+                            <div class="delete-line nacl bottom" v-show="task2.getDrug"></div>
                         </div>
                         <!--中间(图片)e-->
 
                         <!--中间房间展示(图片)s-->
                         <div class="task-scene task-image image-7" v-show="task2.sceneIndex == 8" key="task2-scene8">
                             <i class="icon-prev" @click="changeTask2Scene(4)"></i>
-                            <img src="./img/task/2/scene-7.jpg" alt="">
-                            <i class="icon-mark" @click="fadeIn('task2','image7Popup')"></i>
+                            <img data-src="./img/task/2/scene-7.jpg" alt="">
+                            <i class="icon-mark" @click="toGetImage7"></i>
+
+                            <i class="icon-mark" @click="toGetImage7"></i>
+
+                            <div class="delete-line suanyatie top" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line kuini middle" v-show="task2.getKuiNi"></div>
+                            <div class="delete-line nacl bottom" v-show="task2.getDrug"></div>
 
                             <!--触发图片 s-->
                             <div class="image-popup fadeIn" v-show="task2.image7Popup">
-                                <img src="./img/task/taipingjian-middle-room.jpg" alt="">
+                                <img data-src="./img/task/taipingjian-middle-room.jpg" alt="">
                             </div>
                             <!--触发图片 e-->
+
+                            <div class="mark-popup empty-popup" v-if="task2.image7GetPopup">
+                                <section class="popup-bd">
+                                    <p class="popup-desc">
+                                        请勿重复搜寻
+                                        <br>你已经搜寻过一次了,去其他地方看看吧
+                                    </p>
+                                </section>
+                            </div>
                         </div>
                         <!--中间房间展示(图片)e-->
 
                         <!--右边房间展示(图片)s-->
                         <div class="task-scene task-image image-8" v-show="task2.sceneIndex == 9" key="task2-scene9">
                             <i class="icon-prev" @click="changeTask2Scene(5)"></i>
-                            <img src="./img/task/2/scene-9.jpg" alt="">
-                            <i class="icon-mark" @click="fadeIn('task2','image8Popup')"></i>
+                            <img data-src="./img/task/2/scene-9.jpg" alt="">
+
+                            <i class="icon-mark" @click="toGetImage8"></i>
+
+                            <div class="delete-line suanyatie top" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line kuini middle" v-show="task2.getKuiNi"></div>
+                            <div class="delete-line nacl bottom" v-show="task2.getDrug"></div>
 
                             <!--触发图片 s-->
                             <div class="image-popup fadeIn" v-show="task2.image8Popup">
                                 <img src="./img/task/taipingjian-left-room.jpg" alt="">
                             </div>
                             <!--触发图片 e-->
+
+                            <div class="mark-popup empty-popup" v-if="task2.image8GetPopup">
+                                <section class="popup-bd">
+                                    <p class="popup-desc">
+                                        请勿重复搜寻
+                                        <br>你已经搜寻过一次了,去其他地方看看吧
+                                    </p>
+                                </section>
+                            </div>
                         </div>
                         <!--右边房间展示(图片)e-->
 
                         <!--上楼打死第一只劣魔(图片)s-->
                         <div class="task-scene task-image image-9" v-show="task2.sceneIndex == 10" key="task2-scene10">
                             <i class="icon-prev" @click="changeTask2Scene(5)"></i>
-                            <img src="./img/task/2/scene-10.jpg" alt="">
-                            <i class="icon-mark left" @click="toBlamingVideo"></i>
+                            <img data-src="./img/task/2/scene-10.jpg" alt="">
+
+                            <i class="icon-light-mark left" @click="toBlamingVideo">
+                                <i class="ani-light"></i>
+                                <i class="icon-mark-static"></i>
+                            </i>
                             <i class="icon-mark right" @click="changeTask2Scene(11)"></i>
 
-                            <div class="delete-line" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line suanyatie top" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line kuini middle" v-show="task2.getKuiNi"></div>
+                            <div class="delete-line nacl bottom" v-show="task2.getDrug"></div>
 
                             <div class="mark-popup empty-popup" v-if="task2.image9Popup">
                                 <section class="popup-bd">
@@ -592,27 +651,42 @@
                         <!--楼上右边房间(图片)s-->
                         <div class="task-scene task-image image-10" v-show="task2.sceneIndex == 11" key="task2-scene11">
                             <i class="icon-prev" @click="changeTask2Scene(10)"></i>
-                            <img src="./img/task/2/scene-11.jpg" alt="">
+                            <img data-src="./img/task/2/scene-11.jpg" alt="">
+
                             <i class="icon-mark" @click="toGetSuanYaTie"></i>
 
-                            <div class="delete-line" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line suanyatie top" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line kuini middle" v-show="task2.getKuiNi"></div>
+                            <div class="delete-line nacl bottom" v-show="task2.getDrug"></div>
 
                             <!--触发图片 s-->
                             <div class="image-popup fadeIn" v-show="task2.image10Popup">
-                                <img src="./img/task/before-kill-first-boss.jpg" alt="">
+                                <img data-src="./img/task/before-kill-first-boss.jpg" alt="">
                             </div>
                             <!--触发图片 e-->
+
+                            <div class="mark-popup empty-popup" v-if="task2.image10GetPopup">
+                                <section class="popup-bd">
+                                    <p class="popup-desc">
+                                        请勿重复搜寻
+                                        <br>你已经搜寻过一次了,去其他地方看看吧
+                                    </p>
+                                </section>
+                            </div>
                         </div>
                         <!--楼上右边房间(图片)e-->
 
                         <!--楼上中间房间(图片)s-->
                         <div class="task-scene task-image image-11" v-show="task2.sceneIndex == 12" key="task2-scene12">
                             <i class="icon-prev" @click="changeTask2Scene(10)"></i>
-                            <img src="./img/task/2/scene-12.jpg" alt="">
+                            <img data-src="./img/task/2/scene-12.jpg" alt="">
                             <i class="icon-next" @click="toTask2Scene13"></i>
 
                             <i class="icon-mark" @click="toGetKuiNi"></i>
-                            <div class="delete-line" v-show="task2.getKuiNi"></div>
+
+                            <div class="delete-line key top" v-show="task2.getKey"></div>
+                            <div class="delete-line kuini middle" v-show="task2.getKuiNi"></div>
+                            <div class="delete-line nacl bottom" v-show="task2.getDrug"></div>
 
                             <div class="mark-popup empty-popup" v-show="task2.image11EmptyPopup">
                                 <section class="popup-bd">
@@ -624,62 +698,94 @@
 
                             <!--触发图片 s-->
                             <div class="image-popup fadeIn" v-show="task2.image11Popup">
-                                <img src="./img/task/kill-first-boss-1.jpg" alt="">
-                                <img src="./img/task/kill-first-boss-2.jpg" alt="">
+                                <img data-src="./img/task/kill-first-boss-1.jpg" alt="">
+                                <img data-src="./img/task/kill-first-boss-2.jpg" alt="">
                             </div>
                             <!--触发图片 e-->
+
+                            <div class="mark-popup empty-popup" v-if="task2.image11GetPopup">
+                                <section class="popup-bd">
+                                    <p class="popup-desc">
+                                        请勿重复搜寻
+                                        <br>你已经搜寻过一次了,去其他地方看看吧
+                                    </p>
+                                </section>
+                            </div>
                         </div>
                         <!--楼上中间房间(图片)e-->
 
                         <!--打死第一只劣魔后左侧房间展示(图片)s-->
                         <div class="task-scene task-image image-12" v-show="task2.sceneIndex == 13" key="task2-scene13">
-                            <img src="./img/task/2/scene-13.jpg" alt="">
+                            <img data-src="./img/task/2/scene-13.jpg" alt="">
                             <i class="icon-next left" v-show="task2.getKey" @click="changeTask2Scene(16)"></i>
                             <i class="icon-next center" @click="changeTask2Scene(14)"></i>
                             <i class="icon-next right" @click="changeTask2Scene(15)"></i>
 
-                            <div class="delete-line key" v-show="task2.getKey"></div>
-                            <div class="delete-line suanyatie" v-show="task2.getSuanYaTie"></div>
+                            <div class="delete-line suanyatie top" v-show="task2.getKey"></div>
+                            <div class="delete-line nacl middle" v-show="task2.getDrug"></div>
+                            <div class="delete-line key  bottom" v-show="task2.getSuanYaTie"></div>
                         </div>
                         <!--打死第一只劣魔后左侧房间展示(图片)e-->
 
                         <!--楼上左侧房间领到地下室钥匙(图片)s-->
                         <div class="task-scene task-image image-13" v-show="task2.sceneIndex == 14" key="task2-scene14">
                             <i class="icon-prev" @click="changeTask2Scene(13)"></i>
-                            <img src="./img/task/2/scene-14.jpg" alt="">
+                            <img data-src="./img/task/2/scene-14.jpg" alt="">
+
                             <i class="icon-mark" @click="toGetKey"></i>
 
-                            <div class="delete-line" v-show="task2.getKey"></div>
+                            <div class="delete-line key top" v-show="task2.getKey"></div>
+                            <div class="delete-line nacl middle" v-show="task2.getDrug"></div>
 
                             <!--触发图片 s-->
                             <div class="image-popup fadeIn" v-show="task2.image13Popup">
-                                <img src="./img/task/tingshifang-key.jpg" alt="">
+                                <img data-src="./img/task/tingshifang-key.jpg" alt="">
                             </div>
                             <!--触发图片 e-->
+
+                            <div class="mark-popup empty-popup" v-if="task2.image13GetPopup">
+                                <section class="popup-bd">
+                                    <p class="popup-desc">
+                                        请勿重复搜寻
+                                        <br>你已经搜寻过一次了,去其他地方看看吧
+                                    </p>
+                                </section>
+                            </div>
                         </div>
                         <!--楼上左侧房间领到地下室钥匙(图片)e-->
 
                         <!--楼上直走(图片)s-->
                         <div class="task-scene task-image image-14" v-show="task2.sceneIndex == 15" key="task2-scene15">
                             <i class="icon-prev" @click="changeTask2Scene(13)"></i>
-                            <img src="./img/task/2/scene-15.jpg" alt="">
-                            <i class="icon-mark" @click="changeTask2Scene(6)"></i>
+                            <img data-src="./img/task/2/scene-15.jpg" alt="">
+
+                            <!-- <i class="icon-mark" @click="changeTask2Scene(6)"></i> -->
+
+                            <div class="delete-line nacl top" v-show="task2.getDrug"></div>
                         </div>
                         <!--楼上直走(图片)e-->
 
                         <!--下楼(图片)s-->
                         <div class="task-scene task-image image-15" v-show="task2.sceneIndex == 16" key="task2-scene16">
                             <i class="icon-prev" @click="changeTask2Scene(13)"></i>
-                            <img src="./img/task/2/scene-16.jpg" alt="">
+                            <img data-src="./img/task/2/scene-16.jpg" alt="">
                             <i class="icon-next" @click="changeTask2Scene(37)"></i>
+
+                            <div class="delete-line nacl top" v-show="task2.getDrug"></div>
                         </div>
                         <!--下楼(图片)e-->
 
                         <!--地下室展示(图片)s-->
                         <div class="task-scene task-image image-16" v-show="task2.sceneIndex == 17" key="task2-scene17">
                             <i class="icon-prev" @click="changeTask2Scene(5)"></i>
-                            <img src="./img/task/2/scene-17.jpg" alt="">
-                            <i class="icon-mark" @click="toBasementVideo"></i>
+                            <img data-src="./img/task/2/scene-17.jpg" alt="">
+
+                            <i class="icon-light-mark" @click="toBasementVideo">
+                                <i class="ani-light"></i>
+                                <i class="icon-mark-static"></i>
+                            </i>
+
+                            <div class="delete-line nacl top" v-show="task2.getDrug"></div>
                         </div>
                         <!--地下室展示(图片)e-->
 
@@ -692,16 +798,19 @@
                         <!--打死地下室第一只劣魔后地下室正面展示(图片)s-->
                         <div class="task-scene task-image image-17" v-show="task2.sceneIndex == 18" key="task2-scene18">
                             <i class="icon-prev" @click="changeTask2Scene(17)"></i>
-                            <img src="./img/task/2/scene-18.jpg" alt="">
+                            <img data-src="./img/task/2/scene-18.jpg" alt="">
                             <i class="icon-next center" @click="changeTask2Scene(21)"></i>
                             <i class="icon-next right" @click="changeTask2Scene(19)"></i>
+
+                            <div class="delete-line nacl top" v-show="task2.getDrug"></div>
                         </div>
                         <!--打死地下室第一只劣魔后地下室正面展示(图片)e-->
 
                         <!--打死第一只劣魔后的右侧房间展示(图片)s-->
                         <div class="task-scene task-image image-18" v-show="task2.sceneIndex == 19" key="task2-scene19">
                             <i class="icon-prev" @click="changeTask2Scene(18)"></i>
-                            <img src="./img/task/2/scene-19.jpg" alt="">
+                            <img data-src="./img/task/2/scene-19.jpg" alt="">
+
                             <i class="icon-mark" @click="changeTask2Scene(20)"></i>
                         </div>
                         <!--打死第一只劣魔后的右侧房间展示(图片)e-->
@@ -709,7 +818,8 @@
                         <!--人物静距离展示(图片)s-->
                         <div class="task-scene task-image image-19" v-show="task2.sceneIndex == 20" key="task2-scene20">
                             <i class="icon-prev" @click="changeTask2Scene(19)"></i>
-                            <img src="./img/task/2/scene-20.jpg" alt="">
+                            <img data-src="./img/task/2/scene-20.jpg" alt="">
+
                             <i class="icon-mark" @click="changeTask2Scene(6)"></i>
                         </div>
                         <!--人物静距离展示(图片)e-->
@@ -717,45 +827,64 @@
                         <!--打死第一只劣魔后的直走(图片)s-->
                         <div class="task-scene task-image image-20" v-show="task2.sceneIndex == 21" key="task2-scene21">
                             <i class="icon-prev" @click="changeTask2Scene(18)"></i>
-                            <img src="./img/task/2/scene-21.jpg" alt="">
+                            <img data-src="./img/task/2/scene-21.jpg" alt="">
                             <i class="icon-next" @click="changeTask2Scene(22)"></i>
+
+                            <div class="delete-line nacl top" v-show="task2.getDrug"></div>
                         </div>
                         <!--打死第一只劣魔后的直走(图片)e-->
 
                         <!--打死第二只劣魔后进入房间展示(图片)s-->
                         <div class="task-scene task-image image-21" v-show="task2.sceneIndex == 22" key="task2-scene22">
                             <i class="icon-prev" @click="changeTask2Scene(21)"></i>
-                            <img src="./img/task/2/scene-22.jpg" alt="">
-                            <i class="icon-mark" @click="toBossVideo"></i>
+                            <img data-src="./img/task/2/scene-22.jpg" alt="">
+
+                            <i class="icon-light-mark" @click="toBossVideo">
+                                <i class="ani-light"></i>
+                                <i class="icon-mark-static"></i>
+                            </i>
+
+                            <div class="delete-line nacl top" v-show="task2.getDrug"></div>
                         </div>
                         <!--打死第二只劣魔后进入房间展示(图片)e-->
 
                         <!--打Boss s-->
-                        <div class="task-scene" v-show="task2.sceneIndex == 32" key="task2-scene32">
+                        <div class="task-scene" v-show="task2.sceneIndex == 32" key="task2-scene32" tabindex="7" @keydown="task2KeydownW" v-focus="task2.focusKeydownW">
                             <video preload="none" ref="task2-3" @ended="task2BossVideoEnd" @timeupdate="task2BossVideoUpdate"></video>
                         </div>
                         <!--打Boss e-->
 
                         <!--打完Boss以后(图片)s-->
                         <div class="task-scene task-image image-33" v-show="task2.sceneIndex == 33" key="task2-scene33">
-                            <img src="./img/task/2/scene-31.jpg" alt="">
+                            <img data-src="./img/task/2/scene-31.jpg" alt="">
+
                             <i class="icon-mark" @click="toGetDrug"></i>
+
                             <i class="icon-next" v-show="task2.getDrug" @click="changeTask2Scene(34)" v-show="task2.getDrug"></i>
 
-                            <div class="delete-line" v-show="task2.getDrug"></div>
+                            <div class="delete-line nacl top" v-show="task2.getDrug"></div>
 
                             <!--触发图片 s-->
                             <div class="image-popup fadeIn" v-show="task2.image33Popup">
-                                <img src="./img/task/last-drug.jpg" alt="">
+                                <img data-src="./img/task/last-drug.jpg" alt="">
                             </div>
                             <!--触发图片 e-->
+
+                            <div class="mark-popup empty-popup" v-if="task2.image33GetPopup">
+                                <section class="popup-bd">
+                                    <p class="popup-desc">
+                                        请勿重复搜寻
+                                        <br>你已经搜寻过一次了,去其他地方看看吧
+                                    </p>
+                                </section>
+                            </div>
                         </div>
                         <!--打完Boss以后(图片)e-->
 
                         <!--上阁台(图片)s-->
                         <div class="task-scene task-image image-34" v-show="task2.sceneIndex == 34" key="task2-scene34" tabindex="4" @keydown="task2KeydownF"
                             v-focus="task2.sceneIndex == 34">
-                            <img src="./img/task/2/scene-32.jpg" alt="">
+                            <img data-src="./img/task/2/scene-32.jpg" alt="">
                         </div>
                         <!--上阁台(图片)e-->
 
@@ -768,14 +897,15 @@
                         <!--阁台之上的样子(图片)s-->
                         <div class="task-scene task-image image-36" v-show="task2.sceneIndex == 36" key="task2-scene36">
                             <i class="icon-prev" @click="changeTask2Scene(34)"></i>
-                            <img src="./img/task/2/scene-33.jpg" alt="">
+                            <img data-src="./img/task/2/scene-33.jpg" alt="">
+
                             <i class="icon-mark" @click="createDrugSucc"></i>
 
                             <!--触发左边 s-->
                             <div class="mark-popup fadeIn" v-show="task2.image36Popup">
                                 <header class="popup-hd">制药成功</header>
                                 <section class="popup-bd">
-                                    <img src="./img/task/2/create-drug-succ.jpg" alt="">
+                                    <img data-src="./img/task/2/create-drug-succ.jpg" alt="">
                                     <p class="popup-desc">
                                         你已完成任务2,前往完成其他任务吧!
                                     </p>
@@ -786,6 +916,15 @@
                         <!--阁台之上的样子(图片)e-->
                     </div>
                 </transition>
+
+                <!--按住W前进 s-->
+                <div class="task-tips" v-show="task2.sceneIndex == 32  && task2.focusKeydownW">
+                    <div class="task-tips-context">
+                        <a class="task-tips-btn">双击
+                            <i class="icon-w"></i>突进</a>
+                    </div>
+                </div>
+                <!--按住W前进 e-->
             </div>
             <!--第二个任务 e-->
 
@@ -996,9 +1135,9 @@
             <!--结束页 s-->
             <div class="page-end" v-if="swiperIndex == 6" key="end">
                 <div class="vampyr-logo"></div>
-                <a href="" title="购买游戏" class="btn-buy"></a>
+                <a href="//store.steampowered.com/app/427290/Vampyr/" title="购买游戏" class="btn-buy"></a>
                 <button title="玩家评论" class="btn-comment" @click="commentVisible = 1"></button>
-                <a href="" title="往期回顾" class="btn-history"></a>
+                <a href="//www.duowan.com/1801/m_380731143157.html" title="往期回顾" class="btn-history"></a>
             </div>
             <!--结束页 e-->
 
@@ -1033,7 +1172,7 @@
                     <i class="icon-music"></i>音乐</li>
         </div>
 
-        <button class="fixed-skip btn-goon fadeIn" v-if="skipVisible" @click="fixedSkip"></button>
+        <button class="fixed-skip btn-skip fadeIn" v-if="skipVisible" @click="fixedSkip"></button>
         <button class="fixed-goon btn-goon fadeIn" v-if="goonVisible" @click="fixedGoon"></button>
 
 
@@ -1041,10 +1180,16 @@
             <div class="comment-mask"></div>
             <div class="comment-cont">
                 <i class="close" title="关闭" @click="commentVisible = 0">×</i>
-                <iframe src="//ceshi.duowan.com/1807/m_396961016619.html" frameborder="0"></iframe>
+                <iframe src="//hdzt.duowan.com/1808/m_397579768209.html" frameborder="0"></iframe>
             </div>
 
         </div>
+
+        <div class="tips-text" v-show="frameVideo">
+            <em>按鼠标左键</em>
+            <div class="mouse-box"></div>
+            <em>进行攻击</em>
+        </div>
     </div>
 
 

+ 45 - 9
2018专题/1807吸血鬼专题-商务/src/js/index.js

@@ -8,6 +8,9 @@ import { Task1, Task1Vue } from './task1'
 import { Task2, Task2Vue } from './task2'
 import { Task3, Task3Vue } from './task3'
 import bgm from '../audio/primary-bgm.mp3'
+
+import './requestAnimationFrame'
+
 const util = require('./util.js')
 
 let app = new Vue({
@@ -16,7 +19,7 @@ let app = new Vue({
         return {
             vidsSource: [],
 
-            swiperIndex: 2,//页面下标 [Int]
+            swiperIndex: 0,//页面下标 [Int]
             sound: null,//背景音乐 [DOM]
             stopSound: 0,//背景音乐停止 [Enum]
 
@@ -41,14 +44,20 @@ let app = new Vue({
 
             commentVisible: 0,//评论
 
-            frameVideo: null
+            frameVideo: null,
+
+            requestAnimationFrame: null,
+            task1KillVideoFrameBindThis: null,
+            task2BlamingVideoFrameBindThis: null,
+            task2BasementVideoFrameBindThis: null,
+            task2BossVideoFrameBindThis: null
         }
 
     },
     beforeMount() {
-        // document.oncontextmenu = function (e) {
-        //     e.preventDefault();
-        // };
+        document.oncontextmenu = function (e) {
+            e.preventDefault();
+        };
 
         this.sound = new Howl({
             src: [bgm],
@@ -59,6 +68,14 @@ let app = new Vue({
     },
     mounted() {
         this.loaderVideoSource()
+
+        this.task1KillVideoFrameBindThis = this.task1KillVideoFrame.bind(this)
+
+        this.task2BlamingVideoFrameBindThis = this.task2BlamingVideoFrame.bind(this)
+
+        this.task2BasementVideoFrameBindThis = this.task2BasementVideoFrame.bind(this)
+
+        this.task2BossVideoFrameBindThis = this.task2BossVideoFrame.bind(this)
     },
     methods: Object.assign({}, {
         getVideoSource(videoRef, vids) {
@@ -90,7 +107,7 @@ let app = new Vue({
                 videoRef2 = ['task1-0', 'task1-1', 'task1-2', 'task1-3', 'task1-4', 'task1-5', 'task1-6', 'task1-7', 'task1-8', 'task1-9', 'task1-10', 'task1-11', 'task1-12', 'task1-13', 'task1-14'],
                 vids2 = ['8923685', '8923687', '8923689', '8923691', '8921285', '8920725', '8921429', '8921431', '8921435', '8922017', '8921445', '8921443', '8921441', '8921437', '8921439'],
                 videoRef3 = ['task2-0', 'task2-1', 'task2-2', 'task2-3', 'task2-4'],
-                vids3 = ['8925155', '8926327', '8926783', '8926719', '8926875'],
+                vids3 = ['8925155', '8934147', '8934149', '8926719', '8926875'],
                 videoRef4 = ['task3-0', 'task3-1-0', 'task3-1-1', 'task3-2-0', 'task3-2-1', 'task3-3', 'task3-4-0', 'task3-4-1', 'task3-5', 'task3-6-0', 'task3-6-1', 'task3-7', 'task3-8-0', 'task3-8-1', 'task3-9', 'task3-10-0', 'task3-10-1', 'task3-11-0', 'task3-11-1', 'task3-12-0', 'task3-12-1', 'task3-12-2', 'task3-13', 'task3-14-0', 'task3-14-1', 'task3-14-2', 'task3-14-3', 'task3-15', 'task3-16-0', 'task3-16-1', 'task3-16-2', 'task3-17'],
                 vids4 = ['8928507', '8928509', '8928513', '8928511', '8928515', '8928519', '8928517', '8928521', '8928523', '8928527', '8928525', '8928529', '8928531', '8928537', '8928551', '8928545', '8928557', '8928561', '8928565', '8928701', '8928679', '8928567', '8928569', '8928571', '8928581', '8928575', '8928579', '8928583', '8928585', '8928589', '8928587', '8928591']
 
@@ -237,11 +254,11 @@ let app = new Vue({
          * 控制bgm
          */
         handleBgm(newVal) {
-            let bgmCtrl = [1, 0, 1, 0, 0]
+            let bgmCtrl = [1, 0, 1, 0, 1, 0]
             if (this.stopSound) return
             if (bgmCtrl[newVal] == 0) {
                 mediaCtrl.pause(this.sound)
-            } else {
+            } else if (mediaCtrl.media != this.sound) {
                 this.transitionEnd(() => {
                     mediaCtrl.play(this.sound)
                 })
@@ -256,8 +273,20 @@ let app = new Vue({
             }
             this.stopSound = stopSound == 1 ? 0 : 1
         },
+        lazyload() {
+            let lazyEles = this.$el.querySelectorAll('img[data-src]')
+            console.log(lazyEles)
+            if (lazyEles && lazyEles.length) {
+                lazyEles = Array.from(lazyEles)
+                lazyEles.forEach(ele => {
+                    ele.src = ele.getAttribute('data-src')
+                    ele.removeAttribute('data-src')
+                })
+            }
+        },
         transitionEnd(callback) {
             setTimeout(callback, 1000)
+            setTimeout(this.lazyload.bind(this), 1000);
         },
         fixedSkip() {
             switch (this.skipTarget) {
@@ -415,7 +444,10 @@ let app = new Vue({
                 this.showNavBar = 1
             } else {
                 this.showNavBar = showNavBar[this.task1.sceneIndex]
-                console.log(showNavBar[this.task1.sceneIndex])
+                if (this.stopSound) return
+                if (showNavBar[this.task1.sceneIndex] && mediaCtrl.media != this.sound) {
+                    mediaCtrl.play(this.sound)
+                }
             }
         },
         checkTask2NavBar(index) {
@@ -425,6 +457,10 @@ let app = new Vue({
                 this.showNavBar = 1
             } else {
                 this.showNavBar = showNavBar[this.task2.sceneIndex]
+                if (this.stopSound) return
+                if (showNavBar[this.task2.sceneIndex] && mediaCtrl.media != this.sound) {
+                    mediaCtrl.play(this.sound)
+                }
             }
         },
         checkTask3NavBar() {

+ 25 - 0
2018专题/1807吸血鬼专题-商务/src/js/requestAnimationFrame.js

@@ -0,0 +1,25 @@
+if (!Date.now)
+    Date.now = function () { return new Date().getTime(); };
+
+(function () {
+    'use strict';
+
+    var vendors = ['webkit', 'moz'];
+    for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
+        var vp = vendors[i];
+        window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];
+        window.cancelAnimationFrame = (window[vp + 'CancelAnimationFrame']
+            || window[vp + 'CancelRequestAnimationFrame']);
+    }
+    if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) // iOS6 is buggy
+        || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
+        var lastTime = 0;
+        window.requestAnimationFrame = function (callback) {
+            var now = Date.now();
+            var nextTime = Math.max(lastTime + 16, now);
+            return setTimeout(function () { callback(lastTime = nextTime); },
+                nextTime - now);
+        };
+        window.cancelAnimationFrame = clearTimeout;
+    }
+}());

+ 43 - 6
2018专题/1807吸血鬼专题-商务/src/js/task1.js

@@ -16,6 +16,8 @@ const Task1 = {
     reviveVideoIndex: 0,//0/1 复活视频下标
     image1LeftPopup: 0,//图二的左弹窗
     image1RightPopup: 0,//图二的右弹窗
+    image1GetPopup: 0,
+    getImage1: 0,
     image5TablePopup: 0,//图五的桌子弹窗
 
     nextSceneIndex: 0,//存储下一个场景
@@ -24,9 +26,9 @@ const Task1 = {
     focusKeydownA: 0,
     keydownAEnd: 0,
 
-    skipSets: [[0, 42], [92.5, 150]],
-    timeSets: [44.6, 46.6, 56, 58, 72, 74, 89, 92, 154.2],
-    timeSetsStatus: [0, 0, 0, 0, 0, 0, 0, 0, 0]
+    skipSets: [[0, 42], [97, 154]],
+    timeSets: [44.70, 46.6, 56.7, 57.4, 59.2, 72.05, 74.32, 74.8, 75.9, 89.1, 89.8, 90.6, 92.5, 93.6, 95.2, 96.6, 154.58, 155.5, 156.4],
+    timeSetsStatus: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 }
 
 const Task1Vue = {
@@ -91,8 +93,10 @@ const Task1Vue = {
             this.task1.skipSets.skipValue = null
         },
         task1KillVideoUpate() {
+            if (this.requestAnimationFrame) return
 
             let { currentTime } = this.$refs['task1-5']
+
             let { timeSetsStatus, timeSets, skipSets } = this.task1
 
             let isSkip = false
@@ -110,14 +114,38 @@ const Task1Vue = {
             this.resetSkip()
 
             timeSetsStatus.forEach((status, index) => {
+                if (status || this.requestAnimationFrame) return;
+                let timeOffset = timeSets[index] - currentTime
+                if (timeOffset < 0.8) {
+                    console.log('start request ')
+                    this.requestAnimationFrame = requestAnimationFrame(this.task1KillVideoFrameBindThis);
+                }
+            })
+        },
+        task1KillVideoFrame() {
+            let { currentTime } = this.$refs['task1-5']
+            let { timeSetsStatus, timeSets } = this.task1
+            let result = false
+            timeSetsStatus.forEach((status, index) => {
                 if (status) return;
-                if (Math.abs(currentTime - timeSets[index]) < 0.2) {
-                    console.log(currentTime)
+                let timeOffset = timeSets[index] - currentTime
+                if (timeOffset > 0 && timeOffset < 0.05) {
+                    result = true
                     mediaCtrl.pause(this.$refs['task1-5'])
                     timeSetsStatus[index] = 1
                     this.setFrame(this.$refs['task1-5'])
                 }
             })
+            if (result) {
+                console.log('cancel requestAnimationFrame')
+                cancelAnimationFrame(this.requestAnimationFrame)
+                setTimeout(() => {
+                    this.requestAnimationFrame = null
+                }, 100);
+            } else {
+                this.requestAnimationFrame = requestAnimationFrame(this.task1KillVideoFrameBindThis)
+            }
+
         },
         toHouseVideo() {
             this.changeTask1Scene(7, () => {
@@ -262,7 +290,7 @@ const Task1Vue = {
         },
         task1KeyupW(event) {
             if (event.keyCode != 87) return
-            this.$refs['task1-2'].pause()
+            mediaCtrl.pause(this.$refs['task1-2'])
             this.task1.keydownW = 0
         },
         task1KeydownA(event) {
@@ -312,6 +340,15 @@ const Task1Vue = {
                 this.task1.sceneIndex = this.task1.nextSceneIndex
             })
 
+        },
+        toGetImage1() {
+            if (this.task1.getImage1) {
+                this.task1.image1RightPopup = 0
+                this.fadeIn('task1', 'image1GetPopup')
+            } else {
+                this.fadeIn('task1', 'image1RightPopup')
+                this.task1.getImage1 = 1
+            }
         }
     }
 }

+ 156 - 21
2018专题/1807吸血鬼专题-商务/src/js/task2.js

@@ -8,23 +8,29 @@ const Task2 = {
     sceneChange: false,//切换scene
 
     image7Popup: 0,
+    image7GetPopup: 0,
 
     image4Popup: 0,
 
     image8Popup: 0,
+    image8GetPopup: 0,
 
     image9Popup: 0,
 
     image10Popup: 0,
+    image10GetPopup: 0,
 
     image11Popup: 0,
     image11EmptyPopup: 0,
+    image11GetPopup: 0,
 
     image13Popup: 0,
+    image13GetPopup: 0,
 
     image26Popup: 0,
 
     image33Popup: 0,
+    image33GetPopup: 0,
 
     image36Popup: 0,
 
@@ -33,14 +39,17 @@ const Task2 = {
     getKey: false,
     getDrug: false,
 
-    timeSets1: [4.9, 13.1, 16],
-    timeSetsStatus1: [0, 0, 0],
+    timeSets1: [5.08, 5.6, 6.5, 7.2, 7.7, 12.7, 15.9],
+    timeSetsStatus1: [0, 0, 0, 0, 0, 0, 0],
 
-    timeSets2: [3.95, 9.15],
-    timeSetsStatus2: [0, 0],
+    timeSets2: [4.05, 4.6, 5.4, 6.1, 9.00, 9.55, 10.55],
+    timeSetsStatus2: [0, 0, 0, 0, 0, 0, 0],
 
-    timeSets3: [4.4, 11.6, 15, 20.4, 25.4, 30.6],
-    timeSetsStatus3: [0, 0, 0, 0, 0, 0]
+    timeSets3: [5.2, 8.68, 11.8, 12.4, 15.2, 16.8, 18, 20.8, 21.32, 22.26, 25.5, 26.12, 27, 30.9, 31.6, 33.92, 36.18],
+    timeSetsStatus3: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+
+    focusKeydownW: 0,
+    keydownWCount: 0
 }
 
 const Task2Vue = {
@@ -71,13 +80,42 @@ const Task2Vue = {
                 this.fadeIn('task2', 'image9Popup')
             }
         },
+        toGetImage7() {
+            if (this.task2.getImage7) {
+                this.task2.image7Popup = 0
+                this.fadeIn('task2', 'image7GetPopup')
+            } else {
+                this.fadeIn('task2', 'image7Popup')
+                this.task2.getImage7 = 1
+            }
+        },
+        toGetImage8() {
+            if (this.task2.getImage8) {
+                this.task2.image8Popup = 0
+                this.fadeIn('task2', 'image8GetPopup')
+            } else {
+                this.fadeIn('task2', 'image8Popup')
+                this.task2.getImage8 = 1
+            }
+        },
         toGetSuanYaTie() {
-            this.fadeIn('task2', 'image10Popup')
-            this.task2.getSuanYaTie = true
+            if (this.task2.getSuanYaTie) {
+                this.task2.image10Popup = 0
+                this.fadeIn('task2', 'image10GetPopup')
+            } else {
+                this.fadeIn('task2', 'image10Popup')
+                this.task2.getSuanYaTie = true
+            }
+
         },
         toGetKuiNi() {
-            this.task2.getKuiNi = true
-            this.fadeIn('task2', 'image11Popup')
+            if (this.task2.getKuiNi) {
+                this.task2.image11Popup = 0
+                this.fadeIn('task2', 'image11GetPopup')
+            } else {
+                this.task2.getKuiNi = true
+                this.fadeIn('task2', 'image11Popup')
+            }
         },
         toTask2Scene13() {
             if (this.task2.getKuiNi) {
@@ -97,14 +135,37 @@ const Task2Vue = {
             let { timeSetsStatus1, timeSets1 } = this.task2
 
             timeSetsStatus1.forEach((status, index) => {
+                if (status || this.requestAnimationFrame) return;
+                let timeOffset = timeSets1[index] - currentTime
+                if (timeOffset < 0.8) {
+                    console.log('start request ')
+                    this.requestAnimationFrame = requestAnimationFrame(this.task2BlamingVideoFrameBindThis);
+                }
+            })
+        },
+        task2BlamingVideoFrame() {
+            let { currentTime } = this.$refs['task2-1']
+            let { timeSetsStatus1, timeSets1 } = this.task2
+            let result = false
+            timeSetsStatus1.forEach((status, index) => {
                 if (status) return;
-                if (Math.abs(currentTime - timeSets1[index]) < 0.2) {
-                    console.log(currentTime)
+                let timeOffset = timeSets1[index] - currentTime
+                if (timeOffset > 0 && timeOffset < 0.05) {
+                    result = true
                     mediaCtrl.pause(this.$refs['task2-1'])
                     timeSetsStatus1[index] = 1
                     this.setFrame(this.$refs['task2-1'])
                 }
             })
+            if (result) {
+                console.log('cancel requestAnimationFrame')
+                cancelAnimationFrame(this.requestAnimationFrame)
+                setTimeout(() => {
+                    this.requestAnimationFrame = null
+                }, 100);
+            } else {
+                this.requestAnimationFrame = requestAnimationFrame(this.task2BlamingVideoFrameBindThis)
+            }
         },
         toBasementVideo() {
             this.changeTask2Scene(31, () => {
@@ -122,14 +183,37 @@ const Task2Vue = {
             let { timeSetsStatus2, timeSets2 } = this.task2
 
             timeSetsStatus2.forEach((status, index) => {
+                if (status || this.requestAnimationFrame) return;
+                let timeOffset = timeSets2[index] - currentTime
+                if (timeOffset < 0.8) {
+                    console.log('start request ')
+                    this.requestAnimationFrame = requestAnimationFrame(this.task2BasementVideoFrameBindThis);
+                }
+            })
+        },
+        task2BasementVideoFrame() {
+            let { currentTime } = this.$refs['task2-2']
+            let { timeSetsStatus2, timeSets2 } = this.task2
+            let result = false
+            timeSetsStatus2.forEach((status, index) => {
                 if (status) return;
-                if (Math.abs(currentTime - timeSets2[index]) < 0.2) {
-                    console.log(currentTime)
+                let timeOffset = timeSets2[index] - currentTime
+                if (timeOffset > 0 && timeOffset < 0.05) {
+                    result = true
                     mediaCtrl.pause(this.$refs['task2-2'])
                     timeSetsStatus2[index] = 1
                     this.setFrame(this.$refs['task2-2'])
                 }
             })
+            if (result) {
+                console.log('cancel requestAnimationFrame')
+                cancelAnimationFrame(this.requestAnimationFrame)
+                setTimeout(() => {
+                    this.requestAnimationFrame = null
+                }, 100);
+            } else {
+                this.requestAnimationFrame = requestAnimationFrame(this.task2BasementVideoFrameBindThis)
+            }
         },
         changeTask2Scene(index, cb) {
             this.task2.nextSceneIndex = index
@@ -161,8 +245,13 @@ const Task2Vue = {
         },
 
         toGetKey() {
-            this.task2.getKey = true
-            this.fadeIn('task2', 'image13Popup')
+            if (this.task2.getKey) {
+                this.task2.image13Popup = 0
+                this.fadeIn('task2', 'image13GetPopup')
+            } else {
+                this.task2.getKey = true
+                this.fadeIn('task2', 'image13Popup')
+            }
         },
 
         toBossVideo() {
@@ -181,18 +270,52 @@ const Task2Vue = {
             let { timeSetsStatus3, timeSets3 } = this.task2
 
             timeSetsStatus3.forEach((status, index) => {
+                if (status || this.requestAnimationFrame) return;
+                let timeOffset = timeSets3[index] - currentTime
+                if (timeOffset < 0.8) {
+                    console.log('start request ')
+                    this.requestAnimationFrame = requestAnimationFrame(this.task2BossVideoFrameBindThis);
+                }
+            })
+        },
+        task2BossVideoFrame() {
+            let { currentTime } = this.$refs['task2-3']
+            let { timeSetsStatus3, timeSets3 } = this.task2
+            let result = false
+            timeSetsStatus3.forEach((status, index) => {
                 if (status) return;
-                if (Math.abs(currentTime - timeSets3[index]) < 0.2) {
-                    console.log(currentTime)
+                let timeOffset = timeSets3[index] - currentTime
+                if (timeOffset > 0 && timeOffset < 0.05) {
+                    result = true
                     mediaCtrl.pause(this.$refs['task2-3'])
                     timeSetsStatus3[index] = 1
-                    this.setFrame(this.$refs['task2-3'])
+                    if (index == timeSets3.length - 2) {
+                        this.task2.focusKeydownW = 1
+                    } else {
+                        this.setFrame(this.$refs['task2-3'])
+                    }
                 }
+
             })
+            if (result) {
+                console.log('cancel requestAnimationFrame')
+                cancelAnimationFrame(this.requestAnimationFrame)
+                setTimeout(() => {
+                    this.requestAnimationFrame = null
+                }, 100);
+            } else {
+                this.requestAnimationFrame = requestAnimationFrame(this.task2BossVideoFrameBindThis)
+            }
         },
         toGetDrug() {
-            this.task2.getDrug = true
-            this.fadeIn('task2', 'image33Popup')
+            if (this.task2.getDrug) {
+                this.task2.image33Popup = 0
+                this.fadeIn('task2', 'image33GetPopup')
+            } else {
+                this.task2.getDrug = true
+                this.fadeIn('task2', 'image33Popup')
+            }
+
         },
         task2KeydownF(event) {
             if (event.keyCode != 70) return
@@ -209,6 +332,18 @@ const Task2Vue = {
             this.fadeIn('task2', 'image36Popup', () => {
                 this.taskFinish(1)
             })
+        },
+
+        task2KeydownW(event) {
+            if (event.keyCode != 87) {
+                this.task2.keydownWCount = 0
+            }
+            this.task2.keydownWCount++
+
+            if (this.task2.keydownWCount >= 2) {
+                this.task2.focusKeydownW = 0
+                mediaCtrl.play(this.$refs['task2-3'])
+            }
         }
     }
 }

+ 1 - 2
2018专题/1807吸血鬼专题-商务/src/js/task3.js

@@ -18,7 +18,7 @@ const Task3 = {
     scene16Index: 0,
 
     keydownW: 0,
-    focusKeydownW:0
+    focusKeydownW: 0
 }
 
 const Task3Vue = {
@@ -219,7 +219,6 @@ const Task3Vue = {
                 this.task3.sceneChange = false
                 this.task3.sceneIndex = this.task3.nextSceneIndex
             })
-
         },
 
         task3KeydownW(event) {

+ 1 - 1
2018专题/1807吸血鬼专题-商务/src/lib/rem.js

@@ -1 +1 @@
-!function (d, a) { var e = d.documentElement, c = "orientationchange" in window ? "orientationchange" : "resize", v = function () { var f = e.clientWidth; f && (e.style.fontSize = 20 * (f / 320) + "px") }; d.addEventListener && (a.addEventListener(c, v, !1), d.addEventListener("DOMContentLoaded", v, !1), v()) }(document, window);
+!function (d, a) { var e = d.documentElement, c = "orientationchange" in window ? "orientationchange" : "resize", v = function () { var f = e.offsetWidth; f && (e.style.fontSize = 20 * (f / 320) + "px") }; d.addEventListener && (a.addEventListener(c, v, !1), d.addEventListener("DOMContentLoaded", v, !1), v()) }(document, window);

+ 78 - 4
2018专题/1807吸血鬼专题-商务/src/sass/global.scss

@@ -13,12 +13,12 @@ $bfz:14px;
 @import "module/animation";
 html,
 body {
+    min-width: 1120px;
     height: 100%;
     background-color: #000;
 }
 
 body {
-    min-width: 1120px;
     font-size: $bfz;
     font-family: $pingfan, $yahei, Helvetica, Arial, sans-serif;
     color: #333333;
@@ -144,9 +144,11 @@ music;
         color: #bebebe;
     }
 }
-.image-popup{
+
+.image-popup {
     position: absolute;
 }
+
 .full-screen-popup {
     position: fixed;
     left: px2rem(0);
@@ -161,12 +163,84 @@ music;
     }
 }
 
-.delete-line{
+.delete-line {
     position: absolute;
-    height: px2rem(2);
+    height: 2px;
     background-color: #782828;
 }
 
+.tips-text {
+    position: absolute;
+    top: 50%;
+    left: 60%;
+    transform: translate(0, -50%);
+    font-size: 24px;
+    font-weight: bold;
+    line-height: px2rem(47);
+    color: #fff;
+    white-space: nowrap;
+    .mouse-box {
+        display: inline-block;
+        vertical-align: middle;
+        width: px2rem(37);
+        height: px2rem(47);
+        margin: 0 px2rem(10);
+        background: url("../img/icon/icon-mouse.png") center;
+        background-size: 100% auto;
+        cursor: pointer;
+    }
+}
+
+.icon-light-mark {
+    position: relative;
+    .ani-light {
+        position: absolute;
+        left: 50%;
+        top: 50%;
+        transform: translate(-50%, -50%);
+        background: url("../img/atlas/light.png") no-repeat;
+        animation: light 2s steps(1) infinite;
+    }
+    .icon-mark-static {
+        position: relative;
+        width: px2rem(44.8);
+        height: px2rem(60);
+        z-index: 1;
+    }
+}
+
+.icon-mark {
+    position: relative;
+    width: 56px;
+    height: 74px;
+    cursor: pointer;
+    @media screen and (max-width: 1600px) {
+        transform: scale(0.84, 0.84)
+    }
+    @media screen and (max-width:1400px) {
+        transform: scale(0.73, 0.73)
+    }
+    &:before {
+        content: '';
+        position: absolute;
+        width: 300px;
+        height: 300px;
+        left: 50%;
+        top: 50%;
+        transform: translate(-50%, -50%);
+        background: url("../img/atlas/icon-1.png") no-repeat;
+        animation: icon1 3s steps(37) infinite;
+    }
+}
+
+.icon-mark-static {
+    display: block;
+    width: px2rem(56);
+    height: px2rem(74);
+    cursor: pointer;
+    background: url("../img/icon/icon-mark.png") no-repeat center / 100% 100%;
+}
+
 @import 'page/primary';
 @import 'page/end';
 @import 'page/pregame';

+ 468 - 1
2018专题/1807吸血鬼专题-商务/src/sass/module/_animation.scss

@@ -137,4 +137,471 @@
     50% {
         transform: translate3d(0, 8px, 0) rotate(90deg);
     }
-}
+}
+
+@keyframes shake {
+    from,
+    to {
+        transform: translate3d(0, 0, 0);
+    }
+    10% {
+        transform: translate3d(0, 2px, 0);
+    }
+    30% {
+        transform: translate3d(0, 4px, 0);
+    }
+}
+
+@keyframes light {
+    from,
+    2% {
+        width: 4px;
+        height: 4px;
+        background-position: -504px -94px;
+    }
+    4% {
+        width: 10px;
+        height: 8px;
+        background-position: -500px -134px;
+    }
+    6% {
+        width: 14px;
+        height: 14px;
+        background-position: -140px -178px;
+    }
+    8% {
+        width: 18px;
+        height: 18px;
+        background-position: -140px -158px;
+    }
+    10% {
+        width: 22px;
+        height: 22px;
+        background-position: -488px -254px;
+    }
+    12% {
+        width: 26px;
+        height: 26px;
+        background-position: -460px -254px;
+    }
+    14% {
+        width: 30px;
+        height: 30px;
+        background-position: -460px -222px;
+    }
+    16% {
+        width: 34px;
+        height: 34px;
+        background-position: -464px -134px;
+    }
+    18% {
+        width: 38px;
+        height: 38px;
+        background-position: -464px -94px;
+    }
+    20% {
+        width: 42px;
+        height: 42px;
+        background-position: -464px -50px;
+    }
+    22% {
+        width: 46px;
+        height: 46px;
+        background-position: -464px -2px;
+    }
+    24% {
+        width: 50px;
+        height: 50px;
+        background-position: -460px -170px;
+    }
+    26% {
+        width: 54px;
+        height: 54px;
+        background-position: -326px -598px;
+    }
+    28% {
+        width: 60px;
+        height: 58px;
+        background-position: -326px -538px;
+    }
+    30% {
+        width: 64px;
+        height: 62px;
+        background-position: -308px -794px;
+    }
+    32% {
+        width: 68px;
+        height: 66px;
+        background-position: -308px -726px;
+    }
+    34% {
+        width: 72px;
+        height: 70px;
+        background-position: -308px -654px;
+    }
+    36% {
+        width: 76px;
+        height: 74px;
+        background-position: -174px -920px;
+    }
+    38% {
+        width: 80px;
+        height: 78px;
+        background-position: -92px -920px;
+    }
+    40% {
+        width: 84px;
+        height: 82px;
+        background-position: -90px -834px;
+    }
+    42% {
+        width: 88px;
+        height: 86px;
+        background-position: -2px -920px;
+    }
+    44% {
+        width: 92px;
+        height: 90px;
+        background-position: -378px -734px;
+    }
+    46% {
+        width: 96px;
+        height: 94px;
+        background-position: -210px -736px;
+    }
+    48% {
+        width: 100px;
+        height: 98px;
+        background-position: -108px -640px;
+    }
+    50% {
+        width: 104px;
+        height: 102px;
+        background-position: -2px -638px;
+    }
+    52% {
+        width: 108px;
+        height: 106px;
+        background-position: -112px -532px;
+    }
+    54% {
+        width: 112px;
+        height: 110px;
+        background-position: -388px -522px;
+    }
+    56% {
+        width: 116px;
+        height: 114px;
+        background-position: -392px -294px;
+    }
+    58% {
+        width: 120px;
+        height: 118px;
+        background-position: -266px -418px;
+    }
+    60% {
+        width: 124px;
+        height: 122px;
+        background-position: -266px -294px;
+    }
+    62% {
+        width: 128px;
+        height: 126px;
+        background-position: -136px -294px;
+    }
+    64% {
+        width: 132px;
+        height: 130px;
+        background-position: -2px -294px;
+    }
+    66% {
+        width: 136px;
+        height: 134px;
+        background-position: -2px -158px;
+    }
+    68% {
+        width: 140px;
+        height: 138px;
+        background-position: -160px -154px;
+    }
+    70% {
+        width: 144px;
+        height: 142px;
+        background-position: -314px -150px;
+    }
+    72% {
+        width: 148px;
+        height: 146px;
+        background-position: -314px -2px;
+    }
+    74% {
+        width: 152px;
+        height: 150px;
+        background-position: -160px -2px;
+    }
+    76% {
+        width: 156px;
+        height: 154px;
+        background-position: -2px -2px;
+    }
+    78% {
+        width: 86px;
+        height: 84px;
+        background-position: -2px -834px;
+    }
+    80% {
+        width: 88px;
+        height: 86px;
+        background-position: -204px -832px;
+    }
+    82% {
+        width: 92px;
+        height: 90px;
+        background-position: -2px -742px;
+    }
+    84% {
+        width: 94px;
+        height: 92px;
+        background-position: -108px -740px;
+    }
+    86% {
+        width: 96px;
+        height: 94px;
+        background-position: -210px -640px;
+    }
+    88% {
+        width: 100px;
+        height: 98px;
+        background-position: -382px -634px;
+    }
+    90% {
+        width: 102px;
+        height: 100px;
+        background-position: -222px -538px;
+    }
+    92% {
+        width: 104px;
+        height: 102px;
+        background-position: -2px -534px;
+    }
+    94% {
+        width: 108px;
+        height: 106px;
+        background-position: -2px -426px;
+    }
+    96% {
+        width: 110px;
+        height: 108px;
+        background-position: -136px -422px;
+    }
+    to,
+    98% {
+        width: 112px;
+        height: 110px;
+        background-position: -392px -410px;
+    }
+}
+
+@keyframes icon1 {
+    from {
+        background-position: 0 0;
+    }
+    to {
+        background-position: 0 bottom;
+    }
+}
+
+// @keyframes icon {
+//     from,
+//     2.63% {
+//         width: 52px;
+//         height: 72px;
+//         background-position: -350px -378px;
+//     }
+//     5.26% {
+//         width: 52px;
+//         height: 72px;
+//         background-position: -454px -304px;
+//     }
+//     7.89% {
+//         width: 52px;
+//         height: 72px;
+//         background-position: -400px -304px;
+//     }
+//     10.52% {
+//         width: 54px;
+//         height: 72px;
+//         background-position: -402px -156px;
+//     }
+//     13.15% {
+//         width: 54px;
+//         height: 72px;
+//         background-position: -404px -82px;
+//     }
+//     15.78% {
+//         width: 54px;
+//         height: 74px;
+//         background-position: -344px -254px;
+//     }
+//     18.41% {
+//         width: 56px;
+//         height: 76px;
+//         background-position: -290px -82px;
+//     }
+//     21.04% {
+//         width: 60px;
+//         height: 78px;
+//         background-position: -412px -2px;
+//     }
+//     23.67% {
+//         width: 62px;
+//         height: 80px;
+//         background-position: -286px -358px;
+//     }
+//     26.30% {
+//         width: 62px;
+//         height: 82px;
+//         background-position: -226px -2px;
+//     }
+//     28.93% {
+//         width: 64px;
+//         height: 82px;
+//         background-position: -224px -92px;
+//     }
+//     31.56% {
+//         width: 66px;
+//         height: 84px;
+//         background-position: -220px -272px;
+//     }
+//     34.19% {
+//         width: 70px;
+//         height: 88px;
+//         background-position: -154px -2px;
+//     }
+//     36.82% {
+//         width: 70px;
+//         height: 88px;
+//         background-position: -152px -94px;
+//     }
+//     39.45% {
+//         width: 72px;
+//         height: 90px;
+//         background-position: -78px -280px;
+//     }
+//     42.08% {
+//         width: 72px;
+//         height: 90px;
+//         background-position: -78px -188px;
+//     }
+//     44.71% {
+//         width: 74px;
+//         height: 92px;
+//         background-position: -2px -378px;
+//     }
+//     47.34% {
+//         width: 74px;
+//         height: 92px;
+//         background-position: -2px -284px;
+//     }
+//     49.97% {
+//         width: 76px;
+//         height: 92px;
+//         background-position: -2px -2px;
+//     }
+//     52.60% {
+//         width: 74px;
+//         height: 92px;
+//         background-position: -2px -190px;
+//     }
+//     55.23% {
+//         width: 74px;
+//         height: 92px;
+//         background-position: -2px -96px;
+//     }
+//     57.86% {
+//         width: 72px;
+//         height: 90px;
+//         background-position: -80px -2px;
+//     }
+//     60.49% {
+//         width: 72px;
+//         height: 90px;
+//         background-position: -78px -96px;
+//     }
+//     63.12% {
+//         width: 70px;
+//         height: 88px;
+//         background-position: -150px -372px;
+//     }
+//     65.75% {
+//         width: 70px;
+//         height: 88px;
+//         background-position: -78px -372px;
+//     }
+//     68.38% {
+//         width: 68px;
+//         height: 86px;
+//         background-position: -152px -184px;
+//     }
+//     71.01% {
+//         width: 66px;
+//         height: 84px;
+//         background-position: -152px -272px;
+//     }
+//     73.64% {
+//         width: 64px;
+//         height: 82px;
+//         background-position: -222px -184px;
+//     }
+//     76.27% {
+//         width: 62px;
+//         height: 80px;
+//         background-position: -222px -358px;
+//     }
+//     78.90% {
+//         width: 60px;
+//         height: 78px;
+//         background-position: -350px -2px;
+//     }
+//     81.53% {
+//         width: 58px;
+//         height: 78px;
+//         background-position: -290px -2px;
+//     }
+//     84.16% {
+//         width: 56px;
+//         height: 76px;
+//         background-position: -288px -176px;
+//     }
+//     86.79% {
+//         width: 54px;
+//         height: 74px;
+//         background-position: -288px -254px;
+//     }
+//     89.42% {
+//         width: 54px;
+//         height: 72px;
+//         background-position: -348px -82px;
+//     }
+//     92.05% {
+//         width: 54px;
+//         height: 72px;
+//         background-position: -346px -160px;
+//     }
+//     94.68% {
+//         width: 52px;
+//         height: 72px;
+//         background-position: -456px -230px;
+//     }
+//     97.31% {
+//         width: 52px;
+//         height: 72px;
+//         background-position: -402px -230px;
+//     }
+//     99.94%,
+//     to {
+//         width: 52px;
+//         height: 72px;
+//         background-position: -458px -156px;
+//     }
+// }

+ 2 - 2
2018专题/1807吸血鬼专题-商务/src/sass/module/_icon.scss

@@ -20,12 +20,12 @@ f;
     }
 }
 
-.icon-mark {
+.icon-mark-gray {
     display: block;
     width: px2rem(56);
     height: px2rem(74);
     cursor: pointer;
-    background: url("../img/icon/icon-mark.png") no-repeat center / 100% 100%;
+    background: url("../img/icon/icon-mark-gray.png") no-repeat center / 100% 100%;
 }
 
 .icon-next {

+ 2 - 2
2018专题/1807吸血鬼专题-商务/src/sass/page/_comment.scss

@@ -15,7 +15,7 @@
     }
     .comment-cont {
         position: relative;
-        width: 1100px;
+        width: 1020px;
         height: px2rem(840);
         margin: px2rem(100) auto 0;
         z-index: 1;
@@ -23,7 +23,7 @@
             position: absolute;
             width: px2rem(40);
             height: px2rem(40);
-            right: 0;
+            right: -px2rem(40);
             top: -px2rem(10);
             font-size: 36px;
             line-height: px2rem(40);

+ 8 - 0
2018专题/1807吸血鬼专题-商务/src/sass/page/_primary.scss

@@ -4,6 +4,14 @@
     position: relative;
     height: 100%;
     overflow: hidden;
+    .xsj-logo {
+        position: absolute;
+        left: 20px;
+        top: 20px;
+        width: 144px;
+        height: 108px;
+        background: url(//pub.dwstatic.com/zt2018/qjjx05//img/icon-xsj.png) no-repeat;
+    }
     video {
         display: block;
         width: 100%;

+ 4 - 0
2018专题/1807吸血鬼专题-商务/src/sass/page/_task-1.scss

@@ -90,6 +90,10 @@
             left: px2rem(1450);
             top: px2rem(600);
         }
+        .empty-popup{
+            left: px2rem(1100);
+            top: px2rem(350);
+        }
     }
     .image-2 {
         .icon-prev {

+ 63 - 21
2018专题/1807吸血鬼专题-商务/src/sass/page/_task-2.scss

@@ -54,8 +54,8 @@
     .image-1 {
         .icon-mark {
             position: absolute;
-            left: px2rem(906);
-            top: px2rem(400);
+            left: px2rem(900);
+            top: px2rem(396);
         }
     }
     .image-2 {
@@ -135,6 +135,10 @@
             left: px2rem(1300);
             top: px2rem(300);
         }
+        .empty-popup {
+            left: px2rem(1000);
+            top: px2rem(150);
+        }
     }
     .image-8 {
         .icon-mark {
@@ -146,6 +150,10 @@
             left: px2rem(1300);
             top: px2rem(300);
         }
+        .empty-popup {
+            left: px2rem(1000);
+            top: px2rem(180);
+        }
     }
     .image-9 {
         .left {
@@ -162,11 +170,6 @@
             left: px2rem(900);
             top: px2rem(200);
         }
-        .delete-line {
-            left: px2rem(1536);
-            top: px2rem(356);
-            width: px2rem(146);
-        }
     }
     .image-10 {
         .icon-mark {
@@ -178,10 +181,9 @@
             left: px2rem(1200);
             top: px2rem(280);
         }
-        .delete-line {
-            left: px2rem(1536);
-            top: px2rem(356);
-            width: px2rem(146);
+        .empty-popup {
+            left: px2rem(900);
+            top: px2rem(80);
         }
     }
     .image-11 {
@@ -208,10 +210,9 @@
             left: px2rem(840);
             top: px2rem(380);
         }
-        .delete-line {
+        .key {
             left: px2rem(1536);
             top: px2rem(378);
-            width: px2rem(96);
         }
     }
     .image-12 {
@@ -236,12 +237,14 @@
         .suanyatie {
             left: px2rem(1536);
             top: px2rem(356);
-            width: px2rem(146);
         }
         .key {
             left: px2rem(1536);
             top: px2rem(400);
-            width: px2rem(210);
+        }
+        .nacl {
+            left: px2rem(1536);
+            top: px2rem(378);
         }
     }
     .image-13 {
@@ -254,10 +257,23 @@
             left: px2rem(900);
             top: px2rem(340);
         }
-        .delete-line {
+        .key {
+            left: px2rem(1536);
+            top: px2rem(356);
+        }
+        .nacl {
+            left: px2rem(1536);
+            top: px2rem(378);
+        }
+        .empty-popup {
+            left: px2rem(900);
+            top: px2rem(360);
+        }
+    }
+    .image-14 {
+        .nacl {
             left: px2rem(1536);
             top: px2rem(356);
-            width: px2rem(210);
         }
     }
     .image-15 {
@@ -275,7 +291,7 @@
         }
     }
     .image-16 {
-        .icon-mark {
+        .icon-light-mark {
             position: absolute;
             left: px2rem(426);
             top: px2rem(336);
@@ -311,7 +327,7 @@
         }
     }
     .image-21 {
-        .icon-mark {
+        .icon-light-mark {
             position: absolute;
             left: px2rem(840);
             top: px2rem(423);
@@ -405,10 +421,12 @@
             top: px2rem(280)
         }
         .delete-line {
-            left: px2rem(1536);
-            top: px2rem(356);
             width: px2rem(130);
         }
+        .empty-popup {
+            left: px2rem(900);
+            top: px2rem(280)
+        }
     }
     .image-36 {
         .icon-mark {
@@ -427,4 +445,28 @@
         bottom: px2rem(40);
         width: px2rem(148);
     }
+    .suanyatie {
+        width: px2rem(146);
+    }
+    .kuini {
+        width: px2rem(100);
+    }
+    .nacl {
+        width: px2rem(132);
+    }
+    .key {
+        width: px2rem(210);
+    }
+    .delete-line {
+        left: px2rem(1536);
+        &.top {
+            top: px2rem(356);
+        }
+        &.center {
+            top: px2rem(378);
+        }
+        &.bottom {
+            top: px2rem(400);
+        }
+    }
 }

+ 18 - 0
2018专题/1807吸血鬼专题Wap-商务/package-lock.json

@@ -2399,6 +2399,11 @@
         }
       }
     },
+    "jquery": {
+      "version": "2.2.4",
+      "resolved": "http://registry.npm.taobao.org/jquery/download/jquery-2.2.4.tgz",
+      "integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI="
+    },
     "js-base64": {
       "version": "2.4.8",
       "resolved": "http://registry.npm.taobao.org/js-base64/download/js-base64-2.4.8.tgz",
@@ -4309,6 +4314,14 @@
         "ssr-window": "1.0.1"
       }
     },
+    "swiper.js": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/swiper.js/download/swiper.js-1.0.0.tgz",
+      "integrity": "sha1-/7HRV8TqnVz0PI3FjuaQJxtjmFk=",
+      "requires": {
+        "jquery": "2.2.4"
+      }
+    },
     "symbol-observable": {
       "version": "1.2.0",
       "resolved": "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.2.0.tgz",
@@ -4449,6 +4462,11 @@
       "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
       "optional": true
     },
+    "underscore": {
+      "version": "1.9.1",
+      "resolved": "http://registry.npm.taobao.org/underscore/download/underscore-1.9.1.tgz",
+      "integrity": "sha1-BtzjSg5op7q8KbNluOdLiSUgOWE="
+    },
     "union-value": {
       "version": "1.0.0",
       "resolved": "http://registry.npm.taobao.org/union-value/download/union-value-1.0.0.tgz",

+ 3 - 2
2018专题/1807吸血鬼专题Wap-商务/package.json

@@ -8,9 +8,10 @@
     "howler": "^2.0.14",
     "lodash": "^4.17.10",
     "node-sass": "^4.7.2",
+    "parcel-bundler": "^1.9.7",
+    "parcel-plugin-html": "^1.0.21",
     "python": "0.0.4",
-    "swipe": "^1.7.7",
-    "swiper": "^4.3.3",
+    "underscore": "^1.9.1",
     "vue": "^2.5.16"
   },
   "devDependencies": {

BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book-back.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book-front.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book-line.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book-next.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book-prev.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/book.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-back-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-back.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-buy-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-buy.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-close.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-comment-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-comment.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-end-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-end.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-goon-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-goon.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-history-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-history.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-play.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-primary-start-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-primary-start.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-restart-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-restart-simple-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-restart-simple.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-restart.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-skip-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-skip.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-start-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/button/btn-start.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/enter-room.jpg


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/finish-btn-bg.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/finish-btn-bg2.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/finish-mask.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-back-index.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-chongwei-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-chongwei.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-comment-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-comment.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-jiuren-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-jiuren.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-a-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-a.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-d-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-d.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-f-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-f.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-s-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-s.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-w-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-keyboard-w.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-mark-rotate.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-mark.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-music-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-music.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-next-column.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-next.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-shenshi-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-shenshi.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-sw-prev-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-sw-prev.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-task-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-task.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-zhenxiang-hover.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/icon/icon-zhenxiang.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/primary-bg.jpg


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/run-end.jpg


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/shenshichengmi-avatar.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/task-intro-1.jpg


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/task-tab-bg.png


BIN
2018专题/1807吸血鬼专题Wap-商务/src/img - 副本/task-tab-complete-bg.png


Vissa filer visades inte eftersom för många filer har ändrats