sequenceserver 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (667) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sequenceserver/api_errors.rb +24 -2
  3. data/lib/sequenceserver/blast/job.rb +41 -7
  4. data/lib/sequenceserver/blast/report.rb +36 -30
  5. data/lib/sequenceserver/config.rb +49 -27
  6. data/lib/sequenceserver/job.rb +13 -3
  7. data/lib/sequenceserver/job_remover.rb +25 -29
  8. data/lib/sequenceserver/refinements.rb +15 -0
  9. data/lib/sequenceserver/routes.rb +69 -7
  10. data/lib/sequenceserver/sequence.rb +8 -7
  11. data/lib/sequenceserver/sys.rb +2 -2
  12. data/lib/sequenceserver/version.rb +1 -1
  13. data/lib/sequenceserver/zip_file_generator.rb +56 -0
  14. data/lib/sequenceserver.rb +1 -0
  15. data/public/config.js +149 -143
  16. data/public/css/sequenceserver.css +44 -3
  17. data/public/css/sequenceserver.min.css +3 -3
  18. data/public/js/alignment_exporter.js +16 -8
  19. data/public/js/circos.js +370 -234
  20. data/public/js/cloud_share_modal.js +216 -0
  21. data/public/js/databases.js +144 -0
  22. data/public/js/databases_tree.js +42 -113
  23. data/public/js/dnd.js +164 -0
  24. data/public/js/error_modal.js +4 -11
  25. data/public/js/exporter.js +7 -3
  26. data/public/js/form.js +260 -0
  27. data/public/js/grapher.js +113 -106
  28. data/public/js/hit.js +80 -67
  29. data/public/js/hits_overview.js +2 -2
  30. data/public/js/hsp.js +343 -288
  31. data/public/js/jquery_world.js +4 -4
  32. data/public/js/mailto.js +36 -0
  33. data/public/js/options.js +84 -0
  34. data/public/js/query.js +319 -59
  35. data/public/js/report.js +315 -269
  36. data/public/js/report_root.js +75 -0
  37. data/public/js/search.js +28 -1011
  38. data/public/js/search_button.js +195 -0
  39. data/public/js/sequence.js +2409 -2411
  40. data/public/js/sequence_modal.js +152 -159
  41. data/public/js/share_url.js +23 -0
  42. data/public/js/sidebar.js +262 -83
  43. data/public/js/tests/database.spec.js +60 -0
  44. data/public/js/tests/mock_data/databases.json +91 -0
  45. data/public/js/tests/mock_data/long_response.json +269 -0
  46. data/public/js/tests/mock_data/short_response.json +2240 -0
  47. data/public/js/tests/report.spec.js +99 -0
  48. data/public/js/tests/search_button.spec.js +14 -0
  49. data/public/js/tests/search_query.spec.js +41 -0
  50. data/public/packages/circosJS@1.7.0.js +1640 -0
  51. data/public/packages/jquery-ui@1.11.4.js +16624 -0
  52. data/public/sequenceserver-report.min.js +2425 -19
  53. data/public/sequenceserver-search.min.js +2337 -15
  54. data/public/vendor/github/jspm/nodelibs-assert@0.1.0/index.js +2 -0
  55. data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-assert@0.1.0}/package.json +1 -1
  56. data/public/vendor/github/jspm/nodelibs-assert@0.1.0.js +1 -0
  57. data/public/vendor/github/jspm/nodelibs-buffer@0.1.1/package.json +6 -0
  58. data/public/vendor/github/jspm/nodelibs-buffer@0.1.1.js +1 -0
  59. data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/package.json +2 -2
  60. data/public/vendor/github/jspm/nodelibs-process@0.1.2.js +1 -0
  61. data/public/vendor/github/jspm/nodelibs-vm@0.1.0/index.js +2 -0
  62. data/public/vendor/github/jspm/nodelibs-vm@0.1.0/package.json +6 -0
  63. data/public/vendor/github/jspm/nodelibs-vm@0.1.0.js +1 -0
  64. data/public/vendor/npm/assert@1.5.0/CHANGELOG.md +8 -0
  65. data/public/vendor/npm/assert@1.5.0/README.md +105 -0
  66. data/public/vendor/npm/assert@1.5.0/assert.js +327 -0
  67. data/public/vendor/npm/assert@1.5.0/package.json +32 -0
  68. data/public/vendor/npm/assert@1.5.0/test.js +288 -0
  69. data/public/vendor/npm/assert@1.5.0.js +1 -0
  70. data/public/vendor/npm/{base64-js@0.0.8/LICENSE.MIT → base64-js@1.5.1/LICENSE} +1 -1
  71. data/public/vendor/npm/{base64-js@0.0.8 → base64-js@1.5.1}/README.md +10 -7
  72. data/public/vendor/npm/base64-js@1.5.1/base64js.min.js +3 -0
  73. data/public/vendor/npm/base64-js@1.5.1/index.d.ts +3 -0
  74. data/public/vendor/npm/base64-js@1.5.1/index.js +151 -0
  75. data/public/vendor/npm/base64-js@1.5.1/package.json +47 -0
  76. data/public/vendor/npm/base64-js@1.5.1.js +1 -0
  77. data/public/vendor/npm/buffer@5.7.1/AUTHORS.md +70 -0
  78. data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/README.md +111 -41
  79. data/public/vendor/npm/buffer@5.7.1/index.d.ts +186 -0
  80. data/public/vendor/npm/buffer@5.7.1/index.js +1817 -0
  81. data/public/vendor/npm/buffer@5.7.1/package.json +96 -0
  82. data/public/vendor/npm/buffer@5.7.1.js +1 -0
  83. data/public/vendor/npm/core-util-is@1.0.3/LICENSE +19 -0
  84. data/public/vendor/npm/core-util-is@1.0.3/lib/util.js +64 -0
  85. data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/package.json +13 -1
  86. data/public/vendor/npm/core-util-is@1.0.3.js +1 -0
  87. data/public/vendor/npm/events@1.0.2/tests/add-listeners.js +2 -2
  88. data/public/vendor/npm/events@1.0.2/tests/check-listener-leaks.js +3 -3
  89. data/public/vendor/npm/events@1.0.2/tests/common.js +1 -1
  90. data/public/vendor/npm/events@1.0.2/tests/index.js +13 -13
  91. data/public/vendor/npm/events@1.0.2/tests/listeners-side-effects.js +2 -2
  92. data/public/vendor/npm/events@1.0.2/tests/listeners.js +2 -2
  93. data/public/vendor/npm/events@1.0.2/tests/max-listeners.js +2 -2
  94. data/public/vendor/npm/events@1.0.2/tests/modify-in-emit.js +2 -2
  95. data/public/vendor/npm/events@1.0.2/tests/num-args.js +2 -2
  96. data/public/vendor/npm/events@1.0.2/tests/once.js +2 -2
  97. data/public/vendor/npm/events@1.0.2/tests/remove-all-listeners.js +3 -3
  98. data/public/vendor/npm/events@1.0.2/tests/remove-listeners.js +3 -3
  99. data/public/vendor/npm/events@1.0.2/tests/set-max-listeners-side-effects.js +2 -2
  100. data/public/vendor/npm/events@1.0.2/tests/subclass.js +3 -3
  101. data/public/vendor/npm/events@1.0.2.js +1 -1
  102. data/public/vendor/npm/ieee754@1.2.1/LICENSE +11 -0
  103. data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/README.md +12 -8
  104. data/public/vendor/npm/ieee754@1.2.1/index.d.ts +10 -0
  105. data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/index.js +6 -6
  106. data/public/vendor/npm/ieee754@1.2.1/package.json +52 -0
  107. data/public/vendor/npm/ieee754@1.2.1.js +1 -0
  108. data/public/vendor/npm/{is-array@1.0.1 → indexof@0.0.1}/Makefile +3 -3
  109. data/public/vendor/npm/indexof@0.0.1/Readme.md +15 -0
  110. data/public/vendor/npm/indexof@0.0.1/component.json +10 -0
  111. data/public/vendor/npm/indexof@0.0.1/index.js +11 -0
  112. data/public/vendor/npm/indexof@0.0.1/package.json +12 -0
  113. data/public/vendor/npm/indexof@0.0.1.js +1 -0
  114. data/public/vendor/npm/inherits@2.0.1/inherits.js +1 -1
  115. data/public/vendor/npm/inherits@2.0.1.js +1 -1
  116. data/public/vendor/npm/isarray@0.0.1.js +1 -1
  117. data/public/vendor/npm/js-tokens@4.0.0/index.js +23 -0
  118. data/public/vendor/npm/js-tokens@4.0.0/package.json +30 -0
  119. data/public/vendor/npm/js-tokens@4.0.0.js +1 -0
  120. data/public/vendor/npm/loose-envify@1.4.0/LICENSE +21 -0
  121. data/public/vendor/npm/loose-envify@1.4.0/README.md +45 -0
  122. data/public/vendor/npm/loose-envify@1.4.0/cli.js +12 -0
  123. data/public/vendor/npm/loose-envify@1.4.0/custom.js +3 -0
  124. data/public/vendor/npm/loose-envify@1.4.0/index.js +5 -0
  125. data/public/vendor/npm/loose-envify@1.4.0/loose-envify.js +33 -0
  126. data/public/vendor/npm/loose-envify@1.4.0/package.json +36 -0
  127. data/public/vendor/npm/loose-envify@1.4.0/replace.js +52 -0
  128. data/public/vendor/npm/loose-envify@1.4.0.js +1 -0
  129. data/public/vendor/npm/object-assign@4.1.1/index.js +90 -0
  130. data/public/vendor/npm/object-assign@4.1.1/package.json +42 -0
  131. data/public/vendor/npm/object-assign@4.1.1.js +1 -0
  132. data/public/vendor/npm/path-browserify@0.0.0/index.js +1 -1
  133. data/public/vendor/npm/path-browserify@0.0.0.js +1 -1
  134. data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/README.md +4 -1
  135. data/public/vendor/npm/process@0.11.10/browser.js +184 -0
  136. data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/package.json +10 -1
  137. data/public/vendor/npm/process@0.11.10/test.js +185 -0
  138. data/public/vendor/npm/process@0.11.10.js +1 -0
  139. data/public/vendor/npm/react-dom@18.0.0/LICENSE +21 -0
  140. data/public/vendor/npm/react-dom@18.0.0/README.md +50 -0
  141. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.development.js +4771 -0
  142. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.production.min.js +85 -0
  143. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.development.js +4813 -0
  144. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.production.min.js +1705 -0
  145. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.development.js +4746 -0
  146. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.production.min.js +90 -0
  147. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.development.js +4714 -0
  148. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.production.min.js +1746 -0
  149. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.development.js +1017 -0
  150. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.production.min.js +617 -0
  151. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.development.js +20092 -0
  152. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.production.min.js +322 -0
  153. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.profiling.min.js +364 -0
  154. data/public/vendor/npm/react-dom@18.0.0/client.js +27 -0
  155. data/public/vendor/npm/react-dom@18.0.0/index.js +23 -0
  156. data/public/vendor/npm/react-dom@18.0.0/package.json +62 -0
  157. data/public/vendor/npm/react-dom@18.0.0/profiling.js +23 -0
  158. data/public/vendor/npm/react-dom@18.0.0/server.browser.js +19 -0
  159. data/public/vendor/npm/react-dom@18.0.0/server.js +3 -0
  160. data/public/vendor/npm/react-dom@18.0.0/server.node.js +19 -0
  161. data/public/vendor/npm/react-dom@18.0.0/test-utils.js +9 -0
  162. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.development.js +4770 -0
  163. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.production.min.js +72 -0
  164. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.development.js +4745 -0
  165. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.production.min.js +74 -0
  166. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.development.js +1013 -0
  167. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.production.min.js +625 -0
  168. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.development.js +20106 -0
  169. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.production.min.js +269 -0
  170. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.profiling.min.js +285 -0
  171. data/public/vendor/npm/react-dom@18.0.0.js +1 -0
  172. data/public/vendor/npm/react@18.0.0/LICENSE +21 -0
  173. data/public/vendor/npm/react@18.0.0/README.md +13 -0
  174. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.development.js +837 -0
  175. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.production.min.js +10 -0
  176. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
  177. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.development.js +849 -0
  178. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.production.min.js +38 -0
  179. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.profiling.min.js +38 -0
  180. data/public/vendor/npm/react@18.0.0/cjs/react.development.js +1746 -0
  181. data/public/vendor/npm/react@18.0.0/cjs/react.production.min.js +26 -0
  182. data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.development.js +10 -0
  183. data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.production.min.js +12 -0
  184. data/public/vendor/npm/react@18.0.0/index.js +9 -0
  185. data/public/vendor/npm/react@18.0.0/jsx-dev-runtime.js +9 -0
  186. data/public/vendor/npm/react@18.0.0/jsx-runtime.js +9 -0
  187. data/public/vendor/npm/react@18.0.0/package.json +47 -0
  188. data/public/vendor/npm/react@18.0.0/react.shared-subset.js +9 -0
  189. data/public/vendor/npm/react@18.0.0/umd/react.development.js +2186 -0
  190. data/public/vendor/npm/react@18.0.0/umd/react.production.min.js +33 -0
  191. data/public/vendor/npm/react@18.0.0/umd/react.profiling.min.js +33 -0
  192. data/public/vendor/npm/react@18.0.0.js +1 -0
  193. data/public/vendor/npm/readable-stream@1.1.14/LICENSE +18 -0
  194. data/public/vendor/npm/readable-stream@1.1.14/duplex.js +2 -0
  195. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_duplex.js +5 -5
  196. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_passthrough.js +3 -3
  197. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_readable.js +10 -10
  198. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_transform.js +4 -4
  199. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_writable.js +6 -6
  200. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/package.json +1 -1
  201. data/public/vendor/npm/readable-stream@1.1.14/passthrough.js +2 -0
  202. data/public/vendor/npm/readable-stream@1.1.14/readable.js +13 -0
  203. data/public/vendor/npm/readable-stream@1.1.14/transform.js +2 -0
  204. data/public/vendor/npm/readable-stream@1.1.14/writable.js +2 -0
  205. data/public/vendor/npm/readable-stream@1.1.14.js +1 -0
  206. data/public/vendor/npm/scheduler@0.21.0/LICENSE +21 -0
  207. data/public/vendor/npm/scheduler@0.21.0/README.md +9 -0
  208. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.development.js +530 -0
  209. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.production.min.js +20 -0
  210. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.development.js +153 -0
  211. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.production.min.js +14 -0
  212. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.development.js +444 -0
  213. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.production.min.js +19 -0
  214. data/public/vendor/npm/scheduler@0.21.0/index.js +9 -0
  215. data/public/vendor/npm/scheduler@0.21.0/package.json +36 -0
  216. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.development.js +701 -0
  217. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.production.min.js +21 -0
  218. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.development.js +154 -0
  219. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.production.min.js +148 -0
  220. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.profiling.min.js +148 -0
  221. data/public/vendor/npm/scheduler@0.21.0/unstable_mock.js +9 -0
  222. data/public/vendor/npm/scheduler@0.21.0/unstable_post_task.js +9 -0
  223. data/public/vendor/npm/scheduler@0.21.0.js +1 -0
  224. data/public/vendor/npm/stream-browserify@1.0.0/index.js +7 -7
  225. data/public/vendor/npm/stream-browserify@1.0.0/test/buf.js +5 -5
  226. data/public/vendor/npm/stream-browserify@1.0.0.js +1 -1
  227. data/public/vendor/npm/string_decoder@0.10.31/index.js +2 -2
  228. data/public/vendor/npm/string_decoder@0.10.31.js +1 -1
  229. data/public/vendor/npm/util@0.10.3/support/isBuffer.js +1 -1
  230. data/public/vendor/npm/util@0.10.3/test/browser/inspect.js +2 -2
  231. data/public/vendor/npm/util@0.10.3/test/browser/is.js +3 -3
  232. data/public/vendor/npm/util@0.10.3/test/node/debug.js +4 -4
  233. data/public/vendor/npm/util@0.10.3/test/node/format.js +2 -2
  234. data/public/vendor/npm/util@0.10.3/test/node/inspect.js +3 -3
  235. data/public/vendor/npm/util@0.10.3/test/node/log.js +3 -3
  236. data/public/vendor/npm/util@0.10.3/test/node/util.js +3 -3
  237. data/public/vendor/npm/util@0.10.3/util.js +3 -3
  238. data/public/vendor/npm/util@0.10.3.js +1 -1
  239. data/public/vendor/npm/vm-browserify@0.0.4/LICENSE +18 -0
  240. data/public/vendor/npm/vm-browserify@0.0.4/example/run/bundle.js +376 -0
  241. data/public/vendor/npm/vm-browserify@0.0.4/example/run/entry.js +6 -0
  242. data/public/vendor/npm/vm-browserify@0.0.4/example/run/index.html +9 -0
  243. data/public/vendor/npm/vm-browserify@0.0.4/example/run/server.js +6 -0
  244. data/public/vendor/npm/vm-browserify@0.0.4/index.js +139 -0
  245. data/public/vendor/npm/vm-browserify@0.0.4/package.json +46 -0
  246. data/public/vendor/npm/vm-browserify@0.0.4/readme.markdown +67 -0
  247. data/public/vendor/npm/vm-browserify@0.0.4/test/vm.js +34 -0
  248. data/public/vendor/npm/vm-browserify@0.0.4.js +1 -0
  249. data/public/vendor/npm/webshim@1.15.8/Gruntfile.js +4 -4
  250. data/public/vendor/npm/webshim@1.15.8/build/combobuild.js +2 -2
  251. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/color-picker.js +1 -1
  252. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/10.js +1 -1
  253. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/11.js +1 -1
  254. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/17.js +1 -1
  255. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/5.js +1 -1
  256. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/6.js +1 -1
  257. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/9.js +1 -1
  258. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/es6.js +1 -1
  259. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/excanvas.js +1 -1
  260. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/form-number-date-ui.js +1 -1
  261. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-html4.js +1 -1
  262. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-swf.js +1 -1
  263. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/sizzle.js +1 -1
  264. data/public/vendor/npm/webshim@1.15.8/js-webshim/minified/shims/es6.js +1 -1
  265. data/public/vendor/npm/webshim@1.15.8/src/shims/color-picker.js +1 -1
  266. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/10.js +1 -1
  267. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/11.js +1 -1
  268. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/17.js +1 -1
  269. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/5.js +1 -1
  270. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/6.js +1 -1
  271. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/9.js +1 -1
  272. data/public/vendor/npm/webshim@1.15.8/src/shims/es6.js +1 -1
  273. data/public/vendor/npm/webshim@1.15.8/src/shims/excanvas.js +1 -1
  274. data/public/vendor/npm/webshim@1.15.8/src/shims/form-number-date-ui.js +1 -1
  275. data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-html4.js +1 -1
  276. data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-swf.js +1 -1
  277. data/public/vendor/npm/webshim@1.15.8/src/shims/sizzle.js +1 -1
  278. data/public/vendor/npm/webshim@1.15.8/tests/dist/jquery.js +1 -1
  279. data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/core.js +1 -1
  280. data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/event.js +1388 -711
  281. data/public/vendor/npm/webshim@1.15.8/tests/qunit/qunit.js +1 -1
  282. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-1-custom.js +1 -1
  283. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-2-custom.js +1 -1
  284. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/punycode.js +1 -1
  285. data/public/vendor/system-polyfills.js +865 -1
  286. data/views/blastn_options.erb +291 -0
  287. data/views/blastp_options.erb +288 -0
  288. data/views/blastx_options.erb +318 -0
  289. data/views/error.erb +12 -0
  290. data/views/layout.erb +2 -30
  291. data/views/report.erb +0 -8
  292. data/views/search.erb +16 -9
  293. data/views/tblastn_options.erb +266 -0
  294. data/views/tblastx_options.erb +291 -0
  295. metadata +318 -439
  296. data/public/vendor/github/jspm/nodelibs-buffer@0.1.0.js +0 -1
  297. data/public/vendor/github/jspm/nodelibs-module@0.1.0/index.js +0 -1
  298. data/public/vendor/github/jspm/nodelibs-module@0.1.0.js +0 -1
  299. data/public/vendor/github/jspm/nodelibs-process@0.1.1.js +0 -1
  300. data/public/vendor/npm/amdefine@1.0.0/LICENSE +0 -58
  301. data/public/vendor/npm/amdefine@1.0.0/README.md +0 -171
  302. data/public/vendor/npm/amdefine@1.0.0/amdefine.js +0 -200
  303. data/public/vendor/npm/amdefine@1.0.0/intercept.js +0 -24
  304. data/public/vendor/npm/amdefine@1.0.0/package.json +0 -16
  305. data/public/vendor/npm/amdefine@1.0.0.js +0 -1
  306. data/public/vendor/npm/base62@0.1.1/LICENSE +0 -20
  307. data/public/vendor/npm/base62@0.1.1/Readme.md +0 -30
  308. data/public/vendor/npm/base62@0.1.1/base62.js +0 -28
  309. data/public/vendor/npm/base62@0.1.1/package.json +0 -21
  310. data/public/vendor/npm/base62@0.1.1/test/test.js +0 -13
  311. data/public/vendor/npm/base62@0.1.1.js +0 -1
  312. data/public/vendor/npm/base64-js@0.0.8/lib/b64.js +0 -125
  313. data/public/vendor/npm/base64-js@0.0.8/package.json +0 -34
  314. data/public/vendor/npm/base64-js@0.0.8/test/convert.js +0 -39
  315. data/public/vendor/npm/base64-js@0.0.8/test/url-safe.js +0 -15
  316. data/public/vendor/npm/base64-js@0.0.8.js +0 -1
  317. data/public/vendor/npm/buffer@3.4.3/index.js +0 -1533
  318. data/public/vendor/npm/buffer@3.4.3/package.json +0 -67
  319. data/public/vendor/npm/buffer@3.4.3/test/_polyfill.js +0 -152
  320. data/public/vendor/npm/buffer@3.4.3/test/base64.js +0 -33
  321. data/public/vendor/npm/buffer@3.4.3/test/basic.js +0 -58
  322. data/public/vendor/npm/buffer@3.4.3/test/compare.js +0 -53
  323. data/public/vendor/npm/buffer@3.4.3/test/constructor.js +0 -132
  324. data/public/vendor/npm/buffer@3.4.3/test/deprecated.js +0 -21
  325. data/public/vendor/npm/buffer@3.4.3/test/from-string.js +0 -105
  326. data/public/vendor/npm/buffer@3.4.3/test/methods.js +0 -109
  327. data/public/vendor/npm/buffer@3.4.3/test/node/README.txt +0 -1
  328. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-ascii.js +0 -20
  329. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-bytelength.js +0 -38
  330. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-concat.js +0 -26
  331. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-indexof.js +0 -78
  332. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-inspect.js +0 -31
  333. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer.js +0 -804
  334. data/public/vendor/npm/buffer@3.4.3/test/node-es6/README.txt +0 -1
  335. data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-arraybuffer.js +0 -37
  336. data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-iterator.js +0 -32
  337. data/public/vendor/npm/buffer@3.4.3/test/slice.js +0 -33
  338. data/public/vendor/npm/buffer@3.4.3/test/static.js +0 -32
  339. data/public/vendor/npm/buffer@3.4.3/test/to-string.js +0 -106
  340. data/public/vendor/npm/buffer@3.4.3/test/write.js +0 -90
  341. data/public/vendor/npm/buffer@3.4.3.js +0 -1
  342. data/public/vendor/npm/core-util-is@1.0.1/float.patch +0 -604
  343. data/public/vendor/npm/core-util-is@1.0.1/lib/util.js +0 -66
  344. data/public/vendor/npm/core-util-is@1.0.1/util.js +0 -66
  345. data/public/vendor/npm/core-util-is@1.0.1.js +0 -1
  346. data/public/vendor/npm/envify@3.4.0/README.md +0 -145
  347. data/public/vendor/npm/envify@3.4.0/bin/envify +0 -17
  348. data/public/vendor/npm/envify@3.4.0/custom.js +0 -33
  349. data/public/vendor/npm/envify@3.4.0/index.js +0 -4
  350. data/public/vendor/npm/envify@3.4.0/package.json +0 -35
  351. data/public/vendor/npm/envify@3.4.0/visitors.js +0 -33
  352. data/public/vendor/npm/envify@3.4.0.js +0 -1
  353. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esparse.js +0 -90
  354. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esvalidate.js +0 -145
  355. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/esprima.js +0 -6191
  356. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/package.json +0 -72
  357. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/compat.js +0 -167
  358. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/reflect.js +0 -421
  359. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/run.js +0 -34
  360. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/runner.js +0 -418
  361. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/test.js +0 -34730
  362. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb.js +0 -1
  363. data/public/vendor/npm/ieee754@1.1.6/LICENSE +0 -56
  364. data/public/vendor/npm/ieee754@1.1.6/package.json +0 -34
  365. data/public/vendor/npm/ieee754@1.1.6/test/basic.js +0 -20
  366. data/public/vendor/npm/ieee754@1.1.6.js +0 -1
  367. data/public/vendor/npm/is-array@1.0.1/History.md +0 -11
  368. data/public/vendor/npm/is-array@1.0.1/Readme.md +0 -27
  369. data/public/vendor/npm/is-array@1.0.1/component.json +0 -13
  370. data/public/vendor/npm/is-array@1.0.1/index.js +0 -33
  371. data/public/vendor/npm/is-array@1.0.1/package.json +0 -10
  372. data/public/vendor/npm/is-array@1.0.1/test/test.html +0 -46
  373. data/public/vendor/npm/is-array@1.0.1.js +0 -1
  374. data/public/vendor/npm/jstransform@10.1.0/LICENSE +0 -201
  375. data/public/vendor/npm/jstransform@10.1.0/README.md +0 -98
  376. data/public/vendor/npm/jstransform@10.1.0/jestEnvironment.js +0 -3
  377. data/public/vendor/npm/jstransform@10.1.0/jestPreprocessor.js +0 -8
  378. data/public/vendor/npm/jstransform@10.1.0/package.json +0 -52
  379. data/public/vendor/npm/jstransform@10.1.0/polyfill/Object.es6.js +0 -54
  380. data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-test.js +0 -246
  381. data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-utils-test.js +0 -31
  382. data/public/vendor/npm/jstransform@10.1.0/src/docblock.js +0 -86
  383. data/public/vendor/npm/jstransform@10.1.0/src/jstransform.js +0 -180
  384. data/public/vendor/npm/jstransform@10.1.0/src/utils.js +0 -386
  385. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-arrow-function-visitors-test.js +0 -57
  386. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-call-spread-visitors-test.js +0 -46
  387. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-class-visitors-test.js +0 -463
  388. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-destructuring-visitors-test.js +0 -144
  389. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-es7-object-integration-test.js +0 -40
  390. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-concise-method-visitors-test.js +0 -47
  391. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-short-notation-visitors-test.js +0 -33
  392. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-rest-param-visitors-test.js +0 -119
  393. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-template-visitors-test.js +0 -138
  394. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-rest-property-helpers-test.js +0 -47
  395. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-spread-property-visitors-test.js +0 -90
  396. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/generate-type-syntax-test.js +0 -40
  397. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/type-syntax-test.rec.js +0 -846
  398. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/reserved-words-test.js +0 -40
  399. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-alias-syntax-test.js +0 -34
  400. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-class-syntax-test.js +0 -105
  401. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-function-syntax-test.js +0 -126
  402. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-interface-syntax-test.js +0 -29
  403. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-object-method-syntax-test.js +0 -65
  404. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-pattern-syntax-test.js +0 -45
  405. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-syntax-test.js +0 -46
  406. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-variable-declaration-syntax-test.js +0 -102
  407. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-arrow-function-visitors.js +0 -66
  408. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-call-spread-visitors.js +0 -72
  409. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-class-visitors.js +0 -316
  410. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-destructuring-visitors.js +0 -135
  411. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-concise-method-visitors.js +0 -28
  412. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-short-notation-visitors.js +0 -12
  413. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-rest-param-visitors.js +0 -45
  414. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-template-visitors.js +0 -90
  415. data/public/vendor/npm/jstransform@10.1.0/visitors/es7-rest-property-helpers.js +0 -80
  416. data/public/vendor/npm/jstransform@10.1.0/visitors/es7-spread-property-visitors.js +0 -56
  417. data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-helper.js +0 -74
  418. data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-visitors.js +0 -30
  419. data/public/vendor/npm/jstransform@10.1.0/visitors/type-syntax.js +0 -118
  420. data/public/vendor/npm/jstransform@10.1.0.js +0 -1
  421. data/public/vendor/npm/process@0.10.1/browser.js +0 -58
  422. data/public/vendor/npm/process@0.10.1.js +0 -1
  423. data/public/vendor/npm/qs@2.4.1/test/stringify.js +0 -162
  424. data/public/vendor/npm/react@0.13.3/README.md +0 -20
  425. data/public/vendor/npm/react@0.13.3/addons.js +0 -2
  426. data/public/vendor/npm/react@0.13.3/dist/JSXTransformer.js +0 -11346
  427. data/public/vendor/npm/react@0.13.3/dist/react-with-addons.js +0 -10483
  428. data/public/vendor/npm/react@0.13.3/dist/react-with-addons.min.js +0 -7297
  429. data/public/vendor/npm/react@0.13.3/dist/react.js +0 -9468
  430. data/public/vendor/npm/react@0.13.3/dist/react.min.js +0 -6764
  431. data/public/vendor/npm/react@0.13.3/lib/AutoFocusMixin.js +0 -9
  432. data/public/vendor/npm/react@0.13.3/lib/BeforeInputEventPlugin.js +0 -197
  433. data/public/vendor/npm/react@0.13.3/lib/CSSCore.js +0 -39
  434. data/public/vendor/npm/react@0.13.3/lib/CSSProperty.js +0 -123
  435. data/public/vendor/npm/react@0.13.3/lib/CSSPropertyOperations.js +0 -103
  436. data/public/vendor/npm/react@0.13.3/lib/CallbackQueue.js +0 -43
  437. data/public/vendor/npm/react@0.13.3/lib/ChangeEventPlugin.js +0 -174
  438. data/public/vendor/npm/react@0.13.3/lib/ClientReactRootIndex.js +0 -23
  439. data/public/vendor/npm/react@0.13.3/lib/DOMChildrenOperations.js +0 -57
  440. data/public/vendor/npm/react@0.13.3/lib/DOMProperty.js +0 -96
  441. data/public/vendor/npm/react@0.13.3/lib/DOMPropertyOperations.js +0 -99
  442. data/public/vendor/npm/react@0.13.3/lib/Danger.js +0 -67
  443. data/public/vendor/npm/react@0.13.3/lib/DefaultEventPluginOrder.js +0 -5
  444. data/public/vendor/npm/react@0.13.3/lib/EnterLeaveEventPlugin.js +0 -69
  445. data/public/vendor/npm/react@0.13.3/lib/EventConstants.js +0 -55
  446. data/public/vendor/npm/react@0.13.3/lib/EventListener.js +0 -34
  447. data/public/vendor/npm/react@0.13.3/lib/EventPluginHub.js +0 -103
  448. data/public/vendor/npm/react@0.13.3/lib/EventPluginRegistry.js +0 -115
  449. data/public/vendor/npm/react@0.13.3/lib/EventPluginUtils.js +0 -121
  450. data/public/vendor/npm/react@0.13.3/lib/EventPropagators.js +0 -62
  451. data/public/vendor/npm/react@0.13.3/lib/ExecutionEnvironment.js +0 -42
  452. data/public/vendor/npm/react@0.13.3/lib/FallbackCompositionState.js +0 -45
  453. data/public/vendor/npm/react@0.13.3/lib/HTMLDOMPropertyConfig.js +0 -155
  454. data/public/vendor/npm/react@0.13.3/lib/LinkedStateMixin.js +0 -8
  455. data/public/vendor/npm/react@0.13.3/lib/LinkedValueUtils.js +0 -74
  456. data/public/vendor/npm/react@0.13.3/lib/LocalEventTrapMixin.js +0 -26
  457. data/public/vendor/npm/react@0.13.3/lib/MobileSafariClickEventPlugin.js +0 -17
  458. data/public/vendor/npm/react@0.13.3/lib/Object.assign.js +0 -47
  459. data/public/vendor/npm/react@0.13.3/lib/PooledClass.js +0 -75
  460. data/public/vendor/npm/react@0.13.3/lib/React.js +0 -93
  461. data/public/vendor/npm/react@0.13.3/lib/ReactBrowserComponentMixin.js +0 -7
  462. data/public/vendor/npm/react@0.13.3/lib/ReactBrowserEventEmitter.js +0 -136
  463. data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroup.js +0 -34
  464. data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroupChild.js +0 -92
  465. data/public/vendor/npm/react@0.13.3/lib/ReactChildReconciler.js +0 -57
  466. data/public/vendor/npm/react@0.13.3/lib/ReactChildren.js +0 -67
  467. data/public/vendor/npm/react@0.13.3/lib/ReactClass.js +0 -338
  468. data/public/vendor/npm/react@0.13.3/lib/ReactComponent.js +0 -50
  469. data/public/vendor/npm/react@0.13.3/lib/ReactComponentBrowserEnvironment.js +0 -14
  470. data/public/vendor/npm/react@0.13.3/lib/ReactComponentEnvironment.js +0 -19
  471. data/public/vendor/npm/react@0.13.3/lib/ReactComponentWithPureRenderMixin.js +0 -7
  472. data/public/vendor/npm/react@0.13.3/lib/ReactCompositeComponent.js +0 -374
  473. data/public/vendor/npm/react@0.13.3/lib/ReactContext.js +0 -27
  474. data/public/vendor/npm/react@0.13.3/lib/ReactCurrentOwner.js +0 -32
  475. data/public/vendor/npm/react@0.13.3/lib/ReactDOM.js +0 -146
  476. data/public/vendor/npm/react@0.13.3/lib/ReactDOMButton.js +0 -35
  477. data/public/vendor/npm/react@0.13.3/lib/ReactDOMComponent.js +0 -267
  478. data/public/vendor/npm/react@0.13.3/lib/ReactDOMForm.js +0 -21
  479. data/public/vendor/npm/react@0.13.3/lib/ReactDOMIDOperations.js +0 -63
  480. data/public/vendor/npm/react@0.13.3/lib/ReactDOMIframe.js +0 -20
  481. data/public/vendor/npm/react@0.13.3/lib/ReactDOMImg.js +0 -21
  482. data/public/vendor/npm/react@0.13.3/lib/ReactDOMInput.js +0 -94
  483. data/public/vendor/npm/react@0.13.3/lib/ReactDOMOption.js +0 -23
  484. data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelect.js +0 -112
  485. data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelection.js +0 -103
  486. data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextComponent.js +0 -38
  487. data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextarea.js +0 -70
  488. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultBatchingStrategy.js +0 -37
  489. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultInjection.js +0 -93
  490. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerf.js +0 -183
  491. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerfAnalysis.js +0 -145
  492. data/public/vendor/npm/react@0.13.3/lib/ReactElement.js +0 -151
  493. data/public/vendor/npm/react@0.13.3/lib/ReactElementValidator.js +0 -218
  494. data/public/vendor/npm/react@0.13.3/lib/ReactEmptyComponent.js +0 -47
  495. data/public/vendor/npm/react@0.13.3/lib/ReactErrorUtils.js +0 -30
  496. data/public/vendor/npm/react@0.13.3/lib/ReactEventEmitterMixin.js +0 -12
  497. data/public/vendor/npm/react@0.13.3/lib/ReactEventListener.js +0 -93
  498. data/public/vendor/npm/react@0.13.3/lib/ReactFragment.js +0 -110
  499. data/public/vendor/npm/react@0.13.3/lib/ReactInjection.js +0 -27
  500. data/public/vendor/npm/react@0.13.3/lib/ReactInputSelection.js +0 -75
  501. data/public/vendor/npm/react@0.13.3/lib/ReactInstanceHandles.js +0 -113
  502. data/public/vendor/npm/react@0.13.3/lib/ReactInstanceMap.js +0 -47
  503. data/public/vendor/npm/react@0.13.3/lib/ReactLifeCycle.js +0 -9
  504. data/public/vendor/npm/react@0.13.3/lib/ReactLink.js +0 -16
  505. data/public/vendor/npm/react@0.13.3/lib/ReactMarkupChecksum.js +0 -17
  506. data/public/vendor/npm/react@0.13.3/lib/ReactMount.js +0 -347
  507. data/public/vendor/npm/react@0.13.3/lib/ReactMultiChild.js +0 -190
  508. data/public/vendor/npm/react@0.13.3/lib/ReactMultiChildUpdateTypes.js +0 -10
  509. data/public/vendor/npm/react@0.13.3/lib/ReactNativeComponent.js +0 -53
  510. data/public/vendor/npm/react@0.13.3/lib/ReactOwner.js +0 -21
  511. data/public/vendor/npm/react@0.13.3/lib/ReactPerf.js +0 -42
  512. data/public/vendor/npm/react@0.13.3/lib/ReactPropTransferer.js +0 -40
  513. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocationNames.js +0 -13
  514. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocations.js +0 -9
  515. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypes.js +0 -225
  516. data/public/vendor/npm/react@0.13.3/lib/ReactPutListenerQueue.js +0 -31
  517. data/public/vendor/npm/react@0.13.3/lib/ReactReconcileTransaction.js +0 -66
  518. data/public/vendor/npm/react@0.13.3/lib/ReactReconciler.js +0 -44
  519. data/public/vendor/npm/react@0.13.3/lib/ReactRef.js +0 -36
  520. data/public/vendor/npm/react@0.13.3/lib/ReactRootIndex.js +0 -29
  521. data/public/vendor/npm/react@0.13.3/lib/ReactServerRendering.js +0 -44
  522. data/public/vendor/npm/react@0.13.3/lib/ReactServerRenderingTransaction.js +0 -47
  523. data/public/vendor/npm/react@0.13.3/lib/ReactStateSetters.js +0 -104
  524. data/public/vendor/npm/react@0.13.3/lib/ReactTestUtils.js +0 -249
  525. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionChildMapping.js +0 -53
  526. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionEvents.js +0 -68
  527. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionGroup.js +0 -140
  528. data/public/vendor/npm/react@0.13.3/lib/ReactUpdateQueue.js +0 -107
  529. data/public/vendor/npm/react@0.13.3/lib/ReactUpdates.js +0 -139
  530. data/public/vendor/npm/react@0.13.3/lib/ReactWithAddons.js +0 -30
  531. data/public/vendor/npm/react@0.13.3/lib/SVGDOMPropertyConfig.js +0 -76
  532. data/public/vendor/npm/react@0.13.3/lib/SelectEventPlugin.js +0 -91
  533. data/public/vendor/npm/react@0.13.3/lib/ServerReactRootIndex.js +0 -29
  534. data/public/vendor/npm/react@0.13.3/lib/SimpleEventPlugin.js +0 -287
  535. data/public/vendor/npm/react@0.13.3/lib/SyntheticClipboardEvent.js +0 -11
  536. data/public/vendor/npm/react@0.13.3/lib/SyntheticCompositionEvent.js +0 -9
  537. data/public/vendor/npm/react@0.13.3/lib/SyntheticDragEvent.js +0 -9
  538. data/public/vendor/npm/react@0.13.3/lib/SyntheticEvent.js +0 -90
  539. data/public/vendor/npm/react@0.13.3/lib/SyntheticFocusEvent.js +0 -9
  540. data/public/vendor/npm/react@0.13.3/lib/SyntheticInputEvent.js +0 -9
  541. data/public/vendor/npm/react@0.13.3/lib/SyntheticKeyboardEvent.js +0 -43
  542. data/public/vendor/npm/react@0.13.3/lib/SyntheticMouseEvent.js +0 -38
  543. data/public/vendor/npm/react@0.13.3/lib/SyntheticTouchEvent.js +0 -19
  544. data/public/vendor/npm/react@0.13.3/lib/SyntheticUIEvent.js +0 -29
  545. data/public/vendor/npm/react@0.13.3/lib/SyntheticWheelEvent.js +0 -18
  546. data/public/vendor/npm/react@0.13.3/lib/Transaction.js +0 -90
  547. data/public/vendor/npm/react@0.13.3/lib/ViewportMetrics.js +0 -27
  548. data/public/vendor/npm/react@0.13.3/lib/accumulateInto.js +0 -26
  549. data/public/vendor/npm/react@0.13.3/lib/adler32.js +0 -32
  550. data/public/vendor/npm/react@0.13.3/lib/camelize.js +0 -30
  551. data/public/vendor/npm/react@0.13.3/lib/camelizeStyleName.js +0 -8
  552. data/public/vendor/npm/react@0.13.3/lib/cloneWithProps.js +0 -20
  553. data/public/vendor/npm/react@0.13.3/lib/containsNode.js +0 -20
  554. data/public/vendor/npm/react@0.13.3/lib/createArrayFromMixed.js +0 -15
  555. data/public/vendor/npm/react@0.13.3/lib/createFullPageComponent.js +0 -22
  556. data/public/vendor/npm/react@0.13.3/lib/createNodesFromMarkup.js +0 -39
  557. data/public/vendor/npm/react@0.13.3/lib/cx.js +0 -20
  558. data/public/vendor/npm/react@0.13.3/lib/dangerousStyleValue.js +0 -19
  559. data/public/vendor/npm/react@0.13.3/lib/emptyFunction.js +0 -32
  560. data/public/vendor/npm/react@0.13.3/lib/emptyObject.js +0 -9
  561. data/public/vendor/npm/react@0.13.3/lib/escapeTextContentForBrowser.js +0 -38
  562. data/public/vendor/npm/react@0.13.3/lib/findDOMNode.js +0 -31
  563. data/public/vendor/npm/react@0.13.3/lib/flattenChildren.js +0 -25
  564. data/public/vendor/npm/react@0.13.3/lib/focusNode.js +0 -27
  565. data/public/vendor/npm/react@0.13.3/lib/forEachAccumulated.js +0 -29
  566. data/public/vendor/npm/react@0.13.3/lib/getActiveElement.js +0 -27
  567. data/public/vendor/npm/react@0.13.3/lib/getEventCharCode.js +0 -50
  568. data/public/vendor/npm/react@0.13.3/lib/getEventKey.js +0 -72
  569. data/public/vendor/npm/react@0.13.3/lib/getEventModifierState.js +0 -45
  570. data/public/vendor/npm/react@0.13.3/lib/getEventTarget.js +0 -29
  571. data/public/vendor/npm/react@0.13.3/lib/getIteratorFn.js +0 -42
  572. data/public/vendor/npm/react@0.13.3/lib/getMarkupWrap.js +0 -73
  573. data/public/vendor/npm/react@0.13.3/lib/getNodeForCharacterOffset.js +0 -73
  574. data/public/vendor/npm/react@0.13.3/lib/getReactRootElementInContainer.js +0 -33
  575. data/public/vendor/npm/react@0.13.3/lib/getTextContentAccessor.js +0 -11
  576. data/public/vendor/npm/react@0.13.3/lib/getUnboundedScrollPosition.js +0 -38
  577. data/public/vendor/npm/react@0.13.3/lib/hyphenate.js +0 -31
  578. data/public/vendor/npm/react@0.13.3/lib/hyphenateStyleName.js +0 -8
  579. data/public/vendor/npm/react@0.13.3/lib/instantiateReactComponent.js +0 -55
  580. data/public/vendor/npm/react@0.13.3/lib/invariant.js +0 -26
  581. data/public/vendor/npm/react@0.13.3/lib/isEventSupported.js +0 -24
  582. data/public/vendor/npm/react@0.13.3/lib/isNode.js +0 -25
  583. data/public/vendor/npm/react@0.13.3/lib/isTextInputElement.js +0 -41
  584. data/public/vendor/npm/react@0.13.3/lib/isTextNode.js +0 -6
  585. data/public/vendor/npm/react@0.13.3/lib/joinClasses.js +0 -39
  586. data/public/vendor/npm/react@0.13.3/lib/keyMirror.js +0 -18
  587. data/public/vendor/npm/react@0.13.3/lib/keyOf.js +0 -34
  588. data/public/vendor/npm/react@0.13.3/lib/mapObject.js +0 -51
  589. data/public/vendor/npm/react@0.13.3/lib/memoizeStringOnly.js +0 -31
  590. data/public/vendor/npm/react@0.13.3/lib/onlyChild.js +0 -11
  591. data/public/vendor/npm/react@0.13.3/lib/performance.js +0 -8
  592. data/public/vendor/npm/react@0.13.3/lib/performanceNow.js +0 -7
  593. data/public/vendor/npm/react@0.13.3/lib/quoteAttributeValueForBrowser.js +0 -7
  594. data/public/vendor/npm/react@0.13.3/lib/setInnerHTML.js +0 -40
  595. data/public/vendor/npm/react@0.13.3/lib/setTextContent.js +0 -16
  596. data/public/vendor/npm/react@0.13.3/lib/shallowEqual.js +0 -42
  597. data/public/vendor/npm/react@0.13.3/lib/shouldUpdateReactComponent.js +0 -51
  598. data/public/vendor/npm/react@0.13.3/lib/toArray.js +0 -21
  599. data/public/vendor/npm/react@0.13.3/lib/traverseAllChildren.js +0 -104
  600. data/public/vendor/npm/react@0.13.3/lib/update.js +0 -78
  601. data/public/vendor/npm/react@0.13.3/lib/warning.js +0 -34
  602. data/public/vendor/npm/react@0.13.3/package.json +0 -34
  603. data/public/vendor/npm/react@0.13.3/react.js +0 -2
  604. data/public/vendor/npm/react@0.13.3.js +0 -1
  605. data/public/vendor/npm/readable-stream@1.1.13/duplex.js +0 -2
  606. data/public/vendor/npm/readable-stream@1.1.13/passthrough.js +0 -2
  607. data/public/vendor/npm/readable-stream@1.1.13/readable.js +0 -8
  608. data/public/vendor/npm/readable-stream@1.1.13/transform.js +0 -2
  609. data/public/vendor/npm/readable-stream@1.1.13/writable.js +0 -2
  610. data/public/vendor/npm/readable-stream@1.1.13.js +0 -1
  611. data/public/vendor/npm/source-map@0.1.31/CHANGELOG.md +0 -112
  612. data/public/vendor/npm/source-map@0.1.31/LICENSE +0 -28
  613. data/public/vendor/npm/source-map@0.1.31/Makefile.dryice.js +0 -89
  614. data/public/vendor/npm/source-map@0.1.31/README.md +0 -434
  615. data/public/vendor/npm/source-map@0.1.31/build/assert-shim.js +0 -58
  616. data/public/vendor/npm/source-map@0.1.31/build/mini-require.js +0 -154
  617. data/public/vendor/npm/source-map@0.1.31/build/prefix-source-map.jsm +0 -20
  618. data/public/vendor/npm/source-map@0.1.31/build/prefix-utils.jsm +0 -18
  619. data/public/vendor/npm/source-map@0.1.31/build/suffix-browser.js +0 -8
  620. data/public/vendor/npm/source-map@0.1.31/build/suffix-source-map.jsm +0 -6
  621. data/public/vendor/npm/source-map@0.1.31/build/suffix-utils.jsm +0 -21
  622. data/public/vendor/npm/source-map@0.1.31/build/test-prefix.js +0 -10
  623. data/public/vendor/npm/source-map@0.1.31/build/test-suffix.js +0 -5
  624. data/public/vendor/npm/source-map@0.1.31/lib/source-map/array-set.js +0 -49
  625. data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64-vlq.js +0 -56
  626. data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64.js +0 -44
  627. data/public/vendor/npm/source-map@0.1.31/lib/source-map/binary-search.js +0 -83
  628. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-consumer.js +0 -238
  629. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-generator.js +0 -231
  630. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-node.js +0 -234
  631. data/public/vendor/npm/source-map@0.1.31/lib/source-map/util.js +0 -207
  632. data/public/vendor/npm/source-map@0.1.31/lib/source-map.js +0 -4
  633. data/public/vendor/npm/source-map@0.1.31/package.json +0 -52
  634. data/public/vendor/npm/source-map@0.1.31/test/run-tests.js +0 -50
  635. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-api.js +0 -19
  636. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-array-set.js +0 -84
  637. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64-vlq.js +0 -17
  638. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64.js +0 -26
  639. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-binary-search.js +0 -37
  640. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-dog-fooding.js +0 -76
  641. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-consumer.js +0 -426
  642. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-generator.js +0 -480
  643. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-node.js +0 -307
  644. data/public/vendor/npm/source-map@0.1.31/test/source-map/util.js +0 -84
  645. data/public/vendor/npm/source-map@0.1.31.js +0 -1
  646. data/public/vendor/npm/through@2.3.8/LICENSE.APACHE2 +0 -15
  647. data/public/vendor/npm/through@2.3.8/LICENSE.MIT +0 -24
  648. data/public/vendor/npm/through@2.3.8/index.js +0 -93
  649. data/public/vendor/npm/through@2.3.8/package.json +0 -36
  650. data/public/vendor/npm/through@2.3.8/readme.markdown +0 -64
  651. data/public/vendor/npm/through@2.3.8/test/async.js +0 -26
  652. data/public/vendor/npm/through@2.3.8/test/auto-destroy.js +0 -26
  653. data/public/vendor/npm/through@2.3.8/test/buffering.js +0 -57
  654. data/public/vendor/npm/through@2.3.8/test/end.js +0 -37
  655. data/public/vendor/npm/through@2.3.8/test/index.js +0 -98
  656. data/public/vendor/npm/through@2.3.8/test.js +0 -2
  657. data/public/vendor/npm/through@2.3.8.js +0 -1
  658. data/views/_options.erb +0 -156
  659. /data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-buffer@0.1.1}/index.js +0 -0
  660. /data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/index.js +0 -0
  661. /data/public/vendor/npm/{readable-stream@1.1.13 → assert@1.5.0}/LICENSE +0 -0
  662. /data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/LICENSE +0 -0
  663. /data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/README.md +0 -0
  664. /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/LICENSE +0 -0
  665. /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/index.js +0 -0
  666. /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/README.md +0 -0
  667. /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/float.patch +0 -0
