es6_tilt 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3060) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +41 -0
  3. data/Gemfile +16 -0
  4. data/LICENSE +22 -0
  5. data/es6_tilt.gemspec +26 -0
  6. data/lib/es6_tilt.rb +2 -1
  7. data/lib/es6_tilt/version.rb +1 -1
  8. data/test/dummy/log/test.log +238 -0
  9. data/test/dummy/node_modules/acorn/AUTHORS +43 -0
  10. data/test/dummy/node_modules/acorn/LICENSE +19 -0
  11. data/test/dummy/node_modules/acorn/README.md +396 -0
  12. data/test/dummy/node_modules/acorn/bin/acorn +71 -0
  13. data/test/dummy/node_modules/acorn/bin/build-acorn.js +82 -0
  14. data/test/dummy/node_modules/acorn/bin/generate-identifier-regex.js +47 -0
  15. data/test/dummy/node_modules/acorn/bin/update_authors.sh +6 -0
  16. data/test/dummy/node_modules/acorn/dist/acorn.js +3330 -0
  17. data/test/dummy/node_modules/acorn/dist/acorn_loose.js +1300 -0
  18. data/test/dummy/node_modules/acorn/dist/walk.js +377 -0
  19. data/test/dummy/node_modules/acorn/package.json +212 -0
  20. data/test/dummy/node_modules/acorn/src/bin/acorn.js +60 -0
  21. data/test/dummy/node_modules/acorn/src/expression.js +703 -0
  22. data/test/dummy/node_modules/acorn/src/identifier.js +90 -0
  23. data/test/dummy/node_modules/acorn/src/index.js +67 -0
  24. data/test/dummy/node_modules/acorn/src/location.js +24 -0
  25. data/test/dummy/node_modules/acorn/src/locutil.js +42 -0
  26. data/test/dummy/node_modules/acorn/src/loose/acorn_loose.js +0 -0
  27. data/test/dummy/node_modules/acorn/src/loose/expression.js +501 -0
  28. data/test/dummy/node_modules/acorn/src/loose/index.js +50 -0
  29. data/test/dummy/node_modules/acorn/src/loose/parseutil.js +1 -0
  30. data/test/dummy/node_modules/acorn/src/loose/state.js +160 -0
  31. data/test/dummy/node_modules/acorn/src/loose/statement.js +420 -0
  32. data/test/dummy/node_modules/acorn/src/loose/tokenize.js +108 -0
  33. data/test/dummy/node_modules/acorn/src/lval.js +215 -0
  34. data/test/dummy/node_modules/acorn/src/node.js +50 -0
  35. data/test/dummy/node_modules/acorn/src/options.js +121 -0
  36. data/test/dummy/node_modules/acorn/src/parseutil.js +102 -0
  37. data/test/dummy/node_modules/acorn/src/state.js +104 -0
  38. data/test/dummy/node_modules/acorn/src/statement.js +618 -0
  39. data/test/dummy/node_modules/acorn/src/tokencontext.js +109 -0
  40. data/test/dummy/node_modules/acorn/src/tokenize.js +682 -0
  41. data/test/dummy/node_modules/acorn/src/tokentype.js +147 -0
  42. data/test/dummy/node_modules/acorn/src/util.js +9 -0
  43. data/test/dummy/node_modules/acorn/src/walk/index.js +340 -0
  44. data/test/dummy/node_modules/acorn/src/whitespace.js +12 -0
  45. data/test/dummy/node_modules/amdefine/LICENSE +58 -0
  46. data/test/dummy/node_modules/amdefine/README.md +171 -0
  47. data/test/dummy/node_modules/amdefine/amdefine.js +301 -0
  48. data/test/dummy/node_modules/amdefine/intercept.js +36 -0
  49. data/test/dummy/node_modules/amdefine/package.json +75 -0
  50. data/test/dummy/node_modules/ansi-regex/index.js +4 -0
  51. data/test/dummy/node_modules/ansi-regex/license +21 -0
  52. data/test/dummy/node_modules/ansi-regex/package.json +112 -0
  53. data/test/dummy/node_modules/ansi-regex/readme.md +31 -0
  54. data/test/dummy/node_modules/ansi-styles/index.js +65 -0
  55. data/test/dummy/node_modules/ansi-styles/license +21 -0
  56. data/test/dummy/node_modules/ansi-styles/package.json +105 -0
  57. data/test/dummy/node_modules/ansi-styles/readme.md +86 -0
  58. data/test/dummy/node_modules/asap/CHANGES.md +64 -0
  59. data/test/dummy/node_modules/asap/LICENSE.md +21 -0
  60. data/test/dummy/node_modules/asap/README.md +237 -0
  61. data/test/dummy/node_modules/asap/asap.js +65 -0
  62. data/test/dummy/node_modules/asap/browser-asap.js +66 -0
  63. data/test/dummy/node_modules/asap/browser-raw.js +220 -0
  64. data/test/dummy/node_modules/asap/package.json +110 -0
  65. data/test/dummy/node_modules/asap/raw.js +101 -0
  66. data/test/dummy/node_modules/ast-types/LICENSE +20 -0
  67. data/test/dummy/node_modules/ast-types/README.md +488 -0
  68. data/test/dummy/node_modules/ast-types/def/babel.js +105 -0
  69. data/test/dummy/node_modules/ast-types/def/core.js +359 -0
  70. data/test/dummy/node_modules/ast-types/def/e4x.js +84 -0
  71. data/test/dummy/node_modules/ast-types/def/es6.js +217 -0
  72. data/test/dummy/node_modules/ast-types/def/es7.js +36 -0
  73. data/test/dummy/node_modules/ast-types/def/esprima.js +96 -0
  74. data/test/dummy/node_modules/ast-types/def/fb-harmony.js +327 -0
  75. data/test/dummy/node_modules/ast-types/def/mozilla.js +49 -0
  76. data/test/dummy/node_modules/ast-types/lib/equiv.js +184 -0
  77. data/test/dummy/node_modules/ast-types/lib/node-path.js +474 -0
  78. data/test/dummy/node_modules/ast-types/lib/path-visitor.js +419 -0
  79. data/test/dummy/node_modules/ast-types/lib/path.js +366 -0
  80. data/test/dummy/node_modules/ast-types/lib/scope.js +295 -0
  81. data/test/dummy/node_modules/ast-types/lib/shared.js +41 -0
  82. data/test/dummy/node_modules/ast-types/lib/types.js +828 -0
  83. data/test/dummy/node_modules/ast-types/main.js +33 -0
  84. data/test/dummy/node_modules/ast-types/package.json +94 -0
  85. data/test/dummy/node_modules/babel-code-frame/README.md +32 -0
  86. data/test/dummy/node_modules/babel-code-frame/lib/index.js +146 -0
  87. data/test/dummy/node_modules/babel-code-frame/package.json +93 -0
  88. data/test/dummy/node_modules/babel-code-frame/test/index.js +5 -0
  89. data/test/dummy/node_modules/babel-core/README.md +24 -0
  90. data/test/dummy/node_modules/babel-core/index.js +1 -0
  91. data/test/dummy/node_modules/babel-core/lib/api/browser.js +108 -0
  92. data/test/dummy/node_modules/babel-core/lib/api/node.js +117 -0
  93. data/test/dummy/node_modules/babel-core/lib/helpers/merge.js +46 -0
  94. data/test/dummy/node_modules/babel-core/lib/helpers/normalize-ast.js +29 -0
  95. data/test/dummy/node_modules/babel-core/lib/helpers/resolve.js +34 -0
  96. data/test/dummy/node_modules/babel-core/lib/store.js +41 -0
  97. data/test/dummy/node_modules/babel-core/lib/tools/build-external-helpers.js +106 -0
  98. data/test/dummy/node_modules/babel-core/lib/transformation/file/index.js +680 -0
  99. data/test/dummy/node_modules/babel-core/lib/transformation/file/logger.js +74 -0
  100. data/test/dummy/node_modules/babel-core/lib/transformation/file/metadata.js +182 -0
  101. data/test/dummy/node_modules/babel-core/lib/transformation/file/options/config.js +183 -0
  102. data/test/dummy/node_modules/babel-core/lib/transformation/file/options/index.js +40 -0
  103. data/test/dummy/node_modules/babel-core/lib/transformation/file/options/option-manager.js +430 -0
  104. data/test/dummy/node_modules/babel-core/lib/transformation/file/options/parsers.js +36 -0
  105. data/test/dummy/node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js +56 -0
  106. data/test/dummy/node_modules/babel-core/lib/transformation/internal-plugins/shadow-functions.js +84 -0
  107. data/test/dummy/node_modules/babel-core/lib/transformation/pipeline.js +65 -0
  108. data/test/dummy/node_modules/babel-core/lib/transformation/plugin-pass.js +81 -0
  109. data/test/dummy/node_modules/babel-core/lib/transformation/plugin.js +157 -0
  110. data/test/dummy/node_modules/babel-core/lib/util.js +213 -0
  111. data/test/dummy/node_modules/babel-core/node_modules/source-map/README.md +729 -0
  112. data/test/dummy/node_modules/babel-core/node_modules/source-map/dist/source-map.debug.js +3006 -0
  113. data/test/dummy/node_modules/babel-core/node_modules/source-map/dist/source-map.js +3005 -0
  114. data/test/dummy/node_modules/babel-core/node_modules/source-map/dist/source-map.min.js +2 -0
  115. data/test/dummy/node_modules/babel-core/node_modules/source-map/dist/source-map.min.js.map +1 -0
  116. data/test/dummy/node_modules/babel-core/node_modules/source-map/lib/array-set.js +104 -0
  117. data/test/dummy/node_modules/babel-core/node_modules/source-map/lib/base64-vlq.js +141 -0
  118. data/test/dummy/node_modules/babel-core/node_modules/source-map/lib/base64.js +68 -0
  119. data/test/dummy/node_modules/babel-core/node_modules/source-map/lib/binary-search.js +112 -0
  120. data/test/dummy/node_modules/babel-core/node_modules/source-map/lib/mapping-list.js +80 -0
  121. data/test/dummy/node_modules/babel-core/node_modules/source-map/lib/quick-sort.js +115 -0
  122. data/test/dummy/node_modules/babel-core/node_modules/source-map/lib/source-map-consumer.js +1082 -0
  123. data/test/dummy/node_modules/babel-core/node_modules/source-map/lib/source-map-generator.js +396 -0
  124. data/test/dummy/node_modules/babel-core/node_modules/source-map/lib/source-node.js +408 -0
  125. data/test/dummy/node_modules/babel-core/node_modules/source-map/lib/util.js +369 -0
  126. data/test/dummy/node_modules/babel-core/node_modules/source-map/package.json +239 -0
  127. data/test/dummy/node_modules/babel-core/node_modules/source-map/source-map.js +8 -0
  128. data/test/dummy/node_modules/babel-core/package.json +127 -0
  129. data/test/dummy/node_modules/babel-core/register.js +2 -0
  130. data/test/dummy/node_modules/babel-generator/README.md +21 -0
  131. data/test/dummy/node_modules/babel-generator/lib/buffer.js +353 -0
  132. data/test/dummy/node_modules/babel-generator/lib/generators/base.js +52 -0
  133. data/test/dummy/node_modules/babel-generator/lib/generators/classes.js +82 -0
  134. data/test/dummy/node_modules/babel-generator/lib/generators/expressions.js +272 -0
  135. data/test/dummy/node_modules/babel-generator/lib/generators/flow.js +310 -0
  136. data/test/dummy/node_modules/babel-generator/lib/generators/jsx.js +101 -0
  137. data/test/dummy/node_modules/babel-generator/lib/generators/methods.js +107 -0
  138. data/test/dummy/node_modules/babel-generator/lib/generators/modules.js +159 -0
  139. data/test/dummy/node_modules/babel-generator/lib/generators/statements.js +294 -0
  140. data/test/dummy/node_modules/babel-generator/lib/generators/template-literals.js +35 -0
  141. data/test/dummy/node_modules/babel-generator/lib/generators/types.js +160 -0
  142. data/test/dummy/node_modules/babel-generator/lib/index.js +171 -0
  143. data/test/dummy/node_modules/babel-generator/lib/node/index.js +128 -0
  144. data/test/dummy/node_modules/babel-generator/lib/node/parentheses.js +223 -0
  145. data/test/dummy/node_modules/babel-generator/lib/node/whitespace.js +242 -0
  146. data/test/dummy/node_modules/babel-generator/lib/position.js +54 -0
  147. data/test/dummy/node_modules/babel-generator/lib/printer.js +376 -0
  148. data/test/dummy/node_modules/babel-generator/lib/source-map.js +88 -0
  149. data/test/dummy/node_modules/babel-generator/lib/whitespace.js +133 -0
  150. data/test/dummy/node_modules/babel-generator/node_modules/source-map/README.md +729 -0
  151. data/test/dummy/node_modules/babel-generator/node_modules/source-map/dist/source-map.debug.js +3006 -0
  152. data/test/dummy/node_modules/babel-generator/node_modules/source-map/dist/source-map.js +3005 -0
  153. data/test/dummy/node_modules/babel-generator/node_modules/source-map/dist/source-map.min.js +2 -0
  154. data/test/dummy/node_modules/babel-generator/node_modules/source-map/dist/source-map.min.js.map +1 -0
  155. data/test/dummy/node_modules/babel-generator/node_modules/source-map/lib/array-set.js +104 -0
  156. data/test/dummy/node_modules/babel-generator/node_modules/source-map/lib/base64-vlq.js +141 -0
  157. data/test/dummy/node_modules/babel-generator/node_modules/source-map/lib/base64.js +68 -0
  158. data/test/dummy/node_modules/babel-generator/node_modules/source-map/lib/binary-search.js +112 -0
  159. data/test/dummy/node_modules/babel-generator/node_modules/source-map/lib/mapping-list.js +80 -0
  160. data/test/dummy/node_modules/babel-generator/node_modules/source-map/lib/quick-sort.js +115 -0
  161. data/test/dummy/node_modules/babel-generator/node_modules/source-map/lib/source-map-consumer.js +1082 -0
  162. data/test/dummy/node_modules/babel-generator/node_modules/source-map/lib/source-map-generator.js +396 -0
  163. data/test/dummy/node_modules/babel-generator/node_modules/source-map/lib/source-node.js +408 -0
  164. data/test/dummy/node_modules/babel-generator/node_modules/source-map/lib/util.js +369 -0
  165. data/test/dummy/node_modules/babel-generator/node_modules/source-map/package.json +239 -0
  166. data/test/dummy/node_modules/babel-generator/node_modules/source-map/source-map.js +8 -0
  167. data/test/dummy/node_modules/babel-generator/package.json +101 -0
  168. data/test/dummy/node_modules/babel-helper-call-delegate/README.md +5 -0
  169. data/test/dummy/node_modules/babel-helper-call-delegate/lib/index.js +78 -0
  170. data/test/dummy/node_modules/babel-helper-call-delegate/package.json +85 -0
  171. data/test/dummy/node_modules/babel-helper-define-map/README.md +5 -0
  172. data/test/dummy/node_modules/babel-helper-define-map/lib/index.js +160 -0
  173. data/test/dummy/node_modules/babel-helper-define-map/package.json +86 -0
  174. data/test/dummy/node_modules/babel-helper-function-name/README.md +5 -0
  175. data/test/dummy/node_modules/babel-helper-function-name/lib/index.js +161 -0
  176. data/test/dummy/node_modules/babel-helper-function-name/package.json +88 -0
  177. data/test/dummy/node_modules/babel-helper-get-function-arity/README.md +5 -0
  178. data/test/dummy/node_modules/babel-helper-get-function-arity/lib/index.js +22 -0
  179. data/test/dummy/node_modules/babel-helper-get-function-arity/package.json +84 -0
  180. data/test/dummy/node_modules/babel-helper-hoist-variables/README.md +5 -0
  181. data/test/dummy/node_modules/babel-helper-hoist-variables/lib/index.js +70 -0
  182. data/test/dummy/node_modules/babel-helper-hoist-variables/package.json +83 -0
  183. data/test/dummy/node_modules/babel-helper-optimise-call-expression/README.md +5 -0
  184. data/test/dummy/node_modules/babel-helper-optimise-call-expression/lib/index.js +20 -0
  185. data/test/dummy/node_modules/babel-helper-optimise-call-expression/package.json +84 -0
  186. data/test/dummy/node_modules/babel-helper-regex/README.md +5 -0
  187. data/test/dummy/node_modules/babel-helper-regex/lib/index.js +30 -0
  188. data/test/dummy/node_modules/babel-helper-regex/package.json +85 -0
  189. data/test/dummy/node_modules/babel-helper-replace-supers/README.md +5 -0
  190. data/test/dummy/node_modules/babel-helper-replace-supers/lib/index.js +255 -0
  191. data/test/dummy/node_modules/babel-helper-replace-supers/package.json +88 -0
  192. data/test/dummy/node_modules/babel-helpers/README.md +21 -0
  193. data/test/dummy/node_modules/babel-helpers/lib/helpers.js +69 -0
  194. data/test/dummy/node_modules/babel-helpers/lib/index.js +28 -0
  195. data/test/dummy/node_modules/babel-helpers/package.json +88 -0
  196. data/test/dummy/node_modules/babel-messages/README.md +18 -0
  197. data/test/dummy/node_modules/babel-messages/lib/index.js +94 -0
  198. data/test/dummy/node_modules/babel-messages/package.json +89 -0
  199. data/test/dummy/node_modules/babel-plugin-check-es2015-constants/README.md +39 -0
  200. data/test/dummy/node_modules/babel-plugin-check-es2015-constants/lib/index.js +41 -0
  201. data/test/dummy/node_modules/babel-plugin-check-es2015-constants/package.json +87 -0
  202. data/test/dummy/node_modules/babel-plugin-external-helpers-2/README.md +33 -0
  203. data/test/dummy/node_modules/babel-plugin-external-helpers-2/lib/index.js +15 -0
  204. data/test/dummy/node_modules/babel-plugin-external-helpers-2/package.json +87 -0
  205. data/test/dummy/node_modules/babel-plugin-syntax-async-functions/README.md +35 -0
  206. data/test/dummy/node_modules/babel-plugin-syntax-async-functions/lib/index.js +13 -0
  207. data/test/dummy/node_modules/babel-plugin-syntax-async-functions/package.json +87 -0
  208. data/test/dummy/node_modules/babel-plugin-transform-es2015-arrow-functions/README.md +35 -0
  209. data/test/dummy/node_modules/babel-plugin-transform-es2015-arrow-functions/lib/index.js +35 -0
  210. data/test/dummy/node_modules/babel-plugin-transform-es2015-arrow-functions/package.json +87 -0
  211. data/test/dummy/node_modules/babel-plugin-transform-es2015-block-scoped-functions/README.md +35 -0
  212. data/test/dummy/node_modules/babel-plugin-transform-es2015-block-scoped-functions/lib/index.js +62 -0
  213. data/test/dummy/node_modules/babel-plugin-transform-es2015-block-scoped-functions/package.json +87 -0
  214. data/test/dummy/node_modules/babel-plugin-transform-es2015-block-scoping/README.md +35 -0
  215. data/test/dummy/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js +682 -0
  216. data/test/dummy/node_modules/babel-plugin-transform-es2015-block-scoping/lib/tdz.js +97 -0
  217. data/test/dummy/node_modules/babel-plugin-transform-es2015-block-scoping/package.json +92 -0
  218. data/test/dummy/node_modules/babel-plugin-transform-es2015-classes/README.md +35 -0
  219. data/test/dummy/node_modules/babel-plugin-transform-es2015-classes/lib/index.js +69 -0
  220. data/test/dummy/node_modules/babel-plugin-transform-es2015-classes/lib/lib/memoise-decorators.js +56 -0
  221. data/test/dummy/node_modules/babel-plugin-transform-es2015-classes/lib/loose.js +64 -0
  222. data/test/dummy/node_modules/babel-plugin-transform-es2015-classes/lib/vanilla.js +600 -0
  223. data/test/dummy/node_modules/babel-plugin-transform-es2015-classes/package.json +95 -0
  224. data/test/dummy/node_modules/babel-plugin-transform-es2015-computed-properties/README.md +35 -0
  225. data/test/dummy/node_modules/babel-plugin-transform-es2015-computed-properties/lib/index.js +217 -0
  226. data/test/dummy/node_modules/babel-plugin-transform-es2015-computed-properties/package.json +89 -0
  227. data/test/dummy/node_modules/babel-plugin-transform-es2015-destructuring/README.md +35 -0
  228. data/test/dummy/node_modules/babel-plugin-transform-es2015-destructuring/lib/index.js +526 -0
  229. data/test/dummy/node_modules/babel-plugin-transform-es2015-destructuring/package.json +87 -0
  230. data/test/dummy/node_modules/babel-plugin-transform-es2015-for-of/README.md +35 -0
  231. data/test/dummy/node_modules/babel-plugin-transform-es2015-for-of/lib/index.js +200 -0
  232. data/test/dummy/node_modules/babel-plugin-transform-es2015-for-of/package.json +88 -0
  233. data/test/dummy/node_modules/babel-plugin-transform-es2015-function-name/README.md +35 -0
  234. data/test/dummy/node_modules/babel-plugin-transform-es2015-function-name/lib/index.js +66 -0
  235. data/test/dummy/node_modules/babel-plugin-transform-es2015-function-name/package.json +89 -0
  236. data/test/dummy/node_modules/babel-plugin-transform-es2015-literals/README.md +35 -0
  237. data/test/dummy/node_modules/babel-plugin-transform-es2015-literals/lib/index.js +29 -0
  238. data/test/dummy/node_modules/babel-plugin-transform-es2015-literals/package.json +87 -0
  239. data/test/dummy/node_modules/babel-plugin-transform-es2015-modules-commonjs/README.md +33 -0
  240. data/test/dummy/node_modules/babel-plugin-transform-es2015-modules-commonjs/lib/index.js +439 -0
  241. data/test/dummy/node_modules/babel-plugin-transform-es2015-modules-commonjs/package.json +90 -0
  242. data/test/dummy/node_modules/babel-plugin-transform-es2015-object-super/README.md +35 -0
  243. data/test/dummy/node_modules/babel-plugin-transform-es2015-object-super/lib/index.js +80 -0
  244. data/test/dummy/node_modules/babel-plugin-transform-es2015-object-super/package.json +88 -0
  245. data/test/dummy/node_modules/babel-plugin-transform-es2015-parameters/README.md +35 -0
  246. data/test/dummy/node_modules/babel-plugin-transform-es2015-parameters/lib/default.js +176 -0
  247. data/test/dummy/node_modules/babel-plugin-transform-es2015-parameters/lib/destructuring.js +31 -0
  248. data/test/dummy/node_modules/babel-plugin-transform-es2015-parameters/lib/index.js +54 -0
  249. data/test/dummy/node_modules/babel-plugin-transform-es2015-parameters/lib/rest.js +252 -0
  250. data/test/dummy/node_modules/babel-plugin-transform-es2015-parameters/package.json +92 -0
  251. data/test/dummy/node_modules/babel-plugin-transform-es2015-shorthand-properties/README.md +35 -0
  252. data/test/dummy/node_modules/babel-plugin-transform-es2015-shorthand-properties/lib/index.js +33 -0
  253. data/test/dummy/node_modules/babel-plugin-transform-es2015-shorthand-properties/package.json +88 -0
  254. data/test/dummy/node_modules/babel-plugin-transform-es2015-spread/README.md +35 -0
  255. data/test/dummy/node_modules/babel-plugin-transform-es2015-spread/lib/index.js +150 -0
  256. data/test/dummy/node_modules/babel-plugin-transform-es2015-spread/package.json +87 -0
  257. data/test/dummy/node_modules/babel-plugin-transform-es2015-sticky-regex/README.md +35 -0
  258. data/test/dummy/node_modules/babel-plugin-transform-es2015-sticky-regex/lib/index.js +29 -0
  259. data/test/dummy/node_modules/babel-plugin-transform-es2015-sticky-regex/package.json +89 -0
  260. data/test/dummy/node_modules/babel-plugin-transform-es2015-template-literals/README.md +35 -0
  261. data/test/dummy/node_modules/babel-plugin-transform-es2015-template-literals/lib/index.js +132 -0
  262. data/test/dummy/node_modules/babel-plugin-transform-es2015-template-literals/package.json +87 -0
  263. data/test/dummy/node_modules/babel-plugin-transform-es2015-typeof-symbol/README.md +33 -0
  264. data/test/dummy/node_modules/babel-plugin-transform-es2015-typeof-symbol/lib/index.js +47 -0
  265. data/test/dummy/node_modules/babel-plugin-transform-es2015-typeof-symbol/package.json +87 -0
  266. data/test/dummy/node_modules/babel-plugin-transform-es2015-unicode-regex/README.md +35 -0
  267. data/test/dummy/node_modules/babel-plugin-transform-es2015-unicode-regex/lib/index.js +31 -0
  268. data/test/dummy/node_modules/babel-plugin-transform-es2015-unicode-regex/package.json +89 -0
  269. data/test/dummy/node_modules/babel-plugin-transform-regenerator/LICENSE +14 -0
  270. data/test/dummy/node_modules/babel-plugin-transform-regenerator/PATENTS +33 -0
  271. data/test/dummy/node_modules/babel-plugin-transform-regenerator/README.md +1 -0
  272. data/test/dummy/node_modules/babel-plugin-transform-regenerator/lib/emit.js +996 -0
  273. data/test/dummy/node_modules/babel-plugin-transform-regenerator/lib/hoist.js +141 -0
  274. data/test/dummy/node_modules/babel-plugin-transform-regenerator/lib/index.js +19 -0
  275. data/test/dummy/node_modules/babel-plugin-transform-regenerator/lib/leap.js +185 -0
  276. data/test/dummy/node_modules/babel-plugin-transform-regenerator/lib/meta.js +113 -0
  277. data/test/dummy/node_modules/babel-plugin-transform-regenerator/lib/util.js +29 -0
  278. data/test/dummy/node_modules/babel-plugin-transform-regenerator/lib/visit.js +250 -0
  279. data/test/dummy/node_modules/babel-plugin-transform-regenerator/package.json +93 -0
  280. data/test/dummy/node_modules/babel-plugin-transform-regenerator/src/emit.js +1184 -0
  281. data/test/dummy/node_modules/babel-plugin-transform-regenerator/src/hoist.js +148 -0
  282. data/test/dummy/node_modules/babel-plugin-transform-regenerator/src/index.js +13 -0
  283. data/test/dummy/node_modules/babel-plugin-transform-regenerator/src/leap.js +174 -0
  284. data/test/dummy/node_modules/babel-plugin-transform-regenerator/src/meta.js +103 -0
  285. data/test/dummy/node_modules/babel-plugin-transform-regenerator/src/util.js +23 -0
  286. data/test/dummy/node_modules/babel-plugin-transform-regenerator/src/visit.js +264 -0
  287. data/test/dummy/node_modules/babel-plugin-transform-strict-mode/README.md +35 -0
  288. data/test/dummy/node_modules/babel-plugin-transform-strict-mode/lib/index.js +44 -0
  289. data/test/dummy/node_modules/babel-plugin-transform-strict-mode/package.json +88 -0
  290. data/test/dummy/node_modules/babel-preset-es2015-rollup/README.md +3 -0
  291. data/test/dummy/node_modules/babel-preset-es2015-rollup/index.js +11 -0
  292. data/test/dummy/node_modules/babel-preset-es2015-rollup/package.json +59 -0
  293. data/test/dummy/node_modules/babel-preset-es2015/README.md +35 -0
  294. data/test/dummy/node_modules/babel-preset-es2015/index.js +24 -0
  295. data/test/dummy/node_modules/babel-preset-es2015/package.json +108 -0
  296. data/test/dummy/node_modules/babel-register/README.md +1 -0
  297. data/test/dummy/node_modules/babel-register/lib/browser.js +9 -0
  298. data/test/dummy/node_modules/babel-register/lib/cache.js +73 -0
  299. data/test/dummy/node_modules/babel-register/lib/node.js +182 -0
  300. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/LICENSE.md +21 -0
  301. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/README.md +165 -0
  302. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/amd-test/browser-source-map-support.js +89 -0
  303. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/amd-test/index.html +6 -0
  304. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/amd-test/require.js +36 -0
  305. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/amd-test/script.coffee +13 -0
  306. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/amd-test/script.js +24 -0
  307. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/amd-test/script.map +10 -0
  308. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/browser-source-map-support.js +89 -0
  309. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/browser-test/index.html +6 -0
  310. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/browser-test/script.coffee +12 -0
  311. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/browser-test/script.js +25 -0
  312. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/browser-test/script.map +10 -0
  313. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/build.js +69 -0
  314. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/header-test/index.html +6 -0
  315. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/header-test/script.coffee +12 -0
  316. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/header-test/script.js +25 -0
  317. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/header-test/script.map +10 -0
  318. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/header-test/server.js +45 -0
  319. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/package.json +76 -0
  320. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/source-map-support.js +386 -0
  321. data/test/dummy/node_modules/babel-register/node_modules/source-map-support/test.js +384 -0
  322. data/test/dummy/node_modules/babel-register/node_modules/source-map/CHANGELOG.md +121 -0
  323. data/test/dummy/node_modules/babel-register/node_modules/source-map/LICENSE +28 -0
  324. data/test/dummy/node_modules/babel-register/node_modules/source-map/Makefile.dryice.js +166 -0
  325. data/test/dummy/node_modules/babel-register/node_modules/source-map/README.md +434 -0
  326. data/test/dummy/node_modules/babel-register/node_modules/source-map/build/assert-shim.js +56 -0
  327. data/test/dummy/node_modules/babel-register/node_modules/source-map/build/mini-require.js +152 -0
  328. data/test/dummy/node_modules/babel-register/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  329. data/test/dummy/node_modules/babel-register/node_modules/source-map/build/prefix-utils.jsm +18 -0
  330. data/test/dummy/node_modules/babel-register/node_modules/source-map/build/suffix-browser.js +8 -0
  331. data/test/dummy/node_modules/babel-register/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  332. data/test/dummy/node_modules/babel-register/node_modules/source-map/build/suffix-utils.jsm +21 -0
  333. data/test/dummy/node_modules/babel-register/node_modules/source-map/build/test-prefix.js +8 -0
  334. data/test/dummy/node_modules/babel-register/node_modules/source-map/build/test-suffix.js +3 -0
  335. data/test/dummy/node_modules/babel-register/node_modules/source-map/lib/source-map.js +8 -0
  336. data/test/dummy/node_modules/babel-register/node_modules/source-map/lib/source-map/array-set.js +97 -0
  337. data/test/dummy/node_modules/babel-register/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  338. data/test/dummy/node_modules/babel-register/node_modules/source-map/lib/source-map/base64.js +42 -0
  339. data/test/dummy/node_modules/babel-register/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  340. data/test/dummy/node_modules/babel-register/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  341. data/test/dummy/node_modules/babel-register/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  342. data/test/dummy/node_modules/babel-register/node_modules/source-map/lib/source-map/source-node.js +371 -0
  343. data/test/dummy/node_modules/babel-register/node_modules/source-map/lib/source-map/util.js +205 -0
  344. data/test/dummy/node_modules/babel-register/node_modules/source-map/package.json +163 -0
  345. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/run-tests.js +62 -0
  346. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/source-map/test-api.js +26 -0
  347. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  348. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  349. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/source-map/test-base64.js +35 -0
  350. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  351. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  352. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  353. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  354. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  355. data/test/dummy/node_modules/babel-register/node_modules/source-map/test/source-map/util.js +161 -0
  356. data/test/dummy/node_modules/babel-register/package.json +95 -0
  357. data/test/dummy/node_modules/babel-register/src/browser.js +3 -0
  358. data/test/dummy/node_modules/babel-register/src/cache.js +53 -0
  359. data/test/dummy/node_modules/babel-register/src/node.js +148 -0
  360. data/test/dummy/node_modules/babel-runtime/README.md +5 -0
  361. data/test/dummy/node_modules/babel-runtime/core-js.js +4 -0
  362. data/test/dummy/node_modules/babel-runtime/core-js/array/concat.js +1 -0
  363. data/test/dummy/node_modules/babel-runtime/core-js/array/copy-within.js +1 -0
  364. data/test/dummy/node_modules/babel-runtime/core-js/array/entries.js +1 -0
  365. data/test/dummy/node_modules/babel-runtime/core-js/array/every.js +1 -0
  366. data/test/dummy/node_modules/babel-runtime/core-js/array/fill.js +1 -0
  367. data/test/dummy/node_modules/babel-runtime/core-js/array/filter.js +1 -0
  368. data/test/dummy/node_modules/babel-runtime/core-js/array/find-index.js +1 -0
  369. data/test/dummy/node_modules/babel-runtime/core-js/array/find.js +1 -0
  370. data/test/dummy/node_modules/babel-runtime/core-js/array/for-each.js +1 -0
  371. data/test/dummy/node_modules/babel-runtime/core-js/array/from.js +1 -0
  372. data/test/dummy/node_modules/babel-runtime/core-js/array/includes.js +1 -0
  373. data/test/dummy/node_modules/babel-runtime/core-js/array/index-of.js +1 -0
  374. data/test/dummy/node_modules/babel-runtime/core-js/array/join.js +1 -0
  375. data/test/dummy/node_modules/babel-runtime/core-js/array/keys.js +1 -0
  376. data/test/dummy/node_modules/babel-runtime/core-js/array/last-index-of.js +1 -0
  377. data/test/dummy/node_modules/babel-runtime/core-js/array/map.js +1 -0
  378. data/test/dummy/node_modules/babel-runtime/core-js/array/of.js +1 -0
  379. data/test/dummy/node_modules/babel-runtime/core-js/array/pop.js +1 -0
  380. data/test/dummy/node_modules/babel-runtime/core-js/array/push.js +1 -0
  381. data/test/dummy/node_modules/babel-runtime/core-js/array/reduce-right.js +1 -0
  382. data/test/dummy/node_modules/babel-runtime/core-js/array/reduce.js +1 -0
  383. data/test/dummy/node_modules/babel-runtime/core-js/array/reverse.js +1 -0
  384. data/test/dummy/node_modules/babel-runtime/core-js/array/shift.js +1 -0
  385. data/test/dummy/node_modules/babel-runtime/core-js/array/slice.js +1 -0
  386. data/test/dummy/node_modules/babel-runtime/core-js/array/some.js +1 -0
  387. data/test/dummy/node_modules/babel-runtime/core-js/array/sort.js +1 -0
  388. data/test/dummy/node_modules/babel-runtime/core-js/array/splice.js +1 -0
  389. data/test/dummy/node_modules/babel-runtime/core-js/array/turn.js +1 -0
  390. data/test/dummy/node_modules/babel-runtime/core-js/array/unshift.js +1 -0
  391. data/test/dummy/node_modules/babel-runtime/core-js/array/values.js +1 -0
  392. data/test/dummy/node_modules/babel-runtime/core-js/clear-immediate.js +1 -0
  393. data/test/dummy/node_modules/babel-runtime/core-js/date/add-locale.js +1 -0
  394. data/test/dummy/node_modules/babel-runtime/core-js/date/format-utc.js +1 -0
  395. data/test/dummy/node_modules/babel-runtime/core-js/date/format.js +1 -0
  396. data/test/dummy/node_modules/babel-runtime/core-js/function/only.js +1 -0
  397. data/test/dummy/node_modules/babel-runtime/core-js/function/part.js +1 -0
  398. data/test/dummy/node_modules/babel-runtime/core-js/get-iterator.js +1 -0
  399. data/test/dummy/node_modules/babel-runtime/core-js/is-iterable.js +1 -0
  400. data/test/dummy/node_modules/babel-runtime/core-js/json/stringify.js +1 -0
  401. data/test/dummy/node_modules/babel-runtime/core-js/map.js +1 -0
  402. data/test/dummy/node_modules/babel-runtime/core-js/math/acosh.js +1 -0
  403. data/test/dummy/node_modules/babel-runtime/core-js/math/asinh.js +1 -0
  404. data/test/dummy/node_modules/babel-runtime/core-js/math/atanh.js +1 -0
  405. data/test/dummy/node_modules/babel-runtime/core-js/math/cbrt.js +1 -0
  406. data/test/dummy/node_modules/babel-runtime/core-js/math/clz32.js +1 -0
  407. data/test/dummy/node_modules/babel-runtime/core-js/math/cosh.js +1 -0
  408. data/test/dummy/node_modules/babel-runtime/core-js/math/expm1.js +1 -0
  409. data/test/dummy/node_modules/babel-runtime/core-js/math/fround.js +1 -0
  410. data/test/dummy/node_modules/babel-runtime/core-js/math/hypot.js +1 -0
  411. data/test/dummy/node_modules/babel-runtime/core-js/math/imul.js +1 -0
  412. data/test/dummy/node_modules/babel-runtime/core-js/math/log10.js +1 -0
  413. data/test/dummy/node_modules/babel-runtime/core-js/math/log1p.js +1 -0
  414. data/test/dummy/node_modules/babel-runtime/core-js/math/log2.js +1 -0
  415. data/test/dummy/node_modules/babel-runtime/core-js/math/pot.js +1 -0
  416. data/test/dummy/node_modules/babel-runtime/core-js/math/sign.js +1 -0
  417. data/test/dummy/node_modules/babel-runtime/core-js/math/sinh.js +1 -0
  418. data/test/dummy/node_modules/babel-runtime/core-js/math/tanh.js +1 -0
  419. data/test/dummy/node_modules/babel-runtime/core-js/math/trunc.js +1 -0
  420. data/test/dummy/node_modules/babel-runtime/core-js/number/epsilon.js +1 -0
  421. data/test/dummy/node_modules/babel-runtime/core-js/number/is-finite.js +1 -0
  422. data/test/dummy/node_modules/babel-runtime/core-js/number/is-integer.js +1 -0
  423. data/test/dummy/node_modules/babel-runtime/core-js/number/is-nan.js +1 -0
  424. data/test/dummy/node_modules/babel-runtime/core-js/number/is-safe-integer.js +1 -0
  425. data/test/dummy/node_modules/babel-runtime/core-js/number/max-safe-integer.js +1 -0
  426. data/test/dummy/node_modules/babel-runtime/core-js/number/min-safe-integer.js +1 -0
  427. data/test/dummy/node_modules/babel-runtime/core-js/number/parse-float.js +1 -0
  428. data/test/dummy/node_modules/babel-runtime/core-js/number/parse-int.js +1 -0
  429. data/test/dummy/node_modules/babel-runtime/core-js/number/random.js +1 -0
  430. data/test/dummy/node_modules/babel-runtime/core-js/object/assign.js +1 -0
  431. data/test/dummy/node_modules/babel-runtime/core-js/object/classof.js +1 -0
  432. data/test/dummy/node_modules/babel-runtime/core-js/object/create.js +1 -0
  433. data/test/dummy/node_modules/babel-runtime/core-js/object/define-properties.js +1 -0
  434. data/test/dummy/node_modules/babel-runtime/core-js/object/define-property.js +1 -0
  435. data/test/dummy/node_modules/babel-runtime/core-js/object/define.js +1 -0
  436. data/test/dummy/node_modules/babel-runtime/core-js/object/entries.js +1 -0
  437. data/test/dummy/node_modules/babel-runtime/core-js/object/freeze.js +1 -0
  438. data/test/dummy/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js +1 -0
  439. data/test/dummy/node_modules/babel-runtime/core-js/object/get-own-property-descriptors.js +1 -0
  440. data/test/dummy/node_modules/babel-runtime/core-js/object/get-own-property-names.js +1 -0
  441. data/test/dummy/node_modules/babel-runtime/core-js/object/get-own-property-symbols.js +1 -0
  442. data/test/dummy/node_modules/babel-runtime/core-js/object/get-prototype-of.js +1 -0
  443. data/test/dummy/node_modules/babel-runtime/core-js/object/index.js +1 -0
  444. data/test/dummy/node_modules/babel-runtime/core-js/object/is-extensible.js +1 -0
  445. data/test/dummy/node_modules/babel-runtime/core-js/object/is-frozen.js +1 -0
  446. data/test/dummy/node_modules/babel-runtime/core-js/object/is-object.js +1 -0
  447. data/test/dummy/node_modules/babel-runtime/core-js/object/is-sealed.js +1 -0
  448. data/test/dummy/node_modules/babel-runtime/core-js/object/is.js +1 -0
  449. data/test/dummy/node_modules/babel-runtime/core-js/object/keys.js +1 -0
  450. data/test/dummy/node_modules/babel-runtime/core-js/object/make.js +1 -0
  451. data/test/dummy/node_modules/babel-runtime/core-js/object/prevent-extensions.js +1 -0
  452. data/test/dummy/node_modules/babel-runtime/core-js/object/seal.js +1 -0
  453. data/test/dummy/node_modules/babel-runtime/core-js/object/set-prototype-of.js +1 -0
  454. data/test/dummy/node_modules/babel-runtime/core-js/object/values.js +1 -0
  455. data/test/dummy/node_modules/babel-runtime/core-js/promise.js +1 -0
  456. data/test/dummy/node_modules/babel-runtime/core-js/reflect/apply.js +1 -0
  457. data/test/dummy/node_modules/babel-runtime/core-js/reflect/construct.js +1 -0
  458. data/test/dummy/node_modules/babel-runtime/core-js/reflect/define-property.js +1 -0
  459. data/test/dummy/node_modules/babel-runtime/core-js/reflect/delete-property.js +1 -0
  460. data/test/dummy/node_modules/babel-runtime/core-js/reflect/enumerate.js +1 -0
  461. data/test/dummy/node_modules/babel-runtime/core-js/reflect/get-own-property-descriptor.js +1 -0
  462. data/test/dummy/node_modules/babel-runtime/core-js/reflect/get-prototype-of.js +1 -0
  463. data/test/dummy/node_modules/babel-runtime/core-js/reflect/get.js +1 -0
  464. data/test/dummy/node_modules/babel-runtime/core-js/reflect/has.js +1 -0
  465. data/test/dummy/node_modules/babel-runtime/core-js/reflect/is-extensible.js +1 -0
  466. data/test/dummy/node_modules/babel-runtime/core-js/reflect/own-keys.js +1 -0
  467. data/test/dummy/node_modules/babel-runtime/core-js/reflect/prevent-extensions.js +1 -0
  468. data/test/dummy/node_modules/babel-runtime/core-js/reflect/set-prototype-of.js +1 -0
  469. data/test/dummy/node_modules/babel-runtime/core-js/reflect/set.js +1 -0
  470. data/test/dummy/node_modules/babel-runtime/core-js/regexp/escape.js +1 -0
  471. data/test/dummy/node_modules/babel-runtime/core-js/set-immediate.js +1 -0
  472. data/test/dummy/node_modules/babel-runtime/core-js/set.js +1 -0
  473. data/test/dummy/node_modules/babel-runtime/core-js/string/at.js +1 -0
  474. data/test/dummy/node_modules/babel-runtime/core-js/string/code-point-at.js +1 -0
  475. data/test/dummy/node_modules/babel-runtime/core-js/string/ends-with.js +1 -0
  476. data/test/dummy/node_modules/babel-runtime/core-js/string/escape-html.js +1 -0
  477. data/test/dummy/node_modules/babel-runtime/core-js/string/from-code-point.js +1 -0
  478. data/test/dummy/node_modules/babel-runtime/core-js/string/includes.js +1 -0
  479. data/test/dummy/node_modules/babel-runtime/core-js/string/pad-left.js +1 -0
  480. data/test/dummy/node_modules/babel-runtime/core-js/string/pad-right.js +1 -0
  481. data/test/dummy/node_modules/babel-runtime/core-js/string/raw.js +1 -0
  482. data/test/dummy/node_modules/babel-runtime/core-js/string/repeat.js +1 -0
  483. data/test/dummy/node_modules/babel-runtime/core-js/string/starts-with.js +1 -0
  484. data/test/dummy/node_modules/babel-runtime/core-js/string/trim-left.js +1 -0
  485. data/test/dummy/node_modules/babel-runtime/core-js/string/trim-right.js +1 -0
  486. data/test/dummy/node_modules/babel-runtime/core-js/string/trim.js +1 -0
  487. data/test/dummy/node_modules/babel-runtime/core-js/string/unescape-html.js +1 -0
  488. data/test/dummy/node_modules/babel-runtime/core-js/symbol.js +1 -0
  489. data/test/dummy/node_modules/babel-runtime/core-js/symbol/for.js +1 -0
  490. data/test/dummy/node_modules/babel-runtime/core-js/symbol/has-instance.js +1 -0
  491. data/test/dummy/node_modules/babel-runtime/core-js/symbol/is-concat-spreadable.js +1 -0
  492. data/test/dummy/node_modules/babel-runtime/core-js/symbol/iterator.js +1 -0
  493. data/test/dummy/node_modules/babel-runtime/core-js/symbol/key-for.js +1 -0
  494. data/test/dummy/node_modules/babel-runtime/core-js/symbol/match.js +1 -0
  495. data/test/dummy/node_modules/babel-runtime/core-js/symbol/replace.js +1 -0
  496. data/test/dummy/node_modules/babel-runtime/core-js/symbol/search.js +1 -0
  497. data/test/dummy/node_modules/babel-runtime/core-js/symbol/species.js +1 -0
  498. data/test/dummy/node_modules/babel-runtime/core-js/symbol/split.js +1 -0
  499. data/test/dummy/node_modules/babel-runtime/core-js/symbol/to-primitive.js +1 -0
  500. data/test/dummy/node_modules/babel-runtime/core-js/symbol/to-string-tag.js +1 -0
  501. data/test/dummy/node_modules/babel-runtime/core-js/symbol/unscopables.js +1 -0
  502. data/test/dummy/node_modules/babel-runtime/core-js/weak-map.js +1 -0
  503. data/test/dummy/node_modules/babel-runtime/core-js/weak-set.js +1 -0
  504. data/test/dummy/node_modules/babel-runtime/helpers/_extends.js +23 -0
  505. data/test/dummy/node_modules/babel-runtime/helpers/_instanceof.js +21 -0
  506. data/test/dummy/node_modules/babel-runtime/helpers/_typeof.js +17 -0
  507. data/test/dummy/node_modules/babel-runtime/helpers/async-to-generator.js +33 -0
  508. data/test/dummy/node_modules/babel-runtime/helpers/asyncToGenerator.js +37 -0
  509. data/test/dummy/node_modules/babel-runtime/helpers/bind.js +4 -0
  510. data/test/dummy/node_modules/babel-runtime/helpers/class-call-check.js +9 -0
  511. data/test/dummy/node_modules/babel-runtime/helpers/classCallCheck.js +9 -0
  512. data/test/dummy/node_modules/babel-runtime/helpers/create-class.js +24 -0
  513. data/test/dummy/node_modules/babel-runtime/helpers/create-decorated-class.js +45 -0
  514. data/test/dummy/node_modules/babel-runtime/helpers/create-decorated-object.js +40 -0
  515. data/test/dummy/node_modules/babel-runtime/helpers/createClass.js +27 -0
  516. data/test/dummy/node_modules/babel-runtime/helpers/default-props.js +15 -0
  517. data/test/dummy/node_modules/babel-runtime/helpers/defaultProps.js +15 -0
  518. data/test/dummy/node_modules/babel-runtime/helpers/defaults.js +25 -0
  519. data/test/dummy/node_modules/babel-runtime/helpers/define-decorated-property-descriptor.js +17 -0
  520. data/test/dummy/node_modules/babel-runtime/helpers/define-property.js +20 -0
  521. data/test/dummy/node_modules/babel-runtime/helpers/defineEnumerableProperties.js +20 -0
  522. data/test/dummy/node_modules/babel-runtime/helpers/defineProperty.js +24 -0
  523. data/test/dummy/node_modules/babel-runtime/helpers/extends.js +19 -0
  524. data/test/dummy/node_modules/babel-runtime/helpers/get.js +44 -0
  525. data/test/dummy/node_modules/babel-runtime/helpers/has-own.js +4 -0
  526. data/test/dummy/node_modules/babel-runtime/helpers/inherits.js +23 -0
  527. data/test/dummy/node_modules/babel-runtime/helpers/instanceof.js +13 -0
  528. data/test/dummy/node_modules/babel-runtime/helpers/interop-export-wildcard.js +9 -0
  529. data/test/dummy/node_modules/babel-runtime/helpers/interop-require-default.js +9 -0
  530. data/test/dummy/node_modules/babel-runtime/helpers/interop-require-wildcard.js +20 -0
  531. data/test/dummy/node_modules/babel-runtime/helpers/interop-require.js +7 -0
  532. data/test/dummy/node_modules/babel-runtime/helpers/interopRequireDefault.js +9 -0
  533. data/test/dummy/node_modules/babel-runtime/helpers/interopRequireWildcard.js +20 -0
  534. data/test/dummy/node_modules/babel-runtime/helpers/new-arrow-check.js +9 -0
  535. data/test/dummy/node_modules/babel-runtime/helpers/newArrowCheck.js +9 -0
  536. data/test/dummy/node_modules/babel-runtime/helpers/object-destructuring-empty.js +7 -0
  537. data/test/dummy/node_modules/babel-runtime/helpers/object-without-properties.js +15 -0
  538. data/test/dummy/node_modules/babel-runtime/helpers/objectDestructuringEmpty.js +7 -0
  539. data/test/dummy/node_modules/babel-runtime/helpers/objectWithoutProperties.js +15 -0
  540. data/test/dummy/node_modules/babel-runtime/helpers/possibleConstructorReturn.js +17 -0
  541. data/test/dummy/node_modules/babel-runtime/helpers/self-global.js +4 -0
  542. data/test/dummy/node_modules/babel-runtime/helpers/selfGlobal.js +4 -0
  543. data/test/dummy/node_modules/babel-runtime/helpers/set.js +27 -0
  544. data/test/dummy/node_modules/babel-runtime/helpers/slice.js +4 -0
  545. data/test/dummy/node_modules/babel-runtime/helpers/sliced-to-array-loose.js +25 -0
  546. data/test/dummy/node_modules/babel-runtime/helpers/sliced-to-array.js +45 -0
  547. data/test/dummy/node_modules/babel-runtime/helpers/slicedToArray.js +51 -0
  548. data/test/dummy/node_modules/babel-runtime/helpers/slicedToArrayLoose.js +31 -0
  549. data/test/dummy/node_modules/babel-runtime/helpers/tagged-template-literal-loose.js +8 -0
  550. data/test/dummy/node_modules/babel-runtime/helpers/tagged-template-literal.js +15 -0
  551. data/test/dummy/node_modules/babel-runtime/helpers/taggedTemplateLiteral.js +21 -0
  552. data/test/dummy/node_modules/babel-runtime/helpers/taggedTemplateLiteralLoose.js +8 -0
  553. data/test/dummy/node_modules/babel-runtime/helpers/temporal-assert-defined.js +11 -0
  554. data/test/dummy/node_modules/babel-runtime/helpers/temporal-undefined.js +4 -0
  555. data/test/dummy/node_modules/babel-runtime/helpers/temporalRef.js +11 -0
  556. data/test/dummy/node_modules/babel-runtime/helpers/temporalUndefined.js +4 -0
  557. data/test/dummy/node_modules/babel-runtime/helpers/to-array.js +9 -0
  558. data/test/dummy/node_modules/babel-runtime/helpers/to-consumable-array.js +15 -0
  559. data/test/dummy/node_modules/babel-runtime/helpers/toArray.js +13 -0
  560. data/test/dummy/node_modules/babel-runtime/helpers/toConsumableArray.js +19 -0
  561. data/test/dummy/node_modules/babel-runtime/helpers/typeof-react-element.js +6 -0
  562. data/test/dummy/node_modules/babel-runtime/helpers/typeof.js +9 -0
  563. data/test/dummy/node_modules/babel-runtime/helpers/typeofReactElement.js +14 -0
  564. data/test/dummy/node_modules/babel-runtime/package.json +81 -0
  565. data/test/dummy/node_modules/babel-runtime/regenerator/index.js +33 -0
  566. data/test/dummy/node_modules/babel-runtime/regenerator/runtime.js +647 -0
  567. data/test/dummy/node_modules/babel-template/README.md +32 -0
  568. data/test/dummy/node_modules/babel-template/lib/index.js +136 -0
  569. data/test/dummy/node_modules/babel-template/package.json +92 -0
  570. data/test/dummy/node_modules/babel-traverse/README.md +1 -0
  571. data/test/dummy/node_modules/babel-traverse/lib/context.js +205 -0
  572. data/test/dummy/node_modules/babel-traverse/lib/hub.js +15 -0
  573. data/test/dummy/node_modules/babel-traverse/lib/index.js +216 -0
  574. data/test/dummy/node_modules/babel-traverse/lib/path/ancestry.js +287 -0
  575. data/test/dummy/node_modules/babel-traverse/lib/path/comments.js +56 -0
  576. data/test/dummy/node_modules/babel-traverse/lib/path/constants.js +5 -0
  577. data/test/dummy/node_modules/babel-traverse/lib/path/context.js +280 -0
  578. data/test/dummy/node_modules/babel-traverse/lib/path/conversion.js +50 -0
  579. data/test/dummy/node_modules/babel-traverse/lib/path/evaluation.js +345 -0
  580. data/test/dummy/node_modules/babel-traverse/lib/path/family.js +170 -0
  581. data/test/dummy/node_modules/babel-traverse/lib/path/index.js +251 -0
  582. data/test/dummy/node_modules/babel-traverse/lib/path/inference/index.js +147 -0
  583. data/test/dummy/node_modules/babel-traverse/lib/path/inference/inferer-reference.js +229 -0
  584. data/test/dummy/node_modules/babel-traverse/lib/path/inference/inferers.js +193 -0
  585. data/test/dummy/node_modules/babel-traverse/lib/path/introspection.js +472 -0
  586. data/test/dummy/node_modules/babel-traverse/lib/path/lib/hoister.js +160 -0
  587. data/test/dummy/node_modules/babel-traverse/lib/path/lib/removal-hooks.js +65 -0
  588. data/test/dummy/node_modules/babel-traverse/lib/path/lib/virtual-types.js +153 -0
  589. data/test/dummy/node_modules/babel-traverse/lib/path/modification.js +285 -0
  590. data/test/dummy/node_modules/babel-traverse/lib/path/removal.js +69 -0
  591. data/test/dummy/node_modules/babel-traverse/lib/path/replacement.js +295 -0
  592. data/test/dummy/node_modules/babel-traverse/lib/scope/binding.js +97 -0
  593. data/test/dummy/node_modules/babel-traverse/lib/scope/index.js +1225 -0
  594. data/test/dummy/node_modules/babel-traverse/lib/scope/lib/renamer.js +146 -0
  595. data/test/dummy/node_modules/babel-traverse/lib/visitors.js +335 -0
  596. data/test/dummy/node_modules/babel-traverse/package.json +98 -0
  597. data/test/dummy/node_modules/babel-traverse/test/scope.js +38 -0
  598. data/test/dummy/node_modules/babel-traverse/test/traverse.js +126 -0
  599. data/test/dummy/node_modules/babel-types/README.md +1 -0
  600. data/test/dummy/node_modules/babel-types/lib/constants.js +49 -0
  601. data/test/dummy/node_modules/babel-types/lib/converters.js +369 -0
  602. data/test/dummy/node_modules/babel-types/lib/definitions/core.js +699 -0
  603. data/test/dummy/node_modules/babel-types/lib/definitions/es2015.js +347 -0
  604. data/test/dummy/node_modules/babel-types/lib/definitions/experimental.js +86 -0
  605. data/test/dummy/node_modules/babel-types/lib/definitions/flow.js +292 -0
  606. data/test/dummy/node_modules/babel-types/lib/definitions/index.js +240 -0
  607. data/test/dummy/node_modules/babel-types/lib/definitions/init.js +15 -0
  608. data/test/dummy/node_modules/babel-types/lib/definitions/jsx.js +139 -0
  609. data/test/dummy/node_modules/babel-types/lib/definitions/misc.js +23 -0
  610. data/test/dummy/node_modules/babel-types/lib/flow.js +129 -0
  611. data/test/dummy/node_modules/babel-types/lib/index.js +570 -0
  612. data/test/dummy/node_modules/babel-types/lib/react.js +86 -0
  613. data/test/dummy/node_modules/babel-types/lib/retrievers.js +120 -0
  614. data/test/dummy/node_modules/babel-types/lib/validators.js +267 -0
  615. data/test/dummy/node_modules/babel-types/package.json +94 -0
  616. data/test/dummy/node_modules/babylon/AUTHORS +41 -0
  617. data/test/dummy/node_modules/babylon/LICENSE +19 -0
  618. data/test/dummy/node_modules/babylon/README.md +74 -0
  619. data/test/dummy/node_modules/babylon/bin/babylon.js +15 -0
  620. data/test/dummy/node_modules/babylon/lib/index.js +47 -0
  621. data/test/dummy/node_modules/babylon/lib/options.js +34 -0
  622. data/test/dummy/node_modules/babylon/lib/parser/comments.js +151 -0
  623. data/test/dummy/node_modules/babylon/lib/parser/expression.js +1047 -0
  624. data/test/dummy/node_modules/babylon/lib/parser/index.js +102 -0
  625. data/test/dummy/node_modules/babylon/lib/parser/location.js +26 -0
  626. data/test/dummy/node_modules/babylon/lib/parser/lval.js +299 -0
  627. data/test/dummy/node_modules/babylon/lib/parser/node.js +63 -0
  628. data/test/dummy/node_modules/babylon/lib/parser/statement.js +1027 -0
  629. data/test/dummy/node_modules/babylon/lib/parser/util.js +92 -0
  630. data/test/dummy/node_modules/babylon/lib/plugins/flow.js +1022 -0
  631. data/test/dummy/node_modules/babylon/lib/plugins/jsx/index.js +464 -0
  632. data/test/dummy/node_modules/babylon/lib/plugins/jsx/xhtml.js +259 -0
  633. data/test/dummy/node_modules/babylon/lib/tokenizer/context.js +104 -0
  634. data/test/dummy/node_modules/babylon/lib/tokenizer/index.js +882 -0
  635. data/test/dummy/node_modules/babylon/lib/tokenizer/state.js +125 -0
  636. data/test/dummy/node_modules/babylon/lib/tokenizer/types.js +161 -0
  637. data/test/dummy/node_modules/babylon/lib/util/identifier.js +96 -0
  638. data/test/dummy/node_modules/babylon/lib/util/location.js +50 -0
  639. data/test/dummy/node_modules/babylon/lib/util/whitespace.js +21 -0
  640. data/test/dummy/node_modules/babylon/package.json +216 -0
  641. data/test/dummy/node_modules/balanced-match/LICENSE.md +21 -0
  642. data/test/dummy/node_modules/balanced-match/Makefile +6 -0
  643. data/test/dummy/node_modules/balanced-match/README.md +89 -0
  644. data/test/dummy/node_modules/balanced-match/example.js +5 -0
  645. data/test/dummy/node_modules/balanced-match/index.js +50 -0
  646. data/test/dummy/node_modules/balanced-match/package.json +97 -0
  647. data/test/dummy/node_modules/balanced-match/test/balanced.js +84 -0
  648. data/test/dummy/node_modules/base62/LICENSE +20 -0
  649. data/test/dummy/node_modules/base62/Readme.md +30 -0
  650. data/test/dummy/node_modules/base62/base62.js +27 -0
  651. data/test/dummy/node_modules/base62/package.json +73 -0
  652. data/test/dummy/node_modules/base62/test/test.js +14 -0
  653. data/test/dummy/node_modules/brace-expansion/README.md +122 -0
  654. data/test/dummy/node_modules/brace-expansion/example.js +8 -0
  655. data/test/dummy/node_modules/brace-expansion/index.js +191 -0
  656. data/test/dummy/node_modules/brace-expansion/package.json +100 -0
  657. data/test/dummy/node_modules/builtin-modules/builtin-modules.json +35 -0
  658. data/test/dummy/node_modules/builtin-modules/index.js +10 -0
  659. data/test/dummy/node_modules/builtin-modules/license +21 -0
  660. data/test/dummy/node_modules/builtin-modules/package.json +95 -0
  661. data/test/dummy/node_modules/builtin-modules/readme.md +41 -0
  662. data/test/dummy/node_modules/builtin-modules/static.js +2 -0
  663. data/test/dummy/node_modules/chalk/index.js +116 -0
  664. data/test/dummy/node_modules/chalk/license +21 -0
  665. data/test/dummy/node_modules/chalk/package.json +128 -0
  666. data/test/dummy/node_modules/chalk/readme.md +213 -0
  667. data/test/dummy/node_modules/concat-map/LICENSE +18 -0
  668. data/test/dummy/node_modules/concat-map/README.markdown +62 -0
  669. data/test/dummy/node_modules/concat-map/example/map.js +6 -0
  670. data/test/dummy/node_modules/concat-map/index.js +13 -0
  671. data/test/dummy/node_modules/concat-map/package.json +108 -0
  672. data/test/dummy/node_modules/concat-map/test/map.js +39 -0
  673. data/test/dummy/node_modules/convert-source-map/LICENSE +23 -0
  674. data/test/dummy/node_modules/convert-source-map/README.md +121 -0
  675. data/test/dummy/node_modules/convert-source-map/example/comment-to-json.js +15 -0
  676. data/test/dummy/node_modules/convert-source-map/index.js +155 -0
  677. data/test/dummy/node_modules/convert-source-map/package.json +86 -0
  678. data/test/dummy/node_modules/convert-source-map/test/comment-regex.js +138 -0
  679. data/test/dummy/node_modules/convert-source-map/test/convert-source-map.js +207 -0
  680. data/test/dummy/node_modules/convert-source-map/test/fixtures/map-file-comment-double-slash.css +14 -0
  681. data/test/dummy/node_modules/convert-source-map/test/fixtures/map-file-comment-inline.css +14 -0
  682. data/test/dummy/node_modules/convert-source-map/test/fixtures/map-file-comment.css +14 -0
  683. data/test/dummy/node_modules/convert-source-map/test/fixtures/map-file-comment.css.map +6 -0
  684. data/test/dummy/node_modules/convert-source-map/test/map-file-comment.js +70 -0
  685. data/test/dummy/node_modules/core-js/CHANGELOG.md +406 -0
  686. data/test/dummy/node_modules/core-js/Gruntfile.js +2 -0
  687. data/test/dummy/node_modules/core-js/LICENSE +19 -0
  688. data/test/dummy/node_modules/core-js/README.md +1289 -0
  689. data/test/dummy/node_modules/core-js/build/Gruntfile.ls +84 -0
  690. data/test/dummy/node_modules/core-js/build/build.ls +218 -0
  691. data/test/dummy/node_modules/core-js/build/config.js +8 -0
  692. data/test/dummy/node_modules/core-js/build/index.js +98 -0
  693. data/test/dummy/node_modules/core-js/client/core.js +4904 -0
  694. data/test/dummy/node_modules/core-js/client/core.min.js +9 -0
  695. data/test/dummy/node_modules/core-js/client/core.min.js.map +1 -0
  696. data/test/dummy/node_modules/core-js/client/library.js +4544 -0
  697. data/test/dummy/node_modules/core-js/client/library.min.js +9 -0
  698. data/test/dummy/node_modules/core-js/client/library.min.js.map +1 -0
  699. data/test/dummy/node_modules/core-js/client/shim.js +4545 -0
  700. data/test/dummy/node_modules/core-js/client/shim.min.js +9 -0
  701. data/test/dummy/node_modules/core-js/client/shim.min.js.map +1 -0
  702. data/test/dummy/node_modules/core-js/core/_.js +2 -0
  703. data/test/dummy/node_modules/core-js/core/delay.js +2 -0
  704. data/test/dummy/node_modules/core-js/core/dict.js +2 -0
  705. data/test/dummy/node_modules/core-js/core/function.js +2 -0
  706. data/test/dummy/node_modules/core-js/core/index.js +15 -0
  707. data/test/dummy/node_modules/core-js/core/log.js +2 -0
  708. data/test/dummy/node_modules/core-js/core/number.js +2 -0
  709. data/test/dummy/node_modules/core-js/core/object.js +5 -0
  710. data/test/dummy/node_modules/core-js/core/string.js +3 -0
  711. data/test/dummy/node_modules/core-js/es5/index.js +9 -0
  712. data/test/dummy/node_modules/core-js/es6/array.js +10 -0
  713. data/test/dummy/node_modules/core-js/es6/function.js +3 -0
  714. data/test/dummy/node_modules/core-js/es6/index.js +87 -0
  715. data/test/dummy/node_modules/core-js/es6/map.js +5 -0
  716. data/test/dummy/node_modules/core-js/es6/math.js +18 -0
  717. data/test/dummy/node_modules/core-js/es6/number.js +11 -0
  718. data/test/dummy/node_modules/core-js/es6/object.js +17 -0
  719. data/test/dummy/node_modules/core-js/es6/promise.js +5 -0
  720. data/test/dummy/node_modules/core-js/es6/reflect.js +15 -0
  721. data/test/dummy/node_modules/core-js/es6/regexp.js +7 -0
  722. data/test/dummy/node_modules/core-js/es6/set.js +5 -0
  723. data/test/dummy/node_modules/core-js/es6/string.js +14 -0
  724. data/test/dummy/node_modules/core-js/es6/symbol.js +3 -0
  725. data/test/dummy/node_modules/core-js/es6/weak-map.js +4 -0
  726. data/test/dummy/node_modules/core-js/es6/weak-set.js +4 -0
  727. data/test/dummy/node_modules/core-js/es7/array.js +2 -0
  728. data/test/dummy/node_modules/core-js/es7/index.js +13 -0
  729. data/test/dummy/node_modules/core-js/es7/map.js +2 -0
  730. data/test/dummy/node_modules/core-js/es7/object.js +4 -0
  731. data/test/dummy/node_modules/core-js/es7/regexp.js +2 -0
  732. data/test/dummy/node_modules/core-js/es7/set.js +2 -0
  733. data/test/dummy/node_modules/core-js/es7/string.js +6 -0
  734. data/test/dummy/node_modules/core-js/fn/_.js +2 -0
  735. data/test/dummy/node_modules/core-js/fn/array/concat.js +2 -0
  736. data/test/dummy/node_modules/core-js/fn/array/copy-within.js +2 -0
  737. data/test/dummy/node_modules/core-js/fn/array/entries.js +2 -0
  738. data/test/dummy/node_modules/core-js/fn/array/every.js +2 -0
  739. data/test/dummy/node_modules/core-js/fn/array/fill.js +2 -0
  740. data/test/dummy/node_modules/core-js/fn/array/filter.js +2 -0
  741. data/test/dummy/node_modules/core-js/fn/array/find-index.js +2 -0
  742. data/test/dummy/node_modules/core-js/fn/array/find.js +2 -0
  743. data/test/dummy/node_modules/core-js/fn/array/for-each.js +2 -0
  744. data/test/dummy/node_modules/core-js/fn/array/from.js +3 -0
  745. data/test/dummy/node_modules/core-js/fn/array/includes.js +2 -0
  746. data/test/dummy/node_modules/core-js/fn/array/index-of.js +2 -0
  747. data/test/dummy/node_modules/core-js/fn/array/index.js +12 -0
  748. data/test/dummy/node_modules/core-js/fn/array/iterator.js +2 -0
  749. data/test/dummy/node_modules/core-js/fn/array/join.js +2 -0
  750. data/test/dummy/node_modules/core-js/fn/array/keys.js +2 -0
  751. data/test/dummy/node_modules/core-js/fn/array/last-index-of.js +2 -0
  752. data/test/dummy/node_modules/core-js/fn/array/map.js +2 -0
  753. data/test/dummy/node_modules/core-js/fn/array/of.js +2 -0
  754. data/test/dummy/node_modules/core-js/fn/array/pop.js +2 -0
  755. data/test/dummy/node_modules/core-js/fn/array/push.js +2 -0
  756. data/test/dummy/node_modules/core-js/fn/array/reduce-right.js +2 -0
  757. data/test/dummy/node_modules/core-js/fn/array/reduce.js +2 -0
  758. data/test/dummy/node_modules/core-js/fn/array/reverse.js +2 -0
  759. data/test/dummy/node_modules/core-js/fn/array/shift.js +2 -0
  760. data/test/dummy/node_modules/core-js/fn/array/slice.js +2 -0
  761. data/test/dummy/node_modules/core-js/fn/array/some.js +2 -0
  762. data/test/dummy/node_modules/core-js/fn/array/sort.js +2 -0
  763. data/test/dummy/node_modules/core-js/fn/array/splice.js +2 -0
  764. data/test/dummy/node_modules/core-js/fn/array/unshift.js +2 -0
  765. data/test/dummy/node_modules/core-js/fn/array/values.js +2 -0
  766. data/test/dummy/node_modules/core-js/fn/clear-immediate.js +2 -0
  767. data/test/dummy/node_modules/core-js/fn/delay.js +2 -0
  768. data/test/dummy/node_modules/core-js/fn/dict.js +2 -0
  769. data/test/dummy/node_modules/core-js/fn/function/has-instance.js +2 -0
  770. data/test/dummy/node_modules/core-js/fn/function/index.js +4 -0
  771. data/test/dummy/node_modules/core-js/fn/function/name.js +1 -0
  772. data/test/dummy/node_modules/core-js/fn/function/part.js +2 -0
  773. data/test/dummy/node_modules/core-js/fn/get-iterator-method.js +3 -0
  774. data/test/dummy/node_modules/core-js/fn/get-iterator.js +3 -0
  775. data/test/dummy/node_modules/core-js/fn/html-collection/index.js +2 -0
  776. data/test/dummy/node_modules/core-js/fn/html-collection/iterator.js +2 -0
  777. data/test/dummy/node_modules/core-js/fn/is-iterable.js +3 -0
  778. data/test/dummy/node_modules/core-js/fn/json/stringify.js +4 -0
  779. data/test/dummy/node_modules/core-js/fn/log.js +2 -0
  780. data/test/dummy/node_modules/core-js/fn/map.js +6 -0
  781. data/test/dummy/node_modules/core-js/fn/math/acosh.js +2 -0
  782. data/test/dummy/node_modules/core-js/fn/math/asinh.js +2 -0
  783. data/test/dummy/node_modules/core-js/fn/math/atanh.js +2 -0
  784. data/test/dummy/node_modules/core-js/fn/math/cbrt.js +2 -0
  785. data/test/dummy/node_modules/core-js/fn/math/clz32.js +2 -0
  786. data/test/dummy/node_modules/core-js/fn/math/cosh.js +2 -0
  787. data/test/dummy/node_modules/core-js/fn/math/expm1.js +2 -0
  788. data/test/dummy/node_modules/core-js/fn/math/fround.js +2 -0
  789. data/test/dummy/node_modules/core-js/fn/math/hypot.js +2 -0
  790. data/test/dummy/node_modules/core-js/fn/math/imul.js +2 -0
  791. data/test/dummy/node_modules/core-js/fn/math/index.js +18 -0
  792. data/test/dummy/node_modules/core-js/fn/math/log10.js +2 -0
  793. data/test/dummy/node_modules/core-js/fn/math/log1p.js +2 -0
  794. data/test/dummy/node_modules/core-js/fn/math/log2.js +2 -0
  795. data/test/dummy/node_modules/core-js/fn/math/sign.js +2 -0
  796. data/test/dummy/node_modules/core-js/fn/math/sinh.js +2 -0
  797. data/test/dummy/node_modules/core-js/fn/math/tanh.js +2 -0
  798. data/test/dummy/node_modules/core-js/fn/math/trunc.js +2 -0
  799. data/test/dummy/node_modules/core-js/fn/node-list/index.js +2 -0
  800. data/test/dummy/node_modules/core-js/fn/node-list/iterator.js +2 -0
  801. data/test/dummy/node_modules/core-js/fn/number/epsilon.js +2 -0
  802. data/test/dummy/node_modules/core-js/fn/number/index.js +12 -0
  803. data/test/dummy/node_modules/core-js/fn/number/is-finite.js +2 -0
  804. data/test/dummy/node_modules/core-js/fn/number/is-integer.js +2 -0
  805. data/test/dummy/node_modules/core-js/fn/number/is-nan.js +2 -0
  806. data/test/dummy/node_modules/core-js/fn/number/is-safe-integer.js +2 -0
  807. data/test/dummy/node_modules/core-js/fn/number/iterator.js +5 -0
  808. data/test/dummy/node_modules/core-js/fn/number/max-safe-integer.js +2 -0
  809. data/test/dummy/node_modules/core-js/fn/number/min-safe-integer.js +2 -0
  810. data/test/dummy/node_modules/core-js/fn/number/parse-float.js +2 -0
  811. data/test/dummy/node_modules/core-js/fn/number/parse-int.js +2 -0
  812. data/test/dummy/node_modules/core-js/fn/object/assign.js +2 -0
  813. data/test/dummy/node_modules/core-js/fn/object/classof.js +2 -0
  814. data/test/dummy/node_modules/core-js/fn/object/create.js +4 -0
  815. data/test/dummy/node_modules/core-js/fn/object/define-properties.js +4 -0
  816. data/test/dummy/node_modules/core-js/fn/object/define-property.js +4 -0
  817. data/test/dummy/node_modules/core-js/fn/object/define.js +2 -0
  818. data/test/dummy/node_modules/core-js/fn/object/entries.js +2 -0
  819. data/test/dummy/node_modules/core-js/fn/object/freeze.js +2 -0
  820. data/test/dummy/node_modules/core-js/fn/object/get-own-property-descriptor.js +5 -0
  821. data/test/dummy/node_modules/core-js/fn/object/get-own-property-descriptors.js +2 -0
  822. data/test/dummy/node_modules/core-js/fn/object/get-own-property-names.js +5 -0
  823. data/test/dummy/node_modules/core-js/fn/object/get-own-property-symbols.js +2 -0
  824. data/test/dummy/node_modules/core-js/fn/object/get-prototype-of.js +2 -0
  825. data/test/dummy/node_modules/core-js/fn/object/index.js +23 -0
  826. data/test/dummy/node_modules/core-js/fn/object/is-extensible.js +2 -0
  827. data/test/dummy/node_modules/core-js/fn/object/is-frozen.js +2 -0
  828. data/test/dummy/node_modules/core-js/fn/object/is-object.js +2 -0
  829. data/test/dummy/node_modules/core-js/fn/object/is-sealed.js +2 -0
  830. data/test/dummy/node_modules/core-js/fn/object/is.js +2 -0
  831. data/test/dummy/node_modules/core-js/fn/object/keys.js +2 -0
  832. data/test/dummy/node_modules/core-js/fn/object/make.js +2 -0
  833. data/test/dummy/node_modules/core-js/fn/object/prevent-extensions.js +2 -0
  834. data/test/dummy/node_modules/core-js/fn/object/seal.js +2 -0
  835. data/test/dummy/node_modules/core-js/fn/object/set-prototype-of.js +2 -0
  836. data/test/dummy/node_modules/core-js/fn/object/values.js +2 -0
  837. data/test/dummy/node_modules/core-js/fn/promise.js +5 -0
  838. data/test/dummy/node_modules/core-js/fn/reflect/apply.js +2 -0
  839. data/test/dummy/node_modules/core-js/fn/reflect/construct.js +2 -0
  840. data/test/dummy/node_modules/core-js/fn/reflect/define-property.js +2 -0
  841. data/test/dummy/node_modules/core-js/fn/reflect/delete-property.js +2 -0
  842. data/test/dummy/node_modules/core-js/fn/reflect/enumerate.js +2 -0
  843. data/test/dummy/node_modules/core-js/fn/reflect/get-own-property-descriptor.js +2 -0
  844. data/test/dummy/node_modules/core-js/fn/reflect/get-prototype-of.js +2 -0
  845. data/test/dummy/node_modules/core-js/fn/reflect/get.js +2 -0
  846. data/test/dummy/node_modules/core-js/fn/reflect/has.js +2 -0
  847. data/test/dummy/node_modules/core-js/fn/reflect/index.js +15 -0
  848. data/test/dummy/node_modules/core-js/fn/reflect/is-extensible.js +2 -0
  849. data/test/dummy/node_modules/core-js/fn/reflect/own-keys.js +2 -0
  850. data/test/dummy/node_modules/core-js/fn/reflect/prevent-extensions.js +2 -0
  851. data/test/dummy/node_modules/core-js/fn/reflect/set-prototype-of.js +2 -0
  852. data/test/dummy/node_modules/core-js/fn/reflect/set.js +2 -0
  853. data/test/dummy/node_modules/core-js/fn/regexp/escape.js +2 -0
  854. data/test/dummy/node_modules/core-js/fn/regexp/index.js +8 -0
  855. data/test/dummy/node_modules/core-js/fn/set-immediate.js +2 -0
  856. data/test/dummy/node_modules/core-js/fn/set-interval.js +2 -0
  857. data/test/dummy/node_modules/core-js/fn/set-timeout.js +2 -0
  858. data/test/dummy/node_modules/core-js/fn/set.js +6 -0
  859. data/test/dummy/node_modules/core-js/fn/string/at.js +2 -0
  860. data/test/dummy/node_modules/core-js/fn/string/code-point-at.js +2 -0
  861. data/test/dummy/node_modules/core-js/fn/string/ends-with.js +2 -0
  862. data/test/dummy/node_modules/core-js/fn/string/escape-html.js +2 -0
  863. data/test/dummy/node_modules/core-js/fn/string/from-code-point.js +2 -0
  864. data/test/dummy/node_modules/core-js/fn/string/includes.js +2 -0
  865. data/test/dummy/node_modules/core-js/fn/string/index.js +21 -0
  866. data/test/dummy/node_modules/core-js/fn/string/iterator.js +5 -0
  867. data/test/dummy/node_modules/core-js/fn/string/pad-left.js +2 -0
  868. data/test/dummy/node_modules/core-js/fn/string/pad-right.js +2 -0
  869. data/test/dummy/node_modules/core-js/fn/string/raw.js +2 -0
  870. data/test/dummy/node_modules/core-js/fn/string/repeat.js +2 -0
  871. data/test/dummy/node_modules/core-js/fn/string/starts-with.js +2 -0
  872. data/test/dummy/node_modules/core-js/fn/string/trim-left.js +2 -0
  873. data/test/dummy/node_modules/core-js/fn/string/trim-right.js +2 -0
  874. data/test/dummy/node_modules/core-js/fn/string/trim.js +2 -0
  875. data/test/dummy/node_modules/core-js/fn/string/unescape-html.js +2 -0
  876. data/test/dummy/node_modules/core-js/fn/symbol/for.js +2 -0
  877. data/test/dummy/node_modules/core-js/fn/symbol/has-instance.js +1 -0
  878. data/test/dummy/node_modules/core-js/fn/symbol/index.js +3 -0
  879. data/test/dummy/node_modules/core-js/fn/symbol/is-concat-spreadable.js +1 -0
  880. data/test/dummy/node_modules/core-js/fn/symbol/iterator.js +3 -0
  881. data/test/dummy/node_modules/core-js/fn/symbol/key-for.js +2 -0
  882. data/test/dummy/node_modules/core-js/fn/symbol/match.js +2 -0
  883. data/test/dummy/node_modules/core-js/fn/symbol/replace.js +2 -0
  884. data/test/dummy/node_modules/core-js/fn/symbol/search.js +2 -0
  885. data/test/dummy/node_modules/core-js/fn/symbol/species.js +1 -0
  886. data/test/dummy/node_modules/core-js/fn/symbol/split.js +2 -0
  887. data/test/dummy/node_modules/core-js/fn/symbol/to-primitive.js +1 -0
  888. data/test/dummy/node_modules/core-js/fn/symbol/to-string-tag.js +2 -0
  889. data/test/dummy/node_modules/core-js/fn/symbol/unscopables.js +1 -0
  890. data/test/dummy/node_modules/core-js/fn/weak-map.js +4 -0
  891. data/test/dummy/node_modules/core-js/fn/weak-set.js +4 -0
  892. data/test/dummy/node_modules/core-js/index.js +16 -0
  893. data/test/dummy/node_modules/core-js/js/array.js +2 -0
  894. data/test/dummy/node_modules/core-js/js/index.js +2 -0
  895. data/test/dummy/node_modules/core-js/library/core/_.js +2 -0
  896. data/test/dummy/node_modules/core-js/library/core/delay.js +2 -0
  897. data/test/dummy/node_modules/core-js/library/core/dict.js +2 -0
  898. data/test/dummy/node_modules/core-js/library/core/function.js +2 -0
  899. data/test/dummy/node_modules/core-js/library/core/index.js +15 -0
  900. data/test/dummy/node_modules/core-js/library/core/log.js +2 -0
  901. data/test/dummy/node_modules/core-js/library/core/number.js +2 -0
  902. data/test/dummy/node_modules/core-js/library/core/object.js +5 -0
  903. data/test/dummy/node_modules/core-js/library/core/string.js +3 -0
  904. data/test/dummy/node_modules/core-js/library/es5/index.js +9 -0
  905. data/test/dummy/node_modules/core-js/library/es6/array.js +10 -0
  906. data/test/dummy/node_modules/core-js/library/es6/function.js +3 -0
  907. data/test/dummy/node_modules/core-js/library/es6/index.js +87 -0
  908. data/test/dummy/node_modules/core-js/library/es6/map.js +5 -0
  909. data/test/dummy/node_modules/core-js/library/es6/math.js +18 -0
  910. data/test/dummy/node_modules/core-js/library/es6/number.js +11 -0
  911. data/test/dummy/node_modules/core-js/library/es6/object.js +17 -0
  912. data/test/dummy/node_modules/core-js/library/es6/promise.js +5 -0
  913. data/test/dummy/node_modules/core-js/library/es6/reflect.js +15 -0
  914. data/test/dummy/node_modules/core-js/library/es6/regexp.js +7 -0
  915. data/test/dummy/node_modules/core-js/library/es6/set.js +5 -0
  916. data/test/dummy/node_modules/core-js/library/es6/string.js +14 -0
  917. data/test/dummy/node_modules/core-js/library/es6/symbol.js +3 -0
  918. data/test/dummy/node_modules/core-js/library/es6/weak-map.js +4 -0
  919. data/test/dummy/node_modules/core-js/library/es6/weak-set.js +4 -0
  920. data/test/dummy/node_modules/core-js/library/es7/array.js +2 -0
  921. data/test/dummy/node_modules/core-js/library/es7/index.js +13 -0
  922. data/test/dummy/node_modules/core-js/library/es7/map.js +2 -0
  923. data/test/dummy/node_modules/core-js/library/es7/object.js +4 -0
  924. data/test/dummy/node_modules/core-js/library/es7/regexp.js +2 -0
  925. data/test/dummy/node_modules/core-js/library/es7/set.js +2 -0
  926. data/test/dummy/node_modules/core-js/library/es7/string.js +6 -0
  927. data/test/dummy/node_modules/core-js/library/fn/_.js +2 -0
  928. data/test/dummy/node_modules/core-js/library/fn/array/concat.js +2 -0
  929. data/test/dummy/node_modules/core-js/library/fn/array/copy-within.js +2 -0
  930. data/test/dummy/node_modules/core-js/library/fn/array/entries.js +2 -0
  931. data/test/dummy/node_modules/core-js/library/fn/array/every.js +2 -0
  932. data/test/dummy/node_modules/core-js/library/fn/array/fill.js +2 -0
  933. data/test/dummy/node_modules/core-js/library/fn/array/filter.js +2 -0
  934. data/test/dummy/node_modules/core-js/library/fn/array/find-index.js +2 -0
  935. data/test/dummy/node_modules/core-js/library/fn/array/find.js +2 -0
  936. data/test/dummy/node_modules/core-js/library/fn/array/for-each.js +2 -0
  937. data/test/dummy/node_modules/core-js/library/fn/array/from.js +3 -0
  938. data/test/dummy/node_modules/core-js/library/fn/array/includes.js +2 -0
  939. data/test/dummy/node_modules/core-js/library/fn/array/index-of.js +2 -0
  940. data/test/dummy/node_modules/core-js/library/fn/array/index.js +12 -0
  941. data/test/dummy/node_modules/core-js/library/fn/array/iterator.js +2 -0
  942. data/test/dummy/node_modules/core-js/library/fn/array/join.js +2 -0
  943. data/test/dummy/node_modules/core-js/library/fn/array/keys.js +2 -0
  944. data/test/dummy/node_modules/core-js/library/fn/array/last-index-of.js +2 -0
  945. data/test/dummy/node_modules/core-js/library/fn/array/map.js +2 -0
  946. data/test/dummy/node_modules/core-js/library/fn/array/of.js +2 -0
  947. data/test/dummy/node_modules/core-js/library/fn/array/pop.js +2 -0
  948. data/test/dummy/node_modules/core-js/library/fn/array/push.js +2 -0
  949. data/test/dummy/node_modules/core-js/library/fn/array/reduce-right.js +2 -0
  950. data/test/dummy/node_modules/core-js/library/fn/array/reduce.js +2 -0
  951. data/test/dummy/node_modules/core-js/library/fn/array/reverse.js +2 -0
  952. data/test/dummy/node_modules/core-js/library/fn/array/shift.js +2 -0
  953. data/test/dummy/node_modules/core-js/library/fn/array/slice.js +2 -0
  954. data/test/dummy/node_modules/core-js/library/fn/array/some.js +2 -0
  955. data/test/dummy/node_modules/core-js/library/fn/array/sort.js +2 -0
  956. data/test/dummy/node_modules/core-js/library/fn/array/splice.js +2 -0
  957. data/test/dummy/node_modules/core-js/library/fn/array/unshift.js +2 -0
  958. data/test/dummy/node_modules/core-js/library/fn/array/values.js +2 -0
  959. data/test/dummy/node_modules/core-js/library/fn/clear-immediate.js +2 -0
  960. data/test/dummy/node_modules/core-js/library/fn/delay.js +2 -0
  961. data/test/dummy/node_modules/core-js/library/fn/dict.js +2 -0
  962. data/test/dummy/node_modules/core-js/library/fn/function/has-instance.js +2 -0
  963. data/test/dummy/node_modules/core-js/library/fn/function/index.js +4 -0
  964. data/test/dummy/node_modules/core-js/library/fn/function/name.js +1 -0
  965. data/test/dummy/node_modules/core-js/library/fn/function/part.js +2 -0
  966. data/test/dummy/node_modules/core-js/library/fn/get-iterator-method.js +3 -0
  967. data/test/dummy/node_modules/core-js/library/fn/get-iterator.js +3 -0
  968. data/test/dummy/node_modules/core-js/library/fn/html-collection/index.js +2 -0
  969. data/test/dummy/node_modules/core-js/library/fn/html-collection/iterator.js +2 -0
  970. data/test/dummy/node_modules/core-js/library/fn/is-iterable.js +3 -0
  971. data/test/dummy/node_modules/core-js/library/fn/json/stringify.js +4 -0
  972. data/test/dummy/node_modules/core-js/library/fn/log.js +2 -0
  973. data/test/dummy/node_modules/core-js/library/fn/map.js +6 -0
  974. data/test/dummy/node_modules/core-js/library/fn/math/acosh.js +2 -0
  975. data/test/dummy/node_modules/core-js/library/fn/math/asinh.js +2 -0
  976. data/test/dummy/node_modules/core-js/library/fn/math/atanh.js +2 -0
  977. data/test/dummy/node_modules/core-js/library/fn/math/cbrt.js +2 -0
  978. data/test/dummy/node_modules/core-js/library/fn/math/clz32.js +2 -0
  979. data/test/dummy/node_modules/core-js/library/fn/math/cosh.js +2 -0
  980. data/test/dummy/node_modules/core-js/library/fn/math/expm1.js +2 -0
  981. data/test/dummy/node_modules/core-js/library/fn/math/fround.js +2 -0
  982. data/test/dummy/node_modules/core-js/library/fn/math/hypot.js +2 -0
  983. data/test/dummy/node_modules/core-js/library/fn/math/imul.js +2 -0
  984. data/test/dummy/node_modules/core-js/library/fn/math/index.js +18 -0
  985. data/test/dummy/node_modules/core-js/library/fn/math/log10.js +2 -0
  986. data/test/dummy/node_modules/core-js/library/fn/math/log1p.js +2 -0
  987. data/test/dummy/node_modules/core-js/library/fn/math/log2.js +2 -0
  988. data/test/dummy/node_modules/core-js/library/fn/math/sign.js +2 -0
  989. data/test/dummy/node_modules/core-js/library/fn/math/sinh.js +2 -0
  990. data/test/dummy/node_modules/core-js/library/fn/math/tanh.js +2 -0
  991. data/test/dummy/node_modules/core-js/library/fn/math/trunc.js +2 -0
  992. data/test/dummy/node_modules/core-js/library/fn/node-list/index.js +2 -0
  993. data/test/dummy/node_modules/core-js/library/fn/node-list/iterator.js +2 -0
  994. data/test/dummy/node_modules/core-js/library/fn/number/epsilon.js +2 -0
  995. data/test/dummy/node_modules/core-js/library/fn/number/index.js +12 -0
  996. data/test/dummy/node_modules/core-js/library/fn/number/is-finite.js +2 -0
  997. data/test/dummy/node_modules/core-js/library/fn/number/is-integer.js +2 -0
  998. data/test/dummy/node_modules/core-js/library/fn/number/is-nan.js +2 -0
  999. data/test/dummy/node_modules/core-js/library/fn/number/is-safe-integer.js +2 -0
  1000. data/test/dummy/node_modules/core-js/library/fn/number/iterator.js +5 -0
  1001. data/test/dummy/node_modules/core-js/library/fn/number/max-safe-integer.js +2 -0
  1002. data/test/dummy/node_modules/core-js/library/fn/number/min-safe-integer.js +2 -0
  1003. data/test/dummy/node_modules/core-js/library/fn/number/parse-float.js +2 -0
  1004. data/test/dummy/node_modules/core-js/library/fn/number/parse-int.js +2 -0
  1005. data/test/dummy/node_modules/core-js/library/fn/object/assign.js +2 -0
  1006. data/test/dummy/node_modules/core-js/library/fn/object/classof.js +2 -0
  1007. data/test/dummy/node_modules/core-js/library/fn/object/create.js +4 -0
  1008. data/test/dummy/node_modules/core-js/library/fn/object/define-properties.js +4 -0
  1009. data/test/dummy/node_modules/core-js/library/fn/object/define-property.js +4 -0
  1010. data/test/dummy/node_modules/core-js/library/fn/object/define.js +2 -0
  1011. data/test/dummy/node_modules/core-js/library/fn/object/entries.js +2 -0
  1012. data/test/dummy/node_modules/core-js/library/fn/object/freeze.js +2 -0
  1013. data/test/dummy/node_modules/core-js/library/fn/object/get-own-property-descriptor.js +5 -0
  1014. data/test/dummy/node_modules/core-js/library/fn/object/get-own-property-descriptors.js +2 -0
  1015. data/test/dummy/node_modules/core-js/library/fn/object/get-own-property-names.js +5 -0
  1016. data/test/dummy/node_modules/core-js/library/fn/object/get-own-property-symbols.js +2 -0
  1017. data/test/dummy/node_modules/core-js/library/fn/object/get-prototype-of.js +2 -0
  1018. data/test/dummy/node_modules/core-js/library/fn/object/index.js +23 -0
  1019. data/test/dummy/node_modules/core-js/library/fn/object/is-extensible.js +2 -0
  1020. data/test/dummy/node_modules/core-js/library/fn/object/is-frozen.js +2 -0
  1021. data/test/dummy/node_modules/core-js/library/fn/object/is-object.js +2 -0
  1022. data/test/dummy/node_modules/core-js/library/fn/object/is-sealed.js +2 -0
  1023. data/test/dummy/node_modules/core-js/library/fn/object/is.js +2 -0
  1024. data/test/dummy/node_modules/core-js/library/fn/object/keys.js +2 -0
  1025. data/test/dummy/node_modules/core-js/library/fn/object/make.js +2 -0
  1026. data/test/dummy/node_modules/core-js/library/fn/object/prevent-extensions.js +2 -0
  1027. data/test/dummy/node_modules/core-js/library/fn/object/seal.js +2 -0
  1028. data/test/dummy/node_modules/core-js/library/fn/object/set-prototype-of.js +2 -0
  1029. data/test/dummy/node_modules/core-js/library/fn/object/values.js +2 -0
  1030. data/test/dummy/node_modules/core-js/library/fn/promise.js +5 -0
  1031. data/test/dummy/node_modules/core-js/library/fn/reflect/apply.js +2 -0
  1032. data/test/dummy/node_modules/core-js/library/fn/reflect/construct.js +2 -0
  1033. data/test/dummy/node_modules/core-js/library/fn/reflect/define-property.js +2 -0
  1034. data/test/dummy/node_modules/core-js/library/fn/reflect/delete-property.js +2 -0
  1035. data/test/dummy/node_modules/core-js/library/fn/reflect/enumerate.js +2 -0
  1036. data/test/dummy/node_modules/core-js/library/fn/reflect/get-own-property-descriptor.js +2 -0
  1037. data/test/dummy/node_modules/core-js/library/fn/reflect/get-prototype-of.js +2 -0
  1038. data/test/dummy/node_modules/core-js/library/fn/reflect/get.js +2 -0
  1039. data/test/dummy/node_modules/core-js/library/fn/reflect/has.js +2 -0
  1040. data/test/dummy/node_modules/core-js/library/fn/reflect/index.js +15 -0
  1041. data/test/dummy/node_modules/core-js/library/fn/reflect/is-extensible.js +2 -0
  1042. data/test/dummy/node_modules/core-js/library/fn/reflect/own-keys.js +2 -0
  1043. data/test/dummy/node_modules/core-js/library/fn/reflect/prevent-extensions.js +2 -0
  1044. data/test/dummy/node_modules/core-js/library/fn/reflect/set-prototype-of.js +2 -0
  1045. data/test/dummy/node_modules/core-js/library/fn/reflect/set.js +2 -0
  1046. data/test/dummy/node_modules/core-js/library/fn/regexp/escape.js +2 -0
  1047. data/test/dummy/node_modules/core-js/library/fn/regexp/index.js +8 -0
  1048. data/test/dummy/node_modules/core-js/library/fn/set-immediate.js +2 -0
  1049. data/test/dummy/node_modules/core-js/library/fn/set-interval.js +2 -0
  1050. data/test/dummy/node_modules/core-js/library/fn/set-timeout.js +2 -0
  1051. data/test/dummy/node_modules/core-js/library/fn/set.js +6 -0
  1052. data/test/dummy/node_modules/core-js/library/fn/string/at.js +2 -0
  1053. data/test/dummy/node_modules/core-js/library/fn/string/code-point-at.js +2 -0
  1054. data/test/dummy/node_modules/core-js/library/fn/string/ends-with.js +2 -0
  1055. data/test/dummy/node_modules/core-js/library/fn/string/escape-html.js +2 -0
  1056. data/test/dummy/node_modules/core-js/library/fn/string/from-code-point.js +2 -0
  1057. data/test/dummy/node_modules/core-js/library/fn/string/includes.js +2 -0
  1058. data/test/dummy/node_modules/core-js/library/fn/string/index.js +21 -0
  1059. data/test/dummy/node_modules/core-js/library/fn/string/iterator.js +5 -0
  1060. data/test/dummy/node_modules/core-js/library/fn/string/pad-left.js +2 -0
  1061. data/test/dummy/node_modules/core-js/library/fn/string/pad-right.js +2 -0
  1062. data/test/dummy/node_modules/core-js/library/fn/string/raw.js +2 -0
  1063. data/test/dummy/node_modules/core-js/library/fn/string/repeat.js +2 -0
  1064. data/test/dummy/node_modules/core-js/library/fn/string/starts-with.js +2 -0
  1065. data/test/dummy/node_modules/core-js/library/fn/string/trim-left.js +2 -0
  1066. data/test/dummy/node_modules/core-js/library/fn/string/trim-right.js +2 -0
  1067. data/test/dummy/node_modules/core-js/library/fn/string/trim.js +2 -0
  1068. data/test/dummy/node_modules/core-js/library/fn/string/unescape-html.js +2 -0
  1069. data/test/dummy/node_modules/core-js/library/fn/symbol/for.js +2 -0
  1070. data/test/dummy/node_modules/core-js/library/fn/symbol/has-instance.js +1 -0
  1071. data/test/dummy/node_modules/core-js/library/fn/symbol/index.js +3 -0
  1072. data/test/dummy/node_modules/core-js/library/fn/symbol/is-concat-spreadable.js +1 -0
  1073. data/test/dummy/node_modules/core-js/library/fn/symbol/iterator.js +3 -0
  1074. data/test/dummy/node_modules/core-js/library/fn/symbol/key-for.js +2 -0
  1075. data/test/dummy/node_modules/core-js/library/fn/symbol/match.js +2 -0
  1076. data/test/dummy/node_modules/core-js/library/fn/symbol/replace.js +2 -0
  1077. data/test/dummy/node_modules/core-js/library/fn/symbol/search.js +2 -0
  1078. data/test/dummy/node_modules/core-js/library/fn/symbol/species.js +1 -0
  1079. data/test/dummy/node_modules/core-js/library/fn/symbol/split.js +2 -0
  1080. data/test/dummy/node_modules/core-js/library/fn/symbol/to-primitive.js +1 -0
  1081. data/test/dummy/node_modules/core-js/library/fn/symbol/to-string-tag.js +2 -0
  1082. data/test/dummy/node_modules/core-js/library/fn/symbol/unscopables.js +1 -0
  1083. data/test/dummy/node_modules/core-js/library/fn/weak-map.js +4 -0
  1084. data/test/dummy/node_modules/core-js/library/fn/weak-set.js +4 -0
  1085. data/test/dummy/node_modules/core-js/library/index.js +16 -0
  1086. data/test/dummy/node_modules/core-js/library/js/array.js +2 -0
  1087. data/test/dummy/node_modules/core-js/library/js/index.js +2 -0
  1088. data/test/dummy/node_modules/core-js/library/modules/$.a-function.js +4 -0
  1089. data/test/dummy/node_modules/core-js/library/modules/$.add-to-unscopables.js +1 -0
  1090. data/test/dummy/node_modules/core-js/library/modules/$.an-object.js +5 -0
  1091. data/test/dummy/node_modules/core-js/library/modules/$.array-copy-within.js +27 -0
  1092. data/test/dummy/node_modules/core-js/library/modules/$.array-fill.js +16 -0
  1093. data/test/dummy/node_modules/core-js/library/modules/$.array-includes.js +21 -0
  1094. data/test/dummy/node_modules/core-js/library/modules/$.array-methods.js +43 -0
  1095. data/test/dummy/node_modules/core-js/library/modules/$.array-species-create.js +16 -0
  1096. data/test/dummy/node_modules/core-js/library/modules/$.buffer.js +288 -0
  1097. data/test/dummy/node_modules/core-js/library/modules/$.classof.js +16 -0
  1098. data/test/dummy/node_modules/core-js/library/modules/$.cof.js +5 -0
  1099. data/test/dummy/node_modules/core-js/library/modules/$.collection-strong.js +159 -0
  1100. data/test/dummy/node_modules/core-js/library/modules/$.collection-to-json.js +11 -0
  1101. data/test/dummy/node_modules/core-js/library/modules/$.collection-weak.js +86 -0
  1102. data/test/dummy/node_modules/core-js/library/modules/$.collection.js +55 -0
  1103. data/test/dummy/node_modules/core-js/library/modules/$.core.js +2 -0
  1104. data/test/dummy/node_modules/core-js/library/modules/$.ctx.js +20 -0
  1105. data/test/dummy/node_modules/core-js/library/modules/$.defined.js +5 -0
  1106. data/test/dummy/node_modules/core-js/library/modules/$.descriptors.js +4 -0
  1107. data/test/dummy/node_modules/core-js/library/modules/$.dom-create.js +7 -0
  1108. data/test/dummy/node_modules/core-js/library/modules/$.enum-keys.js +14 -0
  1109. data/test/dummy/node_modules/core-js/library/modules/$.export.js +46 -0
  1110. data/test/dummy/node_modules/core-js/library/modules/$.fails-is-regexp.js +12 -0
  1111. data/test/dummy/node_modules/core-js/library/modules/$.fails.js +7 -0
  1112. data/test/dummy/node_modules/core-js/library/modules/$.fix-re-wks.js +26 -0
  1113. data/test/dummy/node_modules/core-js/library/modules/$.flags.js +13 -0
  1114. data/test/dummy/node_modules/core-js/library/modules/$.for-of.js +19 -0
  1115. data/test/dummy/node_modules/core-js/library/modules/$.get-names.js +20 -0
  1116. data/test/dummy/node_modules/core-js/library/modules/$.global.js +4 -0
  1117. data/test/dummy/node_modules/core-js/library/modules/$.has.js +4 -0
  1118. data/test/dummy/node_modules/core-js/library/modules/$.hide.js +8 -0
  1119. data/test/dummy/node_modules/core-js/library/modules/$.html.js +1 -0
  1120. data/test/dummy/node_modules/core-js/library/modules/$.invoke.js +16 -0
  1121. data/test/dummy/node_modules/core-js/library/modules/$.iobject.js +5 -0
  1122. data/test/dummy/node_modules/core-js/library/modules/$.is-array-iter.js +8 -0
  1123. data/test/dummy/node_modules/core-js/library/modules/$.is-array.js +5 -0
  1124. data/test/dummy/node_modules/core-js/library/modules/$.is-integer.js +6 -0
  1125. data/test/dummy/node_modules/core-js/library/modules/$.is-object.js +3 -0
  1126. data/test/dummy/node_modules/core-js/library/modules/$.is-regexp.js +8 -0
  1127. data/test/dummy/node_modules/core-js/library/modules/$.iter-call.js +12 -0
  1128. data/test/dummy/node_modules/core-js/library/modules/$.iter-create.js +13 -0
  1129. data/test/dummy/node_modules/core-js/library/modules/$.iter-define.js +66 -0
  1130. data/test/dummy/node_modules/core-js/library/modules/$.iter-detect.js +21 -0
  1131. data/test/dummy/node_modules/core-js/library/modules/$.iter-step.js +3 -0
  1132. data/test/dummy/node_modules/core-js/library/modules/$.iterators.js +1 -0
  1133. data/test/dummy/node_modules/core-js/library/modules/$.js +13 -0
  1134. data/test/dummy/node_modules/core-js/library/modules/$.keyof.js +10 -0
  1135. data/test/dummy/node_modules/core-js/library/modules/$.library.js +1 -0
  1136. data/test/dummy/node_modules/core-js/library/modules/$.math-expm1.js +4 -0
  1137. data/test/dummy/node_modules/core-js/library/modules/$.math-log1p.js +4 -0
  1138. data/test/dummy/node_modules/core-js/library/modules/$.math-sign.js +4 -0
  1139. data/test/dummy/node_modules/core-js/library/modules/$.microtask.js +64 -0
  1140. data/test/dummy/node_modules/core-js/library/modules/$.object-assign.js +33 -0
  1141. data/test/dummy/node_modules/core-js/library/modules/$.object-define.js +11 -0
  1142. data/test/dummy/node_modules/core-js/library/modules/$.object-sap.js +10 -0
  1143. data/test/dummy/node_modules/core-js/library/modules/$.object-to-array.js +16 -0
  1144. data/test/dummy/node_modules/core-js/library/modules/$.own-keys.js +9 -0
  1145. data/test/dummy/node_modules/core-js/library/modules/$.partial.js +24 -0
  1146. data/test/dummy/node_modules/core-js/library/modules/$.path.js +1 -0
  1147. data/test/dummy/node_modules/core-js/library/modules/$.property-desc.js +8 -0
  1148. data/test/dummy/node_modules/core-js/library/modules/$.redefine-all.js +5 -0
  1149. data/test/dummy/node_modules/core-js/library/modules/$.redefine.js +1 -0
  1150. data/test/dummy/node_modules/core-js/library/modules/$.replacer.js +8 -0
  1151. data/test/dummy/node_modules/core-js/library/modules/$.same-value.js +4 -0
  1152. data/test/dummy/node_modules/core-js/library/modules/$.set-proto.js +26 -0
  1153. data/test/dummy/node_modules/core-js/library/modules/$.set-species.js +13 -0
  1154. data/test/dummy/node_modules/core-js/library/modules/$.set-to-string-tag.js +7 -0
  1155. data/test/dummy/node_modules/core-js/library/modules/$.shared.js +6 -0
  1156. data/test/dummy/node_modules/core-js/library/modules/$.species-constructor.js +8 -0
  1157. data/test/dummy/node_modules/core-js/library/modules/$.strict-new.js +4 -0
  1158. data/test/dummy/node_modules/core-js/library/modules/$.string-at.js +17 -0
  1159. data/test/dummy/node_modules/core-js/library/modules/$.string-context.js +8 -0
  1160. data/test/dummy/node_modules/core-js/library/modules/$.string-pad.js +17 -0
  1161. data/test/dummy/node_modules/core-js/library/modules/$.string-repeat.js +12 -0
  1162. data/test/dummy/node_modules/core-js/library/modules/$.string-trim.js +29 -0
  1163. data/test/dummy/node_modules/core-js/library/modules/$.task.js +75 -0
  1164. data/test/dummy/node_modules/core-js/library/modules/$.to-index.js +7 -0
  1165. data/test/dummy/node_modules/core-js/library/modules/$.to-integer.js +6 -0
  1166. data/test/dummy/node_modules/core-js/library/modules/$.to-iobject.js +6 -0
  1167. data/test/dummy/node_modules/core-js/library/modules/$.to-length.js +6 -0
  1168. data/test/dummy/node_modules/core-js/library/modules/$.to-object.js +5 -0
  1169. data/test/dummy/node_modules/core-js/library/modules/$.to-primitive.js +12 -0
  1170. data/test/dummy/node_modules/core-js/library/modules/$.typed-array.js +365 -0
  1171. data/test/dummy/node_modules/core-js/library/modules/$.typed.js +36 -0
  1172. data/test/dummy/node_modules/core-js/library/modules/$.uid.js +5 -0
  1173. data/test/dummy/node_modules/core-js/library/modules/$.wks.js +7 -0
  1174. data/test/dummy/node_modules/core-js/library/modules/core.delay.js +12 -0
  1175. data/test/dummy/node_modules/core-js/library/modules/core.dict.js +153 -0
  1176. data/test/dummy/node_modules/core-js/library/modules/core.function.part.js +7 -0
  1177. data/test/dummy/node_modules/core-js/library/modules/core.get-iterator-method.js +8 -0
  1178. data/test/dummy/node_modules/core-js/library/modules/core.get-iterator.js +7 -0
  1179. data/test/dummy/node_modules/core-js/library/modules/core.is-iterable.js +9 -0
  1180. data/test/dummy/node_modules/core-js/library/modules/core.log.js +26 -0
  1181. data/test/dummy/node_modules/core-js/library/modules/core.number.iterator.js +9 -0
  1182. data/test/dummy/node_modules/core-js/library/modules/core.object.classof.js +3 -0
  1183. data/test/dummy/node_modules/core-js/library/modules/core.object.define.js +4 -0
  1184. data/test/dummy/node_modules/core-js/library/modules/core.object.is-object.js +3 -0
  1185. data/test/dummy/node_modules/core-js/library/modules/core.object.make.js +9 -0
  1186. data/test/dummy/node_modules/core-js/library/modules/core.string.escape-html.js +11 -0
  1187. data/test/dummy/node_modules/core-js/library/modules/core.string.unescape-html.js +11 -0
  1188. data/test/dummy/node_modules/core-js/library/modules/es5.js +276 -0
  1189. data/test/dummy/node_modules/core-js/library/modules/es6.array.copy-within.js +6 -0
  1190. data/test/dummy/node_modules/core-js/library/modules/es6.array.fill.js +6 -0
  1191. data/test/dummy/node_modules/core-js/library/modules/es6.array.find-index.js +14 -0
  1192. data/test/dummy/node_modules/core-js/library/modules/es6.array.find.js +14 -0
  1193. data/test/dummy/node_modules/core-js/library/modules/es6.array.from.js +36 -0
  1194. data/test/dummy/node_modules/core-js/library/modules/es6.array.iterator.js +34 -0
  1195. data/test/dummy/node_modules/core-js/library/modules/es6.array.of.js +19 -0
  1196. data/test/dummy/node_modules/core-js/library/modules/es6.array.species.js +1 -0
  1197. data/test/dummy/node_modules/core-js/library/modules/es6.date.to-string.js +0 -0
  1198. data/test/dummy/node_modules/core-js/library/modules/es6.function.has-instance.js +13 -0
  1199. data/test/dummy/node_modules/core-js/library/modules/es6.function.name.js +0 -0
  1200. data/test/dummy/node_modules/core-js/library/modules/es6.map.js +17 -0
  1201. data/test/dummy/node_modules/core-js/library/modules/es6.math.acosh.js +14 -0
  1202. data/test/dummy/node_modules/core-js/library/modules/es6.math.asinh.js +8 -0
  1203. data/test/dummy/node_modules/core-js/library/modules/es6.math.atanh.js +8 -0
  1204. data/test/dummy/node_modules/core-js/library/modules/es6.math.cbrt.js +9 -0
  1205. data/test/dummy/node_modules/core-js/library/modules/es6.math.clz32.js +8 -0
  1206. data/test/dummy/node_modules/core-js/library/modules/es6.math.cosh.js +9 -0
  1207. data/test/dummy/node_modules/core-js/library/modules/es6.math.expm1.js +4 -0
  1208. data/test/dummy/node_modules/core-js/library/modules/es6.math.fround.js +26 -0
  1209. data/test/dummy/node_modules/core-js/library/modules/es6.math.hypot.js +26 -0
  1210. data/test/dummy/node_modules/core-js/library/modules/es6.math.imul.js +17 -0
  1211. data/test/dummy/node_modules/core-js/library/modules/es6.math.log10.js +8 -0
  1212. data/test/dummy/node_modules/core-js/library/modules/es6.math.log1p.js +4 -0
  1213. data/test/dummy/node_modules/core-js/library/modules/es6.math.log2.js +8 -0
  1214. data/test/dummy/node_modules/core-js/library/modules/es6.math.sign.js +4 -0
  1215. data/test/dummy/node_modules/core-js/library/modules/es6.math.sinh.js +15 -0
  1216. data/test/dummy/node_modules/core-js/library/modules/es6.math.tanh.js +12 -0
  1217. data/test/dummy/node_modules/core-js/library/modules/es6.math.trunc.js +8 -0
  1218. data/test/dummy/node_modules/core-js/library/modules/es6.number.constructor.js +0 -0
  1219. data/test/dummy/node_modules/core-js/library/modules/es6.number.epsilon.js +4 -0
  1220. data/test/dummy/node_modules/core-js/library/modules/es6.number.is-finite.js +9 -0
  1221. data/test/dummy/node_modules/core-js/library/modules/es6.number.is-integer.js +4 -0
  1222. data/test/dummy/node_modules/core-js/library/modules/es6.number.is-nan.js +8 -0
  1223. data/test/dummy/node_modules/core-js/library/modules/es6.number.is-safe-integer.js +10 -0
  1224. data/test/dummy/node_modules/core-js/library/modules/es6.number.max-safe-integer.js +4 -0
  1225. data/test/dummy/node_modules/core-js/library/modules/es6.number.min-safe-integer.js +4 -0
  1226. data/test/dummy/node_modules/core-js/library/modules/es6.number.parse-float.js +4 -0
  1227. data/test/dummy/node_modules/core-js/library/modules/es6.number.parse-int.js +4 -0
  1228. data/test/dummy/node_modules/core-js/library/modules/es6.object.assign.js +4 -0
  1229. data/test/dummy/node_modules/core-js/library/modules/es6.object.freeze.js +8 -0
  1230. data/test/dummy/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js +8 -0
  1231. data/test/dummy/node_modules/core-js/library/modules/es6.object.get-own-property-names.js +4 -0
  1232. data/test/dummy/node_modules/core-js/library/modules/es6.object.get-prototype-of.js +8 -0
  1233. data/test/dummy/node_modules/core-js/library/modules/es6.object.is-extensible.js +8 -0
  1234. data/test/dummy/node_modules/core-js/library/modules/es6.object.is-frozen.js +8 -0
  1235. data/test/dummy/node_modules/core-js/library/modules/es6.object.is-sealed.js +8 -0
  1236. data/test/dummy/node_modules/core-js/library/modules/es6.object.is.js +3 -0
  1237. data/test/dummy/node_modules/core-js/library/modules/es6.object.keys.js +8 -0
  1238. data/test/dummy/node_modules/core-js/library/modules/es6.object.prevent-extensions.js +8 -0
  1239. data/test/dummy/node_modules/core-js/library/modules/es6.object.seal.js +8 -0
  1240. data/test/dummy/node_modules/core-js/library/modules/es6.object.set-prototype-of.js +3 -0
  1241. data/test/dummy/node_modules/core-js/library/modules/es6.object.to-string.js +0 -0
  1242. data/test/dummy/node_modules/core-js/library/modules/es6.promise.js +289 -0
  1243. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.apply.js +9 -0
  1244. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.construct.js +38 -0
  1245. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.define-property.js +19 -0
  1246. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.delete-property.js +11 -0
  1247. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.enumerate.js +26 -0
  1248. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.get-own-property-descriptor.js +10 -0
  1249. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.get-prototype-of.js +10 -0
  1250. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.get.js +20 -0
  1251. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.has.js +8 -0
  1252. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.is-extensible.js +11 -0
  1253. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.own-keys.js +4 -0
  1254. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.prevent-extensions.js +16 -0
  1255. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.set-prototype-of.js +15 -0
  1256. data/test/dummy/node_modules/core-js/library/modules/es6.reflect.set.js +29 -0
  1257. data/test/dummy/node_modules/core-js/library/modules/es6.regexp.constructor.js +1 -0
  1258. data/test/dummy/node_modules/core-js/library/modules/es6.regexp.flags.js +0 -0
  1259. data/test/dummy/node_modules/core-js/library/modules/es6.regexp.match.js +0 -0
  1260. data/test/dummy/node_modules/core-js/library/modules/es6.regexp.replace.js +0 -0
  1261. data/test/dummy/node_modules/core-js/library/modules/es6.regexp.search.js +0 -0
  1262. data/test/dummy/node_modules/core-js/library/modules/es6.regexp.split.js +0 -0
  1263. data/test/dummy/node_modules/core-js/library/modules/es6.set.js +12 -0
  1264. data/test/dummy/node_modules/core-js/library/modules/es6.string.code-point-at.js +9 -0
  1265. data/test/dummy/node_modules/core-js/library/modules/es6.string.ends-with.js +21 -0
  1266. data/test/dummy/node_modules/core-js/library/modules/es6.string.from-code-point.js +24 -0
  1267. data/test/dummy/node_modules/core-js/library/modules/es6.string.includes.js +12 -0
  1268. data/test/dummy/node_modules/core-js/library/modules/es6.string.iterator.js +17 -0
  1269. data/test/dummy/node_modules/core-js/library/modules/es6.string.raw.js +19 -0
  1270. data/test/dummy/node_modules/core-js/library/modules/es6.string.repeat.js +6 -0
  1271. data/test/dummy/node_modules/core-js/library/modules/es6.string.starts-with.js +19 -0
  1272. data/test/dummy/node_modules/core-js/library/modules/es6.string.trim.js +7 -0
  1273. data/test/dummy/node_modules/core-js/library/modules/es6.symbol.js +227 -0
  1274. data/test/dummy/node_modules/core-js/library/modules/es6.typed.array-buffer.js +43 -0
  1275. data/test/dummy/node_modules/core-js/library/modules/es6.typed.data-view.js +4 -0
  1276. data/test/dummy/node_modules/core-js/library/modules/es6.typed.float32-array.js +5 -0
  1277. data/test/dummy/node_modules/core-js/library/modules/es6.typed.float64-array.js +5 -0
  1278. data/test/dummy/node_modules/core-js/library/modules/es6.typed.int16-array.js +5 -0
  1279. data/test/dummy/node_modules/core-js/library/modules/es6.typed.int32-array.js +5 -0
  1280. data/test/dummy/node_modules/core-js/library/modules/es6.typed.int8-array.js +5 -0
  1281. data/test/dummy/node_modules/core-js/library/modules/es6.typed.uint16-array.js +5 -0
  1282. data/test/dummy/node_modules/core-js/library/modules/es6.typed.uint32-array.js +5 -0
  1283. data/test/dummy/node_modules/core-js/library/modules/es6.typed.uint8-array.js +5 -0
  1284. data/test/dummy/node_modules/core-js/library/modules/es6.typed.uint8-clamped-array.js +5 -0
  1285. data/test/dummy/node_modules/core-js/library/modules/es6.weak-map.js +43 -0
  1286. data/test/dummy/node_modules/core-js/library/modules/es6.weak-set.js +12 -0
  1287. data/test/dummy/node_modules/core-js/library/modules/es7.array.includes.js +12 -0
  1288. data/test/dummy/node_modules/core-js/library/modules/es7.map.to-json.js +4 -0
  1289. data/test/dummy/node_modules/core-js/library/modules/es7.object.entries.js +9 -0
  1290. data/test/dummy/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js +23 -0
  1291. data/test/dummy/node_modules/core-js/library/modules/es7.object.values.js +9 -0
  1292. data/test/dummy/node_modules/core-js/library/modules/es7.regexp.escape.js +5 -0
  1293. data/test/dummy/node_modules/core-js/library/modules/es7.set.to-json.js +4 -0
  1294. data/test/dummy/node_modules/core-js/library/modules/es7.string.at.js +10 -0
  1295. data/test/dummy/node_modules/core-js/library/modules/es7.string.pad-left.js +9 -0
  1296. data/test/dummy/node_modules/core-js/library/modules/es7.string.pad-right.js +9 -0
  1297. data/test/dummy/node_modules/core-js/library/modules/es7.string.trim-left.js +7 -0
  1298. data/test/dummy/node_modules/core-js/library/modules/es7.string.trim-right.js +7 -0
  1299. data/test/dummy/node_modules/core-js/library/modules/js.array.statics.js +17 -0
  1300. data/test/dummy/node_modules/core-js/library/modules/web.dom.iterable.js +3 -0
  1301. data/test/dummy/node_modules/core-js/library/modules/web.immediate.js +6 -0
  1302. data/test/dummy/node_modules/core-js/library/modules/web.timers.js +20 -0
  1303. data/test/dummy/node_modules/core-js/library/shim.js +104 -0
  1304. data/test/dummy/node_modules/core-js/library/web/dom.js +2 -0
  1305. data/test/dummy/node_modules/core-js/library/web/immediate.js +2 -0
  1306. data/test/dummy/node_modules/core-js/library/web/index.js +4 -0
  1307. data/test/dummy/node_modules/core-js/library/web/timers.js +2 -0
  1308. data/test/dummy/node_modules/core-js/modules/$.a-function.js +4 -0
  1309. data/test/dummy/node_modules/core-js/modules/$.add-to-unscopables.js +7 -0
  1310. data/test/dummy/node_modules/core-js/modules/$.an-object.js +5 -0
  1311. data/test/dummy/node_modules/core-js/modules/$.array-copy-within.js +27 -0
  1312. data/test/dummy/node_modules/core-js/modules/$.array-fill.js +16 -0
  1313. data/test/dummy/node_modules/core-js/modules/$.array-includes.js +21 -0
  1314. data/test/dummy/node_modules/core-js/modules/$.array-methods.js +43 -0
  1315. data/test/dummy/node_modules/core-js/modules/$.array-species-create.js +16 -0
  1316. data/test/dummy/node_modules/core-js/modules/$.buffer.js +288 -0
  1317. data/test/dummy/node_modules/core-js/modules/$.classof.js +16 -0
  1318. data/test/dummy/node_modules/core-js/modules/$.cof.js +5 -0
  1319. data/test/dummy/node_modules/core-js/modules/$.collection-strong.js +159 -0
  1320. data/test/dummy/node_modules/core-js/modules/$.collection-to-json.js +11 -0
  1321. data/test/dummy/node_modules/core-js/modules/$.collection-weak.js +86 -0
  1322. data/test/dummy/node_modules/core-js/modules/$.collection.js +79 -0
  1323. data/test/dummy/node_modules/core-js/modules/$.core.js +2 -0
  1324. data/test/dummy/node_modules/core-js/modules/$.ctx.js +20 -0
  1325. data/test/dummy/node_modules/core-js/modules/$.defined.js +5 -0
  1326. data/test/dummy/node_modules/core-js/modules/$.descriptors.js +4 -0
  1327. data/test/dummy/node_modules/core-js/modules/$.dom-create.js +7 -0
  1328. data/test/dummy/node_modules/core-js/modules/$.enum-keys.js +14 -0
  1329. data/test/dummy/node_modules/core-js/modules/$.export.js +41 -0
  1330. data/test/dummy/node_modules/core-js/modules/$.fails-is-regexp.js +12 -0
  1331. data/test/dummy/node_modules/core-js/modules/$.fails.js +7 -0
  1332. data/test/dummy/node_modules/core-js/modules/$.fix-re-wks.js +26 -0
  1333. data/test/dummy/node_modules/core-js/modules/$.flags.js +13 -0
  1334. data/test/dummy/node_modules/core-js/modules/$.for-of.js +19 -0
  1335. data/test/dummy/node_modules/core-js/modules/$.get-names.js +20 -0
  1336. data/test/dummy/node_modules/core-js/modules/$.global.js +4 -0
  1337. data/test/dummy/node_modules/core-js/modules/$.has.js +4 -0
  1338. data/test/dummy/node_modules/core-js/modules/$.hide.js +8 -0
  1339. data/test/dummy/node_modules/core-js/modules/$.html.js +1 -0
  1340. data/test/dummy/node_modules/core-js/modules/$.invoke.js +16 -0
  1341. data/test/dummy/node_modules/core-js/modules/$.iobject.js +5 -0
  1342. data/test/dummy/node_modules/core-js/modules/$.is-array-iter.js +8 -0
  1343. data/test/dummy/node_modules/core-js/modules/$.is-array.js +5 -0
  1344. data/test/dummy/node_modules/core-js/modules/$.is-integer.js +6 -0
  1345. data/test/dummy/node_modules/core-js/modules/$.is-object.js +3 -0
  1346. data/test/dummy/node_modules/core-js/modules/$.is-regexp.js +8 -0
  1347. data/test/dummy/node_modules/core-js/modules/$.iter-call.js +12 -0
  1348. data/test/dummy/node_modules/core-js/modules/$.iter-create.js +13 -0
  1349. data/test/dummy/node_modules/core-js/modules/$.iter-define.js +66 -0
  1350. data/test/dummy/node_modules/core-js/modules/$.iter-detect.js +21 -0
  1351. data/test/dummy/node_modules/core-js/modules/$.iter-step.js +3 -0
  1352. data/test/dummy/node_modules/core-js/modules/$.iterators.js +1 -0
  1353. data/test/dummy/node_modules/core-js/modules/$.js +13 -0
  1354. data/test/dummy/node_modules/core-js/modules/$.keyof.js +10 -0
  1355. data/test/dummy/node_modules/core-js/modules/$.library.js +1 -0
  1356. data/test/dummy/node_modules/core-js/modules/$.math-expm1.js +4 -0
  1357. data/test/dummy/node_modules/core-js/modules/$.math-log1p.js +4 -0
  1358. data/test/dummy/node_modules/core-js/modules/$.math-sign.js +4 -0
  1359. data/test/dummy/node_modules/core-js/modules/$.microtask.js +64 -0
  1360. data/test/dummy/node_modules/core-js/modules/$.object-assign.js +33 -0
  1361. data/test/dummy/node_modules/core-js/modules/$.object-define.js +11 -0
  1362. data/test/dummy/node_modules/core-js/modules/$.object-sap.js +10 -0
  1363. data/test/dummy/node_modules/core-js/modules/$.object-to-array.js +16 -0
  1364. data/test/dummy/node_modules/core-js/modules/$.own-keys.js +9 -0
  1365. data/test/dummy/node_modules/core-js/modules/$.partial.js +24 -0
  1366. data/test/dummy/node_modules/core-js/modules/$.path.js +1 -0
  1367. data/test/dummy/node_modules/core-js/modules/$.property-desc.js +8 -0
  1368. data/test/dummy/node_modules/core-js/modules/$.redefine-all.js +5 -0
  1369. data/test/dummy/node_modules/core-js/modules/$.redefine.js +27 -0
  1370. data/test/dummy/node_modules/core-js/modules/$.replacer.js +8 -0
  1371. data/test/dummy/node_modules/core-js/modules/$.same-value.js +4 -0
  1372. data/test/dummy/node_modules/core-js/modules/$.set-proto.js +26 -0
  1373. data/test/dummy/node_modules/core-js/modules/$.set-species.js +13 -0
  1374. data/test/dummy/node_modules/core-js/modules/$.set-to-string-tag.js +7 -0
  1375. data/test/dummy/node_modules/core-js/modules/$.shared.js +6 -0
  1376. data/test/dummy/node_modules/core-js/modules/$.species-constructor.js +8 -0
  1377. data/test/dummy/node_modules/core-js/modules/$.strict-new.js +4 -0
  1378. data/test/dummy/node_modules/core-js/modules/$.string-at.js +17 -0
  1379. data/test/dummy/node_modules/core-js/modules/$.string-context.js +8 -0
  1380. data/test/dummy/node_modules/core-js/modules/$.string-pad.js +17 -0
  1381. data/test/dummy/node_modules/core-js/modules/$.string-repeat.js +12 -0
  1382. data/test/dummy/node_modules/core-js/modules/$.string-trim.js +29 -0
  1383. data/test/dummy/node_modules/core-js/modules/$.task.js +75 -0
  1384. data/test/dummy/node_modules/core-js/modules/$.to-index.js +7 -0
  1385. data/test/dummy/node_modules/core-js/modules/$.to-integer.js +6 -0
  1386. data/test/dummy/node_modules/core-js/modules/$.to-iobject.js +6 -0
  1387. data/test/dummy/node_modules/core-js/modules/$.to-length.js +6 -0
  1388. data/test/dummy/node_modules/core-js/modules/$.to-object.js +5 -0
  1389. data/test/dummy/node_modules/core-js/modules/$.to-primitive.js +12 -0
  1390. data/test/dummy/node_modules/core-js/modules/$.typed-array.js +365 -0
  1391. data/test/dummy/node_modules/core-js/modules/$.typed.js +36 -0
  1392. data/test/dummy/node_modules/core-js/modules/$.uid.js +5 -0
  1393. data/test/dummy/node_modules/core-js/modules/$.wks.js +7 -0
  1394. data/test/dummy/node_modules/core-js/modules/core.delay.js +12 -0
  1395. data/test/dummy/node_modules/core-js/modules/core.dict.js +153 -0
  1396. data/test/dummy/node_modules/core-js/modules/core.function.part.js +7 -0
  1397. data/test/dummy/node_modules/core-js/modules/core.get-iterator-method.js +8 -0
  1398. data/test/dummy/node_modules/core-js/modules/core.get-iterator.js +7 -0
  1399. data/test/dummy/node_modules/core-js/modules/core.is-iterable.js +9 -0
  1400. data/test/dummy/node_modules/core-js/modules/core.log.js +26 -0
  1401. data/test/dummy/node_modules/core-js/modules/core.number.iterator.js +9 -0
  1402. data/test/dummy/node_modules/core-js/modules/core.object.classof.js +3 -0
  1403. data/test/dummy/node_modules/core-js/modules/core.object.define.js +4 -0
  1404. data/test/dummy/node_modules/core-js/modules/core.object.is-object.js +3 -0
  1405. data/test/dummy/node_modules/core-js/modules/core.object.make.js +9 -0
  1406. data/test/dummy/node_modules/core-js/modules/core.string.escape-html.js +11 -0
  1407. data/test/dummy/node_modules/core-js/modules/core.string.unescape-html.js +11 -0
  1408. data/test/dummy/node_modules/core-js/modules/es5.js +276 -0
  1409. data/test/dummy/node_modules/core-js/modules/es6.array.copy-within.js +6 -0
  1410. data/test/dummy/node_modules/core-js/modules/es6.array.fill.js +6 -0
  1411. data/test/dummy/node_modules/core-js/modules/es6.array.find-index.js +14 -0
  1412. data/test/dummy/node_modules/core-js/modules/es6.array.find.js +14 -0
  1413. data/test/dummy/node_modules/core-js/modules/es6.array.from.js +36 -0
  1414. data/test/dummy/node_modules/core-js/modules/es6.array.iterator.js +34 -0
  1415. data/test/dummy/node_modules/core-js/modules/es6.array.of.js +19 -0
  1416. data/test/dummy/node_modules/core-js/modules/es6.array.species.js +1 -0
  1417. data/test/dummy/node_modules/core-js/modules/es6.date.to-string.js +10 -0
  1418. data/test/dummy/node_modules/core-js/modules/es6.function.has-instance.js +13 -0
  1419. data/test/dummy/node_modules/core-js/modules/es6.function.name.js +16 -0
  1420. data/test/dummy/node_modules/core-js/modules/es6.map.js +17 -0
  1421. data/test/dummy/node_modules/core-js/modules/es6.math.acosh.js +14 -0
  1422. data/test/dummy/node_modules/core-js/modules/es6.math.asinh.js +8 -0
  1423. data/test/dummy/node_modules/core-js/modules/es6.math.atanh.js +8 -0
  1424. data/test/dummy/node_modules/core-js/modules/es6.math.cbrt.js +9 -0
  1425. data/test/dummy/node_modules/core-js/modules/es6.math.clz32.js +8 -0
  1426. data/test/dummy/node_modules/core-js/modules/es6.math.cosh.js +9 -0
  1427. data/test/dummy/node_modules/core-js/modules/es6.math.expm1.js +4 -0
  1428. data/test/dummy/node_modules/core-js/modules/es6.math.fround.js +26 -0
  1429. data/test/dummy/node_modules/core-js/modules/es6.math.hypot.js +26 -0
  1430. data/test/dummy/node_modules/core-js/modules/es6.math.imul.js +17 -0
  1431. data/test/dummy/node_modules/core-js/modules/es6.math.log10.js +8 -0
  1432. data/test/dummy/node_modules/core-js/modules/es6.math.log1p.js +4 -0
  1433. data/test/dummy/node_modules/core-js/modules/es6.math.log2.js +8 -0
  1434. data/test/dummy/node_modules/core-js/modules/es6.math.sign.js +4 -0
  1435. data/test/dummy/node_modules/core-js/modules/es6.math.sinh.js +15 -0
  1436. data/test/dummy/node_modules/core-js/modules/es6.math.tanh.js +12 -0
  1437. data/test/dummy/node_modules/core-js/modules/es6.math.trunc.js +8 -0
  1438. data/test/dummy/node_modules/core-js/modules/es6.number.constructor.js +66 -0
  1439. data/test/dummy/node_modules/core-js/modules/es6.number.epsilon.js +4 -0
  1440. data/test/dummy/node_modules/core-js/modules/es6.number.is-finite.js +9 -0
  1441. data/test/dummy/node_modules/core-js/modules/es6.number.is-integer.js +4 -0
  1442. data/test/dummy/node_modules/core-js/modules/es6.number.is-nan.js +8 -0
  1443. data/test/dummy/node_modules/core-js/modules/es6.number.is-safe-integer.js +10 -0
  1444. data/test/dummy/node_modules/core-js/modules/es6.number.max-safe-integer.js +4 -0
  1445. data/test/dummy/node_modules/core-js/modules/es6.number.min-safe-integer.js +4 -0
  1446. data/test/dummy/node_modules/core-js/modules/es6.number.parse-float.js +4 -0
  1447. data/test/dummy/node_modules/core-js/modules/es6.number.parse-int.js +4 -0
  1448. data/test/dummy/node_modules/core-js/modules/es6.object.assign.js +4 -0
  1449. data/test/dummy/node_modules/core-js/modules/es6.object.freeze.js +8 -0
  1450. data/test/dummy/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js +8 -0
  1451. data/test/dummy/node_modules/core-js/modules/es6.object.get-own-property-names.js +4 -0
  1452. data/test/dummy/node_modules/core-js/modules/es6.object.get-prototype-of.js +8 -0
  1453. data/test/dummy/node_modules/core-js/modules/es6.object.is-extensible.js +8 -0
  1454. data/test/dummy/node_modules/core-js/modules/es6.object.is-frozen.js +8 -0
  1455. data/test/dummy/node_modules/core-js/modules/es6.object.is-sealed.js +8 -0
  1456. data/test/dummy/node_modules/core-js/modules/es6.object.is.js +3 -0
  1457. data/test/dummy/node_modules/core-js/modules/es6.object.keys.js +8 -0
  1458. data/test/dummy/node_modules/core-js/modules/es6.object.prevent-extensions.js +8 -0
  1459. data/test/dummy/node_modules/core-js/modules/es6.object.seal.js +8 -0
  1460. data/test/dummy/node_modules/core-js/modules/es6.object.set-prototype-of.js +3 -0
  1461. data/test/dummy/node_modules/core-js/modules/es6.object.to-string.js +10 -0
  1462. data/test/dummy/node_modules/core-js/modules/es6.promise.js +289 -0
  1463. data/test/dummy/node_modules/core-js/modules/es6.reflect.apply.js +9 -0
  1464. data/test/dummy/node_modules/core-js/modules/es6.reflect.construct.js +38 -0
  1465. data/test/dummy/node_modules/core-js/modules/es6.reflect.define-property.js +19 -0
  1466. data/test/dummy/node_modules/core-js/modules/es6.reflect.delete-property.js +11 -0
  1467. data/test/dummy/node_modules/core-js/modules/es6.reflect.enumerate.js +26 -0
  1468. data/test/dummy/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js +10 -0
  1469. data/test/dummy/node_modules/core-js/modules/es6.reflect.get-prototype-of.js +10 -0
  1470. data/test/dummy/node_modules/core-js/modules/es6.reflect.get.js +20 -0
  1471. data/test/dummy/node_modules/core-js/modules/es6.reflect.has.js +8 -0
  1472. data/test/dummy/node_modules/core-js/modules/es6.reflect.is-extensible.js +11 -0
  1473. data/test/dummy/node_modules/core-js/modules/es6.reflect.own-keys.js +4 -0
  1474. data/test/dummy/node_modules/core-js/modules/es6.reflect.prevent-extensions.js +16 -0
  1475. data/test/dummy/node_modules/core-js/modules/es6.reflect.set-prototype-of.js +15 -0
  1476. data/test/dummy/node_modules/core-js/modules/es6.reflect.set.js +29 -0
  1477. data/test/dummy/node_modules/core-js/modules/es6.regexp.constructor.js +38 -0
  1478. data/test/dummy/node_modules/core-js/modules/es6.regexp.flags.js +6 -0
  1479. data/test/dummy/node_modules/core-js/modules/es6.regexp.match.js +10 -0
  1480. data/test/dummy/node_modules/core-js/modules/es6.regexp.replace.js +12 -0
  1481. data/test/dummy/node_modules/core-js/modules/es6.regexp.search.js +10 -0
  1482. data/test/dummy/node_modules/core-js/modules/es6.regexp.split.js +12 -0
  1483. data/test/dummy/node_modules/core-js/modules/es6.set.js +12 -0
  1484. data/test/dummy/node_modules/core-js/modules/es6.string.code-point-at.js +9 -0
  1485. data/test/dummy/node_modules/core-js/modules/es6.string.ends-with.js +21 -0
  1486. data/test/dummy/node_modules/core-js/modules/es6.string.from-code-point.js +24 -0
  1487. data/test/dummy/node_modules/core-js/modules/es6.string.includes.js +12 -0
  1488. data/test/dummy/node_modules/core-js/modules/es6.string.iterator.js +17 -0
  1489. data/test/dummy/node_modules/core-js/modules/es6.string.raw.js +19 -0
  1490. data/test/dummy/node_modules/core-js/modules/es6.string.repeat.js +6 -0
  1491. data/test/dummy/node_modules/core-js/modules/es6.string.starts-with.js +19 -0
  1492. data/test/dummy/node_modules/core-js/modules/es6.string.trim.js +7 -0
  1493. data/test/dummy/node_modules/core-js/modules/es6.symbol.js +227 -0
  1494. data/test/dummy/node_modules/core-js/modules/es6.typed.array-buffer.js +43 -0
  1495. data/test/dummy/node_modules/core-js/modules/es6.typed.data-view.js +4 -0
  1496. data/test/dummy/node_modules/core-js/modules/es6.typed.float32-array.js +5 -0
  1497. data/test/dummy/node_modules/core-js/modules/es6.typed.float64-array.js +5 -0
  1498. data/test/dummy/node_modules/core-js/modules/es6.typed.int16-array.js +5 -0
  1499. data/test/dummy/node_modules/core-js/modules/es6.typed.int32-array.js +5 -0
  1500. data/test/dummy/node_modules/core-js/modules/es6.typed.int8-array.js +5 -0
  1501. data/test/dummy/node_modules/core-js/modules/es6.typed.uint16-array.js +5 -0
  1502. data/test/dummy/node_modules/core-js/modules/es6.typed.uint32-array.js +5 -0
  1503. data/test/dummy/node_modules/core-js/modules/es6.typed.uint8-array.js +5 -0
  1504. data/test/dummy/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js +5 -0
  1505. data/test/dummy/node_modules/core-js/modules/es6.weak-map.js +43 -0
  1506. data/test/dummy/node_modules/core-js/modules/es6.weak-set.js +12 -0
  1507. data/test/dummy/node_modules/core-js/modules/es7.array.includes.js +12 -0
  1508. data/test/dummy/node_modules/core-js/modules/es7.map.to-json.js +4 -0
  1509. data/test/dummy/node_modules/core-js/modules/es7.object.entries.js +9 -0
  1510. data/test/dummy/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js +23 -0
  1511. data/test/dummy/node_modules/core-js/modules/es7.object.values.js +9 -0
  1512. data/test/dummy/node_modules/core-js/modules/es7.regexp.escape.js +5 -0
  1513. data/test/dummy/node_modules/core-js/modules/es7.set.to-json.js +4 -0
  1514. data/test/dummy/node_modules/core-js/modules/es7.string.at.js +10 -0
  1515. data/test/dummy/node_modules/core-js/modules/es7.string.pad-left.js +9 -0
  1516. data/test/dummy/node_modules/core-js/modules/es7.string.pad-right.js +9 -0
  1517. data/test/dummy/node_modules/core-js/modules/es7.string.trim-left.js +7 -0
  1518. data/test/dummy/node_modules/core-js/modules/es7.string.trim-right.js +7 -0
  1519. data/test/dummy/node_modules/core-js/modules/js.array.statics.js +17 -0
  1520. data/test/dummy/node_modules/core-js/modules/library/$.add-to-unscopables.js +1 -0
  1521. data/test/dummy/node_modules/core-js/modules/library/$.collection.js +55 -0
  1522. data/test/dummy/node_modules/core-js/modules/library/$.export.js +46 -0
  1523. data/test/dummy/node_modules/core-js/modules/library/$.library.js +1 -0
  1524. data/test/dummy/node_modules/core-js/modules/library/$.path.js +1 -0
  1525. data/test/dummy/node_modules/core-js/modules/library/$.redefine.js +1 -0
  1526. data/test/dummy/node_modules/core-js/modules/library/$.set-species.js +13 -0
  1527. data/test/dummy/node_modules/core-js/modules/library/es6.date.to-string.js +0 -0
  1528. data/test/dummy/node_modules/core-js/modules/library/es6.function.name.js +0 -0
  1529. data/test/dummy/node_modules/core-js/modules/library/es6.number.constructor.js +0 -0
  1530. data/test/dummy/node_modules/core-js/modules/library/es6.object.to-string.js +0 -0
  1531. data/test/dummy/node_modules/core-js/modules/library/es6.regexp.constructor.js +1 -0
  1532. data/test/dummy/node_modules/core-js/modules/library/es6.regexp.flags.js +0 -0
  1533. data/test/dummy/node_modules/core-js/modules/library/es6.regexp.match.js +0 -0
  1534. data/test/dummy/node_modules/core-js/modules/library/es6.regexp.replace.js +0 -0
  1535. data/test/dummy/node_modules/core-js/modules/library/es6.regexp.search.js +0 -0
  1536. data/test/dummy/node_modules/core-js/modules/library/es6.regexp.split.js +0 -0
  1537. data/test/dummy/node_modules/core-js/modules/library/web.dom.iterable.js +3 -0
  1538. data/test/dummy/node_modules/core-js/modules/web.dom.iterable.js +12 -0
  1539. data/test/dummy/node_modules/core-js/modules/web.immediate.js +6 -0
  1540. data/test/dummy/node_modules/core-js/modules/web.timers.js +20 -0
  1541. data/test/dummy/node_modules/core-js/package.json +111 -0
  1542. data/test/dummy/node_modules/core-js/shim.js +104 -0
  1543. data/test/dummy/node_modules/core-js/web/dom.js +2 -0
  1544. data/test/dummy/node_modules/core-js/web/immediate.js +2 -0
  1545. data/test/dummy/node_modules/core-js/web/index.js +4 -0
  1546. data/test/dummy/node_modules/core-js/web/timers.js +2 -0
  1547. data/test/dummy/node_modules/debug/History.md +195 -0
  1548. data/test/dummy/node_modules/debug/Makefile +36 -0
  1549. data/test/dummy/node_modules/debug/Readme.md +188 -0
  1550. data/test/dummy/node_modules/debug/browser.js +168 -0
  1551. data/test/dummy/node_modules/debug/component.json +19 -0
  1552. data/test/dummy/node_modules/debug/debug.js +197 -0
  1553. data/test/dummy/node_modules/debug/node.js +209 -0
  1554. data/test/dummy/node_modules/debug/package.json +98 -0
  1555. data/test/dummy/node_modules/detect-indent/cli.js +55 -0
  1556. data/test/dummy/node_modules/detect-indent/index.js +119 -0
  1557. data/test/dummy/node_modules/detect-indent/license +21 -0
  1558. data/test/dummy/node_modules/detect-indent/package.json +102 -0
  1559. data/test/dummy/node_modules/detect-indent/readme.md +120 -0
  1560. data/test/dummy/node_modules/envify/README.md +145 -0
  1561. data/test/dummy/node_modules/envify/bin/envify +17 -0
  1562. data/test/dummy/node_modules/envify/custom.js +38 -0
  1563. data/test/dummy/node_modules/envify/index.js +1 -0
  1564. data/test/dummy/node_modules/envify/package.json +93 -0
  1565. data/test/dummy/node_modules/envify/visitors.js +49 -0
  1566. data/test/dummy/node_modules/escape-string-regexp/index.js +11 -0
  1567. data/test/dummy/node_modules/escape-string-regexp/license +21 -0
  1568. data/test/dummy/node_modules/escape-string-regexp/package.json +95 -0
  1569. data/test/dummy/node_modules/escape-string-regexp/readme.md +27 -0
  1570. data/test/dummy/node_modules/esprima-fb/README.md +32 -0
  1571. data/test/dummy/node_modules/esprima-fb/bin/esparse.js +117 -0
  1572. data/test/dummy/node_modules/esprima-fb/bin/esvalidate.js +199 -0
  1573. data/test/dummy/node_modules/esprima-fb/esprima.js +7704 -0
  1574. data/test/dummy/node_modules/esprima-fb/package.json +120 -0
  1575. data/test/dummy/node_modules/esprima-fb/test/compat.js +244 -0
  1576. data/test/dummy/node_modules/esprima-fb/test/reflect.js +421 -0
  1577. data/test/dummy/node_modules/esprima-fb/test/run.js +66 -0
  1578. data/test/dummy/node_modules/esprima-fb/test/runner.js +515 -0
  1579. data/test/dummy/node_modules/esprima-fb/test/test.js +23151 -0
  1580. data/test/dummy/node_modules/estree-walker/README.md +45 -0
  1581. data/test/dummy/node_modules/estree-walker/dist/estree-walker.es6.js +61 -0
  1582. data/test/dummy/node_modules/estree-walker/dist/estree-walker.es6.js.map +1 -0
  1583. data/test/dummy/node_modules/estree-walker/dist/estree-walker.umd.js +69 -0
  1584. data/test/dummy/node_modules/estree-walker/dist/estree-walker.umd.js.map +1 -0
  1585. data/test/dummy/node_modules/estree-walker/package.json +78 -0
  1586. data/test/dummy/node_modules/estree-walker/src/estree-walker.js +52 -0
  1587. data/test/dummy/node_modules/esutils/LICENSE.BSD +19 -0
  1588. data/test/dummy/node_modules/esutils/README.md +169 -0
  1589. data/test/dummy/node_modules/esutils/lib/ast.js +144 -0
  1590. data/test/dummy/node_modules/esutils/lib/code.js +135 -0
  1591. data/test/dummy/node_modules/esutils/lib/keyword.js +165 -0
  1592. data/test/dummy/node_modules/esutils/lib/utils.js +33 -0
  1593. data/test/dummy/node_modules/esutils/package.json +97 -0
  1594. data/test/dummy/node_modules/fbjs/CHANGELOG.md +21 -0
  1595. data/test/dummy/node_modules/fbjs/LICENSE +31 -0
  1596. data/test/dummy/node_modules/fbjs/PATENTS +33 -0
  1597. data/test/dummy/node_modules/fbjs/README.md +46 -0
  1598. data/test/dummy/node_modules/fbjs/flow/include/CSSCore.js +108 -0
  1599. data/test/dummy/node_modules/fbjs/flow/include/Deferred.js +66 -0
  1600. data/test/dummy/node_modules/fbjs/flow/include/ErrorUtils.js +23 -0
  1601. data/test/dummy/node_modules/fbjs/flow/include/EventListener.js +86 -0
  1602. data/test/dummy/node_modules/fbjs/flow/include/ExecutionEnvironment.js +41 -0
  1603. data/test/dummy/node_modules/fbjs/flow/include/Map.js +12 -0
  1604. data/test/dummy/node_modules/fbjs/flow/include/Promise.js +12 -0
  1605. data/test/dummy/node_modules/fbjs/flow/include/PromiseMap.js +60 -0
  1606. data/test/dummy/node_modules/fbjs/flow/include/TouchEventUtils.js +35 -0
  1607. data/test/dummy/node_modules/fbjs/flow/include/URI.js +18 -0
  1608. data/test/dummy/node_modules/fbjs/flow/include/UserAgent.js +259 -0
  1609. data/test/dummy/node_modules/fbjs/flow/include/UserAgentData.js +84 -0
  1610. data/test/dummy/node_modules/fbjs/flow/include/VersionRange.js +385 -0
  1611. data/test/dummy/node_modules/fbjs/flow/include/areEqual.js +110 -0
  1612. data/test/dummy/node_modules/fbjs/flow/include/camelize.js +30 -0
  1613. data/test/dummy/node_modules/fbjs/flow/include/camelizeStyleName.js +40 -0
  1614. data/test/dummy/node_modules/fbjs/flow/include/containsNode.js +42 -0
  1615. data/test/dummy/node_modules/fbjs/flow/include/crc32.js +72 -0
  1616. data/test/dummy/node_modules/fbjs/flow/include/createArrayFromMixed.js +85 -0
  1617. data/test/dummy/node_modules/fbjs/flow/include/createNodesFromMarkup.js +86 -0
  1618. data/test/dummy/node_modules/fbjs/flow/include/emptyFunction.js +32 -0
  1619. data/test/dummy/node_modules/fbjs/flow/include/emptyObject.js +20 -0
  1620. data/test/dummy/node_modules/fbjs/flow/include/everyObject.js +51 -0
  1621. data/test/dummy/node_modules/fbjs/flow/include/fetch.js +15 -0
  1622. data/test/dummy/node_modules/fbjs/flow/include/fetchWithRetries.js +133 -0
  1623. data/test/dummy/node_modules/fbjs/flow/include/filterObject.js +53 -0
  1624. data/test/dummy/node_modules/fbjs/flow/include/flattenArray.js +47 -0
  1625. data/test/dummy/node_modules/fbjs/flow/include/focusNode.js +27 -0
  1626. data/test/dummy/node_modules/fbjs/flow/include/forEachObject.js +43 -0
  1627. data/test/dummy/node_modules/fbjs/flow/include/getActiveElement.js +31 -0
  1628. data/test/dummy/node_modules/fbjs/flow/include/getMarkupWrap.js +114 -0
  1629. data/test/dummy/node_modules/fbjs/flow/include/getUnboundedScrollPosition.js +38 -0
  1630. data/test/dummy/node_modules/fbjs/flow/include/hyphenate.js +31 -0
  1631. data/test/dummy/node_modules/fbjs/flow/include/hyphenateStyleName.js +39 -0
  1632. data/test/dummy/node_modules/fbjs/flow/include/invariant.js +53 -0
  1633. data/test/dummy/node_modules/fbjs/flow/include/isEmpty.js +30 -0
  1634. data/test/dummy/node_modules/fbjs/flow/include/isNode.js +26 -0
  1635. data/test/dummy/node_modules/fbjs/flow/include/isTextNode.js +23 -0
  1636. data/test/dummy/node_modules/fbjs/flow/include/joinClasses.js +39 -0
  1637. data/test/dummy/node_modules/fbjs/flow/include/keyMirror.js +51 -0
  1638. data/test/dummy/node_modules/fbjs/flow/include/keyOf.js +34 -0
  1639. data/test/dummy/node_modules/fbjs/flow/include/mapObject.js +51 -0
  1640. data/test/dummy/node_modules/fbjs/flow/include/memoizeStringOnly.js +31 -0
  1641. data/test/dummy/node_modules/fbjs/flow/include/monitorCodeUse.js +30 -0
  1642. data/test/dummy/node_modules/fbjs/flow/include/nativeRequestAnimationFrame.js +19 -0
  1643. data/test/dummy/node_modules/fbjs/flow/include/nullthrows.js +20 -0
  1644. data/test/dummy/node_modules/fbjs/flow/include/performance.js +26 -0
  1645. data/test/dummy/node_modules/fbjs/flow/include/performanceNow.js +27 -0
  1646. data/test/dummy/node_modules/fbjs/flow/include/removeFromArray.js +24 -0
  1647. data/test/dummy/node_modules/fbjs/flow/include/requestAnimationFrame.js +31 -0
  1648. data/test/dummy/node_modules/fbjs/flow/include/resolveImmediate.js +30 -0
  1649. data/test/dummy/node_modules/fbjs/flow/include/shallowEqual.js +51 -0
  1650. data/test/dummy/node_modules/fbjs/flow/include/someObject.js +51 -0
  1651. data/test/dummy/node_modules/fbjs/flow/include/sprintf.js +27 -0
  1652. data/test/dummy/node_modules/fbjs/flow/include/toArray.js +66 -0
  1653. data/test/dummy/node_modules/fbjs/flow/include/warning.js +54 -0
  1654. data/test/dummy/node_modules/fbjs/flow/include/xhrSimpleDataSerializer.js +21 -0
  1655. data/test/dummy/node_modules/fbjs/flow/lib/dev.js +10 -0
  1656. data/test/dummy/node_modules/fbjs/index.js +1 -0
  1657. data/test/dummy/node_modules/fbjs/lib/CSSCore.js +97 -0
  1658. data/test/dummy/node_modules/fbjs/lib/Deferred.js +72 -0
  1659. data/test/dummy/node_modules/fbjs/lib/ErrorUtils.js +25 -0
  1660. data/test/dummy/node_modules/fbjs/lib/EventListener.js +84 -0
  1661. data/test/dummy/node_modules/fbjs/lib/ExecutionEnvironment.js +36 -0
  1662. data/test/dummy/node_modules/fbjs/lib/Map.js +14 -0
  1663. data/test/dummy/node_modules/fbjs/lib/Promise.js +14 -0
  1664. data/test/dummy/node_modules/fbjs/lib/PromiseMap.js +59 -0
  1665. data/test/dummy/node_modules/fbjs/lib/TouchEventUtils.js +35 -0
  1666. data/test/dummy/node_modules/fbjs/lib/URI.js +22 -0
  1667. data/test/dummy/node_modules/fbjs/lib/UserAgent.js +238 -0
  1668. data/test/dummy/node_modules/fbjs/lib/UserAgentData.js +83 -0
  1669. data/test/dummy/node_modules/fbjs/lib/VersionRange.js +391 -0
  1670. data/test/dummy/node_modules/fbjs/lib/__mocks__/ErrorUtils.js +22 -0
  1671. data/test/dummy/node_modules/fbjs/lib/__mocks__/crc32.js +12 -0
  1672. data/test/dummy/node_modules/fbjs/lib/__mocks__/fetch.js +26 -0
  1673. data/test/dummy/node_modules/fbjs/lib/__mocks__/fetchWithRetries.js +31 -0
  1674. data/test/dummy/node_modules/fbjs/lib/__mocks__/nullthrows.js +14 -0
  1675. data/test/dummy/node_modules/fbjs/lib/areEqual.js +109 -0
  1676. data/test/dummy/node_modules/fbjs/lib/camelize.js +32 -0
  1677. data/test/dummy/node_modules/fbjs/lib/camelizeStyleName.js +40 -0
  1678. data/test/dummy/node_modules/fbjs/lib/containsNode.js +55 -0
  1679. data/test/dummy/node_modules/fbjs/lib/crc32.js +30 -0
  1680. data/test/dummy/node_modules/fbjs/lib/createArrayFromMixed.js +85 -0
  1681. data/test/dummy/node_modules/fbjs/lib/createNodesFromMarkup.js +84 -0
  1682. data/test/dummy/node_modules/fbjs/lib/emptyFunction.js +38 -0
  1683. data/test/dummy/node_modules/fbjs/lib/emptyObject.js +20 -0
  1684. data/test/dummy/node_modules/fbjs/lib/everyObject.js +47 -0
  1685. data/test/dummy/node_modules/fbjs/lib/fetch.js +15 -0
  1686. data/test/dummy/node_modules/fbjs/lib/fetchWithRetries.js +119 -0
  1687. data/test/dummy/node_modules/fbjs/lib/filterObject.js +52 -0
  1688. data/test/dummy/node_modules/fbjs/lib/flattenArray.js +49 -0
  1689. data/test/dummy/node_modules/fbjs/lib/focusNode.js +26 -0
  1690. data/test/dummy/node_modules/fbjs/lib/forEachObject.js +43 -0
  1691. data/test/dummy/node_modules/fbjs/lib/getActiveElement.js +33 -0
  1692. data/test/dummy/node_modules/fbjs/lib/getMarkupWrap.js +95 -0
  1693. data/test/dummy/node_modules/fbjs/lib/getUnboundedScrollPosition.js +38 -0
  1694. data/test/dummy/node_modules/fbjs/lib/hyphenate.js +33 -0
  1695. data/test/dummy/node_modules/fbjs/lib/hyphenateStyleName.js +39 -0
  1696. data/test/dummy/node_modules/fbjs/lib/invariant.js +49 -0
  1697. data/test/dummy/node_modules/fbjs/lib/isEmpty.js +32 -0
  1698. data/test/dummy/node_modules/fbjs/lib/isNode.js +23 -0
  1699. data/test/dummy/node_modules/fbjs/lib/isTextNode.js +25 -0
  1700. data/test/dummy/node_modules/fbjs/lib/joinClasses.js +39 -0
  1701. data/test/dummy/node_modules/fbjs/lib/keyMirror.js +48 -0
  1702. data/test/dummy/node_modules/fbjs/lib/keyOf.js +35 -0
  1703. data/test/dummy/node_modules/fbjs/lib/mapObject.js +51 -0
  1704. data/test/dummy/node_modules/fbjs/lib/memoizeStringOnly.js +31 -0
  1705. data/test/dummy/node_modules/fbjs/lib/monitorCodeUse.js +27 -0
  1706. data/test/dummy/node_modules/fbjs/lib/nativeRequestAnimationFrame.js +16 -0
  1707. data/test/dummy/node_modules/fbjs/lib/nullthrows.js +22 -0
  1708. data/test/dummy/node_modules/fbjs/lib/performance.js +23 -0
  1709. data/test/dummy/node_modules/fbjs/lib/performanceNow.js +29 -0
  1710. data/test/dummy/node_modules/fbjs/lib/removeFromArray.js +26 -0
  1711. data/test/dummy/node_modules/fbjs/lib/requestAnimationFrame.js +31 -0
  1712. data/test/dummy/node_modules/fbjs/lib/resolveImmediate.js +32 -0
  1713. data/test/dummy/node_modules/fbjs/lib/shallowEqual.js +50 -0
  1714. data/test/dummy/node_modules/fbjs/lib/someObject.js +47 -0
  1715. data/test/dummy/node_modules/fbjs/lib/sprintf.js +35 -0
  1716. data/test/dummy/node_modules/fbjs/lib/toArray.js +57 -0
  1717. data/test/dummy/node_modules/fbjs/lib/warning.js +57 -0
  1718. data/test/dummy/node_modules/fbjs/lib/xhrSimpleDataSerializer.js +23 -0
  1719. data/test/dummy/node_modules/fbjs/module-map.json +59 -0
  1720. data/test/dummy/node_modules/fbjs/package.json +159 -0
  1721. data/test/dummy/node_modules/get-stdin/index.js +49 -0
  1722. data/test/dummy/node_modules/get-stdin/package.json +89 -0
  1723. data/test/dummy/node_modules/get-stdin/readme.md +44 -0
  1724. data/test/dummy/node_modules/globals/globals.json +1216 -0
  1725. data/test/dummy/node_modules/globals/index.js +1 -0
  1726. data/test/dummy/node_modules/globals/license +21 -0
  1727. data/test/dummy/node_modules/globals/package.json +102 -0
  1728. data/test/dummy/node_modules/globals/readme.md +39 -0
  1729. data/test/dummy/node_modules/has-ansi/index.js +4 -0
  1730. data/test/dummy/node_modules/has-ansi/license +21 -0
  1731. data/test/dummy/node_modules/has-ansi/package.json +109 -0
  1732. data/test/dummy/node_modules/has-ansi/readme.md +36 -0
  1733. data/test/dummy/node_modules/home-or-tmp/index.js +5 -0
  1734. data/test/dummy/node_modules/home-or-tmp/license +21 -0
  1735. data/test/dummy/node_modules/home-or-tmp/package.json +95 -0
  1736. data/test/dummy/node_modules/home-or-tmp/readme.md +32 -0
  1737. data/test/dummy/node_modules/invariant/CHANGELOG.md +33 -0
  1738. data/test/dummy/node_modules/invariant/README.md +35 -0
  1739. data/test/dummy/node_modules/invariant/browser.js +51 -0
  1740. data/test/dummy/node_modules/invariant/invariant.js +53 -0
  1741. data/test/dummy/node_modules/invariant/package.json +89 -0
  1742. data/test/dummy/node_modules/is-finite/index.js +6 -0
  1743. data/test/dummy/node_modules/is-finite/license +21 -0
  1744. data/test/dummy/node_modules/is-finite/package.json +93 -0
  1745. data/test/dummy/node_modules/is-finite/readme.md +30 -0
  1746. data/test/dummy/node_modules/is-integer/LICENSE +10 -0
  1747. data/test/dummy/node_modules/is-integer/README.md +31 -0
  1748. data/test/dummy/node_modules/is-integer/index.js +8 -0
  1749. data/test/dummy/node_modules/is-integer/package.json +81 -0
  1750. data/test/dummy/node_modules/is-integer/test.js +72 -0
  1751. data/test/dummy/node_modules/js-tokens/LICENSE +21 -0
  1752. data/test/dummy/node_modules/js-tokens/changelog.md +65 -0
  1753. data/test/dummy/node_modules/js-tokens/index.js +19 -0
  1754. data/test/dummy/node_modules/js-tokens/package.json +88 -0
  1755. data/test/dummy/node_modules/js-tokens/readme.md +204 -0
  1756. data/test/dummy/node_modules/jsesc/LICENSE-MIT.txt +20 -0
  1757. data/test/dummy/node_modules/jsesc/README.md +375 -0
  1758. data/test/dummy/node_modules/jsesc/bin/jsesc +138 -0
  1759. data/test/dummy/node_modules/jsesc/jsesc.js +265 -0
  1760. data/test/dummy/node_modules/jsesc/man/jsesc.1 +90 -0
  1761. data/test/dummy/node_modules/jsesc/package.json +104 -0
  1762. data/test/dummy/node_modules/json5/CHANGELOG.md +144 -0
  1763. data/test/dummy/node_modules/json5/README.md +271 -0
  1764. data/test/dummy/node_modules/json5/lib/cli.js +41 -0
  1765. data/test/dummy/node_modules/json5/lib/json5.js +754 -0
  1766. data/test/dummy/node_modules/json5/lib/require.js +18 -0
  1767. data/test/dummy/node_modules/json5/package.json +89 -0
  1768. data/test/dummy/node_modules/json5/package.json5 +30 -0
  1769. data/test/dummy/node_modules/json5/test/parse-cases/arrays/empty-array.json +1 -0
  1770. data/test/dummy/node_modules/json5/test/parse-cases/arrays/leading-comma-array.js +3 -0
  1771. data/test/dummy/node_modules/json5/test/parse-cases/arrays/lone-trailing-comma-array.js +3 -0
  1772. data/test/dummy/node_modules/json5/test/parse-cases/arrays/no-comma-array.txt +4 -0
  1773. data/test/dummy/node_modules/json5/test/parse-cases/arrays/regular-array.json +5 -0
  1774. data/test/dummy/node_modules/json5/test/parse-cases/arrays/trailing-comma-array.json5 +3 -0
  1775. data/test/dummy/node_modules/json5/test/parse-cases/comments/block-comment-following-array-element.json5 +6 -0
  1776. data/test/dummy/node_modules/json5/test/parse-cases/comments/block-comment-following-top-level-value.json5 +5 -0
  1777. data/test/dummy/node_modules/json5/test/parse-cases/comments/block-comment-in-string.json +1 -0
  1778. data/test/dummy/node_modules/json5/test/parse-cases/comments/block-comment-preceding-top-level-value.json5 +5 -0
  1779. data/test/dummy/node_modules/json5/test/parse-cases/comments/block-comment-with-asterisks.json5 +7 -0
  1780. data/test/dummy/node_modules/json5/test/parse-cases/comments/inline-comment-following-array-element.json5 +3 -0
  1781. data/test/dummy/node_modules/json5/test/parse-cases/comments/inline-comment-following-top-level-value.json5 +1 -0
  1782. data/test/dummy/node_modules/json5/test/parse-cases/comments/inline-comment-in-string.json +1 -0
  1783. data/test/dummy/node_modules/json5/test/parse-cases/comments/inline-comment-preceding-top-level-value.json5 +2 -0
  1784. data/test/dummy/node_modules/json5/test/parse-cases/comments/top-level-block-comment.txt +4 -0
  1785. data/test/dummy/node_modules/json5/test/parse-cases/comments/top-level-inline-comment.txt +1 -0
  1786. data/test/dummy/node_modules/json5/test/parse-cases/comments/unterminated-block-comment.txt +5 -0
  1787. data/test/dummy/node_modules/json5/test/parse-cases/misc/empty.txt +0 -0
  1788. data/test/dummy/node_modules/json5/test/parse-cases/misc/npm-package.json +106 -0
  1789. data/test/dummy/node_modules/json5/test/parse-cases/misc/npm-package.json5 +106 -0
  1790. data/test/dummy/node_modules/json5/test/parse-cases/misc/readme-example.json5 +25 -0
  1791. data/test/dummy/node_modules/json5/test/parse-cases/misc/valid-whitespace.json5 +5 -0
  1792. data/test/dummy/node_modules/json5/test/parse-cases/new-lines/comment-cr.json5 +1 -0
  1793. data/test/dummy/node_modules/json5/test/parse-cases/new-lines/comment-crlf.json5 +3 -0
  1794. data/test/dummy/node_modules/json5/test/parse-cases/new-lines/comment-lf.json5 +3 -0
  1795. data/test/dummy/node_modules/json5/test/parse-cases/new-lines/escaped-cr.json5 +1 -0
  1796. data/test/dummy/node_modules/json5/test/parse-cases/new-lines/escaped-crlf.json5 +5 -0
  1797. data/test/dummy/node_modules/json5/test/parse-cases/new-lines/escaped-lf.json5 +5 -0
  1798. data/test/dummy/node_modules/json5/test/parse-cases/numbers/binary-coffeescript.txt +1 -0
  1799. data/test/dummy/node_modules/json5/test/parse-cases/numbers/float-leading-decimal-point.json5 +1 -0
  1800. data/test/dummy/node_modules/json5/test/parse-cases/numbers/float-leading-zero.json +1 -0
  1801. data/test/dummy/node_modules/json5/test/parse-cases/numbers/float-trailing-decimal-point-with-integer-exponent.json5 +1 -0
  1802. data/test/dummy/node_modules/json5/test/parse-cases/numbers/float-trailing-decimal-point.json5 +1 -0
  1803. data/test/dummy/node_modules/json5/test/parse-cases/numbers/float-with-integer-exponent.json +1 -0
  1804. data/test/dummy/node_modules/json5/test/parse-cases/numbers/float.json +1 -0
  1805. data/test/dummy/node_modules/json5/test/parse-cases/numbers/hexadecimal-empty.txt +1 -0
  1806. data/test/dummy/node_modules/json5/test/parse-cases/numbers/hexadecimal-lowercase-letter.json5 +1 -0
  1807. data/test/dummy/node_modules/json5/test/parse-cases/numbers/hexadecimal-uppercase-x.json5 +1 -0
  1808. data/test/dummy/node_modules/json5/test/parse-cases/numbers/hexadecimal-with-integer-exponent.json5 +1 -0
  1809. data/test/dummy/node_modules/json5/test/parse-cases/numbers/hexadecimal.json5 +1 -0
  1810. data/test/dummy/node_modules/json5/test/parse-cases/numbers/infinity.json5 +1 -0
  1811. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-float-exponent.txt +1 -0
  1812. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-hexadecimal-exponent.txt +1 -0
  1813. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-integer-exponent.json +1 -0
  1814. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-negative-float-exponent.txt +1 -0
  1815. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-negative-hexadecimal-exponent.txt +1 -0
  1816. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-negative-integer-exponent.json +1 -0
  1817. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-negative-zero-integer-exponent.json +1 -0
  1818. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-positive-float-exponent.txt +1 -0
  1819. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-positive-hexadecimal-exponent.txt +1 -0
  1820. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-positive-integer-exponent.json +1 -0
  1821. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-positive-zero-integer-exponent.json +1 -0
  1822. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer-with-zero-integer-exponent.json +1 -0
  1823. data/test/dummy/node_modules/json5/test/parse-cases/numbers/integer.json +1 -0
  1824. data/test/dummy/node_modules/json5/test/parse-cases/numbers/lone-decimal-point.txt +1 -0
  1825. data/test/dummy/node_modules/json5/test/parse-cases/numbers/nan.json5 +1 -0
  1826. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-binary-coffeescript.txt +1 -0
  1827. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-float-leading-decimal-point.json5 +1 -0
  1828. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-float-leading-zero.json +1 -0
  1829. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-float-trailing-decimal-point.json5 +1 -0
  1830. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-float.json +1 -0
  1831. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-hexadecimal.json5 +1 -0
  1832. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-infinity.json5 +1 -0
  1833. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-integer.json +1 -0
  1834. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-noctal.js +1 -0
  1835. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-octal-coffeescript.txt +1 -0
  1836. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-octal.txt +1 -0
  1837. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-zero-binary-coffeescript.txt +1 -0
  1838. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-zero-float-leading-decimal-point.json5 +1 -0
  1839. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-zero-float-trailing-decimal-point.json5 +1 -0
  1840. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-zero-float.json +1 -0
  1841. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-zero-hexadecimal.json5 +1 -0
  1842. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-zero-integer.json +1 -0
  1843. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-zero-octal-coffeescript.txt +1 -0
  1844. data/test/dummy/node_modules/json5/test/parse-cases/numbers/negative-zero-octal.txt +1 -0
  1845. data/test/dummy/node_modules/json5/test/parse-cases/numbers/noctal-with-leading-octal-digit.js +1 -0
  1846. data/test/dummy/node_modules/json5/test/parse-cases/numbers/noctal.js +1 -0
  1847. data/test/dummy/node_modules/json5/test/parse-cases/numbers/octal-coffeescript.txt +1 -0
  1848. data/test/dummy/node_modules/json5/test/parse-cases/numbers/octal.txt +1 -0
  1849. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-binary-coffeescript.txt +1 -0
  1850. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-float-leading-decimal-point.json5 +1 -0
  1851. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-float-leading-zero.json5 +1 -0
  1852. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-float-trailing-decimal-point.json5 +1 -0
  1853. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-float.json5 +1 -0
  1854. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-hexadecimal.json5 +1 -0
  1855. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-infinity.json5 +1 -0
  1856. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-integer.json5 +1 -0
  1857. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-noctal.js +1 -0
  1858. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-octal-coffeescript.txt +1 -0
  1859. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-octal.txt +1 -0
  1860. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-zero-binary-coffeescript.txt +1 -0
  1861. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-zero-float-leading-decimal-point.json5 +1 -0
  1862. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-zero-float-trailing-decimal-point.json5 +1 -0
  1863. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-zero-float.json5 +1 -0
  1864. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-zero-hexadecimal.json5 +1 -0
  1865. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-zero-integer.json5 +1 -0
  1866. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-zero-octal-coffeescript.txt +1 -0
  1867. data/test/dummy/node_modules/json5/test/parse-cases/numbers/positive-zero-octal.txt +1 -0
  1868. data/test/dummy/node_modules/json5/test/parse-cases/numbers/zero-binary-coffeescript.txt +1 -0
  1869. data/test/dummy/node_modules/json5/test/parse-cases/numbers/zero-float-leading-decimal-point.json5 +1 -0
  1870. data/test/dummy/node_modules/json5/test/parse-cases/numbers/zero-float-trailing-decimal-point.json5 +1 -0
  1871. data/test/dummy/node_modules/json5/test/parse-cases/numbers/zero-float.json +1 -0
  1872. data/test/dummy/node_modules/json5/test/parse-cases/numbers/zero-hexadecimal.json5 +1 -0
  1873. data/test/dummy/node_modules/json5/test/parse-cases/numbers/zero-integer-with-integer-exponent.json +1 -0
  1874. data/test/dummy/node_modules/json5/test/parse-cases/numbers/zero-integer.json +1 -0
  1875. data/test/dummy/node_modules/json5/test/parse-cases/numbers/zero-octal-coffeescript.txt +1 -0
  1876. data/test/dummy/node_modules/json5/test/parse-cases/numbers/zero-octal.txt +1 -0
  1877. data/test/dummy/node_modules/json5/test/parse-cases/objects/duplicate-keys.json +4 -0
  1878. data/test/dummy/node_modules/json5/test/parse-cases/objects/empty-object.json +1 -0
  1879. data/test/dummy/node_modules/json5/test/parse-cases/objects/illegal-unquoted-key-number.txt +3 -0
  1880. data/test/dummy/node_modules/json5/test/parse-cases/objects/illegal-unquoted-key-symbol.txt +3 -0
  1881. data/test/dummy/node_modules/json5/test/parse-cases/objects/leading-comma-object.txt +3 -0
  1882. data/test/dummy/node_modules/json5/test/parse-cases/objects/lone-trailing-comma-object.txt +3 -0
  1883. data/test/dummy/node_modules/json5/test/parse-cases/objects/no-comma-object.txt +4 -0
  1884. data/test/dummy/node_modules/json5/test/parse-cases/objects/reserved-unquoted-key.json5 +3 -0
  1885. data/test/dummy/node_modules/json5/test/parse-cases/objects/single-quoted-key.json5 +3 -0
  1886. data/test/dummy/node_modules/json5/test/parse-cases/objects/trailing-comma-object.json5 +3 -0
  1887. data/test/dummy/node_modules/json5/test/parse-cases/objects/unquoted-keys.json5 +8 -0
  1888. data/test/dummy/node_modules/json5/test/parse-cases/strings/escaped-single-quoted-string.json5 +1 -0
  1889. data/test/dummy/node_modules/json5/test/parse-cases/strings/multi-line-string.json5 +2 -0
  1890. data/test/dummy/node_modules/json5/test/parse-cases/strings/single-quoted-string.json5 +1 -0
  1891. data/test/dummy/node_modules/json5/test/parse-cases/strings/unescaped-multi-line-string.txt +2 -0
  1892. data/test/dummy/node_modules/json5/test/parse-cases/todo/unicode-escaped-unquoted-key.json5 +3 -0
  1893. data/test/dummy/node_modules/json5/test/parse-cases/todo/unicode-unquoted-key.json5 +3 -0
  1894. data/test/dummy/node_modules/json5/test/parse.js +89 -0
  1895. data/test/dummy/node_modules/json5/test/readme.md +23 -0
  1896. data/test/dummy/node_modules/json5/test/require.js +18 -0
  1897. data/test/dummy/node_modules/json5/test/stringify.js +498 -0
  1898. data/test/dummy/node_modules/jstransform/LICENSE +201 -0
  1899. data/test/dummy/node_modules/jstransform/README.md +98 -0
  1900. data/test/dummy/node_modules/jstransform/jestEnvironment.js +1 -0
  1901. data/test/dummy/node_modules/jstransform/jestPreprocessor.js +13 -0
  1902. data/test/dummy/node_modules/jstransform/package.json +114 -0
  1903. data/test/dummy/node_modules/jstransform/polyfill/Object.es6.js +52 -0
  1904. data/test/dummy/node_modules/jstransform/src/__tests__/jstransform-test.js +481 -0
  1905. data/test/dummy/node_modules/jstransform/src/__tests__/jstransform-utils-test.js +66 -0
  1906. data/test/dummy/node_modules/jstransform/src/docblock.js +86 -0
  1907. data/test/dummy/node_modules/jstransform/src/jstransform.js +299 -0
  1908. data/test/dummy/node_modules/jstransform/src/utils.js +708 -0
  1909. data/test/dummy/node_modules/jstransform/visitors/__tests__/es6-arrow-function-visitors-test.js +239 -0
  1910. data/test/dummy/node_modules/jstransform/visitors/__tests__/es6-call-spread-visitors-test.js +96 -0
  1911. data/test/dummy/node_modules/jstransform/visitors/__tests__/es6-class-visitors-test.js +1515 -0
  1912. data/test/dummy/node_modules/jstransform/visitors/__tests__/es6-destructuring-visitors-test.js +279 -0
  1913. data/test/dummy/node_modules/jstransform/visitors/__tests__/es6-es7-object-integration-test.js +62 -0
  1914. data/test/dummy/node_modules/jstransform/visitors/__tests__/es6-object-concise-method-visitors-test.js +133 -0
  1915. data/test/dummy/node_modules/jstransform/visitors/__tests__/es6-object-short-notation-visitors-test.js +119 -0
  1916. data/test/dummy/node_modules/jstransform/visitors/__tests__/es6-rest-param-visitors-test.js +328 -0
  1917. data/test/dummy/node_modules/jstransform/visitors/__tests__/es6-template-visitors-test.js +208 -0
  1918. data/test/dummy/node_modules/jstransform/visitors/__tests__/es7-rest-property-helpers-test.js +97 -0
  1919. data/test/dummy/node_modules/jstransform/visitors/__tests__/es7-spread-property-visitors-test.js +160 -0
  1920. data/test/dummy/node_modules/jstransform/visitors/__tests__/gen/generate-type-syntax-test.js +52 -0
  1921. data/test/dummy/node_modules/jstransform/visitors/__tests__/gen/type-syntax-test.rec.js +846 -0
  1922. data/test/dummy/node_modules/jstransform/visitors/__tests__/reserved-words-test.js +74 -0
  1923. data/test/dummy/node_modules/jstransform/visitors/__tests__/type-alias-syntax-test.js +83 -0
  1924. data/test/dummy/node_modules/jstransform/visitors/__tests__/type-class-syntax-test.js +298 -0
  1925. data/test/dummy/node_modules/jstransform/visitors/__tests__/type-function-syntax-test.js +298 -0
  1926. data/test/dummy/node_modules/jstransform/visitors/__tests__/type-interface-syntax-test.js +72 -0
  1927. data/test/dummy/node_modules/jstransform/visitors/__tests__/type-object-method-syntax-test.js +186 -0
  1928. data/test/dummy/node_modules/jstransform/visitors/__tests__/type-pattern-syntax-test.js +91 -0
  1929. data/test/dummy/node_modules/jstransform/visitors/__tests__/type-syntax-test.js +194 -0
  1930. data/test/dummy/node_modules/jstransform/visitors/__tests__/type-variable-declaration-syntax-test.js +208 -0
  1931. data/test/dummy/node_modules/jstransform/visitors/es6-arrow-function-visitors.js +158 -0
  1932. data/test/dummy/node_modules/jstransform/visitors/es6-call-spread-visitors.js +107 -0
  1933. data/test/dummy/node_modules/jstransform/visitors/es6-class-visitors.js +588 -0
  1934. data/test/dummy/node_modules/jstransform/visitors/es6-destructuring-visitors.js +280 -0
  1935. data/test/dummy/node_modules/jstransform/visitors/es6-object-concise-method-visitors.js +69 -0
  1936. data/test/dummy/node_modules/jstransform/visitors/es6-object-short-notation-visitors.js +53 -0
  1937. data/test/dummy/node_modules/jstransform/visitors/es6-rest-param-visitors.js +106 -0
  1938. data/test/dummy/node_modules/jstransform/visitors/es6-template-visitors.js +156 -0
  1939. data/test/dummy/node_modules/jstransform/visitors/es7-rest-property-helpers.js +80 -0
  1940. data/test/dummy/node_modules/jstransform/visitors/es7-spread-property-visitors.js +108 -0
  1941. data/test/dummy/node_modules/jstransform/visitors/reserved-words-helper.js +74 -0
  1942. data/test/dummy/node_modules/jstransform/visitors/reserved-words-visitors.js +68 -0
  1943. data/test/dummy/node_modules/jstransform/visitors/type-syntax.js +172 -0
  1944. data/test/dummy/node_modules/left-pad/README.md +21 -0
  1945. data/test/dummy/node_modules/left-pad/index.js +17 -0
  1946. data/test/dummy/node_modules/left-pad/package.json +77 -0
  1947. data/test/dummy/node_modules/line-numbers/LICENSE +21 -0
  1948. data/test/dummy/node_modules/line-numbers/changelog.md +11 -0
  1949. data/test/dummy/node_modules/line-numbers/index.js +32 -0
  1950. data/test/dummy/node_modules/line-numbers/package.json +83 -0
  1951. data/test/dummy/node_modules/line-numbers/readme.md +67 -0
  1952. data/test/dummy/node_modules/line-numbers/test/index.js +105 -0
  1953. data/test/dummy/node_modules/lodash/LICENSE +22 -0
  1954. data/test/dummy/node_modules/lodash/README.md +121 -0
  1955. data/test/dummy/node_modules/lodash/array.js +44 -0
  1956. data/test/dummy/node_modules/lodash/array/chunk.js +46 -0
  1957. data/test/dummy/node_modules/lodash/array/compact.js +30 -0
  1958. data/test/dummy/node_modules/lodash/array/difference.js +29 -0
  1959. data/test/dummy/node_modules/lodash/array/drop.js +39 -0
  1960. data/test/dummy/node_modules/lodash/array/dropRight.js +40 -0
  1961. data/test/dummy/node_modules/lodash/array/dropRightWhile.js +59 -0
  1962. data/test/dummy/node_modules/lodash/array/dropWhile.js +59 -0
  1963. data/test/dummy/node_modules/lodash/array/fill.js +44 -0
  1964. data/test/dummy/node_modules/lodash/array/findIndex.js +53 -0
  1965. data/test/dummy/node_modules/lodash/array/findLastIndex.js +53 -0
  1966. data/test/dummy/node_modules/lodash/array/first.js +22 -0
  1967. data/test/dummy/node_modules/lodash/array/flatten.js +32 -0
  1968. data/test/dummy/node_modules/lodash/array/flattenDeep.js +21 -0
  1969. data/test/dummy/node_modules/lodash/array/head.js +1 -0
  1970. data/test/dummy/node_modules/lodash/array/indexOf.js +53 -0
  1971. data/test/dummy/node_modules/lodash/array/initial.js +20 -0
  1972. data/test/dummy/node_modules/lodash/array/intersection.js +58 -0
  1973. data/test/dummy/node_modules/lodash/array/last.js +19 -0
  1974. data/test/dummy/node_modules/lodash/array/lastIndexOf.js +60 -0
  1975. data/test/dummy/node_modules/lodash/array/object.js +1 -0
  1976. data/test/dummy/node_modules/lodash/array/pull.js +52 -0
  1977. data/test/dummy/node_modules/lodash/array/pullAt.js +40 -0
  1978. data/test/dummy/node_modules/lodash/array/remove.js +64 -0
  1979. data/test/dummy/node_modules/lodash/array/rest.js +21 -0
  1980. data/test/dummy/node_modules/lodash/array/slice.js +30 -0
  1981. data/test/dummy/node_modules/lodash/array/sortedIndex.js +53 -0
  1982. data/test/dummy/node_modules/lodash/array/sortedLastIndex.js +25 -0
  1983. data/test/dummy/node_modules/lodash/array/tail.js +1 -0
  1984. data/test/dummy/node_modules/lodash/array/take.js +39 -0
  1985. data/test/dummy/node_modules/lodash/array/takeRight.js +40 -0
  1986. data/test/dummy/node_modules/lodash/array/takeRightWhile.js +59 -0
  1987. data/test/dummy/node_modules/lodash/array/takeWhile.js +59 -0
  1988. data/test/dummy/node_modules/lodash/array/union.js +24 -0
  1989. data/test/dummy/node_modules/lodash/array/uniq.js +71 -0
  1990. data/test/dummy/node_modules/lodash/array/unique.js +1 -0
  1991. data/test/dummy/node_modules/lodash/array/unzip.js +47 -0
  1992. data/test/dummy/node_modules/lodash/array/unzipWith.js +41 -0
  1993. data/test/dummy/node_modules/lodash/array/without.js +27 -0
  1994. data/test/dummy/node_modules/lodash/array/xor.js +35 -0
  1995. data/test/dummy/node_modules/lodash/array/zip.js +21 -0
  1996. data/test/dummy/node_modules/lodash/array/zipObject.js +43 -0
  1997. data/test/dummy/node_modules/lodash/array/zipWith.js +36 -0
  1998. data/test/dummy/node_modules/lodash/chain.js +16 -0
  1999. data/test/dummy/node_modules/lodash/chain/chain.js +35 -0
  2000. data/test/dummy/node_modules/lodash/chain/commit.js +1 -0
  2001. data/test/dummy/node_modules/lodash/chain/concat.js +1 -0
  2002. data/test/dummy/node_modules/lodash/chain/lodash.js +125 -0
  2003. data/test/dummy/node_modules/lodash/chain/plant.js +1 -0
  2004. data/test/dummy/node_modules/lodash/chain/reverse.js +1 -0
  2005. data/test/dummy/node_modules/lodash/chain/run.js +1 -0
  2006. data/test/dummy/node_modules/lodash/chain/tap.js +29 -0
  2007. data/test/dummy/node_modules/lodash/chain/thru.js +26 -0
  2008. data/test/dummy/node_modules/lodash/chain/toJSON.js +1 -0
  2009. data/test/dummy/node_modules/lodash/chain/toString.js +1 -0
  2010. data/test/dummy/node_modules/lodash/chain/value.js +1 -0
  2011. data/test/dummy/node_modules/lodash/chain/valueOf.js +1 -0
  2012. data/test/dummy/node_modules/lodash/chain/wrapperChain.js +32 -0
  2013. data/test/dummy/node_modules/lodash/chain/wrapperCommit.js +32 -0
  2014. data/test/dummy/node_modules/lodash/chain/wrapperConcat.js +34 -0
  2015. data/test/dummy/node_modules/lodash/chain/wrapperPlant.js +45 -0
  2016. data/test/dummy/node_modules/lodash/chain/wrapperReverse.js +43 -0
  2017. data/test/dummy/node_modules/lodash/chain/wrapperToString.js +17 -0
  2018. data/test/dummy/node_modules/lodash/chain/wrapperValue.js +20 -0
  2019. data/test/dummy/node_modules/lodash/collection.js +44 -0
  2020. data/test/dummy/node_modules/lodash/collection/all.js +1 -0
  2021. data/test/dummy/node_modules/lodash/collection/any.js +1 -0
  2022. data/test/dummy/node_modules/lodash/collection/at.js +29 -0
  2023. data/test/dummy/node_modules/lodash/collection/collect.js +1 -0
  2024. data/test/dummy/node_modules/lodash/collection/contains.js +1 -0
  2025. data/test/dummy/node_modules/lodash/collection/countBy.js +54 -0
  2026. data/test/dummy/node_modules/lodash/collection/detect.js +1 -0
  2027. data/test/dummy/node_modules/lodash/collection/each.js +1 -0
  2028. data/test/dummy/node_modules/lodash/collection/eachRight.js +1 -0
  2029. data/test/dummy/node_modules/lodash/collection/every.js +66 -0
  2030. data/test/dummy/node_modules/lodash/collection/filter.js +61 -0
  2031. data/test/dummy/node_modules/lodash/collection/find.js +56 -0
  2032. data/test/dummy/node_modules/lodash/collection/findLast.js +25 -0
  2033. data/test/dummy/node_modules/lodash/collection/findWhere.js +37 -0
  2034. data/test/dummy/node_modules/lodash/collection/foldl.js +1 -0
  2035. data/test/dummy/node_modules/lodash/collection/foldr.js +1 -0
  2036. data/test/dummy/node_modules/lodash/collection/forEach.js +37 -0
  2037. data/test/dummy/node_modules/lodash/collection/forEachRight.js +26 -0
  2038. data/test/dummy/node_modules/lodash/collection/groupBy.js +59 -0
  2039. data/test/dummy/node_modules/lodash/collection/include.js +1 -0
  2040. data/test/dummy/node_modules/lodash/collection/includes.js +57 -0
  2041. data/test/dummy/node_modules/lodash/collection/indexBy.js +53 -0
  2042. data/test/dummy/node_modules/lodash/collection/inject.js +1 -0
  2043. data/test/dummy/node_modules/lodash/collection/invoke.js +42 -0
  2044. data/test/dummy/node_modules/lodash/collection/map.js +68 -0
  2045. data/test/dummy/node_modules/lodash/collection/max.js +1 -0
  2046. data/test/dummy/node_modules/lodash/collection/min.js +1 -0
  2047. data/test/dummy/node_modules/lodash/collection/partition.js +66 -0
  2048. data/test/dummy/node_modules/lodash/collection/pluck.js +31 -0
  2049. data/test/dummy/node_modules/lodash/collection/reduce.js +44 -0
  2050. data/test/dummy/node_modules/lodash/collection/reduceRight.js +29 -0
  2051. data/test/dummy/node_modules/lodash/collection/reject.js +50 -0
  2052. data/test/dummy/node_modules/lodash/collection/sample.js +50 -0
  2053. data/test/dummy/node_modules/lodash/collection/select.js +1 -0
  2054. data/test/dummy/node_modules/lodash/collection/shuffle.js +24 -0
  2055. data/test/dummy/node_modules/lodash/collection/size.js +30 -0
  2056. data/test/dummy/node_modules/lodash/collection/some.js +67 -0
  2057. data/test/dummy/node_modules/lodash/collection/sortBy.js +71 -0
  2058. data/test/dummy/node_modules/lodash/collection/sortByAll.js +52 -0
  2059. data/test/dummy/node_modules/lodash/collection/sortByOrder.js +55 -0
  2060. data/test/dummy/node_modules/lodash/collection/sum.js +1 -0
  2061. data/test/dummy/node_modules/lodash/collection/where.js +37 -0
  2062. data/test/dummy/node_modules/lodash/date.js +3 -0
  2063. data/test/dummy/node_modules/lodash/date/now.js +24 -0
  2064. data/test/dummy/node_modules/lodash/function.js +28 -0
  2065. data/test/dummy/node_modules/lodash/function/after.js +48 -0
  2066. data/test/dummy/node_modules/lodash/function/ary.js +34 -0
  2067. data/test/dummy/node_modules/lodash/function/backflow.js +1 -0
  2068. data/test/dummy/node_modules/lodash/function/before.js +42 -0
  2069. data/test/dummy/node_modules/lodash/function/bind.js +56 -0
  2070. data/test/dummy/node_modules/lodash/function/bindAll.js +50 -0
  2071. data/test/dummy/node_modules/lodash/function/bindKey.js +66 -0
  2072. data/test/dummy/node_modules/lodash/function/compose.js +1 -0
  2073. data/test/dummy/node_modules/lodash/function/curry.js +51 -0
  2074. data/test/dummy/node_modules/lodash/function/curryRight.js +48 -0
  2075. data/test/dummy/node_modules/lodash/function/debounce.js +181 -0
  2076. data/test/dummy/node_modules/lodash/function/defer.js +25 -0
  2077. data/test/dummy/node_modules/lodash/function/delay.js +26 -0
  2078. data/test/dummy/node_modules/lodash/function/flow.js +25 -0
  2079. data/test/dummy/node_modules/lodash/function/flowRight.js +25 -0
  2080. data/test/dummy/node_modules/lodash/function/memoize.js +80 -0
  2081. data/test/dummy/node_modules/lodash/function/modArgs.js +58 -0
  2082. data/test/dummy/node_modules/lodash/function/negate.js +32 -0
  2083. data/test/dummy/node_modules/lodash/function/once.js +24 -0
  2084. data/test/dummy/node_modules/lodash/function/partial.js +43 -0
  2085. data/test/dummy/node_modules/lodash/function/partialRight.js +42 -0
  2086. data/test/dummy/node_modules/lodash/function/rearg.js +40 -0
  2087. data/test/dummy/node_modules/lodash/function/restParam.js +58 -0
  2088. data/test/dummy/node_modules/lodash/function/spread.js +44 -0
  2089. data/test/dummy/node_modules/lodash/function/throttle.js +62 -0
  2090. data/test/dummy/node_modules/lodash/function/wrap.js +33 -0
  2091. data/test/dummy/node_modules/lodash/index.js +12351 -0
  2092. data/test/dummy/node_modules/lodash/internal/LazyWrapper.js +26 -0
  2093. data/test/dummy/node_modules/lodash/internal/LodashWrapper.js +21 -0
  2094. data/test/dummy/node_modules/lodash/internal/MapCache.js +24 -0
  2095. data/test/dummy/node_modules/lodash/internal/SetCache.js +29 -0
  2096. data/test/dummy/node_modules/lodash/internal/arrayConcat.js +25 -0
  2097. data/test/dummy/node_modules/lodash/internal/arrayCopy.js +20 -0
  2098. data/test/dummy/node_modules/lodash/internal/arrayEach.js +22 -0
  2099. data/test/dummy/node_modules/lodash/internal/arrayEachRight.js +21 -0
  2100. data/test/dummy/node_modules/lodash/internal/arrayEvery.js +23 -0
  2101. data/test/dummy/node_modules/lodash/internal/arrayExtremum.js +30 -0
  2102. data/test/dummy/node_modules/lodash/internal/arrayFilter.js +25 -0
  2103. data/test/dummy/node_modules/lodash/internal/arrayMap.js +21 -0
  2104. data/test/dummy/node_modules/lodash/internal/arrayPush.js +20 -0
  2105. data/test/dummy/node_modules/lodash/internal/arrayReduce.js +26 -0
  2106. data/test/dummy/node_modules/lodash/internal/arrayReduceRight.js +24 -0
  2107. data/test/dummy/node_modules/lodash/internal/arraySome.js +23 -0
  2108. data/test/dummy/node_modules/lodash/internal/arraySum.js +20 -0
  2109. data/test/dummy/node_modules/lodash/internal/assignDefaults.js +13 -0
  2110. data/test/dummy/node_modules/lodash/internal/assignOwnDefaults.js +26 -0
  2111. data/test/dummy/node_modules/lodash/internal/assignWith.js +32 -0
  2112. data/test/dummy/node_modules/lodash/internal/baseAssign.js +19 -0
  2113. data/test/dummy/node_modules/lodash/internal/baseAt.js +32 -0
  2114. data/test/dummy/node_modules/lodash/internal/baseCallback.js +35 -0
  2115. data/test/dummy/node_modules/lodash/internal/baseClone.js +128 -0
  2116. data/test/dummy/node_modules/lodash/internal/baseCompareAscending.js +34 -0
  2117. data/test/dummy/node_modules/lodash/internal/baseCopy.js +23 -0
  2118. data/test/dummy/node_modules/lodash/internal/baseCreate.js +23 -0
  2119. data/test/dummy/node_modules/lodash/internal/baseDelay.js +21 -0
  2120. data/test/dummy/node_modules/lodash/internal/baseDifference.js +55 -0
  2121. data/test/dummy/node_modules/lodash/internal/baseEach.js +15 -0
  2122. data/test/dummy/node_modules/lodash/internal/baseEachRight.js +15 -0
  2123. data/test/dummy/node_modules/lodash/internal/baseEvery.js +22 -0
  2124. data/test/dummy/node_modules/lodash/internal/baseExtremum.js +29 -0
  2125. data/test/dummy/node_modules/lodash/internal/baseFill.js +31 -0
  2126. data/test/dummy/node_modules/lodash/internal/baseFilter.js +22 -0
  2127. data/test/dummy/node_modules/lodash/internal/baseFind.js +25 -0
  2128. data/test/dummy/node_modules/lodash/internal/baseFindIndex.js +23 -0
  2129. data/test/dummy/node_modules/lodash/internal/baseFlatten.js +41 -0
  2130. data/test/dummy/node_modules/lodash/internal/baseFor.js +17 -0
  2131. data/test/dummy/node_modules/lodash/internal/baseForIn.js +17 -0
  2132. data/test/dummy/node_modules/lodash/internal/baseForOwn.js +17 -0
  2133. data/test/dummy/node_modules/lodash/internal/baseForOwnRight.js +17 -0
  2134. data/test/dummy/node_modules/lodash/internal/baseForRight.js +15 -0
  2135. data/test/dummy/node_modules/lodash/internal/baseFunctions.js +27 -0
  2136. data/test/dummy/node_modules/lodash/internal/baseGet.js +29 -0
  2137. data/test/dummy/node_modules/lodash/internal/baseIndexOf.js +27 -0
  2138. data/test/dummy/node_modules/lodash/internal/baseIsEqual.js +28 -0
  2139. data/test/dummy/node_modules/lodash/internal/baseIsEqualDeep.js +102 -0
  2140. data/test/dummy/node_modules/lodash/internal/baseIsFunction.js +15 -0
  2141. data/test/dummy/node_modules/lodash/internal/baseIsMatch.js +52 -0
  2142. data/test/dummy/node_modules/lodash/internal/baseLodash.js +10 -0
  2143. data/test/dummy/node_modules/lodash/internal/baseMap.js +23 -0
  2144. data/test/dummy/node_modules/lodash/internal/baseMatches.js +30 -0
  2145. data/test/dummy/node_modules/lodash/internal/baseMatchesProperty.js +45 -0
  2146. data/test/dummy/node_modules/lodash/internal/baseMerge.js +56 -0
  2147. data/test/dummy/node_modules/lodash/internal/baseMergeDeep.js +67 -0
  2148. data/test/dummy/node_modules/lodash/internal/baseProperty.js +14 -0
  2149. data/test/dummy/node_modules/lodash/internal/basePropertyDeep.js +19 -0
  2150. data/test/dummy/node_modules/lodash/internal/basePullAt.js +30 -0
  2151. data/test/dummy/node_modules/lodash/internal/baseRandom.js +18 -0
  2152. data/test/dummy/node_modules/lodash/internal/baseReduce.js +24 -0
  2153. data/test/dummy/node_modules/lodash/internal/baseSetData.js +17 -0
  2154. data/test/dummy/node_modules/lodash/internal/baseSlice.js +32 -0
  2155. data/test/dummy/node_modules/lodash/internal/baseSome.js +23 -0
  2156. data/test/dummy/node_modules/lodash/internal/baseSortBy.js +21 -0
  2157. data/test/dummy/node_modules/lodash/internal/baseSortByOrder.js +31 -0
  2158. data/test/dummy/node_modules/lodash/internal/baseSum.js +20 -0
  2159. data/test/dummy/node_modules/lodash/internal/baseToString.js +13 -0
  2160. data/test/dummy/node_modules/lodash/internal/baseUniq.js +60 -0
  2161. data/test/dummy/node_modules/lodash/internal/baseValues.js +22 -0
  2162. data/test/dummy/node_modules/lodash/internal/baseWhile.js +24 -0
  2163. data/test/dummy/node_modules/lodash/internal/baseWrapperValue.js +29 -0
  2164. data/test/dummy/node_modules/lodash/internal/binaryIndex.js +39 -0
  2165. data/test/dummy/node_modules/lodash/internal/binaryIndexBy.js +57 -0
  2166. data/test/dummy/node_modules/lodash/internal/bindCallback.js +39 -0
  2167. data/test/dummy/node_modules/lodash/internal/bufferClone.js +20 -0
  2168. data/test/dummy/node_modules/lodash/internal/cacheIndexOf.js +19 -0
  2169. data/test/dummy/node_modules/lodash/internal/cachePush.js +20 -0
  2170. data/test/dummy/node_modules/lodash/internal/charsLeftIndex.js +18 -0
  2171. data/test/dummy/node_modules/lodash/internal/charsRightIndex.js +17 -0
  2172. data/test/dummy/node_modules/lodash/internal/compareAscending.js +16 -0
  2173. data/test/dummy/node_modules/lodash/internal/compareMultiple.js +44 -0
  2174. data/test/dummy/node_modules/lodash/internal/composeArgs.js +34 -0
  2175. data/test/dummy/node_modules/lodash/internal/composeArgsRight.js +36 -0
  2176. data/test/dummy/node_modules/lodash/internal/createAggregator.js +35 -0
  2177. data/test/dummy/node_modules/lodash/internal/createAssigner.js +41 -0
  2178. data/test/dummy/node_modules/lodash/internal/createBaseEach.js +31 -0
  2179. data/test/dummy/node_modules/lodash/internal/createBaseFor.js +27 -0
  2180. data/test/dummy/node_modules/lodash/internal/createBindWrapper.js +22 -0
  2181. data/test/dummy/node_modules/lodash/internal/createCache.js +21 -0
  2182. data/test/dummy/node_modules/lodash/internal/createCompounder.js +26 -0
  2183. data/test/dummy/node_modules/lodash/internal/createCtorWrapper.js +37 -0
  2184. data/test/dummy/node_modules/lodash/internal/createCurry.js +23 -0
  2185. data/test/dummy/node_modules/lodash/internal/createDefaults.js +22 -0
  2186. data/test/dummy/node_modules/lodash/internal/createExtremum.js +33 -0
  2187. data/test/dummy/node_modules/lodash/internal/createFind.js +25 -0
  2188. data/test/dummy/node_modules/lodash/internal/createFindIndex.js +21 -0
  2189. data/test/dummy/node_modules/lodash/internal/createFindKey.js +18 -0
  2190. data/test/dummy/node_modules/lodash/internal/createFlow.js +74 -0
  2191. data/test/dummy/node_modules/lodash/internal/createForEach.js +20 -0
  2192. data/test/dummy/node_modules/lodash/internal/createForIn.js +20 -0
  2193. data/test/dummy/node_modules/lodash/internal/createForOwn.js +19 -0
  2194. data/test/dummy/node_modules/lodash/internal/createHybridWrapper.js +111 -0
  2195. data/test/dummy/node_modules/lodash/internal/createObjectMapper.js +26 -0
  2196. data/test/dummy/node_modules/lodash/internal/createPadDir.js +18 -0
  2197. data/test/dummy/node_modules/lodash/internal/createPadding.js +29 -0
  2198. data/test/dummy/node_modules/lodash/internal/createPartial.js +20 -0
  2199. data/test/dummy/node_modules/lodash/internal/createPartialWrapper.js +43 -0
  2200. data/test/dummy/node_modules/lodash/internal/createReduce.js +22 -0
  2201. data/test/dummy/node_modules/lodash/internal/createRound.js +23 -0
  2202. data/test/dummy/node_modules/lodash/internal/createSortedIndex.js +20 -0
  2203. data/test/dummy/node_modules/lodash/internal/createWrapper.js +86 -0
  2204. data/test/dummy/node_modules/lodash/internal/deburrLetter.js +33 -0
  2205. data/test/dummy/node_modules/lodash/internal/equalArrays.js +51 -0
  2206. data/test/dummy/node_modules/lodash/internal/equalByTag.js +48 -0
  2207. data/test/dummy/node_modules/lodash/internal/equalObjects.js +67 -0
  2208. data/test/dummy/node_modules/lodash/internal/escapeHtmlChar.js +22 -0
  2209. data/test/dummy/node_modules/lodash/internal/escapeRegExpChar.js +38 -0
  2210. data/test/dummy/node_modules/lodash/internal/escapeStringChar.js +22 -0
  2211. data/test/dummy/node_modules/lodash/internal/getData.js +15 -0
  2212. data/test/dummy/node_modules/lodash/internal/getFuncName.js +25 -0
  2213. data/test/dummy/node_modules/lodash/internal/getLength.js +15 -0
  2214. data/test/dummy/node_modules/lodash/internal/getMatchData.js +21 -0
  2215. data/test/dummy/node_modules/lodash/internal/getNative.js +16 -0
  2216. data/test/dummy/node_modules/lodash/internal/getView.js +33 -0
  2217. data/test/dummy/node_modules/lodash/internal/indexOfNaN.js +23 -0
  2218. data/test/dummy/node_modules/lodash/internal/initCloneArray.js +26 -0
  2219. data/test/dummy/node_modules/lodash/internal/initCloneByTag.js +63 -0
  2220. data/test/dummy/node_modules/lodash/internal/initCloneObject.js +16 -0
  2221. data/test/dummy/node_modules/lodash/internal/invokePath.js +26 -0
  2222. data/test/dummy/node_modules/lodash/internal/isArrayLike.js +15 -0
  2223. data/test/dummy/node_modules/lodash/internal/isIndex.js +24 -0
  2224. data/test/dummy/node_modules/lodash/internal/isIterateeCall.js +28 -0
  2225. data/test/dummy/node_modules/lodash/internal/isKey.js +28 -0
  2226. data/test/dummy/node_modules/lodash/internal/isLaziable.js +27 -0
  2227. data/test/dummy/node_modules/lodash/internal/isLength.js +20 -0
  2228. data/test/dummy/node_modules/lodash/internal/isObjectLike.js +12 -0
  2229. data/test/dummy/node_modules/lodash/internal/isSpace.js +14 -0
  2230. data/test/dummy/node_modules/lodash/internal/isStrictComparable.js +15 -0
  2231. data/test/dummy/node_modules/lodash/internal/lazyClone.js +23 -0
  2232. data/test/dummy/node_modules/lodash/internal/lazyReverse.js +23 -0
  2233. data/test/dummy/node_modules/lodash/internal/lazyValue.js +72 -0
  2234. data/test/dummy/node_modules/lodash/internal/mapDelete.js +14 -0
  2235. data/test/dummy/node_modules/lodash/internal/mapGet.js +14 -0
  2236. data/test/dummy/node_modules/lodash/internal/mapHas.js +20 -0
  2237. data/test/dummy/node_modules/lodash/internal/mapSet.js +18 -0
  2238. data/test/dummy/node_modules/lodash/internal/mergeData.js +89 -0
  2239. data/test/dummy/node_modules/lodash/internal/mergeDefaults.js +15 -0
  2240. data/test/dummy/node_modules/lodash/internal/metaMap.js +9 -0
  2241. data/test/dummy/node_modules/lodash/internal/pickByArray.js +28 -0
  2242. data/test/dummy/node_modules/lodash/internal/pickByCallback.js +22 -0
  2243. data/test/dummy/node_modules/lodash/internal/reEscape.js +4 -0
  2244. data/test/dummy/node_modules/lodash/internal/reEvaluate.js +4 -0
  2245. data/test/dummy/node_modules/lodash/internal/reInterpolate.js +4 -0
  2246. data/test/dummy/node_modules/lodash/internal/realNames.js +4 -0
  2247. data/test/dummy/node_modules/lodash/internal/reorder.js +29 -0
  2248. data/test/dummy/node_modules/lodash/internal/replaceHolders.js +28 -0
  2249. data/test/dummy/node_modules/lodash/internal/setData.js +41 -0
  2250. data/test/dummy/node_modules/lodash/internal/shimKeys.js +41 -0
  2251. data/test/dummy/node_modules/lodash/internal/sortedUniq.js +29 -0
  2252. data/test/dummy/node_modules/lodash/internal/toIterable.js +22 -0
  2253. data/test/dummy/node_modules/lodash/internal/toObject.js +14 -0
  2254. data/test/dummy/node_modules/lodash/internal/toPath.js +28 -0
  2255. data/test/dummy/node_modules/lodash/internal/trimmedLeftIndex.js +19 -0
  2256. data/test/dummy/node_modules/lodash/internal/trimmedRightIndex.js +18 -0
  2257. data/test/dummy/node_modules/lodash/internal/unescapeHtmlChar.js +22 -0
  2258. data/test/dummy/node_modules/lodash/internal/wrapperClone.js +18 -0
  2259. data/test/dummy/node_modules/lodash/lang.js +32 -0
  2260. data/test/dummy/node_modules/lodash/lang/clone.js +70 -0
  2261. data/test/dummy/node_modules/lodash/lang/cloneDeep.js +55 -0
  2262. data/test/dummy/node_modules/lodash/lang/eq.js +1 -0
  2263. data/test/dummy/node_modules/lodash/lang/gt.js +25 -0
  2264. data/test/dummy/node_modules/lodash/lang/gte.js +25 -0
  2265. data/test/dummy/node_modules/lodash/lang/isArguments.js +34 -0
  2266. data/test/dummy/node_modules/lodash/lang/isArray.js +40 -0
  2267. data/test/dummy/node_modules/lodash/lang/isBoolean.js +35 -0
  2268. data/test/dummy/node_modules/lodash/lang/isDate.js +35 -0
  2269. data/test/dummy/node_modules/lodash/lang/isElement.js +24 -0
  2270. data/test/dummy/node_modules/lodash/lang/isEmpty.js +47 -0
  2271. data/test/dummy/node_modules/lodash/lang/isEqual.js +54 -0
  2272. data/test/dummy/node_modules/lodash/lang/isError.js +36 -0
  2273. data/test/dummy/node_modules/lodash/lang/isFinite.js +35 -0
  2274. data/test/dummy/node_modules/lodash/lang/isFunction.js +38 -0
  2275. data/test/dummy/node_modules/lodash/lang/isMatch.js +49 -0
  2276. data/test/dummy/node_modules/lodash/lang/isNaN.js +34 -0
  2277. data/test/dummy/node_modules/lodash/lang/isNative.js +48 -0
  2278. data/test/dummy/node_modules/lodash/lang/isNull.js +21 -0
  2279. data/test/dummy/node_modules/lodash/lang/isNumber.js +41 -0
  2280. data/test/dummy/node_modules/lodash/lang/isObject.js +28 -0
  2281. data/test/dummy/node_modules/lodash/lang/isPlainObject.js +71 -0
  2282. data/test/dummy/node_modules/lodash/lang/isRegExp.js +35 -0
  2283. data/test/dummy/node_modules/lodash/lang/isString.js +35 -0
  2284. data/test/dummy/node_modules/lodash/lang/isTypedArray.js +74 -0
  2285. data/test/dummy/node_modules/lodash/lang/isUndefined.js +21 -0
  2286. data/test/dummy/node_modules/lodash/lang/lt.js +25 -0
  2287. data/test/dummy/node_modules/lodash/lang/lte.js +25 -0
  2288. data/test/dummy/node_modules/lodash/lang/toArray.js +32 -0
  2289. data/test/dummy/node_modules/lodash/lang/toPlainObject.js +31 -0
  2290. data/test/dummy/node_modules/lodash/math.js +9 -0
  2291. data/test/dummy/node_modules/lodash/math/add.js +19 -0
  2292. data/test/dummy/node_modules/lodash/math/ceil.js +25 -0
  2293. data/test/dummy/node_modules/lodash/math/floor.js +25 -0
  2294. data/test/dummy/node_modules/lodash/math/max.js +56 -0
  2295. data/test/dummy/node_modules/lodash/math/min.js +56 -0
  2296. data/test/dummy/node_modules/lodash/math/round.js +25 -0
  2297. data/test/dummy/node_modules/lodash/math/sum.js +50 -0
  2298. data/test/dummy/node_modules/lodash/number.js +4 -0
  2299. data/test/dummy/node_modules/lodash/number/inRange.js +47 -0
  2300. data/test/dummy/node_modules/lodash/number/random.js +70 -0
  2301. data/test/dummy/node_modules/lodash/object.js +31 -0
  2302. data/test/dummy/node_modules/lodash/object/assign.js +43 -0
  2303. data/test/dummy/node_modules/lodash/object/create.js +47 -0
  2304. data/test/dummy/node_modules/lodash/object/defaults.js +25 -0
  2305. data/test/dummy/node_modules/lodash/object/defaultsDeep.js +25 -0
  2306. data/test/dummy/node_modules/lodash/object/extend.js +1 -0
  2307. data/test/dummy/node_modules/lodash/object/findKey.js +54 -0
  2308. data/test/dummy/node_modules/lodash/object/findLastKey.js +54 -0
  2309. data/test/dummy/node_modules/lodash/object/forIn.js +33 -0
  2310. data/test/dummy/node_modules/lodash/object/forInRight.js +31 -0
  2311. data/test/dummy/node_modules/lodash/object/forOwn.js +33 -0
  2312. data/test/dummy/node_modules/lodash/object/forOwnRight.js +31 -0
  2313. data/test/dummy/node_modules/lodash/object/functions.js +23 -0
  2314. data/test/dummy/node_modules/lodash/object/get.js +33 -0
  2315. data/test/dummy/node_modules/lodash/object/has.js +57 -0
  2316. data/test/dummy/node_modules/lodash/object/invert.js +60 -0
  2317. data/test/dummy/node_modules/lodash/object/keys.js +45 -0
  2318. data/test/dummy/node_modules/lodash/object/keysIn.js +64 -0
  2319. data/test/dummy/node_modules/lodash/object/mapKeys.js +25 -0
  2320. data/test/dummy/node_modules/lodash/object/mapValues.js +46 -0
  2321. data/test/dummy/node_modules/lodash/object/merge.js +54 -0
  2322. data/test/dummy/node_modules/lodash/object/methods.js +1 -0
  2323. data/test/dummy/node_modules/lodash/object/omit.js +47 -0
  2324. data/test/dummy/node_modules/lodash/object/pairs.js +33 -0
  2325. data/test/dummy/node_modules/lodash/object/pick.js +42 -0
  2326. data/test/dummy/node_modules/lodash/object/result.js +49 -0
  2327. data/test/dummy/node_modules/lodash/object/set.js +55 -0
  2328. data/test/dummy/node_modules/lodash/object/transform.js +61 -0
  2329. data/test/dummy/node_modules/lodash/object/values.js +33 -0
  2330. data/test/dummy/node_modules/lodash/object/valuesIn.js +31 -0
  2331. data/test/dummy/node_modules/lodash/package.json +125 -0
  2332. data/test/dummy/node_modules/lodash/string.js +25 -0
  2333. data/test/dummy/node_modules/lodash/string/camelCase.js +27 -0
  2334. data/test/dummy/node_modules/lodash/string/capitalize.js +21 -0
  2335. data/test/dummy/node_modules/lodash/string/deburr.js +29 -0
  2336. data/test/dummy/node_modules/lodash/string/endsWith.js +40 -0
  2337. data/test/dummy/node_modules/lodash/string/escape.js +48 -0
  2338. data/test/dummy/node_modules/lodash/string/escapeRegExp.js +32 -0
  2339. data/test/dummy/node_modules/lodash/string/kebabCase.js +26 -0
  2340. data/test/dummy/node_modules/lodash/string/pad.js +47 -0
  2341. data/test/dummy/node_modules/lodash/string/padLeft.js +27 -0
  2342. data/test/dummy/node_modules/lodash/string/padRight.js +27 -0
  2343. data/test/dummy/node_modules/lodash/string/parseInt.js +46 -0
  2344. data/test/dummy/node_modules/lodash/string/repeat.js +47 -0
  2345. data/test/dummy/node_modules/lodash/string/snakeCase.js +26 -0
  2346. data/test/dummy/node_modules/lodash/string/startCase.js +26 -0
  2347. data/test/dummy/node_modules/lodash/string/startsWith.js +36 -0
  2348. data/test/dummy/node_modules/lodash/string/template.js +226 -0
  2349. data/test/dummy/node_modules/lodash/string/templateSettings.js +67 -0
  2350. data/test/dummy/node_modules/lodash/string/trim.js +42 -0
  2351. data/test/dummy/node_modules/lodash/string/trimLeft.js +36 -0
  2352. data/test/dummy/node_modules/lodash/string/trimRight.js +36 -0
  2353. data/test/dummy/node_modules/lodash/string/trunc.js +105 -0
  2354. data/test/dummy/node_modules/lodash/string/unescape.js +33 -0
  2355. data/test/dummy/node_modules/lodash/string/words.js +38 -0
  2356. data/test/dummy/node_modules/lodash/support.js +10 -0
  2357. data/test/dummy/node_modules/lodash/utility.js +18 -0
  2358. data/test/dummy/node_modules/lodash/utility/attempt.js +32 -0
  2359. data/test/dummy/node_modules/lodash/utility/callback.js +53 -0
  2360. data/test/dummy/node_modules/lodash/utility/constant.js +23 -0
  2361. data/test/dummy/node_modules/lodash/utility/identity.js +20 -0
  2362. data/test/dummy/node_modules/lodash/utility/iteratee.js +1 -0
  2363. data/test/dummy/node_modules/lodash/utility/matches.js +33 -0
  2364. data/test/dummy/node_modules/lodash/utility/matchesProperty.js +32 -0
  2365. data/test/dummy/node_modules/lodash/utility/method.js +33 -0
  2366. data/test/dummy/node_modules/lodash/utility/methodOf.js +32 -0
  2367. data/test/dummy/node_modules/lodash/utility/mixin.js +82 -0
  2368. data/test/dummy/node_modules/lodash/utility/noop.js +19 -0
  2369. data/test/dummy/node_modules/lodash/utility/property.js +31 -0
  2370. data/test/dummy/node_modules/lodash/utility/propertyOf.js +30 -0
  2371. data/test/dummy/node_modules/lodash/utility/range.js +66 -0
  2372. data/test/dummy/node_modules/lodash/utility/times.js +60 -0
  2373. data/test/dummy/node_modules/lodash/utility/uniqueId.js +27 -0
  2374. data/test/dummy/node_modules/loose-envify/README.md +45 -0
  2375. data/test/dummy/node_modules/loose-envify/custom.js +2 -0
  2376. data/test/dummy/node_modules/loose-envify/index.js +1 -0
  2377. data/test/dummy/node_modules/loose-envify/loose-envify.js +36 -0
  2378. data/test/dummy/node_modules/loose-envify/package.json +86 -0
  2379. data/test/dummy/node_modules/loose-envify/replace.js +65 -0
  2380. data/test/dummy/node_modules/magic-string/README.md +227 -0
  2381. data/test/dummy/node_modules/magic-string/dist/magic-string.cjs.js +929 -0
  2382. data/test/dummy/node_modules/magic-string/dist/magic-string.cjs.js.map +1 -0
  2383. data/test/dummy/node_modules/magic-string/dist/magic-string.deps.js +980 -0
  2384. data/test/dummy/node_modules/magic-string/dist/magic-string.deps.js.map +1 -0
  2385. data/test/dummy/node_modules/magic-string/dist/magic-string.es6.js +927 -0
  2386. data/test/dummy/node_modules/magic-string/dist/magic-string.es6.js.map +1 -0
  2387. data/test/dummy/node_modules/magic-string/package.json +105 -0
  2388. data/test/dummy/node_modules/magic-string/src/Bundle/index.js +251 -0
  2389. data/test/dummy/node_modules/magic-string/src/MagicString/encodeMappings.js +130 -0
  2390. data/test/dummy/node_modules/magic-string/src/MagicString/guessIndent.js +25 -0
  2391. data/test/dummy/node_modules/magic-string/src/MagicString/index.js +440 -0
  2392. data/test/dummy/node_modules/magic-string/src/index.js +6 -0
  2393. data/test/dummy/node_modules/magic-string/src/utils/SourceMap.js +23 -0
  2394. data/test/dummy/node_modules/magic-string/src/utils/btoa.js +12 -0
  2395. data/test/dummy/node_modules/magic-string/src/utils/getRelativePath.js +18 -0
  2396. data/test/dummy/node_modules/magic-string/src/utils/hasOwnProp.js +1 -0
  2397. data/test/dummy/node_modules/minimatch/LICENSE +15 -0
  2398. data/test/dummy/node_modules/minimatch/README.md +216 -0
  2399. data/test/dummy/node_modules/minimatch/browser.js +1159 -0
  2400. data/test/dummy/node_modules/minimatch/minimatch.js +912 -0
  2401. data/test/dummy/node_modules/minimatch/package.json +87 -0
  2402. data/test/dummy/node_modules/minimist/LICENSE +18 -0
  2403. data/test/dummy/node_modules/minimist/example/parse.js +2 -0
  2404. data/test/dummy/node_modules/minimist/index.js +236 -0
  2405. data/test/dummy/node_modules/minimist/package.json +97 -0
  2406. data/test/dummy/node_modules/minimist/readme.markdown +91 -0
  2407. data/test/dummy/node_modules/minimist/test/all_bool.js +32 -0
  2408. data/test/dummy/node_modules/minimist/test/bool.js +166 -0
  2409. data/test/dummy/node_modules/minimist/test/dash.js +31 -0
  2410. data/test/dummy/node_modules/minimist/test/default_bool.js +35 -0
  2411. data/test/dummy/node_modules/minimist/test/dotted.js +22 -0
  2412. data/test/dummy/node_modules/minimist/test/kv_short.js +16 -0
  2413. data/test/dummy/node_modules/minimist/test/long.js +31 -0
  2414. data/test/dummy/node_modules/minimist/test/num.js +36 -0
  2415. data/test/dummy/node_modules/minimist/test/parse.js +197 -0
  2416. data/test/dummy/node_modules/minimist/test/parse_modified.js +9 -0
  2417. data/test/dummy/node_modules/minimist/test/short.js +67 -0
  2418. data/test/dummy/node_modules/minimist/test/stop_early.js +15 -0
  2419. data/test/dummy/node_modules/minimist/test/unknown.js +102 -0
  2420. data/test/dummy/node_modules/minimist/test/whitespace.js +8 -0
  2421. data/test/dummy/node_modules/ms/History.md +66 -0
  2422. data/test/dummy/node_modules/ms/LICENSE +20 -0
  2423. data/test/dummy/node_modules/ms/README.md +35 -0
  2424. data/test/dummy/node_modules/ms/index.js +125 -0
  2425. data/test/dummy/node_modules/ms/package.json +73 -0
  2426. data/test/dummy/node_modules/number-is-nan/index.js +4 -0
  2427. data/test/dummy/node_modules/number-is-nan/license +21 -0
  2428. data/test/dummy/node_modules/number-is-nan/package.json +92 -0
  2429. data/test/dummy/node_modules/number-is-nan/readme.md +30 -0
  2430. data/test/dummy/node_modules/object-assign/index.js +39 -0
  2431. data/test/dummy/node_modules/object-assign/license +21 -0
  2432. data/test/dummy/node_modules/object-assign/package.json +103 -0
  2433. data/test/dummy/node_modules/object-assign/readme.md +51 -0
  2434. data/test/dummy/node_modules/os-tmpdir/index.js +25 -0
  2435. data/test/dummy/node_modules/os-tmpdir/license +21 -0
  2436. data/test/dummy/node_modules/os-tmpdir/package.json +95 -0
  2437. data/test/dummy/node_modules/os-tmpdir/readme.md +36 -0
  2438. data/test/dummy/node_modules/path-exists/index.js +21 -0
  2439. data/test/dummy/node_modules/path-exists/license +21 -0
  2440. data/test/dummy/node_modules/path-exists/package.json +92 -0
  2441. data/test/dummy/node_modules/path-exists/readme.md +60 -0
  2442. data/test/dummy/node_modules/path-is-absolute/index.js +20 -0
  2443. data/test/dummy/node_modules/path-is-absolute/license +21 -0
  2444. data/test/dummy/node_modules/path-is-absolute/package.json +96 -0
  2445. data/test/dummy/node_modules/path-is-absolute/readme.md +51 -0
  2446. data/test/dummy/node_modules/private/LICENSE +20 -0
  2447. data/test/dummy/node_modules/private/README.md +246 -0
  2448. data/test/dummy/node_modules/private/package.json +84 -0
  2449. data/test/dummy/node_modules/private/private.js +129 -0
  2450. data/test/dummy/node_modules/private/test/run.js +68 -0
  2451. data/test/dummy/node_modules/promise/LICENSE +19 -0
  2452. data/test/dummy/node_modules/promise/Readme.md +201 -0
  2453. data/test/dummy/node_modules/promise/build.js +69 -0
  2454. data/test/dummy/node_modules/promise/core.js +5 -0
  2455. data/test/dummy/node_modules/promise/domains/core.js +184 -0
  2456. data/test/dummy/node_modules/promise/domains/done.js +13 -0
  2457. data/test/dummy/node_modules/promise/domains/es6-extensions.js +107 -0
  2458. data/test/dummy/node_modules/promise/domains/finally.js +16 -0
  2459. data/test/dummy/node_modules/promise/domains/index.js +7 -0
  2460. data/test/dummy/node_modules/promise/domains/node-extensions.js +71 -0
  2461. data/test/dummy/node_modules/promise/index.js +3 -0
  2462. data/test/dummy/node_modules/promise/lib/core.js +184 -0
  2463. data/test/dummy/node_modules/promise/lib/done.js +13 -0
  2464. data/test/dummy/node_modules/promise/lib/es6-extensions.js +107 -0
  2465. data/test/dummy/node_modules/promise/lib/finally.js +16 -0
  2466. data/test/dummy/node_modules/promise/lib/index.js +7 -0
  2467. data/test/dummy/node_modules/promise/lib/node-extensions.js +71 -0
  2468. data/test/dummy/node_modules/promise/package.json +92 -0
  2469. data/test/dummy/node_modules/promise/polyfill-done.js +12 -0
  2470. data/test/dummy/node_modules/promise/polyfill.js +10 -0
  2471. data/test/dummy/node_modules/promise/setimmediate/core.js +184 -0
  2472. data/test/dummy/node_modules/promise/setimmediate/done.js +13 -0
  2473. data/test/dummy/node_modules/promise/setimmediate/es6-extensions.js +107 -0
  2474. data/test/dummy/node_modules/promise/setimmediate/finally.js +16 -0
  2475. data/test/dummy/node_modules/promise/setimmediate/index.js +7 -0
  2476. data/test/dummy/node_modules/promise/setimmediate/node-extensions.js +71 -0
  2477. data/test/dummy/node_modules/promise/src/core.js +184 -0
  2478. data/test/dummy/node_modules/promise/src/done.js +13 -0
  2479. data/test/dummy/node_modules/promise/src/es6-extensions.js +107 -0
  2480. data/test/dummy/node_modules/promise/src/finally.js +16 -0
  2481. data/test/dummy/node_modules/promise/src/index.js +7 -0
  2482. data/test/dummy/node_modules/promise/src/node-extensions.js +71 -0
  2483. data/test/dummy/node_modules/react/LICENSE +31 -0
  2484. data/test/dummy/node_modules/react/PATENTS +33 -0
  2485. data/test/dummy/node_modules/react/README.md +23 -0
  2486. data/test/dummy/node_modules/react/addons.js +13 -0
  2487. data/test/dummy/node_modules/react/dist/react-with-addons.js +20753 -0
  2488. data/test/dummy/node_modules/react/dist/react-with-addons.min.js +16 -0
  2489. data/test/dummy/node_modules/react/dist/react.js +18794 -0
  2490. data/test/dummy/node_modules/react/dist/react.min.js +16 -0
  2491. data/test/dummy/node_modules/react/lib/AutoFocusUtils.js +36 -0
  2492. data/test/dummy/node_modules/react/lib/BeforeInputEventPlugin.js +405 -0
  2493. data/test/dummy/node_modules/react/lib/CSSProperty.js +139 -0
  2494. data/test/dummy/node_modules/react/lib/CSSPropertyOperations.js +175 -0
  2495. data/test/dummy/node_modules/react/lib/CallbackQueue.js +93 -0
  2496. data/test/dummy/node_modules/react/lib/ChangeEventPlugin.js +321 -0
  2497. data/test/dummy/node_modules/react/lib/ClientReactRootIndex.js +23 -0
  2498. data/test/dummy/node_modules/react/lib/DOMChildrenOperations.js +129 -0
  2499. data/test/dummy/node_modules/react/lib/DOMProperty.js +234 -0
  2500. data/test/dummy/node_modules/react/lib/DOMPropertyOperations.js +225 -0
  2501. data/test/dummy/node_modules/react/lib/Danger.js +145 -0
  2502. data/test/dummy/node_modules/react/lib/DefaultEventPluginOrder.js +27 -0
  2503. data/test/dummy/node_modules/react/lib/EnterLeaveEventPlugin.js +124 -0
  2504. data/test/dummy/node_modules/react/lib/EventConstants.js +92 -0
  2505. data/test/dummy/node_modules/react/lib/EventPluginHub.js +279 -0
  2506. data/test/dummy/node_modules/react/lib/EventPluginRegistry.js +220 -0
  2507. data/test/dummy/node_modules/react/lib/EventPluginUtils.js +202 -0
  2508. data/test/dummy/node_modules/react/lib/EventPropagators.js +135 -0
  2509. data/test/dummy/node_modules/react/lib/FallbackCompositionState.js +95 -0
  2510. data/test/dummy/node_modules/react/lib/HTMLDOMPropertyConfig.js +232 -0
  2511. data/test/dummy/node_modules/react/lib/LinkedStateMixin.js +36 -0
  2512. data/test/dummy/node_modules/react/lib/LinkedValueUtils.js +134 -0
  2513. data/test/dummy/node_modules/react/lib/MetaMatchers.js +118 -0
  2514. data/test/dummy/node_modules/react/lib/Object.assign.js +47 -0
  2515. data/test/dummy/node_modules/react/lib/OrderedMap.js +453 -0
  2516. data/test/dummy/node_modules/react/lib/PooledClass.js +119 -0
  2517. data/test/dummy/node_modules/react/lib/React.js +40 -0
  2518. data/test/dummy/node_modules/react/lib/ReactBrowserComponentMixin.js +36 -0
  2519. data/test/dummy/node_modules/react/lib/ReactBrowserEventEmitter.js +324 -0
  2520. data/test/dummy/node_modules/react/lib/ReactCSSTransitionGroup.js +83 -0
  2521. data/test/dummy/node_modules/react/lib/ReactCSSTransitionGroupChild.js +165 -0
  2522. data/test/dummy/node_modules/react/lib/ReactChildReconciler.js +122 -0
  2523. data/test/dummy/node_modules/react/lib/ReactChildren.js +182 -0
  2524. data/test/dummy/node_modules/react/lib/ReactClass.js +771 -0
  2525. data/test/dummy/node_modules/react/lib/ReactComponent.js +122 -0
  2526. data/test/dummy/node_modules/react/lib/ReactComponentBrowserEnvironment.js +41 -0
  2527. data/test/dummy/node_modules/react/lib/ReactComponentEnvironment.js +51 -0
  2528. data/test/dummy/node_modules/react/lib/ReactComponentWithPureRenderMixin.js +46 -0
  2529. data/test/dummy/node_modules/react/lib/ReactCompositeComponent.js +694 -0
  2530. data/test/dummy/node_modules/react/lib/ReactCurrentOwner.js +30 -0
  2531. data/test/dummy/node_modules/react/lib/ReactDOM.js +92 -0
  2532. data/test/dummy/node_modules/react/lib/ReactDOMButton.js +50 -0
  2533. data/test/dummy/node_modules/react/lib/ReactDOMComponent.js +962 -0
  2534. data/test/dummy/node_modules/react/lib/ReactDOMFactories.js +177 -0
  2535. data/test/dummy/node_modules/react/lib/ReactDOMFeatureFlags.js +18 -0
  2536. data/test/dummy/node_modules/react/lib/ReactDOMIDOperations.js +94 -0
  2537. data/test/dummy/node_modules/react/lib/ReactDOMInput.js +153 -0
  2538. data/test/dummy/node_modules/react/lib/ReactDOMOption.js +86 -0
  2539. data/test/dummy/node_modules/react/lib/ReactDOMSelect.js +188 -0
  2540. data/test/dummy/node_modules/react/lib/ReactDOMSelection.js +212 -0
  2541. data/test/dummy/node_modules/react/lib/ReactDOMServer.js +26 -0
  2542. data/test/dummy/node_modules/react/lib/ReactDOMTextComponent.js +127 -0
  2543. data/test/dummy/node_modules/react/lib/ReactDOMTextarea.js +113 -0
  2544. data/test/dummy/node_modules/react/lib/ReactDefaultBatchingStrategy.js +67 -0
  2545. data/test/dummy/node_modules/react/lib/ReactDefaultInjection.js +97 -0
  2546. data/test/dummy/node_modules/react/lib/ReactDefaultPerf.js +237 -0
  2547. data/test/dummy/node_modules/react/lib/ReactDefaultPerfAnalysis.js +199 -0
  2548. data/test/dummy/node_modules/react/lib/ReactElement.js +247 -0
  2549. data/test/dummy/node_modules/react/lib/ReactElementValidator.js +281 -0
  2550. data/test/dummy/node_modules/react/lib/ReactEmptyComponent.js +51 -0
  2551. data/test/dummy/node_modules/react/lib/ReactEmptyComponentRegistry.js +48 -0
  2552. data/test/dummy/node_modules/react/lib/ReactErrorUtils.js +77 -0
  2553. data/test/dummy/node_modules/react/lib/ReactEventEmitterMixin.js +38 -0
  2554. data/test/dummy/node_modules/react/lib/ReactEventListener.js +211 -0
  2555. data/test/dummy/node_modules/react/lib/ReactFragment.js +64 -0
  2556. data/test/dummy/node_modules/react/lib/ReactInjection.js +38 -0
  2557. data/test/dummy/node_modules/react/lib/ReactInputSelection.js +124 -0
  2558. data/test/dummy/node_modules/react/lib/ReactInstanceHandles.js +302 -0
  2559. data/test/dummy/node_modules/react/lib/ReactInstanceMap.js +47 -0
  2560. data/test/dummy/node_modules/react/lib/ReactIsomorphic.js +74 -0
  2561. data/test/dummy/node_modules/react/lib/ReactLink.js +69 -0
  2562. data/test/dummy/node_modules/react/lib/ReactMarkupChecksum.js +45 -0
  2563. data/test/dummy/node_modules/react/lib/ReactMount.js +850 -0
  2564. data/test/dummy/node_modules/react/lib/ReactMultiChild.js +496 -0
  2565. data/test/dummy/node_modules/react/lib/ReactMultiChildUpdateTypes.js +32 -0
  2566. data/test/dummy/node_modules/react/lib/ReactNativeComponent.js +94 -0
  2567. data/test/dummy/node_modules/react/lib/ReactNoopUpdateQueue.js +118 -0
  2568. data/test/dummy/node_modules/react/lib/ReactOwner.js +91 -0
  2569. data/test/dummy/node_modules/react/lib/ReactPerf.js +96 -0
  2570. data/test/dummy/node_modules/react/lib/ReactPropTransferer.js +108 -0
  2571. data/test/dummy/node_modules/react/lib/ReactPropTypeLocationNames.js +24 -0
  2572. data/test/dummy/node_modules/react/lib/ReactPropTypeLocations.js +22 -0
  2573. data/test/dummy/node_modules/react/lib/ReactPropTypes.js +356 -0
  2574. data/test/dummy/node_modules/react/lib/ReactReconcileTransaction.js +151 -0
  2575. data/test/dummy/node_modules/react/lib/ReactReconciler.js +107 -0
  2576. data/test/dummy/node_modules/react/lib/ReactRef.js +78 -0
  2577. data/test/dummy/node_modules/react/lib/ReactRootIndex.js +29 -0
  2578. data/test/dummy/node_modules/react/lib/ReactServerBatchingStrategy.js +23 -0
  2579. data/test/dummy/node_modules/react/lib/ReactServerRendering.js +83 -0
  2580. data/test/dummy/node_modules/react/lib/ReactServerRenderingTransaction.js +87 -0
  2581. data/test/dummy/node_modules/react/lib/ReactStateSetters.js +104 -0
  2582. data/test/dummy/node_modules/react/lib/ReactTestUtils.js +473 -0
  2583. data/test/dummy/node_modules/react/lib/ReactTransitionChildMapping.js +98 -0
  2584. data/test/dummy/node_modules/react/lib/ReactTransitionEvents.js +109 -0
  2585. data/test/dummy/node_modules/react/lib/ReactTransitionGroup.js +205 -0
  2586. data/test/dummy/node_modules/react/lib/ReactUpdateQueue.js +257 -0
  2587. data/test/dummy/node_modules/react/lib/ReactUpdates.js +223 -0
  2588. data/test/dummy/node_modules/react/lib/ReactVersion.js +14 -0
  2589. data/test/dummy/node_modules/react/lib/ReactWithAddons.js +60 -0
  2590. data/test/dummy/node_modules/react/lib/ResponderEventPlugin.js +514 -0
  2591. data/test/dummy/node_modules/react/lib/ResponderSyntheticEvent.js +40 -0
  2592. data/test/dummy/node_modules/react/lib/ResponderTouchHistoryStore.js +180 -0
  2593. data/test/dummy/node_modules/react/lib/SVGDOMPropertyConfig.js +127 -0
  2594. data/test/dummy/node_modules/react/lib/SelectEventPlugin.js +201 -0
  2595. data/test/dummy/node_modules/react/lib/ServerReactRootIndex.js +29 -0
  2596. data/test/dummy/node_modules/react/lib/SimpleEventPlugin.js +587 -0
  2597. data/test/dummy/node_modules/react/lib/SyntheticClipboardEvent.js +39 -0
  2598. data/test/dummy/node_modules/react/lib/SyntheticCompositionEvent.js +37 -0
  2599. data/test/dummy/node_modules/react/lib/SyntheticDragEvent.js +37 -0
  2600. data/test/dummy/node_modules/react/lib/SyntheticEvent.js +177 -0
  2601. data/test/dummy/node_modules/react/lib/SyntheticFocusEvent.js +37 -0
  2602. data/test/dummy/node_modules/react/lib/SyntheticInputEvent.js +38 -0
  2603. data/test/dummy/node_modules/react/lib/SyntheticKeyboardEvent.js +85 -0
  2604. data/test/dummy/node_modules/react/lib/SyntheticMouseEvent.js +73 -0
  2605. data/test/dummy/node_modules/react/lib/SyntheticTouchEvent.js +46 -0
  2606. data/test/dummy/node_modules/react/lib/SyntheticUIEvent.js +60 -0
  2607. data/test/dummy/node_modules/react/lib/SyntheticWheelEvent.js +55 -0
  2608. data/test/dummy/node_modules/react/lib/TapEventPlugin.js +119 -0
  2609. data/test/dummy/node_modules/react/lib/Transaction.js +231 -0
  2610. data/test/dummy/node_modules/react/lib/ViewportMetrics.js +27 -0
  2611. data/test/dummy/node_modules/react/lib/accumulate.js +44 -0
  2612. data/test/dummy/node_modules/react/lib/accumulateInto.js +59 -0
  2613. data/test/dummy/node_modules/react/lib/adler32.js +42 -0
  2614. data/test/dummy/node_modules/react/lib/canDefineProperty.js +24 -0
  2615. data/test/dummy/node_modules/react/lib/cloneWithProps.js +54 -0
  2616. data/test/dummy/node_modules/react/lib/createHierarchyRenderer.js +85 -0
  2617. data/test/dummy/node_modules/react/lib/dangerousStyleValue.js +55 -0
  2618. data/test/dummy/node_modules/react/lib/deprecated.js +48 -0
  2619. data/test/dummy/node_modules/react/lib/escapeTextContentForBrowser.js +38 -0
  2620. data/test/dummy/node_modules/react/lib/findDOMNode.js +49 -0
  2621. data/test/dummy/node_modules/react/lib/flattenChildren.js +48 -0
  2622. data/test/dummy/node_modules/react/lib/forEachAccumulated.js +29 -0
  2623. data/test/dummy/node_modules/react/lib/getEventCharCode.js +50 -0
  2624. data/test/dummy/node_modules/react/lib/getEventKey.js +103 -0
  2625. data/test/dummy/node_modules/react/lib/getEventModifierState.js +44 -0
  2626. data/test/dummy/node_modules/react/lib/getEventTarget.js +29 -0
  2627. data/test/dummy/node_modules/react/lib/getIteratorFn.js +40 -0
  2628. data/test/dummy/node_modules/react/lib/getNodeForCharacterOffset.js +73 -0
  2629. data/test/dummy/node_modules/react/lib/getTestDocument.js +21 -0
  2630. data/test/dummy/node_modules/react/lib/getTextContentAccessor.js +33 -0
  2631. data/test/dummy/node_modules/react/lib/instantiateReactComponent.js +112 -0
  2632. data/test/dummy/node_modules/react/lib/isEventSupported.js +60 -0
  2633. data/test/dummy/node_modules/react/lib/isTextInputElement.js +40 -0
  2634. data/test/dummy/node_modules/react/lib/onlyChild.js +33 -0
  2635. data/test/dummy/node_modules/react/lib/quoteAttributeValueForBrowser.js +26 -0
  2636. data/test/dummy/node_modules/react/lib/reactComponentExpect.js +216 -0
  2637. data/test/dummy/node_modules/react/lib/renderSubtreeIntoContainer.js +16 -0
  2638. data/test/dummy/node_modules/react/lib/setInnerHTML.js +90 -0
  2639. data/test/dummy/node_modules/react/lib/setTextContent.js +40 -0
  2640. data/test/dummy/node_modules/react/lib/shallowCompare.js +24 -0
  2641. data/test/dummy/node_modules/react/lib/shouldUpdateReactComponent.js +43 -0
  2642. data/test/dummy/node_modules/react/lib/sliceChildren.js +34 -0
  2643. data/test/dummy/node_modules/react/lib/traverseAllChildren.js +189 -0
  2644. data/test/dummy/node_modules/react/lib/update.js +107 -0
  2645. data/test/dummy/node_modules/react/lib/validateDOMNesting.js +363 -0
  2646. data/test/dummy/node_modules/react/lib/webcomponents.js +6379 -0
  2647. data/test/dummy/node_modules/react/package.json +99 -0
  2648. data/test/dummy/node_modules/react/react.js +3 -0
  2649. data/test/dummy/node_modules/recast/LICENSE +20 -0
  2650. data/test/dummy/node_modules/recast/README.md +143 -0
  2651. data/test/dummy/node_modules/recast/example/add-braces +44 -0
  2652. data/test/dummy/node_modules/recast/example/generic-identity +17 -0
  2653. data/test/dummy/node_modules/recast/example/identity +8 -0
  2654. data/test/dummy/node_modules/recast/example/to-while +84 -0
  2655. data/test/dummy/node_modules/recast/lib/comments.js +350 -0
  2656. data/test/dummy/node_modules/recast/lib/fast-path.js +472 -0
  2657. data/test/dummy/node_modules/recast/lib/lines.js +878 -0
  2658. data/test/dummy/node_modules/recast/lib/mapping.js +277 -0
  2659. data/test/dummy/node_modules/recast/lib/options.js +95 -0
  2660. data/test/dummy/node_modules/recast/lib/parser.js +149 -0
  2661. data/test/dummy/node_modules/recast/lib/patcher.js +515 -0
  2662. data/test/dummy/node_modules/recast/lib/printer.js +1786 -0
  2663. data/test/dummy/node_modules/recast/lib/types.js +5 -0
  2664. data/test/dummy/node_modules/recast/lib/util.js +220 -0
  2665. data/test/dummy/node_modules/recast/main.js +99 -0
  2666. data/test/dummy/node_modules/recast/node_modules/esprima-fb/README.md +32 -0
  2667. data/test/dummy/node_modules/recast/node_modules/esprima-fb/bin/esparse.js +117 -0
  2668. data/test/dummy/node_modules/recast/node_modules/esprima-fb/bin/esvalidate.js +199 -0
  2669. data/test/dummy/node_modules/recast/node_modules/esprima-fb/esprima.js +7775 -0
  2670. data/test/dummy/node_modules/recast/node_modules/esprima-fb/package.json +120 -0
  2671. data/test/dummy/node_modules/recast/node_modules/esprima-fb/test/compat.js +244 -0
  2672. data/test/dummy/node_modules/recast/node_modules/esprima-fb/test/reflect.js +421 -0
  2673. data/test/dummy/node_modules/recast/node_modules/esprima-fb/test/run.js +66 -0
  2674. data/test/dummy/node_modules/recast/node_modules/esprima-fb/test/runner.js +515 -0
  2675. data/test/dummy/node_modules/recast/node_modules/esprima-fb/test/test.js +23150 -0
  2676. data/test/dummy/node_modules/recast/node_modules/source-map/README.md +729 -0
  2677. data/test/dummy/node_modules/recast/node_modules/source-map/dist/source-map.debug.js +3006 -0
  2678. data/test/dummy/node_modules/recast/node_modules/source-map/dist/source-map.js +3005 -0
  2679. data/test/dummy/node_modules/recast/node_modules/source-map/dist/source-map.min.js +2 -0
  2680. data/test/dummy/node_modules/recast/node_modules/source-map/dist/source-map.min.js.map +1 -0
  2681. data/test/dummy/node_modules/recast/node_modules/source-map/lib/array-set.js +104 -0
  2682. data/test/dummy/node_modules/recast/node_modules/source-map/lib/base64-vlq.js +141 -0
  2683. data/test/dummy/node_modules/recast/node_modules/source-map/lib/base64.js +68 -0
  2684. data/test/dummy/node_modules/recast/node_modules/source-map/lib/binary-search.js +112 -0
  2685. data/test/dummy/node_modules/recast/node_modules/source-map/lib/mapping-list.js +80 -0
  2686. data/test/dummy/node_modules/recast/node_modules/source-map/lib/quick-sort.js +115 -0
  2687. data/test/dummy/node_modules/recast/node_modules/source-map/lib/source-map-consumer.js +1082 -0
  2688. data/test/dummy/node_modules/recast/node_modules/source-map/lib/source-map-generator.js +396 -0
  2689. data/test/dummy/node_modules/recast/node_modules/source-map/lib/source-node.js +408 -0
  2690. data/test/dummy/node_modules/recast/node_modules/source-map/lib/util.js +369 -0
  2691. data/test/dummy/node_modules/recast/node_modules/source-map/package.json +239 -0
  2692. data/test/dummy/node_modules/recast/node_modules/source-map/source-map.js +8 -0
  2693. data/test/dummy/node_modules/recast/package.json +92 -0
  2694. data/test/dummy/node_modules/regenerate/LICENSE-MIT.txt +20 -0
  2695. data/test/dummy/node_modules/regenerate/README.md +332 -0
  2696. data/test/dummy/node_modules/regenerate/package.json +87 -0
  2697. data/test/dummy/node_modules/regenerate/regenerate.js +1158 -0
  2698. data/test/dummy/node_modules/regenerate/x.js +15 -0
  2699. data/test/dummy/node_modules/regexpu/LICENSE-MIT.txt +20 -0
  2700. data/test/dummy/node_modules/regexpu/README.md +191 -0
  2701. data/test/dummy/node_modules/regexpu/bin/regexpu +112 -0
  2702. data/test/dummy/node_modules/regexpu/data/character-class-escape-sets.js +104 -0
  2703. data/test/dummy/node_modules/regexpu/data/iu-mappings.json +296 -0
  2704. data/test/dummy/node_modules/regexpu/man/regexpu.1 +58 -0
  2705. data/test/dummy/node_modules/regexpu/node_modules/esprima/ChangeLog +159 -0
  2706. data/test/dummy/node_modules/regexpu/node_modules/esprima/LICENSE.BSD +21 -0
  2707. data/test/dummy/node_modules/regexpu/node_modules/esprima/README.md +27 -0
  2708. data/test/dummy/node_modules/regexpu/node_modules/esprima/bin/esparse.js +126 -0
  2709. data/test/dummy/node_modules/regexpu/node_modules/esprima/bin/esvalidate.js +199 -0
  2710. data/test/dummy/node_modules/regexpu/node_modules/esprima/esprima.js +5743 -0
  2711. data/test/dummy/node_modules/regexpu/node_modules/esprima/package.json +140 -0
  2712. data/test/dummy/node_modules/regexpu/package.json +126 -0
  2713. data/test/dummy/node_modules/regexpu/regexpu.js +8 -0
  2714. data/test/dummy/node_modules/regexpu/rewrite-pattern.js +193 -0
  2715. data/test/dummy/node_modules/regexpu/transform-tree.js +41 -0
  2716. data/test/dummy/node_modules/regexpu/transpile-code.js +24 -0
  2717. data/test/dummy/node_modules/regjsgen/LICENSE.txt +20 -0
  2718. data/test/dummy/node_modules/regjsgen/README.md +60 -0
  2719. data/test/dummy/node_modules/regjsgen/package.json +97 -0
  2720. data/test/dummy/node_modules/regjsgen/regjsgen.js +408 -0
  2721. data/test/dummy/node_modules/regjsparser/CHANGELOG +12 -0
  2722. data/test/dummy/node_modules/regjsparser/LICENSE.BSD +19 -0
  2723. data/test/dummy/node_modules/regjsparser/README.md +34 -0
  2724. data/test/dummy/node_modules/regjsparser/bin/parser +50 -0
  2725. data/test/dummy/node_modules/regjsparser/package.json +85 -0
  2726. data/test/dummy/node_modules/regjsparser/parser.js +962 -0
  2727. data/test/dummy/node_modules/repeating/cli.js +36 -0
  2728. data/test/dummy/node_modules/repeating/index.js +24 -0
  2729. data/test/dummy/node_modules/repeating/license +21 -0
  2730. data/test/dummy/node_modules/repeating/package.json +99 -0
  2731. data/test/dummy/node_modules/repeating/readme.md +40 -0
  2732. data/test/dummy/node_modules/require-relative/README.md +26 -0
  2733. data/test/dummy/node_modules/require-relative/index.js +33 -0
  2734. data/test/dummy/node_modules/require-relative/package.json +75 -0
  2735. data/test/dummy/node_modules/resolve/LICENSE +18 -0
  2736. data/test/dummy/node_modules/resolve/example/async.js +5 -0
  2737. data/test/dummy/node_modules/resolve/example/sync.js +3 -0
  2738. data/test/dummy/node_modules/resolve/index.js +5 -0
  2739. data/test/dummy/node_modules/resolve/lib/async.js +192 -0
  2740. data/test/dummy/node_modules/resolve/lib/caller.js +8 -0
  2741. data/test/dummy/node_modules/resolve/lib/core.js +4 -0
  2742. data/test/dummy/node_modules/resolve/lib/core.json +38 -0
  2743. data/test/dummy/node_modules/resolve/lib/node-modules-paths.js +36 -0
  2744. data/test/dummy/node_modules/resolve/lib/sync.js +81 -0
  2745. data/test/dummy/node_modules/resolve/package.json +81 -0
  2746. data/test/dummy/node_modules/resolve/readme.markdown +148 -0
  2747. data/test/dummy/node_modules/resolve/test/core.js +12 -0
  2748. data/test/dummy/node_modules/resolve/test/dotdot.js +29 -0
  2749. data/test/dummy/node_modules/resolve/test/dotdot/abc/index.js +2 -0
  2750. data/test/dummy/node_modules/resolve/test/dotdot/index.js +1 -0
  2751. data/test/dummy/node_modules/resolve/test/faulty_basedir.js +17 -0
  2752. data/test/dummy/node_modules/resolve/test/filter.js +18 -0
  2753. data/test/dummy/node_modules/resolve/test/filter_sync.js +15 -0
  2754. data/test/dummy/node_modules/resolve/test/mock.js +142 -0
  2755. data/test/dummy/node_modules/resolve/test/mock_sync.js +68 -0
  2756. data/test/dummy/node_modules/resolve/test/module_dir.js +56 -0
  2757. data/test/dummy/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
  2758. data/test/dummy/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
  2759. data/test/dummy/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
  2760. data/test/dummy/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
  2761. data/test/dummy/node_modules/resolve/test/node_path.js +48 -0
  2762. data/test/dummy/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
  2763. data/test/dummy/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
  2764. data/test/dummy/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
  2765. data/test/dummy/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
  2766. data/test/dummy/node_modules/resolve/test/nonstring.js +9 -0
  2767. data/test/dummy/node_modules/resolve/test/pathfilter.js +35 -0
  2768. data/test/dummy/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  2769. data/test/dummy/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/alt.js +0 -0
  2770. data/test/dummy/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/deeper/ref.js +0 -0
  2771. data/test/dummy/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/package.json +4 -0
  2772. data/test/dummy/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/ref.js +0 -0
  2773. data/test/dummy/node_modules/resolve/test/precedence.js +23 -0
  2774. data/test/dummy/node_modules/resolve/test/precedence/aaa.js +1 -0
  2775. data/test/dummy/node_modules/resolve/test/precedence/aaa/index.js +1 -0
  2776. data/test/dummy/node_modules/resolve/test/precedence/aaa/main.js +1 -0
  2777. data/test/dummy/node_modules/resolve/test/precedence/bbb.js +1 -0
  2778. data/test/dummy/node_modules/resolve/test/precedence/bbb/main.js +1 -0
  2779. data/test/dummy/node_modules/resolve/test/resolver.js +281 -0
  2780. data/test/dummy/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js +1 -0
  2781. data/test/dummy/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  2782. data/test/dummy/node_modules/resolve/test/resolver/baz/package.json +3 -0
  2783. data/test/dummy/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  2784. data/test/dummy/node_modules/resolve/test/resolver/biz/node_modules/garply/lib/index.js +1 -0
  2785. data/test/dummy/node_modules/resolve/test/resolver/biz/node_modules/garply/package.json +3 -0
  2786. data/test/dummy/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js +1 -0
  2787. data/test/dummy/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js +1 -0
  2788. data/test/dummy/node_modules/resolve/test/resolver/cup.coffee +1 -0
  2789. data/test/dummy/node_modules/resolve/test/resolver/foo.js +1 -0
  2790. data/test/dummy/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  2791. data/test/dummy/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  2792. data/test/dummy/node_modules/resolve/test/resolver/mug.coffee +0 -0
  2793. data/test/dummy/node_modules/resolve/test/resolver/mug.js +0 -0
  2794. data/test/dummy/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  2795. data/test/dummy/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  2796. data/test/dummy/node_modules/resolve/test/resolver/punycode/node_modules/punycode/index.js +0 -0
  2797. data/test/dummy/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  2798. data/test/dummy/node_modules/resolve/test/resolver/without_basedir/main.js +6 -0
  2799. data/test/dummy/node_modules/resolve/test/resolver/without_basedir/node_modules/mymodule.js +1 -0
  2800. data/test/dummy/node_modules/resolve/test/resolver_sync.js +180 -0
  2801. data/test/dummy/node_modules/resolve/test/subdirs.js +13 -0
  2802. data/test/dummy/node_modules/resolve/test/subdirs/node_modules/a/b/c/x.json +1 -0
  2803. data/test/dummy/node_modules/resolve/test/subdirs/node_modules/a/package.json +1 -0
  2804. data/test/dummy/node_modules/rollup-plugin-babel/CHANGELOG.md +23 -0
  2805. data/test/dummy/node_modules/rollup-plugin-babel/README.md +81 -0
  2806. data/test/dummy/node_modules/rollup-plugin-babel/index.js +50 -0
  2807. data/test/dummy/node_modules/rollup-plugin-babel/package.json +91 -0
  2808. data/test/dummy/node_modules/rollup-plugin-babel/test/samples/basic/main.js +2 -0
  2809. data/test/dummy/node_modules/rollup-plugin-babel/test/samples/checks/foo/index.js +1 -0
  2810. data/test/dummy/node_modules/rollup-plugin-babel/test/samples/checks/main.js +3 -0
  2811. data/test/dummy/node_modules/rollup-plugin-babel/test/samples/class/main.js +5 -0
  2812. data/test/dummy/node_modules/rollup-plugin-babel/test/samples/exclusions/foo.js +1 -0
  2813. data/test/dummy/node_modules/rollup-plugin-babel/test/samples/exclusions/main.js +3 -0
  2814. data/test/dummy/node_modules/rollup-plugin-babel/test/test.js +121 -0
  2815. data/test/dummy/node_modules/rollup-plugin-commonjs/CHANGELOG.md +42 -0
  2816. data/test/dummy/node_modules/rollup-plugin-commonjs/README.md +46 -0
  2817. data/test/dummy/node_modules/rollup-plugin-commonjs/dist/rollup-plugin-commonjs.cjs.js +194 -0
  2818. data/test/dummy/node_modules/rollup-plugin-commonjs/dist/rollup-plugin-commonjs.es6.js +190 -0
  2819. data/test/dummy/node_modules/rollup-plugin-commonjs/package.json +90 -0
  2820. data/test/dummy/node_modules/rollup-plugin-commonjs/src/ast-utils.js +33 -0
  2821. data/test/dummy/node_modules/rollup-plugin-commonjs/src/index.js +161 -0
  2822. data/test/dummy/node_modules/rollup-plugin-inject/CHANGELOG.md +17 -0
  2823. data/test/dummy/node_modules/rollup-plugin-inject/README.md +50 -0
  2824. data/test/dummy/node_modules/rollup-plugin-inject/dist/rollup-plugin-inject.cjs.js +202 -0
  2825. data/test/dummy/node_modules/rollup-plugin-inject/dist/rollup-plugin-inject.es6.js +198 -0
  2826. data/test/dummy/node_modules/rollup-plugin-inject/package.json +78 -0
  2827. data/test/dummy/node_modules/rollup-plugin-inject/src/index.js +158 -0
  2828. data/test/dummy/node_modules/rollup-plugin-inject/src/makeLegalIdentifier.js +15 -0
  2829. data/test/dummy/node_modules/rollup-plugin-npm/CHANGELOG.md +13 -0
  2830. data/test/dummy/node_modules/rollup-plugin-npm/README.md +58 -0
  2831. data/test/dummy/node_modules/rollup-plugin-npm/dist/rollup-plugin-npm.cjs.js +50 -0
  2832. data/test/dummy/node_modules/rollup-plugin-npm/dist/rollup-plugin-npm.es6.js +46 -0
  2833. data/test/dummy/node_modules/rollup-plugin-npm/package.json +81 -0
  2834. data/test/dummy/node_modules/rollup-plugin-npm/src/index.js +46 -0
  2835. data/test/dummy/node_modules/rollup-pluginutils/CHANGELOG.md +17 -0
  2836. data/test/dummy/node_modules/rollup-pluginutils/README.md +109 -0
  2837. data/test/dummy/node_modules/rollup-pluginutils/dist/pluginutils.cjs.js +252 -0
  2838. data/test/dummy/node_modules/rollup-pluginutils/dist/pluginutils.es6.js +247 -0
  2839. data/test/dummy/node_modules/rollup-pluginutils/node_modules/minimatch/LICENSE +15 -0
  2840. data/test/dummy/node_modules/rollup-pluginutils/node_modules/minimatch/README.md +216 -0
  2841. data/test/dummy/node_modules/rollup-pluginutils/node_modules/minimatch/minimatch.js +912 -0
  2842. data/test/dummy/node_modules/rollup-pluginutils/node_modules/minimatch/package.json +84 -0
  2843. data/test/dummy/node_modules/rollup-pluginutils/package.json +81 -0
  2844. data/test/dummy/node_modules/rollup-pluginutils/src/addExtension.js +14 -0
  2845. data/test/dummy/node_modules/rollup-pluginutils/src/attachScopes.js +145 -0
  2846. data/test/dummy/node_modules/rollup-pluginutils/src/createFilter.js +22 -0
  2847. data/test/dummy/node_modules/rollup-pluginutils/src/index.js +4 -0
  2848. data/test/dummy/node_modules/rollup-pluginutils/src/makeLegalIdentifier.js +15 -0
  2849. data/test/dummy/node_modules/rollup-pluginutils/src/utils/ensureArray.js +5 -0
  2850. data/test/dummy/node_modules/rollup/CHANGELOG.md +376 -0
  2851. data/test/dummy/node_modules/rollup/LICENSE.md +21 -0
  2852. data/test/dummy/node_modules/rollup/README.md +142 -0
  2853. data/test/dummy/node_modules/rollup/bin/handleError.js +45 -0
  2854. data/test/dummy/node_modules/rollup/bin/help.md +37 -0
  2855. data/test/dummy/node_modules/rollup/bin/rollup +37 -0
  2856. data/test/dummy/node_modules/rollup/bin/runRollup.js +134 -0
  2857. data/test/dummy/node_modules/rollup/bin/showHelp.js +13 -0
  2858. data/test/dummy/node_modules/rollup/dist/rollup.browser.js +6715 -0
  2859. data/test/dummy/node_modules/rollup/dist/rollup.browser.js.map +1 -0
  2860. data/test/dummy/node_modules/rollup/dist/rollup.js +7823 -0
  2861. data/test/dummy/node_modules/rollup/dist/rollup.js.map +1 -0
  2862. data/test/dummy/node_modules/rollup/package.json +133 -0
  2863. data/test/dummy/node_modules/rollup/src/Bundle.js +335 -0
  2864. data/test/dummy/node_modules/rollup/src/Declaration.js +236 -0
  2865. data/test/dummy/node_modules/rollup/src/ExternalModule.js +38 -0
  2866. data/test/dummy/node_modules/rollup/src/Module.js +619 -0
  2867. data/test/dummy/node_modules/rollup/src/Statement.js +173 -0
  2868. data/test/dummy/node_modules/rollup/src/ast/Scope.js +84 -0
  2869. data/test/dummy/node_modules/rollup/src/ast/attachScopes.js +78 -0
  2870. data/test/dummy/node_modules/rollup/src/ast/conditions.js +38 -0
  2871. data/test/dummy/node_modules/rollup/src/ast/create.js +7 -0
  2872. data/test/dummy/node_modules/rollup/src/ast/flatten.js +16 -0
  2873. data/test/dummy/node_modules/rollup/src/ast/isFunctionDeclaration.js +6 -0
  2874. data/test/dummy/node_modules/rollup/src/ast/isReference.js +21 -0
  2875. data/test/dummy/node_modules/rollup/src/ast/modifierNodes.js +4 -0
  2876. data/test/dummy/node_modules/rollup/src/banner.js +8 -0
  2877. data/test/dummy/node_modules/rollup/src/finalisers/amd.js +32 -0
  2878. data/test/dummy/node_modules/rollup/src/finalisers/cjs.js +30 -0
  2879. data/test/dummy/node_modules/rollup/src/finalisers/es6.js +58 -0
  2880. data/test/dummy/node_modules/rollup/src/finalisers/iife.js +43 -0
  2881. data/test/dummy/node_modules/rollup/src/finalisers/index.js +7 -0
  2882. data/test/dummy/node_modules/rollup/src/finalisers/shared/getExportBlock.js +21 -0
  2883. data/test/dummy/node_modules/rollup/src/finalisers/shared/getInteropBlock.js +12 -0
  2884. data/test/dummy/node_modules/rollup/src/finalisers/umd.js +59 -0
  2885. data/test/dummy/node_modules/rollup/src/rollup.js +58 -0
  2886. data/test/dummy/node_modules/rollup/src/utils/callIfFunction.js +3 -0
  2887. data/test/dummy/node_modules/rollup/src/utils/collapseSourcemaps.js +72 -0
  2888. data/test/dummy/node_modules/rollup/src/utils/defaults.js +32 -0
  2889. data/test/dummy/node_modules/rollup/src/utils/ensureArray.js +5 -0
  2890. data/test/dummy/node_modules/rollup/src/utils/first.js +13 -0
  2891. data/test/dummy/node_modules/rollup/src/utils/fs.js +39 -0
  2892. data/test/dummy/node_modules/rollup/src/utils/getExportMode.js +35 -0
  2893. data/test/dummy/node_modules/rollup/src/utils/getIndentString.js +7 -0
  2894. data/test/dummy/node_modules/rollup/src/utils/getLocation.js +20 -0
  2895. data/test/dummy/node_modules/rollup/src/utils/makeLegalIdentifier.js +18 -0
  2896. data/test/dummy/node_modules/rollup/src/utils/map-helpers.js +11 -0
  2897. data/test/dummy/node_modules/rollup/src/utils/normalizePlatform.js +3 -0
  2898. data/test/dummy/node_modules/rollup/src/utils/object.js +5 -0
  2899. data/test/dummy/node_modules/rollup/src/utils/path.js +73 -0
  2900. data/test/dummy/node_modules/rollup/src/utils/run.js +141 -0
  2901. data/test/dummy/node_modules/rollup/src/utils/sourceMappingURL.js +6 -0
  2902. data/test/dummy/node_modules/rollup/src/utils/transform.js +39 -0
  2903. data/test/dummy/node_modules/shebang-regex/index.js +2 -0
  2904. data/test/dummy/node_modules/shebang-regex/license +21 -0
  2905. data/test/dummy/node_modules/shebang-regex/package.json +87 -0
  2906. data/test/dummy/node_modules/shebang-regex/readme.md +29 -0
  2907. data/test/dummy/node_modules/slash/index.js +11 -0
  2908. data/test/dummy/node_modules/slash/package.json +87 -0
  2909. data/test/dummy/node_modules/slash/readme.md +44 -0
  2910. data/test/dummy/node_modules/source-map-support/LICENSE.md +21 -0
  2911. data/test/dummy/node_modules/source-map-support/README.md +239 -0
  2912. data/test/dummy/node_modules/source-map-support/amd-test/browser-source-map-support.js +89 -0
  2913. data/test/dummy/node_modules/source-map-support/amd-test/index.html +6 -0
  2914. data/test/dummy/node_modules/source-map-support/amd-test/require.js +36 -0
  2915. data/test/dummy/node_modules/source-map-support/amd-test/script.coffee +13 -0
  2916. data/test/dummy/node_modules/source-map-support/amd-test/script.js +24 -0
  2917. data/test/dummy/node_modules/source-map-support/amd-test/script.map +10 -0
  2918. data/test/dummy/node_modules/source-map-support/browser-source-map-support.js +89 -0
  2919. data/test/dummy/node_modules/source-map-support/browser-test/index.html +6 -0
  2920. data/test/dummy/node_modules/source-map-support/browser-test/script.coffee +12 -0
  2921. data/test/dummy/node_modules/source-map-support/browser-test/script.js +25 -0
  2922. data/test/dummy/node_modules/source-map-support/browser-test/script.map +10 -0
  2923. data/test/dummy/node_modules/source-map-support/build.js +73 -0
  2924. data/test/dummy/node_modules/source-map-support/header-test/index.html +6 -0
  2925. data/test/dummy/node_modules/source-map-support/header-test/script.coffee +12 -0
  2926. data/test/dummy/node_modules/source-map-support/header-test/script.js +25 -0
  2927. data/test/dummy/node_modules/source-map-support/header-test/script.map +10 -0
  2928. data/test/dummy/node_modules/source-map-support/header-test/server.js +45 -0
  2929. data/test/dummy/node_modules/source-map-support/node_modules/source-map/CHANGELOG.md +121 -0
  2930. data/test/dummy/node_modules/source-map-support/node_modules/source-map/LICENSE +28 -0
  2931. data/test/dummy/node_modules/source-map-support/node_modules/source-map/Makefile.dryice.js +166 -0
  2932. data/test/dummy/node_modules/source-map-support/node_modules/source-map/README.md +434 -0
  2933. data/test/dummy/node_modules/source-map-support/node_modules/source-map/build/assert-shim.js +56 -0
  2934. data/test/dummy/node_modules/source-map-support/node_modules/source-map/build/mini-require.js +152 -0
  2935. data/test/dummy/node_modules/source-map-support/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  2936. data/test/dummy/node_modules/source-map-support/node_modules/source-map/build/prefix-utils.jsm +18 -0
  2937. data/test/dummy/node_modules/source-map-support/node_modules/source-map/build/suffix-browser.js +8 -0
  2938. data/test/dummy/node_modules/source-map-support/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  2939. data/test/dummy/node_modules/source-map-support/node_modules/source-map/build/suffix-utils.jsm +21 -0
  2940. data/test/dummy/node_modules/source-map-support/node_modules/source-map/build/test-prefix.js +8 -0
  2941. data/test/dummy/node_modules/source-map-support/node_modules/source-map/build/test-suffix.js +3 -0
  2942. data/test/dummy/node_modules/source-map-support/node_modules/source-map/lib/source-map.js +8 -0
  2943. data/test/dummy/node_modules/source-map-support/node_modules/source-map/lib/source-map/array-set.js +97 -0
  2944. data/test/dummy/node_modules/source-map-support/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  2945. data/test/dummy/node_modules/source-map-support/node_modules/source-map/lib/source-map/base64.js +42 -0
  2946. data/test/dummy/node_modules/source-map-support/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  2947. data/test/dummy/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  2948. data/test/dummy/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  2949. data/test/dummy/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-node.js +371 -0
  2950. data/test/dummy/node_modules/source-map-support/node_modules/source-map/lib/source-map/util.js +205 -0
  2951. data/test/dummy/node_modules/source-map-support/node_modules/source-map/package.json +163 -0
  2952. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/run-tests.js +62 -0
  2953. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/source-map/test-api.js +26 -0
  2954. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  2955. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  2956. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/source-map/test-base64.js +35 -0
  2957. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  2958. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  2959. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  2960. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  2961. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  2962. data/test/dummy/node_modules/source-map-support/node_modules/source-map/test/source-map/util.js +161 -0
  2963. data/test/dummy/node_modules/source-map-support/package.json +86 -0
  2964. data/test/dummy/node_modules/source-map-support/register.js +1 -0
  2965. data/test/dummy/node_modules/source-map-support/source-map-support.js +444 -0
  2966. data/test/dummy/node_modules/source-map-support/test.js +477 -0
  2967. data/test/dummy/node_modules/source-map/CHANGELOG.md +112 -0
  2968. data/test/dummy/node_modules/source-map/LICENSE +28 -0
  2969. data/test/dummy/node_modules/source-map/Makefile.dryice.js +166 -0
  2970. data/test/dummy/node_modules/source-map/README.md +434 -0
  2971. data/test/dummy/node_modules/source-map/build/assert-shim.js +56 -0
  2972. data/test/dummy/node_modules/source-map/build/mini-require.js +152 -0
  2973. data/test/dummy/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  2974. data/test/dummy/node_modules/source-map/build/prefix-utils.jsm +18 -0
  2975. data/test/dummy/node_modules/source-map/build/suffix-browser.js +8 -0
  2976. data/test/dummy/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  2977. data/test/dummy/node_modules/source-map/build/suffix-utils.jsm +21 -0
  2978. data/test/dummy/node_modules/source-map/build/test-prefix.js +8 -0
  2979. data/test/dummy/node_modules/source-map/build/test-suffix.js +3 -0
  2980. data/test/dummy/node_modules/source-map/lib/source-map.js +8 -0
  2981. data/test/dummy/node_modules/source-map/lib/source-map/array-set.js +97 -0
  2982. data/test/dummy/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  2983. data/test/dummy/node_modules/source-map/lib/source-map/base64.js +42 -0
  2984. data/test/dummy/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  2985. data/test/dummy/node_modules/source-map/lib/source-map/source-map-consumer.js +477 -0
  2986. data/test/dummy/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  2987. data/test/dummy/node_modules/source-map/lib/source-map/source-node.js +371 -0
  2988. data/test/dummy/node_modules/source-map/lib/source-map/util.js +205 -0
  2989. data/test/dummy/node_modules/source-map/package.json +155 -0
  2990. data/test/dummy/node_modules/source-map/test/run-tests.js +71 -0
  2991. data/test/dummy/node_modules/source-map/test/source-map/test-api.js +26 -0
  2992. data/test/dummy/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  2993. data/test/dummy/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  2994. data/test/dummy/node_modules/source-map/test/source-map/test-base64.js +35 -0
  2995. data/test/dummy/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  2996. data/test/dummy/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  2997. data/test/dummy/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  2998. data/test/dummy/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  2999. data/test/dummy/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  3000. data/test/dummy/node_modules/source-map/test/source-map/util.js +161 -0
  3001. data/test/dummy/node_modules/strip-ansi/index.js +6 -0
  3002. data/test/dummy/node_modules/strip-ansi/license +21 -0
  3003. data/test/dummy/node_modules/strip-ansi/package.json +109 -0
  3004. data/test/dummy/node_modules/strip-ansi/readme.md +33 -0
  3005. data/test/dummy/node_modules/supports-color/index.js +50 -0
  3006. data/test/dummy/node_modules/supports-color/license +21 -0
  3007. data/test/dummy/node_modules/supports-color/package.json +104 -0
  3008. data/test/dummy/node_modules/supports-color/readme.md +36 -0
  3009. data/test/dummy/node_modules/through/LICENSE.APACHE2 +15 -0
  3010. data/test/dummy/node_modules/through/LICENSE.MIT +24 -0
  3011. data/test/dummy/node_modules/through/index.js +108 -0
  3012. data/test/dummy/node_modules/through/package.json +91 -0
  3013. data/test/dummy/node_modules/through/readme.markdown +64 -0
  3014. data/test/dummy/node_modules/through/test/async.js +28 -0
  3015. data/test/dummy/node_modules/through/test/auto-destroy.js +30 -0
  3016. data/test/dummy/node_modules/through/test/buffering.js +71 -0
  3017. data/test/dummy/node_modules/through/test/end.js +45 -0
  3018. data/test/dummy/node_modules/through/test/index.js +133 -0
  3019. data/test/dummy/node_modules/to-fast-properties/index.js +9 -0
  3020. data/test/dummy/node_modules/to-fast-properties/license +21 -0
  3021. data/test/dummy/node_modules/to-fast-properties/package.json +90 -0
  3022. data/test/dummy/node_modules/to-fast-properties/readme.md +37 -0
  3023. data/test/dummy/node_modules/trim-right/index.js +10 -0
  3024. data/test/dummy/node_modules/trim-right/license +21 -0
  3025. data/test/dummy/node_modules/trim-right/package.json +92 -0
  3026. data/test/dummy/node_modules/trim-right/readme.md +30 -0
  3027. data/test/dummy/node_modules/ua-parser-js/component.json +24 -0
  3028. data/test/dummy/node_modules/ua-parser-js/dist/ua-parser.min.js +9 -0
  3029. data/test/dummy/node_modules/ua-parser-js/dist/ua-parser.pack.js +9 -0
  3030. data/test/dummy/node_modules/ua-parser-js/package.js +12 -0
  3031. data/test/dummy/node_modules/ua-parser-js/package.json +217 -0
  3032. data/test/dummy/node_modules/ua-parser-js/readme.md +281 -0
  3033. data/test/dummy/node_modules/ua-parser-js/src/ua-parser.js +870 -0
  3034. data/test/dummy/node_modules/ua-parser-js/test/browser&mediaplayer-test.json +1232 -0
  3035. data/test/dummy/node_modules/ua-parser-js/test/browser-test.json +712 -0
  3036. data/test/dummy/node_modules/ua-parser-js/test/cpu-test.json +106 -0
  3037. data/test/dummy/node_modules/ua-parser-js/test/device-test.json +242 -0
  3038. data/test/dummy/node_modules/ua-parser-js/test/engine-test.json +74 -0
  3039. data/test/dummy/node_modules/ua-parser-js/test/os-test.json +605 -0
  3040. data/test/dummy/node_modules/ua-parser-js/test/test.js +74 -0
  3041. data/test/dummy/node_modules/ua-parser-js/ua-parser-js.jquery.json +32 -0
  3042. data/test/dummy/node_modules/user-home/cli.js +26 -0
  3043. data/test/dummy/node_modules/user-home/index.js +15 -0
  3044. data/test/dummy/node_modules/user-home/license +21 -0
  3045. data/test/dummy/node_modules/user-home/package.json +94 -0
  3046. data/test/dummy/node_modules/user-home/readme.md +42 -0
  3047. data/test/dummy/node_modules/vlq/CHANGELOG.md +13 -0
  3048. data/test/dummy/node_modules/vlq/README.md +73 -0
  3049. data/test/dummy/node_modules/vlq/dist/vlq.js +94 -0
  3050. data/test/dummy/node_modules/vlq/package.json +82 -0
  3051. data/test/dummy/node_modules/vlq/src/vlq.js +83 -0
  3052. data/test/dummy/node_modules/whatwg-fetch/LICENSE +20 -0
  3053. data/test/dummy/node_modules/whatwg-fetch/README.md +160 -0
  3054. data/test/dummy/node_modules/whatwg-fetch/fetch.js +330 -0
  3055. data/test/dummy/node_modules/whatwg-fetch/package.json +84 -0
  3056. data/test/dummy/package.json +1 -0
  3057. data/test/es6_tilt_test.rb +16 -6
  3058. metadata +6128 -11
  3059. data/lib/es6_tilt/tags +0 -2
  3060. data/lib/tags +0 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollup.js","sources":["..//www/ROLLUP/rollup/node_modules/es6-promise/lib/es6-promise/utils.js","..//www/ROLLUP/rollup/node_modules/es6-promise/lib/es6-promise/asap.js","..//www/ROLLUP/rollup/node_modules/es6-promise/lib/es6-promise/-internal.js","..//www/ROLLUP/rollup/node_modules/es6-promise/lib/es6-promise/enumerator.js","..//www/ROLLUP/rollup/node_modules/es6-promise/lib/es6-promise/promise/all.js","..//www/ROLLUP/rollup/node_modules/es6-promise/lib/es6-promise/promise/race.js","..//www/ROLLUP/rollup/node_modules/es6-promise/lib/es6-promise/promise/resolve.js","..//www/ROLLUP/rollup/node_modules/es6-promise/lib/es6-promise/promise/reject.js","..//www/ROLLUP/rollup/node_modules/es6-promise/lib/es6-promise/promise.js","..//www/ROLLUP/rollup/src/utils/path.js","..//www/ROLLUP/rollup/src/utils/fs.js","..//www/ROLLUP/rollup/src/utils/object.js","..//www/ROLLUP/rollup/src/utils/sourceMappingURL.js","..//www/ROLLUP/rollup/node_modules/vlq/src/vlq.js","..//www/ROLLUP/rollup/node_modules/magic-string/dist/magic-string.es6.js","..//www/ROLLUP/rollup/src/utils/first.js","..//www/ROLLUP/rollup/node_modules/acorn/src/identifier.js","..//www/ROLLUP/rollup/node_modules/acorn/src/tokentype.js","..//www/ROLLUP/rollup/node_modules/acorn/src/whitespace.js","..//www/ROLLUP/rollup/node_modules/acorn/src/util.js","..//www/ROLLUP/rollup/node_modules/acorn/src/locutil.js","..//www/ROLLUP/rollup/node_modules/acorn/src/options.js","..//www/ROLLUP/rollup/node_modules/acorn/src/state.js","..//www/ROLLUP/rollup/node_modules/acorn/src/parseutil.js","..//www/ROLLUP/rollup/node_modules/acorn/src/statement.js","..//www/ROLLUP/rollup/node_modules/acorn/src/lval.js","..//www/ROLLUP/rollup/node_modules/acorn/src/expression.js","..//www/ROLLUP/rollup/node_modules/acorn/src/location.js","..//www/ROLLUP/rollup/node_modules/acorn/src/node.js","..//www/ROLLUP/rollup/node_modules/acorn/src/tokencontext.js","..//www/ROLLUP/rollup/node_modules/acorn/src/tokenize.js","..//www/ROLLUP/rollup/node_modules/acorn/src/index.js","..//www/ROLLUP/rollup/node_modules/estree-walker/dist/estree-walker.es6.js","..//www/ROLLUP/rollup/src/ast/modifierNodes.js","..//www/ROLLUP/rollup/src/ast/isReference.js","..//www/ROLLUP/rollup/src/ast/flatten.js","..//www/ROLLUP/rollup/src/utils/run.js","..//www/ROLLUP/rollup/src/Declaration.js","..//www/ROLLUP/rollup/src/ast/Scope.js","..//www/ROLLUP/rollup/src/ast/attachScopes.js","..//www/ROLLUP/rollup/src/ast/isFunctionDeclaration.js","..//www/ROLLUP/rollup/src/utils/getLocation.js","..//www/ROLLUP/rollup/src/Statement.js","..//www/ROLLUP/rollup/src/utils/makeLegalIdentifier.js","..//www/ROLLUP/rollup/src/ast/conditions.js","..//www/ROLLUP/rollup/src/ast/create.js","..//www/ROLLUP/rollup/src/Module.js","..//www/ROLLUP/rollup/src/ExternalModule.js","..//www/ROLLUP/rollup/src/utils/map-helpers.js","..//www/ROLLUP/rollup/src/finalisers/shared/getInteropBlock.js","..//www/ROLLUP/rollup/src/finalisers/shared/getExportBlock.js","..//www/ROLLUP/rollup/src/finalisers/umd.js","..//www/ROLLUP/rollup/src/finalisers/iife.js","..//www/ROLLUP/rollup/src/finalisers/es6.js","..//www/ROLLUP/rollup/src/finalisers/cjs.js","..//www/ROLLUP/rollup/src/finalisers/amd.js","..//www/ROLLUP/rollup/src/finalisers/index.js","..//www/ROLLUP/rollup/src/utils/ensureArray.js","..//www/ROLLUP/rollup/src/utils/defaults.js","..//www/ROLLUP/rollup/src/utils/getExportMode.js","..//www/ROLLUP/rollup/src/utils/getIndentString.js","..//www/ROLLUP/rollup/src/utils/normalizePlatform.js","..//www/ROLLUP/rollup/src/utils/transform.js","..//www/ROLLUP/rollup/node_modules/sourcemap-codec/dist/sourcemap-codec.es6.js","..//www/ROLLUP/rollup/src/utils/collapseSourcemaps.js","..//www/ROLLUP/rollup/src/utils/callIfFunction.js","..//www/ROLLUP/rollup/src/Bundle.js","..//www/ROLLUP/rollup/src/rollup.js"],"sourcesContent":["export function objectOrFunction(x) {\n return typeof x === 'function' || (typeof x === 'object' && x !== null);\n}\n\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n\nexport function isMaybeThenable(x) {\n return typeof x === 'object' && x !== null;\n}\n\nvar _isArray;\nif (!Array.isArray) {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n} else {\n _isArray = Array.isArray;\n}\n\nexport var isArray = _isArray;\n","var len = 0;\nvar toString = {}.toString;\nvar vertxNext;\nvar customSchedulerFn;\n\nexport var asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n}\n\nexport function setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nexport function setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = (typeof window !== 'undefined') ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' &&\n typeof importScripts !== 'undefined' &&\n typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function() {\n process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n return function() {\n vertxNext(flush);\n };\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function() {\n node.data = (iterations = ++iterations % 2);\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n return function() {\n setTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i+=2) {\n var callback = queue[i];\n var arg = queue[i+1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i+1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var r = require;\n var vertx = r('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch(e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n","import {\n objectOrFunction,\n isFunction\n} from './utils';\n\nimport {\n asap\n} from './asap';\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch(error) {\n GET_THEN_ERROR.error = error;\n return GET_THEN_ERROR;\n }\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch(e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function(promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function(value) {\n if (sealed) { return; }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function(reason) {\n if (sealed) { return; }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function(value) {\n resolve(promise, value);\n }, function(reason) {\n reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable) {\n if (maybeThenable.constructor === promise.constructor) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n var then = getThen(maybeThenable);\n\n if (then === GET_THEN_ERROR) {\n reject(promise, GET_THEN_ERROR.error);\n } else if (then === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then)) {\n handleForeignThenable(promise, maybeThenable, then);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value);\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) { return; }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) { return; }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var subscribers = parent._subscribers;\n var length = subscribers.length;\n\n parent._onerror = null;\n\n subscribers[length] = child;\n subscribers[length + FULFILLED] = onFulfillment;\n subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) { return; }\n\n var child, callback, detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch(e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value, error, succeeded, failed;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (failed) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value){\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch(e) {\n reject(promise, e);\n }\n}\n\nexport {\n noop,\n resolve,\n reject,\n fulfill,\n subscribe,\n publish,\n publishRejection,\n initializePromise,\n invokeCallback,\n FULFILLED,\n REJECTED,\n PENDING\n};\n","import {\n isArray,\n isMaybeThenable\n} from './utils';\n\nimport {\n noop,\n reject,\n fulfill,\n subscribe,\n FULFILLED,\n REJECTED,\n PENDING\n} from './-internal';\n\nfunction Enumerator(Constructor, input) {\n var enumerator = this;\n\n enumerator._instanceConstructor = Constructor;\n enumerator.promise = new Constructor(noop);\n\n if (enumerator._validateInput(input)) {\n enumerator._input = input;\n enumerator.length = input.length;\n enumerator._remaining = input.length;\n\n enumerator._init();\n\n if (enumerator.length === 0) {\n fulfill(enumerator.promise, enumerator._result);\n } else {\n enumerator.length = enumerator.length || 0;\n enumerator._enumerate();\n if (enumerator._remaining === 0) {\n fulfill(enumerator.promise, enumerator._result);\n }\n }\n } else {\n reject(enumerator.promise, enumerator._validationError());\n }\n}\n\nEnumerator.prototype._validateInput = function(input) {\n return isArray(input);\n};\n\nEnumerator.prototype._validationError = function() {\n return new Error('Array Methods must be provided an Array');\n};\n\nEnumerator.prototype._init = function() {\n this._result = new Array(this.length);\n};\n\nexport default Enumerator;\n\nEnumerator.prototype._enumerate = function() {\n var enumerator = this;\n\n var length = enumerator.length;\n var promise = enumerator.promise;\n var input = enumerator._input;\n\n for (var i = 0; promise._state === PENDING && i < length; i++) {\n enumerator._eachEntry(input[i], i);\n }\n};\n\nEnumerator.prototype._eachEntry = function(entry, i) {\n var enumerator = this;\n var c = enumerator._instanceConstructor;\n\n if (isMaybeThenable(entry)) {\n if (entry.constructor === c && entry._state !== PENDING) {\n entry._onerror = null;\n enumerator._settledAt(entry._state, i, entry._result);\n } else {\n enumerator._willSettleAt(c.resolve(entry), i);\n }\n } else {\n enumerator._remaining--;\n enumerator._result[i] = entry;\n }\n};\n\nEnumerator.prototype._settledAt = function(state, i, value) {\n var enumerator = this;\n var promise = enumerator.promise;\n\n if (promise._state === PENDING) {\n enumerator._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n enumerator._result[i] = value;\n }\n }\n\n if (enumerator._remaining === 0) {\n fulfill(promise, enumerator._result);\n }\n};\n\nEnumerator.prototype._willSettleAt = function(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function(value) {\n enumerator._settledAt(FULFILLED, i, value);\n }, function(reason) {\n enumerator._settledAt(REJECTED, i, reason);\n });\n};\n","import Enumerator from '../enumerator';\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n var promise1 = resolve(1);\n var promise2 = resolve(2);\n var promise3 = resolve(3);\n var promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n var promise1 = resolve(1);\n var promise2 = reject(new Error(\"2\"));\n var promise3 = reject(new Error(\"3\"));\n var promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nexport default function all(entries) {\n return new Enumerator(this, entries).promise;\n}\n","import {\n isArray\n} from \"../utils\";\n\nimport {\n noop,\n resolve,\n reject,\n subscribe,\n PENDING\n} from '../-internal';\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n var promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n var promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n var promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n var promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nexport default function race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n var promise = new Constructor(noop);\n\n if (!isArray(entries)) {\n reject(promise, new TypeError('You must pass an array to race.'));\n return promise;\n }\n\n var length = entries.length;\n\n function onFulfillment(value) {\n resolve(promise, value);\n }\n\n function onRejection(reason) {\n reject(promise, reason);\n }\n\n for (var i = 0; promise._state === PENDING && i < length; i++) {\n subscribe(Constructor.resolve(entries[i]), undefined, onFulfillment, onRejection);\n }\n\n return promise;\n}\n","import {\n noop,\n resolve as _resolve\n} from '../-internal';\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n var promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n var promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nexport default function resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}\n","import {\n noop,\n reject as _reject\n} from '../-internal';\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n var promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n var promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nexport default function reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}\n","import {\n isFunction\n} from './utils';\n\nimport {\n noop,\n subscribe,\n initializePromise,\n invokeCallback,\n FULFILLED,\n REJECTED\n} from './-internal';\n\nimport {\n asap,\n setAsap,\n setScheduler\n} from './asap';\n\nimport all from './promise/all';\nimport race from './promise/race';\nimport Resolve from './promise/resolve';\nimport Reject from './promise/reject';\n\nvar counter = 0;\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\nexport default Promise;\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n var promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n var xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {function} resolver\n Useful for tooling.\n @constructor\n*/\nfunction Promise(resolver) {\n this._id = counter++;\n this._state = undefined;\n this._result = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n if (!isFunction(resolver)) {\n needsResolver();\n }\n\n if (!(this instanceof Promise)) {\n needsNew();\n }\n\n initializePromise(this, resolver);\n }\n}\n\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = Resolve;\nPromise.reject = Reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;\n\nPromise.prototype = {\n constructor: Promise,\n\n/**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n\n Chaining\n --------\n\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n\n Assimilation\n ------------\n\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n\n If the assimliated promise rejects, then the downstream promise will also reject.\n\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n\n Simple Example\n --------------\n\n Synchronous Example\n\n ```javascript\n var result;\n\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n\n Errback Example\n\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n\n Promise Example;\n\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n\n Advanced Example\n --------------\n\n Synchronous Example\n\n ```javascript\n var author, books;\n\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n\n Errback Example\n\n ```js\n\n function foundBooks(books) {\n\n }\n\n function failure(reason) {\n\n }\n\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n\n Promise Example;\n\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n*/\n then: function(onFulfillment, onRejection) {\n var parent = this;\n var state = parent._state;\n\n if (state === FULFILLED && !onFulfillment || state === REJECTED && !onRejection) {\n return this;\n }\n\n var child = new this.constructor(noop);\n var result = parent._result;\n\n if (state) {\n var callback = arguments[state - 1];\n asap(function(){\n invokeCallback(state, child, callback, result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n },\n\n/**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n*/\n 'catch': function(onRejection) {\n return this.then(null, onRejection);\n }\n};\n","// TODO does this all work on windows?\n\nexport const absolutePath = /^(?:\\/|(?:[A-Za-z]:)?[\\\\|\\/])/;\n\nexport function isAbsolute ( path ) {\n\treturn absolutePath.test( path );\n}\n\nexport function basename ( path ) {\n\treturn path.split( /(\\/|\\\\)/ ).pop();\n}\n\nexport function dirname ( path ) {\n\tconst match = /(\\/|\\\\)[^\\/\\\\]*$/.exec( path );\n\tif ( !match ) return '.';\n\n\tconst dir = path.slice( 0, -match[0].length );\n\n\t// If `dir` is the empty string, we're at root.\n\treturn dir ? dir : '/';\n}\n\nexport function extname ( path ) {\n\tconst match = /\\.[^\\.]+$/.exec( basename( path ) );\n\tif ( !match ) return '';\n\treturn match[0];\n}\n\nexport function relative ( from, to ) {\n\tconst fromParts = from.split( /[\\/\\\\]/ ).filter( Boolean );\n\tconst toParts = to.split( /[\\/\\\\]/ ).filter( Boolean );\n\n\twhile ( fromParts[0] && toParts[0] && fromParts[0] === toParts[0] ) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\twhile ( toParts[0] === '.' || toParts[0] === '..' ) {\n\t\tconst toPart = toParts.shift();\n\t\tif ( toPart === '..' ) {\n\t\t\tfromParts.pop();\n\t\t}\n\t}\n\n\twhile ( fromParts.pop() ) {\n\t\ttoParts.unshift( '..' );\n\t}\n\n\treturn toParts.join( '/' );\n}\n\nexport function resolve ( ...paths ) {\n\tlet resolvedParts = paths.shift().split( /[\\/\\\\]/ );\n\n\tpaths.forEach( path => {\n\t\tif ( isAbsolute( path ) ) {\n\t\t\tresolvedParts = path.split( /[\\/\\\\]/ );\n\t\t} else {\n\t\t\tconst parts = path.split( /[\\/\\\\]/ );\n\n\t\t\twhile ( parts[0] === '.' || parts[0] === '..' ) {\n\t\t\t\tconst part = parts.shift();\n\t\t\t\tif ( part === '..' ) {\n\t\t\t\t\tresolvedParts.pop();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresolvedParts.push.apply( resolvedParts, parts );\n\t\t}\n\t});\n\n\treturn resolvedParts.join( '/' ); // TODO windows...\n}\n","import Promise from 'es6-promise/lib/es6-promise/promise.js';\nimport * as fs from 'fs';\nimport { dirname } from './path.js';\n\nfunction mkdirpath ( path ) {\n\tconst dir = dirname( path );\n\ttry {\n\t\tfs.readdirSync( dir );\n\t} catch ( err ) {\n\t\tmkdirpath( dir );\n\t\tfs.mkdirSync( dir );\n\t}\n}\n\nexport function isFile ( file ) {\n\ttry {\n\t\tconst stats = fs.statSync( file );\n\t\treturn stats.isFile();\n\t} catch ( err ) {\n\t\treturn false;\n\t}\n}\n\nexport function writeFile ( dest, data ) {\n\treturn new Promise( ( fulfil, reject ) => {\n\t\tmkdirpath( dest );\n\n\t\tfs.writeFile( dest, data, err => {\n\t\t\tif ( err ) {\n\t\t\t\treject( err );\n\t\t\t} else {\n\t\t\t\tfulfil();\n\t\t\t}\n\t\t});\n\t});\n}\n\nexport const readdirSync = fs.readdirSync;\nexport const readFileSync = fs.readFileSync;\n","export const keys = Object.keys;\n\nexport function blank () {\n\treturn Object.create( null );\n}\n","// this looks ridiculous, but it prevents sourcemap tooling from mistaking\n// this for an actual sourceMappingURL\nlet SOURCEMAPPING_URL = 'sourceMa';\nSOURCEMAPPING_URL += 'ppingURL';\n\nexport default SOURCEMAPPING_URL;\n","var charToInteger = {};\nvar integerToChar = {};\n\n'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split( '' ).forEach( function ( char, i ) {\n\tcharToInteger[ char ] = i;\n\tintegerToChar[ i ] = char;\n});\n\nexport function decode ( string ) {\n\tvar result = [],\n\t\tlen = string.length,\n\t\ti,\n\t\thasContinuationBit,\n\t\tshift = 0,\n\t\tvalue = 0,\n\t\tinteger,\n\t\tshouldNegate;\n\n\tfor ( i = 0; i < len; i += 1 ) {\n\t\tinteger = charToInteger[ string[i] ];\n\n\t\tif ( integer === undefined ) {\n\t\t\tthrow new Error( 'Invalid character (' + string[i] + ')' );\n\t\t}\n\n\t\thasContinuationBit = integer & 32;\n\n\t\tinteger &= 31;\n\t\tvalue += integer << shift;\n\n\t\tif ( hasContinuationBit ) {\n\t\t\tshift += 5;\n\t\t} else {\n\t\t\tshouldNegate = value & 1;\n\t\t\tvalue >>= 1;\n\n\t\t\tresult.push( shouldNegate ? -value : value );\n\n\t\t\t// reset\n\t\t\tvalue = shift = 0;\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function encode ( value ) {\n\tvar result, i;\n\n\tif ( typeof value === 'number' ) {\n\t\tresult = encodeInteger( value );\n\t} else {\n\t\tresult = '';\n\t\tfor ( i = 0; i < value.length; i += 1 ) {\n\t\t\tresult += encodeInteger( value[i] );\n\t\t}\n\t}\n\n\treturn result;\n}\n\nfunction encodeInteger ( num ) {\n\tvar result = '', clamped;\n\n\tif ( num < 0 ) {\n\t\tnum = ( -num << 1 ) | 1;\n\t} else {\n\t\tnum <<= 1;\n\t}\n\n\tdo {\n\t\tclamped = num & 31;\n\t\tnum >>= 5;\n\n\t\tif ( num > 0 ) {\n\t\t\tclamped |= 32;\n\t\t}\n\n\t\tresult += integerToChar[ clamped ];\n\t} while ( num > 0 );\n\n\treturn result;\n}\n","import { encode } from 'vlq';\n\nvar babelHelpers_classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar _btoa = undefined;\n\nif (typeof window !== 'undefined' && typeof window.btoa === 'function') {\n\t_btoa = window.btoa;\n} else if (typeof Buffer === 'function') {\n\t/* global Buffer */\n\t_btoa = function (str) {\n\t\treturn new Buffer(str).toString('base64');\n\t};\n} else {\n\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n}\n\nvar btoa = _btoa;\n\nvar SourceMap = (function () {\n\tfunction SourceMap(properties) {\n\t\tbabelHelpers_classCallCheck(this, SourceMap);\n\n\t\tthis.version = 3;\n\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = properties.mappings;\n\t}\n\n\tSourceMap.prototype.toString = function toString() {\n\t\treturn JSON.stringify(this);\n\t};\n\n\tSourceMap.prototype.toUrl = function toUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t};\n\n\treturn SourceMap;\n})();\n\nfunction guessIndent(code) {\n\tvar lines = code.split('\\n');\n\n\tvar tabbed = lines.filter(function (line) {\n\t\treturn (/^\\t+/.test(line)\n\t\t);\n\t});\n\tvar spaced = lines.filter(function (line) {\n\t\treturn (/^ {2,}/.test(line)\n\t\t);\n\t});\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tvar min = spaced.reduce(function (previous, current) {\n\t\tvar numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction encodeMappings(original, str, mappings, hires, sourcemapLocations, sourceIndex, offsets, names, nameLocations) {\n\t// store locations, for fast lookup\n\tvar lineStart = 0;\n\tvar locations = original.split('\\n').map(function (line) {\n\t\tvar start = lineStart;\n\t\tlineStart += line.length + 1; // +1 for the newline\n\n\t\treturn start;\n\t});\n\n\tvar inverseMappings = invert(str, mappings);\n\n\tvar charOffset = 0;\n\tvar lines = str.split('\\n').map(function (line) {\n\t\tvar segments = [];\n\n\t\tvar char = undefined; // TODO put these inside loop, once we've determined it's safe to do so transpilation-wise\n\t\tvar origin = undefined;\n\t\tvar lastOrigin = -1;\n\t\tvar location = undefined;\n\t\tvar nameIndex = undefined;\n\n\t\tvar i = undefined;\n\n\t\tvar len = line.length;\n\t\tfor (i = 0; i < len; i += 1) {\n\t\t\tchar = i + charOffset;\n\t\t\torigin = inverseMappings[char];\n\n\t\t\tnameIndex = -1;\n\t\t\tlocation = null;\n\n\t\t\t// if this character has no mapping, but the last one did,\n\t\t\t// create a new segment\n\t\t\tif (! ~origin && ~lastOrigin) {\n\t\t\t\tlocation = getLocation(locations, lastOrigin + 1);\n\n\t\t\t\tif (lastOrigin + 1 in nameLocations) nameIndex = names.indexOf(nameLocations[lastOrigin + 1]);\n\t\t\t} else if (~origin && (hires || ~lastOrigin && origin !== lastOrigin + 1 || sourcemapLocations[origin])) {\n\t\t\t\tlocation = getLocation(locations, origin);\n\t\t\t}\n\n\t\t\tif (location) {\n\t\t\t\tsegments.push({\n\t\t\t\t\tgeneratedCodeColumn: i,\n\t\t\t\t\tsourceIndex: sourceIndex,\n\t\t\t\t\tsourceCodeLine: location.line,\n\t\t\t\t\tsourceCodeColumn: location.column,\n\t\t\t\t\tsourceCodeName: nameIndex\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlastOrigin = origin;\n\t\t}\n\n\t\tcharOffset += line.length + 1;\n\t\treturn segments;\n\t});\n\n\toffsets.sourceIndex = offsets.sourceIndex || 0;\n\toffsets.sourceCodeLine = offsets.sourceCodeLine || 0;\n\toffsets.sourceCodeColumn = offsets.sourceCodeColumn || 0;\n\toffsets.sourceCodeName = offsets.sourceCodeName || 0;\n\n\tvar encoded = lines.map(function (segments) {\n\t\tvar generatedCodeColumn = 0;\n\n\t\treturn segments.map(function (segment) {\n\t\t\tvar arr = [segment.generatedCodeColumn - generatedCodeColumn, segment.sourceIndex - offsets.sourceIndex, segment.sourceCodeLine - offsets.sourceCodeLine, segment.sourceCodeColumn - offsets.sourceCodeColumn];\n\n\t\t\tgeneratedCodeColumn = segment.generatedCodeColumn;\n\t\t\toffsets.sourceIndex = segment.sourceIndex;\n\t\t\toffsets.sourceCodeLine = segment.sourceCodeLine;\n\t\t\toffsets.sourceCodeColumn = segment.sourceCodeColumn;\n\n\t\t\tif (~segment.sourceCodeName) {\n\t\t\t\tarr.push(segment.sourceCodeName - offsets.sourceCodeName);\n\t\t\t\toffsets.sourceCodeName = segment.sourceCodeName;\n\t\t\t}\n\n\t\t\treturn encode(arr);\n\t\t}).join(',');\n\t}).join(';');\n\n\treturn encoded;\n}\n\nfunction invert(str, mappings) {\n\tvar inverted = new Uint32Array(str.length);\n\n\t// initialise everything to -1\n\tvar i = str.length;\n\twhile (i--) {\n\t\tinverted[i] = -1;\n\t}\n\n\t// then apply the actual mappings\n\ti = mappings.length;\n\twhile (i--) {\n\t\tif (~mappings[i]) {\n\t\t\tinverted[mappings[i]] = i;\n\t\t}\n\t}\n\n\treturn inverted;\n}\n\nfunction getLocation(locations, char) {\n\tvar i = locations.length;\n\twhile (i--) {\n\t\tif (locations[i] <= char) {\n\t\t\treturn {\n\t\t\t\tline: i,\n\t\t\t\tcolumn: char - locations[i]\n\t\t\t};\n\t\t}\n\t}\n\n\tthrow new Error('Character out of bounds');\n}\n\nfunction getRelativePath(from, to) {\n\tvar fromParts = from.split(/[\\/\\\\]/);\n\tvar toParts = to.split(/[\\/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tvar i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nvar warned = false;\n\nvar MagicString = (function () {\n\tfunction MagicString(string) {\n\t\tvar options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\tbabelHelpers_classCallCheck(this, MagicString);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\tstr: { writable: true, value: string },\n\t\t\tmappings: { writable: true, value: initMappings(string.length) },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: {} },\n\t\t\tnameLocations: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: guessIndent(string) }\n\t\t});\n\t}\n\n\tMagicString.prototype.addSourcemapLocation = function addSourcemapLocation(char) {\n\t\tthis.sourcemapLocations[char] = true;\n\t};\n\n\tMagicString.prototype.append = function append(content) {\n\t\tif (typeof content !== 'string') {\n\t\t\tthrow new TypeError('appended content must be a string');\n\t\t}\n\n\t\tthis.str += content;\n\t\treturn this;\n\t};\n\n\tMagicString.prototype.clone = function clone() {\n\t\tvar clone = new MagicString(this.original, { filename: this.filename });\n\t\tclone.str = this.str;\n\n\t\tvar i = clone.mappings.length;\n\t\twhile (i--) {\n\t\t\tclone.mappings[i] = this.mappings[i];\n\t\t}\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tclone.indentExclusionRanges = typeof this.indentExclusionRanges[0] === 'number' ? [this.indentExclusionRanges[0], this.indentExclusionRanges[1]] : this.indentExclusionRanges.map(function (range) {\n\t\t\t\treturn [range.start, range.end];\n\t\t\t});\n\t\t}\n\n\t\tObject.keys(this.sourcemapLocations).forEach(function (loc) {\n\t\t\tclone.sourcemapLocations[loc] = true;\n\t\t});\n\n\t\treturn clone;\n\t};\n\n\tMagicString.prototype.generateMap = function generateMap(options) {\n\t\tvar _this = this;\n\n\t\toptions = options || {};\n\n\t\tvar names = [];\n\t\tObject.keys(this.nameLocations).forEach(function (location) {\n\t\t\tvar name = _this.nameLocations[location];\n\t\t\tif (! ~names.indexOf(name)) names.push(name);\n\t\t});\n\n\t\treturn new SourceMap({\n\t\t\tfile: options.file ? options.file.split(/[\\/\\\\]/).pop() : null,\n\t\t\tsources: [options.source ? getRelativePath(options.file || '', options.source) : null],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : [null],\n\t\t\tnames: names,\n\t\t\tmappings: this.getMappings(options.hires, 0, {}, names)\n\t\t});\n\t};\n\n\tMagicString.prototype.getIndentString = function getIndentString() {\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t};\n\n\tMagicString.prototype.getMappings = function getMappings(hires, sourceIndex, offsets, names) {\n\t\treturn encodeMappings(this.original, this.str, this.mappings, hires, this.sourcemapLocations, sourceIndex, offsets, names, this.nameLocations);\n\t};\n\n\tMagicString.prototype.indent = function indent(indentStr, options) {\n\t\tvar _this2 = this;\n\n\t\tvar mappings = this.mappings;\n\t\tvar reverseMappings = reverse(mappings, this.str.length);\n\t\tvar pattern = /^[^\\r\\n]/gm;\n\n\t\tif (typeof indentStr === 'object') {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tindentStr = indentStr !== undefined ? indentStr : this.indentStr || '\\t';\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tvar exclusions = undefined;\n\n\t\tif (options.exclude) {\n\t\t\texclusions = typeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\n\t\t\texclusions = exclusions.map(function (range) {\n\t\t\t\tvar rangeStart = _this2.locate(range[0]);\n\t\t\t\tvar rangeEnd = _this2.locate(range[1]);\n\n\t\t\t\tif (rangeStart === null || rangeEnd === null) {\n\t\t\t\t\tthrow new Error('Cannot use indices of replaced characters as exclusion ranges');\n\t\t\t\t}\n\n\t\t\t\treturn [rangeStart, rangeEnd];\n\t\t\t});\n\n\t\t\texclusions.sort(function (a, b) {\n\t\t\t\treturn a[0] - b[0];\n\t\t\t});\n\n\t\t\t// check for overlaps\n\t\t\tlastEnd = -1;\n\t\t\texclusions.forEach(function (range) {\n\t\t\t\tif (range[0] < lastEnd) {\n\t\t\t\t\tthrow new Error('Exclusion ranges cannot overlap');\n\t\t\t\t}\n\n\t\t\t\tlastEnd = range[1];\n\t\t\t});\n\t\t}\n\n\t\tvar indentStart = options.indentStart !== false;\n\t\tvar inserts = [];\n\n\t\tif (!exclusions) {\n\t\t\tthis.str = this.str.replace(pattern, function (match, index) {\n\t\t\t\tif (!indentStart && index === 0) {\n\t\t\t\t\treturn match;\n\t\t\t\t}\n\n\t\t\t\tinserts.push(index);\n\t\t\t\treturn indentStr + match;\n\t\t\t});\n\t\t} else {\n\t\t\tthis.str = this.str.replace(pattern, function (match, index) {\n\t\t\t\tif (!indentStart && index === 0 || isExcluded(index - 1)) {\n\t\t\t\t\treturn match;\n\t\t\t\t}\n\n\t\t\t\tinserts.push(index);\n\t\t\t\treturn indentStr + match;\n\t\t\t});\n\t\t}\n\n\t\tvar adjustments = inserts.map(function (index) {\n\t\t\tvar origin = undefined;\n\n\t\t\tdo {\n\t\t\t\torigin = reverseMappings[index++];\n\t\t\t} while (! ~origin && index < _this2.str.length);\n\n\t\t\treturn origin;\n\t\t});\n\n\t\tvar i = adjustments.length;\n\t\tvar lastEnd = this.mappings.length;\n\t\twhile (i--) {\n\t\t\tadjust(this.mappings, adjustments[i], lastEnd, (i + 1) * indentStr.length);\n\t\t\tlastEnd = adjustments[i];\n\t\t}\n\n\t\treturn this;\n\n\t\tfunction isExcluded(index) {\n\t\t\tvar i = exclusions.length;\n\t\t\tvar range = undefined;\n\n\t\t\twhile (i--) {\n\t\t\t\trange = exclusions[i];\n\n\t\t\t\tif (range[1] < index) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (range[0] <= index) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tMagicString.prototype.insert = function insert(index, content) {\n\t\tif (typeof content !== 'string') {\n\t\t\tthrow new TypeError('inserted content must be a string');\n\t\t}\n\n\t\tif (index === this.original.length) {\n\t\t\tthis.append(content);\n\t\t} else {\n\t\t\tvar mapped = this.locate(index);\n\n\t\t\tif (mapped === null) {\n\t\t\t\tthrow new Error('Cannot insert at replaced character index: ' + index);\n\t\t\t}\n\n\t\t\tthis.str = this.str.substr(0, mapped) + content + this.str.substr(mapped);\n\t\t\tadjust(this.mappings, index, this.mappings.length, content.length);\n\t\t}\n\n\t\treturn this;\n\t};\n\n\t// get current location of character in original string\n\n\tMagicString.prototype.locate = function locate(character) {\n\t\tif (character < 0 || character > this.mappings.length) {\n\t\t\tthrow new Error('Character is out of bounds');\n\t\t}\n\n\t\tvar loc = this.mappings[character];\n\t\treturn ~loc ? loc : null;\n\t};\n\n\tMagicString.prototype.locateOrigin = function locateOrigin(character) {\n\t\tif (character < 0 || character >= this.str.length) {\n\t\t\tthrow new Error('Character is out of bounds');\n\t\t}\n\n\t\tvar i = this.mappings.length;\n\t\twhile (i--) {\n\t\t\tif (this.mappings[i] === character) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tMagicString.prototype.overwrite = function overwrite(start, end, content, storeName) {\n\t\tif (typeof content !== 'string') {\n\t\t\tthrow new TypeError('replacement content must be a string');\n\t\t}\n\n\t\tvar firstChar = this.locate(start);\n\t\tvar lastChar = this.locate(end - 1);\n\n\t\tif (firstChar === null || lastChar === null) {\n\t\t\tthrow new Error('Cannot overwrite the same content twice: \\'' + this.original.slice(start, end).replace(/\\n/g, '\\\\n') + '\\'');\n\t\t}\n\n\t\tif (firstChar > lastChar + 1) {\n\t\t\tthrow new Error('BUG! First character mapped to a position after the last character: ' + '[' + start + ', ' + end + '] -> [' + firstChar + ', ' + (lastChar + 1) + ']');\n\t\t}\n\n\t\tif (storeName) {\n\t\t\tthis.nameLocations[start] = this.original.slice(start, end);\n\t\t}\n\n\t\tthis.str = this.str.substr(0, firstChar) + content + this.str.substring(lastChar + 1);\n\n\t\tvar d = content.length - (lastChar + 1 - firstChar);\n\n\t\tblank(this.mappings, start, end);\n\t\tadjust(this.mappings, end, this.mappings.length, d);\n\t\treturn this;\n\t};\n\n\tMagicString.prototype.prepend = function prepend(content) {\n\t\tthis.str = content + this.str;\n\t\tadjust(this.mappings, 0, this.mappings.length, content.length);\n\t\treturn this;\n\t};\n\n\tMagicString.prototype.remove = function remove(start, end) {\n\t\tif (start < 0 || end > this.mappings.length) {\n\t\t\tthrow new Error('Character is out of bounds');\n\t\t}\n\n\t\tvar currentStart = -1;\n\t\tvar currentEnd = -1;\n\t\tfor (var i = start; i < end; i += 1) {\n\t\t\tvar loc = this.mappings[i];\n\n\t\t\tif (~loc) {\n\t\t\t\tif (! ~currentStart) currentStart = loc;\n\n\t\t\t\tcurrentEnd = loc + 1;\n\t\t\t\tthis.mappings[i] = -1;\n\t\t\t}\n\t\t}\n\n\t\tthis.str = this.str.slice(0, currentStart) + this.str.slice(currentEnd);\n\n\t\tadjust(this.mappings, end, this.mappings.length, currentStart - currentEnd);\n\t\treturn this;\n\t};\n\n\tMagicString.prototype.replace = function replace(start, end, content) {\n\t\tif (!warned) {\n\t\t\tconsole.warn('magicString.replace(...) is deprecated. Use magicString.overwrite(...) instead');\n\t\t\twarned = true;\n\t\t}\n\n\t\treturn this.overwrite(start, end, content);\n\t};\n\n\tMagicString.prototype.slice = function slice(start) {\n\t\tvar end = arguments.length <= 1 || arguments[1] === undefined ? this.original.length : arguments[1];\n\n\t\twhile (start < 0) start += this.original.length;\n\t\twhile (end < 0) end += this.original.length;\n\n\t\tvar firstChar = this.locate(start);\n\t\tvar lastChar = this.locate(end - 1);\n\n\t\tif (firstChar === null || lastChar === null) {\n\t\t\tthrow new Error('Cannot use replaced characters as slice anchors');\n\t\t}\n\n\t\treturn this.str.slice(firstChar, lastChar + 1);\n\t};\n\n\tMagicString.prototype.snip = function snip(start, end) {\n\t\tvar clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t};\n\n\tMagicString.prototype.toString = function toString() {\n\t\treturn this.str;\n\t};\n\n\tMagicString.prototype.trimLines = function trimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t};\n\n\tMagicString.prototype.trim = function trim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t};\n\n\tMagicString.prototype.trimEnd = function trimEnd(charType) {\n\t\tvar _this3 = this;\n\n\t\tvar rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.str = this.str.replace(rx, function (trailing, index, str) {\n\t\t\tvar strLength = str.length;\n\t\t\tvar length = trailing.length;\n\n\t\t\tvar chars = [];\n\n\t\t\tvar i = strLength;\n\t\t\twhile (i-- > strLength - length) {\n\t\t\t\tchars.push(_this3.locateOrigin(i));\n\t\t\t}\n\n\t\t\ti = chars.length;\n\t\t\twhile (i--) {\n\t\t\t\tif (chars[i] !== null) {\n\t\t\t\t\t_this3.mappings[chars[i]] = -1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn '';\n\t\t});\n\n\t\treturn this;\n\t};\n\n\tMagicString.prototype.trimStart = function trimStart(charType) {\n\t\tvar _this4 = this;\n\n\t\tvar rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.str = this.str.replace(rx, function (leading) {\n\t\t\tvar length = leading.length;\n\n\t\t\tvar chars = [];\n\t\t\tvar adjustmentStart = 0;\n\n\t\t\tvar i = length;\n\t\t\twhile (i--) {\n\t\t\t\tchars.push(_this4.locateOrigin(i));\n\t\t\t}\n\n\t\t\ti = chars.length;\n\t\t\twhile (i--) {\n\t\t\t\tif (chars[i] !== null) {\n\t\t\t\t\t_this4.mappings[chars[i]] = -1;\n\t\t\t\t\tadjustmentStart += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tadjust(_this4.mappings, adjustmentStart, _this4.mappings.length, -length);\n\n\t\t\treturn '';\n\t\t});\n\n\t\treturn this;\n\t};\n\n\treturn MagicString;\n})();\n\nfunction adjust(mappings, start, end, d) {\n\tif (!d) return; // replacement is same length as replaced string\n\n\tvar i = end;\n\twhile (i-- > start) {\n\t\tif (~mappings[i]) {\n\t\t\tmappings[i] += d;\n\t\t}\n\t}\n}\n\nfunction initMappings(i) {\n\tvar mappings = new Uint32Array(i);\n\n\twhile (i--) mappings[i] = i;\n\treturn mappings;\n}\n\nfunction blank(mappings, start, i) {\n\twhile (i-- > start) mappings[i] = -1;\n}\n\nfunction reverse(mappings, i) {\n\tvar result = new Uint32Array(i);\n\n\twhile (i--) {\n\t\tresult[i] = -1;\n\t}\n\n\tvar location = undefined;\n\ti = mappings.length;\n\twhile (i--) {\n\t\tlocation = mappings[i];\n\n\t\tif (~location) {\n\t\t\tresult[location] = i;\n\t\t}\n\t}\n\n\treturn result;\n}\n\nvar hasOwnProp = Object.prototype.hasOwnProperty;\n\nvar Bundle = (function () {\n\tfunction Bundle() {\n\t\tvar options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\t\tbabelHelpers_classCallCheck(this, Bundle);\n\n\t\tthis.intro = options.intro || '';\n\t\tthis.outro = options.outro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\n\t\tthis.sources = [];\n\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\tBundle.prototype.addSource = function addSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator\n\t\t\t});\n\t\t}\n\n\t\tif (typeof source !== 'object' || !source.content) {\n\t\t\tthrow new Error('bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`');\n\t\t}\n\n\t\t['filename', 'indentExclusionRanges', 'separator'].forEach(function (option) {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tvar uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error('Illegal source: same filename (' + source.filename + '), different contents');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t};\n\n\tBundle.prototype.append = function append(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: options && options.separator || ''\n\t\t});\n\n\t\treturn this;\n\t};\n\n\tBundle.prototype.clone = function clone() {\n\t\tvar bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\toutro: this.outro,\n\t\t\tseparator: this.separator\n\t\t});\n\n\t\tthis.sources.forEach(function (source) {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t};\n\n\tBundle.prototype.generateMap = function generateMap(options) {\n\t\tvar _this = this;\n\n\t\tvar offsets = {};\n\n\t\tvar names = [];\n\t\tthis.sources.forEach(function (source) {\n\t\t\tObject.keys(source.content.nameLocations).forEach(function (location) {\n\t\t\t\tvar name = source.content.nameLocations[location];\n\t\t\t\tif (! ~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tvar encoded = getSemis(this.intro) + this.sources.map(function (source, i) {\n\t\t\tvar prefix = i > 0 ? getSemis(source.separator) || ',' : '';\n\t\t\tvar mappings = undefined;\n\n\t\t\t// we don't bother encoding sources without a filename\n\t\t\tif (!source.filename) {\n\t\t\t\tmappings = getSemis(source.content.toString());\n\t\t\t} else {\n\t\t\t\tvar sourceIndex = _this.uniqueSourceIndexByFilename[source.filename];\n\t\t\t\tmappings = source.content.getMappings(options.hires, sourceIndex, offsets, names);\n\t\t\t}\n\n\t\t\treturn prefix + mappings;\n\t\t}).join('') + getSemis(this.outro);\n\n\t\treturn new SourceMap({\n\t\t\tfile: options.file ? options.file.split(/[\\/\\\\]/).pop() : null,\n\t\t\tsources: this.uniqueSources.map(function (source) {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map(function (source) {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames: names,\n\t\t\tmappings: encoded\n\t\t});\n\t};\n\n\tBundle.prototype.getIndentString = function getIndentString() {\n\t\tvar indentStringCounts = {};\n\n\t\tthis.sources.forEach(function (source) {\n\t\t\tvar indentStr = source.content.indentStr;\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn Object.keys(indentStringCounts).sort(function (a, b) {\n\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t})[0] || '\\t';\n\t};\n\n\tBundle.prototype.indent = function indent(indentStr) {\n\t\tvar _this2 = this;\n\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tvar trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach(function (source, i) {\n\t\t\tvar separator = source.separator !== undefined ? source.separator : _this2.separator;\n\t\t\tvar indentStart = trailingNewline || i > 0 && /\\r?\\n$/.test(separator);\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart: indentStart //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.str.slice(0, -1) === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro = indentStr + this.intro.replace(/^[^\\n]/gm, function (match, index) {\n\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t});\n\t\t}\n\n\t\tthis.outro = this.outro.replace(/^[^\\n]/gm, indentStr + '$&');\n\n\t\treturn this;\n\t};\n\n\tBundle.prototype.prepend = function prepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t};\n\n\tBundle.prototype.toString = function toString() {\n\t\tvar _this3 = this;\n\n\t\tvar body = this.sources.map(function (source, i) {\n\t\t\tvar separator = source.separator !== undefined ? source.separator : _this3.separator;\n\t\t\tvar str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\treturn str;\n\t\t}).join('');\n\n\t\treturn this.intro + body + this.outro;\n\t};\n\n\tBundle.prototype.trimLines = function trimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t};\n\n\tBundle.prototype.trim = function trim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t};\n\n\tBundle.prototype.trimStart = function trimStart(charType) {\n\t\tvar rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tvar source = undefined; // TODO put inside loop if safe\n\t\t\tvar i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i];\n\n\t\t\t\tif (!source) {\n\t\t\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tsource.content.trimStart();\n\t\t\t\ti += 1;\n\t\t\t} while (source.content.str === '');\n\t\t}\n\n\t\treturn this;\n\t};\n\n\tBundle.prototype.trimEnd = function trimEnd(charType) {\n\t\tvar rx = new RegExp((charType || '\\\\s') + '+$');\n\t\tthis.outro = this.outro.replace(rx, '');\n\n\t\tif (!this.outro) {\n\t\t\tvar source = undefined;\n\t\t\tvar i = this.sources.length - 1;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i];\n\n\t\t\t\tif (!source) {\n\t\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tsource.content.trimEnd(charType);\n\t\t\t\ti -= 1;\n\t\t\t} while (source.content.str === '');\n\t\t}\n\n\t\treturn this;\n\t};\n\n\treturn Bundle;\n})();\n\nfunction getSemis(str) {\n\treturn new Array(str.split('\\n').length).join(';');\n}\n\nMagicString.Bundle = Bundle;\n\nexport default MagicString;\n//# sourceMappingURL=magic-string.es6.js.map\n","import Promise from 'es6-promise/lib/es6-promise/promise.js';\n\n// Return the first non-falsy result from an array of\n// maybe-sync, maybe-promise-returning functions\nexport default function first ( candidates ) {\n\treturn function ( ...args ) {\n\t\treturn candidates.reduce( ( promise, candidate ) => {\n\t\t\treturn promise.then( result => result != null ?\n\t\t\t\tresult :\n\t\t\t\tPromise.resolve( candidate( ...args ) ) );\n\t\t}, Promise.resolve() );\n\t};\n}\n","// This is a trick taken from Esprima. It turns out that, on\n// non-Chrome browsers, to check whether a string is in a set, a\n// predicate containing a big ugly `switch` statement is faster than\n// a regular expression, and on Chrome the two are about on par.\n// This function uses `eval` (non-lexical) to produce such a\n// predicate from a space-separated string of words.\n//\n// It starts by sorting the words by length.\n\n// Reserved word lists for various dialects of the language\n\nexport const reservedWords = {\n 3: \"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile\",\n 5: \"class enum extends super const export import\",\n 6: \"enum\",\n strict: \"implements interface let package private protected public static yield\",\n strictBind: \"eval arguments\"\n}\n\n// And the keywords\n\nvar ecma5AndLessKeywords = \"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this\"\n\nexport const keywords = {\n 5: ecma5AndLessKeywords,\n 6: ecma5AndLessKeywords + \" let const class extends export import yield super\"\n}\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point above 128.\n// Generated by `bin/generate-identifier-regex.js`.\n\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0-\\u08b2\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua7ad\\ua7b0\\ua7b1\\ua7f7-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab5f\\uab64\\uab65\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\"\nlet nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08e4-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c03\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d01-\\u0d03\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19b0-\\u19c0\\u19c8\\u19c9\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf2-\\u1cf4\\u1cf8\\u1cf9\\u1dc0-\\u1df5\\u1dfc-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua880\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua900-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2d\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\"\n\nconst nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\")\nconst nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\")\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null\n\n// These are a run-length and offset encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by tools/generate-identifier-regex.js\nvar astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,99,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,98,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,955,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,38,17,2,24,133,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,32,4,287,47,21,1,2,0,185,46,82,47,21,0,60,42,502,63,32,0,449,56,1288,920,104,110,2962,1070,13266,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,16481,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,1340,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,16355,541]\nvar astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,16,9,83,11,168,11,6,9,8,2,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,316,19,13,9,214,6,3,8,112,16,16,9,82,12,9,9,535,9,20855,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,4305,6,792618,239]\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code, set) {\n let pos = 0x10000\n for (let i = 0; i < set.length; i += 2) {\n pos += set[i]\n if (pos > code) return false\n pos += set[i + 1]\n if (pos >= code) return true\n }\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code, astral) {\n if (code < 65) return code === 36\n if (code < 91) return true\n if (code < 97) return code === 95\n if (code < 123) return true\n if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n if (astral === false) return false\n return isInAstralSet(code, astralIdentifierStartCodes)\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code, astral) {\n if (code < 48) return code === 36\n if (code < 58) return true\n if (code < 65) return false\n if (code < 91) return true\n if (code < 97) return code === 95\n if (code < 123) return true\n if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code))\n if (astral === false) return false\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)\n}\n","// ## Token types\n\n// The assignment of fine-grained, information-carrying type objects\n// allows the tokenizer to store the information it has about a\n// token in a way that is very cheap for the parser to look up.\n\n// All token type variables start with an underscore, to make them\n// easy to recognize.\n\n// The `beforeExpr` property is used to disambiguate between regular\n// expressions and divisions. It is set on all token types that can\n// be followed by an expression (thus, a slash after them would be a\n// regular expression).\n//\n// The `startsExpr` property is used to check if the token ends a\n// `yield` expression. It is set on all token types that either can\n// directly start an expression (like a quotation mark) or can\n// continue an expression (like the body of a string).\n//\n// `isLoop` marks a keyword as starting a loop, which is important\n// to know when parsing a label, in order to allow or disallow\n// continue jumps to that label.\n\nexport class TokenType {\n constructor(label, conf = {}) {\n this.label = label\n this.keyword = conf.keyword\n this.beforeExpr = !!conf.beforeExpr\n this.startsExpr = !!conf.startsExpr\n this.isLoop = !!conf.isLoop\n this.isAssign = !!conf.isAssign\n this.prefix = !!conf.prefix\n this.postfix = !!conf.postfix\n this.binop = conf.binop || null\n this.updateContext = null\n }\n}\n\nfunction binop(name, prec) {\n return new TokenType(name, {beforeExpr: true, binop: prec})\n}\nconst beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true}\n\nexport const types = {\n num: new TokenType(\"num\", startsExpr),\n regexp: new TokenType(\"regexp\", startsExpr),\n string: new TokenType(\"string\", startsExpr),\n name: new TokenType(\"name\", startsExpr),\n eof: new TokenType(\"eof\"),\n\n // Punctuation token types.\n bracketL: new TokenType(\"[\", {beforeExpr: true, startsExpr: true}),\n bracketR: new TokenType(\"]\"),\n braceL: new TokenType(\"{\", {beforeExpr: true, startsExpr: true}),\n braceR: new TokenType(\"}\"),\n parenL: new TokenType(\"(\", {beforeExpr: true, startsExpr: true}),\n parenR: new TokenType(\")\"),\n comma: new TokenType(\",\", beforeExpr),\n semi: new TokenType(\";\", beforeExpr),\n colon: new TokenType(\":\", beforeExpr),\n dot: new TokenType(\".\"),\n question: new TokenType(\"?\", beforeExpr),\n arrow: new TokenType(\"=>\", beforeExpr),\n template: new TokenType(\"template\"),\n ellipsis: new TokenType(\"...\", beforeExpr),\n backQuote: new TokenType(\"`\", startsExpr),\n dollarBraceL: new TokenType(\"${\", {beforeExpr: true, startsExpr: true}),\n\n // Operators. These carry several kinds of properties to help the\n // parser use them properly (the presence of these properties is\n // what categorizes them as operators).\n //\n // `binop`, when present, specifies that this operator is a binary\n // operator, and will refer to its precedence.\n //\n // `prefix` and `postfix` mark the operator as a prefix or postfix\n // unary operator.\n //\n // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as\n // binary operators with a very low precedence, that should result\n // in AssignmentExpression nodes.\n\n eq: new TokenType(\"=\", {beforeExpr: true, isAssign: true}),\n assign: new TokenType(\"_=\", {beforeExpr: true, isAssign: true}),\n incDec: new TokenType(\"++/--\", {prefix: true, postfix: true, startsExpr: true}),\n prefix: new TokenType(\"prefix\", {beforeExpr: true, prefix: true, startsExpr: true}),\n logicalOR: binop(\"||\", 1),\n logicalAND: binop(\"&&\", 2),\n bitwiseOR: binop(\"|\", 3),\n bitwiseXOR: binop(\"^\", 4),\n bitwiseAND: binop(\"&\", 5),\n equality: binop(\"==/!=\", 6),\n relational: binop(\"</>\", 7),\n bitShift: binop(\"<</>>\", 8),\n plusMin: new TokenType(\"+/-\", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),\n modulo: binop(\"%\", 10),\n star: binop(\"*\", 10),\n slash: binop(\"/\", 10)\n}\n\n// Map keyword names to token types.\n\nexport const keywords = {}\n\n// Succinct definitions of keyword token types\nfunction kw(name, options = {}) {\n options.keyword = name\n keywords[name] = types[\"_\" + name] = new TokenType(name, options)\n}\n\nkw(\"break\")\nkw(\"case\", beforeExpr)\nkw(\"catch\")\nkw(\"continue\")\nkw(\"debugger\")\nkw(\"default\", beforeExpr)\nkw(\"do\", {isLoop: true, beforeExpr: true})\nkw(\"else\", beforeExpr)\nkw(\"finally\")\nkw(\"for\", {isLoop: true})\nkw(\"function\", startsExpr)\nkw(\"if\")\nkw(\"return\", beforeExpr)\nkw(\"switch\")\nkw(\"throw\", beforeExpr)\nkw(\"try\")\nkw(\"var\")\nkw(\"let\")\nkw(\"const\")\nkw(\"while\", {isLoop: true})\nkw(\"with\")\nkw(\"new\", {beforeExpr: true, startsExpr: true})\nkw(\"this\", startsExpr)\nkw(\"super\", startsExpr)\nkw(\"class\")\nkw(\"extends\", beforeExpr)\nkw(\"export\")\nkw(\"import\")\nkw(\"yield\", {beforeExpr: true, startsExpr: true})\nkw(\"null\", startsExpr)\nkw(\"true\", startsExpr)\nkw(\"false\", startsExpr)\nkw(\"in\", {beforeExpr: true, binop: 7})\nkw(\"instanceof\", {beforeExpr: true, binop: 7})\nkw(\"typeof\", {beforeExpr: true, prefix: true, startsExpr: true})\nkw(\"void\", {beforeExpr: true, prefix: true, startsExpr: true})\nkw(\"delete\", {beforeExpr: true, prefix: true, startsExpr: true})\n","// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\n\nexport const lineBreak = /\\r\\n?|\\n|\\u2028|\\u2029/\nexport const lineBreakG = new RegExp(lineBreak.source, \"g\")\n\nexport function isNewLine(code) {\n return code === 10 || code === 13 || code === 0x2028 || code == 0x2029\n}\n\nexport const nonASCIIwhitespace = /[\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/\n\n","export function isArray(obj) {\n return Object.prototype.toString.call(obj) === \"[object Array]\"\n}\n\n// Checks if an object has a property.\n\nexport function has(obj, propName) {\n return Object.prototype.hasOwnProperty.call(obj, propName)\n}\n","import {lineBreakG} from \"./whitespace\"\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nexport class Position {\n constructor(line, col) {\n this.line = line\n this.column = col\n }\n\n offset(n) {\n return new Position(this.line, this.column + n)\n }\n}\n\nexport class SourceLocation {\n constructor(p, start, end) {\n this.start = start\n this.end = end\n if (p.sourceFile !== null) this.source = p.sourceFile\n }\n}\n\n// The `getLineInfo` function is mostly useful when the\n// `locations` option is off (for performance reasons) and you\n// want to find the line/column position for a given character\n// offset. `input` should be the code string that the offset refers\n// into.\n\nexport function getLineInfo(input, offset) {\n for (let line = 1, cur = 0;;) {\n lineBreakG.lastIndex = cur\n let match = lineBreakG.exec(input)\n if (match && match.index < offset) {\n ++line\n cur = match.index + match[0].length\n } else {\n return new Position(line, offset - cur)\n }\n }\n}\n","import {has, isArray} from \"./util\"\nimport {SourceLocation} from \"./locutil\"\n\n// A second optional argument can be given to further configure\n// the parser process. These options are recognized:\n\nexport const defaultOptions = {\n // `ecmaVersion` indicates the ECMAScript version to parse. Must\n // be either 3, or 5, or 6. This influences support for strict\n // mode, the set of reserved words, support for getters and\n // setters and other features.\n ecmaVersion: 5,\n // Source type (\"script\" or \"module\") for different semantics\n sourceType: \"script\",\n // `onInsertedSemicolon` can be a callback that will be called\n // when a semicolon is automatically inserted. It will be passed\n // th position of the comma as an offset, and if `locations` is\n // enabled, it is given the location as a `{line, column}` object\n // as second argument.\n onInsertedSemicolon: null,\n // `onTrailingComma` is similar to `onInsertedSemicolon`, but for\n // trailing commas.\n onTrailingComma: null,\n // By default, reserved words are only enforced if ecmaVersion >= 5.\n // Set `allowReserved` to a boolean value to explicitly turn this on\n // an off. When this option has the value \"never\", reserved words\n // and keywords can also not be used as property names.\n allowReserved: null,\n // When enabled, a return at the top level is not considered an\n // error.\n allowReturnOutsideFunction: false,\n // When enabled, import/export statements are not constrained to\n // appearing at the top of the program.\n allowImportExportEverywhere: false,\n // When enabled, hashbang directive in the beginning of file\n // is allowed and treated as a line comment.\n allowHashBang: false,\n // When `locations` is on, `loc` properties holding objects with\n // `start` and `end` properties in `{line, column}` form (with\n // line being 1-based and column 0-based) will be attached to the\n // nodes.\n locations: false,\n // A function can be passed as `onToken` option, which will\n // cause Acorn to call that function with object in the same\n // format as tokens returned from `tokenizer().getToken()`. Note\n // that you are not allowed to call the parser from the\n // callback—that will corrupt its internal state.\n onToken: null,\n // A function can be passed as `onComment` option, which will\n // cause Acorn to call that function with `(block, text, start,\n // end)` parameters whenever a comment is skipped. `block` is a\n // boolean indicating whether this is a block (`/* */`) comment,\n // `text` is the content of the comment, and `start` and `end` are\n // character offsets that denote the start and end of the comment.\n // When the `locations` option is on, two more parameters are\n // passed, the full `{line, column}` locations of the start and\n // end of the comments. Note that you are not allowed to call the\n // parser from the callback—that will corrupt its internal state.\n onComment: null,\n // Nodes have their start and end characters offsets recorded in\n // `start` and `end` properties (directly on the node, rather than\n // the `loc` object, which holds line/column data. To also add a\n // [semi-standardized][range] `range` property holding a `[start,\n // end]` array with the same numbers, set the `ranges` option to\n // `true`.\n //\n // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678\n ranges: false,\n // It is possible to parse multiple files into a single AST by\n // passing the tree produced by parsing the first file as\n // `program` option in subsequent parses. This will add the\n // toplevel forms of the parsed file to the `Program` (top) node\n // of an existing parse tree.\n program: null,\n // When `locations` is on, you can pass this to record the source\n // file in every node's `loc` object.\n sourceFile: null,\n // This value, if given, is stored in every node, whether\n // `locations` is on or off.\n directSourceFile: null,\n // When enabled, parenthesized expressions are represented by\n // (non-standard) ParenthesizedExpression nodes\n preserveParens: false,\n plugins: {}\n}\n\n// Interpret and default an options object\n\nexport function getOptions(opts) {\n let options = {}\n for (let opt in defaultOptions)\n options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]\n if (options.allowReserved == null)\n options.allowReserved = options.ecmaVersion < 5\n\n if (isArray(options.onToken)) {\n let tokens = options.onToken\n options.onToken = (token) => tokens.push(token)\n }\n if (isArray(options.onComment))\n options.onComment = pushComment(options, options.onComment)\n\n return options\n}\n\nfunction pushComment(options, array) {\n return function (block, text, start, end, startLoc, endLoc) {\n let comment = {\n type: block ? 'Block' : 'Line',\n value: text,\n start: start,\n end: end\n }\n if (options.locations)\n comment.loc = new SourceLocation(this, startLoc, endLoc)\n if (options.ranges)\n comment.range = [start, end]\n array.push(comment)\n }\n}\n\n","import {reservedWords, keywords} from \"./identifier\"\nimport {types as tt} from \"./tokentype\"\nimport {lineBreak} from \"./whitespace\"\nimport {getOptions} from \"./options\"\n\n// Registered plugins\nexport const plugins = {}\n\nfunction keywordRegexp(words) {\n return new RegExp(\"^(\" + words.replace(/ /g, \"|\") + \")$\")\n}\n\nexport class Parser {\n constructor(options, input, startPos) {\n this.options = options = getOptions(options)\n this.sourceFile = options.sourceFile\n this.keywords = keywordRegexp(keywords[options.ecmaVersion >= 6 ? 6 : 5])\n let reserved = options.allowReserved ? \"\" :\n reservedWords[options.ecmaVersion] + (options.sourceType == \"module\" ? \" await\" : \"\")\n this.reservedWords = keywordRegexp(reserved)\n let reservedStrict = (reserved ? reserved + \" \" : \"\") + reservedWords.strict\n this.reservedWordsStrict = keywordRegexp(reservedStrict)\n this.reservedWordsStrictBind = keywordRegexp(reservedStrict + \" \" + reservedWords.strictBind)\n this.input = String(input)\n\n // Used to signal to callers of `readWord1` whether the word\n // contained any escape sequences. This is needed because words with\n // escape sequences must not be interpreted as keywords.\n this.containsEsc = false;\n\n // Load plugins\n this.loadPlugins(options.plugins)\n\n // Set up token state\n\n // The current position of the tokenizer in the input.\n if (startPos) {\n this.pos = startPos\n this.lineStart = Math.max(0, this.input.lastIndexOf(\"\\n\", startPos))\n this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length\n } else {\n this.pos = this.lineStart = 0\n this.curLine = 1\n }\n\n // Properties of the current token:\n // Its type\n this.type = tt.eof\n // For tokens that include more information than their type, the value\n this.value = null\n // Its start and end offset\n this.start = this.end = this.pos\n // And, if locations are used, the {line, column} object\n // corresponding to those offsets\n this.startLoc = this.endLoc = this.curPosition()\n\n // Position information for the previous token\n this.lastTokEndLoc = this.lastTokStartLoc = null\n this.lastTokStart = this.lastTokEnd = this.pos\n\n // The context stack is used to superficially track syntactic\n // context to predict whether a regular expression is allowed in a\n // given position.\n this.context = this.initialContext()\n this.exprAllowed = true\n\n // Figure out if it's a module code.\n this.strict = this.inModule = options.sourceType === \"module\"\n\n // Used to signify the start of a potential arrow function\n this.potentialArrowAt = -1\n\n // Flags to track whether we are in a function, a generator.\n this.inFunction = this.inGenerator = false\n // Labels in scope.\n this.labels = []\n\n // If enabled, skip leading hashbang line.\n if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === '#!')\n this.skipLineComment(2)\n }\n\n // DEPRECATED Kept for backwards compatibility until 3.0 in case a plugin uses them\n isKeyword(word) { return this.keywords.test(word) }\n isReservedWord(word) { return this.reservedWords.test(word) }\n\n extend(name, f) {\n this[name] = f(this[name])\n }\n\n loadPlugins(pluginConfigs) {\n for (let name in pluginConfigs) {\n let plugin = plugins[name]\n if (!plugin) throw new Error(\"Plugin '\" + name + \"' not found\")\n plugin(this, pluginConfigs[name])\n }\n }\n\n parse() {\n let node = this.options.program || this.startNode()\n this.nextToken()\n return this.parseTopLevel(node)\n }\n}\n","import {types as tt} from \"./tokentype\"\nimport {Parser} from \"./state\"\nimport {lineBreak} from \"./whitespace\"\n\nconst pp = Parser.prototype\n\n// ## Parser utilities\n\n// Test whether a statement node is the string literal `\"use strict\"`.\n\npp.isUseStrict = function(stmt) {\n return this.options.ecmaVersion >= 5 && stmt.type === \"ExpressionStatement\" &&\n stmt.expression.type === \"Literal\" &&\n stmt.expression.raw.slice(1, -1) === \"use strict\"\n}\n\n// Predicate that tests whether the next token is of the given\n// type, and if yes, consumes it as a side effect.\n\npp.eat = function(type) {\n if (this.type === type) {\n this.next()\n return true\n } else {\n return false\n }\n}\n\n// Tests whether parsed token is a contextual keyword.\n\npp.isContextual = function(name) {\n return this.type === tt.name && this.value === name\n}\n\n// Consumes contextual keyword if possible.\n\npp.eatContextual = function(name) {\n return this.value === name && this.eat(tt.name)\n}\n\n// Asserts that following token is given contextual keyword.\n\npp.expectContextual = function(name) {\n if (!this.eatContextual(name)) this.unexpected()\n}\n\n// Test whether a semicolon can be inserted at the current position.\n\npp.canInsertSemicolon = function() {\n return this.type === tt.eof ||\n this.type === tt.braceR ||\n lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n}\n\npp.insertSemicolon = function() {\n if (this.canInsertSemicolon()) {\n if (this.options.onInsertedSemicolon)\n this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc)\n return true\n }\n}\n\n// Consume a semicolon, or, failing that, see if we are allowed to\n// pretend that there is a semicolon at this position.\n\npp.semicolon = function() {\n if (!this.eat(tt.semi) && !this.insertSemicolon()) this.unexpected()\n}\n\npp.afterTrailingComma = function(tokType) {\n if (this.type == tokType) {\n if (this.options.onTrailingComma)\n this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc)\n this.next()\n return true\n }\n}\n\n// Expect a token of a given type. If found, consume it, otherwise,\n// raise an unexpected token error.\n\npp.expect = function(type) {\n this.eat(type) || this.unexpected()\n}\n\n// Raise an unexpected token error.\n\npp.unexpected = function(pos) {\n this.raise(pos != null ? pos : this.start, \"Unexpected token\")\n}\n\npp.checkPatternErrors = function(refDestructuringErrors, andThrow) {\n let pos = refDestructuringErrors && refDestructuringErrors.trailingComma\n if (!andThrow) return !!pos\n if (pos) this.raise(pos, \"Trailing comma is not permitted in destructuring patterns\")\n}\n\npp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {\n let pos = refDestructuringErrors && refDestructuringErrors.shorthandAssign\n if (!andThrow) return !!pos\n if (pos) this.raise(pos, \"Shorthand property assignments are valid only in destructuring patterns\")\n}\n","import {types as tt} from \"./tokentype\"\nimport {Parser} from \"./state\"\nimport {lineBreak} from \"./whitespace\"\n\nconst pp = Parser.prototype\n\n// ### Statement parsing\n\n// Parse a program. Initializes the parser, reads any number of\n// statements, and wraps them in a Program node. Optionally takes a\n// `program` argument. If present, the statements will be appended\n// to its body instead of creating a new node.\n\npp.parseTopLevel = function(node) {\n let first = true\n if (!node.body) node.body = []\n while (this.type !== tt.eof) {\n let stmt = this.parseStatement(true, true)\n node.body.push(stmt)\n if (first) {\n if (this.isUseStrict(stmt)) this.setStrict(true)\n first = false\n }\n }\n this.next()\n if (this.options.ecmaVersion >= 6) {\n node.sourceType = this.options.sourceType\n }\n return this.finishNode(node, \"Program\")\n}\n\nconst loopLabel = {kind: \"loop\"}, switchLabel = {kind: \"switch\"}\n\n// Parse a single statement.\n//\n// If expecting a statement and finding a slash operator, parse a\n// regular expression literal. This is to handle cases like\n// `if (foo) /blah/.exec(foo)`, where looking at the previous token\n// does not help.\n\npp.parseStatement = function(declaration, topLevel) {\n let starttype = this.type, node = this.startNode()\n\n // Most types of statements are recognized by the keyword they\n // start with. Many are trivial to parse, some require a bit of\n // complexity.\n\n switch (starttype) {\n case tt._break: case tt._continue: return this.parseBreakContinueStatement(node, starttype.keyword)\n case tt._debugger: return this.parseDebuggerStatement(node)\n case tt._do: return this.parseDoStatement(node)\n case tt._for: return this.parseForStatement(node)\n case tt._function:\n if (!declaration && this.options.ecmaVersion >= 6) this.unexpected()\n return this.parseFunctionStatement(node)\n case tt._class:\n if (!declaration) this.unexpected()\n return this.parseClass(node, true)\n case tt._if: return this.parseIfStatement(node)\n case tt._return: return this.parseReturnStatement(node)\n case tt._switch: return this.parseSwitchStatement(node)\n case tt._throw: return this.parseThrowStatement(node)\n case tt._try: return this.parseTryStatement(node)\n case tt._let: case tt._const: if (!declaration) this.unexpected() // NOTE: falls through to _var\n case tt._var: return this.parseVarStatement(node, starttype)\n case tt._while: return this.parseWhileStatement(node)\n case tt._with: return this.parseWithStatement(node)\n case tt.braceL: return this.parseBlock()\n case tt.semi: return this.parseEmptyStatement(node)\n case tt._export:\n case tt._import:\n if (!this.options.allowImportExportEverywhere) {\n if (!topLevel)\n this.raise(this.start, \"'import' and 'export' may only appear at the top level\")\n if (!this.inModule)\n this.raise(this.start, \"'import' and 'export' may appear only with 'sourceType: module'\")\n }\n return starttype === tt._import ? this.parseImport(node) : this.parseExport(node)\n\n // If the statement does not start with a statement keyword or a\n // brace, it's an ExpressionStatement or LabeledStatement. We\n // simply start parsing an expression, and afterwards, if the\n // next token is a colon and the expression was a simple\n // Identifier node, we switch to interpreting it as a label.\n default:\n let maybeName = this.value, expr = this.parseExpression()\n if (starttype === tt.name && expr.type === \"Identifier\" && this.eat(tt.colon))\n return this.parseLabeledStatement(node, maybeName, expr)\n else return this.parseExpressionStatement(node, expr)\n }\n}\n\npp.parseBreakContinueStatement = function(node, keyword) {\n let isBreak = keyword == \"break\"\n this.next()\n if (this.eat(tt.semi) || this.insertSemicolon()) node.label = null\n else if (this.type !== tt.name) this.unexpected()\n else {\n node.label = this.parseIdent()\n this.semicolon()\n }\n\n // Verify that there is an actual destination to break or\n // continue to.\n for (var i = 0; i < this.labels.length; ++i) {\n let lab = this.labels[i]\n if (node.label == null || lab.name === node.label.name) {\n if (lab.kind != null && (isBreak || lab.kind === \"loop\")) break\n if (node.label && isBreak) break\n }\n }\n if (i === this.labels.length) this.raise(node.start, \"Unsyntactic \" + keyword)\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\")\n}\n\npp.parseDebuggerStatement = function(node) {\n this.next()\n this.semicolon()\n return this.finishNode(node, \"DebuggerStatement\")\n}\n\npp.parseDoStatement = function(node) {\n this.next()\n this.labels.push(loopLabel)\n node.body = this.parseStatement(false)\n this.labels.pop()\n this.expect(tt._while)\n node.test = this.parseParenExpression()\n if (this.options.ecmaVersion >= 6)\n this.eat(tt.semi)\n else\n this.semicolon()\n return this.finishNode(node, \"DoWhileStatement\")\n}\n\n// Disambiguating between a `for` and a `for`/`in` or `for`/`of`\n// loop is non-trivial. Basically, we have to parse the init `var`\n// statement or expression, disallowing the `in` operator (see\n// the second parameter to `parseExpression`), and then check\n// whether the next token is `in` or `of`. When there is no init\n// part (semicolon immediately after the opening parenthesis), it\n// is a regular `for` loop.\n\npp.parseForStatement = function(node) {\n this.next()\n this.labels.push(loopLabel)\n this.expect(tt.parenL)\n if (this.type === tt.semi) return this.parseFor(node, null)\n if (this.type === tt._var || this.type === tt._let || this.type === tt._const) {\n let init = this.startNode(), varKind = this.type\n this.next()\n this.parseVar(init, true, varKind)\n this.finishNode(init, \"VariableDeclaration\")\n if ((this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) && init.declarations.length === 1 &&\n !(varKind !== tt._var && init.declarations[0].init))\n return this.parseForIn(node, init)\n return this.parseFor(node, init)\n }\n let refDestructuringErrors = {shorthandAssign: 0, trailingComma: 0}\n let init = this.parseExpression(true, refDestructuringErrors)\n if (this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\"))) {\n this.checkPatternErrors(refDestructuringErrors, true)\n this.toAssignable(init)\n this.checkLVal(init)\n return this.parseForIn(node, init)\n } else {\n this.checkExpressionErrors(refDestructuringErrors, true)\n }\n return this.parseFor(node, init)\n}\n\npp.parseFunctionStatement = function(node) {\n this.next()\n return this.parseFunction(node, true)\n}\n\npp.parseIfStatement = function(node) {\n this.next()\n node.test = this.parseParenExpression()\n node.consequent = this.parseStatement(false)\n node.alternate = this.eat(tt._else) ? this.parseStatement(false) : null\n return this.finishNode(node, \"IfStatement\")\n}\n\npp.parseReturnStatement = function(node) {\n if (!this.inFunction && !this.options.allowReturnOutsideFunction)\n this.raise(this.start, \"'return' outside of function\")\n this.next()\n\n // In `return` (and `break`/`continue`), the keywords with\n // optional arguments, we eagerly look for a semicolon or the\n // possibility to insert one.\n\n if (this.eat(tt.semi) || this.insertSemicolon()) node.argument = null\n else { node.argument = this.parseExpression(); this.semicolon() }\n return this.finishNode(node, \"ReturnStatement\")\n}\n\npp.parseSwitchStatement = function(node) {\n this.next()\n node.discriminant = this.parseParenExpression()\n node.cases = []\n this.expect(tt.braceL)\n this.labels.push(switchLabel)\n\n // Statements under must be grouped (by label) in SwitchCase\n // nodes. `cur` is used to keep the node that we are currently\n // adding statements to.\n\n for (var cur, sawDefault = false; this.type != tt.braceR;) {\n if (this.type === tt._case || this.type === tt._default) {\n let isCase = this.type === tt._case\n if (cur) this.finishNode(cur, \"SwitchCase\")\n node.cases.push(cur = this.startNode())\n cur.consequent = []\n this.next()\n if (isCase) {\n cur.test = this.parseExpression()\n } else {\n if (sawDefault) this.raise(this.lastTokStart, \"Multiple default clauses\")\n sawDefault = true\n cur.test = null\n }\n this.expect(tt.colon)\n } else {\n if (!cur) this.unexpected()\n cur.consequent.push(this.parseStatement(true))\n }\n }\n if (cur) this.finishNode(cur, \"SwitchCase\")\n this.next() // Closing brace\n this.labels.pop()\n return this.finishNode(node, \"SwitchStatement\")\n}\n\npp.parseThrowStatement = function(node) {\n this.next()\n if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))\n this.raise(this.lastTokEnd, \"Illegal newline after throw\")\n node.argument = this.parseExpression()\n this.semicolon()\n return this.finishNode(node, \"ThrowStatement\")\n}\n\n// Reused empty array added for node fields that are always empty.\n\nconst empty = []\n\npp.parseTryStatement = function(node) {\n this.next()\n node.block = this.parseBlock()\n node.handler = null\n if (this.type === tt._catch) {\n let clause = this.startNode()\n this.next()\n this.expect(tt.parenL)\n clause.param = this.parseBindingAtom()\n this.checkLVal(clause.param, true)\n this.expect(tt.parenR)\n clause.body = this.parseBlock()\n node.handler = this.finishNode(clause, \"CatchClause\")\n }\n node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null\n if (!node.handler && !node.finalizer)\n this.raise(node.start, \"Missing catch or finally clause\")\n return this.finishNode(node, \"TryStatement\")\n}\n\npp.parseVarStatement = function(node, kind) {\n this.next()\n this.parseVar(node, false, kind)\n this.semicolon()\n return this.finishNode(node, \"VariableDeclaration\")\n}\n\npp.parseWhileStatement = function(node) {\n this.next()\n node.test = this.parseParenExpression()\n this.labels.push(loopLabel)\n node.body = this.parseStatement(false)\n this.labels.pop()\n return this.finishNode(node, \"WhileStatement\")\n}\n\npp.parseWithStatement = function(node) {\n if (this.strict) this.raise(this.start, \"'with' in strict mode\")\n this.next()\n node.object = this.parseParenExpression()\n node.body = this.parseStatement(false)\n return this.finishNode(node, \"WithStatement\")\n}\n\npp.parseEmptyStatement = function(node) {\n this.next()\n return this.finishNode(node, \"EmptyStatement\")\n}\n\npp.parseLabeledStatement = function(node, maybeName, expr) {\n for (let i = 0; i < this.labels.length; ++i)\n if (this.labels[i].name === maybeName) this.raise(expr.start, \"Label '\" + maybeName + \"' is already declared\")\n let kind = this.type.isLoop ? \"loop\" : this.type === tt._switch ? \"switch\" : null\n for (let i = this.labels.length - 1; i >= 0; i--) {\n let label = this.labels[i]\n if (label.statementStart == node.start) {\n label.statementStart = this.start;\n label.kind = kind;\n } else break;\n }\n this.labels.push({name: maybeName, kind: kind, statementStart: this.start})\n node.body = this.parseStatement(true)\n this.labels.pop()\n node.label = expr\n return this.finishNode(node, \"LabeledStatement\")\n}\n\npp.parseExpressionStatement = function(node, expr) {\n node.expression = expr\n this.semicolon()\n return this.finishNode(node, \"ExpressionStatement\")\n}\n\n// Parse a semicolon-enclosed block of statements, handling `\"use\n// strict\"` declarations when `allowStrict` is true (used for\n// function bodies).\n\npp.parseBlock = function(allowStrict) {\n let node = this.startNode(), first = true, oldStrict\n node.body = []\n this.expect(tt.braceL)\n while (!this.eat(tt.braceR)) {\n let stmt = this.parseStatement(true)\n node.body.push(stmt)\n if (first && allowStrict && this.isUseStrict(stmt)) {\n oldStrict = this.strict\n this.setStrict(this.strict = true)\n }\n first = false\n }\n if (oldStrict === false) this.setStrict(false)\n return this.finishNode(node, \"BlockStatement\")\n}\n\n// Parse a regular `for` loop. The disambiguation code in\n// `parseStatement` will already have parsed the init statement or\n// expression.\n\npp.parseFor = function(node, init) {\n node.init = init\n this.expect(tt.semi)\n node.test = this.type === tt.semi ? null : this.parseExpression()\n this.expect(tt.semi)\n node.update = this.type === tt.parenR ? null : this.parseExpression()\n this.expect(tt.parenR)\n node.body = this.parseStatement(false)\n this.labels.pop()\n return this.finishNode(node, \"ForStatement\")\n}\n\n// Parse a `for`/`in` and `for`/`of` loop, which are almost\n// same from parser's perspective.\n\npp.parseForIn = function(node, init) {\n let type = this.type === tt._in ? \"ForInStatement\" : \"ForOfStatement\"\n this.next()\n node.left = init\n node.right = this.parseExpression()\n this.expect(tt.parenR)\n node.body = this.parseStatement(false)\n this.labels.pop()\n return this.finishNode(node, type)\n}\n\n// Parse a list of variable declarations.\n\npp.parseVar = function(node, isFor, kind) {\n node.declarations = []\n node.kind = kind.keyword\n for (;;) {\n let decl = this.startNode()\n this.parseVarId(decl)\n if (this.eat(tt.eq)) {\n decl.init = this.parseMaybeAssign(isFor)\n } else if (kind === tt._const && !(this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual(\"of\")))) {\n this.unexpected()\n } else if (decl.id.type != \"Identifier\" && !(isFor && (this.type === tt._in || this.isContextual(\"of\")))) {\n this.raise(this.lastTokEnd, \"Complex binding patterns require an initialization value\")\n } else {\n decl.init = null\n }\n node.declarations.push(this.finishNode(decl, \"VariableDeclarator\"))\n if (!this.eat(tt.comma)) break\n }\n return node\n}\n\npp.parseVarId = function(decl) {\n decl.id = this.parseBindingAtom()\n this.checkLVal(decl.id, true)\n}\n\n// Parse a function declaration or literal (depending on the\n// `isStatement` parameter).\n\npp.parseFunction = function(node, isStatement, allowExpressionBody) {\n this.initFunction(node)\n if (this.options.ecmaVersion >= 6)\n node.generator = this.eat(tt.star)\n if (isStatement || this.type === tt.name)\n node.id = this.parseIdent()\n this.parseFunctionParams(node)\n this.parseFunctionBody(node, allowExpressionBody)\n return this.finishNode(node, isStatement ? \"FunctionDeclaration\" : \"FunctionExpression\")\n}\n\npp.parseFunctionParams = function(node) {\n this.expect(tt.parenL)\n node.params = this.parseBindingList(tt.parenR, false, false, true)\n}\n\n// Parse a class declaration or literal (depending on the\n// `isStatement` parameter).\n\npp.parseClass = function(node, isStatement) {\n this.next()\n this.parseClassId(node, isStatement)\n this.parseClassSuper(node)\n let classBody = this.startNode()\n let hadConstructor = false\n classBody.body = []\n this.expect(tt.braceL)\n while (!this.eat(tt.braceR)) {\n if (this.eat(tt.semi)) continue\n let method = this.startNode()\n let isGenerator = this.eat(tt.star)\n let isMaybeStatic = this.type === tt.name && this.value === \"static\"\n this.parsePropertyName(method)\n method.static = isMaybeStatic && this.type !== tt.parenL\n if (method.static) {\n if (isGenerator) this.unexpected()\n isGenerator = this.eat(tt.star)\n this.parsePropertyName(method)\n }\n method.kind = \"method\"\n let isGetSet = false\n if (!method.computed) {\n let {key} = method\n if (!isGenerator && key.type === \"Identifier\" && this.type !== tt.parenL && (key.name === \"get\" || key.name === \"set\")) {\n isGetSet = true\n method.kind = key.name\n key = this.parsePropertyName(method)\n }\n if (!method.static && (key.type === \"Identifier\" && key.name === \"constructor\" ||\n key.type === \"Literal\" && key.value === \"constructor\")) {\n if (hadConstructor) this.raise(key.start, \"Duplicate constructor in the same class\")\n if (isGetSet) this.raise(key.start, \"Constructor can't have get/set modifier\")\n if (isGenerator) this.raise(key.start, \"Constructor can't be a generator\")\n method.kind = \"constructor\"\n hadConstructor = true\n }\n }\n this.parseClassMethod(classBody, method, isGenerator)\n if (isGetSet) {\n let paramCount = method.kind === \"get\" ? 0 : 1\n if (method.value.params.length !== paramCount) {\n let start = method.value.start\n if (method.kind === \"get\")\n this.raise(start, \"getter should have no params\");\n else\n this.raise(start, \"setter should have exactly one param\")\n }\n }\n }\n node.body = this.finishNode(classBody, \"ClassBody\")\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\")\n}\n\npp.parseClassMethod = function(classBody, method, isGenerator) {\n method.value = this.parseMethod(isGenerator)\n classBody.body.push(this.finishNode(method, \"MethodDefinition\"))\n}\n\npp.parseClassId = function(node, isStatement) {\n node.id = this.type === tt.name ? this.parseIdent() : isStatement ? this.unexpected() : null\n}\n\npp.parseClassSuper = function(node) {\n node.superClass = this.eat(tt._extends) ? this.parseExprSubscripts() : null\n}\n\n// Parses module export declaration.\n\npp.parseExport = function(node) {\n this.next()\n // export * from '...'\n if (this.eat(tt.star)) {\n this.expectContextual(\"from\")\n node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()\n this.semicolon()\n return this.finishNode(node, \"ExportAllDeclaration\")\n }\n if (this.eat(tt._default)) { // export default ...\n let expr = this.parseMaybeAssign()\n let needsSemi = true\n if (expr.type == \"FunctionExpression\" ||\n expr.type == \"ClassExpression\") {\n needsSemi = false\n if (expr.id) {\n expr.type = expr.type == \"FunctionExpression\"\n ? \"FunctionDeclaration\"\n : \"ClassDeclaration\"\n }\n }\n node.declaration = expr\n if (needsSemi) this.semicolon()\n return this.finishNode(node, \"ExportDefaultDeclaration\")\n }\n // export var|const|let|function|class ...\n if (this.shouldParseExportStatement()) {\n node.declaration = this.parseStatement(true)\n node.specifiers = []\n node.source = null\n } else { // export { x, y as z } [from '...']\n node.declaration = null\n node.specifiers = this.parseExportSpecifiers()\n if (this.eatContextual(\"from\")) {\n node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()\n } else {\n // check for keywords used as local names\n for (let i = 0; i < node.specifiers.length; i++) {\n if (this.keywords.test(node.specifiers[i].local.name) || this.reservedWords.test(node.specifiers[i].local.name)) {\n this.unexpected(node.specifiers[i].local.start)\n }\n }\n\n node.source = null\n }\n this.semicolon()\n }\n return this.finishNode(node, \"ExportNamedDeclaration\")\n}\n\npp.shouldParseExportStatement = function() {\n return this.type.keyword\n}\n\n// Parses a comma-separated list of module exports.\n\npp.parseExportSpecifiers = function() {\n let nodes = [], first = true\n // export { x, y as z } [from '...']\n this.expect(tt.braceL)\n while (!this.eat(tt.braceR)) {\n if (!first) {\n this.expect(tt.comma)\n if (this.afterTrailingComma(tt.braceR)) break\n } else first = false\n\n let node = this.startNode()\n node.local = this.parseIdent(this.type === tt._default)\n node.exported = this.eatContextual(\"as\") ? this.parseIdent(true) : node.local\n nodes.push(this.finishNode(node, \"ExportSpecifier\"))\n }\n return nodes\n}\n\n// Parses import declaration.\n\npp.parseImport = function(node) {\n this.next()\n // import '...'\n if (this.type === tt.string) {\n node.specifiers = empty\n node.source = this.parseExprAtom()\n } else {\n node.specifiers = this.parseImportSpecifiers()\n this.expectContextual(\"from\")\n node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected()\n }\n this.semicolon()\n return this.finishNode(node, \"ImportDeclaration\")\n}\n\n// Parses a comma-separated list of module imports.\n\npp.parseImportSpecifiers = function() {\n let nodes = [], first = true\n if (this.type === tt.name) {\n // import defaultObj, { x, y as z } from '...'\n let node = this.startNode()\n node.local = this.parseIdent()\n this.checkLVal(node.local, true)\n nodes.push(this.finishNode(node, \"ImportDefaultSpecifier\"))\n if (!this.eat(tt.comma)) return nodes\n }\n if (this.type === tt.star) {\n let node = this.startNode()\n this.next()\n this.expectContextual(\"as\")\n node.local = this.parseIdent()\n this.checkLVal(node.local, true)\n nodes.push(this.finishNode(node, \"ImportNamespaceSpecifier\"))\n return nodes\n }\n this.expect(tt.braceL)\n while (!this.eat(tt.braceR)) {\n if (!first) {\n this.expect(tt.comma)\n if (this.afterTrailingComma(tt.braceR)) break\n } else first = false\n\n let node = this.startNode()\n node.imported = this.parseIdent(true)\n node.local = this.eatContextual(\"as\") ? this.parseIdent() : node.imported\n this.checkLVal(node.local, true)\n nodes.push(this.finishNode(node, \"ImportSpecifier\"))\n }\n return nodes\n}\n","import {types as tt} from \"./tokentype\"\nimport {Parser} from \"./state\"\nimport {has} from \"./util\"\n\nconst pp = Parser.prototype\n\n// Convert existing expression atom to assignable pattern\n// if possible.\n\npp.toAssignable = function(node, isBinding) {\n if (this.options.ecmaVersion >= 6 && node) {\n switch (node.type) {\n case \"Identifier\":\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n break\n\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\"\n for (let i = 0; i < node.properties.length; i++) {\n let prop = node.properties[i]\n if (prop.kind !== \"init\") this.raise(prop.key.start, \"Object pattern can't contain getter or setter\")\n this.toAssignable(prop.value, isBinding)\n }\n break\n\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\"\n this.toAssignableList(node.elements, isBinding)\n break\n\n case \"AssignmentExpression\":\n if (node.operator === \"=\") {\n node.type = \"AssignmentPattern\"\n delete node.operator\n // falls through to AssignmentPattern\n } else {\n this.raise(node.left.end, \"Only '=' operator can be used for specifying default value.\")\n break;\n }\n\n case \"AssignmentPattern\":\n if (node.right.type === \"YieldExpression\")\n this.raise(node.right.start, \"Yield expression cannot be a default value\")\n break;\n\n case \"ParenthesizedExpression\":\n node.expression = this.toAssignable(node.expression, isBinding)\n break\n\n case \"MemberExpression\":\n if (!isBinding) break\n\n default:\n this.raise(node.start, \"Assigning to rvalue\")\n }\n }\n return node\n}\n\n// Convert list of expression atoms to binding list.\n\npp.toAssignableList = function(exprList, isBinding) {\n let end = exprList.length\n if (end) {\n let last = exprList[end - 1]\n if (last && last.type == \"RestElement\") {\n --end\n } else if (last && last.type == \"SpreadElement\") {\n last.type = \"RestElement\"\n let arg = last.argument\n this.toAssignable(arg, isBinding)\n if (arg.type !== \"Identifier\" && arg.type !== \"MemberExpression\" && arg.type !== \"ArrayPattern\")\n this.unexpected(arg.start)\n --end\n }\n\n if (isBinding && last.type === \"RestElement\" && last.argument.type !== \"Identifier\")\n this.unexpected(last.argument.start);\n }\n for (let i = 0; i < end; i++) {\n let elt = exprList[i]\n if (elt) this.toAssignable(elt, isBinding)\n }\n return exprList\n}\n\n// Parses spread element.\n\npp.parseSpread = function(refDestructuringErrors) {\n let node = this.startNode()\n this.next()\n node.argument = this.parseMaybeAssign(refDestructuringErrors)\n return this.finishNode(node, \"SpreadElement\")\n}\n\npp.parseRest = function(allowNonIdent) {\n let node = this.startNode()\n this.next()\n\n // RestElement inside of a function parameter must be an identifier\n if (allowNonIdent) node.argument = this.type === tt.name ? this.parseIdent() : this.unexpected()\n else node.argument = this.type === tt.name || this.type === tt.bracketL ? this.parseBindingAtom() : this.unexpected()\n\n return this.finishNode(node, \"RestElement\")\n}\n\n// Parses lvalue (assignable) atom.\n\npp.parseBindingAtom = function() {\n if (this.options.ecmaVersion < 6) return this.parseIdent()\n switch (this.type) {\n case tt.name:\n return this.parseIdent()\n\n case tt.bracketL:\n let node = this.startNode()\n this.next()\n node.elements = this.parseBindingList(tt.bracketR, true, true)\n return this.finishNode(node, \"ArrayPattern\")\n\n case tt.braceL:\n return this.parseObj(true)\n\n default:\n this.unexpected()\n }\n}\n\npp.parseBindingList = function(close, allowEmpty, allowTrailingComma, allowNonIdent) {\n let elts = [], first = true\n while (!this.eat(close)) {\n if (first) first = false\n else this.expect(tt.comma)\n if (allowEmpty && this.type === tt.comma) {\n elts.push(null)\n } else if (allowTrailingComma && this.afterTrailingComma(close)) {\n break\n } else if (this.type === tt.ellipsis) {\n let rest = this.parseRest(allowNonIdent)\n this.parseBindingListItem(rest)\n elts.push(rest)\n this.expect(close)\n break\n } else {\n let elem = this.parseMaybeDefault(this.start, this.startLoc)\n this.parseBindingListItem(elem)\n elts.push(elem)\n }\n }\n return elts\n}\n\npp.parseBindingListItem = function(param) {\n return param\n}\n\n// Parses assignment pattern around given atom if possible.\n\npp.parseMaybeDefault = function(startPos, startLoc, left) {\n left = left || this.parseBindingAtom()\n if (this.options.ecmaVersion < 6 || !this.eat(tt.eq)) return left\n let node = this.startNodeAt(startPos, startLoc)\n node.left = left\n node.right = this.parseMaybeAssign()\n return this.finishNode(node, \"AssignmentPattern\")\n}\n\n// Verify that a node is an lval — something that can be assigned\n// to.\n\npp.checkLVal = function(expr, isBinding, checkClashes) {\n switch (expr.type) {\n case \"Identifier\":\n if (this.strict && this.reservedWordsStrictBind.test(expr.name))\n this.raise(expr.start, (isBinding ? \"Binding \" : \"Assigning to \") + expr.name + \" in strict mode\")\n if (checkClashes) {\n if (has(checkClashes, expr.name))\n this.raise(expr.start, \"Argument name clash\")\n checkClashes[expr.name] = true\n }\n break\n\n case \"MemberExpression\":\n if (isBinding) this.raise(expr.start, (isBinding ? \"Binding\" : \"Assigning to\") + \" member expression\")\n break\n\n case \"ObjectPattern\":\n for (let i = 0; i < expr.properties.length; i++)\n this.checkLVal(expr.properties[i].value, isBinding, checkClashes)\n break\n\n case \"ArrayPattern\":\n for (let i = 0; i < expr.elements.length; i++) {\n let elem = expr.elements[i]\n if (elem) this.checkLVal(elem, isBinding, checkClashes)\n }\n break\n\n case \"AssignmentPattern\":\n this.checkLVal(expr.left, isBinding, checkClashes)\n break\n\n case \"RestElement\":\n this.checkLVal(expr.argument, isBinding, checkClashes)\n break\n\n case \"ParenthesizedExpression\":\n this.checkLVal(expr.expression, isBinding, checkClashes)\n break\n\n default:\n this.raise(expr.start, (isBinding ? \"Binding\" : \"Assigning to\") + \" rvalue\")\n }\n}\n","// A recursive descent parser operates by defining functions for all\n// syntactic elements, and recursively calling those, each function\n// advancing the input stream and returning an AST node. Precedence\n// of constructs (for example, the fact that `!x[1]` means `!(x[1])`\n// instead of `(!x)[1]` is handled by the fact that the parser\n// function that parses unary prefix operators is called first, and\n// in turn calls the function that parses `[]` subscripts — that\n// way, it'll receive the node for `x[1]` already parsed, and wraps\n// *that* in the unary operator node.\n//\n// Acorn uses an [operator precedence parser][opp] to handle binary\n// operator precedence, because it is much more compact than using\n// the technique outlined above, which uses different, nesting\n// functions to specify precedence, for all of the ten binary\n// precedence levels that JavaScript defines.\n//\n// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser\n\nimport {types as tt} from \"./tokentype\"\nimport {Parser} from \"./state\"\n\nconst pp = Parser.prototype\n\n// Check if property name clashes with already added.\n// Object/class getters and setters are not allowed to clash —\n// either with each other or with an init property — and in\n// strict mode, init properties are also not allowed to be repeated.\n\npp.checkPropClash = function(prop, propHash) {\n if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))\n return\n let {key} = prop, name\n switch (key.type) {\n case \"Identifier\": name = key.name; break\n case \"Literal\": name = String(key.value); break\n default: return\n }\n let {kind} = prop\n if (this.options.ecmaVersion >= 6) {\n if (name === \"__proto__\" && kind === \"init\") {\n if (propHash.proto) this.raise(key.start, \"Redefinition of __proto__ property\");\n propHash.proto = true\n }\n return\n }\n name = \"$\" + name\n let other = propHash[name]\n if (other) {\n let isGetSet = kind !== \"init\"\n if ((this.strict || isGetSet) && other[kind] || !(isGetSet ^ other.init))\n this.raise(key.start, \"Redefinition of property\")\n } else {\n other = propHash[name] = {\n init: false,\n get: false,\n set: false\n }\n }\n other[kind] = true\n}\n\n// ### Expression parsing\n\n// These nest, from the most general expression type at the top to\n// 'atomic', nondivisible expression types at the bottom. Most of\n// the functions will simply let the function(s) below them parse,\n// and, *if* the syntactic construct they handle is present, wrap\n// the AST node that the inner parser gave them in another node.\n\n// Parse a full expression. The optional arguments are used to\n// forbid the `in` operator (in for loops initalization expressions)\n// and provide reference for storing '=' operator inside shorthand\n// property assignment in contexts where both object expression\n// and object pattern might appear (so it's possible to raise\n// delayed syntax error at correct position).\n\npp.parseExpression = function(noIn, refDestructuringErrors) {\n let startPos = this.start, startLoc = this.startLoc\n let expr = this.parseMaybeAssign(noIn, refDestructuringErrors)\n if (this.type === tt.comma) {\n let node = this.startNodeAt(startPos, startLoc)\n node.expressions = [expr]\n while (this.eat(tt.comma)) node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors))\n return this.finishNode(node, \"SequenceExpression\")\n }\n return expr\n}\n\n// Parse an assignment expression. This includes applications of\n// operators like `+=`.\n\npp.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {\n if (this.type == tt._yield && this.inGenerator) return this.parseYield()\n\n let validateDestructuring = false\n if (!refDestructuringErrors) {\n refDestructuringErrors = {shorthandAssign: 0, trailingComma: 0}\n validateDestructuring = true\n }\n let startPos = this.start, startLoc = this.startLoc\n if (this.type == tt.parenL || this.type == tt.name)\n this.potentialArrowAt = this.start\n let left = this.parseMaybeConditional(noIn, refDestructuringErrors)\n if (afterLeftParse) left = afterLeftParse.call(this, left, startPos, startLoc)\n if (this.type.isAssign) {\n if (validateDestructuring) this.checkPatternErrors(refDestructuringErrors, true)\n let node = this.startNodeAt(startPos, startLoc)\n node.operator = this.value\n node.left = this.type === tt.eq ? this.toAssignable(left) : left\n refDestructuringErrors.shorthandAssign = 0 // reset because shorthand default was used correctly\n this.checkLVal(left)\n this.next()\n node.right = this.parseMaybeAssign(noIn)\n return this.finishNode(node, \"AssignmentExpression\")\n } else {\n if (validateDestructuring) this.checkExpressionErrors(refDestructuringErrors, true)\n }\n return left\n}\n\n// Parse a ternary conditional (`?:`) operator.\n\npp.parseMaybeConditional = function(noIn, refDestructuringErrors) {\n let startPos = this.start, startLoc = this.startLoc\n let expr = this.parseExprOps(noIn, refDestructuringErrors)\n if (this.checkExpressionErrors(refDestructuringErrors)) return expr\n if (this.eat(tt.question)) {\n let node = this.startNodeAt(startPos, startLoc)\n node.test = expr\n node.consequent = this.parseMaybeAssign()\n this.expect(tt.colon)\n node.alternate = this.parseMaybeAssign(noIn)\n return this.finishNode(node, \"ConditionalExpression\")\n }\n return expr\n}\n\n// Start the precedence parser.\n\npp.parseExprOps = function(noIn, refDestructuringErrors) {\n let startPos = this.start, startLoc = this.startLoc\n let expr = this.parseMaybeUnary(refDestructuringErrors)\n if (this.checkExpressionErrors(refDestructuringErrors)) return expr\n return this.parseExprOp(expr, startPos, startLoc, -1, noIn)\n}\n\n// Parse binary operators with the operator precedence parsing\n// algorithm. `left` is the left-hand side of the operator.\n// `minPrec` provides context that allows the function to stop and\n// defer further parser to one of its callers when it encounters an\n// operator that has a lower precedence than the set it is parsing.\n\npp.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {\n let prec = this.type.binop\n if (prec != null && (!noIn || this.type !== tt._in)) {\n if (prec > minPrec) {\n let node = this.startNodeAt(leftStartPos, leftStartLoc)\n node.left = left\n node.operator = this.value\n let op = this.type\n this.next()\n let startPos = this.start, startLoc = this.startLoc\n node.right = this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, prec, noIn)\n this.finishNode(node, (op === tt.logicalOR || op === tt.logicalAND) ? \"LogicalExpression\" : \"BinaryExpression\")\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)\n }\n }\n return left\n}\n\n// Parse unary operators, both prefix and postfix.\n\npp.parseMaybeUnary = function(refDestructuringErrors) {\n if (this.type.prefix) {\n let node = this.startNode(), update = this.type === tt.incDec\n node.operator = this.value\n node.prefix = true\n this.next()\n node.argument = this.parseMaybeUnary()\n this.checkExpressionErrors(refDestructuringErrors, true)\n if (update) this.checkLVal(node.argument)\n else if (this.strict && node.operator === \"delete\" &&\n node.argument.type === \"Identifier\")\n this.raise(node.start, \"Deleting local variable in strict mode\")\n return this.finishNode(node, update ? \"UpdateExpression\" : \"UnaryExpression\")\n }\n let startPos = this.start, startLoc = this.startLoc\n let expr = this.parseExprSubscripts(refDestructuringErrors)\n if (this.checkExpressionErrors(refDestructuringErrors)) return expr\n while (this.type.postfix && !this.canInsertSemicolon()) {\n let node = this.startNodeAt(startPos, startLoc)\n node.operator = this.value\n node.prefix = false\n node.argument = expr\n this.checkLVal(expr)\n this.next()\n expr = this.finishNode(node, \"UpdateExpression\")\n }\n return expr\n}\n\n// Parse call, dot, and `[]`-subscript expressions.\n\npp.parseExprSubscripts = function(refDestructuringErrors) {\n let startPos = this.start, startLoc = this.startLoc\n let expr = this.parseExprAtom(refDestructuringErrors)\n let skipArrowSubscripts = expr.type === \"ArrowFunctionExpression\" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== \")\";\n if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) return expr\n return this.parseSubscripts(expr, startPos, startLoc)\n}\n\npp.parseSubscripts = function(base, startPos, startLoc, noCalls) {\n for (;;) {\n if (this.eat(tt.dot)) {\n let node = this.startNodeAt(startPos, startLoc)\n node.object = base\n node.property = this.parseIdent(true)\n node.computed = false\n base = this.finishNode(node, \"MemberExpression\")\n } else if (this.eat(tt.bracketL)) {\n let node = this.startNodeAt(startPos, startLoc)\n node.object = base\n node.property = this.parseExpression()\n node.computed = true\n this.expect(tt.bracketR)\n base = this.finishNode(node, \"MemberExpression\")\n } else if (!noCalls && this.eat(tt.parenL)) {\n let node = this.startNodeAt(startPos, startLoc)\n node.callee = base\n node.arguments = this.parseExprList(tt.parenR, false)\n base = this.finishNode(node, \"CallExpression\")\n } else if (this.type === tt.backQuote) {\n let node = this.startNodeAt(startPos, startLoc)\n node.tag = base\n node.quasi = this.parseTemplate()\n base = this.finishNode(node, \"TaggedTemplateExpression\")\n } else {\n return base\n }\n }\n}\n\n// Parse an atomic expression — either a single token that is an\n// expression, an expression started by a keyword like `function` or\n// `new`, or an expression wrapped in punctuation like `()`, `[]`,\n// or `{}`.\n\npp.parseExprAtom = function(refDestructuringErrors) {\n let node, canBeArrow = this.potentialArrowAt == this.start\n switch (this.type) {\n case tt._super:\n if (!this.inFunction)\n this.raise(this.start, \"'super' outside of function or class\")\n case tt._this:\n let type = this.type === tt._this ? \"ThisExpression\" : \"Super\"\n node = this.startNode()\n this.next()\n return this.finishNode(node, type)\n\n case tt._yield:\n if (this.inGenerator) this.unexpected()\n\n case tt.name:\n let startPos = this.start, startLoc = this.startLoc\n let id = this.parseIdent(this.type !== tt.name)\n if (canBeArrow && !this.canInsertSemicolon() && this.eat(tt.arrow))\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id])\n return id\n\n case tt.regexp:\n let value = this.value\n node = this.parseLiteral(value.value)\n node.regex = {pattern: value.pattern, flags: value.flags}\n return node\n\n case tt.num: case tt.string:\n return this.parseLiteral(this.value)\n\n case tt._null: case tt._true: case tt._false:\n node = this.startNode()\n node.value = this.type === tt._null ? null : this.type === tt._true\n node.raw = this.type.keyword\n this.next()\n return this.finishNode(node, \"Literal\")\n\n case tt.parenL:\n return this.parseParenAndDistinguishExpression(canBeArrow)\n\n case tt.bracketL:\n node = this.startNode()\n this.next()\n // check whether this is array comprehension or regular array\n if (this.options.ecmaVersion >= 7 && this.type === tt._for) {\n return this.parseComprehension(node, false)\n }\n node.elements = this.parseExprList(tt.bracketR, true, true, refDestructuringErrors)\n return this.finishNode(node, \"ArrayExpression\")\n\n case tt.braceL:\n return this.parseObj(false, refDestructuringErrors)\n\n case tt._function:\n node = this.startNode()\n this.next()\n return this.parseFunction(node, false)\n\n case tt._class:\n return this.parseClass(this.startNode(), false)\n\n case tt._new:\n return this.parseNew()\n\n case tt.backQuote:\n return this.parseTemplate()\n\n default:\n this.unexpected()\n }\n}\n\npp.parseLiteral = function(value) {\n let node = this.startNode()\n node.value = value\n node.raw = this.input.slice(this.start, this.end)\n this.next()\n return this.finishNode(node, \"Literal\")\n}\n\npp.parseParenExpression = function() {\n this.expect(tt.parenL)\n let val = this.parseExpression()\n this.expect(tt.parenR)\n return val\n}\n\npp.parseParenAndDistinguishExpression = function(canBeArrow) {\n let startPos = this.start, startLoc = this.startLoc, val\n if (this.options.ecmaVersion >= 6) {\n this.next()\n\n if (this.options.ecmaVersion >= 7 && this.type === tt._for) {\n return this.parseComprehension(this.startNodeAt(startPos, startLoc), true)\n }\n\n let innerStartPos = this.start, innerStartLoc = this.startLoc\n let exprList = [], first = true\n let refDestructuringErrors = {shorthandAssign: 0, trailingComma: 0}, spreadStart, innerParenStart\n while (this.type !== tt.parenR) {\n first ? first = false : this.expect(tt.comma)\n if (this.type === tt.ellipsis) {\n spreadStart = this.start\n exprList.push(this.parseParenItem(this.parseRest()))\n break\n } else {\n if (this.type === tt.parenL && !innerParenStart) {\n innerParenStart = this.start\n }\n exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem))\n }\n }\n let innerEndPos = this.start, innerEndLoc = this.startLoc\n this.expect(tt.parenR)\n\n if (canBeArrow && !this.canInsertSemicolon() && this.eat(tt.arrow)) {\n this.checkPatternErrors(refDestructuringErrors, true)\n if (innerParenStart) this.unexpected(innerParenStart)\n return this.parseParenArrowList(startPos, startLoc, exprList)\n }\n\n if (!exprList.length) this.unexpected(this.lastTokStart)\n if (spreadStart) this.unexpected(spreadStart)\n this.checkExpressionErrors(refDestructuringErrors, true)\n\n if (exprList.length > 1) {\n val = this.startNodeAt(innerStartPos, innerStartLoc)\n val.expressions = exprList\n this.finishNodeAt(val, \"SequenceExpression\", innerEndPos, innerEndLoc)\n } else {\n val = exprList[0]\n }\n } else {\n val = this.parseParenExpression()\n }\n\n if (this.options.preserveParens) {\n let par = this.startNodeAt(startPos, startLoc)\n par.expression = val\n return this.finishNode(par, \"ParenthesizedExpression\")\n } else {\n return val\n }\n}\n\npp.parseParenItem = function(item) {\n return item\n}\n\npp.parseParenArrowList = function(startPos, startLoc, exprList) {\n return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)\n}\n\n// New's precedence is slightly tricky. It must allow its argument\n// to be a `[]` or dot subscript expression, but not a call — at\n// least, not without wrapping it in parentheses. Thus, it uses the\n\nconst empty = []\n\npp.parseNew = function() {\n let node = this.startNode()\n let meta = this.parseIdent(true)\n if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) {\n node.meta = meta\n node.property = this.parseIdent(true)\n if (node.property.name !== \"target\")\n this.raise(node.property.start, \"The only valid meta property for new is new.target\")\n if (!this.inFunction)\n this.raise(node.start, \"new.target can only be used in functions\")\n return this.finishNode(node, \"MetaProperty\")\n }\n let startPos = this.start, startLoc = this.startLoc\n node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true)\n if (this.eat(tt.parenL)) node.arguments = this.parseExprList(tt.parenR, false)\n else node.arguments = empty\n return this.finishNode(node, \"NewExpression\")\n}\n\n// Parse template expression.\n\npp.parseTemplateElement = function() {\n let elem = this.startNode()\n elem.value = {\n raw: this.input.slice(this.start, this.end).replace(/\\r\\n?/g, '\\n'),\n cooked: this.value\n }\n this.next()\n elem.tail = this.type === tt.backQuote\n return this.finishNode(elem, \"TemplateElement\")\n}\n\npp.parseTemplate = function() {\n let node = this.startNode()\n this.next()\n node.expressions = []\n let curElt = this.parseTemplateElement()\n node.quasis = [curElt]\n while (!curElt.tail) {\n this.expect(tt.dollarBraceL)\n node.expressions.push(this.parseExpression())\n this.expect(tt.braceR)\n node.quasis.push(curElt = this.parseTemplateElement())\n }\n this.next()\n return this.finishNode(node, \"TemplateLiteral\")\n}\n\n// Parse an object literal or binding pattern.\n\npp.parseObj = function(isPattern, refDestructuringErrors) {\n let node = this.startNode(), first = true, propHash = {}\n node.properties = []\n this.next()\n while (!this.eat(tt.braceR)) {\n if (!first) {\n this.expect(tt.comma)\n if (this.afterTrailingComma(tt.braceR)) break\n } else first = false\n\n let prop = this.startNode(), isGenerator, startPos, startLoc\n if (this.options.ecmaVersion >= 6) {\n prop.method = false\n prop.shorthand = false\n if (isPattern || refDestructuringErrors) {\n startPos = this.start\n startLoc = this.startLoc\n }\n if (!isPattern)\n isGenerator = this.eat(tt.star)\n }\n this.parsePropertyName(prop)\n this.parsePropertyValue(prop, isPattern, isGenerator, startPos, startLoc, refDestructuringErrors)\n this.checkPropClash(prop, propHash)\n node.properties.push(this.finishNode(prop, \"Property\"))\n }\n return this.finishNode(node, isPattern ? \"ObjectPattern\" : \"ObjectExpression\")\n}\n\npp.parsePropertyValue = function(prop, isPattern, isGenerator, startPos, startLoc, refDestructuringErrors) {\n if (this.eat(tt.colon)) {\n prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors)\n prop.kind = \"init\"\n } else if (this.options.ecmaVersion >= 6 && this.type === tt.parenL) {\n if (isPattern) this.unexpected()\n prop.kind = \"init\"\n prop.method = true\n prop.value = this.parseMethod(isGenerator)\n } else if (this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === \"Identifier\" &&\n (prop.key.name === \"get\" || prop.key.name === \"set\") &&\n (this.type != tt.comma && this.type != tt.braceR)) {\n if (isGenerator || isPattern) this.unexpected()\n prop.kind = prop.key.name\n this.parsePropertyName(prop)\n prop.value = this.parseMethod(false)\n let paramCount = prop.kind === \"get\" ? 0 : 1\n if (prop.value.params.length !== paramCount) {\n let start = prop.value.start\n if (prop.kind === \"get\")\n this.raise(start, \"getter should have no params\");\n else\n this.raise(start, \"setter should have exactly one param\")\n }\n } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === \"Identifier\") {\n prop.kind = \"init\"\n if (isPattern) {\n if (this.keywords.test(prop.key.name) ||\n (this.strict ? this.reservedWordsStrictBind : this.reservedWords).test(prop.key.name))\n this.raise(prop.key.start, \"Binding \" + prop.key.name)\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key)\n } else if (this.type === tt.eq && refDestructuringErrors) {\n if (!refDestructuringErrors.shorthandAssign)\n refDestructuringErrors.shorthandAssign = this.start\n prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key)\n } else {\n prop.value = prop.key\n }\n prop.shorthand = true\n } else this.unexpected()\n}\n\npp.parsePropertyName = function(prop) {\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(tt.bracketL)) {\n prop.computed = true\n prop.key = this.parseMaybeAssign()\n this.expect(tt.bracketR)\n return prop.key\n } else {\n prop.computed = false\n }\n }\n return prop.key = (this.type === tt.num || this.type === tt.string) ? this.parseExprAtom() : this.parseIdent(true)\n}\n\n// Initialize empty function node.\n\npp.initFunction = function(node) {\n node.id = null\n if (this.options.ecmaVersion >= 6) {\n node.generator = false\n node.expression = false\n }\n}\n\n// Parse object or class method.\n\npp.parseMethod = function(isGenerator) {\n let node = this.startNode()\n this.initFunction(node)\n this.expect(tt.parenL)\n node.params = this.parseBindingList(tt.parenR, false, false)\n if (this.options.ecmaVersion >= 6)\n node.generator = isGenerator\n this.parseFunctionBody(node, false)\n return this.finishNode(node, \"FunctionExpression\")\n}\n\n// Parse arrow function expression with given parameters.\n\npp.parseArrowExpression = function(node, params) {\n this.initFunction(node)\n node.params = this.toAssignableList(params, true)\n this.parseFunctionBody(node, true)\n return this.finishNode(node, \"ArrowFunctionExpression\")\n}\n\n// Parse function body and check parameters.\n\npp.parseFunctionBody = function(node, isArrowFunction) {\n let isExpression = isArrowFunction && this.type !== tt.braceL\n\n if (isExpression) {\n node.body = this.parseMaybeAssign()\n node.expression = true\n } else {\n // Start a new scope with regard to labels and the `inFunction`\n // flag (restore them to their old value afterwards).\n let oldInFunc = this.inFunction, oldInGen = this.inGenerator, oldLabels = this.labels\n this.inFunction = true; this.inGenerator = node.generator; this.labels = []\n node.body = this.parseBlock(true)\n node.expression = false\n this.inFunction = oldInFunc; this.inGenerator = oldInGen; this.labels = oldLabels\n }\n\n // If this is a strict mode function, verify that argument names\n // are not repeated, and it does not try to bind the words `eval`\n // or `arguments`.\n if (this.strict || !isExpression && node.body.body.length && this.isUseStrict(node.body.body[0])) {\n let oldStrict = this.strict\n this.strict = true\n if (node.id)\n this.checkLVal(node.id, true)\n this.checkParams(node);\n this.strict = oldStrict\n } else if (isArrowFunction) {\n this.checkParams(node);\n }\n}\n\n// Checks function params for various disallowed patterns such as using \"eval\"\n// or \"arguments\" and duplicate parameters.\n\npp.checkParams = function(node) {\n let nameHash = {};\n for (let i = 0; i < node.params.length; i++)\n this.checkLVal(node.params[i], true, nameHash)\n};\n\n// Parses a comma-separated list of expressions, and returns them as\n// an array. `close` is the token type that ends the list, and\n// `allowEmpty` can be turned on to allow subsequent commas with\n// nothing in between them to be parsed as `null` (which is needed\n// for array literals).\n\npp.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {\n let elts = [], first = true\n while (!this.eat(close)) {\n if (!first) {\n this.expect(tt.comma)\n if (this.type === close && refDestructuringErrors && !refDestructuringErrors.trailingComma) {\n refDestructuringErrors.trailingComma = this.lastTokStart\n }\n if (allowTrailingComma && this.afterTrailingComma(close)) break\n } else first = false\n\n let elt\n if (allowEmpty && this.type === tt.comma)\n elt = null\n else if (this.type === tt.ellipsis)\n elt = this.parseSpread(refDestructuringErrors)\n else\n elt = this.parseMaybeAssign(false, refDestructuringErrors)\n elts.push(elt)\n }\n return elts\n}\n\n// Parse the next token as an identifier. If `liberal` is true (used\n// when parsing properties), it will also convert keywords into\n// identifiers.\n\npp.parseIdent = function(liberal) {\n let node = this.startNode()\n if (liberal && this.options.allowReserved == \"never\") liberal = false\n if (this.type === tt.name) {\n if (!liberal && (this.strict ? this.reservedWordsStrict : this.reservedWords).test(this.value) &&\n (this.options.ecmaVersion >= 6 ||\n this.input.slice(this.start, this.end).indexOf(\"\\\\\") == -1))\n this.raise(this.start, \"The keyword '\" + this.value + \"' is reserved\")\n node.name = this.value\n } else if (liberal && this.type.keyword) {\n node.name = this.type.keyword\n } else {\n this.unexpected()\n }\n this.next()\n return this.finishNode(node, \"Identifier\")\n}\n\n// Parses yield expression inside generator.\n\npp.parseYield = function() {\n let node = this.startNode()\n this.next()\n if (this.type == tt.semi || this.canInsertSemicolon() || (this.type != tt.star && !this.type.startsExpr)) {\n node.delegate = false\n node.argument = null\n } else {\n node.delegate = this.eat(tt.star)\n node.argument = this.parseMaybeAssign()\n }\n return this.finishNode(node, \"YieldExpression\")\n}\n\n// Parses array and generator comprehensions.\n\npp.parseComprehension = function(node, isGenerator) {\n node.blocks = []\n while (this.type === tt._for) {\n let block = this.startNode()\n this.next()\n this.expect(tt.parenL)\n block.left = this.parseBindingAtom()\n this.checkLVal(block.left, true)\n this.expectContextual(\"of\")\n block.right = this.parseExpression()\n this.expect(tt.parenR)\n node.blocks.push(this.finishNode(block, \"ComprehensionBlock\"))\n }\n node.filter = this.eat(tt._if) ? this.parseParenExpression() : null\n node.body = this.parseExpression()\n this.expect(isGenerator ? tt.parenR : tt.bracketR)\n node.generator = isGenerator\n return this.finishNode(node, \"ComprehensionExpression\")\n}\n","import {Parser} from \"./state\"\nimport {Position, getLineInfo} from \"./locutil\"\n\nconst pp = Parser.prototype\n\n// This function is used to raise exceptions on parse errors. It\n// takes an offset integer (into the current `input`) to indicate\n// the location of the error, attaches the position to the end\n// of the error message, and then raises a `SyntaxError` with that\n// message.\n\npp.raise = function(pos, message) {\n let loc = getLineInfo(this.input, pos)\n message += \" (\" + loc.line + \":\" + loc.column + \")\"\n let err = new SyntaxError(message)\n err.pos = pos; err.loc = loc; err.raisedAt = this.pos\n throw err\n}\n\npp.curPosition = function() {\n if (this.options.locations) {\n return new Position(this.curLine, this.pos - this.lineStart)\n }\n}\n","import {Parser} from \"./state\"\nimport {SourceLocation} from \"./locutil\"\n\nexport class Node {\n constructor(parser, pos, loc) {\n this.type = \"\"\n this.start = pos\n this.end = 0\n if (parser.options.locations)\n this.loc = new SourceLocation(parser, loc)\n if (parser.options.directSourceFile)\n this.sourceFile = parser.options.directSourceFile\n if (parser.options.ranges)\n this.range = [pos, 0]\n }\n}\n\n// Start an AST node, attaching a start offset.\n\nconst pp = Parser.prototype\n\npp.startNode = function() {\n return new Node(this, this.start, this.startLoc)\n}\n\npp.startNodeAt = function(pos, loc) {\n return new Node(this, pos, loc)\n}\n\n// Finish an AST node, adding `type` and `end` properties.\n\nfunction finishNodeAt(node, type, pos, loc) {\n node.type = type\n node.end = pos\n if (this.options.locations)\n node.loc.end = loc\n if (this.options.ranges)\n node.range[1] = pos\n return node\n}\n\npp.finishNode = function(node, type) {\n return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)\n}\n\n// Finish node at given position\n\npp.finishNodeAt = function(node, type, pos, loc) {\n return finishNodeAt.call(this, node, type, pos, loc)\n}\n","// The algorithm used to determine whether a regexp can appear at a\n// given point in the program is loosely based on sweet.js' approach.\n// See https://github.com/mozilla/sweet.js/wiki/design\n\nimport {Parser} from \"./state\"\nimport {types as tt} from \"./tokentype\"\nimport {lineBreak} from \"./whitespace\"\n\nexport class TokContext {\n constructor(token, isExpr, preserveSpace, override) {\n this.token = token\n this.isExpr = !!isExpr\n this.preserveSpace = !!preserveSpace\n this.override = override\n }\n}\n\nexport const types = {\n b_stat: new TokContext(\"{\", false),\n b_expr: new TokContext(\"{\", true),\n b_tmpl: new TokContext(\"${\", true),\n p_stat: new TokContext(\"(\", false),\n p_expr: new TokContext(\"(\", true),\n q_tmpl: new TokContext(\"`\", true, true, p => p.readTmplToken()),\n f_expr: new TokContext(\"function\", true)\n}\n\nconst pp = Parser.prototype\n\npp.initialContext = function() {\n return [types.b_stat]\n}\n\npp.braceIsBlock = function(prevType) {\n if (prevType === tt.colon) {\n let parent = this.curContext()\n if (parent === types.b_stat || parent === types.b_expr)\n return !parent.isExpr\n }\n if (prevType === tt._return)\n return lineBreak.test(this.input.slice(this.lastTokEnd, this.start))\n if (prevType === tt._else || prevType === tt.semi || prevType === tt.eof || prevType === tt.parenR)\n return true\n if (prevType == tt.braceL)\n return this.curContext() === types.b_stat\n return !this.exprAllowed\n}\n\npp.updateContext = function(prevType) {\n let update, type = this.type\n if (type.keyword && prevType == tt.dot)\n this.exprAllowed = false\n else if (update = type.updateContext)\n update.call(this, prevType)\n else\n this.exprAllowed = type.beforeExpr\n}\n\n// Token-specific context update code\n\ntt.parenR.updateContext = tt.braceR.updateContext = function() {\n if (this.context.length == 1) {\n this.exprAllowed = true\n return\n }\n let out = this.context.pop()\n if (out === types.b_stat && this.curContext() === types.f_expr) {\n this.context.pop()\n this.exprAllowed = false\n } else if (out === types.b_tmpl) {\n this.exprAllowed = true\n } else {\n this.exprAllowed = !out.isExpr\n }\n}\n\ntt.braceL.updateContext = function(prevType) {\n this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr)\n this.exprAllowed = true\n}\n\ntt.dollarBraceL.updateContext = function() {\n this.context.push(types.b_tmpl)\n this.exprAllowed = true\n}\n\ntt.parenL.updateContext = function(prevType) {\n let statementParens = prevType === tt._if || prevType === tt._for || prevType === tt._with || prevType === tt._while\n this.context.push(statementParens ? types.p_stat : types.p_expr)\n this.exprAllowed = true\n}\n\ntt.incDec.updateContext = function() {\n // tokExprAllowed stays unchanged\n}\n\ntt._function.updateContext = function() {\n if (this.curContext() !== types.b_stat)\n this.context.push(types.f_expr)\n this.exprAllowed = false\n}\n\ntt.backQuote.updateContext = function() {\n if (this.curContext() === types.q_tmpl)\n this.context.pop()\n else\n this.context.push(types.q_tmpl)\n this.exprAllowed = false\n}\n","import {isIdentifierStart, isIdentifierChar} from \"./identifier\"\nimport {types as tt, keywords as keywordTypes} from \"./tokentype\"\nimport {Parser} from \"./state\"\nimport {SourceLocation} from \"./locutil\"\nimport {lineBreak, lineBreakG, isNewLine, nonASCIIwhitespace} from \"./whitespace\"\n\n// Object type used to represent tokens. Note that normally, tokens\n// simply exist as properties on the parser object. This is only\n// used for the onToken callback and the external tokenizer.\n\nexport class Token {\n constructor(p) {\n this.type = p.type\n this.value = p.value\n this.start = p.start\n this.end = p.end\n if (p.options.locations)\n this.loc = new SourceLocation(p, p.startLoc, p.endLoc)\n if (p.options.ranges)\n this.range = [p.start, p.end]\n }\n}\n\n// ## Tokenizer\n\nconst pp = Parser.prototype\n\n// Are we running under Rhino?\nconst isRhino = typeof Packages == \"object\" && Object.prototype.toString.call(Packages) == \"[object JavaPackage]\"\n\n// Move to the next token\n\npp.next = function() {\n if (this.options.onToken)\n this.options.onToken(new Token(this))\n\n this.lastTokEnd = this.end\n this.lastTokStart = this.start\n this.lastTokEndLoc = this.endLoc\n this.lastTokStartLoc = this.startLoc\n this.nextToken()\n}\n\npp.getToken = function() {\n this.next()\n return new Token(this)\n}\n\n// If we're in an ES6 environment, make parsers iterable\nif (typeof Symbol !== \"undefined\")\n pp[Symbol.iterator] = function () {\n let self = this\n return {next: function () {\n let token = self.getToken()\n return {\n done: token.type === tt.eof,\n value: token\n }\n }}\n }\n\n// Toggle strict mode. Re-reads the next number or string to please\n// pedantic tests (`\"use strict\"; 010;` should fail).\n\npp.setStrict = function(strict) {\n this.strict = strict\n if (this.type !== tt.num && this.type !== tt.string) return\n this.pos = this.start\n if (this.options.locations) {\n while (this.pos < this.lineStart) {\n this.lineStart = this.input.lastIndexOf(\"\\n\", this.lineStart - 2) + 1\n --this.curLine\n }\n }\n this.nextToken()\n}\n\npp.curContext = function() {\n return this.context[this.context.length - 1]\n}\n\n// Read a single token, updating the parser object's token-related\n// properties.\n\npp.nextToken = function() {\n let curContext = this.curContext()\n if (!curContext || !curContext.preserveSpace) this.skipSpace()\n\n this.start = this.pos\n if (this.options.locations) this.startLoc = this.curPosition()\n if (this.pos >= this.input.length) return this.finishToken(tt.eof)\n\n if (curContext.override) return curContext.override(this)\n else this.readToken(this.fullCharCodeAtPos())\n}\n\npp.readToken = function(code) {\n // Identifier or keyword. '\\uXXXX' sequences are allowed in\n // identifiers, so '\\' also dispatches to that.\n if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\\' */)\n return this.readWord()\n\n return this.getTokenFromCode(code)\n}\n\npp.fullCharCodeAtPos = function() {\n let code = this.input.charCodeAt(this.pos)\n if (code <= 0xd7ff || code >= 0xe000) return code\n let next = this.input.charCodeAt(this.pos + 1)\n return (code << 10) + next - 0x35fdc00\n}\n\npp.skipBlockComment = function() {\n let startLoc = this.options.onComment && this.curPosition()\n let start = this.pos, end = this.input.indexOf(\"*/\", this.pos += 2)\n if (end === -1) this.raise(this.pos - 2, \"Unterminated comment\")\n this.pos = end + 2\n if (this.options.locations) {\n lineBreakG.lastIndex = start\n let match\n while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {\n ++this.curLine\n this.lineStart = match.index + match[0].length\n }\n }\n if (this.options.onComment)\n this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,\n startLoc, this.curPosition())\n}\n\npp.skipLineComment = function(startSkip) {\n let start = this.pos\n let startLoc = this.options.onComment && this.curPosition()\n let ch = this.input.charCodeAt(this.pos+=startSkip)\n while (this.pos < this.input.length && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8233) {\n ++this.pos\n ch = this.input.charCodeAt(this.pos)\n }\n if (this.options.onComment)\n this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,\n startLoc, this.curPosition())\n}\n\n// Called at the start of the parse and after every token. Skips\n// whitespace and comments, and.\n\npp.skipSpace = function() {\n loop: while (this.pos < this.input.length) {\n let ch = this.input.charCodeAt(this.pos)\n switch (ch) {\n case 32: case 160: // ' '\n ++this.pos\n break\n case 13:\n if (this.input.charCodeAt(this.pos + 1) === 10) {\n ++this.pos\n }\n case 10: case 8232: case 8233:\n ++this.pos\n if (this.options.locations) {\n ++this.curLine\n this.lineStart = this.pos\n }\n break\n case 47: // '/'\n switch (this.input.charCodeAt(this.pos + 1)) {\n case 42: // '*'\n this.skipBlockComment()\n break\n case 47:\n this.skipLineComment(2)\n break\n default:\n break loop\n }\n break\n default:\n if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {\n ++this.pos\n } else {\n break loop\n }\n }\n }\n}\n\n// Called at the end of every token. Sets `end`, `val`, and\n// maintains `context` and `exprAllowed`, and skips the space after\n// the token, so that the next one's `start` will point at the\n// right position.\n\npp.finishToken = function(type, val) {\n this.end = this.pos\n if (this.options.locations) this.endLoc = this.curPosition()\n let prevType = this.type\n this.type = type\n this.value = val\n\n this.updateContext(prevType)\n}\n\n// ### Token reading\n\n// This is the function that is called to fetch the next token. It\n// is somewhat obscure, because it works in character codes rather\n// than characters, and because operator parsing has been inlined\n// into it.\n//\n// All in the name of speed.\n//\npp.readToken_dot = function() {\n let next = this.input.charCodeAt(this.pos + 1)\n if (next >= 48 && next <= 57) return this.readNumber(true)\n let next2 = this.input.charCodeAt(this.pos + 2)\n if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'\n this.pos += 3\n return this.finishToken(tt.ellipsis)\n } else {\n ++this.pos\n return this.finishToken(tt.dot)\n }\n}\n\npp.readToken_slash = function() { // '/'\n let next = this.input.charCodeAt(this.pos + 1)\n if (this.exprAllowed) {++this.pos; return this.readRegexp();}\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.slash, 1)\n}\n\npp.readToken_mult_modulo = function(code) { // '%*'\n let next = this.input.charCodeAt(this.pos + 1)\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(code === 42 ? tt.star : tt.modulo, 1)\n}\n\npp.readToken_pipe_amp = function(code) { // '|&'\n let next = this.input.charCodeAt(this.pos + 1)\n if (next === code) return this.finishOp(code === 124 ? tt.logicalOR : tt.logicalAND, 2)\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(code === 124 ? tt.bitwiseOR : tt.bitwiseAND, 1)\n}\n\npp.readToken_caret = function() { // '^'\n let next = this.input.charCodeAt(this.pos + 1)\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.bitwiseXOR, 1)\n}\n\npp.readToken_plus_min = function(code) { // '+-'\n let next = this.input.charCodeAt(this.pos + 1)\n if (next === code) {\n if (next == 45 && this.input.charCodeAt(this.pos + 2) == 62 &&\n lineBreak.test(this.input.slice(this.lastTokEnd, this.pos))) {\n // A `-->` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 &&\n this.input.charCodeAt(this.pos + 3) == 45) {\n if (this.inModule) this.unexpected()\n // `<!--`, an XML-style comment that should be interpreted as a line comment\n this.skipLineComment(4)\n this.skipSpace()\n return this.nextToken()\n }\n if (next === 61)\n size = this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2\n return this.finishOp(tt.relational, size)\n}\n\npp.readToken_eq_excl = function(code) { // '=!'\n let next = this.input.charCodeAt(this.pos + 1)\n if (next === 61) return this.finishOp(tt.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2)\n if (code === 61 && next === 62 && this.options.ecmaVersion >= 6) { // '=>'\n this.pos += 2\n return this.finishToken(tt.arrow)\n }\n return this.finishOp(code === 61 ? tt.eq : tt.prefix, 1)\n}\n\npp.getTokenFromCode = function(code) {\n switch (code) {\n // The interpretation of a dot depends on whether it is followed\n // by a digit or another two dots.\n case 46: // '.'\n return this.readToken_dot()\n\n // Punctuation tokens.\n case 40: ++this.pos; return this.finishToken(tt.parenL)\n case 41: ++this.pos; return this.finishToken(tt.parenR)\n case 59: ++this.pos; return this.finishToken(tt.semi)\n case 44: ++this.pos; return this.finishToken(tt.comma)\n case 91: ++this.pos; return this.finishToken(tt.bracketL)\n case 93: ++this.pos; return this.finishToken(tt.bracketR)\n case 123: ++this.pos; return this.finishToken(tt.braceL)\n case 125: ++this.pos; return this.finishToken(tt.braceR)\n case 58: ++this.pos; return this.finishToken(tt.colon)\n case 63: ++this.pos; return this.finishToken(tt.question)\n\n case 96: // '`'\n if (this.options.ecmaVersion < 6) break\n ++this.pos\n return this.finishToken(tt.backQuote)\n\n case 48: // '0'\n let next = this.input.charCodeAt(this.pos + 1)\n if (next === 120 || next === 88) return this.readRadixNumber(16); // '0x', '0X' - hex number\n if (this.options.ecmaVersion >= 6) {\n if (next === 111 || next === 79) return this.readRadixNumber(8); // '0o', '0O' - octal number\n if (next === 98 || next === 66) return this.readRadixNumber(2); // '0b', '0B' - binary number\n }\n // Anything else beginning with a digit is an integer, octal\n // number, or float.\n case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 1-9\n return this.readNumber(false)\n\n // Quotes produce strings.\n case 34: case 39: // '\"', \"'\"\n return this.readString(code)\n\n // Operators are parsed inline in tiny state machines. '=' (61) is\n // often referred to. `finishOp` simply skips the amount of\n // characters it is given as second argument, and returns a token\n // of the type given by its first argument.\n\n case 47: // '/'\n return this.readToken_slash()\n\n case 37: case 42: // '%*'\n return this.readToken_mult_modulo(code)\n\n case 124: case 38: // '|&'\n return this.readToken_pipe_amp(code)\n\n case 94: // '^'\n return this.readToken_caret()\n\n case 43: case 45: // '+-'\n return this.readToken_plus_min(code)\n\n case 60: case 62: // '<>'\n return this.readToken_lt_gt(code)\n\n case 61: case 33: // '=!'\n return this.readToken_eq_excl(code)\n\n case 126: // '~'\n return this.finishOp(tt.prefix, 1)\n }\n\n this.raise(this.pos, \"Unexpected character '\" + codePointToString(code) + \"'\")\n}\n\npp.finishOp = function(type, size) {\n let str = this.input.slice(this.pos, this.pos + size)\n this.pos += size\n return this.finishToken(type, str)\n}\n\n// Parse a regular expression. Some context-awareness is necessary,\n// since a '/' inside a '[]' set does not end the expression.\n\nfunction tryCreateRegexp(src, flags, throwErrorAt, parser) {\n try {\n return new RegExp(src, flags);\n } catch (e) {\n if (throwErrorAt !== undefined) {\n if (e instanceof SyntaxError) parser.raise(throwErrorAt, \"Error parsing regular expression: \" + e.message)\n throw e\n }\n }\n}\n\nvar regexpUnicodeSupport = !!tryCreateRegexp(\"\\uffff\", \"u\");\n\npp.readRegexp = function() {\n let escaped, inClass, start = this.pos\n for (;;) {\n if (this.pos >= this.input.length) this.raise(start, \"Unterminated regular expression\")\n let ch = this.input.charAt(this.pos)\n if (lineBreak.test(ch)) this.raise(start, \"Unterminated regular expression\")\n if (!escaped) {\n if (ch === \"[\") inClass = true\n else if (ch === \"]\" && inClass) inClass = false\n else if (ch === \"/\" && !inClass) break\n escaped = ch === \"\\\\\"\n } else escaped = false\n ++this.pos\n }\n let content = this.input.slice(start, this.pos)\n ++this.pos\n // Need to use `readWord1` because '\\uXXXX' sequences are allowed\n // here (don't ask).\n let mods = this.readWord1()\n let tmp = content\n if (mods) {\n let validFlags = /^[gmsiy]*$/\n if (this.options.ecmaVersion >= 6) validFlags = /^[gmsiyu]*$/\n if (!validFlags.test(mods)) this.raise(start, \"Invalid regular expression flag\")\n if (mods.indexOf('u') >= 0 && !regexpUnicodeSupport) {\n // Replace each astral symbol and every Unicode escape sequence that\n // possibly represents an astral symbol or a paired surrogate with a\n // single ASCII symbol to avoid throwing on regular expressions that\n // are only valid in combination with the `/u` flag.\n // Note: replacing with the ASCII symbol `x` might cause false\n // negatives in unlikely scenarios. For example, `[\\u{61}-b]` is a\n // perfectly valid pattern that is equivalent to `[a-b]`, but it would\n // be replaced by `[x-b]` which throws an error.\n tmp = tmp.replace(/\\\\u\\{([0-9a-fA-F]+)\\}/g, (_match, code, offset) => {\n code = Number(\"0x\" + code)\n if (code > 0x10FFFF) this.raise(start + offset + 3, \"Code point out of bounds\")\n return \"x\"\n });\n tmp = tmp.replace(/\\\\u([a-fA-F0-9]{4})|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, \"x\")\n }\n }\n // Detect invalid regular expressions.\n let value = null\n // Rhino's regular expression parser is flaky and throws uncatchable exceptions,\n // so don't do detection if we are running under Rhino\n if (!isRhino) {\n tryCreateRegexp(tmp, undefined, start, this);\n // Get a regular expression object for this pattern-flag pair, or `null` in\n // case the current environment doesn't support the flags it uses.\n value = tryCreateRegexp(content, mods)\n }\n return this.finishToken(tt.regexp, {pattern: content, flags: mods, value: value})\n}\n\n// Read an integer in the given radix. Return null if zero digits\n// were read, the integer value otherwise. When `len` is given, this\n// will return `null` unless the integer has exactly `len` digits.\n\npp.readInt = function(radix, len) {\n let start = this.pos, total = 0\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n let code = this.input.charCodeAt(this.pos), val\n if (code >= 97) val = code - 97 + 10; // a\n else if (code >= 65) val = code - 65 + 10; // A\n else if (code >= 48 && code <= 57) val = code - 48; // 0-9\n else val = Infinity\n if (val >= radix) break\n ++this.pos\n total = total * radix + val\n }\n if (this.pos === start || len != null && this.pos - start !== len) return null\n\n return total\n}\n\npp.readRadixNumber = function(radix) {\n this.pos += 2; // 0x\n let val = this.readInt(radix)\n if (val == null) this.raise(this.start + 2, \"Expected number in radix \" + radix)\n if (isIdentifierStart(this.fullCharCodeAtPos())) this.raise(this.pos, \"Identifier directly after number\")\n return this.finishToken(tt.num, val)\n}\n\n// Read an integer, octal integer, or floating-point number.\n\npp.readNumber = function(startsWithDot) {\n let start = this.pos, isFloat = false, octal = this.input.charCodeAt(this.pos) === 48\n if (!startsWithDot && this.readInt(10) === null) this.raise(start, \"Invalid number\")\n let next = this.input.charCodeAt(this.pos)\n if (next === 46) { // '.'\n ++this.pos\n this.readInt(10)\n isFloat = true\n next = this.input.charCodeAt(this.pos)\n }\n if (next === 69 || next === 101) { // 'eE'\n next = this.input.charCodeAt(++this.pos)\n if (next === 43 || next === 45) ++this.pos; // '+-'\n if (this.readInt(10) === null) this.raise(start, \"Invalid number\")\n isFloat = true\n }\n if (isIdentifierStart(this.fullCharCodeAtPos())) this.raise(this.pos, \"Identifier directly after number\")\n\n let str = this.input.slice(start, this.pos), val\n if (isFloat) val = parseFloat(str)\n else if (!octal || str.length === 1) val = parseInt(str, 10)\n else if (/[89]/.test(str) || this.strict) this.raise(start, \"Invalid number\")\n else val = parseInt(str, 8)\n return this.finishToken(tt.num, val)\n}\n\n// Read a string value, interpreting backslash-escapes.\n\npp.readCodePoint = function() {\n let ch = this.input.charCodeAt(this.pos), code\n\n if (ch === 123) {\n if (this.options.ecmaVersion < 6) this.unexpected()\n let codePos = ++this.pos\n code = this.readHexChar(this.input.indexOf('}', this.pos) - this.pos)\n ++this.pos\n if (code > 0x10FFFF) this.raise(codePos, \"Code point out of bounds\")\n } else {\n code = this.readHexChar(4)\n }\n return code\n}\n\nfunction codePointToString(code) {\n // UTF-16 Decoding\n if (code <= 0xFFFF) return String.fromCharCode(code)\n code -= 0x10000\n return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00)\n}\n\npp.readString = function(quote) {\n let out = \"\", chunkStart = ++this.pos\n for (;;) {\n if (this.pos >= this.input.length) this.raise(this.start, \"Unterminated string constant\")\n let ch = this.input.charCodeAt(this.pos)\n if (ch === quote) break\n if (ch === 92) { // '\\'\n out += this.input.slice(chunkStart, this.pos)\n out += this.readEscapedChar(false)\n chunkStart = this.pos\n } else {\n if (isNewLine(ch)) this.raise(this.start, \"Unterminated string constant\")\n ++this.pos\n }\n }\n out += this.input.slice(chunkStart, this.pos++)\n return this.finishToken(tt.string, out)\n}\n\n// Reads template string tokens.\n\npp.readTmplToken = function() {\n let out = \"\", chunkStart = this.pos\n for (;;) {\n if (this.pos >= this.input.length) this.raise(this.start, \"Unterminated template\")\n let ch = this.input.charCodeAt(this.pos)\n if (ch === 96 || ch === 36 && this.input.charCodeAt(this.pos + 1) === 123) { // '`', '${'\n if (this.pos === this.start && this.type === tt.template) {\n if (ch === 36) {\n this.pos += 2\n return this.finishToken(tt.dollarBraceL)\n } else {\n ++this.pos\n return this.finishToken(tt.backQuote)\n }\n }\n out += this.input.slice(chunkStart, this.pos)\n return this.finishToken(tt.template, out)\n }\n if (ch === 92) { // '\\'\n out += this.input.slice(chunkStart, this.pos)\n out += this.readEscapedChar(true)\n chunkStart = this.pos\n } else if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.pos)\n ++this.pos\n switch (ch) {\n case 13:\n if (this.input.charCodeAt(this.pos) === 10) ++this.pos;\n case 10:\n out += \"\\n\";\n break;\n default:\n out += String.fromCharCode(ch);\n break;\n }\n if (this.options.locations) {\n ++this.curLine\n this.lineStart = this.pos\n }\n chunkStart = this.pos\n } else {\n ++this.pos\n }\n }\n}\n\n// Used to read escaped characters\n\npp.readEscapedChar = function(inTemplate) {\n let ch = this.input.charCodeAt(++this.pos)\n ++this.pos\n switch (ch) {\n case 110: return \"\\n\"; // 'n' -> '\\n'\n case 114: return \"\\r\"; // 'r' -> '\\r'\n case 120: return String.fromCharCode(this.readHexChar(2)); // 'x'\n case 117: return codePointToString(this.readCodePoint()); // 'u'\n case 116: return \"\\t\"; // 't' -> '\\t'\n case 98: return \"\\b\"; // 'b' -> '\\b'\n case 118: return \"\\u000b\"; // 'v' -> '\\u000b'\n case 102: return \"\\f\"; // 'f' -> '\\f'\n case 13: if (this.input.charCodeAt(this.pos) === 10) ++this.pos; // '\\r\\n'\n case 10: // ' \\n'\n if (this.options.locations) { this.lineStart = this.pos; ++this.curLine }\n return \"\"\n default:\n if (ch >= 48 && ch <= 55) {\n let octalStr = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0]\n let octal = parseInt(octalStr, 8)\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1)\n octal = parseInt(octalStr, 8)\n }\n if (octal > 0 && (this.strict || inTemplate)) {\n this.raise(this.pos - 2, \"Octal literal in strict mode\")\n }\n this.pos += octalStr.length - 1\n return String.fromCharCode(octal)\n }\n return String.fromCharCode(ch)\n }\n}\n\n// Used to read character escape sequences ('\\x', '\\u', '\\U').\n\npp.readHexChar = function(len) {\n let codePos = this.pos\n let n = this.readInt(16, len)\n if (n === null) this.raise(codePos, \"Bad character escape sequence\")\n return n\n}\n\n// Read an identifier, and return it as a string. Sets `this.containsEsc`\n// to whether the word contained a '\\u' escape.\n//\n// Incrementally adds only escaped chars, adding other chunks as-is\n// as a micro-optimization.\n\npp.readWord1 = function() {\n this.containsEsc = false\n let word = \"\", first = true, chunkStart = this.pos\n let astral = this.options.ecmaVersion >= 6\n while (this.pos < this.input.length) {\n let ch = this.fullCharCodeAtPos()\n if (isIdentifierChar(ch, astral)) {\n this.pos += ch <= 0xffff ? 1 : 2\n } else if (ch === 92) { // \"\\\"\n this.containsEsc = true\n word += this.input.slice(chunkStart, this.pos)\n let escStart = this.pos\n if (this.input.charCodeAt(++this.pos) != 117) // \"u\"\n this.raise(this.pos, \"Expecting Unicode escape sequence \\\\uXXXX\")\n ++this.pos\n let esc = this.readCodePoint()\n if (!(first ? isIdentifierStart : isIdentifierChar)(esc, astral))\n this.raise(escStart, \"Invalid Unicode escape\")\n word += codePointToString(esc)\n chunkStart = this.pos\n } else {\n break\n }\n first = false\n }\n return word + this.input.slice(chunkStart, this.pos)\n}\n\n// Read an identifier or keyword token. Will check for reserved\n// words when necessary.\n\npp.readWord = function() {\n let word = this.readWord1()\n let type = tt.name\n if ((this.options.ecmaVersion >= 6 || !this.containsEsc) && this.keywords.test(word))\n type = keywordTypes[word]\n return this.finishToken(type, word)\n}\n","// Acorn is a tiny, fast JavaScript parser written in JavaScript.\n//\n// Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and\n// various contributors and released under an MIT license.\n//\n// Git repositories for Acorn are available at\n//\n// http://marijnhaverbeke.nl/git/acorn\n// https://github.com/ternjs/acorn.git\n//\n// Please use the [github bug tracker][ghbt] to report issues.\n//\n// [ghbt]: https://github.com/ternjs/acorn/issues\n//\n// This file defines the main parser interface. The library also comes\n// with a [error-tolerant parser][dammit] and an\n// [abstract syntax tree walker][walk], defined in other files.\n//\n// [dammit]: acorn_loose.js\n// [walk]: util/walk.js\n\nimport {Parser} from \"./state\"\nimport \"./parseutil\"\nimport \"./statement\"\nimport \"./lval\"\nimport \"./expression\"\nimport \"./location\"\n\nexport {Parser, plugins} from \"./state\"\nexport {defaultOptions} from \"./options\"\nexport {Position, SourceLocation, getLineInfo} from \"./locutil\"\nexport {Node} from \"./node\"\nexport {TokenType, types as tokTypes} from \"./tokentype\"\nexport {TokContext, types as tokContexts} from \"./tokencontext\"\nexport {isIdentifierChar, isIdentifierStart} from \"./identifier\"\nexport {Token} from \"./tokenize\"\nexport {isNewLine, lineBreak, lineBreakG} from \"./whitespace\"\n\nexport const version = \"2.6.4\"\n\n// The main exported interface (under `self.acorn` when in the\n// browser) is a `parse` function that takes a code string and\n// returns an abstract syntax tree as specified by [Mozilla parser\n// API][api].\n//\n// [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API\n\nexport function parse(input, options) {\n return new Parser(options, input).parse()\n}\n\n// This function tries to parse a single expression at a given\n// offset in a string. Useful for parsing mixed-language formats\n// that embed JavaScript expressions.\n\nexport function parseExpressionAt(input, pos, options) {\n let p = new Parser(options, input, pos)\n p.nextToken()\n return p.parseExpression()\n}\n\n// Acorn is organized as a tokenizer and a recursive-descent parser.\n// The `tokenizer` export provides an interface to the tokenizer.\n\nexport function tokenizer(input, options) {\n return new Parser(options, input)\n}\n","function walk(ast, _ref) {\n\tvar enter = _ref.enter;\n\tvar leave = _ref.leave;\n\n\tvisit(ast, null, enter, leave);\n}\n\nvar context = {\n\tskip: function skip() {\n\t\treturn context.shouldSkip = true;\n\t}\n};\n\nvar childKeys = {};\n\nvar toString = Object.prototype.toString;\n\nfunction isArray(thing) {\n\treturn toString.call(thing) === '[object Array]';\n}\n\nfunction visit(node, parent, enter, leave, prop, index) {\n\tif (!node) return;\n\n\tif (enter) {\n\t\tcontext.shouldSkip = false;\n\t\tenter.call(context, node, parent, prop, index);\n\t\tif (context.shouldSkip) return;\n\t}\n\n\tvar keys = childKeys[node.type] || (childKeys[node.type] = Object.keys(node).filter(function (prop) {\n\t\treturn typeof node[prop] === 'object';\n\t}));\n\n\tvar key = undefined,\n\t value = undefined,\n\t i = undefined,\n\t j = undefined;\n\n\ti = keys.length;\n\twhile (i--) {\n\t\tkey = keys[i];\n\t\tvalue = node[key];\n\n\t\tif (isArray(value)) {\n\t\t\tj = value.length;\n\t\t\twhile (j--) {\n\t\t\t\tvisit(value[j], node, enter, leave, key, j);\n\t\t\t}\n\t\t} else if (value && value.type) {\n\t\t\tvisit(value, node, enter, leave, key, null);\n\t\t}\n\t}\n\n\tif (leave) {\n\t\tleave(node, parent, prop, index);\n\t}\n}\n\nexport { walk };\n//# sourceMappingURL=estree-walker.es6.js.map","export default {\n\tAssignmentExpression: 'left',\n\tUpdateExpression: 'argument'\n};\n","export default function isReference ( node, parent ) {\n\tif ( node.type === 'MemberExpression' ) {\n\t\treturn !node.computed && isReference( node.object, node );\n\t}\n\n\tif ( node.type === 'Identifier' ) {\n\t\t// TODO is this right?\n\t\tif ( parent.type === 'MemberExpression' ) return parent.computed || node === parent.object;\n\n\t\t// disregard the `bar` in { bar: foo }\n\t\tif ( parent.type === 'Property' && node !== parent.value ) return false;\n\n\t\t// disregard the `bar` in `class Foo { bar () {...} }`\n\t\tif ( parent.type === 'MethodDefinition' ) return false;\n\n\t\t// disregard the `bar` in `export { foo as bar }`\n\t\tif ( parent.type === 'ExportSpecifier' && node !== parent.local ) return;\n\n\t\treturn true;\n\t}\n}\n","export default function flatten ( node ) {\n\tlet parts = [];\n\twhile ( node.type === 'MemberExpression' ) {\n\t\tif ( node.computed ) return null;\n\t\tparts.unshift( node.property.name );\n\n\t\tnode = node.object;\n\t}\n\n\tif ( node.type !== 'Identifier' ) return null;\n\n\tconst name = node.name;\n\tparts.unshift( name );\n\n\treturn { name, keypath: parts.join( '.' ) };\n}\n","import { walk } from 'estree-walker';\nimport modifierNodes from '../ast/modifierNodes.js';\nimport isReference from '../ast/isReference.js';\nimport flatten from '../ast/flatten';\n\nlet pureFunctions = {};\n\nconst arrayTypes = 'Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array'.split( ' ' );\nconst simdTypes = 'Int8x16 Int16x8 Int32x4 Float32x4 Float64x2'.split( ' ' );\nconst simdMethods = 'abs add and bool check div equal extractLane fromFloat32x4 fromFloat32x4Bits fromFloat64x2 fromFloat64x2Bits fromInt16x8Bits fromInt32x4 fromInt32x4Bits fromInt8x16Bits greaterThan greaterThanOrEqual lessThan lessThanOrEqual load max maxNum min minNum mul neg not notEqual or reciprocalApproximation reciprocalSqrtApproximation replaceLane select selectBits shiftLeftByScalar shiftRightArithmeticByScalar shiftRightLogicalByScalar shuffle splat sqrt store sub swizzle xor'.split( ' ' );\nlet allSimdMethods = [];\nsimdTypes.forEach( t => {\n\tsimdMethods.forEach( m => {\n\t\tallSimdMethods.push( `SIMD.${t}.${m}` );\n\t});\n});\n\n[\n\t'Array.isArray',\n\t'Error', 'EvalError', 'InternalError', 'RangeError', 'ReferenceError', 'SyntaxError', 'TypeError', 'URIError',\n\t'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape', 'unescape',\n\t'Object', 'Object.create', 'Object.getNotifier', 'Object.getOwn', 'Object.getOwnPropertyDescriptor', 'Object.getOwnPropertyNames', 'Object.getOwnPropertySymbols', 'Object.getPrototypeOf', 'Object.is', 'Object.isExtensible', 'Object.isFrozen', 'Object.isSealed', 'Object.keys',\n\t'Function', 'Boolean',\n\t'Number', 'Number.isFinite', 'Number.isInteger', 'Number.isNaN', 'Number.isSafeInteger', 'Number.parseFloat', 'Number.parseInt',\n\t'Symbol', 'Symbol.for', 'Symbol.keyFor',\n\t'Math.abs', 'Math.acos', 'Math.acosh', 'Math.asin', 'Math.asinh', 'Math.atan', 'Math.atan2', 'Math.atanh', 'Math.cbrt', 'Math.ceil', 'Math.clz32', 'Math.cos', 'Math.cosh', 'Math.exp', 'Math.expm1', 'Math.floor', 'Math.fround', 'Math.hypot', 'Math.imul', 'Math.log', 'Math.log10', 'Math.log1p', 'Math.log2', 'Math.max', 'Math.min', 'Math.pow', 'Math.random', 'Math.round', 'Math.sign', 'Math.sin', 'Math.sinh', 'Math.sqrt', 'Math.tan', 'Math.tanh', 'Math.trunc',\n\t'Date', 'Date.UTC', 'Date.now', 'Date.parse',\n\t'String', 'String.fromCharCode', 'String.fromCodePoint', 'String.raw',\n\t'RegExp',\n\t'Map', 'Set', 'WeakMap', 'WeakSet',\n\t'ArrayBuffer', 'ArrayBuffer.isView',\n\t'DataView',\n\t'JSON.parse', 'JSON.stringify',\n\t'Promise', 'Promise.all', 'Promise.race', 'Promise.reject', 'Promise.resolve',\n\t'Intl.Collator', 'Intl.Collator.supportedLocalesOf', 'Intl.DateTimeFormat', 'Intl.DateTimeFormat.supportedLocalesOf', 'Intl.NumberFormat', 'Intl.NumberFormat.supportedLocalesOf'\n\n\t// TODO properties of e.g. window...\n].concat(\n\tarrayTypes,\n\tarrayTypes.map( t => `${t}.from` ),\n\tarrayTypes.map( t => `${t}.of` ),\n\tsimdTypes.map( t => `SIMD.${t}` ),\n\tallSimdMethods\n).forEach( name => pureFunctions[ name ] = true );\n\t// TODO add others to this list from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\n\n\n\nexport default function run ( node, scope, statement, strongDependencies, force ) {\n\tlet hasSideEffect = false;\n\n\twalk( node, {\n\t\tenter ( node, parent ) {\n\t\t\tif ( !force && /Function/.test( node.type ) ) return this.skip();\n\n\t\t\tif ( node._scope ) scope = node._scope;\n\n\t\t\tif ( isReference( node, parent ) ) {\n\t\t\t\tconst flattened = flatten( node );\n\n\t\t\t\tif ( flattened.name === 'arguments' ) {\n\t\t\t\t\thasSideEffect = true;\n\t\t\t\t}\n\n\t\t\t\telse if ( !scope.contains( flattened.name ) ) {\n\t\t\t\t\tconst declaration = statement.module.trace( flattened.name );\n\t\t\t\t\tif ( declaration && !declaration.isExternal ) {\n\t\t\t\t\t\tconst module = declaration.module || declaration.statement.module; // TODO is this right?\n\t\t\t\t\t\tif ( !module.isExternal && !~strongDependencies.indexOf( module ) ) strongDependencies.push( module );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\telse if ( node.type === 'ThrowStatement' ) {\n\t\t\t\t// we only care about errors thrown at the top level, otherwise\n\t\t\t\t// any function with error checking gets included if called\n\t\t\t\tif ( scope.isTopLevel ) hasSideEffect = true;\n\t\t\t}\n\n\t\t\telse if ( node.type === 'CallExpression' || node.type === 'NewExpression' ) {\n\t\t\t\tif ( node.callee.type === 'Identifier' ) {\n\t\t\t\t\tconst declaration = scope.findDeclaration( node.callee.name ) ||\n\t\t\t\t\t statement.module.trace( node.callee.name );\n\n\t\t\t\t\tif ( declaration ) {\n\t\t\t\t\t\tif ( declaration.run( strongDependencies ) ) {\n\t\t\t\t\t\t\thasSideEffect = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( !pureFunctions[ node.callee.name ] ) {\n\t\t\t\t\t\thasSideEffect = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\telse if ( node.callee.type === 'MemberExpression' ) {\n\t\t\t\t\tconst flattened = flatten( node.callee );\n\n\t\t\t\t\tif ( flattened ) {\n\t\t\t\t\t\t// if we're calling e.g. Object.keys(thing), there are no side-effects\n\t\t\t\t\t\t// TODO make pureFunctions configurable\n\t\t\t\t\t\tconst declaration = scope.findDeclaration( flattened.name ) || statement.module.trace( flattened.name );\n\n\t\t\t\t\t\tif ( !!declaration || !pureFunctions[ flattened.keypath ] ) {\n\t\t\t\t\t\t\thasSideEffect = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// is not a keypath like `foo.bar.baz` – could be e.g.\n\t\t\t\t\t\t// `foo[bar].baz()`. Err on the side of caution\n\t\t\t\t\t\thasSideEffect = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// otherwise we're probably dealing with a function expression\n\t\t\t\telse if ( run( node.callee, scope, statement, strongDependencies, true ) ) {\n\t\t\t\t\thasSideEffect = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\telse if ( node.type in modifierNodes ) {\n\t\t\t\tlet subject = node[ modifierNodes[ node.type ] ];\n\t\t\t\twhile ( subject.type === 'MemberExpression' ) subject = subject.object;\n\n\t\t\t\tlet declaration = scope.findDeclaration( subject.name );\n\n\t\t\t\tif ( declaration ) {\n\t\t\t\t\tif ( declaration.isParam ) hasSideEffect = true;\n\t\t\t\t} else {\n\t\t\t\t\tdeclaration = statement.module.trace( subject.name );\n\n\t\t\t\t\tif ( !declaration || declaration.isExternal || declaration.isUsed ) {\n\t\t\t\t\t\thasSideEffect = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tleave ( node ) {\n\t\t\tif ( node._scope ) scope = scope.parent;\n\t\t}\n\t});\n\n\treturn hasSideEffect;\n}\n","import { blank, keys } from './utils/object.js';\nimport run from './utils/run.js';\n\nexport default class Declaration {\n\tconstructor ( node, isParam, statement ) {\n\t\tif ( node ) {\n\t\t\tif ( node.type === 'FunctionDeclaration' ) {\n\t\t\t\tthis.isFunctionDeclaration = true;\n\t\t\t\tthis.functionNode = node;\n\t\t\t} else if ( node.type === 'VariableDeclarator' && node.init && /FunctionExpression/.test( node.init.type ) ) {\n\t\t\t\tthis.isFunctionDeclaration = true;\n\t\t\t\tthis.functionNode = node.init;\n\t\t\t}\n\t\t}\n\n\t\tthis.statement = statement;\n\t\tthis.name = null;\n\t\tthis.isParam = isParam;\n\n\t\tthis.isReassigned = false;\n\t\tthis.aliases = [];\n\t}\n\n\taddAlias ( declaration ) {\n\t\tthis.aliases.push( declaration );\n\t}\n\n\taddReference ( reference ) {\n\t\treference.declaration = this;\n\t\tthis.name = reference.name; // TODO handle differences of opinion\n\n\t\tif ( reference.isReassignment ) this.isReassigned = true;\n\t}\n\n\trender ( es6 ) {\n\t\tif ( es6 ) return this.name;\n\t\tif ( !this.isReassigned || !this.isExported ) return this.name;\n\n\t\treturn `exports.${this.name}`;\n\t}\n\n\trun ( strongDependencies ) {\n\t\tif ( this.tested ) return this.hasSideEffects;\n\t\tthis.tested = true;\n\n\t\tif ( !this.functionNode ) {\n\t\t\tthis.hasSideEffects = true; // err on the side of caution. TODO handle unambiguous `var x; x = y => z` cases\n\t\t} else {\n\t\t\tthis.hasSideEffects = run( this.functionNode.body, this.functionNode._scope, this.statement, strongDependencies, false );\n\t\t}\n\n\t\treturn this.hasSideEffects;\n\t}\n\n\tuse () {\n\t\tthis.isUsed = true;\n\t\tif ( this.statement ) this.statement.mark();\n\n\t\tthis.aliases.forEach( alias => alias.use() );\n\t}\n}\n\nexport class SyntheticDefaultDeclaration {\n\tconstructor ( node, statement, name ) {\n\t\tthis.node = node;\n\t\tthis.statement = statement;\n\t\tthis.name = name;\n\n\t\tthis.original = null;\n\t\tthis.isExported = false;\n\t\tthis.aliases = [];\n\t}\n\n\taddAlias ( declaration ) {\n\t\tthis.aliases.push( declaration );\n\t}\n\n\taddReference ( reference ) {\n\t\t// Bind the reference to `this` declaration.\n\t\treference.declaration = this;\n\n\t\t// Don't change the name to `default`; it's not a valid identifier name.\n\t\tif ( reference.name === 'default' ) return;\n\n\t\tthis.name = reference.name;\n\t}\n\n\tbind ( declaration ) {\n\t\tthis.original = declaration;\n\t}\n\n\trender () {\n\t\treturn !this.original || this.original.isReassigned ?\n\t\t\tthis.name :\n\t\t\tthis.original.render();\n\t}\n\n\trun ( strongDependencies ) {\n\t\tif ( this.original ) {\n\t\t\treturn this.original.run( strongDependencies );\n\t\t}\n\n\t\tif ( /FunctionExpression/.test( this.node.declaration.type ) ) {\n\t\t\treturn run( this.node.declaration.body, this.statement.scope, this.statement, strongDependencies, false );\n\t\t}\n\t}\n\n\tuse () {\n\t\tthis.isUsed = true;\n\t\tthis.statement.mark();\n\n\t\tif ( this.original ) this.original.use();\n\n\t\tthis.aliases.forEach( alias => alias.use() );\n\t}\n}\n\nexport class SyntheticNamespaceDeclaration {\n\tconstructor ( module ) {\n\t\tthis.module = module;\n\t\tthis.name = null;\n\n\t\tthis.needsNamespaceBlock = false;\n\t\tthis.aliases = [];\n\n\t\tthis.originals = blank();\n\t\tmodule.getExports().forEach( name => {\n\t\t\tthis.originals[ name ] = module.traceExport( name );\n\t\t});\n\t}\n\n\taddAlias ( declaration ) {\n\t\tthis.aliases.push( declaration );\n\t}\n\n\taddReference ( reference ) {\n\t\t// if we have e.g. `foo.bar`, we can optimise\n\t\t// the reference by pointing directly to `bar`\n\t\tif ( reference.parts.length ) {\n\t\t\treference.name = reference.parts.shift();\n\n\t\t\treference.end += reference.name.length + 1; // TODO this is brittle\n\n\t\t\tconst original = this.originals[ reference.name ];\n\n\t\t\t// throw with an informative error message if the reference doesn't exist.\n\t\t\tif ( !original ) {\n\t\t\t\tthis.module.bundle.onwarn( `Export '${reference.name}' is not defined by '${this.module.id}'` );\n\t\t\t\treference.isUndefined = true;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\toriginal.addReference( reference );\n\t\t\treturn;\n\t\t}\n\n\t\t// otherwise we're accessing the namespace directly,\n\t\t// which means we need to mark all of this module's\n\t\t// exports and render a namespace block in the bundle\n\t\tif ( !this.needsNamespaceBlock ) {\n\t\t\tthis.needsNamespaceBlock = true;\n\t\t\tthis.module.bundle.internalNamespaces.push( this );\n\t\t}\n\n\t\treference.declaration = this;\n\t\tthis.name = reference.name;\n\t}\n\n\trenderBlock ( indentString ) {\n\t\tconst members = keys( this.originals ).map( name => {\n\t\t\tconst original = this.originals[ name ];\n\n\t\t\tif ( original.isReassigned ) {\n\t\t\t\treturn `${indentString}get ${name} () { return ${original.render()}; }`;\n\t\t\t}\n\n\t\t\treturn `${indentString}${name}: ${original.render()}`;\n\t\t});\n\n\t\treturn `var ${this.render()} = Object.freeze({\\n${members.join( ',\\n' )}\\n});\\n\\n`;\n\t}\n\n\trender () {\n\t\treturn this.name;\n\t}\n\n\tuse () {\n\t\tkeys( this.originals ).forEach( name => {\n\t\t\tthis.originals[ name ].use();\n\t\t});\n\n\t\tthis.aliases.forEach( alias => alias.use() );\n\t}\n}\n\nexport class ExternalDeclaration {\n\tconstructor ( module, name ) {\n\t\tthis.module = module;\n\t\tthis.name = name;\n\t\tthis.isExternal = true;\n\t}\n\n\taddAlias () {\n\t\t// noop\n\t}\n\n\taddReference ( reference ) {\n\t\treference.declaration = this;\n\n\t\tif ( this.name === 'default' || this.name === '*' ) {\n\t\t\tthis.module.suggestName( reference.name );\n\t\t}\n\t}\n\n\trender ( es6 ) {\n\t\tif ( this.name === '*' ) {\n\t\t\treturn this.module.name;\n\t\t}\n\n\t\tif ( this.name === 'default' ) {\n\t\t\treturn !es6 && this.module.exportsNames ?\n\t\t\t\t`${this.module.name}__default` :\n\t\t\t\tthis.module.name;\n\t\t}\n\n\t\treturn es6 ? this.name : `${this.module.name}.${this.name}`;\n\t}\n\n\trun () {\n\t\treturn true;\n\t}\n\n\tuse () {\n\t\t// noop?\n\t}\n}\n","import { blank, keys } from '../utils/object.js';\nimport Declaration from '../Declaration.js';\n\nconst extractors = {\n\tIdentifier ( names, param ) {\n\t\tnames.push( param.name );\n\t},\n\n\tObjectPattern ( names, param ) {\n\t\tparam.properties.forEach( prop => {\n\t\t\textractors[ prop.key.type ]( names, prop.key );\n\t\t});\n\t},\n\n\tArrayPattern ( names, param ) {\n\t\tparam.elements.forEach( element => {\n\t\t\tif ( element ) extractors[ element.type ]( names, element );\n\t\t});\n\t},\n\n\tRestElement ( names, param ) {\n\t\textractors[ param.argument.type ]( names, param.argument );\n\t},\n\n\tAssignmentPattern ( names, param ) {\n\t\treturn extractors[ param.left.type ]( names, param.left );\n\t}\n};\n\nfunction extractNames ( param ) {\n\tlet names = [];\n\n\textractors[ param.type ]( names, param );\n\treturn names;\n}\n\nexport default class Scope {\n\tconstructor ( options ) {\n\t\toptions = options || {};\n\n\t\tthis.parent = options.parent;\n\t\tthis.statement = options.statement || this.parent.statement;\n\t\tthis.isBlockScope = !!options.block;\n\t\tthis.isTopLevel = !this.parent || ( this.parent.isTopLevel && this.isBlockScope );\n\n\t\tthis.declarations = blank();\n\n\t\tif ( options.params ) {\n\t\t\toptions.params.forEach( param => {\n\t\t\t\textractNames( param ).forEach( name => {\n\t\t\t\t\tthis.declarations[ name ] = new Declaration( param, true, this.statement );\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\taddDeclaration ( node, isBlockDeclaration, isVar ) {\n\t\tif ( !isBlockDeclaration && this.isBlockScope ) {\n\t\t\t// it's a `var` or function node, and this\n\t\t\t// is a block scope, so we need to go up\n\t\t\tthis.parent.addDeclaration( node, isBlockDeclaration, isVar );\n\t\t} else {\n\t\t\textractNames( node.id ).forEach( name => {\n\t\t\t\tthis.declarations[ name ] = new Declaration( node, false, this.statement );\n\t\t\t});\n\t\t}\n\t}\n\n\tcontains ( name ) {\n\t\treturn this.declarations[ name ] ||\n\t\t ( this.parent ? this.parent.contains( name ) : false );\n\t}\n\n\teachDeclaration ( fn ) {\n\t\tkeys( this.declarations ).forEach( key => {\n\t\t\tfn( key, this.declarations[ key ] );\n\t\t});\n\t}\n\n\tfindDeclaration ( name ) {\n\t\treturn this.declarations[ name ] ||\n\t\t ( this.parent && this.parent.findDeclaration( name ) );\n\t}\n}\n","import { walk } from 'estree-walker';\nimport Scope from './Scope.js';\n\nconst blockDeclarations = {\n\t'const': true,\n\t'let': true\n};\n\nexport default function attachScopes ( statement ) {\n\tlet { node, scope } = statement;\n\n\twalk( node, {\n\t\tenter ( node, parent ) {\n\t\t\t// function foo () {...}\n\t\t\t// class Foo {...}\n\t\t\tif ( /(Function|Class)Declaration/.test( node.type ) ) {\n\t\t\t\tscope.addDeclaration( node, false, false );\n\t\t\t}\n\n\t\t\t// var foo = 1, bar = 2\n\t\t\tif ( node.type === 'VariableDeclaration' ) {\n\t\t\t\tconst isBlockDeclaration = blockDeclarations[ node.kind ];\n\n\t\t\t\tnode.declarations.forEach( declarator => {\n\t\t\t\t\tscope.addDeclaration( declarator, isBlockDeclaration, true );\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlet newScope;\n\n\t\t\t// create new function scope\n\t\t\tif ( /Function/.test( node.type ) ) {\n\t\t\t\tnewScope = new Scope({\n\t\t\t\t\tparent: scope,\n\t\t\t\t\tblock: false,\n\t\t\t\t\tparams: node.params\n\t\t\t\t});\n\n\t\t\t\t// named function expressions - the name is considered\n\t\t\t\t// part of the function's scope\n\t\t\t\tif ( node.type === 'FunctionExpression' && node.id ) {\n\t\t\t\t\tnewScope.addDeclaration( node, false, false );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// create new block scope\n\t\t\tif ( node.type === 'BlockStatement' && ( !parent || !/Function/.test( parent.type ) ) ) {\n\t\t\t\tnewScope = new Scope({\n\t\t\t\t\tparent: scope,\n\t\t\t\t\tblock: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// catch clause has its own block scope\n\t\t\tif ( node.type === 'CatchClause' ) {\n\t\t\t\tnewScope = new Scope({\n\t\t\t\t\tparent: scope,\n\t\t\t\t\tparams: [ node.param ],\n\t\t\t\t\tblock: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif ( newScope ) {\n\t\t\t\tObject.defineProperty( node, '_scope', {\n\t\t\t\t\tvalue: newScope,\n\t\t\t\t\tconfigurable: true\n\t\t\t\t});\n\n\t\t\t\tscope = newScope;\n\t\t\t}\n\t\t},\n\t\tleave ( node ) {\n\t\t\tif ( node._scope ) {\n\t\t\t\tscope = scope.parent;\n\t\t\t}\n\t\t}\n\t});\n}\n","export default function isFunctionDeclaration ( node ) {\n\tif ( !node ) return false;\n\n\treturn node.type === 'FunctionDeclaration' ||\n\t\t( node.type === 'VariableDeclaration' && node.init && /FunctionExpression/.test( node.init.type ) );\n}\n","export default function getLocation ( source, charIndex ) {\n\tconst lines = source.split( '\\n' );\n\tconst len = lines.length;\n\n\tlet lineStart = 0;\n\tlet i;\n\n\tfor ( i = 0; i < len; i += 1 ) {\n\t\tconst line = lines[i];\n\t\tconst lineEnd = lineStart + line.length + 1; // +1 for newline\n\n\t\tif ( lineEnd > charIndex ) {\n\t\t\treturn { line: i + 1, column: charIndex - lineStart };\n\t\t}\n\n\t\tlineStart = lineEnd;\n\t}\n\n\tthrow new Error( 'Could not determine location of character' );\n}\n","import { walk } from 'estree-walker';\nimport Scope from './ast/Scope.js';\nimport attachScopes from './ast/attachScopes.js';\nimport modifierNodes from './ast/modifierNodes.js';\nimport isFunctionDeclaration from './ast/isFunctionDeclaration.js';\nimport isReference from './ast/isReference.js';\nimport getLocation from './utils/getLocation.js';\nimport run from './utils/run.js';\n\nclass Reference {\n\tconstructor ( node, scope, statement ) {\n\t\tthis.node = node;\n\t\tthis.scope = scope;\n\t\tthis.statement = statement;\n\n\t\tthis.declaration = null; // bound later\n\n\t\tthis.parts = [];\n\n\t\tlet root = node;\n\t\twhile ( root.type === 'MemberExpression' ) {\n\t\t\tthis.parts.unshift( root.property.name );\n\t\t\troot = root.object;\n\t\t}\n\n\t\tthis.name = root.name;\n\n\t\tthis.start = node.start;\n\t\tthis.end = node.start + this.name.length; // can be overridden in the case of namespace members\n\t\tthis.rewritten = false;\n\t}\n}\n\nexport default class Statement {\n\tconstructor ( node, module, start, end ) {\n\t\tthis.node = node;\n\t\tthis.module = module;\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.next = null; // filled in later\n\n\t\tthis.scope = new Scope({ statement: this });\n\n\t\tthis.references = [];\n\t\tthis.stringLiteralRanges = [];\n\n\t\tthis.isIncluded = false;\n\t\tthis.ran = false;\n\n\t\tthis.isImportDeclaration = node.type === 'ImportDeclaration';\n\t\tthis.isExportDeclaration = /^Export/.test( node.type );\n\t\tthis.isReexportDeclaration = this.isExportDeclaration && !!node.source;\n\n\t\tthis.isFunctionDeclaration = isFunctionDeclaration( node ) ||\n\t\t\tthis.isExportDeclaration && isFunctionDeclaration( node.declaration );\n\t}\n\n\tfirstPass () {\n\t\tif ( this.isImportDeclaration ) return; // nothing to analyse\n\n\t\t// attach scopes\n\t\tattachScopes( this );\n\n\t\t// find references\n\t\tconst statement = this;\n\t\tlet { module, references, scope, stringLiteralRanges } = this;\n\t\tlet readDepth = 0;\n\n\t\twalk( this.node, {\n\t\t\tenter ( node, parent ) {\n\t\t\t\t// warn about eval\n\t\t\t\tif ( node.type === 'CallExpression' && node.callee.name === 'eval' && !scope.contains( 'eval' ) ) {\n\t\t\t\t\tmodule.bundle.onwarn( `Use of \\`eval\\` (in ${module.id}) is discouraged, as it may cause issues with minification. See https://github.com/rollup/rollup/wiki/Troubleshooting#avoiding-eval for more details` );\n\t\t\t\t}\n\n\t\t\t\t// skip re-export declarations\n\t\t\t\tif ( node.type === 'ExportNamedDeclaration' && node.source ) return this.skip();\n\n\t\t\t\tif ( node.type === 'TemplateElement' ) stringLiteralRanges.push([ node.start, node.end ]);\n\t\t\t\tif ( node.type === 'Literal' && typeof node.value === 'string' && /\\n/.test( node.raw ) ) {\n\t\t\t\t\tstringLiteralRanges.push([ node.start + 1, node.end - 1 ]);\n\t\t\t\t}\n\n\t\t\t\tif ( node._scope ) scope = node._scope;\n\t\t\t\tif ( /Function/.test( node.type ) ) readDepth += 1;\n\n\t\t\t\t// special case – shorthand properties. because node.key === node.value,\n\t\t\t\t// we can't differentiate once we've descended into the node\n\t\t\t\tif ( node.type === 'Property' && node.shorthand ) {\n\t\t\t\t\tconst reference = new Reference( node.key, scope );\n\t\t\t\t\treference.isShorthandProperty = true; // TODO feels a bit kludgy\n\t\t\t\t\treferences.push( reference );\n\t\t\t\t\treturn this.skip();\n\t\t\t\t}\n\n\t\t\t\tlet isReassignment;\n\n\t\t\t\tif ( parent && parent.type in modifierNodes ) {\n\t\t\t\t\tlet subject = parent[ modifierNodes[ parent.type ] ];\n\t\t\t\t\tlet depth = 0;\n\n\t\t\t\t\twhile ( subject.type === 'MemberExpression' ) {\n\t\t\t\t\t\tsubject = subject.object;\n\t\t\t\t\t\tdepth += 1;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst importDeclaration = module.imports[ subject.name ];\n\n\t\t\t\t\tif ( !scope.contains( subject.name ) && importDeclaration ) {\n\t\t\t\t\t\tconst minDepth = importDeclaration.name === '*' ?\n\t\t\t\t\t\t\t2 : // cannot do e.g. `namespace.foo = bar`\n\t\t\t\t\t\t\t1; // cannot do e.g. `foo = bar`, but `foo.bar = bar` is fine\n\n\t\t\t\t\t\tif ( depth < minDepth ) {\n\t\t\t\t\t\t\tconst err = new Error( `Illegal reassignment to import '${subject.name}'` );\n\t\t\t\t\t\t\terr.file = module.id;\n\t\t\t\t\t\t\terr.loc = getLocation( module.magicString.toString(), subject.start );\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tisReassignment = !depth;\n\t\t\t\t}\n\n\t\t\t\tif ( isReference( node, parent ) ) {\n\t\t\t\t\t// function declaration IDs are a special case – they're associated\n\t\t\t\t\t// with the parent scope\n\t\t\t\t\tconst referenceScope = parent.type === 'FunctionDeclaration' && node === parent.id ?\n\t\t\t\t\t\tscope.parent :\n\t\t\t\t\t\tscope;\n\n\t\t\t\t\tconst reference = new Reference( node, referenceScope, statement );\n\t\t\t\t\treference.isReassignment = isReassignment;\n\n\t\t\t\t\treferences.push( reference );\n\n\t\t\t\t\tthis.skip(); // don't descend from `foo.bar.baz` into `foo.bar`\n\t\t\t\t}\n\t\t\t},\n\t\t\tleave ( node ) {\n\t\t\t\tif ( node._scope ) scope = scope.parent;\n\t\t\t\tif ( /Function/.test( node.type ) ) readDepth -= 1;\n\t\t\t}\n\t\t});\n\t}\n\n\tmark () {\n\t\tif ( this.isIncluded ) return; // prevent infinite loops\n\t\tthis.isIncluded = true;\n\n\t\tthis.references.forEach( reference => {\n\t\t\tif ( reference.declaration ) reference.declaration.use();\n\t\t});\n\t}\n\n\trun ( strongDependencies, safe ) {\n\t\tif ( ( this.ran && this.isIncluded ) || this.isImportDeclaration || this.isFunctionDeclaration ) return;\n\t\tthis.ran = true;\n\n\t\tif ( run( this.node, this.scope, this, strongDependencies, false, safe ) ) {\n\t\t\tthis.mark();\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tsource () {\n\t\treturn this.module.source.slice( this.start, this.end );\n\t}\n\n\ttoString () {\n\t\treturn this.module.magicString.slice( this.start, this.end );\n\t}\n}\n","import { blank } from './object.js';\n\nconst reservedWords = 'break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public'.split( ' ' );\nconst builtins = 'Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl'.split( ' ' );\n\nlet blacklisted = blank();\nreservedWords.concat( builtins ).forEach( word => blacklisted[ word ] = true );\n\n\nexport default function makeLegalIdentifier ( str ) {\n\tstr = str\n\t\t.replace( /-(\\w)/g, ( _, letter ) => letter.toUpperCase() )\n\t\t.replace( /[^$_a-zA-Z0-9]/g, '_' );\n\n\tif ( /\\d/.test( str[0] ) || blacklisted[ str ] ) str = `_${str}`;\n\n\treturn str;\n}\n","export function isTruthy ( node ) {\n\tif ( node.type === 'Literal' ) return !!node.value;\n\tif ( node.type === 'ParenthesizedExpression' ) return isTruthy( node.expression );\n\tif ( node.operator in operators ) return operators[ node.operator ]( node );\n}\n\nexport function isFalsy ( node ) {\n\treturn not( isTruthy( node ) );\n}\n\nfunction not ( value ) {\n\treturn value === undefined ? value : !value;\n}\n\nfunction equals ( a, b, strict ) {\n\tif ( a.type !== b.type ) return undefined;\n\tif ( a.type === 'Literal' ) return strict ? a.value === b.value : a.value == b.value;\n}\n\nconst operators = {\n\t'==': x => {\n\t\treturn equals( x.left, x.right, false );\n\t},\n\n\t'!=': x => not( operators['==']( x ) ),\n\n\t'===': x => {\n\t\treturn equals( x.left, x.right, true );\n\t},\n\n\t'!==': x => not( operators['===']( x ) ),\n\n\t'!': x => isFalsy( x.argument ),\n\n\t'&&': x => isTruthy( x.left ) && isTruthy( x.right ),\n\n\t'||': x => isTruthy( x.left ) || isTruthy( x.right )\n};\n","export function emptyBlockStatement ( start, end ) {\n\treturn {\n\t\tstart, end,\n\t\ttype: 'BlockStatement',\n\t\tbody: []\n\t};\n}\n","import { parse } from 'acorn/src/index.js';\nimport MagicString from 'magic-string';\nimport { walk } from 'estree-walker';\nimport Statement from './Statement.js';\nimport { blank, keys } from './utils/object.js';\nimport { basename, extname } from './utils/path.js';\nimport getLocation from './utils/getLocation.js';\nimport makeLegalIdentifier from './utils/makeLegalIdentifier.js';\nimport SOURCEMAPPING_URL from './utils/sourceMappingURL.js';\nimport { SyntheticDefaultDeclaration, SyntheticNamespaceDeclaration } from './Declaration.js';\nimport { isFalsy, isTruthy } from './ast/conditions.js';\nimport { emptyBlockStatement } from './ast/create.js';\n\nexport default class Module {\n\tconstructor ({ id, code, originalCode, ast, sourceMapChain, bundle }) {\n\t\tthis.code = code;\n\t\tthis.originalCode = originalCode;\n\t\tthis.sourceMapChain = sourceMapChain;\n\n\t\tthis.bundle = bundle;\n\t\tthis.id = id;\n\n\t\t// all dependencies\n\t\tthis.dependencies = [];\n\t\tthis.resolvedIds = blank();\n\n\t\t// imports and exports, indexed by local name\n\t\tthis.imports = blank();\n\t\tthis.exports = blank();\n\t\tthis.reexports = blank();\n\n\t\tthis.exportAllSources = [];\n\t\tthis.exportAllModules = null;\n\n\t\t// By default, `id` is the filename. Custom resolvers and loaders\n\t\t// can change that, but it makes sense to use it for the source filename\n\t\tthis.magicString = new MagicString( code, {\n\t\t\tfilename: id,\n\t\t\tindentExclusionRanges: []\n\t\t});\n\n\t\t// remove existing sourceMappingURL comments\n\t\tconst pattern = new RegExp( `\\\\/\\\\/#\\\\s+${SOURCEMAPPING_URL}=.+\\\\n?`, 'g' );\n\t\tlet match;\n\t\twhile ( match = pattern.exec( code ) ) {\n\t\t\tthis.magicString.remove( match.index, match.index + match[0].length );\n\t\t}\n\n\t\tthis.comments = [];\n\t\tthis.statements = this.parse( ast );\n\n\t\tthis.declarations = blank();\n\t\tthis.analyse();\n\n\t\tthis.strongDependencies = [];\n\t}\n\n\taddExport ( statement ) {\n\t\tconst node = statement.node;\n\t\tconst source = node.source && node.source.value;\n\n\t\t// export { name } from './other.js'\n\t\tif ( source ) {\n\t\t\tif ( !~this.dependencies.indexOf( source ) ) this.dependencies.push( source );\n\n\t\t\tif ( node.type === 'ExportAllDeclaration' ) {\n\t\t\t\t// Store `export * from '...'` statements in an array of delegates.\n\t\t\t\t// When an unknown import is encountered, we see if one of them can satisfy it.\n\t\t\t\tthis.exportAllSources.push( source );\n\t\t\t}\n\n\t\t\telse {\n\t\t\t\tnode.specifiers.forEach( specifier => {\n\t\t\t\t\tthis.reexports[ specifier.exported.name ] = {\n\t\t\t\t\t\tstart: specifier.start,\n\t\t\t\t\t\tsource,\n\t\t\t\t\t\tlocalName: specifier.local.name,\n\t\t\t\t\t\tmodule: null // filled in later\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// export default function foo () {}\n\t\t// export default foo;\n\t\t// export default 42;\n\t\telse if ( node.type === 'ExportDefaultDeclaration' ) {\n\t\t\tconst identifier = ( node.declaration.id && node.declaration.id.name ) || node.declaration.name;\n\n\t\t\tthis.exports.default = {\n\t\t\t\tlocalName: 'default',\n\t\t\t\tidentifier\n\t\t\t};\n\n\t\t\t// create a synthetic declaration\n\t\t\tthis.declarations.default = new SyntheticDefaultDeclaration( node, statement, identifier || this.basename() );\n\t\t}\n\n\t\t// export { foo, bar, baz }\n\t\t// export var foo = 42;\n\t\t// export var a = 1, b = 2, c = 3;\n\t\t// export function foo () {}\n\t\telse if ( node.type === 'ExportNamedDeclaration' ) {\n\t\t\tif ( node.specifiers.length ) {\n\t\t\t\t// export { foo, bar, baz }\n\t\t\t\tnode.specifiers.forEach( specifier => {\n\t\t\t\t\tconst localName = specifier.local.name;\n\t\t\t\t\tconst exportedName = specifier.exported.name;\n\n\t\t\t\t\tthis.exports[ exportedName ] = { localName };\n\t\t\t\t});\n\t\t\t}\n\n\t\t\telse {\n\t\t\t\tlet declaration = node.declaration;\n\n\t\t\t\tlet name;\n\n\t\t\t\tif ( declaration.type === 'VariableDeclaration' ) {\n\t\t\t\t\t// export var foo = 42\n\t\t\t\t\tname = declaration.declarations[0].id.name;\n\t\t\t\t} else {\n\t\t\t\t\t// export function foo () {}\n\t\t\t\t\tname = declaration.id.name;\n\t\t\t\t}\n\n\t\t\t\tthis.exports[ name ] = { localName: name };\n\t\t\t}\n\t\t}\n\t}\n\n\taddImport ( statement ) {\n\t\tconst node = statement.node;\n\t\tconst source = node.source.value;\n\n\t\tif ( !~this.dependencies.indexOf( source ) ) this.dependencies.push( source );\n\n\t\tnode.specifiers.forEach( specifier => {\n\t\t\tconst localName = specifier.local.name;\n\n\t\t\tif ( this.imports[ localName ] ) {\n\t\t\t\tconst err = new Error( `Duplicated import '${localName}'` );\n\t\t\t\terr.file = this.id;\n\t\t\t\terr.loc = getLocation( this.code, specifier.start );\n\t\t\t\tthrow err;\n\t\t\t}\n\n\t\t\tconst isDefault = specifier.type === 'ImportDefaultSpecifier';\n\t\t\tconst isNamespace = specifier.type === 'ImportNamespaceSpecifier';\n\n\t\t\tconst name = isDefault ? 'default' : isNamespace ? '*' : specifier.imported.name;\n\t\t\tthis.imports[ localName ] = { source, name, module: null };\n\t\t});\n\t}\n\n\tanalyse () {\n\t\t// discover this module's imports and exports\n\t\tthis.statements.forEach( statement => {\n\t\t\tif ( statement.isImportDeclaration ) this.addImport( statement );\n\t\t\telse if ( statement.isExportDeclaration ) this.addExport( statement );\n\n\t\t\tstatement.firstPass();\n\n\t\t\tstatement.scope.eachDeclaration( ( name, declaration ) => {\n\t\t\t\tthis.declarations[ name ] = declaration;\n\t\t\t});\n\t\t});\n\t}\n\n\tbasename () {\n\t\tconst base = basename( this.id );\n\t\tconst ext = extname( this.id );\n\n\t\treturn makeLegalIdentifier( ext ? base.slice( 0, -ext.length ) : base );\n\t}\n\n\tbindAliases () {\n\t\tkeys( this.declarations ).forEach( name => {\n\t\t\tif ( name === '*' ) return;\n\n\t\t\tconst declaration = this.declarations[ name ];\n\t\t\tconst statement = declaration.statement;\n\n\t\t\tif ( statement.node.type !== 'VariableDeclaration' ) return;\n\n\t\t\tconst init = statement.node.declarations[0].init;\n\t\t\tif ( !init || init.type === 'FunctionExpression' ) return;\n\n\t\t\tstatement.references.forEach( reference => {\n\t\t\t\tif ( reference.name === name ) return;\n\n\t\t\t\tconst otherDeclaration = this.trace( reference.name );\n\t\t\t\tif ( otherDeclaration ) otherDeclaration.addAlias( declaration );\n\t\t\t});\n\t\t});\n\t}\n\n\tbindImportSpecifiers () {\n\t\t[ this.imports, this.reexports ].forEach( specifiers => {\n\t\t\tkeys( specifiers ).forEach( name => {\n\t\t\t\tconst specifier = specifiers[ name ];\n\n\t\t\t\tconst id = this.resolvedIds[ specifier.source ];\n\t\t\t\tspecifier.module = this.bundle.moduleById[ id ];\n\t\t\t});\n\t\t});\n\n\t\tthis.exportAllModules = this.exportAllSources.map( source => {\n\t\t\tconst id = this.resolvedIds[ source ];\n\t\t\treturn this.bundle.moduleById[ id ];\n\t\t});\n\t}\n\n\tbindReferences () {\n\t\tif ( this.declarations.default ) {\n\t\t\tif ( this.exports.default.identifier ) {\n\t\t\t\tconst declaration = this.trace( this.exports.default.identifier );\n\t\t\t\tif ( declaration ) this.declarations.default.bind( declaration );\n\t\t\t}\n\t\t}\n\n\t\tthis.statements.forEach( statement => {\n\t\t\t// skip `export { foo, bar, baz }`...\n\t\t\tif ( statement.node.type === 'ExportNamedDeclaration' && statement.node.specifiers.length ) {\n\t\t\t\t// ...unless this is the entry module\n\t\t\t\tif ( this !== this.bundle.entryModule ) return;\n\t\t\t}\n\n\t\t\tstatement.references.forEach( reference => {\n\t\t\t\tconst declaration = reference.scope.findDeclaration( reference.name ) ||\n\t\t\t\t this.trace( reference.name );\n\n\t\t\t\tif ( declaration ) {\n\t\t\t\t\tdeclaration.addReference( reference );\n\t\t\t\t} else {\n\t\t\t\t\t// TODO handle globals\n\t\t\t\t\tthis.bundle.assumedGlobals[ reference.name ] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tconsolidateDependencies () {\n\t\tlet strongDependencies = [];\n\t\tlet weakDependencies = [];\n\n\t\t// treat all imports as weak dependencies\n\t\tthis.dependencies.forEach( source => {\n\t\t\tconst id = this.resolvedIds[ source ];\n\t\t\tconst dependency = this.bundle.moduleById[ id ];\n\n\t\t\tif ( !dependency.isExternal && !~weakDependencies.indexOf( dependency ) ) {\n\t\t\t\tweakDependencies.push( dependency );\n\t\t\t}\n\t\t});\n\n\t\tstrongDependencies = this.strongDependencies\n\t\t\t.filter( module => module !== this );\n\n\t\treturn { strongDependencies, weakDependencies };\n\t}\n\n\tgetExports () {\n\t\tlet exports = blank();\n\n\t\tkeys( this.exports ).forEach( name => {\n\t\t\texports[ name ] = true;\n\t\t});\n\n\t\tkeys( this.reexports ).forEach( name => {\n\t\t\texports[ name ] = true;\n\t\t});\n\n\t\tthis.exportAllModules.forEach( module => {\n\t\t\tmodule.getExports().forEach( name => {\n\t\t\t\tif ( name !== 'default' ) exports[ name ] = true;\n\t\t\t});\n\t\t});\n\n\t\treturn keys( exports );\n\t}\n\n\tnamespace () {\n\t\tif ( !this.declarations['*'] ) {\n\t\t\tthis.declarations['*'] = new SyntheticNamespaceDeclaration( this );\n\t\t}\n\n\t\treturn this.declarations['*'];\n\t}\n\n\tparse ( ast ) {\n\t\t// The ast can be supplied programmatically (but usually won't be)\n\t\tif ( !ast ) {\n\t\t\t// Try to extract a list of top-level statements/declarations. If\n\t\t\t// the parse fails, attach file info and abort\n\t\t\ttry {\n\t\t\t\tast = parse( this.code, {\n\t\t\t\t\tecmaVersion: 6,\n\t\t\t\t\tsourceType: 'module',\n\t\t\t\t\tonComment: ( block, text, start, end ) => this.comments.push({ block, text, start, end }),\n\t\t\t\t\tpreserveParens: true\n\t\t\t\t});\n\t\t\t} catch ( err ) {\n\t\t\t\terr.code = 'PARSE_ERROR';\n\t\t\t\terr.file = this.id; // see above - not necessarily true, but true enough\n\t\t\t\terr.message += ` in ${this.id}`;\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\twalk( ast, {\n\t\t\tenter: node => {\n\t\t\t\t// eliminate dead branches early\n\t\t\t\tif ( node.type === 'IfStatement' ) {\n\t\t\t\t\tif ( isFalsy( node.test ) ) {\n\t\t\t\t\t\tthis.magicString.overwrite( node.consequent.start, node.consequent.end, '{}' );\n\t\t\t\t\t\tnode.consequent = emptyBlockStatement( node.consequent.start, node.consequent.end );\n\t\t\t\t\t} else if ( node.alternate && isTruthy( node.test ) ) {\n\t\t\t\t\t\tthis.magicString.overwrite( node.alternate.start, node.alternate.end, '{}' );\n\t\t\t\t\t\tnode.alternate = emptyBlockStatement( node.alternate.start, node.alternate.end );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.magicString.addSourcemapLocation( node.start );\n\t\t\t\tthis.magicString.addSourcemapLocation( node.end );\n\t\t\t}\n\t\t});\n\n\t\tlet statements = [];\n\t\tlet lastChar = 0;\n\t\tlet commentIndex = 0;\n\n\t\tast.body.forEach( node => {\n\t\t\tif ( node.type === 'EmptyStatement' ) return;\n\n\t\t\tif (\n\t\t\t\tnode.type === 'ExportNamedDeclaration' &&\n\t\t\t\tnode.declaration &&\n\t\t\t\tnode.declaration.type === 'VariableDeclaration' &&\n\t\t\t\tnode.declaration.declarations &&\n\t\t\t\tnode.declaration.declarations.length > 1\n\t\t\t) {\n\t\t\t\t// push a synthetic export declaration\n\t\t\t\tconst syntheticNode = {\n\t\t\t\t\ttype: 'ExportNamedDeclaration',\n\t\t\t\t\tspecifiers: node.declaration.declarations.map( declarator => {\n\t\t\t\t\t\tconst id = { name: declarator.id.name };\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tlocal: id,\n\t\t\t\t\t\t\texported: id\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t\tisSynthetic: true\n\t\t\t\t};\n\n\t\t\t\tconst statement = new Statement( syntheticNode, this, node.start, node.start );\n\t\t\t\tstatements.push( statement );\n\n\t\t\t\tthis.magicString.remove( node.start, node.declaration.start );\n\t\t\t\tnode = node.declaration;\n\t\t\t}\n\n\t\t\t// special case - top-level var declarations with multiple declarators\n\t\t\t// should be split up. Otherwise, we may end up including code we\n\t\t\t// don't need, just because an unwanted declarator is included\n\t\t\tif ( node.type === 'VariableDeclaration' && node.declarations.length > 1 ) {\n\t\t\t\t// remove the leading var/let/const... UNLESS the previous node\n\t\t\t\t// was also a synthetic node, in which case it'll get removed anyway\n\t\t\t\tconst lastStatement = statements[ statements.length - 1 ];\n\t\t\t\tif ( !lastStatement || !lastStatement.node.isSynthetic ) {\n\t\t\t\t\tthis.magicString.remove( node.start, node.declarations[0].start );\n\t\t\t\t}\n\n\t\t\t\tnode.declarations.forEach( declarator => {\n\t\t\t\t\tconst { start, end } = declarator;\n\n\t\t\t\t\tconst syntheticNode = {\n\t\t\t\t\t\ttype: 'VariableDeclaration',\n\t\t\t\t\t\tkind: node.kind,\n\t\t\t\t\t\tstart,\n\t\t\t\t\t\tend,\n\t\t\t\t\t\tdeclarations: [ declarator ],\n\t\t\t\t\t\tisSynthetic: true\n\t\t\t\t\t};\n\n\t\t\t\t\tconst statement = new Statement( syntheticNode, this, start, end );\n\t\t\t\t\tstatements.push( statement );\n\t\t\t\t});\n\n\t\t\t\tlastChar = node.end; // TODO account for trailing line comment\n\t\t\t}\n\n\t\t\telse {\n\t\t\t\tlet comment;\n\t\t\t\tdo {\n\t\t\t\t\tcomment = this.comments[ commentIndex ];\n\t\t\t\t\tif ( !comment ) break;\n\t\t\t\t\tif ( comment.start > node.start ) break;\n\t\t\t\t\tcommentIndex += 1;\n\t\t\t\t} while ( comment.end < lastChar );\n\n\t\t\t\tconst start = comment ? Math.min( comment.start, node.start ) : node.start;\n\t\t\t\tconst end = node.end; // TODO account for trailing line comment\n\n\t\t\t\tconst statement = new Statement( node, this, start, end );\n\t\t\t\tstatements.push( statement );\n\n\t\t\t\tlastChar = end;\n\t\t\t}\n\t\t});\n\n\t\tlet i = statements.length;\n\t\tlet next = this.code.length;\n\t\twhile ( i-- ) {\n\t\t\tstatements[i].next = next;\n\t\t\tif ( !statements[i].isSynthetic ) next = statements[i].start;\n\t\t}\n\n\t\treturn statements;\n\t}\n\n\trender ( es6 ) {\n\t\tlet magicString = this.magicString.clone();\n\n\t\tthis.statements.forEach( statement => {\n\t\t\tif ( !statement.isIncluded ) {\n\t\t\t\tmagicString.remove( statement.start, statement.next );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstatement.stringLiteralRanges.forEach( range => magicString.indentExclusionRanges.push( range ) );\n\n\t\t\t// skip `export { foo, bar, baz }`\n\t\t\tif ( statement.node.type === 'ExportNamedDeclaration' ) {\n\t\t\t\tif ( statement.node.isSynthetic ) return;\n\n\t\t\t\t// skip `export { foo, bar, baz }`\n\t\t\t\tif ( statement.node.specifiers.length ) {\n\t\t\t\t\tmagicString.remove( statement.start, statement.next );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// split up/remove var declarations as necessary\n\t\t\tif ( statement.node.isSynthetic ) {\n\t\t\t\t// insert `var/let/const` if necessary\n\t\t\t\tconst declaration = this.declarations[ statement.node.declarations[0].id.name ];\n\t\t\t\tif ( !( declaration.isExported && declaration.isReassigned ) ) { // TODO encapsulate this\n\t\t\t\t\tmagicString.insert( statement.start, `${statement.node.kind} ` );\n\t\t\t\t}\n\n\t\t\t\tmagicString.overwrite( statement.end, statement.next, ';\\n' ); // TODO account for trailing newlines\n\t\t\t}\n\n\t\t\tlet toDeshadow = blank();\n\n\t\t\tstatement.references.forEach( reference => {\n\t\t\t\tconst { start, end } = reference;\n\n\t\t\t\tif ( reference.isUndefined ) {\n\t\t\t\t\tmagicString.overwrite( start, end, 'undefined', true );\n\t\t\t\t}\n\n\t\t\t\tconst declaration = reference.declaration;\n\n\t\t\t\tif ( declaration ) {\n\t\t\t\t\tconst name = declaration.render( es6 );\n\n\t\t\t\t\t// the second part of this check is necessary because of\n\t\t\t\t\t// namespace optimisation – name of `foo.bar` could be `bar`\n\t\t\t\t\tif ( reference.name === name && name.length === end - start ) return;\n\n\t\t\t\t\treference.rewritten = true;\n\n\t\t\t\t\t// prevent local variables from shadowing renamed references\n\t\t\t\t\tconst identifier = name.match( /[^\\.]+/ )[0];\n\t\t\t\t\tif ( reference.scope.contains( identifier ) ) {\n\t\t\t\t\t\ttoDeshadow[ identifier ] = `${identifier}$$`; // TODO more robust mechanism\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( reference.isShorthandProperty ) {\n\t\t\t\t\t\tmagicString.insert( end, `: ${name}` );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmagicString.overwrite( start, end, name, true );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif ( keys( toDeshadow ).length ) {\n\t\t\t\tstatement.references.forEach( reference => {\n\t\t\t\t\tif ( !reference.rewritten && reference.name in toDeshadow ) {\n\t\t\t\t\t\tmagicString.overwrite( reference.start, reference.end, toDeshadow[ reference.name ], true );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// modify exports as necessary\n\t\t\tif ( statement.isExportDeclaration ) {\n\t\t\t\t// remove `export` from `export var foo = 42`\n\t\t\t\tif ( statement.node.type === 'ExportNamedDeclaration' && statement.node.declaration.type === 'VariableDeclaration' ) {\n\t\t\t\t\tconst name = statement.node.declaration.declarations[0].id.name;\n\t\t\t\t\tconst declaration = this.declarations[ name ];\n\n\t\t\t\t\tconst end = declaration.isExported && declaration.isReassigned ?\n\t\t\t\t\t\tstatement.node.declaration.declarations[0].start :\n\t\t\t\t\t\tstatement.node.declaration.start;\n\n\t\t\t\t\tmagicString.remove( statement.node.start, end );\n\t\t\t\t}\n\n\t\t\t\telse if ( statement.node.type === 'ExportAllDeclaration' ) {\n\t\t\t\t\t// TODO: remove once `export * from 'external'` is supported.\n\t\t\t\t\tmagicString.remove( statement.start, statement.next );\n\t\t\t\t}\n\n\t\t\t\t// remove `export` from `export class Foo {...}` or `export default Foo`\n\t\t\t\t// TODO default exports need different treatment\n\t\t\t\telse if ( statement.node.declaration.id ) {\n\t\t\t\t\tmagicString.remove( statement.node.start, statement.node.declaration.start );\n\t\t\t\t}\n\n\t\t\t\telse if ( statement.node.type === 'ExportDefaultDeclaration' ) {\n\t\t\t\t\tconst defaultDeclaration = this.declarations.default;\n\n\t\t\t\t\t// prevent `var foo = foo`\n\t\t\t\t\tif ( defaultDeclaration.original && !defaultDeclaration.original.isReassigned ) {\n\t\t\t\t\t\tmagicString.remove( statement.start, statement.next );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst defaultName = defaultDeclaration.render();\n\n\t\t\t\t\t// prevent `var undefined = sideEffectyDefault(foo)`\n\t\t\t\t\tif ( !defaultDeclaration.isExported && !defaultDeclaration.isUsed ) {\n\t\t\t\t\t\tmagicString.remove( statement.start, statement.node.declaration.start );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// anonymous functions should be converted into declarations\n\t\t\t\t\tif ( statement.node.declaration.type === 'FunctionExpression' ) {\n\t\t\t\t\t\tmagicString.overwrite( statement.node.start, statement.node.declaration.start + 8, `function ${defaultName}` );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmagicString.overwrite( statement.node.start, statement.node.declaration.start, `var ${defaultName} = ` );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\telse {\n\t\t\t\t\tthrow new Error( 'Unhandled export' );\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// add namespace block if necessary\n\t\tconst namespace = this.declarations['*'];\n\t\tif ( namespace && namespace.needsNamespaceBlock ) {\n\t\t\tmagicString.append( '\\n\\n' + namespace.renderBlock( magicString.getIndentString() ) );\n\t\t}\n\n\t\treturn magicString.trim();\n\t}\n\n\trun ( safe ) {\n\t\tlet marked = false;\n\n\t\tthis.statements.forEach( statement => {\n\t\t\tmarked = marked || statement.run( this.strongDependencies, safe );\n\t\t});\n\n\t\treturn marked;\n\t}\n\n\ttrace ( name ) {\n\t\tif ( name in this.declarations ) return this.declarations[ name ];\n\t\tif ( name in this.imports ) {\n\t\t\tconst importDeclaration = this.imports[ name ];\n\t\t\tconst otherModule = importDeclaration.module;\n\n\t\t\tif ( importDeclaration.name === '*' && !otherModule.isExternal ) {\n\t\t\t\treturn otherModule.namespace();\n\t\t\t}\n\n\t\t\tconst declaration = otherModule.traceExport( importDeclaration.name );\n\n\t\t\tif ( !declaration ) throw new Error( `Module ${otherModule.id} does not export ${importDeclaration.name} (imported by ${this.id})` );\n\t\t\treturn declaration;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\ttraceExport ( name ) {\n\t\t// export { foo } from './other.js'\n\t\tconst reexportDeclaration = this.reexports[ name ];\n\t\tif ( reexportDeclaration ) {\n\t\t\tconst declaration = reexportDeclaration.module.traceExport( reexportDeclaration.localName );\n\n\t\t\tif ( !declaration ) {\n\t\t\t\tconst err = new Error( `'${reexportDeclaration.localName}' is not exported by '${reexportDeclaration.module.id}' (imported by '${this.id}')` );\n\t\t\t\terr.file = this.id;\n\t\t\t\terr.loc = getLocation( this.code, reexportDeclaration.start );\n\t\t\t\tthrow err;\n\t\t\t}\n\n\t\t\treturn declaration;\n\t\t}\n\n\t\tconst exportDeclaration = this.exports[ name ];\n\t\tif ( exportDeclaration ) {\n\t\t\treturn this.trace( exportDeclaration.localName );\n\t\t}\n\n\t\tfor ( let i = 0; i < this.exportAllModules.length; i += 1 ) {\n\t\t\tconst module = this.exportAllModules[i];\n\t\t\tconst declaration = module.traceExport( name );\n\n\t\t\tif ( declaration ) return declaration;\n\t\t}\n\t}\n}\n","import { blank } from './utils/object.js';\nimport makeLegalIdentifier from './utils/makeLegalIdentifier.js';\nimport { ExternalDeclaration } from './Declaration.js';\n\nexport default class ExternalModule {\n\tconstructor ( id ) {\n\t\tthis.id = id;\n\t\tthis.name = makeLegalIdentifier( id );\n\n\t\tthis.nameSuggestions = blank();\n\t\tthis.mostCommonSuggestion = 0;\n\n\t\tthis.isExternal = true;\n\t\tthis.declarations = blank();\n\n\t\tthis.exportsNames = false;\n\t}\n\n\tsuggestName ( name ) {\n\t\tif ( !this.nameSuggestions[ name ] ) this.nameSuggestions[ name ] = 0;\n\t\tthis.nameSuggestions[ name ] += 1;\n\n\t\tif ( this.nameSuggestions[ name ] > this.mostCommonSuggestion ) {\n\t\t\tthis.mostCommonSuggestion = this.nameSuggestions[ name ];\n\t\t\tthis.name = name;\n\t\t}\n\t}\n\n\ttraceExport ( name ) {\n\t\tif ( name !== 'default' && name !== '*' ) {\n\t\t\tthis.exportsNames = true;\n\t\t}\n\n\t\treturn this.declarations[ name ] || (\n\t\t\tthis.declarations[ name ] = new ExternalDeclaration( this, name )\n\t\t);\n\t}\n}\n","export function getName ( x ) {\n\treturn x.name;\n}\n\nexport function quoteId ( x ) {\n\treturn `'${x.id}'`;\n}\n\nexport function req ( x ) {\n\treturn `require('${x.id}')`;\n}\n","export default function getInteropBlock ( bundle ) {\n\treturn bundle.externalModules\n\t\t.map( module => {\n\t\t\treturn module.declarations.default ?\n\t\t\t\t( module.exportsNames ?\n\t\t\t\t\t`var ${module.name}__default = 'default' in ${module.name} ? ${module.name}['default'] : ${module.name};` :\n\t\t\t\t\t`${module.name} = 'default' in ${module.name} ? ${module.name}['default'] : ${module.name};` ) :\n\t\t\t\tnull;\n\t\t})\n\t\t.filter( Boolean )\n\t\t.join( '\\n' );\n}\n","export default function getExportBlock ( entryModule, exportMode, mechanism = 'return' ) {\n\tif ( exportMode === 'default' ) {\n\t\treturn `${mechanism} ${entryModule.declarations.default.render( false )};`;\n\t}\n\n\treturn entryModule.getExports()\n\t\t.map( name => {\n\t\t\tconst prop = name === 'default' ? `['default']` : `.${name}`;\n\t\t\tconst declaration = entryModule.traceExport( name );\n\n\t\t\tconst lhs = `exports${prop}`;\n\t\t\tconst rhs = declaration.render( false );\n\n\t\t\t// prevent `exports.count = exports.count`\n\t\t\tif ( lhs === rhs ) return null;\n\n\t\t\treturn `${lhs} = ${rhs};`;\n\t\t})\n\t\t.filter( Boolean )\n\t\t.join( '\\n' );\n}\n","import { blank } from '../utils/object.js';\nimport { getName, quoteId, req } from '../utils/map-helpers.js';\nimport getInteropBlock from './shared/getInteropBlock.js';\nimport getExportBlock from './shared/getExportBlock.js';\n\nexport default function umd ( bundle, magicString, { exportMode, indentString }, options ) {\n\tif ( exportMode !== 'none' && !options.moduleName ) {\n\t\tthrow new Error( 'You must supply options.moduleName for UMD bundles' );\n\t}\n\n\tconst globalNames = options.globals || blank();\n\n\tlet amdDeps = bundle.externalModules.map( quoteId );\n\tlet cjsDeps = bundle.externalModules.map( req );\n\tlet globalDeps = bundle.externalModules.map( module => {\n\t\treturn 'global.' + (globalNames[ module.id ] || module.name);\n\t});\n\n\tlet args = bundle.externalModules.map( getName );\n\n\tif ( exportMode === 'named' ) {\n\t\tamdDeps.unshift( `'exports'` );\n\t\tcjsDeps.unshift( `exports` );\n\t\tglobalDeps.unshift( `(global.${options.moduleName} = {})` );\n\n\t\targs.unshift( 'exports' );\n\t}\n\n\tconst amdParams =\n\t\t( options.moduleId ? `'${options.moduleId}', ` : `` ) +\n\t\t( amdDeps.length ? `[${amdDeps.join( ', ' )}], ` : `` );\n\n\tconst cjsExport = exportMode === 'default' ? `module.exports = ` : ``;\n\tconst defaultExport = exportMode === 'default' ? `global.${options.moduleName} = ` : '';\n\n\tconst useStrict = options.useStrict !== false ? ` 'use strict';` : ``;\n\n\tconst intro =\n\t\t`(function (global, factory) {\n\t\t\ttypeof exports === 'object' && typeof module !== 'undefined' ? ${cjsExport}factory(${cjsDeps.join( ', ' )}) :\n\t\t\ttypeof define === 'function' && define.amd ? define(${amdParams}factory) :\n\t\t\t${defaultExport}factory(${globalDeps});\n\t\t}(this, function (${args}) {${useStrict}\n\n\t\t`.replace( /^\\t\\t/gm, '' ).replace( /^\\t/gm, magicString.getIndentString() );\n\n\t// var foo__default = 'default' in foo ? foo['default'] : foo;\n\tconst interopBlock = getInteropBlock( bundle );\n\tif ( interopBlock ) magicString.prepend( interopBlock + '\\n\\n' );\n\n\tconst exportBlock = getExportBlock( bundle.entryModule, exportMode );\n\tif ( exportBlock ) magicString.append( '\\n\\n' + exportBlock );\n\n\treturn magicString\n\t\t.trim()\n\t\t.indent( indentString )\n\t\t.append( '\\n\\n}));' )\n\t\t.prepend( intro );\n}\n","import { blank } from '../utils/object.js';\nimport { getName } from '../utils/map-helpers.js';\nimport getInteropBlock from './shared/getInteropBlock.js';\nimport getExportBlock from './shared/getExportBlock.js';\n\nexport default function iife ( bundle, magicString, { exportMode, indentString }, options ) {\n\tconst globalNames = options.globals || blank();\n\n\tlet dependencies = bundle.externalModules.map( module => {\n\t\treturn globalNames[ module.id ] || module.name;\n\t});\n\n\tlet args = bundle.externalModules.map( getName );\n\n\tif ( exportMode !== 'none' && !options.moduleName ) {\n\t\tthrow new Error( 'You must supply options.moduleName for IIFE bundles' );\n\t}\n\n\tif ( exportMode === 'named' ) {\n\t\tdependencies.unshift( `(this.${options.moduleName} = {})` );\n\t\targs.unshift( 'exports' );\n\t}\n\n\tconst useStrict = options.useStrict !== false ? ` 'use strict';` : ``;\n\tlet intro = `(function (${args}) {${useStrict}\\n\\n`;\n\tlet outro = `\\n\\n})(${dependencies});`;\n\n\tif ( exportMode === 'default' ) {\n\t\tintro = `var ${options.moduleName} = ${intro}`;\n\t}\n\n\t// var foo__default = 'default' in foo ? foo['default'] : foo;\n\tconst interopBlock = getInteropBlock( bundle );\n\tif ( interopBlock ) magicString.prepend( interopBlock + '\\n\\n' );\n\n\tconst exportBlock = getExportBlock( bundle.entryModule, exportMode );\n\tif ( exportBlock ) magicString.append( '\\n\\n' + exportBlock );\n\n\treturn magicString\n\t\t.indent( indentString )\n\t\t.prepend( intro )\n\t\t.append( outro );\n}\n","import { keys } from '../utils/object.js';\n\nfunction notDefault ( name ) {\n\treturn name !== 'default';\n}\n\nexport default function es6 ( bundle, magicString ) {\n\tconst importBlock = bundle.externalModules\n\t\t.map( module => {\n\t\t\tconst specifiers = [];\n\t\t\tconst importedNames = keys( module.declarations )\n\t\t\t\t.filter( name => name !== '*' && name !== 'default' );\n\n\t\t\tif ( module.declarations.default ) {\n\t\t\t\tspecifiers.push( module.name );\n\t\t\t}\n\n\t\t\tif ( module.declarations['*'] ) {\n\t\t\t\tspecifiers.push( `* as ${module.name}` );\n\t\t\t}\n\n\t\t\tif ( importedNames.length ) {\n\t\t\t\tspecifiers.push( `{ ${importedNames.join( ', ' )} }` );\n\t\t\t}\n\n\t\t\treturn specifiers.length ?\n\t\t\t\t`import ${specifiers.join( ', ' )} from '${module.id}';` :\n\t\t\t\t`import '${module.id}';`;\n\t\t})\n\t\t.join( '\\n' );\n\n\tif ( importBlock ) {\n\t\tmagicString.prepend( importBlock + '\\n\\n' );\n\t}\n\n\tconst module = bundle.entryModule;\n\n\tconst specifiers = module.getExports().filter( notDefault ).map( name => {\n\t\tconst declaration = module.traceExport( name );\n\n\t\treturn declaration.name === name ?\n\t\t\tname :\n\t\t\t`${declaration.name} as ${name}`;\n\t});\n\n\tlet exportBlock = specifiers.length ? `export { ${specifiers.join(', ')} };` : '';\n\n\tconst defaultExport = module.exports.default || module.reexports.default;\n\tif ( defaultExport ) {\n\t\texportBlock += `export default ${module.traceExport( 'default' ).name};`;\n\t}\n\n\tif ( exportBlock ) {\n\t\tmagicString.append( '\\n\\n' + exportBlock.trim() );\n\t}\n\n\treturn magicString.trim();\n}\n","import getExportBlock from './shared/getExportBlock.js';\n\nexport default function cjs ( bundle, magicString, { exportMode }, options ) {\n\tlet intro = options.useStrict === false ? `` : `'use strict';\\n\\n`;\n\n\t// TODO handle empty imports, once they're supported\n\tconst importBlock = bundle.externalModules\n\t\t.map( module => {\n\t\t\tlet requireStatement = `var ${module.name} = require('${module.id}');`;\n\n\t\t\tif ( module.declarations.default ) {\n\t\t\t\trequireStatement += '\\n' + ( module.exportsNames ? `var ${module.name}__default = ` : `${module.name} = ` ) +\n\t\t\t\t\t`'default' in ${module.name} ? ${module.name}['default'] : ${module.name};`;\n\t\t\t}\n\n\t\t\treturn requireStatement;\n\t\t})\n\t\t.join( '\\n' );\n\n\tif ( importBlock ) {\n\t\tintro += importBlock + '\\n\\n';\n\t}\n\n\tmagicString.prepend( intro );\n\n\tconst exportBlock = getExportBlock( bundle.entryModule, exportMode, 'module.exports =' );\n\tif ( exportBlock ) magicString.append( '\\n\\n' + exportBlock );\n\n\treturn magicString;\n}\n","import { getName, quoteId } from '../utils/map-helpers.js';\nimport getInteropBlock from './shared/getInteropBlock.js';\nimport getExportBlock from './shared/getExportBlock.js';\n\nexport default function amd ( bundle, magicString, { exportMode, indentString }, options ) {\n\tlet deps = bundle.externalModules.map( quoteId );\n\tlet args = bundle.externalModules.map( getName );\n\n\tif ( exportMode === 'named' ) {\n\t\targs.unshift( `exports` );\n\t\tdeps.unshift( `'exports'` );\n\t}\n\n\tconst params =\n\t\t( options.moduleId ? `'${options.moduleId}', ` : `` ) +\n\t\t( deps.length ? `[${deps.join( ', ' )}], ` : `` );\n\n\tconst useStrict = options.useStrict !== false ? ` 'use strict';` : ``;\n\tconst intro = `define(${params}function (${args.join( ', ' )}) {${useStrict}\\n\\n`;\n\n\t// var foo__default = 'default' in foo ? foo['default'] : foo;\n\tconst interopBlock = getInteropBlock( bundle );\n\tif ( interopBlock ) magicString.prepend( interopBlock + '\\n\\n' );\n\n\tconst exportBlock = getExportBlock( bundle.entryModule, exportMode );\n\tif ( exportBlock ) magicString.append( '\\n\\n' + exportBlock );\n\n\treturn magicString\n\t\t.indent( indentString )\n\t\t.append( '\\n\\n});' )\n\t\t.prepend( intro );\n}\n","import amd from './amd.js';\nimport cjs from './cjs.js';\nimport es6 from './es6.js';\nimport iife from './iife.js';\nimport umd from './umd.js';\n\nexport default { amd, cjs, es6, iife, umd };\n","export default function ensureArray ( thing ) {\n\tif ( Array.isArray( thing ) ) return thing;\n\tif ( thing == undefined ) return [];\n\treturn [ thing ];\n}\n","import { isFile, readFileSync } from './fs.js';\nimport { dirname, isAbsolute, resolve } from './path.js';\n\nexport function load ( id ) {\n\treturn readFileSync( id, 'utf-8' );\n}\n\nfunction addJsExtensionIfNecessary ( file ) {\n\tif ( isFile( file ) ) return file;\n\n\tfile += '.js';\n\tif ( isFile( file ) ) return file;\n\n\treturn null;\n}\n\nexport function resolveId ( importee, importer ) {\n\t// absolute paths are left untouched\n\tif ( isAbsolute( importee ) ) return addJsExtensionIfNecessary( importee );\n\n\t// if this is the entry point, resolve against cwd\n\tif ( importer === undefined ) return addJsExtensionIfNecessary( resolve( process.cwd(), importee ) );\n\n\t// external modules are skipped at this stage\n\tif ( importee[0] !== '.' ) return null;\n\n\treturn addJsExtensionIfNecessary( resolve( dirname( importer ), importee ) );\n}\n\nexport function onwarn ( msg ) {\n\tconsole.error( msg ); //eslint-disable-line no-console\n}\n","import { keys } from './object.js';\n\nfunction badExports ( option, keys ) {\n\tthrow new Error( `'${option}' was specified for options.exports, but entry module has following exports: ${keys.join(', ')}` );\n}\n\nexport default function getExportMode ( bundle, exportMode ) {\n\tconst exportKeys = keys( bundle.entryModule.exports )\n\t\t.concat( keys( bundle.entryModule.reexports ) )\n\t\t.concat( bundle.entryModule.exportAllSources ); // not keys, but makes our job easier this way\n\n\tif ( exportMode === 'default' ) {\n\t\tif ( exportKeys.length !== 1 || exportKeys[0] !== 'default' ) {\n\t\t\tbadExports( 'default', exportKeys );\n\t\t}\n\t} else if ( exportMode === 'none' && exportKeys.length ) {\n\t\tbadExports( 'none', exportKeys );\n\t}\n\n\tif ( !exportMode || exportMode === 'auto' ) {\n\t\tif ( exportKeys.length === 0 ) {\n\t\t\texportMode = 'none';\n\t\t} else if ( exportKeys.length === 1 && exportKeys[0] === 'default' ) {\n\t\t\texportMode = 'default';\n\t\t} else {\n\t\t\texportMode = 'named';\n\t\t}\n\t}\n\n\tif ( !/(?:default|named|none)/.test( exportMode ) ) {\n\t\tthrow new Error( `options.exports must be 'default', 'named', 'none', 'auto', or left unspecified (defaults to 'auto')` );\n\t}\n\n\treturn exportMode;\n}\n","export default function getIndentString ( magicString, options ) {\n\tif ( !( 'indent' in options ) || options.indent === true ) {\n\t\treturn magicString.getIndentString();\n\t}\n\n\treturn options.indent || '';\n}\n","export function unixizePath ( path ) {\n\treturn path.split( /[\\/\\\\]/ ).join( '/' );\n}\n","import Promise from 'es6-promise/lib/es6-promise/promise.js';\n\nexport default function transform ( source, id, transformers ) {\n\tlet sourceMapChain = [];\n\n\tif ( typeof source === 'string' ) {\n\t\tsource = {\n\t\t\tcode: source,\n\t\t\tast: null\n\t\t};\n\t}\n\n\tlet originalCode = source.code;\n\tlet ast = source.ast;\n\n\treturn transformers.reduce( ( promise, transformer ) => {\n\t\treturn promise.then( previous => {\n\t\t\treturn Promise.resolve( transformer( previous, id ) ).then( result => {\n\t\t\t\tif ( result == null ) return previous;\n\n\t\t\t\tif ( typeof result === 'string' ) {\n\t\t\t\t\tresult = {\n\t\t\t\t\t\tcode: result,\n\t\t\t\t\t\tast: null,\n\t\t\t\t\t\tmap: null\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tsourceMapChain.push( result.map );\n\t\t\t\tast = result.ast;\n\n\t\t\t\treturn result.code;\n\t\t\t});\n\t\t});\n\n\t}, Promise.resolve( source.code ) )\n\n\t.then( code => ({ code, originalCode, ast, sourceMapChain }) );\n}\n","var charToInteger = {};\nvar integerToChar = {};\n\n'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split('').forEach(function (char, i) {\n\tcharToInteger[char] = i;\n\tintegerToChar[i] = char;\n});\n\nfunction decode$1(string) {\n\tvar result = [],\n\t len = string.length,\n\t i,\n\t hasContinuationBit,\n\t shift = 0,\n\t value = 0,\n\t integer,\n\t shouldNegate;\n\n\tfor (i = 0; i < len; i += 1) {\n\t\tinteger = charToInteger[string[i]];\n\n\t\tif (integer === undefined) {\n\t\t\tthrow new Error('Invalid character (' + string[i] + ')');\n\t\t}\n\n\t\thasContinuationBit = integer & 32;\n\n\t\tinteger &= 31;\n\t\tvalue += integer << shift;\n\n\t\tif (hasContinuationBit) {\n\t\t\tshift += 5;\n\t\t} else {\n\t\t\tshouldNegate = value & 1;\n\t\t\tvalue >>= 1;\n\n\t\t\tresult.push(shouldNegate ? -value : value);\n\n\t\t\t// reset\n\t\t\tvalue = shift = 0;\n\t\t}\n\t}\n\n\treturn result;\n}\n\nfunction encode$1(value) {\n\tvar result, i;\n\n\tif (typeof value === 'number') {\n\t\tresult = encodeInteger(value);\n\t} else {\n\t\tresult = '';\n\t\tfor (i = 0; i < value.length; i += 1) {\n\t\t\tresult += encodeInteger(value[i]);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nfunction encodeInteger(num) {\n\tvar result = '',\n\t clamped;\n\n\tif (num < 0) {\n\t\tnum = -num << 1 | 1;\n\t} else {\n\t\tnum <<= 1;\n\t}\n\n\tdo {\n\t\tclamped = num & 31;\n\t\tnum >>= 5;\n\n\t\tif (num > 0) {\n\t\t\tclamped |= 32;\n\t\t}\n\n\t\tresult += integerToChar[clamped];\n\t} while (num > 0);\n\n\treturn result;\n}\n\nfunction decodeSegments(encodedSegments) {\n\tvar i = encodedSegments.length;\n\tvar segments = new Array(i);\n\n\twhile (i--) segments[i] = decode$1(encodedSegments[i]);\n\treturn segments;\n}\n\nfunction decode(mappings) {\n\tvar sourceFileIndex = 0; // second field\n\tvar sourceCodeLine = 0; // third field\n\tvar sourceCodeColumn = 0; // fourth field\n\tvar nameIndex = 0; // fifth field\n\n\tvar lines = mappings.split(';');\n\tvar numLines = lines.length;\n\tvar decoded = new Array(numLines);\n\n\tvar i = undefined;\n\tvar j = undefined;\n\tvar line = undefined;\n\tvar generatedCodeColumn = undefined;\n\tvar decodedLine = undefined;\n\tvar segments = undefined;\n\tvar segment = undefined;\n\tvar result = undefined;\n\n\tfor (i = 0; i < numLines; i += 1) {\n\t\tline = lines[i];\n\n\t\tgeneratedCodeColumn = 0; // first field - reset each time\n\t\tdecodedLine = [];\n\n\t\tsegments = decodeSegments(line.split(','));\n\n\t\tfor (j = 0; j < segments.length; j += 1) {\n\t\t\tsegment = segments[j];\n\n\t\t\tif (!segment.length) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tgeneratedCodeColumn += segment[0];\n\n\t\t\tresult = [generatedCodeColumn];\n\t\t\tdecodedLine.push(result);\n\n\t\t\tif (segment.length === 1) {\n\t\t\t\t// only one field!\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsourceFileIndex += segment[1];\n\t\t\tsourceCodeLine += segment[2];\n\t\t\tsourceCodeColumn += segment[3];\n\n\t\t\tresult.push(sourceFileIndex, sourceCodeLine, sourceCodeColumn);\n\n\t\t\tif (segment.length === 5) {\n\t\t\t\tnameIndex += segment[4];\n\t\t\t\tresult.push(nameIndex);\n\t\t\t}\n\t\t}\n\n\t\tdecoded[i] = decodedLine;\n\t}\n\n\treturn decoded;\n}\n\nfunction encode(decoded) {\n\tvar offsets = {\n\t\tgeneratedCodeColumn: 0,\n\t\tsourceFileIndex: 0, // second field\n\t\tsourceCodeLine: 0, // third field\n\t\tsourceCodeColumn: 0, // fourth field\n\t\tnameIndex: 0 // fifth field\n\t};\n\n\treturn decoded.map(function (line) {\n\t\toffsets.generatedCodeColumn = 0; // first field - reset each time\n\t\treturn line.map(encodeSegment).join(',');\n\t}).join(';');\n\n\tfunction encodeSegment(segment) {\n\t\tif (!segment.length) {\n\t\t\treturn segment;\n\t\t}\n\n\t\tvar result = new Array(segment.length);\n\n\t\tresult[0] = segment[0] - offsets.generatedCodeColumn;\n\t\toffsets.generatedCodeColumn = segment[0];\n\n\t\tif (segment.length === 1) {\n\t\t\t// only one field!\n\t\t\treturn encode$1(result);\n\t\t}\n\n\t\tresult[1] = segment[1] - offsets.sourceFileIndex;\n\t\tresult[2] = segment[2] - offsets.sourceCodeLine;\n\t\tresult[3] = segment[3] - offsets.sourceCodeColumn;\n\n\t\toffsets.sourceFileIndex = segment[1];\n\t\toffsets.sourceCodeLine = segment[2];\n\t\toffsets.sourceCodeColumn = segment[3];\n\n\t\tif (segment.length === 5) {\n\t\t\tresult[4] = segment[4] - offsets.nameIndex;\n\t\t\toffsets.nameIndex = segment[4];\n\t\t}\n\n\t\treturn encode$1(result);\n\t}\n}\n\nexport { decode, encode };\n//# sourceMappingURL=sourcemap-codec.es6.js.map\n","import { encode, decode } from 'sourcemap-codec';\n\nfunction traceSegment ( loc, mappings ) {\n\tconst line = loc[0];\n\tconst column = loc[1];\n\n\tconst segments = mappings[ line ];\n\n\tif ( !segments ) return null;\n\n\tfor ( let i = 0; i < segments.length; i += 1 ) {\n\t\tconst segment = segments[i];\n\n\t\tif ( segment[0] > column ) return null;\n\n\t\tif ( segment[0] === column ) {\n\t\t\tif ( segment[1] !== 0 ) {\n\t\t\t\tthrow new Error( 'Bad sourcemap' );\n\t\t\t}\n\n\t\t\treturn [ segment[2], segment[3] ];\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport default function collapseSourcemaps ( map, modules ) {\n\tconst chains = modules.map( module => {\n\t\treturn module.sourceMapChain.map( map => {\n\t\t\tif ( !map ) throw new Error( 'Cannot generate a sourcemap if non-sourcemap-generating transformers are used' );\n\t\t\treturn decode( map.mappings );\n\t\t});\n\t});\n\n\tconst decodedMappings = decode( map.mappings );\n\n\tconst tracedMappings = decodedMappings.map( line => {\n\t\tlet tracedLine = [];\n\n\t\tline.forEach( segment => {\n\t\t\tconst sourceIndex = segment[1];\n\t\t\tconst sourceCodeLine = segment[2];\n\t\t\tconst sourceCodeColumn = segment[3];\n\n\t\t\tconst chain = chains[ sourceIndex ];\n\n\t\t\tlet i = chain.length;\n\t\t\tlet traced = [ sourceCodeLine, sourceCodeColumn ];\n\n\t\t\twhile ( i-- && traced ) {\n\t\t\t\ttraced = traceSegment( traced, chain[i] );\n\t\t\t}\n\n\t\t\tif ( traced ) {\n\t\t\t\ttracedLine.push([\n\t\t\t\t\tsegment[0],\n\t\t\t\t\tsegment[1],\n\t\t\t\t\ttraced[0],\n\t\t\t\t\ttraced[1]\n\t\t\t\t\t// TODO name?\n\t\t\t\t]);\n\t\t\t}\n\t\t});\n\n\t\treturn tracedLine;\n\t});\n\n\tmap.sourcesContent = modules.map( module => module.originalCode );\n\tmap.mappings = encode( tracedMappings );\n\treturn map;\n}\n","export default function callIfFunction ( thing ) {\n\treturn typeof thing === 'function' ? thing() : thing;\n}\n","import Promise from 'es6-promise/lib/es6-promise/promise.js';\nimport MagicString from 'magic-string';\nimport first from './utils/first.js';\nimport { blank, keys } from './utils/object.js';\nimport Module from './Module.js';\nimport ExternalModule from './ExternalModule.js';\nimport finalisers from './finalisers/index.js';\nimport ensureArray from './utils/ensureArray.js';\nimport { load, onwarn, resolveId } from './utils/defaults.js';\nimport getExportMode from './utils/getExportMode.js';\nimport getIndentString from './utils/getIndentString.js';\nimport { unixizePath } from './utils/normalizePlatform.js';\nimport transform from './utils/transform.js';\nimport collapseSourcemaps from './utils/collapseSourcemaps.js';\nimport callIfFunction from './utils/callIfFunction.js';\n\nexport default class Bundle {\n\tconstructor ( options ) {\n\t\tthis.entry = options.entry;\n\t\tthis.entryModule = null;\n\n\t\tthis.plugins = ensureArray( options.plugins );\n\n\t\tthis.resolveId = first(\n\t\t\tthis.plugins\n\t\t\t\t.map( plugin => plugin.resolveId )\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.concat( resolveId )\n\t\t);\n\n\t\tthis.load = first(\n\t\t\tthis.plugins\n\t\t\t\t.map( plugin => plugin.load )\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.concat( load )\n\t\t);\n\n\t\tthis.transformers = this.plugins\n\t\t\t.map( plugin => plugin.transform )\n\t\t\t.filter( Boolean );\n\n\t\tthis.moduleById = blank();\n\t\tthis.modules = [];\n\n\t\tthis.externalModules = [];\n\t\tthis.internalNamespaces = [];\n\n\t\tthis.assumedGlobals = blank();\n\n\t\tthis.external = options.external || [];\n\t\tthis.onwarn = options.onwarn || onwarn;\n\n\t\t// TODO strictly speaking, this only applies with non-ES6, non-default-only bundles\n\t\t[ 'module', 'exports' ].forEach( global => this.assumedGlobals[ global ] = true );\n\t}\n\n\tbuild () {\n\t\t// Phase 1 – discovery. We load the entry module and find which\n\t\t// modules it imports, and import those, until we have all\n\t\t// of the entry module's dependencies\n\t\treturn Promise.resolve( this.resolveId( this.entry, undefined ) )\n\t\t\t.then( id => this.fetchModule( id, undefined ) )\n\t\t\t.then( entryModule => {\n\t\t\t\tthis.entryModule = entryModule;\n\n\t\t\t\t// Phase 2 – binding. We link references to their declarations\n\t\t\t\t// to generate a complete picture of the bundle\n\t\t\t\tthis.modules.forEach( module => module.bindImportSpecifiers() );\n\t\t\t\tthis.modules.forEach( module => module.bindAliases() );\n\t\t\t\tthis.modules.forEach( module => module.bindReferences() );\n\n\t\t\t\t// Phase 3 – marking. We 'run' each statement to see which ones\n\t\t\t\t// need to be included in the generated bundle\n\n\t\t\t\t// mark all export statements\n\t\t\t\tentryModule.getExports().forEach( name => {\n\t\t\t\t\tconst declaration = entryModule.traceExport( name );\n\t\t\t\t\tdeclaration.isExported = true;\n\n\t\t\t\t\tdeclaration.use();\n\t\t\t\t});\n\n\t\t\t\t// mark statements that should appear in the bundle\n\t\t\t\tlet settled = false;\n\t\t\t\twhile ( !settled ) {\n\t\t\t\t\tsettled = true;\n\n\t\t\t\t\tthis.modules.forEach( module => {\n\t\t\t\t\t\tif ( module.run() ) settled = false;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Phase 4 – final preparation. We order the modules with an\n\t\t\t\t// enhanced topological sort that accounts for cycles, then\n\t\t\t\t// ensure that names are deconflicted throughout the bundle\n\t\t\t\tthis.orderedModules = this.sort();\n\t\t\t\tthis.deconflict();\n\t\t\t});\n\t}\n\n\tdeconflict () {\n\t\tlet used = blank();\n\n\t\t// ensure no conflicts with globals\n\t\tkeys( this.assumedGlobals ).forEach( name => used[ name ] = 1 );\n\n\t\tfunction getSafeName ( name ) {\n\t\t\twhile ( used[ name ] ) {\n\t\t\t\tname += `$${used[name]++}`;\n\t\t\t}\n\n\t\t\tused[ name ] = 1;\n\t\t\treturn name;\n\t\t}\n\n\t\tthis.externalModules.forEach( module => {\n\t\t\tmodule.name = getSafeName( module.name );\n\t\t});\n\n\t\tthis.modules.forEach( module => {\n\t\t\tkeys( module.declarations ).forEach( originalName => {\n\t\t\t\tconst declaration = module.declarations[ originalName ];\n\n\t\t\t\tif ( originalName === 'default' ) {\n\t\t\t\t\tif ( declaration.original && !declaration.original.isReassigned ) return;\n\t\t\t\t}\n\n\t\t\t\tdeclaration.name = getSafeName( declaration.name );\n\t\t\t});\n\t\t});\n\t}\n\n\tfetchModule ( id, importer ) {\n\t\t// short-circuit cycles\n\t\tif ( id in this.moduleById ) return null;\n\t\tthis.moduleById[ id ] = null;\n\n\t\treturn Promise.resolve( this.load( id ) )\n\t\t\t.catch( err => {\n\t\t\t\tlet msg = `Could not load ${id}`;\n\t\t\t\tif ( importer ) msg += ` (imported by ${importer})`;\n\n\t\t\t\tmsg += `: ${err.message}`;\n\t\t\t\tthrow new Error( msg );\n\t\t\t})\n\t\t\t.then( source => transform( source, id, this.transformers ) )\n\t\t\t.then( source => {\n\t\t\t\tconst { code, originalCode, ast, sourceMapChain } = source;\n\n\t\t\t\tconst module = new Module({ id, code, originalCode, ast, sourceMapChain, bundle: this });\n\n\t\t\t\tthis.modules.push( module );\n\t\t\t\tthis.moduleById[ id ] = module;\n\n\t\t\t\treturn this.fetchAllDependencies( module ).then( () => module );\n\t\t\t});\n\t}\n\n\tfetchAllDependencies ( module ) {\n\t\tconst promises = module.dependencies.map( source => {\n\t\t\treturn Promise.resolve( this.resolveId( source, module.id ) )\n\t\t\t\t.then( resolvedId => {\n\t\t\t\t\tif ( !resolvedId ) {\n\t\t\t\t\t\tif ( !~this.external.indexOf( source ) ) this.onwarn( `Treating '${source}' as external dependency` );\n\t\t\t\t\t\tmodule.resolvedIds[ source ] = source;\n\n\t\t\t\t\t\tif ( !this.moduleById[ source ] ) {\n\t\t\t\t\t\t\tconst module = new ExternalModule( source );\n\t\t\t\t\t\t\tthis.externalModules.push( module );\n\t\t\t\t\t\t\tthis.moduleById[ source ] = module;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telse {\n\t\t\t\t\t\tif ( resolvedId === module.id ) {\n\t\t\t\t\t\t\tthrow new Error( `A module cannot import itself (${resolvedId})` );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tmodule.resolvedIds[ source ] = resolvedId;\n\t\t\t\t\t\treturn this.fetchModule( resolvedId, module.id );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t});\n\n\t\treturn Promise.all( promises );\n\t}\n\n\trender ( options = {} ) {\n\t\tconst format = options.format || 'es6';\n\n\t\t// Determine export mode - 'default', 'named', 'none'\n\t\tconst exportMode = getExportMode( this, options.exports );\n\n\t\tlet magicString = new MagicString.Bundle({ separator: '\\n\\n' });\n\t\tlet usedModules = [];\n\n\t\tthis.orderedModules.forEach( module => {\n\t\t\tconst source = module.render( format === 'es6' );\n\t\t\tif ( source.toString().length ) {\n\t\t\t\tmagicString.addSource( source );\n\t\t\t\tusedModules.push( module );\n\t\t\t}\n\t\t});\n\n\t\tconst intro = [ options.intro ]\n\t\t\t.concat(\n\t\t\t\tthis.plugins.map( plugin => plugin.intro && plugin.intro() )\n\t\t\t)\n\t\t\t.filter( Boolean )\n\t\t\t.join( '\\n\\n' );\n\n\t\tif ( intro ) magicString.prepend( intro + '\\n' );\n\t\tif ( options.outro ) magicString.append( '\\n' + options.outro );\n\n\t\tconst indentString = getIndentString( magicString, options );\n\n\t\tconst finalise = finalisers[ format ];\n\t\tif ( !finalise ) throw new Error( `You must specify an output type - valid options are ${keys( finalisers ).join( ', ' )}` );\n\n\t\tmagicString = finalise( this, magicString.trim(), { exportMode, indentString }, options );\n\n\t\tconst banner = [ options.banner ]\n\t\t\t.concat( this.plugins.map( plugin => plugin.banner ) )\n\t\t\t.map( callIfFunction )\n\t\t\t.filter( Boolean )\n\t\t\t.join( '\\n' );\n\n\t\tconst footer = [ options.footer ]\n\t\t\t.concat( this.plugins.map( plugin => plugin.footer ) )\n\t\t\t.map( callIfFunction )\n\t\t\t.filter( Boolean )\n\t\t\t.join( '\\n' );\n\n\t\tif ( banner ) magicString.prepend( banner + '\\n' );\n\t\tif ( footer ) magicString.append( '\\n' + footer );\n\n\t\tconst code = magicString.toString();\n\t\tlet map = null;\n\n\t\tif ( options.sourceMap ) {\n\t\t\tconst file = options.sourceMapFile || options.dest;\n\t\t\tmap = magicString.generateMap({\n\t\t\t\tincludeContent: true,\n\t\t\t\tfile\n\t\t\t\t// TODO\n\t\t\t});\n\n\t\t\tif ( this.transformers.length ) map = collapseSourcemaps( map, usedModules );\n\t\t\tmap.sources = map.sources.map( unixizePath );\n\t\t}\n\n\t\treturn { code, map };\n\t}\n\n\tsort () {\n\t\tlet seen = {};\n\t\tlet ordered = [];\n\t\tlet hasCycles;\n\n\t\tlet strongDeps = {};\n\t\tlet stronglyDependsOn = {};\n\n\t\tfunction visit ( module ) {\n\t\t\tif ( seen[ module.id ] ) return;\n\t\t\tseen[ module.id ] = true;\n\n\t\t\tconst { strongDependencies, weakDependencies } = module.consolidateDependencies();\n\n\t\t\tstrongDeps[ module.id ] = [];\n\t\t\tstronglyDependsOn[ module.id ] = {};\n\n\t\t\tstrongDependencies.forEach( imported => {\n\t\t\t\tstrongDeps[ module.id ].push( imported );\n\n\t\t\t\tif ( seen[ imported.id ] ) {\n\t\t\t\t\t// we need to prevent an infinite loop, and note that\n\t\t\t\t\t// we need to check for strong/weak dependency relationships\n\t\t\t\t\thasCycles = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvisit( imported );\n\t\t\t});\n\n\t\t\tweakDependencies.forEach( imported => {\n\t\t\t\tif ( seen[ imported.id ] ) {\n\t\t\t\t\t// we need to prevent an infinite loop, and note that\n\t\t\t\t\t// we need to check for strong/weak dependency relationships\n\t\t\t\t\thasCycles = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvisit( imported );\n\t\t\t});\n\n\t\t\t// add second (and third...) order dependencies\n\t\t\tfunction addStrongDependencies ( dependency ) {\n\t\t\t\tif ( stronglyDependsOn[ module.id ][ dependency.id ] ) return;\n\n\t\t\t\tstronglyDependsOn[ module.id ][ dependency.id ] = true;\n\t\t\t\tstrongDeps[ dependency.id ].forEach( addStrongDependencies );\n\t\t\t}\n\n\t\t\tstrongDeps[ module.id ].forEach( addStrongDependencies );\n\n\t\t\tordered.push( module );\n\t\t}\n\n\t\tthis.modules.forEach( visit );\n\n\t\tif ( hasCycles ) {\n\t\t\tlet unordered = ordered;\n\t\t\tordered = [];\n\n\t\t\t// unordered is actually semi-ordered, as [ fewer dependencies ... more dependencies ]\n\t\t\tunordered.forEach( module => {\n\t\t\t\t// ensure strong dependencies of `module` that don't strongly depend on `module` go first\n\t\t\t\tstrongDeps[ module.id ].forEach( place );\n\n\t\t\t\tfunction place ( dep ) {\n\t\t\t\t\tif ( !stronglyDependsOn[ dep.id ][ module.id ] && !~ordered.indexOf( dep ) ) {\n\t\t\t\t\t\tstrongDeps[ dep.id ].forEach( place );\n\t\t\t\t\t\tordered.push( dep );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( !~ordered.indexOf( module ) ) {\n\t\t\t\t\tordered.push( module );\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn ordered;\n\t}\n}\n","import Promise from 'es6-promise/lib/es6-promise/promise.js';\nimport { basename } from './utils/path.js';\nimport { writeFile } from './utils/fs.js';\nimport { keys } from './utils/object.js';\nimport SOURCEMAPPING_URL from './utils/sourceMappingURL.js';\nimport Bundle from './Bundle.js';\n\nexport const VERSION = '<@VERSION@>';\n\nexport function rollup ( options ) {\n\tif ( !options || !options.entry ) {\n\t\treturn Promise.reject( new Error( 'You must supply options.entry to rollup' ) );\n\t}\n\n\tif ( options.transform || options.load || options.resolveId || options.resolveExternal ) {\n\t\treturn Promise.reject( new Error( 'The `transform`, `load`, `resolveId` and `resolveExternal` options are deprecated in favour of a unified plugin API. See https://github.com/rollup/rollup/wiki/Plugins for details' ) );\n\t}\n\n\tconst bundle = new Bundle( options );\n\n\treturn bundle.build().then( () => {\n\t\treturn {\n\t\t\timports: bundle.externalModules.map( module => module.id ),\n\t\t\texports: keys( bundle.entryModule.exports ),\n\t\t\tmodules: bundle.orderedModules.map( module => {\n\t\t\t\treturn { id: module.id };\n\t\t\t}),\n\n\t\t\tgenerate: options => bundle.render( options ),\n\t\t\twrite: options => {\n\t\t\t\tif ( !options || !options.dest ) {\n\t\t\t\t\tthrow new Error( 'You must supply options.dest to bundle.write' );\n\t\t\t\t}\n\n\t\t\t\tconst dest = options.dest;\n\t\t\t\tlet { code, map } = bundle.render( options );\n\n\t\t\t\tlet promises = [];\n\n\t\t\t\tif ( options.sourceMap ) {\n\t\t\t\t\tlet url;\n\n\t\t\t\t\tif ( options.sourceMap === 'inline' ) {\n\t\t\t\t\t\turl = map.toUrl();\n\t\t\t\t\t} else {\n\t\t\t\t\t\turl = `${basename( dest )}.map`;\n\t\t\t\t\t\tpromises.push( writeFile( dest + '.map', map.toString() ) );\n\t\t\t\t\t}\n\n\t\t\t\t\tcode += `\\n//# ${SOURCEMAPPING_URL}=${url}`;\n\t\t\t\t}\n\n\t\t\t\tpromises.push( writeFile( dest, code ) );\n\t\t\t\treturn Promise.all( promises );\n\t\t\t}\n\t\t};\n\t});\n}\n"],"names":["resolve","reject","_reject","Resolve","Reject","basename","blank","Bundle","reservedWords","types","keywords","isArray","pp","empty","toString","run","_run","getLocation","SOURCEMAPPING_URL","parse","_parse","charToInteger","integerToChar","encodeInteger","decode","encode"],"mappings":"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AE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,KAAK,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,CAAC;AACn4B,IAAI,qBAAqB,GAAG,CAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAA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"}
@@ -0,0 +1,133 @@
1
+ {
2
+ "_args": [
3
+ [
4
+ "rollup@^0.21.1",
5
+ "/Users/michaelarchibald/projects/railsprojects/es6_tilt/test/dummy"
6
+ ]
7
+ ],
8
+ "_from": "rollup@>=0.21.1 <0.22.0",
9
+ "_id": "rollup@0.21.1",
10
+ "_inCache": true,
11
+ "_location": "/rollup",
12
+ "_nodeVersion": "5.0.0",
13
+ "_npmUser": {
14
+ "email": "richard.a.harris@gmail.com",
15
+ "name": "rich_harris"
16
+ },
17
+ "_npmVersion": "3.3.6",
18
+ "_phantomChildren": {},
19
+ "_requested": {
20
+ "name": "rollup",
21
+ "raw": "rollup@^0.21.1",
22
+ "rawSpec": "^0.21.1",
23
+ "scope": null,
24
+ "spec": ">=0.21.1 <0.22.0",
25
+ "type": "range"
26
+ },
27
+ "_requiredBy": [
28
+ "/"
29
+ ],
30
+ "_resolved": "https://registry.npmjs.org/rollup/-/rollup-0.21.1.tgz",
31
+ "_shasum": "551eae5c163c55cb47862e96233642035f1a004b",
32
+ "_shrinkwrap": null,
33
+ "_spec": "rollup@^0.21.1",
34
+ "_where": "/Users/michaelarchibald/projects/railsprojects/es6_tilt/test/dummy",
35
+ "author": {
36
+ "name": "Rich Harris"
37
+ },
38
+ "bin": {
39
+ "rollup": "./bin/rollup"
40
+ },
41
+ "bugs": {
42
+ "url": "https://github.com/rollup/rollup/issues"
43
+ },
44
+ "contributors": [
45
+ {
46
+ "name": "Oskar Segersvärd",
47
+ "email": "victorystick@gmail.com"
48
+ }
49
+ ],
50
+ "dependencies": {
51
+ "chalk": "^1.1.1",
52
+ "minimist": "^1.2.0",
53
+ "source-map-support": "^0.3.2"
54
+ },
55
+ "description": "Next-generation ES6 module bundler",
56
+ "devDependencies": {
57
+ "acorn": "^2.6.4",
58
+ "babel-core": "^5.8.32",
59
+ "codecov.io": "^0.1.6",
60
+ "console-group": "^0.1.2",
61
+ "es6-promise": "^3.0.2",
62
+ "eslint": "^1.7.1",
63
+ "estree-walker": "^0.2.0",
64
+ "istanbul": "^0.4.0",
65
+ "magic-string": "^0.8.0",
66
+ "mocha": "^2.3.3",
67
+ "remap-istanbul": "^0.4.0",
68
+ "rollup": "^0.20.2",
69
+ "rollup-plugin-babel": "^1.0.0",
70
+ "rollup-plugin-npm": "^1.0.0",
71
+ "rollup-plugin-replace": "^1.0.1",
72
+ "sander": "^0.4.0",
73
+ "source-map": "^0.5.3",
74
+ "sourcemap-codec": "^1.2.1"
75
+ },
76
+ "directories": {},
77
+ "dist": {
78
+ "shasum": "551eae5c163c55cb47862e96233642035f1a004b",
79
+ "tarball": "http://registry.npmjs.org/rollup/-/rollup-0.21.1.tgz"
80
+ },
81
+ "files": [
82
+ "README.md",
83
+ "bin",
84
+ "dist",
85
+ "src"
86
+ ],
87
+ "gitHead": "34c22139b6bba247fafc44695d5745d36bd96398",
88
+ "homepage": "https://github.com/rollup/rollup",
89
+ "installable": true,
90
+ "jsnext:main": "src/rollup.js",
91
+ "keywords": [
92
+ "bundler",
93
+ "bundling",
94
+ "es6",
95
+ "modules",
96
+ "optimizer"
97
+ ],
98
+ "license": "MIT",
99
+ "main": "dist/rollup.js",
100
+ "maintainers": [
101
+ {
102
+ "name": "eventualbuddha",
103
+ "email": "me@brian-donovan.com"
104
+ },
105
+ {
106
+ "name": "rich_harris",
107
+ "email": "richard.a.harris@gmail.com"
108
+ },
109
+ {
110
+ "name": "victorystick",
111
+ "email": "victorystick@gmail.com"
112
+ }
113
+ ],
114
+ "name": "rollup",
115
+ "optionalDependencies": {},
116
+ "repository": {
117
+ "type": "git",
118
+ "url": "git+https://github.com/rollup/rollup.git"
119
+ },
120
+ "scripts": {
121
+ "build": "git rev-parse HEAD > .commithash && rollup -c -o dist/rollup.js",
122
+ "build:browser": "git rev-parse HEAD > .commithash && rollup -c rollup.config.browser.js -o dist/rollup.browser.js",
123
+ "ci": "npm run test-coverage && codecov < coverage/coverage-remapped.lcov",
124
+ "lint": "eslint src browser",
125
+ "posttest-coverage": "remap-istanbul -i coverage/coverage-final.json -o coverage/coverage-remapped.json -b dist && remap-istanbul -i coverage/coverage-final.json -o coverage/coverage-remapped.lcov -t lcovonly -b dist && remap-istanbul -i coverage/coverage-final.json -o coverage/coverage-remapped -t html -b dist",
126
+ "prepublish": "npm run lint && npm test && npm run build:browser",
127
+ "pretest": "npm run build",
128
+ "pretest-coverage": "npm run build",
129
+ "test": "mocha",
130
+ "test-coverage": "rm -rf coverage/* && istanbul cover --report json node_modules/.bin/_mocha -- -u exports -R spec test/test.js"
131
+ },
132
+ "version": "0.21.1"
133
+ }
@@ -0,0 +1,335 @@
1
+ import Promise from 'es6-promise/lib/es6-promise/promise.js';
2
+ import MagicString from 'magic-string';
3
+ import first from './utils/first.js';
4
+ import { blank, keys } from './utils/object.js';
5
+ import Module from './Module.js';
6
+ import ExternalModule from './ExternalModule.js';
7
+ import finalisers from './finalisers/index.js';
8
+ import ensureArray from './utils/ensureArray.js';
9
+ import { load, onwarn, resolveId } from './utils/defaults.js';
10
+ import getExportMode from './utils/getExportMode.js';
11
+ import getIndentString from './utils/getIndentString.js';
12
+ import { unixizePath } from './utils/normalizePlatform.js';
13
+ import transform from './utils/transform.js';
14
+ import collapseSourcemaps from './utils/collapseSourcemaps.js';
15
+ import callIfFunction from './utils/callIfFunction.js';
16
+
17
+ export default class Bundle {
18
+ constructor ( options ) {
19
+ this.entry = options.entry;
20
+ this.entryModule = null;
21
+
22
+ this.plugins = ensureArray( options.plugins );
23
+
24
+ this.resolveId = first(
25
+ this.plugins
26
+ .map( plugin => plugin.resolveId )
27
+ .filter( Boolean )
28
+ .concat( resolveId )
29
+ );
30
+
31
+ this.load = first(
32
+ this.plugins
33
+ .map( plugin => plugin.load )
34
+ .filter( Boolean )
35
+ .concat( load )
36
+ );
37
+
38
+ this.transformers = this.plugins
39
+ .map( plugin => plugin.transform )
40
+ .filter( Boolean );
41
+
42
+ this.moduleById = blank();
43
+ this.modules = [];
44
+
45
+ this.externalModules = [];
46
+ this.internalNamespaces = [];
47
+
48
+ this.assumedGlobals = blank();
49
+
50
+ this.external = options.external || [];
51
+ this.onwarn = options.onwarn || onwarn;
52
+
53
+ // TODO strictly speaking, this only applies with non-ES6, non-default-only bundles
54
+ [ 'module', 'exports' ].forEach( global => this.assumedGlobals[ global ] = true );
55
+ }
56
+
57
+ build () {
58
+ // Phase 1 – discovery. We load the entry module and find which
59
+ // modules it imports, and import those, until we have all
60
+ // of the entry module's dependencies
61
+ return Promise.resolve( this.resolveId( this.entry, undefined ) )
62
+ .then( id => this.fetchModule( id, undefined ) )
63
+ .then( entryModule => {
64
+ this.entryModule = entryModule;
65
+
66
+ // Phase 2 – binding. We link references to their declarations
67
+ // to generate a complete picture of the bundle
68
+ this.modules.forEach( module => module.bindImportSpecifiers() );
69
+ this.modules.forEach( module => module.bindAliases() );
70
+ this.modules.forEach( module => module.bindReferences() );
71
+
72
+ // Phase 3 – marking. We 'run' each statement to see which ones
73
+ // need to be included in the generated bundle
74
+
75
+ // mark all export statements
76
+ entryModule.getExports().forEach( name => {
77
+ const declaration = entryModule.traceExport( name );
78
+ declaration.isExported = true;
79
+
80
+ declaration.use();
81
+ });
82
+
83
+ // mark statements that should appear in the bundle
84
+ let settled = false;
85
+ while ( !settled ) {
86
+ settled = true;
87
+
88
+ this.modules.forEach( module => {
89
+ if ( module.run() ) settled = false;
90
+ });
91
+ }
92
+
93
+ // Phase 4 – final preparation. We order the modules with an
94
+ // enhanced topological sort that accounts for cycles, then
95
+ // ensure that names are deconflicted throughout the bundle
96
+ this.orderedModules = this.sort();
97
+ this.deconflict();
98
+ });
99
+ }
100
+
101
+ deconflict () {
102
+ let used = blank();
103
+
104
+ // ensure no conflicts with globals
105
+ keys( this.assumedGlobals ).forEach( name => used[ name ] = 1 );
106
+
107
+ function getSafeName ( name ) {
108
+ while ( used[ name ] ) {
109
+ name += `$${used[name]++}`;
110
+ }
111
+
112
+ used[ name ] = 1;
113
+ return name;
114
+ }
115
+
116
+ this.externalModules.forEach( module => {
117
+ module.name = getSafeName( module.name );
118
+ });
119
+
120
+ this.modules.forEach( module => {
121
+ keys( module.declarations ).forEach( originalName => {
122
+ const declaration = module.declarations[ originalName ];
123
+
124
+ if ( originalName === 'default' ) {
125
+ if ( declaration.original && !declaration.original.isReassigned ) return;
126
+ }
127
+
128
+ declaration.name = getSafeName( declaration.name );
129
+ });
130
+ });
131
+ }
132
+
133
+ fetchModule ( id, importer ) {
134
+ // short-circuit cycles
135
+ if ( id in this.moduleById ) return null;
136
+ this.moduleById[ id ] = null;
137
+
138
+ return Promise.resolve( this.load( id ) )
139
+ .catch( err => {
140
+ let msg = `Could not load ${id}`;
141
+ if ( importer ) msg += ` (imported by ${importer})`;
142
+
143
+ msg += `: ${err.message}`;
144
+ throw new Error( msg );
145
+ })
146
+ .then( source => transform( source, id, this.transformers ) )
147
+ .then( source => {
148
+ const { code, originalCode, ast, sourceMapChain } = source;
149
+
150
+ const module = new Module({ id, code, originalCode, ast, sourceMapChain, bundle: this });
151
+
152
+ this.modules.push( module );
153
+ this.moduleById[ id ] = module;
154
+
155
+ return this.fetchAllDependencies( module ).then( () => module );
156
+ });
157
+ }
158
+
159
+ fetchAllDependencies ( module ) {
160
+ const promises = module.dependencies.map( source => {
161
+ return Promise.resolve( this.resolveId( source, module.id ) )
162
+ .then( resolvedId => {
163
+ if ( !resolvedId ) {
164
+ if ( !~this.external.indexOf( source ) ) this.onwarn( `Treating '${source}' as external dependency` );
165
+ module.resolvedIds[ source ] = source;
166
+
167
+ if ( !this.moduleById[ source ] ) {
168
+ const module = new ExternalModule( source );
169
+ this.externalModules.push( module );
170
+ this.moduleById[ source ] = module;
171
+ }
172
+ }
173
+
174
+ else {
175
+ if ( resolvedId === module.id ) {
176
+ throw new Error( `A module cannot import itself (${resolvedId})` );
177
+ }
178
+
179
+ module.resolvedIds[ source ] = resolvedId;
180
+ return this.fetchModule( resolvedId, module.id );
181
+ }
182
+ });
183
+ });
184
+
185
+ return Promise.all( promises );
186
+ }
187
+
188
+ render ( options = {} ) {
189
+ const format = options.format || 'es6';
190
+
191
+ // Determine export mode - 'default', 'named', 'none'
192
+ const exportMode = getExportMode( this, options.exports );
193
+
194
+ let magicString = new MagicString.Bundle({ separator: '\n\n' });
195
+ let usedModules = [];
196
+
197
+ this.orderedModules.forEach( module => {
198
+ const source = module.render( format === 'es6' );
199
+ if ( source.toString().length ) {
200
+ magicString.addSource( source );
201
+ usedModules.push( module );
202
+ }
203
+ });
204
+
205
+ const intro = [ options.intro ]
206
+ .concat(
207
+ this.plugins.map( plugin => plugin.intro && plugin.intro() )
208
+ )
209
+ .filter( Boolean )
210
+ .join( '\n\n' );
211
+
212
+ if ( intro ) magicString.prepend( intro + '\n' );
213
+ if ( options.outro ) magicString.append( '\n' + options.outro );
214
+
215
+ const indentString = getIndentString( magicString, options );
216
+
217
+ const finalise = finalisers[ format ];
218
+ if ( !finalise ) throw new Error( `You must specify an output type - valid options are ${keys( finalisers ).join( ', ' )}` );
219
+
220
+ magicString = finalise( this, magicString.trim(), { exportMode, indentString }, options );
221
+
222
+ const banner = [ options.banner ]
223
+ .concat( this.plugins.map( plugin => plugin.banner ) )
224
+ .map( callIfFunction )
225
+ .filter( Boolean )
226
+ .join( '\n' );
227
+
228
+ const footer = [ options.footer ]
229
+ .concat( this.plugins.map( plugin => plugin.footer ) )
230
+ .map( callIfFunction )
231
+ .filter( Boolean )
232
+ .join( '\n' );
233
+
234
+ if ( banner ) magicString.prepend( banner + '\n' );
235
+ if ( footer ) magicString.append( '\n' + footer );
236
+
237
+ const code = magicString.toString();
238
+ let map = null;
239
+
240
+ if ( options.sourceMap ) {
241
+ const file = options.sourceMapFile || options.dest;
242
+ map = magicString.generateMap({
243
+ includeContent: true,
244
+ file
245
+ // TODO
246
+ });
247
+
248
+ if ( this.transformers.length ) map = collapseSourcemaps( map, usedModules );
249
+ map.sources = map.sources.map( unixizePath );
250
+ }
251
+
252
+ return { code, map };
253
+ }
254
+
255
+ sort () {
256
+ let seen = {};
257
+ let ordered = [];
258
+ let hasCycles;
259
+
260
+ let strongDeps = {};
261
+ let stronglyDependsOn = {};
262
+
263
+ function visit ( module ) {
264
+ if ( seen[ module.id ] ) return;
265
+ seen[ module.id ] = true;
266
+
267
+ const { strongDependencies, weakDependencies } = module.consolidateDependencies();
268
+
269
+ strongDeps[ module.id ] = [];
270
+ stronglyDependsOn[ module.id ] = {};
271
+
272
+ strongDependencies.forEach( imported => {
273
+ strongDeps[ module.id ].push( imported );
274
+
275
+ if ( seen[ imported.id ] ) {
276
+ // we need to prevent an infinite loop, and note that
277
+ // we need to check for strong/weak dependency relationships
278
+ hasCycles = true;
279
+ return;
280
+ }
281
+
282
+ visit( imported );
283
+ });
284
+
285
+ weakDependencies.forEach( imported => {
286
+ if ( seen[ imported.id ] ) {
287
+ // we need to prevent an infinite loop, and note that
288
+ // we need to check for strong/weak dependency relationships
289
+ hasCycles = true;
290
+ return;
291
+ }
292
+
293
+ visit( imported );
294
+ });
295
+
296
+ // add second (and third...) order dependencies
297
+ function addStrongDependencies ( dependency ) {
298
+ if ( stronglyDependsOn[ module.id ][ dependency.id ] ) return;
299
+
300
+ stronglyDependsOn[ module.id ][ dependency.id ] = true;
301
+ strongDeps[ dependency.id ].forEach( addStrongDependencies );
302
+ }
303
+
304
+ strongDeps[ module.id ].forEach( addStrongDependencies );
305
+
306
+ ordered.push( module );
307
+ }
308
+
309
+ this.modules.forEach( visit );
310
+
311
+ if ( hasCycles ) {
312
+ let unordered = ordered;
313
+ ordered = [];
314
+
315
+ // unordered is actually semi-ordered, as [ fewer dependencies ... more dependencies ]
316
+ unordered.forEach( module => {
317
+ // ensure strong dependencies of `module` that don't strongly depend on `module` go first
318
+ strongDeps[ module.id ].forEach( place );
319
+
320
+ function place ( dep ) {
321
+ if ( !stronglyDependsOn[ dep.id ][ module.id ] && !~ordered.indexOf( dep ) ) {
322
+ strongDeps[ dep.id ].forEach( place );
323
+ ordered.push( dep );
324
+ }
325
+ }
326
+
327
+ if ( !~ordered.indexOf( module ) ) {
328
+ ordered.push( module );
329
+ }
330
+ });
331
+ }
332
+
333
+ return ordered;
334
+ }
335
+ }