@@ -0,0 +1,1817 @@
1
+ /*!
2
+ * The buffer module from node.js, for the browser.
3
+ *
4
+ * @author Feross Aboukhadijeh <https://feross.org>
5
+ * @license MIT
6
+ */
7
+ /* eslint-disable no-proto */
8
+
9
+ 'use strict'
10
+
11
+ var base64 = require('base64-js')
12
+ var ieee754 = require('ieee754')
13
+ var customInspectSymbol =
14
+ (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation
15
+ ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation
16
+ : null
17
+
18
+ exports.Buffer = Buffer
19
+ exports.SlowBuffer = SlowBuffer
20
+ exports.INSPECT_MAX_BYTES = 50
21
+
22
+ var K_MAX_LENGTH = 0x7fffffff
23
+ exports.kMaxLength = K_MAX_LENGTH
24
+
25
+ /**
26
+ * If `Buffer.TYPED_ARRAY_SUPPORT`:
27
+ * === true Use Uint8Array implementation (fastest)
28
+ * === false Print warning and recommend using `buffer` v4.x which has an Object
29
+ * implementation (most compatible, even IE6)
30
+ *
31
+ * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
32
+ * Opera 11.6+, iOS 4.2+.
33
+ *
34
+ * We report that the browser does not support typed arrays if the are not subclassable
35
+ * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`
36
+ * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support
37
+ * for __proto__ and has a buggy typed array implementation.
38
+ */
39
+ Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport()
40
+
41
+ if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&
42
+ typeof console.error === 'function') {
43
+ console.error(
44
+ 'This browser lacks typed array (Uint8Array) support which is required by ' +
45
+ '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'
46
+ )
47
+ }
48
+
49
+ function typedArraySupport () {
50
+ // Can typed array instances can be augmented?
51
+ try {
52
+ var arr = new Uint8Array(1)
53
+ var proto = { foo: function () { return 42 } }
54
+ Object.setPrototypeOf(proto, Uint8Array.prototype)
55
+ Object.setPrototypeOf(arr, proto)
56
+ return arr.foo() === 42
57
+ } catch (e) {
58
+ return false
59
+ }
60
+ }
61
+
62
+ Object.defineProperty(Buffer.prototype, 'parent', {
63
+ enumerable: true,
64
+ get: function () {
65
+ if (!Buffer.isBuffer(this)) return undefined
66
+ return this.buffer
67
+ }
68
+ })
69
+
70
+ Object.defineProperty(Buffer.prototype, 'offset', {
71
+ enumerable: true,
72
+ get: function () {
73
+ if (!Buffer.isBuffer(this)) return undefined
74
+ return this.byteOffset
75
+ }
76
+ })
77
+
78
+ function createBuffer (length) {
79
+ if (length > K_MAX_LENGTH) {
80
+ throw new RangeError('The value "' + length + '" is invalid for option "size"')
81
+ }
82
+ // Return an augmented `Uint8Array` instance
83
+ var buf = new Uint8Array(length)
84
+ Object.setPrototypeOf(buf, Buffer.prototype)
85
+ return buf
86
+ }
87
+
88
+ /**
89
+ * The Buffer constructor returns instances of `Uint8Array` that have their
90
+ * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
91
+ * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
92
+ * and the `Uint8Array` methods. Square bracket notation works as expected -- it
93
+ * returns a single octet.
94
+ *
95
+ * The `Uint8Array` prototype remains unmodified.
96
+ */
97
+
98
+ function Buffer (arg, encodingOrOffset, length) {
99
+ // Common case.
100
+ if (typeof arg === 'number') {
101
+ if (typeof encodingOrOffset === 'string') {
102
+ throw new TypeError(
103
+ 'The "string" argument must be of type string. Received type number'
104
+ )
105
+ }
106
+ return allocUnsafe(arg)
107
+ }
108
+ return from(arg, encodingOrOffset, length)
109
+ }
110
+
111
+ Buffer.poolSize = 8192 // not used by this implementation
112
+
113
+ function from (value, encodingOrOffset, length) {
114
+ if (typeof value === 'string') {
115
+ return fromString(value, encodingOrOffset)
116
+ }
117
+
118
+ if (ArrayBuffer.isView(value)) {
119
+ return fromArrayView(value)
120
+ }
121
+
122
+ if (value == null) {
123
+ throw new TypeError(
124
+ 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
125
+ 'or Array-like Object. Received type ' + (typeof value)
126
+ )
127
+ }
128
+
129
+ if (isInstance(value, ArrayBuffer) ||
130
+ (value && isInstance(value.buffer, ArrayBuffer))) {
131
+ return fromArrayBuffer(value, encodingOrOffset, length)
132
+ }
133
+
134
+ if (typeof SharedArrayBuffer !== 'undefined' &&
135
+ (isInstance(value, SharedArrayBuffer) ||
136
+ (value && isInstance(value.buffer, SharedArrayBuffer)))) {
137
+ return fromArrayBuffer(value, encodingOrOffset, length)
138
+ }
139
+
140
+ if (typeof value === 'number') {
141
+ throw new TypeError(
142
+ 'The "value" argument must not be of type number. Received type number'
143
+ )
144
+ }
145
+
146
+ var valueOf = value.valueOf && value.valueOf()
147
+ if (valueOf != null && valueOf !== value) {
148
+ return Buffer.from(valueOf, encodingOrOffset, length)
149
+ }
150
+
151
+ var b = fromObject(value)
152
+ if (b) return b
153
+
154
+ if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&
155
+ typeof value[Symbol.toPrimitive] === 'function') {
156
+ return Buffer.from(
157
+ value[Symbol.toPrimitive]('string'), encodingOrOffset, length
158
+ )
159
+ }
160
+
161
+ throw new TypeError(
162
+ 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
163
+ 'or Array-like Object. Received type ' + (typeof value)
164
+ )
165
+ }
166
+
167
+ /**
168
+ * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
169
+ * if value is a number.
170
+ * Buffer.from(str[, encoding])
171
+ * Buffer.from(array)
172
+ * Buffer.from(buffer)
173
+ * Buffer.from(arrayBuffer[, byteOffset[, length]])
174
+ **/
175
+ Buffer.from = function (value, encodingOrOffset, length) {
176
+ return from(value, encodingOrOffset, length)
177
+ }
178
+
179
+ // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:
180
+ // https://github.com/feross/buffer/pull/148
181
+ Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)
182
+ Object.setPrototypeOf(Buffer, Uint8Array)
183
+
184
+ function assertSize (size) {
185
+ if (typeof size !== 'number') {
186
+ throw new TypeError('"size" argument must be of type number')
187
+ } else if (size < 0) {
188
+ throw new RangeError('The value "' + size + '" is invalid for option "size"')
189
+ }
190
+ }
191
+
192
+ function alloc (size, fill, encoding) {
193
+ assertSize(size)
194
+ if (size <= 0) {
195
+ return createBuffer(size)
196
+ }
197
+ if (fill !== undefined) {
198
+ // Only pay attention to encoding if it's a string. This
199
+ // prevents accidentally sending in a number that would
200
+ // be interpreted as a start offset.
201
+ return typeof encoding === 'string'
202
+ ? createBuffer(size).fill(fill, encoding)
203
+ : createBuffer(size).fill(fill)
204
+ }
205
+ return createBuffer(size)
206
+ }
207
+
208
+ /**
209
+ * Creates a new filled Buffer instance.
210
+ * alloc(size[, fill[, encoding]])
211
+ **/
212
+ Buffer.alloc = function (size, fill, encoding) {
213
+ return alloc(size, fill, encoding)
214
+ }
215
+
216
+ function allocUnsafe (size) {
217
+ assertSize(size)
218
+ return createBuffer(size < 0 ? 0 : checked(size) | 0)
219
+ }
220
+
221
+ /**
222
+ * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
223
+ * */
224
+ Buffer.allocUnsafe = function (size) {
225
+ return allocUnsafe(size)
226
+ }
227
+ /**
228
+ * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
229
+ */
230
+ Buffer.allocUnsafeSlow = function (size) {
231
+ return allocUnsafe(size)
232
+ }
233
+
234
+ function fromString (string, encoding) {
235
+ if (typeof encoding !== 'string' || encoding === '') {
236
+ encoding = 'utf8'
237
+ }
238
+
239
+ if (!Buffer.isEncoding(encoding)) {
240
+ throw new TypeError('Unknown encoding: ' + encoding)
241
+ }
242
+
243
+ var length = byteLength(string, encoding) | 0
244
+ var buf = createBuffer(length)
245
+
246
+ var actual = buf.write(string, encoding)
247
+
248
+ if (actual !== length) {
249
+ // Writing a hex string, for example, that contains invalid characters will
250
+ // cause everything after the first invalid character to be ignored. (e.g.
251
+ // 'abxxcd' will be treated as 'ab')
252
+ buf = buf.slice(0, actual)
253
+ }
254
+
255
+ return buf
256
+ }
257
+
258
+ function fromArrayLike (array) {
259
+ var length = array.length < 0 ? 0 : checked(array.length) | 0
260
+ var buf = createBuffer(length)
261
+ for (var i = 0; i < length; i += 1) {
262
+ buf[i] = array[i] & 255
263
+ }
264
+ return buf
265
+ }
266
+
267
+ function fromArrayView (arrayView) {
268
+ if (isInstance(arrayView, Uint8Array)) {
269
+ var copy = new Uint8Array(arrayView)
270
+ return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)
271
+ }
272
+ return fromArrayLike(arrayView)
273
+ }
274
+
275
+ function fromArrayBuffer (array, byteOffset, length) {
276
+ if (byteOffset < 0 || array.byteLength < byteOffset) {
277
+ throw new RangeError('"offset" is outside of buffer bounds')
278
+ }
279
+
280
+ if (array.byteLength < byteOffset + (length || 0)) {
281
+ throw new RangeError('"length" is outside of buffer bounds')
282
+ }
283
+
284
+ var buf
285
+ if (byteOffset === undefined && length === undefined) {
286
+ buf = new Uint8Array(array)
287
+ } else if (length === undefined) {
288
+ buf = new Uint8Array(array, byteOffset)
289
+ } else {
290
+ buf = new Uint8Array(array, byteOffset, length)
291
+ }
292
+
293
+ // Return an augmented `Uint8Array` instance
294
+ Object.setPrototypeOf(buf, Buffer.prototype)
295
+
296
+ return buf
297
+ }
298
+
299
+ function fromObject (obj) {
300
+ if (Buffer.isBuffer(obj)) {
301
+ var len = checked(obj.length) | 0
302
+ var buf = createBuffer(len)
303
+
304
+ if (buf.length === 0) {
305
+ return buf
306
+ }
307
+
308
+ obj.copy(buf, 0, 0, len)
309
+ return buf
310
+ }
311
+
312
+ if (obj.length !== undefined) {
313
+ if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {
314
+ return createBuffer(0)
315
+ }
316
+ return fromArrayLike(obj)
317
+ }
318
+
319
+ if (obj.type === 'Buffer' && Array.isArray(obj.data)) {
320
+ return fromArrayLike(obj.data)
321
+ }
322
+ }
323
+
324
+ function checked (length) {
325
+ // Note: cannot use `length < K_MAX_LENGTH` here because that fails when
326
+ // length is NaN (which is otherwise coerced to zero.)
327
+ if (length >= K_MAX_LENGTH) {
328
+ throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
329
+ 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')
330
+ }
331
+ return length | 0
332
+ }
333
+
334
+ function SlowBuffer (length) {
335
+ if (+length != length) { // eslint-disable-line eqeqeq
336
+ length = 0
337
+ }
338
+ return Buffer.alloc(+length)
339
+ }
340
+
341
+ Buffer.isBuffer = function isBuffer (b) {
342
+ return b != null && b._isBuffer === true &&
343
+ b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false
344
+ }
345
+
346
+ Buffer.compare = function compare (a, b) {
347
+ if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)
348
+ if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)
349
+ if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
350
+ throw new TypeError(
351
+ 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'
352
+ )
353
+ }
354
+
355
+ if (a === b) return 0
356
+
357
+ var x = a.length
358
+ var y = b.length
359
+
360
+ for (var i = 0, len = Math.min(x, y); i < len; ++i) {
361
+ if (a[i] !== b[i]) {
362
+ x = a[i]
363
+ y = b[i]
364
+ break
365
+ }
366
+ }
367
+
368
+ if (x < y) return -1
369
+ if (y < x) return 1
370
+ return 0
371
+ }
372
+
373
+ Buffer.isEncoding = function isEncoding (encoding) {
374
+ switch (String(encoding).toLowerCase()) {
375
+ case 'hex':
376
+ case 'utf8':
377
+ case 'utf-8':
378
+ case 'ascii':
379
+ case 'latin1':
380
+ case 'binary':
381
+ case 'base64':
382
+ case 'ucs2':
383
+ case 'ucs-2':
384
+ case 'utf16le':
385
+ case 'utf-16le':
386
+ return true
387
+ default:
388
+ return false
389
+ }
390
+ }
391
+
392
+ Buffer.concat = function concat (list, length) {
393
+ if (!Array.isArray(list)) {
394
+ throw new TypeError('"list" argument must be an Array of Buffers')
395
+ }
396
+
397
+ if (list.length === 0) {
398
+ return Buffer.alloc(0)
399
+ }
400
+
401
+ var i
402
+ if (length === undefined) {
403
+ length = 0
404
+ for (i = 0; i < list.length; ++i) {
405
+ length += list[i].length
406
+ }
407
+ }
408
+
409
+ var buffer = Buffer.allocUnsafe(length)
410
+ var pos = 0
411
+ for (i = 0; i < list.length; ++i) {
412
+ var buf = list[i]
413
+ if (isInstance(buf, Uint8Array)) {
414
+ if (pos + buf.length > buffer.length) {
415
+ Buffer.from(buf).copy(buffer, pos)
416
+ } else {
417
+ Uint8Array.prototype.set.call(
418
+ buffer,
419
+ buf,
420
+ pos
421
+ )
422
+ }
423
+ } else if (!Buffer.isBuffer(buf)) {
424
+ throw new TypeError('"list" argument must be an Array of Buffers')
425
+ } else {
426
+ buf.copy(buffer, pos)
427
+ }
428
+ pos += buf.length
429
+ }
430
+ return buffer
431
+ }
432
+
433
+ function byteLength (string, encoding) {
434
+ if (Buffer.isBuffer(string)) {
435
+ return string.length
436
+ }
437
+ if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {
438
+ return string.byteLength
439
+ }
440
+ if (typeof string !== 'string') {
441
+ throw new TypeError(
442
+ 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' +
443
+ 'Received type ' + typeof string
444
+ )
445
+ }
446
+
447
+ var len = string.length
448
+ var mustMatch = (arguments.length > 2 && arguments[2] === true)
449
+ if (!mustMatch && len === 0) return 0
450
+
451
+ // Use a for loop to avoid recursion
452
+ var loweredCase = false
453
+ for (;;) {
454
+ switch (encoding) {
455
+ case 'ascii':
456
+ case 'latin1':
457
+ case 'binary':
458
+ return len
459
+ case 'utf8':
460
+ case 'utf-8':
461
+ return utf8ToBytes(string).length
462
+ case 'ucs2':
463
+ case 'ucs-2':
464
+ case 'utf16le':
465
+ case 'utf-16le':
466
+ return len * 2
467
+ case 'hex':
468
+ return len >>> 1
469
+ case 'base64':
470
+ return base64ToBytes(string).length
471
+ default:
472
+ if (loweredCase) {
473
+ return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8
474
+ }
475
+ encoding = ('' + encoding).toLowerCase()
476
+ loweredCase = true
477
+ }
478
+ }
479
+ }
480
+ Buffer.byteLength = byteLength
481
+
482
+ function slowToString (encoding, start, end) {
483
+ var loweredCase = false
484
+
485
+ // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
486
+ // property of a typed array.
487
+
488
+ // This behaves neither like String nor Uint8Array in that we set start/end
489
+ // to their upper/lower bounds if the value passed is out of range.
490
+ // undefined is handled specially as per ECMA-262 6th Edition,
491
+ // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
492
+ if (start === undefined || start < 0) {
493
+ start = 0
494
+ }
495
+ // Return early if start > this.length. Done here to prevent potential uint32
496
+ // coercion fail below.
497
+ if (start > this.length) {
498
+ return ''
499
+ }
500
+
501
+ if (end === undefined || end > this.length) {
502
+ end = this.length
503
+ }
504
+
505
+ if (end <= 0) {
506
+ return ''
507
+ }
508
+
509
+ // Force coercion to uint32. This will also coerce falsey/NaN values to 0.
510
+ end >>>= 0
511
+ start >>>= 0
512
+
513
+ if (end <= start) {
514
+ return ''
515
+ }
516
+
517
+ if (!encoding) encoding = 'utf8'
518
+
519
+ while (true) {
520
+ switch (encoding) {
521
+ case 'hex':
522
+ return hexSlice(this, start, end)
523
+
524
+ case 'utf8':
525
+ case 'utf-8':
526
+ return utf8Slice(this, start, end)
527
+
528
+ case 'ascii':
529
+ return asciiSlice(this, start, end)
530
+
531
+ case 'latin1':
532
+ case 'binary':
533
+ return latin1Slice(this, start, end)
534
+
535
+ case 'base64':
536
+ return base64Slice(this, start, end)
537
+
538
+ case 'ucs2':
539
+ case 'ucs-2':
540
+ case 'utf16le':
541
+ case 'utf-16le':
542
+ return utf16leSlice(this, start, end)
543
+
544
+ default:
545
+ if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
546
+ encoding = (encoding + '').toLowerCase()
547
+ loweredCase = true
548
+ }
549
+ }
550
+ }
551
+
552
+ // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)
553
+ // to detect a Buffer instance. It's not possible to use `instanceof Buffer`
554
+ // reliably in a browserify context because there could be multiple different
555
+ // copies of the 'buffer' package in use. This method works even for Buffer
556
+ // instances that were created from another copy of the `buffer` package.
557
+ // See: https://github.com/feross/buffer/issues/154
558
+ Buffer.prototype._isBuffer = true
559
+
560
+ function swap (b, n, m) {
561
+ var i = b[n]
562
+ b[n] = b[m]
563
+ b[m] = i
564
+ }
565
+
566
+ Buffer.prototype.swap16 = function swap16 () {
567
+ var len = this.length
568
+ if (len % 2 !== 0) {
569
+ throw new RangeError('Buffer size must be a multiple of 16-bits')
570
+ }
571
+ for (var i = 0; i < len; i += 2) {
572
+ swap(this, i, i + 1)
573
+ }
574
+ return this
575
+ }
576
+
577
+ Buffer.prototype.swap32 = function swap32 () {
578
+ var len = this.length
579
+ if (len % 4 !== 0) {
580
+ throw new RangeError('Buffer size must be a multiple of 32-bits')
581
+ }
582
+ for (var i = 0; i < len; i += 4) {
583
+ swap(this, i, i + 3)
584
+ swap(this, i + 1, i + 2)
585
+ }
586
+ return this
587
+ }
588
+
589
+ Buffer.prototype.swap64 = function swap64 () {
590
+ var len = this.length
591
+ if (len % 8 !== 0) {
592
+ throw new RangeError('Buffer size must be a multiple of 64-bits')
593
+ }
594
+ for (var i = 0; i < len; i += 8) {
595
+ swap(this, i, i + 7)
596
+ swap(this, i + 1, i + 6)
597
+ swap(this, i + 2, i + 5)
598
+ swap(this, i + 3, i + 4)
599
+ }
600
+ return this
601
+ }
602
+
603
+ Buffer.prototype.toString = function toString () {
604
+ var length = this.length
605
+ if (length === 0) return ''
606
+ if (arguments.length === 0) return utf8Slice(this, 0, length)
607
+ return slowToString.apply(this, arguments)
608
+ }
609
+
610
+ Buffer.prototype.toLocaleString = Buffer.prototype.toString
611
+
612
+ Buffer.prototype.equals = function equals (b) {
613
+ if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
614
+ if (this === b) return true
615
+ return Buffer.compare(this, b) === 0
616
+ }
617
+
618
+ Buffer.prototype.inspect = function inspect () {
619
+ var str = ''
620
+ var max = exports.INSPECT_MAX_BYTES
621
+ str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()
622
+ if (this.length > max) str += ' ... '
623
+ return '<Buffer ' + str + '>'
624
+ }
625
+ if (customInspectSymbol) {
626
+ Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect
627
+ }
628
+
629
+ Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
630
+ if (isInstance(target, Uint8Array)) {
631
+ target = Buffer.from(target, target.offset, target.byteLength)
632
+ }
633
+ if (!Buffer.isBuffer(target)) {
634
+ throw new TypeError(
635
+ 'The "target" argument must be one of type Buffer or Uint8Array. ' +
636
+ 'Received type ' + (typeof target)
637
+ )
638
+ }
639
+
640
+ if (start === undefined) {
641
+ start = 0
642
+ }
643
+ if (end === undefined) {
644
+ end = target ? target.length : 0
645
+ }
646
+ if (thisStart === undefined) {
647
+ thisStart = 0
648
+ }
649
+ if (thisEnd === undefined) {
650
+ thisEnd = this.length
651
+ }
652
+
653
+ if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
654
+ throw new RangeError('out of range index')
655
+ }
656
+
657
+ if (thisStart >= thisEnd && start >= end) {
658
+ return 0
659
+ }
660
+ if (thisStart >= thisEnd) {
661
+ return -1
662
+ }
663
+ if (start >= end) {
664
+ return 1
665
+ }
666
+
667
+ start >>>= 0
668
+ end >>>= 0
669
+ thisStart >>>= 0
670
+ thisEnd >>>= 0
671
+
672
+ if (this === target) return 0
673
+
674
+ var x = thisEnd - thisStart
675
+ var y = end - start
676
+ var len = Math.min(x, y)
677
+
678
+ var thisCopy = this.slice(thisStart, thisEnd)
679
+ var targetCopy = target.slice(start, end)
680
+
681
+ for (var i = 0; i < len; ++i) {
682
+ if (thisCopy[i] !== targetCopy[i]) {
683
+ x = thisCopy[i]
684
+ y = targetCopy[i]
685
+ break
686
+ }
687
+ }
688
+
689
+ if (x < y) return -1
690
+ if (y < x) return 1
691
+ return 0
692
+ }
693
+
694
+ // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
695
+ // OR the last index of `val` in `buffer` at offset <= `byteOffset`.
696
+ //
697
+ // Arguments:
698
+ // - buffer - a Buffer to search
699
+ // - val - a string, Buffer, or number
700
+ // - byteOffset - an index into `buffer`; will be clamped to an int32
701
+ // - encoding - an optional encoding, relevant is val is a string
702
+ // - dir - true for indexOf, false for lastIndexOf
703
+ function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
704
+ // Empty buffer means no match
705
+ if (buffer.length === 0) return -1
706
+
707
+ // Normalize byteOffset
708
+ if (typeof byteOffset === 'string') {
709
+ encoding = byteOffset
710
+ byteOffset = 0
711
+ } else if (byteOffset > 0x7fffffff) {
712
+ byteOffset = 0x7fffffff
713
+ } else if (byteOffset < -0x80000000) {
714
+ byteOffset = -0x80000000
715
+ }
716
+ byteOffset = +byteOffset // Coerce to Number.
717
+ if (numberIsNaN(byteOffset)) {
718
+ // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
719
+ byteOffset = dir ? 0 : (buffer.length - 1)
720
+ }
721
+
722
+ // Normalize byteOffset: negative offsets start from the end of the buffer
723
+ if (byteOffset < 0) byteOffset = buffer.length + byteOffset
724
+ if (byteOffset >= buffer.length) {
725
+ if (dir) return -1
726
+ else byteOffset = buffer.length - 1
727
+ } else if (byteOffset < 0) {
728
+ if (dir) byteOffset = 0
729
+ else return -1
730
+ }
731
+
732
+ // Normalize val
733
+ if (typeof val === 'string') {
734
+ val = Buffer.from(val, encoding)
735
+ }
736
+
737
+ // Finally, search either indexOf (if dir is true) or lastIndexOf
738
+ if (Buffer.isBuffer(val)) {
739
+ // Special case: looking for empty string/buffer always fails
740
+ if (val.length === 0) {
741
+ return -1
742
+ }
743
+ return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
744
+ } else if (typeof val === 'number') {
745
+ val = val & 0xFF // Search for a byte value [0-255]
746
+ if (typeof Uint8Array.prototype.indexOf === 'function') {
747
+ if (dir) {
748
+ return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
749
+ } else {
750
+ return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
751
+ }
752
+ }
753
+ return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)
754
+ }
755
+
756
+ throw new TypeError('val must be string, number or Buffer')
757
+ }
758
+
759
+ function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
760
+ var indexSize = 1
761
+ var arrLength = arr.length
762
+ var valLength = val.length
763
+
764
+ if (encoding !== undefined) {
765
+ encoding = String(encoding).toLowerCase()
766
+ if (encoding === 'ucs2' || encoding === 'ucs-2' ||
767
+ encoding === 'utf16le' || encoding === 'utf-16le') {
768
+ if (arr.length < 2 || val.length < 2) {
769
+ return -1
770
+ }
771
+ indexSize = 2
772
+ arrLength /= 2
773
+ valLength /= 2
774
+ byteOffset /= 2
775
+ }
776
+ }
777
+
778
+ function read (buf, i) {
779
+ if (indexSize === 1) {
780
+ return buf[i]
781
+ } else {
782
+ return buf.readUInt16BE(i * indexSize)
783
+ }
784
+ }
785
+
786
+ var i
787
+ if (dir) {
788
+ var foundIndex = -1
789
+ for (i = byteOffset; i < arrLength; i++) {
790
+ if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
791
+ if (foundIndex === -1) foundIndex = i
792
+ if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
793
+ } else {
794
+ if (foundIndex !== -1) i -= i - foundIndex
795
+ foundIndex = -1
796
+ }
797
+ }
798
+ } else {
799
+ if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
800
+ for (i = byteOffset; i >= 0; i--) {
801
+ var found = true
802
+ for (var j = 0; j < valLength; j++) {
803
+ if (read(arr, i + j) !== read(val, j)) {
804
+ found = false
805
+ break
806
+ }
807
+ }
808
+ if (found) return i
809
+ }
810
+ }
811
+
812
+ return -1
813
+ }
814
+
815
+ Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
816
+ return this.indexOf(val, byteOffset, encoding) !== -1
817
+ }
818
+
819
+ Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
820
+ return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
821
+ }
822
+
823
+ Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
824
+ return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
825
+ }
826
+
827
+ function hexWrite (buf, string, offset, length) {
828
+ offset = Number(offset) || 0
829
+ var remaining = buf.length - offset
830
+ if (!length) {
831
+ length = remaining
832
+ } else {
833
+ length = Number(length)
834
+ if (length > remaining) {
835
+ length = remaining
836
+ }
837
+ }
838
+
839
+ var strLen = string.length
840
+
841
+ if (length > strLen / 2) {
842
+ length = strLen / 2
843
+ }
844
+ for (var i = 0; i < length; ++i) {
845
+ var parsed = parseInt(string.substr(i * 2, 2), 16)
846
+ if (numberIsNaN(parsed)) return i
847
+ buf[offset + i] = parsed
848
+ }
849
+ return i
850
+ }
851
+
852
+ function utf8Write (buf, string, offset, length) {
853
+ return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
854
+ }
855
+
856
+ function asciiWrite (buf, string, offset, length) {
857
+ return blitBuffer(asciiToBytes(string), buf, offset, length)
858
+ }
859
+
860
+ function base64Write (buf, string, offset, length) {
861
+ return blitBuffer(base64ToBytes(string), buf, offset, length)
862
+ }
863
+
864
+ function ucs2Write (buf, string, offset, length) {
865
+ return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
866
+ }
867
+
868
+ Buffer.prototype.write = function write (string, offset, length, encoding) {
869
+ // Buffer#write(string)
870
+ if (offset === undefined) {
871
+ encoding = 'utf8'
872
+ length = this.length
873
+ offset = 0
874
+ // Buffer#write(string, encoding)
875
+ } else if (length === undefined && typeof offset === 'string') {
876
+ encoding = offset
877
+ length = this.length
878
+ offset = 0
879
+ // Buffer#write(string, offset[, length][, encoding])
880
+ } else if (isFinite(offset)) {
881
+ offset = offset >>> 0
882
+ if (isFinite(length)) {
883
+ length = length >>> 0
884
+ if (encoding === undefined) encoding = 'utf8'
885
+ } else {
886
+ encoding = length
887
+ length = undefined
888
+ }
889
+ } else {
890
+ throw new Error(
891
+ 'Buffer.write(string, encoding, offset[, length]) is no longer supported'
892
+ )
893
+ }
894
+
895
+ var remaining = this.length - offset
896
+ if (length === undefined || length > remaining) length = remaining
897
+
898
+ if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
899
+ throw new RangeError('Attempt to write outside buffer bounds')
900
+ }
901
+
902
+ if (!encoding) encoding = 'utf8'
903
+
904
+ var loweredCase = false
905
+ for (;;) {
906
+ switch (encoding) {
907
+ case 'hex':
908
+ return hexWrite(this, string, offset, length)
909
+
910
+ case 'utf8':
911
+ case 'utf-8':
912
+ return utf8Write(this, string, offset, length)
913
+
914
+ case 'ascii':
915
+ case 'latin1':
916
+ case 'binary':
917
+ return asciiWrite(this, string, offset, length)
918
+
919
+ case 'base64':
920
+ // Warning: maxLength not taken into account in base64Write
921
+ return base64Write(this, string, offset, length)
922
+
923
+ case 'ucs2':
924
+ case 'ucs-2':
925
+ case 'utf16le':
926
+ case 'utf-16le':
927
+ return ucs2Write(this, string, offset, length)
928
+
929
+ default:
930
+ if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
931
+ encoding = ('' + encoding).toLowerCase()
932
+ loweredCase = true
933
+ }
934
+ }
935
+ }
936
+
937
+ Buffer.prototype.toJSON = function toJSON () {
938
+ return {
939
+ type: 'Buffer',
940
+ data: Array.prototype.slice.call(this._arr || this, 0)
941
+ }
942
+ }
943
+
944
+ function base64Slice (buf, start, end) {
945
+ if (start === 0 && end === buf.length) {
946
+ return base64.fromByteArray(buf)
947
+ } else {
948
+ return base64.fromByteArray(buf.slice(start, end))
949
+ }
950
+ }
951
+
952
+ function utf8Slice (buf, start, end) {
953
+ end = Math.min(buf.length, end)
954
+ var res = []
955
+
956
+ var i = start
957
+ while (i < end) {
958
+ var firstByte = buf[i]
959
+ var codePoint = null
960
+ var bytesPerSequence = (firstByte > 0xEF)
961
+ ? 4
962
+ : (firstByte > 0xDF)
963
+ ? 3
964
+ : (firstByte > 0xBF)
965
+ ? 2
966
+ : 1
967
+
968
+ if (i + bytesPerSequence <= end) {
969
+ var secondByte, thirdByte, fourthByte, tempCodePoint
970
+
971
+ switch (bytesPerSequence) {
972
+ case 1:
973
+ if (firstByte < 0x80) {
974
+ codePoint = firstByte
975
+ }
976
+ break
977
+ case 2:
978
+ secondByte = buf[i + 1]
979
+ if ((secondByte & 0xC0) === 0x80) {
980
+ tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
981
+ if (tempCodePoint > 0x7F) {
982
+ codePoint = tempCodePoint
983
+ }
984
+ }
985
+ break
986
+ case 3:
987
+ secondByte = buf[i + 1]
988
+ thirdByte = buf[i + 2]
989
+ if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
990
+ tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
991
+ if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
992
+ codePoint = tempCodePoint
993
+ }
994
+ }
995
+ break
996
+ case 4:
997
+ secondByte = buf[i + 1]
998
+ thirdByte = buf[i + 2]
999
+ fourthByte = buf[i + 3]
1000
+ if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
1001
+ tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
1002
+ if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
1003
+ codePoint = tempCodePoint
1004
+ }
1005
+ }
1006
+ }
1007
+ }
1008
+
1009
+ if (codePoint === null) {
1010
+ // we did not generate a valid codePoint so insert a
1011
+ // replacement char (U+FFFD) and advance only 1 byte
1012
+ codePoint = 0xFFFD
1013
+ bytesPerSequence = 1
1014
+ } else if (codePoint > 0xFFFF) {
1015
+ // encode to utf16 (surrogate pair dance)
1016
+ codePoint -= 0x10000
1017
+ res.push(codePoint >>> 10 & 0x3FF | 0xD800)
1018
+ codePoint = 0xDC00 | codePoint & 0x3FF
1019
+ }
1020
+
1021
+ res.push(codePoint)
1022
+ i += bytesPerSequence
1023
+ }
1024
+
1025
+ return decodeCodePointsArray(res)
1026
+ }
1027
+
1028
+ // Based on http://stackoverflow.com/a/22747272/680742, the browser with
1029
+ // the lowest limit is Chrome, with 0x10000 args.
1030
+ // We go 1 magnitude less, for safety
1031
+ var MAX_ARGUMENTS_LENGTH = 0x1000
1032
+
1033
+ function decodeCodePointsArray (codePoints) {
1034
+ var len = codePoints.length
1035
+ if (len <= MAX_ARGUMENTS_LENGTH) {
1036
+ return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
1037
+ }
1038
+
1039
+ // Decode in chunks to avoid "call stack size exceeded".
1040
+ var res = ''
1041
+ var i = 0
1042
+ while (i < len) {
1043
+ res += String.fromCharCode.apply(
1044
+ String,
1045
+ codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
1046
+ )
1047
+ }
1048
+ return res
1049
+ }
1050
+
1051
+ function asciiSlice (buf, start, end) {
1052
+ var ret = ''
1053
+ end = Math.min(buf.length, end)
1054
+
1055
+ for (var i = start; i < end; ++i) {
1056
+ ret += String.fromCharCode(buf[i] & 0x7F)
1057
+ }
1058
+ return ret
1059
+ }
1060
+
1061
+ function latin1Slice (buf, start, end) {
1062
+ var ret = ''
1063
+ end = Math.min(buf.length, end)
1064
+
1065
+ for (var i = start; i < end; ++i) {
1066
+ ret += String.fromCharCode(buf[i])
1067
+ }
1068
+ return ret
1069
+ }
1070
+
1071
+ function hexSlice (buf, start, end) {
1072
+ var len = buf.length
1073
+
1074
+ if (!start || start < 0) start = 0
1075
+ if (!end || end < 0 || end > len) end = len
1076
+
1077
+ var out = ''
1078
+ for (var i = start; i < end; ++i) {
1079
+ out += hexSliceLookupTable[buf[i]]
1080
+ }
1081
+ return out
1082
+ }
1083
+
1084
+ function utf16leSlice (buf, start, end) {
1085
+ var bytes = buf.slice(start, end)
1086
+ var res = ''
1087
+ // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)
1088
+ for (var i = 0; i < bytes.length - 1; i += 2) {
1089
+ res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))
1090
+ }
1091
+ return res
1092
+ }
1093
+
1094
+ Buffer.prototype.slice = function slice (start, end) {
1095
+ var len = this.length
1096
+ start = ~~start
1097
+ end = end === undefined ? len : ~~end
1098
+
1099
+ if (start < 0) {
1100
+ start += len
1101
+ if (start < 0) start = 0
1102
+ } else if (start > len) {
1103
+ start = len
1104
+ }
1105
+
1106
+ if (end < 0) {
1107
+ end += len
1108
+ if (end < 0) end = 0
1109
+ } else if (end > len) {
1110
+ end = len
1111
+ }
1112
+
1113
+ if (end < start) end = start
1114
+
1115
+ var newBuf = this.subarray(start, end)
1116
+ // Return an augmented `Uint8Array` instance
1117
+ Object.setPrototypeOf(newBuf, Buffer.prototype)
1118
+
1119
+ return newBuf
1120
+ }
1121
+
1122
+ /*
1123
+ * Need to make sure that buffer isn't trying to write out of bounds.
1124
+ */
1125
+ function checkOffset (offset, ext, length) {
1126
+ if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
1127
+ if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
1128
+ }
1129
+
1130
+ Buffer.prototype.readUintLE =
1131
+ Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
1132
+ offset = offset >>> 0
1133
+ byteLength = byteLength >>> 0
1134
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
1135
+
1136
+ var val = this[offset]
1137
+ var mul = 1
1138
+ var i = 0
1139
+ while (++i < byteLength && (mul *= 0x100)) {
1140
+ val += this[offset + i] * mul
1141
+ }
1142
+
1143
+ return val
1144
+ }
1145
+
1146
+ Buffer.prototype.readUintBE =
1147
+ Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
1148
+ offset = offset >>> 0
1149
+ byteLength = byteLength >>> 0
1150
+ if (!noAssert) {
1151
+ checkOffset(offset, byteLength, this.length)
1152
+ }
1153
+
1154
+ var val = this[offset + --byteLength]
1155
+ var mul = 1
1156
+ while (byteLength > 0 && (mul *= 0x100)) {
1157
+ val += this[offset + --byteLength] * mul
1158
+ }
1159
+
1160
+ return val
1161
+ }
1162
+
1163
+ Buffer.prototype.readUint8 =
1164
+ Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
1165
+ offset = offset >>> 0
1166
+ if (!noAssert) checkOffset(offset, 1, this.length)
1167
+ return this[offset]
1168
+ }
1169
+
1170
+ Buffer.prototype.readUint16LE =
1171
+ Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
1172
+ offset = offset >>> 0
1173
+ if (!noAssert) checkOffset(offset, 2, this.length)
1174
+ return this[offset] | (this[offset + 1] << 8)
1175
+ }
1176
+
1177
+ Buffer.prototype.readUint16BE =
1178
+ Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
1179
+ offset = offset >>> 0
1180
+ if (!noAssert) checkOffset(offset, 2, this.length)
1181
+ return (this[offset] << 8) | this[offset + 1]
1182
+ }
1183
+
1184
+ Buffer.prototype.readUint32LE =
1185
+ Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
1186
+ offset = offset >>> 0
1187
+ if (!noAssert) checkOffset(offset, 4, this.length)
1188
+
1189
+ return ((this[offset]) |
1190
+ (this[offset + 1] << 8) |
1191
+ (this[offset + 2] << 16)) +
1192
+ (this[offset + 3] * 0x1000000)
1193
+ }
1194
+
1195
+ Buffer.prototype.readUint32BE =
1196
+ Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
1197
+ offset = offset >>> 0
1198
+ if (!noAssert) checkOffset(offset, 4, this.length)
1199
+
1200
+ return (this[offset] * 0x1000000) +
1201
+ ((this[offset + 1] << 16) |
1202
+ (this[offset + 2] << 8) |
1203
+ this[offset + 3])
1204
+ }
1205
+
1206
+ Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
1207
+ offset = offset >>> 0
1208
+ byteLength = byteLength >>> 0
1209
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
1210
+
1211
+ var val = this[offset]
1212
+ var mul = 1
1213
+ var i = 0
1214
+ while (++i < byteLength && (mul *= 0x100)) {
1215
+ val += this[offset + i] * mul
1216
+ }
1217
+ mul *= 0x80
1218
+
1219
+ if (val >= mul) val -= Math.pow(2, 8 * byteLength)
1220
+
1221
+ return val
1222
+ }
1223
+
1224
+ Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
1225
+ offset = offset >>> 0
1226
+ byteLength = byteLength >>> 0
1227
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
1228
+
1229
+ var i = byteLength
1230
+ var mul = 1
1231
+ var val = this[offset + --i]
1232
+ while (i > 0 && (mul *= 0x100)) {
1233
+ val += this[offset + --i] * mul
1234
+ }
1235
+ mul *= 0x80
1236
+
1237
+ if (val >= mul) val -= Math.pow(2, 8 * byteLength)
1238
+
1239
+ return val
1240
+ }
1241
+
1242
+ Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
1243
+ offset = offset >>> 0
1244
+ if (!noAssert) checkOffset(offset, 1, this.length)
1245
+ if (!(this[offset] & 0x80)) return (this[offset])
1246
+ return ((0xff - this[offset] + 1) * -1)
1247
+ }
1248
+
1249
+ Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
1250
+ offset = offset >>> 0
1251
+ if (!noAssert) checkOffset(offset, 2, this.length)
1252
+ var val = this[offset] | (this[offset + 1] << 8)
1253
+ return (val & 0x8000) ? val | 0xFFFF0000 : val
1254
+ }
1255
+
1256
+ Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
1257
+ offset = offset >>> 0
1258
+ if (!noAssert) checkOffset(offset, 2, this.length)
1259
+ var val = this[offset + 1] | (this[offset] << 8)
1260
+ return (val & 0x8000) ? val | 0xFFFF0000 : val
1261
+ }
1262
+
1263
+ Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
1264
+ offset = offset >>> 0
1265
+ if (!noAssert) checkOffset(offset, 4, this.length)
1266
+
1267
+ return (this[offset]) |
1268
+ (this[offset + 1] << 8) |
1269
+ (this[offset + 2] << 16) |
1270
+ (this[offset + 3] << 24)
1271
+ }
1272
+
1273
+ Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
1274
+ offset = offset >>> 0
1275
+ if (!noAssert) checkOffset(offset, 4, this.length)
1276
+
1277
+ return (this[offset] << 24) |
1278
+ (this[offset + 1] << 16) |
1279
+ (this[offset + 2] << 8) |
1280
+ (this[offset + 3])
1281
+ }
1282
+
1283
+ Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
1284
+ offset = offset >>> 0
1285
+ if (!noAssert) checkOffset(offset, 4, this.length)
1286
+ return ieee754.read(this, offset, true, 23, 4)
1287
+ }
1288
+
1289
+ Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
1290
+ offset = offset >>> 0
1291
+ if (!noAssert) checkOffset(offset, 4, this.length)
1292
+ return ieee754.read(this, offset, false, 23, 4)
1293
+ }
1294
+
1295
+ Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
1296
+ offset = offset >>> 0
1297
+ if (!noAssert) checkOffset(offset, 8, this.length)
1298
+ return ieee754.read(this, offset, true, 52, 8)
1299
+ }
1300
+
1301
+ Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
1302
+ offset = offset >>> 0
1303
+ if (!noAssert) checkOffset(offset, 8, this.length)
1304
+ return ieee754.read(this, offset, false, 52, 8)
1305
+ }
1306
+
1307
+ function checkInt (buf, value, offset, ext, max, min) {
1308
+ if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
1309
+ if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
1310
+ if (offset + ext > buf.length) throw new RangeError('Index out of range')
1311
+ }
1312
+
1313
+ Buffer.prototype.writeUintLE =
1314
+ Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
1315
+ value = +value
1316
+ offset = offset >>> 0
1317
+ byteLength = byteLength >>> 0
1318
+ if (!noAssert) {
1319
+ var maxBytes = Math.pow(2, 8 * byteLength) - 1
1320
+ checkInt(this, value, offset, byteLength, maxBytes, 0)
1321
+ }
1322
+
1323
+ var mul = 1
1324
+ var i = 0
1325
+ this[offset] = value & 0xFF
1326
+ while (++i < byteLength && (mul *= 0x100)) {
1327
+ this[offset + i] = (value / mul) & 0xFF
1328
+ }
1329
+
1330
+ return offset + byteLength
1331
+ }
1332
+
1333
+ Buffer.prototype.writeUintBE =
1334
+ Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
1335
+ value = +value
1336
+ offset = offset >>> 0
1337
+ byteLength = byteLength >>> 0
1338
+ if (!noAssert) {
1339
+ var maxBytes = Math.pow(2, 8 * byteLength) - 1
1340
+ checkInt(this, value, offset, byteLength, maxBytes, 0)
1341
+ }
1342
+
1343
+ var i = byteLength - 1
1344
+ var mul = 1
1345
+ this[offset + i] = value & 0xFF
1346
+ while (--i >= 0 && (mul *= 0x100)) {
1347
+ this[offset + i] = (value / mul) & 0xFF
1348
+ }
1349
+
1350
+ return offset + byteLength
1351
+ }
1352
+
1353
+ Buffer.prototype.writeUint8 =
1354
+ Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
1355
+ value = +value
1356
+ offset = offset >>> 0
1357
+ if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
1358
+ this[offset] = (value & 0xff)
1359
+ return offset + 1
1360
+ }
1361
+
1362
+ Buffer.prototype.writeUint16LE =
1363
+ Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
1364
+ value = +value
1365
+ offset = offset >>> 0
1366
+ if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
1367
+ this[offset] = (value & 0xff)
1368
+ this[offset + 1] = (value >>> 8)
1369
+ return offset + 2
1370
+ }
1371
+
1372
+ Buffer.prototype.writeUint16BE =
1373
+ Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
1374
+ value = +value
1375
+ offset = offset >>> 0
1376
+ if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
1377
+ this[offset] = (value >>> 8)
1378
+ this[offset + 1] = (value & 0xff)
1379
+ return offset + 2
1380
+ }
1381
+
1382
+ Buffer.prototype.writeUint32LE =
1383
+ Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
1384
+ value = +value
1385
+ offset = offset >>> 0
1386
+ if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
1387
+ this[offset + 3] = (value >>> 24)
1388
+ this[offset + 2] = (value >>> 16)
1389
+ this[offset + 1] = (value >>> 8)
1390
+ this[offset] = (value & 0xff)
1391
+ return offset + 4
1392
+ }
1393
+
1394
+ Buffer.prototype.writeUint32BE =
1395
+ Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
1396
+ value = +value
1397
+ offset = offset >>> 0
1398
+ if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
1399
+ this[offset] = (value >>> 24)
1400
+ this[offset + 1] = (value >>> 16)
1401
+ this[offset + 2] = (value >>> 8)
1402
+ this[offset + 3] = (value & 0xff)
1403
+ return offset + 4
1404
+ }
1405
+
1406
+ Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
1407
+ value = +value
1408
+ offset = offset >>> 0
1409
+ if (!noAssert) {
1410
+ var limit = Math.pow(2, (8 * byteLength) - 1)
1411
+
1412
+ checkInt(this, value, offset, byteLength, limit - 1, -limit)
1413
+ }
1414
+
1415
+ var i = 0
1416
+ var mul = 1
1417
+ var sub = 0
1418
+ this[offset] = value & 0xFF
1419
+ while (++i < byteLength && (mul *= 0x100)) {
1420
+ if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
1421
+ sub = 1
1422
+ }
1423
+ this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
1424
+ }
1425
+
1426
+ return offset + byteLength
1427
+ }
1428
+
1429
+ Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
1430
+ value = +value
1431
+ offset = offset >>> 0
1432
+ if (!noAssert) {
1433
+ var limit = Math.pow(2, (8 * byteLength) - 1)
1434
+
1435
+ checkInt(this, value, offset, byteLength, limit - 1, -limit)
1436
+ }
1437
+
1438
+ var i = byteLength - 1
1439
+ var mul = 1
1440
+ var sub = 0
1441
+ this[offset + i] = value & 0xFF
1442
+ while (--i >= 0 && (mul *= 0x100)) {
1443
+ if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
1444
+ sub = 1
1445
+ }
1446
+ this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
1447
+ }
1448
+
1449
+ return offset + byteLength
1450
+ }
1451
+
1452
+ Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
1453
+ value = +value
1454
+ offset = offset >>> 0
1455
+ if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
1456
+ if (value < 0) value = 0xff + value + 1
1457
+ this[offset] = (value & 0xff)
1458
+ return offset + 1
1459
+ }
1460
+
1461
+ Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
1462
+ value = +value
1463
+ offset = offset >>> 0
1464
+ if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
1465
+ this[offset] = (value & 0xff)
1466
+ this[offset + 1] = (value >>> 8)
1467
+ return offset + 2
1468
+ }
1469
+
1470
+ Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
1471
+ value = +value
1472
+ offset = offset >>> 0
1473
+ if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
1474
+ this[offset] = (value >>> 8)
1475
+ this[offset + 1] = (value & 0xff)
1476
+ return offset + 2
1477
+ }
1478
+
1479
+ Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
1480
+ value = +value
1481
+ offset = offset >>> 0
1482
+ if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
1483
+ this[offset] = (value & 0xff)
1484
+ this[offset + 1] = (value >>> 8)
1485
+ this[offset + 2] = (value >>> 16)
1486
+ this[offset + 3] = (value >>> 24)
1487
+ return offset + 4
1488
+ }
1489
+
1490
+ Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
1491
+ value = +value
1492
+ offset = offset >>> 0
1493
+ if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
1494
+ if (value < 0) value = 0xffffffff + value + 1
1495
+ this[offset] = (value >>> 24)
1496
+ this[offset + 1] = (value >>> 16)
1497
+ this[offset + 2] = (value >>> 8)
1498
+ this[offset + 3] = (value & 0xff)
1499
+ return offset + 4
1500
+ }
1501
+
1502
+ function checkIEEE754 (buf, value, offset, ext, max, min) {
1503
+ if (offset + ext > buf.length) throw new RangeError('Index out of range')
1504
+ if (offset < 0) throw new RangeError('Index out of range')
1505
+ }
1506
+
1507
+ function writeFloat (buf, value, offset, littleEndian, noAssert) {
1508
+ value = +value
1509
+ offset = offset >>> 0
1510
+ if (!noAssert) {
1511
+ checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
1512
+ }
1513
+ ieee754.write(buf, value, offset, littleEndian, 23, 4)
1514
+ return offset + 4
1515
+ }
1516
+
1517
+ Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
1518
+ return writeFloat(this, value, offset, true, noAssert)
1519
+ }
1520
+
1521
+ Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
1522
+ return writeFloat(this, value, offset, false, noAssert)
1523
+ }
1524
+
1525
+ function writeDouble (buf, value, offset, littleEndian, noAssert) {
1526
+ value = +value
1527
+ offset = offset >>> 0
1528
+ if (!noAssert) {
1529
+ checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
1530
+ }
1531
+ ieee754.write(buf, value, offset, littleEndian, 52, 8)
1532
+ return offset + 8
1533
+ }
1534
+
1535
+ Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
1536
+ return writeDouble(this, value, offset, true, noAssert)
1537
+ }
1538
+
1539
+ Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
1540
+ return writeDouble(this, value, offset, false, noAssert)
1541
+ }
1542
+
1543
+ // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
1544
+ Buffer.prototype.copy = function copy (target, targetStart, start, end) {
1545
+ if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')
1546
+ if (!start) start = 0
1547
+ if (!end && end !== 0) end = this.length
1548
+ if (targetStart >= target.length) targetStart = target.length
1549
+ if (!targetStart) targetStart = 0
1550
+ if (end > 0 && end < start) end = start
1551
+
1552
+ // Copy 0 bytes; we're done
1553
+ if (end === start) return 0
1554
+ if (target.length === 0 || this.length === 0) return 0
1555
+
1556
+ // Fatal error conditions
1557
+ if (targetStart < 0) {
1558
+ throw new RangeError('targetStart out of bounds')
1559
+ }
1560
+ if (start < 0 || start >= this.length) throw new RangeError('Index out of range')
1561
+ if (end < 0) throw new RangeError('sourceEnd out of bounds')
1562
+
1563
+ // Are we oob?
1564
+ if (end > this.length) end = this.length
1565
+ if (target.length - targetStart < end - start) {
1566
+ end = target.length - targetStart + start
1567
+ }
1568
+
1569
+ var len = end - start
1570
+
1571
+ if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {
1572
+ // Use built-in when available, missing from IE11
1573
+ this.copyWithin(targetStart, start, end)
1574
+ } else {
1575
+ Uint8Array.prototype.set.call(
1576
+ target,
1577
+ this.subarray(start, end),
1578
+ targetStart
1579
+ )
1580
+ }
1581
+
1582
+ return len
1583
+ }
1584
+
1585
+ // Usage:
1586
+ // buffer.fill(number[, offset[, end]])
1587
+ // buffer.fill(buffer[, offset[, end]])
1588
+ // buffer.fill(string[, offset[, end]][, encoding])
1589
+ Buffer.prototype.fill = function fill (val, start, end, encoding) {
1590
+ // Handle string cases:
1591
+ if (typeof val === 'string') {
1592
+ if (typeof start === 'string') {
1593
+ encoding = start
1594
+ start = 0
1595
+ end = this.length
1596
+ } else if (typeof end === 'string') {
1597
+ encoding = end
1598
+ end = this.length
1599
+ }
1600
+ if (encoding !== undefined && typeof encoding !== 'string') {
1601
+ throw new TypeError('encoding must be a string')
1602
+ }
1603
+ if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
1604
+ throw new TypeError('Unknown encoding: ' + encoding)
1605
+ }
1606
+ if (val.length === 1) {
1607
+ var code = val.charCodeAt(0)
1608
+ if ((encoding === 'utf8' && code < 128) ||
1609
+ encoding === 'latin1') {
1610
+ // Fast path: If `val` fits into a single byte, use that numeric value.
1611
+ val = code
1612
+ }
1613
+ }
1614
+ } else if (typeof val === 'number') {
1615
+ val = val & 255
1616
+ } else if (typeof val === 'boolean') {
1617
+ val = Number(val)
1618
+ }
1619
+
1620
+ // Invalid ranges are not set to a default, so can range check early.
1621
+ if (start < 0 || this.length < start || this.length < end) {
1622
+ throw new RangeError('Out of range index')
1623
+ }
1624
+
1625
+ if (end <= start) {
1626
+ return this
1627
+ }
1628
+
1629
+ start = start >>> 0
1630
+ end = end === undefined ? this.length : end >>> 0
1631
+
1632
+ if (!val) val = 0
1633
+
1634
+ var i
1635
+ if (typeof val === 'number') {
1636
+ for (i = start; i < end; ++i) {
1637
+ this[i] = val
1638
+ }
1639
+ } else {
1640
+ var bytes = Buffer.isBuffer(val)
1641
+ ? val
1642
+ : Buffer.from(val, encoding)
1643
+ var len = bytes.length
1644
+ if (len === 0) {
1645
+ throw new TypeError('The value "' + val +
1646
+ '" is invalid for argument "value"')
1647
+ }
1648
+ for (i = 0; i < end - start; ++i) {
1649
+ this[i + start] = bytes[i % len]
1650
+ }
1651
+ }
1652
+
1653
+ return this
1654
+ }
1655
+
1656
+ // HELPER FUNCTIONS
1657
+ // ================
1658
+
1659
+ var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g
1660
+
1661
+ function base64clean (str) {
1662
+ // Node takes equal signs as end of the Base64 encoding
1663
+ str = str.split('=')[0]
1664
+ // Node strips out invalid characters like \n and \t from the string, base64-js does not
1665
+ str = str.trim().replace(INVALID_BASE64_RE, '')
1666
+ // Node converts strings with length < 2 to ''
1667
+ if (str.length < 2) return ''
1668
+ // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
1669
+ while (str.length % 4 !== 0) {
1670
+ str = str + '='
1671
+ }
1672
+ return str
1673
+ }
1674
+
1675
+ function utf8ToBytes (string, units) {
1676
+ units = units || Infinity
1677
+ var codePoint
1678
+ var length = string.length
1679
+ var leadSurrogate = null
1680
+ var bytes = []
1681
+
1682
+ for (var i = 0; i < length; ++i) {
1683
+ codePoint = string.charCodeAt(i)
1684
+
1685
+ // is surrogate component
1686
+ if (codePoint > 0xD7FF && codePoint < 0xE000) {
1687
+ // last char was a lead
1688
+ if (!leadSurrogate) {
1689
+ // no lead yet
1690
+ if (codePoint > 0xDBFF) {
1691
+ // unexpected trail
1692
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1693
+ continue
1694
+ } else if (i + 1 === length) {
1695
+ // unpaired lead
1696
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1697
+ continue
1698
+ }
1699
+
1700
+ // valid lead
1701
+ leadSurrogate = codePoint
1702
+
1703
+ continue
1704
+ }
1705
+
1706
+ // 2 leads in a row
1707
+ if (codePoint < 0xDC00) {
1708
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1709
+ leadSurrogate = codePoint
1710
+ continue
1711
+ }
1712
+
1713
+ // valid surrogate pair
1714
+ codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
1715
+ } else if (leadSurrogate) {
1716
+ // valid bmp char, but last char was a lead
1717
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1718
+ }
1719
+
1720
+ leadSurrogate = null
1721
+
1722
+ // encode utf8
1723
+ if (codePoint < 0x80) {
1724
+ if ((units -= 1) < 0) break
1725
+ bytes.push(codePoint)
1726
+ } else if (codePoint < 0x800) {
1727
+ if ((units -= 2) < 0) break
1728
+ bytes.push(
1729
+ codePoint >> 0x6 | 0xC0,
1730
+ codePoint & 0x3F | 0x80
1731
+ )
1732
+ } else if (codePoint < 0x10000) {
1733
+ if ((units -= 3) < 0) break
1734
+ bytes.push(
1735
+ codePoint >> 0xC | 0xE0,
1736
+ codePoint >> 0x6 & 0x3F | 0x80,
1737
+ codePoint & 0x3F | 0x80
1738
+ )
1739
+ } else if (codePoint < 0x110000) {
1740
+ if ((units -= 4) < 0) break
1741
+ bytes.push(
1742
+ codePoint >> 0x12 | 0xF0,
1743
+ codePoint >> 0xC & 0x3F | 0x80,
1744
+ codePoint >> 0x6 & 0x3F | 0x80,
1745
+ codePoint & 0x3F | 0x80
1746
+ )
1747
+ } else {
1748
+ throw new Error('Invalid code point')
1749
+ }
1750
+ }
1751
+
1752
+ return bytes
1753
+ }
1754
+
1755
+ function asciiToBytes (str) {
1756
+ var byteArray = []
1757
+ for (var i = 0; i < str.length; ++i) {
1758
+ // Node's code seems to be doing this and not & 0x7F..
1759
+ byteArray.push(str.charCodeAt(i) & 0xFF)
1760
+ }
1761
+ return byteArray
1762
+ }
1763
+
1764
+ function utf16leToBytes (str, units) {
1765
+ var c, hi, lo
1766
+ var byteArray = []
1767
+ for (var i = 0; i < str.length; ++i) {
1768
+ if ((units -= 2) < 0) break
1769
+
1770
+ c = str.charCodeAt(i)
1771
+ hi = c >> 8
1772
+ lo = c % 256
1773
+ byteArray.push(lo)
1774
+ byteArray.push(hi)
1775
+ }
1776
+
1777
+ return byteArray
1778
+ }
1779
+
1780
+ function base64ToBytes (str) {
1781
+ return base64.toByteArray(base64clean(str))
1782
+ }
1783
+
1784
+ function blitBuffer (src, dst, offset, length) {
1785
+ for (var i = 0; i < length; ++i) {
1786
+ if ((i + offset >= dst.length) || (i >= src.length)) break
1787
+ dst[i + offset] = src[i]
1788
+ }
1789
+ return i
1790
+ }
1791
+
1792
+ // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass
1793
+ // the `instanceof` check but they should be treated as of that type.
1794
+ // See: https://github.com/feross/buffer/issues/166
1795
+ function isInstance (obj, type) {
1796
+ return obj instanceof type ||
1797
+ (obj != null && obj.constructor != null && obj.constructor.name != null &&
1798
+ obj.constructor.name === type.name)
1799
+ }
1800
+ function numberIsNaN (obj) {
1801
+ // For IE11 support
1802
+ return obj !== obj // eslint-disable-line no-self-compare
1803
+ }
1804
+
1805
+ // Create lookup table for `toString('hex')`
1806
+ // See: https://github.com/feross/buffer/issues/219
1807
+ var hexSliceLookupTable = (function () {
1808
+ var alphabet = '0123456789abcdef'
1809
+ var table = new Array(256)
1810
+ for (var i = 0; i < 16; ++i) {
1811
+ var i16 = i * 16
1812
+ for (var j = 0; j < 16; ++j) {
1813
+ table[i16 + j] = alphabet[i] + alphabet[j]
1814
+ }
1815
+ }
1816
+ return table
1817
+ })()