diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..c6c0c4c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8320 @@ +{ + "name": "react-d3-basic", + "version": "1.6.11", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "requires": { + "mime-types": "~2.1.18", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.1.tgz", + "integrity": "sha512-XH4o5BK5jmw9PzSGK7mNf+/xV+mPxQxGZoeC36OVsJZYV77JAG9NnI7T90hoUpI/C1TOfXWTvugRdZ9ZR3iE2Q==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "^4.0.3" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "alter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", + "integrity": "sha1-x1iICGF1cgNKrmJICvJrHU0cs80=", + "dev": true, + "requires": { + "stable": "~0.1.3" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-traverse": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz", + "integrity": "sha1-ac8rg4bxnc2hux4F1o/jWdiJfeY=", + "dev": true + }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "atob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "dev": true + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true, + "requires": { + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" + } + }, + "babel-cli": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", + "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-polyfill": "^6.26.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "chokidar": "^1.6.1", + "commander": "^2.11.0", + "convert-source-map": "^1.5.0", + "fs-readdir-recursive": "^1.0.0", + "glob": "^7.1.2", + "lodash": "^4.17.4", + "output-file-sync": "^1.1.2", + "path-is-absolute": "^1.0.1", + "slash": "^1.0.0", + "source-map": "^0.5.6", + "v8flags": "^2.1.1" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "babel-eslint": { + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-3.1.30.tgz", + "integrity": "sha1-TSRKR47nGeoFcOo0cWfVyi+anKM=", + "dev": true, + "requires": { + "babel-core": "^5.6.4", + "lodash.assign": "^3.0.0", + "lodash.pick": "^3.1.0" + }, + "dependencies": { + "babel-core": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-5.8.38.tgz", + "integrity": "sha1-H8ruedfmG3ULALjlT238nQr4ZVg=", + "dev": true, + "requires": { + "babel-plugin-constant-folding": "^1.0.1", + "babel-plugin-dead-code-elimination": "^1.0.2", + "babel-plugin-eval": "^1.0.1", + "babel-plugin-inline-environment-variables": "^1.0.1", + "babel-plugin-jscript": "^1.0.4", + "babel-plugin-member-expression-literals": "^1.0.1", + "babel-plugin-property-literals": "^1.0.1", + "babel-plugin-proto-to-assign": "^1.0.3", + "babel-plugin-react-constant-elements": "^1.0.3", + "babel-plugin-react-display-name": "^1.0.3", + "babel-plugin-remove-console": "^1.0.1", + "babel-plugin-remove-debugger": "^1.0.1", + "babel-plugin-runtime": "^1.0.7", + "babel-plugin-undeclared-variables-check": "^1.0.2", + "babel-plugin-undefined-to-void": "^1.1.6", + "babylon": "^5.8.38", + "bluebird": "^2.9.33", + "chalk": "^1.0.0", + "convert-source-map": "^1.1.0", + "core-js": "^1.0.0", + "debug": "^2.1.1", + "detect-indent": "^3.0.0", + "esutils": "^2.0.0", + "fs-readdir-recursive": "^0.1.0", + "globals": "^6.4.0", + "home-or-tmp": "^1.0.0", + "is-integer": "^1.0.4", + "js-tokens": "1.0.1", + "json5": "^0.4.0", + "lodash": "^3.10.0", + "minimatch": "^2.0.3", + "output-file-sync": "^1.1.0", + "path-exists": "^1.0.0", + "path-is-absolute": "^1.0.0", + "private": "^0.1.6", + "regenerator": "0.8.40", + "regexpu": "^1.3.0", + "repeating": "^1.1.2", + "resolve": "^1.1.6", + "shebang-regex": "^1.0.0", + "slash": "^1.0.0", + "source-map": "^0.5.0", + "source-map-support": "^0.2.10", + "to-fast-properties": "^1.0.0", + "trim-right": "^1.0.0", + "try-resolve": "^1.0.0" + } + }, + "babylon": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz", + "integrity": "sha1-7JsSCxG/bM1Bc6GL8hfmC3mFn/0=", + "dev": true + }, + "detect-indent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz", + "integrity": "sha1-ncXl3bzu+DJXZLlFGwK8bVQIT3U=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "minimist": "^1.1.0", + "repeating": "^1.1.0" + } + }, + "fs-readdir-recursive": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz", + "integrity": "sha1-MVtPuMHKW4xH3v7zGdBz2tNWgFk=", + "dev": true + }, + "globals": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz", + "integrity": "sha1-hJgDKzttHMge68X3lpDY/in6v08=", + "dev": true + }, + "home-or-tmp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz", + "integrity": "sha1-S58eQIAMPlDGwn94FnavzOcfOYU=", + "dev": true, + "requires": { + "os-tmpdir": "^1.0.1", + "user-home": "^1.1.1" + } + }, + "js-tokens": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz", + "integrity": "sha1-zENaXIuUrRWst5gxQPyAGCyJrq4=", + "dev": true + }, + "json5": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", + "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "repeating": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz", + "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "source-map-support": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", + "integrity": "sha1-6lo5AKHByyUJagrozFwrSxDe09w=", + "dev": true, + "requires": { + "source-map": "0.1.32" + }, + "dependencies": { + "source-map": { + "version": "0.1.32", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-builder-react-jsx": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", + "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "esutils": "^2.0.2" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-loader": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.4.1.tgz", + "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "loader-utils": "^0.2.16", + "mkdirp": "^0.5.1", + "object-assign": "^4.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-add-module-exports": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.1.4.tgz", + "integrity": "sha1-Glttdh7h9mPYRbTqaHhxLeMcEHo=", + "dev": true, + "requires": { + "babel-template": "^6.5.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-constant-folding": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz", + "integrity": "sha1-g2HTZMmORJw2kr26Ue/whEKQqo4=", + "dev": true + }, + "babel-plugin-dead-code-elimination": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz", + "integrity": "sha1-X3xFEnTc18zNv7s+C4XdKBIfD2U=", + "dev": true + }, + "babel-plugin-eval": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-eval/-/babel-plugin-eval-1.0.1.tgz", + "integrity": "sha1-ovrtJc5r5preS/7CY/cBaRlZUNo=", + "dev": true + }, + "babel-plugin-inline-environment-variables": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-inline-environment-variables/-/babel-plugin-inline-environment-variables-1.0.1.tgz", + "integrity": "sha1-H1jOkSB61qgmqL9kX6/mj/X+P/4=", + "dev": true + }, + "babel-plugin-jscript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-jscript/-/babel-plugin-jscript-1.0.4.tgz", + "integrity": "sha1-jzQsOCduh6R9X6CovT1etsytj8w=", + "dev": true + }, + "babel-plugin-member-expression-literals": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-member-expression-literals/-/babel-plugin-member-expression-literals-1.0.1.tgz", + "integrity": "sha1-zF7bD6qNyScXDnTW0cAkQAIWJNM=", + "dev": true + }, + "babel-plugin-property-literals": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-property-literals/-/babel-plugin-property-literals-1.0.1.tgz", + "integrity": "sha1-AlIwGQAZKYCxwRjv6kjOk6q4MzY=", + "dev": true + }, + "babel-plugin-proto-to-assign": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz", + "integrity": "sha1-xJ56/QL1d7xNoF6i3wAiUM980SM=", + "dev": true, + "requires": { + "lodash": "^3.9.3" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } + } + }, + "babel-plugin-react-constant-elements": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-constant-elements/-/babel-plugin-react-constant-elements-1.0.3.tgz", + "integrity": "sha1-lGc26DeEKcvDSdz/YvUcFDs041o=", + "dev": true + }, + "babel-plugin-react-display-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz", + "integrity": "sha1-dU/jiSboQkpOexWrbqYTne4FFPw=", + "dev": true + }, + "babel-plugin-react-transform": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz", + "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=", + "dev": true, + "requires": { + "lodash": "^4.6.1" + } + }, + "babel-plugin-remove-console": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz", + "integrity": "sha1-2PJFVsOgUAXUKqqv0neH9T/wE6c=", + "dev": true + }, + "babel-plugin-remove-debugger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz", + "integrity": "sha1-/S6jzWGkKK0fO5yJiC/0KT6MFMc=", + "dev": true + }, + "babel-plugin-runtime": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz", + "integrity": "sha1-v3x9lm3Vbs1cF/ocslPJrLflSq8=", + "dev": true + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", + "dev": true + }, + "babel-plugin-syntax-class-constructor-call": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", + "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, + "babel-plugin-syntax-do-expressions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", + "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=", + "dev": true + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-export-extensions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", + "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", + "dev": true + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", + "dev": true + }, + "babel-plugin-syntax-function-bind": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz", + "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=", + "dev": true + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-generators": "^6.5.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-class-constructor-call": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", + "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", + "dev": true, + "requires": { + "babel-plugin-syntax-class-constructor-call": "^6.18.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "dev": true, + "requires": { + "babel-helper-explode-class": "^6.24.1", + "babel-plugin-syntax-decorators": "^6.13.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-do-expressions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz", + "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=", + "dev": true, + "requires": { + "babel-plugin-syntax-do-expressions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-export-extensions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", + "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", + "dev": true, + "requires": { + "babel-plugin-syntax-export-extensions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "dev": true, + "requires": { + "babel-plugin-syntax-flow": "^6.18.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-function-bind": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz", + "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=", + "dev": true, + "requires": { + "babel-plugin-syntax-function-bind": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-react-display-name": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", + "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "dev": true, + "requires": { + "babel-helper-builder-react-jsx": "^6.24.1", + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx-self": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", + "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "dev": true, + "requires": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx-source": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", + "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "dev": true, + "requires": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.2.12.tgz", + "integrity": "sha1-NAZpbfC4tFYIn51ybSfn4SPS+Sk=", + "dev": true + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-undeclared-variables-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-undeclared-variables-check/-/babel-plugin-undeclared-variables-check-1.0.2.tgz", + "integrity": "sha1-XPGqU52BP/ZOmWQSkK9iCWX2Xe4=", + "dev": true, + "requires": { + "leven": "^1.0.2" + } + }, + "babel-plugin-undefined-to-void": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-undefined-to-void/-/babel-plugin-undefined-to-void-1.1.6.tgz", + "integrity": "sha1-f1eO+LeN+uYAM4XYQXph7aBuL4E=", + "dev": true + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + }, + "dependencies": { + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" + } + }, + "babel-preset-flow": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", + "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "dev": true, + "requires": { + "babel-plugin-transform-flow-strip-types": "^6.22.0" + } + }, + "babel-preset-react": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", + "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", + "dev": true, + "requires": { + "babel-plugin-syntax-jsx": "^6.3.13", + "babel-plugin-transform-react-display-name": "^6.23.0", + "babel-plugin-transform-react-jsx": "^6.24.1", + "babel-plugin-transform-react-jsx-self": "^6.22.0", + "babel-plugin-transform-react-jsx-source": "^6.22.0", + "babel-preset-flow": "^6.23.0" + } + }, + "babel-preset-react-hmre": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-hmre/-/babel-preset-react-hmre-1.0.1.tgz", + "integrity": "sha1-Fb7YOGNz9eANFIurmo9/Eqe0aOc=", + "dev": true, + "requires": { + "babel-plugin-react-transform": "^2.0.0", + "react-transform-catch-errors": "^1.0.1", + "react-transform-hmr": "^1.0.1", + "redbox-react": "^1.1.1" + } + }, + "babel-preset-stage-0": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz", + "integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=", + "dev": true, + "requires": { + "babel-plugin-transform-do-expressions": "^6.22.0", + "babel-plugin-transform-function-bind": "^6.22.0", + "babel-preset-stage-1": "^6.24.1" + } + }, + "babel-preset-stage-1": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", + "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", + "dev": true, + "requires": { + "babel-plugin-transform-class-constructor-call": "^6.24.1", + "babel-plugin-transform-export-extensions": "^6.22.0", + "babel-preset-stage-2": "^6.24.1" + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-decorators": "^6.24.1", + "babel-preset-stage-3": "^6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-plugin-transform-async-to-generator": "^6.24.1", + "babel-plugin-transform-exponentiation-operator": "^6.24.1", + "babel-plugin-transform-object-rest-spread": "^6.22.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + }, + "dependencies": { + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "base62": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/base62/-/base62-1.2.8.tgz", + "integrity": "sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA==", + "dev": true + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "breakable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz", + "integrity": "sha1-eEp5eRWjjq0nutRWtVcstLuqeME=", + "dev": true + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz", + "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true, + "requires": { + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-db": { + "version": "1.0.30000847", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000847.tgz", + "integrity": "sha1-/0BypUaICf7ArprDtANe+JHlsUQ=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "^1.1.3" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "classnames": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", + "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, + "requires": { + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "^1.1.1" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "^1.0.0" + } + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, + "requires": { + "color": "^0.11.0", + "css-color-names": "0.0.4", + "has": "^1.0.1" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "commoner": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", + "dev": true, + "requires": { + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + } + } + } + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "compressible": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", + "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", + "dev": true, + "requires": { + "mime-db": ">= 1.33.0 < 2" + } + }, + "compression": { + "version": "1.7.2", + "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz", + "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "bytes": "3.0.0", + "compressible": "~2.0.13", + "debug": "2.6.9", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.1", + "vary": "~1.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-loader": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.18.0.tgz", + "integrity": "sha1-3uzZrZm8R2EegRscjKzFcuI92tg=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.5.1", + "cssnano": ">=2.6.1 <4", + "loader-utils": "~0.2.2", + "postcss": ">=4.1.11 <6", + "postcss-modules-extract-imports": "0.0.5", + "postcss-modules-local-by-default": "0.0.12", + "postcss-modules-scope": "0.0.8", + "source-list-map": "^0.1.4" + } + }, + "css-selector-tokenizer": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz", + "integrity": "sha1-E5uv00o1/QwUKEhwSeBpnm9qLCE=", + "dev": true, + "requires": { + "cssesc": "^0.1.0", + "fastparse": "^1.1.1" + } + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, + "requires": { + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "^1.0.9", + "source-map": "^0.5.3" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "^0.10.9" + } + }, + "d3": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", + "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=" + }, + "d3-array": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-0.7.1.tgz", + "integrity": "sha1-oyHCFVhFnZlOtK1HtHgkDmSTOUI=" + }, + "d3-axis": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-0.3.2.tgz", + "integrity": "sha1-IiyXkJw//3LdxdaZH64jkm7sdIU=", + "requires": { + "d3-scale": "~0.7.0", + "d3-selection": "~0.7.0", + "d3-transition": "~0.2.0" + }, + "dependencies": { + "d3-collection": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-0.2.0.tgz", + "integrity": "sha1-CnzzYtgj8MZQV8wHX05EHDHDAPo=" + }, + "d3-interpolate": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-0.8.3.tgz", + "integrity": "sha1-qOVkpg9tw4TvESwgblGhnm2ISYE=", + "requires": { + "d3-color": "~0.4.0" + } + }, + "d3-scale": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-0.7.2.tgz", + "integrity": "sha1-ayzYufT7grjUpsaHmh74kHeWEQU=", + "requires": { + "d3-array": "~0.7.0", + "d3-collection": "~0.2.0", + "d3-color": "~0.4.0", + "d3-format": "~0.5.0", + "d3-interpolate": "~0.8.0", + "d3-time": "~0.2.0", + "d3-time-format": "~0.3.0" + } + } + } + }, + "d3-collection": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-0.1.2.tgz", + "integrity": "sha1-0UlfVyCt04NRF+GRZgfSsFsYbFo=" + }, + "d3-color": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-0.4.2.tgz", + "integrity": "sha1-3wE+eJ2b/vD46jmGySNAzfNA2KA=" + }, + "d3-dispatch": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-0.4.4.tgz", + "integrity": "sha1-S7poPgpNvN0mlzMsdFrcfBEtKlQ=" + }, + "d3-dsv": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.8.tgz", + "integrity": "sha512-IVCJpQ+YGe3qu6odkPQI0KPqfxkhbP/oM1XhhE/DFiYmcXKfCRub4KXyiuehV1d4drjWVXHUWx4gHqhdZb6n/A==", + "dev": true, + "requires": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + } + }, + "d3-ease": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-0.7.0.tgz", + "integrity": "sha1-GqXt9Y49bnu9agAMAKExqeAYEDw=" + }, + "d3-format": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-0.5.1.tgz", + "integrity": "sha1-lEfXyVyEsV00wTiXXb8EiaQS5AU=" + }, + "d3-interpolate": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-0.7.0.tgz", + "integrity": "sha1-H5/xfNjJC38SH2dD5u8QYt/omNE=", + "requires": { + "d3-color": "~0.4.0" + } + }, + "d3-path": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-0.1.5.tgz", + "integrity": "sha1-f2LgZRJ4b0LjundbtmAnr8yFVik=" + }, + "d3-scale": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-0.6.4.tgz", + "integrity": "sha1-45jhRvpT3sU3DtHwRe8EJsGj/ZA=", + "requires": { + "d3-array": "~0.7.0", + "d3-collection": "~0.1.0", + "d3-color": "~0.4.0", + "d3-format": "~0.5.0", + "d3-interpolate": "~0.7.0", + "d3-time": "~0.2.0", + "d3-time-format": "~0.3.0" + } + }, + "d3-selection": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-0.7.3.tgz", + "integrity": "sha1-Sc7XgwAKmj+gd2/tMPCALaRHEZQ=" + }, + "d3-shape": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-0.5.1.tgz", + "integrity": "sha1-j6BrCKsHJ2Fo1R4kx8vxpXKHwr8=", + "requires": { + "d3-path": "~0.1.3" + } + }, + "d3-time": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-0.2.6.tgz", + "integrity": "sha1-WHVT6eqeBVRi1BnHqpTpR3vhXLA=" + }, + "d3-time-format": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-0.3.2.tgz", + "integrity": "sha1-nDDpCkB4+T+sFeJ7IBaGVIjAB8E=", + "requires": { + "d3-time": "~0.2.0" + } + }, + "d3-timer": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-0.4.4.tgz", + "integrity": "sha1-3D0v7aItJ1skeO4DZIPQkjEyfiI=" + }, + "d3-transition": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-0.2.10.tgz", + "integrity": "sha1-cyJ9K7LQk5v0ZAkufMmzlzBVnJQ=", + "requires": { + "d3-color": "~0.4.0", + "d3-dispatch": "~0.4.0", + "d3-ease": "~0.7.0", + "d3-interpolate": "~0.8.0", + "d3-selection": "~0.7.0", + "d3-timer": "~0.4.0" + }, + "dependencies": { + "d3-interpolate": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-0.8.3.tgz", + "integrity": "sha1-qOVkpg9tw4TvESwgblGhnm2ISYE=", + "requires": { + "d3-color": "~0.4.0" + } + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "defs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz", + "integrity": "sha1-siYJ8sehG6ej2xFoBcE5scr/qdI=", + "dev": true, + "requires": { + "alter": "~0.2.0", + "ast-traverse": "~0.1.1", + "breakable": "~1.0.0", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "simple-fmt": "~0.1.0", + "simple-is": "~0.2.0", + "stringmap": "~0.2.2", + "stringset": "~0.2.1", + "tryor": "~0.1.2", + "yargs": "~3.27.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "dev": true, + "requires": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + } + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dom-helpers": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-2.4.0.tgz", + "integrity": "sha1-m7SyRfY3NnsfpnAnQnKqKP4Gw2c=", + "dev": true + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "dsv-loader": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/dsv-loader/-/dsv-loader-1.1.0.tgz", + "integrity": "sha1-Iwx4L25Y9FKDTxqhr7nGNAvQfZg=", + "dev": true, + "requires": { + "d3-dsv": "^1.0.0", + "loader-utils": "^0.2.15" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.48", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz", + "integrity": "sha1-07DYWTgUBE4JLs4hCPw6ya6kuQA=", + "dev": true + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", + "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", + "dev": true, + "requires": { + "stackframe": "^0.3.1" + } + }, + "es5-ext": { + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-promise": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", + "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=", + "dev": true + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": ">=0.0.5" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + } + }, + "express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.3", + "qs": "6.5.1", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "extract-text-webpack-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-1.0.1.tgz", + "integrity": "sha1-yVvzy6rEnclvHcbgclSfu2VMzSw=", + "dev": true, + "requires": { + "async": "^1.5.0", + "loader-utils": "^0.2.3", + "webpack-sources": "^0.1.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fastparse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fbjs": { + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.9" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "follow-redirects": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", + "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", + "dev": true, + "requires": { + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dev": true, + "requires": { + "function-bind": "^1.0.2" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "history": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/history/-/history-2.1.2.tgz", + "integrity": "sha1-SqLeiXoOSGfkU5hDvm7Nsphr/ew=", + "dev": true, + "requires": { + "deep-equal": "^1.0.0", + "invariant": "^2.0.0", + "query-string": "^3.0.0", + "warning": "^2.0.0" + }, + "dependencies": { + "query-string": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-3.0.3.tgz", + "integrity": "sha1-ri4UtNBQcdTpuetIc8NbDc1C5jg=", + "dev": true, + "requires": { + "strict-uri-encode": "^1.0.0" + } + } + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", + "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", + "dev": true + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "http-parser-js": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", + "dev": true + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "requires": { + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", + "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "dev": true, + "requires": { + "http-proxy": "^1.16.2", + "is-glob": "^3.1.0", + "lodash": "^4.17.2", + "micromatch": "^2.3.11" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz", + "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ipaddr.js": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-integer": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.7.tgz", + "integrity": "sha1-a96Bqs3feLZZtmKdYpytxRqIbVw=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-odd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "js-base64": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz", + "integrity": "sha512-aUnNwqMOXw3yvErjMPSQu6qIIzUmT1e5KcU1OZxRDU1g/am6mzBvcrmLAYwzmB59BHPrh5/tKaiF4OPhqRWESQ==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + } + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jstransform": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz", + "integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=", + "dev": true, + "requires": { + "base62": "^1.1.0", + "commoner": "^0.10.1", + "esprima-fb": "^15001.1.0-dev-harmony-fb", + "object-assign": "^2.0.0", + "source-map": "^0.4.2" + }, + "dependencies": { + "esprima-fb": { + "version": "15001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz", + "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "jsx-loader": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/jsx-loader/-/jsx-loader-0.13.2.tgz", + "integrity": "sha1-l2f2Q5dcePXlq+upvFeIUpfnMtQ=", + "dev": true, + "requires": { + "jstransform": "11", + "loader-utils": "^0.2.2" + } + }, + "keycode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz", + "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "leven": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz", + "integrity": "sha1-kUS27ryl8dBoAWnxpncNzqYLdcM=", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "lodash-compat": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/lodash-compat/-/lodash-compat-3.10.2.tgz", + "integrity": "sha1-xpQBKKnTD46QLNLPmf0Muk7PwYM=", + "dev": true + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._baseflatten": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz", + "integrity": "sha1-B3D/gBMa9uNPO1EXlqe6UhTmX/c=", + "dev": true, + "requires": { + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash._basefor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", + "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=", + "dev": true + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "dev": true + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", + "dev": true, + "requires": { + "lodash._bindcallback": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash.restparam": "^3.0.0" + } + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._pickbyarray": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash._pickbyarray/-/lodash._pickbyarray-3.0.2.tgz", + "integrity": "sha1-H4mNlgfrVgsOFnOEt3x8bRCKpMU=", + "dev": true + }, + "lodash._pickbycallback": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._pickbycallback/-/lodash._pickbycallback-3.0.0.tgz", + "integrity": "sha1-/2G5oBens699MObFPeKK+hm4dQo=", + "dev": true, + "requires": { + "lodash._basefor": "^3.0.0", + "lodash.keysin": "^3.0.0" + } + }, + "lodash.assign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", + "dev": true, + "requires": { + "lodash._baseassign": "^3.0.0", + "lodash._createassigner": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.keysin": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-3.0.8.tgz", + "integrity": "sha1-IsRJPrvtsUJ5YqVLRFssinZ/tH8=", + "dev": true, + "requires": { + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.pick": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-3.1.0.tgz", + "integrity": "sha1-8lKoVbIEa2G805BLJvdr0u/GVVA=", + "dev": true, + "requires": { + "lodash._baseflatten": "^3.0.0", + "lodash._bindcallback": "^3.0.0", + "lodash._pickbyarray": "^3.0.0", + "lodash._pickbycallback": "^3.0.0", + "lodash.restparam": "^3.0.0" + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "^3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true + }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "~1.33.0" + } + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "neo-async": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.0", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.10.3", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "open": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", + "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "original": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.1.tgz", + "integrity": "sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==", + "dev": true, + "requires": { + "url-parse": "~1.4.0" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.4", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.0" + } + }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz", + "integrity": "sha1-1aiZjrce83p0w06w2eum6HjuoIE=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true, + "requires": { + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true, + "requires": { + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true, + "requires": { + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true, + "requires": { + "postcss": "^5.0.14" + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true, + "requires": { + "postcss": "^5.0.14" + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true, + "requires": { + "postcss": "^5.0.16" + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, + "requires": { + "postcss": "^5.0.14", + "uniqs": "^2.0.0" + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, + "requires": { + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true, + "requires": { + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" + } + }, + "postcss-modules-extract-imports": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-0.0.5.tgz", + "integrity": "sha1-zMy0Cz3SmFmZOEodumDGLJYKbaA=", + "dev": true, + "requires": { + "postcss": "^4.1.11" + }, + "dependencies": { + "js-base64": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", + "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=", + "dev": true + }, + "postcss": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz", + "integrity": "sha1-TESbTIr53zyvbTf44eV10DYXWNw=", + "dev": true, + "requires": { + "es6-promise": "~2.3.0", + "js-base64": "~2.1.8", + "source-map": "~0.4.2" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "postcss-modules-local-by-default": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-0.0.12.tgz", + "integrity": "sha1-qTQxpLHQt6QCHiOPwn1ejkSSgsI=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.5.1", + "postcss": "^4.1.5" + }, + "dependencies": { + "js-base64": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", + "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=", + "dev": true + }, + "postcss": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz", + "integrity": "sha1-TESbTIr53zyvbTf44eV10DYXWNw=", + "dev": true, + "requires": { + "es6-promise": "~2.3.0", + "js-base64": "~2.1.8", + "source-map": "~0.4.2" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "postcss-modules-scope": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-0.0.8.tgz", + "integrity": "sha1-gck1+/KJJyOIyLoulqEcohugmgQ=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.5.0", + "postcss": "^4.1.11" + }, + "dependencies": { + "js-base64": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", + "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=", + "dev": true + }, + "postcss": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz", + "integrity": "sha1-TESbTIr53zyvbTf44eV10DYXWNw=", + "dev": true, + "requires": { + "es6-promise": "~2.3.0", + "js-base64": "~2.1.8", + "source-map": "~0.4.2" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true, + "requires": { + "postcss": "^5.0.5" + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true, + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true, + "requires": { + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "prop-types": { + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", + "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", + "requires": { + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "proxy-addr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.6.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "query-selector": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/query-selector/-/query-selector-1.0.9.tgz", + "integrity": "sha1-kX/TG3N5tT/UQeU2r2R1UuAefp4=" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", + "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", + "dev": true + }, + "randomatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", + "dev": true, + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } + } + }, + "react-bootstrap": { + "version": "0.28.5", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-0.28.5.tgz", + "integrity": "sha1-OTq1mtZgcaanuuD9p1GM3SKPK68=", + "dev": true, + "requires": { + "babel-runtime": "^5.8.25", + "classnames": "^2.1.5", + "dom-helpers": "^2.4.0", + "invariant": "^2.1.2", + "keycode": "^2.1.0", + "lodash-compat": "^3.10.1", + "react-overlays": "^0.6.0", + "react-prop-types": "^0.3.0", + "uncontrollable": "^3.1.3", + "warning": "^2.1.0" + }, + "dependencies": { + "babel-runtime": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz", + "integrity": "sha1-HAsC62MxL18If/IEUIJ7QlydTBk=", + "dev": true, + "requires": { + "core-js": "^1.0.0" + } + } + } + }, + "react-d3-core": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/react-d3-core/-/react-d3-core-1.3.9.tgz", + "integrity": "sha1-TIjJld91p0oDwIKrEfy2DktOO/M=", + "requires": { + "d3-array": "^0.7.1", + "d3-axis": "^0.3.0", + "d3-scale": "^0.6.4", + "d3-selection": "^0.7.0", + "react-faux-dom": "^2.3.0" + } + }, + "react-d3-shape": { + "version": "0.2.24", + "resolved": "https://registry.npmjs.org/react-d3-shape/-/react-d3-shape-0.2.24.tgz", + "integrity": "sha1-QZfcH5keOvdiKs66Wq2yqNDTpIk=", + "requires": { + "d3": "^3.5.6", + "d3-scale": "^0.6.4", + "d3-shape": "^0.5.1", + "react-d3-core": "^1.2.8" + } + }, + "react-deep-force-update": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz", + "integrity": "sha1-vNMUeAJ7ZLMznxCJIatSC0MT3Cw=", + "dev": true + }, + "react-faux-dom": { + "version": "2.7.1", + "resolved": "http://registry.npmjs.org/react-faux-dom/-/react-faux-dom-2.7.1.tgz", + "integrity": "sha1-1Z4ZBnFcNNGpvcSp9I7pbF1vqG8=", + "requires": { + "query-selector": "^1.0.9", + "style-attr": "^1.0.1" + } + }, + "react-hot-api": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/react-hot-api/-/react-hot-api-0.4.7.tgz", + "integrity": "sha1-p+IqVtJS4Rq9k2a2EmTPRJLFgXE=", + "dev": true + }, + "react-hot-loader": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-1.3.1.tgz", + "integrity": "sha1-yVZHrni3Pfzv9uxx/8sEGC/22vk=", + "dev": true, + "requires": { + "react-hot-api": "^0.4.5", + "source-map": "^0.4.4" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "react-overlays": { + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-0.6.12.tgz", + "integrity": "sha1-oHnHUMxCnX20x0dKlbS1QDPiVcM=", + "dev": true, + "requires": { + "classnames": "^2.2.5", + "dom-helpers": "^3.2.0", + "react-prop-types": "^0.4.0", + "warning": "^3.0.0" + }, + "dependencies": { + "dom-helpers": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz", + "integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg==", + "dev": true + }, + "react-prop-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/react-prop-types/-/react-prop-types-0.4.0.tgz", + "integrity": "sha1-+ZsL+0AGkpya8gUefBQUpcdbk9A=", + "dev": true, + "requires": { + "warning": "^3.0.0" + } + }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "react-prop-types": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/react-prop-types/-/react-prop-types-0.3.2.tgz", + "integrity": "sha1-4nY6xvOoAZnYmBw2R8RLBVTJe38=", + "dev": true, + "requires": { + "warning": "^2.0.0" + } + }, + "react-proxy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", + "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", + "dev": true, + "requires": { + "lodash": "^4.6.1", + "react-deep-force-update": "^1.0.0" + } + }, + "react-router": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-2.8.1.tgz", + "integrity": "sha1-c+lJH2zrMW0Pd5gpCBhj43juTtc=", + "dev": true, + "requires": { + "history": "^2.1.2", + "hoist-non-react-statics": "^1.2.0", + "invariant": "^2.2.1", + "loose-envify": "^1.2.0", + "warning": "^3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "react-transform-catch-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/react-transform-catch-errors/-/react-transform-catch-errors-1.0.2.tgz", + "integrity": "sha1-G01KdulycYlvwW/jCGx5PsiKnus=", + "dev": true + }, + "react-transform-hmr": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz", + "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=", + "dev": true, + "requires": { + "global": "^4.3.0", + "react-proxy": "^1.1.7" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + } + }, + "recast": { + "version": "0.10.33", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz", + "integrity": "sha1-lCgI96oBbx+nFCxGHX5XBKqo1pc=", + "dev": true, + "requires": { + "ast-types": "0.8.12", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "dependencies": { + "ast-types": { + "version": "0.8.12", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz", + "integrity": "sha1-oNkOQ1G7iHcWyD/WN+v4GK9K38w=", + "dev": true + } + } + }, + "redbox-react": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.6.0.tgz", + "integrity": "sha512-mLjM5eYR41yOp5YKHpd3syFeGq6B4Wj5vZr64nbLvTZW5ZLff4LYk7VE4ITpVxkZpCY6OZuqh0HiP3A3uEaCpg==", + "dev": true, + "requires": { + "error-stack-parser": "^1.3.6", + "object-assign": "^4.0.1", + "prop-types": "^15.5.4", + "sourcemapped-stacktrace": "^1.1.6" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "requires": { + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerator": { + "version": "0.8.40", + "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz", + "integrity": "sha1-oORXxY69uuV1yfjNdRJ+k3VkNdg=", + "dev": true, + "requires": { + "commoner": "~0.10.3", + "defs": "~1.1.0", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "recast": "0.10.33", + "through": "~2.3.8" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpu": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.3.0.tgz", + "integrity": "sha1-5TTcmRqeWEYFDJjebX3UpVyeoW0=", + "dev": true, + "requires": { + "esprima": "^2.6.0", + "recast": "^0.10.10", + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + } + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "simple-fmt": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz", + "integrity": "sha1-GRv1ZqWeZTBILLJatTtKjchcOms=", + "dev": true + }, + "simple-is": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz", + "integrity": "sha1-Krt1qt453rXMgVzhDmGRFkhQuvA=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "dev": true, + "requires": { + "debug": "^2.6.6", + "eventsource": "0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", + "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "sourcemapped-stacktrace": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.8.tgz", + "integrity": "sha512-OkVoI7GQOLl/laR1qsSo1c87tS8kF2VXhQq2SrQCDdXufBAcm8FgXogWso96ciMYoDtTw1Dn70CVdwYzoYs6Pg==", + "dev": true, + "requires": { + "source-map": "0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } + } + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackframe": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", + "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-cache": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stream-cache/-/stream-cache-0.0.2.tgz", + "integrity": "sha1-GsWtaDJCjKVWZ9ve45Xa1ObbEY8=", + "dev": true + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringmap": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz", + "integrity": "sha1-VWwTeyWPlCuHdvWy71gqoGnX0bE=", + "dev": true + }, + "stringset": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz", + "integrity": "sha1-7yWcTjSTRDd/zRyRPdLoSMnAQrU=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "style-attr": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/style-attr/-/style-attr-1.3.0.tgz", + "integrity": "sha512-srFr54gzEZoy73WgYfnbxCAtNCzF0Hn5RGzK7gi/0G6ttZd9v3WZFGY4ed5ABr43dbGjPNr4T46geUxxUP9i6w==" + }, + "style-loader": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.12.4.tgz", + "integrity": "sha1-rn0GZdxNxlPaov6Xu5CRS8HSLZs=", + "dev": true, + "requires": { + "loader-utils": "^0.2.7" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" + } + }, + "tapable": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "time-stamp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", + "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + } + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "try-resolve": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/try-resolve/-/try-resolve-1.0.1.tgz", + "integrity": "sha1-z95vq9ctY+V5fPqrhzq76OcA6RI=", + "dev": true + }, + "tryor": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz", + "integrity": "sha1-gUXkynyv9ArN48z5Rui4u3W0Fys=", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + } + }, + "ua-parser-js": { + "version": "0.7.18", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", + "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, + "requires": { + "source-map": "^0.5.6", + "uglify-js": "^2.8.29", + "webpack-sources": "^1.0.1" + }, + "dependencies": { + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + } + } + }, + "uncontrollable": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-3.3.1.tgz", + "integrity": "sha1-4jtALnpMabGFP7S0PONLZIDGW28=", + "dev": true, + "requires": { + "invariant": "^2.1.0" + } + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.0.tgz", + "integrity": "sha512-ERuGxDiQ6Xw/agN4tuoCRbmwRuZP0cJ1lJxJubXr5Q/5cDa78+Dc4wfvtxzhzhkm5VvmW6Mf8EVj9SPGN4l8Lg==", + "dev": true, + "requires": { + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true + }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "dev": true, + "requires": { + "user-home": "^1.1.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", + "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", + "dev": true + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "warning": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz", + "integrity": "sha1-ISINnGOvx3qMkhEeARr3Bc4MaQE=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.1.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "webpack": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.0.0.tgz", + "integrity": "sha1-7pvOvyEkf3FTy0EBaMq0XjpZ1Nc=", + "dev": true, + "requires": { + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^5.1.5", + "ajv-keywords": "^2.0.0", + "async": "^2.1.2", + "enhanced-resolve": "^3.0.0", + "escope": "^3.6.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "json5": "^0.5.1", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^3.1.0", + "tapable": "~0.2.5", + "uglifyjs-webpack-plugin": "^0.4.4", + "watchpack": "^1.3.1", + "webpack-sources": "^1.0.1", + "yargs": "^6.0.0" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.2.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", + "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", + "dev": true, + "requires": { + "memory-fs": "~0.4.1", + "mime": "^1.5.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "time-stamp": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "1.16.5", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-1.16.5.tgz", + "integrity": "sha1-DL1fLSrI1OWTqs1clwLnu9XlmJI=", + "dev": true, + "requires": { + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "express": "^4.13.3", + "http-proxy-middleware": "~0.17.1", + "open": "0.0.5", + "optimist": "~0.6.1", + "serve-index": "^1.7.2", + "sockjs": "^0.3.15", + "sockjs-client": "^1.0.3", + "stream-cache": "~0.0.1", + "strip-ansi": "^3.0.0", + "supports-color": "^3.1.1", + "webpack-dev-middleware": "^1.10.2" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "webpack-hot-middleware": { + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.22.2.tgz", + "integrity": "sha512-uccPS6b/UlXJoNCS+3fuc40z2KZgO0qQhnu+Ne1iZiHTy9s5fMCJAV+Vc8VTVkN203UphsxQmkumxYeHLiQ5jg==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "html-entities": "^1.2.0", + "querystring": "^0.2.0", + "strip-ansi": "^3.0.0" + } + }, + "webpack-sources": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.1.5.tgz", + "integrity": "sha1-qh86vw8NdNtxEcQOUAuE+WZkB1A=", + "dev": true, + "requires": { + "source-list-map": "~0.1.7", + "source-map": "~0.5.3" + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz", + "integrity": "sha1-ISBUaTFuk5Ex1Z8toMbX+YIh6kA=", + "dev": true, + "requires": { + "camelcase": "^1.2.1", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "os-locale": "^1.4.0", + "window-size": "^0.1.2", + "y18n": "^3.2.0" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } +} diff --git a/package.json b/package.json index ecc929e..892e191 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "react-router": "^2.0.0", "style-loader": "^0.12.4", "tapable": "^0.2.4", + "webpack": "^3.0.0", "webpack-dev-middleware": "^1.5.1", "webpack-dev-server": "^1.11.0", "webpack-hot-middleware": "^2.9.1" @@ -49,6 +50,7 @@ "dependencies": { "d3-array": "^0.7.1", "d3-scale": "^0.6.4", + "prop-types": "^15.6.1", "react-d3-core": "^1.2.8", "react-d3-shape": "^0.2.13", "react-faux-dom": "^2.1.0" diff --git a/react-d3-basic.js b/react-d3-basic.js index 7d5b505..4717e40 100644 --- a/react-d3-basic.js +++ b/react-d3-basic.js @@ -2,15338 +2,26699 @@ var ReactD3Basic = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; - +/******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { - +/******/ /******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) +/******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; - +/******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} /******/ }; - +/******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - +/******/ /******/ // Flag the module as loaded -/******/ module.loaded = true; - +/******/ module.l = true; +/******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } - - +/******/ +/******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; - +/******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; - +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; - +/******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(0); +/******/ return __webpack_require__(__webpack_require__.s = 84); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports) { - 'use strict'; +module.exports = React; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.PieChart = exports.BarStackHorizontalChart = exports.BarStackChart = exports.AreaStackChart = exports.BarGroupHorizontalChart = exports.BarGroupChart = exports.BarHorizontalChart = exports.BarChart = exports.ScatterPlot = exports.AreaChart = exports.LineChart = undefined; +/***/ }), +/* 1 */ +/***/ (function(module, exports) { + +module.exports = function(module) { + if(!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + if(!module.children) module.children = []; + Object.defineProperty(module, "loaded", { + enumerable: true, + get: function() { + return module.l; + } + }); + Object.defineProperty(module, "id", { + enumerable: true, + get: function() { + return module.i; + } + }); + module.webpackPolyfill = 1; + } + return module; +}; - var _line = __webpack_require__(1); - var _line2 = _interopRequireDefault(_line); +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { - var _area = __webpack_require__(63); +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _svg = __webpack_require__(77); - var _area2 = _interopRequireDefault(_area); +Object.defineProperty(exports, 'Svg', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_svg).default; + } +}); + +var _title = __webpack_require__(204); + +Object.defineProperty(exports, 'Title', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_title).default; + } +}); + +var _chartContainer = __webpack_require__(205); + +Object.defineProperty(exports, 'Chart', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_chartContainer).default; + } +}); + +var _axis = __webpack_require__(32); + +Object.defineProperty(exports, 'Axis', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_axis).default; + } +}); + +var _xaxis = __webpack_require__(219); + +Object.defineProperty(exports, 'Xaxis', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_xaxis).default; + } +}); + +var _yaxis = __webpack_require__(220); + +Object.defineProperty(exports, 'Yaxis', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_yaxis).default; + } +}); + +var _label = __webpack_require__(46); + +Object.defineProperty(exports, 'Label', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_label).default; + } +}); + +var _legend = __webpack_require__(80); + +Object.defineProperty(exports, 'Legend', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_legend).default; + } +}); + +var _grid = __webpack_require__(47); + +Object.defineProperty(exports, 'Grid', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_grid).default; + } +}); + +var _xgrid = __webpack_require__(221); + +Object.defineProperty(exports, 'Xgrid', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_xgrid).default; + } +}); + +var _ygrid = __webpack_require__(222); + +Object.defineProperty(exports, 'Ygrid', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_ygrid).default; + } +}); + +var _scale = __webpack_require__(43); + +Object.defineProperty(exports, 'scale', { + enumerable: true, + get: function get() { + return _scale.scale; + } +}); + +var _xDomain = __webpack_require__(223); + +Object.defineProperty(exports, 'xDomainCount', { + enumerable: true, + get: function get() { + return _xDomain.xDomain; + } +}); + +var _yDomain = __webpack_require__(224); + +Object.defineProperty(exports, 'yDomainCount', { + enumerable: true, + get: function get() { + return _yDomain.yDomain; + } +}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +if (process.env.NODE_ENV !== 'production') { + var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && + Symbol.for && + Symbol.for('react.element')) || + 0xeac7; + + var isValidElement = function(object) { + return typeof object === 'object' && + object !== null && + object.$$typeof === REACT_ELEMENT_TYPE; + }; + + // By explicitly using `prop-types` you are opting into new development behavior. + // http://fb.me/prop-types-in-prod + var throwOnDirectAccess = true; + module.exports = __webpack_require__(86)(isValidElement, throwOnDirectAccess); +} else { + // By explicitly using `prop-types` you are opting into new production behavior. + // http://fb.me/prop-types-in-prod + module.exports = __webpack_require__(88)(); +} + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(17))) + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { - var _scatter = __webpack_require__(64); +"use strict"; - var _scatter2 = _interopRequireDefault(_scatter); - var _bar = __webpack_require__(65); +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.__RewireAPI__ = exports.__ResetDependency__ = exports.__set__ = exports.__Rewire__ = exports.__GetDependency__ = exports.__get__ = exports.RedBoxError = undefined; - var _bar2 = _interopRequireDefault(_bar); +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - var _bar_horizontal = __webpack_require__(66); +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); - var _bar_horizontal2 = _interopRequireDefault(_bar_horizontal); +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - var _bar_group = __webpack_require__(67); +var _propTypes = __webpack_require__(3); - var _bar_group2 = _interopRequireDefault(_bar_group); +var _propTypes2 = _interopRequireDefault(_propTypes); - var _bar_group_horizontal = __webpack_require__(68); +var _react = __webpack_require__(0); - var _bar_group_horizontal2 = _interopRequireDefault(_bar_group_horizontal); +var _react2 = _interopRequireDefault(_react); - var _area_stack = __webpack_require__(69); +var _reactDom = __webpack_require__(89); - var _area_stack2 = _interopRequireDefault(_area_stack); +var _reactDom2 = _interopRequireDefault(_reactDom); - var _bar_stack = __webpack_require__(70); +var _style = __webpack_require__(90); - var _bar_stack2 = _interopRequireDefault(_bar_stack); +var _style2 = _interopRequireDefault(_style); - var _bar_stack_horizontal = __webpack_require__(71); +var _errorStackParser = __webpack_require__(91); - var _bar_stack_horizontal2 = _interopRequireDefault(_bar_stack_horizontal); +var _errorStackParser2 = _interopRequireDefault(_errorStackParser); - var _pie = __webpack_require__(72); +var _objectAssign = __webpack_require__(50); - var _pie2 = _interopRequireDefault(_pie); +var _objectAssign2 = _interopRequireDefault(_objectAssign); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _lib = __webpack_require__(93); - exports.LineChart = _line2.default; // Export high level charts +var _sourcemappedStacktrace = __webpack_require__(94); - exports.AreaChart = _area2.default; - exports.ScatterPlot = _scatter2.default; - exports.BarChart = _bar2.default; - exports.BarHorizontalChart = _bar_horizontal2.default; - exports.BarGroupChart = _bar_group2.default; - exports.BarGroupHorizontalChart = _bar_group_horizontal2.default; - exports.AreaStackChart = _area_stack2.default; - exports.BarStackChart = _bar_stack2.default; - exports.BarStackHorizontalChart = _bar_stack_horizontal2.default; - exports.PieChart = _pie2.default; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -/***/ }, -/* 1 */ -/***/ function(module, exports, __webpack_require__) { +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - "use strict"; +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - Object.defineProperty(exports, "__esModule", { - value: true - }); +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +var RedBoxError = exports.RedBoxError = function (_get__2) { + _inherits(RedBoxError, _get__2); - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + function RedBoxError(props) { + _classCallCheck(this, RedBoxError); - var _react = __webpack_require__(2); + var _this = _possibleConstructorReturn(this, (RedBoxError.__proto__ || Object.getPrototypeOf(RedBoxError)).call(this, props)); - var _react2 = _interopRequireDefault(_react); + _this.state = { + error: null, + mapped: false + }; - var _reactD3Core = __webpack_require__(3); + _this.mapOnConstruction(props.error); + return _this; + } - var _reactD3Shape = __webpack_require__(43); + // State is used to store the error mapped to the source map. - var _commonProps = __webpack_require__(62); - var _commonProps2 = _interopRequireDefault(_commonProps); + _createClass(RedBoxError, [{ + key: 'componentDidMount', + value: function componentDidMount() { + if (!this.state.mapped) this.mapError(this.props.error); + } - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + // Try to map the error when the component gets constructed, this is possible + // in some cases like evals. - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + }, { + key: 'mapOnConstruction', + value: function mapOnConstruction(error) { + var stackLines = error.stack.split('\n'); - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + // There's no stack, only the error message. + if (stackLines.length < 2) { + this.state = { error: error, mapped: true }; + return; + } + + // Using the “eval” setting on webpack already gives the correct location. + var isWebpackEval = stackLines[1].search(/\(webpack:\/{3}/) !== -1; + if (isWebpackEval) { + // No changes are needed here. + this.state = { error: error, mapped: true }; + return; + } + + // Other eval follow a specific pattern and can be easily parsed. + var isEval = stackLines[1].search(/\(eval at/) !== -1; + if (!isEval) { + // mapping will be deferred until `componentDidMount` + this.state = { error: error, mapped: false }; + return; + } + + // The first line is the error message. + var fixedLines = [stackLines.shift()]; + // The rest needs to be fixed. + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = stackLines[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var stackLine = _step.value; + + var evalStackLine = stackLine.match(/(.+)\(eval at (.+) \(.+?\), .+(\:[0-9]+\:[0-9]+)\)/); + if (evalStackLine) { + var _evalStackLine = _slicedToArray(evalStackLine, 4), + atSomething = _evalStackLine[1], + file = _evalStackLine[2], + rowColumn = _evalStackLine[3]; + + fixedLines.push(atSomething + ' (' + file + rowColumn + ')'); + } else { + // TODO: When stack frames of different types are detected, try to load the additional source maps + fixedLines.push(stackLine); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + error.stack = fixedLines.join('\n'); + this.state = { error: error, mapped: true }; + } + }, { + key: 'mapError', + value: function mapError(error) { + var _this2 = this; + + _get__('mapStackTrace')(error.stack, function (mappedStack) { + error.stack = mappedStack.join('\n'); + _this2.setState({ error: error, mapped: true }); + }); + } + }, { + key: 'renderFrames', + value: function renderFrames(frames) { + var _props = this.props, + filename = _props.filename, + editorScheme = _props.editorScheme, + useLines = _props.useLines, + useColumns = _props.useColumns; + + var _get__3 = _get__('assign')({}, _get__('style'), this.props.style), + frame = _get__3.frame, + file = _get__3.file, + linkToFile = _get__3.linkToFile; + + return frames.map(function (f, index) { + var text = void 0; + var url = void 0; + + if (index === 0 && filename && !_get__('isFilenameAbsolute')(f.fileName)) { + url = _get__('makeUrl')(filename, editorScheme); + text = _get__('makeLinkText')(filename); + } else { + var lines = useLines ? f.lineNumber : null; + var columns = useColumns ? f.columnNumber : null; + url = _get__('makeUrl')(f.fileName, editorScheme, lines, columns); + text = _get__('makeLinkText')(f.fileName, lines, columns); + } + + return _get__('React').createElement( + 'div', + { style: frame, key: index }, + _get__('React').createElement( + 'div', + null, + f.functionName + ), + _get__('React').createElement( + 'div', + { style: file }, + _get__('React').createElement( + 'a', + { href: url, style: linkToFile }, + text + ) + ) + ); + }); + } + }, { + key: 'render', + value: function render() { + // The error is received as a property to initialize state.error, which may + // be updated when it is mapped to the source map. + var error = this.state.error; + var className = this.props.className; + + var _get__4 = _get__('assign')({}, _get__('style'), this.props.style), + redbox = _get__4.redbox, + message = _get__4.message, + stack = _get__4.stack, + frame = _get__4.frame; + + var frames = void 0; + var parseError = void 0; + try { + frames = _get__('ErrorStackParser').parse(error); + } catch (e) { + parseError = new Error('Failed to parse stack trace. Stack trace information unavailable.'); + } + + if (parseError) { + frames = _get__('React').createElement( + 'div', + { style: frame, key: 0 }, + _get__('React').createElement( + 'div', + null, + parseError.message + ) + ); + } else { + frames = this.renderFrames(frames); + } + + return _get__('React').createElement( + 'div', + { style: redbox, className: className }, + _get__('React').createElement( + 'div', + { style: message }, + error.name, + ': ', + error.message + ), + _get__('React').createElement( + 'div', + { style: stack }, + frames + ) + ); + } + }]); + + return RedBoxError; +}(_get__('Component')); + +// "Portal" component for actual RedBoxError component to +// render to (directly under body). Prevents bugs as in #27. + + +RedBoxError.propTypes = { + error: _get__('PropTypes').instanceOf(Error).isRequired, + filename: _get__('PropTypes').string, + editorScheme: _get__('PropTypes').string, + useLines: _get__('PropTypes').bool, + useColumns: _get__('PropTypes').bool, + style: _get__('PropTypes').object, + className: _get__('PropTypes').string +}; +RedBoxError.displayName = 'RedBoxError'; +RedBoxError.defaultProps = { + useLines: true, + useColumns: true }; + +var RedBox = function (_get__5) { + _inherits(RedBox, _get__5); + + function RedBox() { + _classCallCheck(this, RedBox); + + return _possibleConstructorReturn(this, (RedBox.__proto__ || Object.getPrototypeOf(RedBox)).apply(this, arguments)); + } + + _createClass(RedBox, [{ + key: 'componentDidMount', + value: function componentDidMount() { + this.el = document.createElement('div'); + document.body.appendChild(this.el); + this.renderRedBoxError(); + } + }, { + key: 'componentDidUpdate', + value: function componentDidUpdate() { + this.renderRedBoxError(); + } + }, { + key: 'componentWillUnmount', + value: function componentWillUnmount() { + _get__('ReactDOM').unmountComponentAtNode(this.el); + document.body.removeChild(this.el); + this.el = null; + } + }, { + key: 'renderRedBoxError', + value: function renderRedBoxError() { + _get__('ReactDOM').render(_get__('React').createElement(_get__('RedBoxError'), this.props), this.el); + } + }, { + key: 'render', + value: function render() { + return null; + } + }]); + + return RedBox; +}(_get__('Component')); + +RedBox.propTypes = { + error: _get__('PropTypes').instanceOf(Error).isRequired +}; +RedBox.displayName = 'RedBox'; +exports.default = RedBox; + +var _RewiredData__ = Object.create(null); + +var INTENTIONAL_UNDEFINED = '__INTENTIONAL_UNDEFINED__'; +var _RewireAPI__ = {}; + +(function () { + function addPropertyToAPIObject(name, value) { + Object.defineProperty(_RewireAPI__, name, { + value: value, + enumerable: false, + configurable: true + }); + } + + addPropertyToAPIObject('__get__', _get__); + addPropertyToAPIObject('__GetDependency__', _get__); + addPropertyToAPIObject('__Rewire__', _set__); + addPropertyToAPIObject('__set__', _set__); + addPropertyToAPIObject('__reset__', _reset__); + addPropertyToAPIObject('__ResetDependency__', _reset__); + addPropertyToAPIObject('__with__', _with__); +})(); + +function _get__(variableName) { + if (_RewiredData__ === undefined || _RewiredData__[variableName] === undefined) { + return _get_original__(variableName); + } else { + var value = _RewiredData__[variableName]; + + if (value === INTENTIONAL_UNDEFINED) { + return undefined; + } else { + return value; + } + } +} + +function _get_original__(variableName) { + switch (variableName) { + case 'PropTypes': + return _propTypes2.default; + + case 'mapStackTrace': + return _sourcemappedStacktrace.mapStackTrace; + + case 'assign': + return _objectAssign2.default; + + case 'style': + return _style2.default; + + case 'isFilenameAbsolute': + return _lib.isFilenameAbsolute; + + case 'makeUrl': + return _lib.makeUrl; + + case 'makeLinkText': + return _lib.makeLinkText; + + case 'ErrorStackParser': + return _errorStackParser2.default; + + case 'Component': + return _react.Component; + + case 'ReactDOM': + return _reactDom2.default; + + case 'React': + return _react2.default; + + case 'RedBoxError': + return RedBoxError; + } + + return undefined; +} + +function _assign__(variableName, value) { + if (_RewiredData__ === undefined || _RewiredData__[variableName] === undefined) { + return _set_original__(variableName, value); + } else { + return _RewiredData__[variableName] = value; + } +} + +function _set_original__(variableName, _value) { + switch (variableName) {} + + return undefined; +} + +function _update_operation__(operation, variableName, prefix) { + var oldValue = _get__(variableName); + + var newValue = operation === '++' ? oldValue + 1 : oldValue - 1; + + _assign__(variableName, newValue); + + return prefix ? newValue : oldValue; +} + +function _set__(variableName, value) { + if ((typeof variableName === 'undefined' ? 'undefined' : _typeof(variableName)) === 'object') { + Object.keys(variableName).forEach(function (name) { + _RewiredData__[name] = variableName[name]; + }); + } else { + if (value === undefined) { + _RewiredData__[variableName] = INTENTIONAL_UNDEFINED; + } else { + _RewiredData__[variableName] = value; + } + + return function () { + _reset__(variableName); + }; + } +} + +function _reset__(variableName) { + delete _RewiredData__[variableName]; +} + +function _with__(object) { + var rewiredVariableNames = Object.keys(object); + var previousValues = {}; + + function reset() { + rewiredVariableNames.forEach(function (variableName) { + _RewiredData__[variableName] = previousValues[variableName]; + }); + } + + return function (callback) { + rewiredVariableNames.forEach(function (variableName) { + previousValues[variableName] = _RewiredData__[variableName]; + _RewiredData__[variableName] = object[variableName]; + }); + var result = callback(); + + if (!!result && typeof result.then == 'function') { + result.then(reset).catch(reset); + } else { + reset(); + } + + return result; + }; +} + +var _typeOfOriginalExport = typeof RedBox === 'undefined' ? 'undefined' : _typeof(RedBox); + +function addNonEnumerableProperty(name, value) { + Object.defineProperty(RedBox, name, { + value: value, + enumerable: false, + configurable: true + }); +} + +if ((_typeOfOriginalExport === 'object' || _typeOfOriginalExport === 'function') && Object.isExtensible(RedBox)) { + addNonEnumerableProperty('__get__', _get__); + addNonEnumerableProperty('__GetDependency__', _get__); + addNonEnumerableProperty('__Rewire__', _set__); + addNonEnumerableProperty('__set__', _set__); + addNonEnumerableProperty('__reset__', _reset__); + addNonEnumerableProperty('__ResetDependency__', _reset__); + addNonEnumerableProperty('__with__', _with__); + addNonEnumerableProperty('__RewireAPI__', _RewireAPI__); +} + +exports.__get__ = _get__; +exports.__GetDependency__ = _get__; +exports.__Rewire__ = _set__; +exports.__set__ = _set__; +exports.__ResetDependency__ = _reset__; +exports.__RewireAPI__ = _RewireAPI__; + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = catchErrors; +function catchErrors(_ref) { + var filename = _ref.filename; + var components = _ref.components; + var imports = _ref.imports; + + var _imports = _slicedToArray(imports, 3); + + var React = _imports[0]; + var ErrorReporter = _imports[1]; + var reporterOptions = _imports[2]; + + if (!React || !React.Component) { + throw new Error('imports[0] for react-transform-catch-errors does not look like React.'); + } + if (typeof ErrorReporter !== 'function') { + throw new Error('imports[1] for react-transform-catch-errors does not look like a React component.'); + } + + return function wrapToCatchErrors(ReactClass, componentId) { + var originalRender = ReactClass.prototype.render; + + ReactClass.prototype.render = function tryRender() { + try { + return originalRender.apply(this, arguments); + } catch (err) { + setTimeout(function () { + if (typeof console.reportErrorsAsExceptions !== 'undefined') { + var prevReportErrorAsExceptions = console.reportErrorsAsExceptions; + // We're in React Native. Don't throw. + // Stop react-native from triggering its own error handler + console.reportErrorsAsExceptions = false; + // Log an error + console.error(err); + // Reactivate it so other errors are still handled + console.reportErrorsAsExceptions = prevReportErrorAsExceptions; + } else { + throw err; + } + }); + + return React.createElement(ErrorReporter, _extends({ + error: err, + filename: filename + }, reporterOptions)); + } + }; + + return ReactClass; + }; +} + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +"use strict"; - var LineChart = function (_Component) { - _inherits(LineChart, _Component); - function LineChart(props) { - _classCallCheck(this, LineChart); +Object.defineProperty(exports, '__esModule', { + value: true +}); - return _possibleConstructorReturn(this, Object.getPrototypeOf(LineChart).call(this, props)); - } +var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })(); - _createClass(LineChart, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - - - var xgrid, ygrid; - - if (showXGrid) xgrid = _react2.default.createElement(_reactD3Core.Xgrid, null); - if (showYGrid) ygrid = _react2.default.createElement(_reactD3Core.Ygrid, null); - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.Chart, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries - }), - _react2.default.createElement(_reactD3Shape.Line, { - chartSeries: chartSeries - }), - xgrid, - ygrid, - _react2.default.createElement(_reactD3Core.Xaxis, null), - _react2.default.createElement(_reactD3Core.Yaxis, null), - this.props.children - ) - ); - } - }]); - - return LineChart; - }(_react.Component); - - LineChart.defaultProps = _extends({ - showScatter: false - }, _commonProps2.default); - LineChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired - }; - exports.default = LineChart; - module.exports = exports['default']; +exports['default'] = proxyReactComponents; -/***/ }, -/* 2 */ -/***/ function(module, exports) { +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - module.exports = React; +var _reactProxy = __webpack_require__(95); -/***/ }, -/* 3 */ -/***/ function(module, exports, __webpack_require__) { +var _globalWindow = __webpack_require__(199); - 'use strict'; +var _globalWindow2 = _interopRequireDefault(_globalWindow); - Object.defineProperty(exports, "__esModule", { - value: true - }); +var componentProxies = undefined; +if (_globalWindow2['default'].__reactComponentProxies) { + componentProxies = _globalWindow2['default'].__reactComponentProxies; +} else { + componentProxies = {}; + Object.defineProperty(_globalWindow2['default'], '__reactComponentProxies', { + configurable: true, + enumerable: false, + writable: false, + value: componentProxies + }); +} - var _svg = __webpack_require__(4); +function proxyReactComponents(_ref) { + var filename = _ref.filename; + var components = _ref.components; + var imports = _ref.imports; + var locals = _ref.locals; - Object.defineProperty(exports, 'Svg', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_svg).default; - } - }); + var _imports = _slicedToArray(imports, 1); - var _title = __webpack_require__(15); + var React = _imports[0]; - Object.defineProperty(exports, 'Title', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_title).default; - } - }); + var _locals = _slicedToArray(locals, 1); - var _chartContainer = __webpack_require__(16); + var hot = _locals[0].hot; - Object.defineProperty(exports, 'Chart', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_chartContainer).default; - } - }); + if (!React.Component) { + throw new Error('imports[0] for react-transform-hmr does not look like React.'); + } - var _axis = __webpack_require__(33); + if (!hot || typeof hot.accept !== 'function') { + throw new Error('locals[0] does not appear to be a `module` object with Hot Module ' + 'replacement API enabled. You should disable react-transform-hmr in ' + 'production by using `env` section in Babel configuration. See the ' + 'example in README: https://github.com/gaearon/react-transform-hmr'); + } - Object.defineProperty(exports, 'Axis', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_axis).default; - } - }); + if (Object.keys(components).some(function (key) { + return !components[key].isInFunction; + })) { + hot.accept(function (err) { + if (err) { + console.warn('[React Transform HMR] There was an error updating ' + filename + ':'); + console.error(err); + } + }); + } - var _xaxis = __webpack_require__(35); + var forceUpdate = (0, _reactProxy.getForceUpdate)(React); - Object.defineProperty(exports, 'Xaxis', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_xaxis).default; - } - }); + return function wrapWithProxy(ReactClass, uniqueId) { + var _components$uniqueId = components[uniqueId]; + var _components$uniqueId$isInFunction = _components$uniqueId.isInFunction; + var isInFunction = _components$uniqueId$isInFunction === undefined ? false : _components$uniqueId$isInFunction; + var _components$uniqueId$displayName = _components$uniqueId.displayName; + var displayName = _components$uniqueId$displayName === undefined ? uniqueId : _components$uniqueId$displayName; - var _yaxis = __webpack_require__(37); + if (isInFunction) { + return ReactClass; + } - Object.defineProperty(exports, 'Yaxis', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_yaxis).default; - } - }); + var globalUniqueId = filename + '$' + uniqueId; + if (componentProxies[globalUniqueId]) { + (function () { + console.info('[React Transform HMR] Patching ' + displayName); + var instances = componentProxies[globalUniqueId].update(ReactClass); + setTimeout(function () { + return instances.forEach(forceUpdate); + }); + })(); + } else { + componentProxies[globalUniqueId] = (0, _reactProxy.createProxy)(ReactClass); + } - var _label = __webpack_require__(36); + return componentProxies[globalUniqueId].get(); + }; +} - Object.defineProperty(exports, 'Label', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_label).default; - } - }); +module.exports = exports['default']; - var _legend = __webpack_require__(17); +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { - Object.defineProperty(exports, 'Legend', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_legend).default; - } - }); +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _series = __webpack_require__(8); - var _grid = __webpack_require__(38); +Object.defineProperty(exports, 'series', { + enumerable: true, + get: function get() { + return _series.series; + } +}); + +var _chart = __webpack_require__(225); + +Object.defineProperty(exports, 'Chart', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_chart).default; + } +}); + +var _chartpie = __webpack_require__(226); + +Object.defineProperty(exports, 'ChartPie', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_chartpie).default; + } +}); + +var _line = __webpack_require__(227); + +Object.defineProperty(exports, 'Line', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_line).default; + } +}); + +var _area = __webpack_require__(229); + +Object.defineProperty(exports, 'Area', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_area).default; + } +}); + +var _area_stack = __webpack_require__(230); + +Object.defineProperty(exports, 'AreaStack', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_area_stack).default; + } +}); + +var _bar = __webpack_require__(231); + +Object.defineProperty(exports, 'Bar', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_bar).default; + } +}); + +var _bar_horizontal = __webpack_require__(232); + +Object.defineProperty(exports, 'BarHorizontal', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_bar_horizontal).default; + } +}); + +var _bar_group = __webpack_require__(233); + +Object.defineProperty(exports, 'BarGroup', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_bar_group).default; + } +}); + +var _bar_group_horizontal = __webpack_require__(234); + +Object.defineProperty(exports, 'BarGroupHorizontal', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_bar_group_horizontal).default; + } +}); + +var _bar_stack = __webpack_require__(235); + +Object.defineProperty(exports, 'BarStack', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_bar_stack).default; + } +}); + +var _bar_stack_horizontal = __webpack_require__(236); + +Object.defineProperty(exports, 'BarStackHorizontal', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_bar_stack_horizontal).default; + } +}); + +var _pie = __webpack_require__(237); + +Object.defineProperty(exports, 'Pie', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_pie).default; + } +}); + +var _scatter = __webpack_require__(238); + +Object.defineProperty(exports, 'Scatter', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_scatter).default; + } +}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { - Object.defineProperty(exports, 'Grid', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_grid).default; - } - }); +"use strict"; - var _xgrid = __webpack_require__(39); - Object.defineProperty(exports, 'Xgrid', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_xgrid).default; - } - }); +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.series = series; - var _ygrid = __webpack_require__(40); +var _d = __webpack_require__(48); - Object.defineProperty(exports, 'Ygrid', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_ygrid).default; - } - }); +var _d2 = _interopRequireDefault(_d); - var _scale = __webpack_require__(6); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - Object.defineProperty(exports, 'scale', { - enumerable: true, - get: function get() { - return _scale.scale; - } - }); +function series(props, horizontal) { + var data = props.data; + var chartSeries = props.chartSeries; + var x = props.x; + var y = props.y; + var categoricalColors = props.categoricalColors; - var _xDomain = __webpack_require__(41); - Object.defineProperty(exports, 'xDomainCount', { - enumerable: true, - get: function get() { - return _xDomain.xDomain; - } - }); + categoricalColors = categoricalColors || _d2.default.scale.category10(); - var _yDomain = __webpack_require__(42); + var chartSeriesData = chartSeries.map(function (f, i) { - Object.defineProperty(exports, 'yDomainCount', { - enumerable: true, - get: function get() { - return _yDomain.yDomain; - } - }); + // set a color if not set + f.color = f.color || categoricalColors(i); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + // set name if not set + f.name = f.name || f.field; -/***/ }, -/* 4 */ -/***/ function(module, exports, __webpack_require__) { + // mapping throught data set x, y data + var mapping = data.map(function (d) { + if (!d._style) d._style = {}; - "use strict"; + if (!horizontal) { + return { + x: x(d), + y: y(d[f.field]), + color: f.color, + name: f.name, + field: f.field, + _style: d._style + }; + } else { + return { + y: y(d), + x: x(d[f.field]), + color: f.color, + name: f.name, + field: f.field, + _style: d._style + }; + } + }); - Object.defineProperty(exports, "__esModule", { - value: true - }); + return Object.assign(f, { data: mapping }); + }); - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + return chartSeriesData; +} - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.pieProps = exports.horizontalProps = undefined; + +var _d3Scale = __webpack_require__(15); + +var _d3Scale2 = _interopRequireDefault(_d3Scale); + +var _d3Array = __webpack_require__(31); + +var _d3Array2 = _interopRequireDefault(_d3Array); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var width = 960; +var height = 500; +var margins = { top: 40, right: 100, bottom: 40, left: 100 }; + +exports.default = { + width: width, + height: height, + margins: margins, + y: function y(d) { + return +d; + }, + xScale: 'linear', + yScale: 'linear', + showXGrid: true, + showYGrid: true, + showLegend: true +}; +var horizontalProps = exports.horizontalProps = { + width: width, + height: height, + margins: margins, + x: function x(d) { + return +d; + }, + xScale: 'linear', + yScale: 'linear', + showXGrid: true, + showYGrid: true, + showLegend: true +}; + +var pieProps = exports.pieProps = { + width: width, + height: height, + margins: margins, + innerRadius: 0, + categoricalColors: _d3Scale2.default.scaleCategory10(), + pieSort: _d3Array2.default.descending +}; + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { - var _react = __webpack_require__(2); +var freeGlobal = __webpack_require__(55); - var _react2 = _interopRequireDefault(_react); +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - var _commonProps = __webpack_require__(5); +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); - var _commonProps2 = _interopRequireDefault(_commonProps); +module.exports = root; - var _scale = __webpack_require__(6); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +/***/ }), +/* 11 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +module.exports = isArray; + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +"use strict"; - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = { + width: 960, + height: 500, + margins: { top: 80, right: 100, bottom: 80, left: 100 } +}; - var ChartSvg = function (_Component) { - _inherits(ChartSvg, _Component); +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { - function ChartSvg(props) { - _classCallCheck(this, ChartSvg); +var baseIsNative = __webpack_require__(111), + getValue = __webpack_require__(116); - return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartSvg).call(this, props)); - } +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} - _createClass(ChartSvg, [{ - key: 'render', - value: function render() { - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var svgClassName = _props.svgClassName; - var id = _props.id; - var children = _props.children; - - - var t = 'translate(' + margins.left + ', ' + margins.top + ')'; - - return _react2.default.createElement( - 'svg', - { - height: height, - width: width, - className: svgClassName, - id: id, - ref: 'svgContainer' - }, - _react2.default.createElement( - 'g', - { - transform: t - }, - children - ) - ); - } - }]); - - return ChartSvg; - }(_react.Component); - - ChartSvg.defaultProps = _extends({ - svgClassName: 'react-d3-core__container_svg', - onZoom: function onZoom() {}, - scaleExtent: [1, 10] - }, _commonProps2.default); - ChartSvg.propTypes = { - id: _react.PropTypes.string, - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - svgClassName: _react.PropTypes.string.isRequired - }; - exports.default = ChartSvg; +module.exports = getNative; -/***/ }, -/* 5 */ -/***/ function(module, exports) { - "use strict"; +/***/ }), +/* 14 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +module.exports = isObjectLike; + + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports, __webpack_require__(31), __webpack_require__(200), __webpack_require__(201), __webpack_require__(202), __webpack_require__(79), __webpack_require__(203), __webpack_require__(78)) : + typeof define === 'function' && define.amd ? define(['exports', 'd3-array', 'd3-collection', 'd3-interpolate', 'd3-format', 'd3-time', 'd3-time-format', 'd3-color'], factory) : + (factory((global.d3_scale = global.d3_scale || {}),global.d3_array,global.d3_collection,global.d3_interpolate,global.d3_format,global.d3_time,global.d3_time_format,global.d3_color)); +}(this, function (exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color) { 'use strict'; + + var array = Array.prototype; + + var map$1 = array.map; + var slice = array.slice; + + var implicit = {name: "implicit"}; + + function ordinal() { + var index = d3Collection.map(), + domain = [], + range = [], + unknown = implicit; + + function scale(d) { + var key = d + "", i = index.get(key); + if (!i) { + if (unknown !== implicit) return unknown; + index.set(key, i = domain.push(d)); + } + return range[(i - 1) % range.length]; + } + + scale.domain = function(_) { + if (!arguments.length) return domain.slice(); + domain = [], index = d3Collection.map(); + var i = -1, n = _.length, d, key; + while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d)); + return scale; + }; + + scale.range = function(_) { + return arguments.length ? (range = slice.call(_), scale) : range.slice(); + }; + + scale.unknown = function(_) { + return arguments.length ? (unknown = _, scale) : unknown; + }; + + scale.copy = function() { + return ordinal() + .domain(domain) + .range(range) + .unknown(unknown); + }; + + return scale; + } + + function band() { + var scale = ordinal().unknown(undefined), + domain = scale.domain, + ordinalRange = scale.range, + range = [0, 1], + step, + bandwidth, + round = false, + paddingInner = 0, + paddingOuter = 0, + align = 0.5; + + delete scale.unknown; + + function rescale() { + var n = domain().length, + reverse = range[1] < range[0], + start = range[reverse - 0], + stop = range[1 - reverse]; + step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2); + if (round) step = Math.floor(step); + start += (stop - start - step * (n - paddingInner)) * align; + bandwidth = step * (1 - paddingInner); + if (round) start = Math.round(start), bandwidth = Math.round(bandwidth); + var values = d3Array.range(n).map(function(i) { return start + step * i; }); + return ordinalRange(reverse ? values.reverse() : values); + } + + scale.domain = function(_) { + return arguments.length ? (domain(_), rescale()) : domain(); + }; + + scale.range = function(_) { + return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice(); + }; + + scale.rangeRound = function(_) { + return range = [+_[0], +_[1]], round = true, rescale(); + }; + + scale.bandwidth = function() { + return bandwidth; + }; + + scale.step = function() { + return step; + }; + + scale.round = function(_) { + return arguments.length ? (round = !!_, rescale()) : round; + }; + + scale.padding = function(_) { + return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner; + }; + + scale.paddingInner = function(_) { + return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner; + }; + + scale.paddingOuter = function(_) { + return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter; + }; + + scale.align = function(_) { + return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align; + }; + + scale.copy = function() { + return band() + .domain(domain()) + .range(range) + .round(round) + .paddingInner(paddingInner) + .paddingOuter(paddingOuter) + .align(align); + }; + + return rescale(); + } + + function pointish(scale) { + var copy = scale.copy; + + scale.padding = scale.paddingOuter; + delete scale.paddingInner; + delete scale.paddingOuter; + + scale.copy = function() { + return pointish(copy()); + }; + + return scale; + } + + function point() { + return pointish(band().paddingInner(1)); + } + + function constant(x) { + return function() { + return x; + }; + } + + function number(x) { + return +x; + } + + var unit = [0, 1]; + + function deinterpolate(a, b) { + return (b -= (a = +a)) + ? function(x) { return (x - a) / b; } + : constant(b); + } + + function deinterpolateClamp(deinterpolate) { + return function(a, b) { + var d = deinterpolate(a = +a, b = +b); + return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); }; + }; + } + + function reinterpolateClamp(reinterpolate) { + return function(a, b) { + var r = reinterpolate(a = +a, b = +b); + return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); }; + }; + } + + function bimap(domain, range, deinterpolate, reinterpolate) { + var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1]; + if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0); + else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1); + return function(x) { return r0(d0(x)); }; + } + + function polymap(domain, range, deinterpolate, reinterpolate) { + var j = Math.min(domain.length, range.length) - 1, + d = new Array(j), + r = new Array(j), + i = -1; + + // Reverse descending domains. + if (domain[j] < domain[0]) { + domain = domain.slice().reverse(); + range = range.slice().reverse(); + } + + while (++i < j) { + d[i] = deinterpolate(domain[i], domain[i + 1]); + r[i] = reinterpolate(range[i], range[i + 1]); + } + + return function(x) { + var i = d3Array.bisect(domain, x, 1, j) - 1; + return r[i](d[i](x)); + }; + } + + function copy(source, target) { + return target + .domain(source.domain()) + .range(source.range()) + .interpolate(source.interpolate()) + .clamp(source.clamp()); + } + + // deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1]. + // reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b]. + function continuous(deinterpolate$$, reinterpolate) { + var domain = unit, + range = unit, + interpolate = d3Interpolate.interpolate, + clamp = false, + output, + input; + + function rescale() { + var map = Math.min(domain.length, range.length) > 2 ? polymap : bimap; + output = map(domain, range, clamp ? deinterpolateClamp(deinterpolate$$) : deinterpolate$$, interpolate); + input = map(range, domain, deinterpolate, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate); + return scale; + } + + function scale(x) { + return output(+x); + } + + scale.invert = function(y) { + return input(+y); + }; + + scale.domain = function(_) { + return arguments.length ? (domain = map$1.call(_, number), rescale()) : domain.slice(); + }; + + scale.range = function(_) { + return arguments.length ? (range = slice.call(_), rescale()) : range.slice(); + }; + + scale.rangeRound = function(_) { + return range = slice.call(_), interpolate = d3Interpolate.interpolateRound, rescale(); + }; + + scale.clamp = function(_) { + return arguments.length ? (clamp = !!_, rescale()) : clamp; + }; + + scale.interpolate = function(_) { + return arguments.length ? (interpolate = _, rescale()) : interpolate; + }; + + return rescale(); + } + + function tickFormat(domain, count, specifier) { + var start = domain[0], + stop = domain[domain.length - 1], + step = d3Array.tickStep(start, stop, count == null ? 10 : count), + precision; + specifier = d3Format.formatSpecifier(specifier == null ? ",f" : specifier); + switch (specifier.type) { + case "s": { + var value = Math.max(Math.abs(start), Math.abs(stop)); + if (specifier.precision == null && !isNaN(precision = d3Format.precisionPrefix(step, value))) specifier.precision = precision; + return d3Format.formatPrefix(specifier, value); + } + case "": + case "e": + case "g": + case "p": + case "r": { + if (specifier.precision == null && !isNaN(precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e"); + break; + } + case "f": + case "%": { + if (specifier.precision == null && !isNaN(precision = d3Format.precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2; + break; + } + } + return d3Format.format(specifier); + } + + function linearish(scale) { + var domain = scale.domain; + + scale.ticks = function(count) { + var d = domain(); + return d3Array.ticks(d[0], d[d.length - 1], count == null ? 10 : count); + }; + + scale.tickFormat = function(count, specifier) { + return tickFormat(domain(), count, specifier); + }; + + scale.nice = function(count) { + var d = domain(), + i = d.length - 1, + n = count == null ? 10 : count, + start = d[0], + stop = d[i], + step = d3Array.tickStep(start, stop, n); + + if (step) { + step = d3Array.tickStep(Math.floor(start / step) * step, Math.ceil(stop / step) * step, n); + d[0] = Math.floor(start / step) * step; + d[i] = Math.ceil(stop / step) * step; + domain(d); + } + + return scale; + }; + + return scale; + } + + function linear() { + var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber); + + scale.copy = function() { + return copy(scale, linear()); + }; + + return linearish(scale); + } + + function identity() { + var domain = [0, 1]; + + function scale(x) { + return +x; + } + + scale.invert = scale; + + scale.domain = scale.range = function(_) { + return arguments.length ? (domain = map$1.call(_, number), scale) : domain.slice(); + }; + + scale.copy = function() { + return identity().domain(domain); + }; + + return linearish(scale); + } + + function nice(domain, interval) { + domain = domain.slice(); + + var i0 = 0, + i1 = domain.length - 1, + x0 = domain[i0], + x1 = domain[i1], + t; + + if (x1 < x0) { + t = i0, i0 = i1, i1 = t; + t = x0, x0 = x1, x1 = t; + } + + domain[i0] = interval.floor(x0); + domain[i1] = interval.ceil(x1); + return domain; + } + + function deinterpolate$1(a, b) { + return (b = Math.log(b / a)) + ? function(x) { return Math.log(x / a) / b; } + : constant(b); + } + + function reinterpolate(a, b) { + return a < 0 + ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); } + : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); }; + } + + function pow10(x) { + return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x; + } + + function powp(base) { + return base === 10 ? pow10 + : base === Math.E ? Math.exp + : function(x) { return Math.pow(base, x); }; + } + + function logp(base) { + return base === Math.E ? Math.log + : base === 10 && Math.log10 + || base === 2 && Math.log2 + || (base = Math.log(base), function(x) { return Math.log(x) / base; }); + } + + function reflect(f) { + return function(x) { + return -f(-x); + }; + } + + function log() { + var scale = continuous(deinterpolate$1, reinterpolate).domain([1, 10]), + domain = scale.domain, + base = 10, + logs = logp(10), + pows = powp(10); + + function rescale() { + logs = logp(base), pows = powp(base); + if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows); + return scale; + } + + scale.base = function(_) { + return arguments.length ? (base = +_, rescale()) : base; + }; + + scale.domain = function(_) { + return arguments.length ? (domain(_), rescale()) : domain(); + }; + + scale.ticks = function(count) { + var d = domain(), + u = d[0], + v = d[d.length - 1], + r; + + if (r = v < u) i = u, u = v, v = i; + + var i = logs(u), + j = logs(v), + p, + k, + t, + n = count == null ? 10 : +count, + z = []; + + if (!(base % 1) && j - i < n) { + i = Math.round(i) - 1, j = Math.round(j) + 1; + if (u > 0) for (; i < j; ++i) { + for (k = 1, p = pows(i); k < base; ++k) { + t = p * k; + if (t < u) continue; + if (t > v) break; + z.push(t); + } + } else for (; i < j; ++i) { + for (k = base - 1, p = pows(i); k >= 1; --k) { + t = p * k; + if (t < u) continue; + if (t > v) break; + z.push(t); + } + } + if (r) z.reverse(); + } else { + z = d3Array.ticks(i, j, Math.min(j - i, n)).map(pows); + } + + return z; + }; + + scale.tickFormat = function(count, specifier) { + if (specifier == null) specifier = base === 10 ? ".0e" : ","; + if (typeof specifier !== "function") specifier = d3Format.format(specifier); + if (count === Infinity) return specifier; + if (count == null) count = 10; + var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate? + return function(d) { + var i = d / pows(Math.round(logs(d))); + if (i * base < base - 0.5) i *= base; + return i <= k ? specifier(d) : ""; + }; + }; + + scale.nice = function() { + return domain(nice(domain(), { + floor: function(x) { return pows(Math.floor(logs(x))); }, + ceil: function(x) { return pows(Math.ceil(logs(x))); } + })); + }; + + scale.copy = function() { + return copy(scale, log().base(base)); + }; + + return scale; + } + + function raise(x, exponent) { + return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent); + } + + function pow() { + var exponent = 1, + scale = continuous(deinterpolate, reinterpolate), + domain = scale.domain; + + function deinterpolate(a, b) { + return (b = raise(b, exponent) - (a = raise(a, exponent))) + ? function(x) { return (raise(x, exponent) - a) / b; } + : constant(b); + } + + function reinterpolate(a, b) { + b = raise(b, exponent) - (a = raise(a, exponent)); + return function(t) { return raise(a + b * t, 1 / exponent); }; + } + + scale.exponent = function(_) { + return arguments.length ? (exponent = +_, domain(domain())) : exponent; + }; + + scale.copy = function() { + return copy(scale, pow().exponent(exponent)); + }; + + return linearish(scale); + } + + function sqrt() { + return pow().exponent(0.5); + } + + function quantile$1() { + var domain = [], + range = [], + thresholds = []; + + function rescale() { + var i = 0, n = Math.max(1, range.length); + thresholds = new Array(n - 1); + while (++i < n) thresholds[i - 1] = d3Array.quantile(domain, i / n); + return scale; + } + + function scale(x) { + if (!isNaN(x = +x)) return range[d3Array.bisect(thresholds, x)]; + } + + scale.invertExtent = function(y) { + var i = range.indexOf(y); + return i < 0 ? [NaN, NaN] : [ + i > 0 ? thresholds[i - 1] : domain[0], + i < thresholds.length ? thresholds[i] : domain[domain.length - 1] + ]; + }; + + scale.domain = function(_) { + if (!arguments.length) return domain.slice(); + domain = []; + for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d); + domain.sort(d3Array.ascending); + return rescale(); + }; + + scale.range = function(_) { + return arguments.length ? (range = slice.call(_), rescale()) : range.slice(); + }; + + scale.quantiles = function() { + return thresholds.slice(); + }; + + scale.copy = function() { + return quantile$1() + .domain(domain) + .range(range); + }; + + return scale; + } + + function quantize() { + var x0 = 0, + x1 = 1, + n = 1, + domain = [0.5], + range = [0, 1]; + + function scale(x) { + if (x <= x) return range[d3Array.bisect(domain, x, 0, n)]; + } + + function rescale() { + var i = -1; + domain = new Array(n); + while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1); + return scale; + } + + scale.domain = function(_) { + return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1]; + }; + + scale.range = function(_) { + return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice(); + }; + + scale.invertExtent = function(y) { + var i = range.indexOf(y); + return i < 0 ? [NaN, NaN] + : i < 1 ? [x0, domain[0]] + : i >= n ? [domain[n - 1], x1] + : [domain[i - 1], domain[i]]; + }; + + scale.copy = function() { + return quantize() + .domain([x0, x1]) + .range(range); + }; + + return linearish(scale); + } + + function threshold() { + var domain = [0.5], + range = [0, 1], + n = 1; + + function scale(x) { + if (x <= x) return range[d3Array.bisect(domain, x, 0, n)]; + } + + scale.domain = function(_) { + return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice(); + }; + + scale.range = function(_) { + return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice(); + }; + + scale.invertExtent = function(y) { + var i = range.indexOf(y); + return [domain[i - 1], domain[i]]; + }; + + scale.copy = function() { + return threshold() + .domain(domain) + .range(range); + }; + + return scale; + } + + var durationSecond = 1000; + var durationMinute = durationSecond * 60; + var durationHour = durationMinute * 60; + var durationDay = durationHour * 24; + var durationWeek = durationDay * 7; + var durationMonth = durationDay * 30; + var durationYear = durationDay * 365; + function newDate(t) { + return new Date(t); + } + + function calendar(year, month, week, day, hour, minute, second, millisecond, format) { + var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber), + invert = scale.invert, + domain = scale.domain; + + var formatMillisecond = format(".%L"), + formatSecond = format(":%S"), + formatMinute = format("%I:%M"), + formatHour = format("%I %p"), + formatDay = format("%a %d"), + formatWeek = format("%b %d"), + formatMonth = format("%B"), + formatYear = format("%Y"); + + var tickIntervals = [ + [second, 1, durationSecond], + [second, 5, 5 * durationSecond], + [second, 15, 15 * durationSecond], + [second, 30, 30 * durationSecond], + [minute, 1, durationMinute], + [minute, 5, 5 * durationMinute], + [minute, 15, 15 * durationMinute], + [minute, 30, 30 * durationMinute], + [ hour, 1, durationHour ], + [ hour, 3, 3 * durationHour ], + [ hour, 6, 6 * durationHour ], + [ hour, 12, 12 * durationHour ], + [ day, 1, durationDay ], + [ day, 2, 2 * durationDay ], + [ week, 1, durationWeek ], + [ month, 1, durationMonth ], + [ month, 3, 3 * durationMonth ], + [ year, 1, durationYear ] + ]; + + function tickFormat(date) { + return (second(date) < date ? formatMillisecond + : minute(date) < date ? formatSecond + : hour(date) < date ? formatMinute + : day(date) < date ? formatHour + : month(date) < date ? (week(date) < date ? formatDay : formatWeek) + : year(date) < date ? formatMonth + : formatYear)(date); + } + + function tickInterval(interval, start, stop, step) { + if (interval == null) interval = 10; + + // If a desired tick count is specified, pick a reasonable tick interval + // based on the extent of the domain and a rough estimate of tick size. + // Otherwise, assume interval is already a time interval and use it. + if (typeof interval === "number") { + var target = Math.abs(stop - start) / interval, + i = d3Array.bisector(function(i) { return i[2]; }).right(tickIntervals, target); + if (i === tickIntervals.length) { + step = d3Array.tickStep(start / durationYear, stop / durationYear, interval); + interval = year; + } else if (i) { + i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i]; + step = i[1]; + interval = i[0]; + } else { + step = d3Array.tickStep(start, stop, interval); + interval = millisecond; + } + } + + return step == null ? interval : interval.every(step); + } + + scale.invert = function(y) { + return new Date(invert(y)); + }; + + scale.domain = function(_) { + return arguments.length ? domain(_) : domain().map(newDate); + }; + + scale.ticks = function(interval, step) { + var d = domain(), + t0 = d[0], + t1 = d[d.length - 1], + r = t1 < t0, + t; + if (r) t = t0, t0 = t1, t1 = t; + t = tickInterval(interval, t0, t1, step); + t = t ? t.range(t0, t1 + 1) : []; // inclusive stop + return r ? t.reverse() : t; + }; + + scale.tickFormat = function(specifier) { + return specifier == null ? tickFormat : format(specifier); + }; + + scale.nice = function(interval, step) { + var d = domain(); + return (interval = tickInterval(interval, d[0], d[d.length - 1], step)) + ? domain(nice(d, interval)) + : scale; + }; + + scale.copy = function() { + return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format)); + }; + + return scale; + } + + function time() { + return calendar(d3Time.timeYear, d3Time.timeMonth, d3Time.timeWeek, d3Time.timeDay, d3Time.timeHour, d3Time.timeMinute, d3Time.timeSecond, d3Time.timeMillisecond, d3TimeFormat.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]); + } + + function utcTime() { + return calendar(d3Time.utcYear, d3Time.utcMonth, d3Time.utcWeek, d3Time.utcDay, d3Time.utcHour, d3Time.utcMinute, d3Time.utcSecond, d3Time.utcMillisecond, d3TimeFormat.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]); + } + + function colors(s) { + return s.match(/.{6}/g).map(function(x) { + return "#" + x; + }); + } + + var colors10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"); + + function category10() { + return ordinal().range(colors10); + } + + var colors20b = colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"); + + function category20b() { + return ordinal().range(colors20b); + } + + var colors20c = colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"); + + function category20c() { + return ordinal().range(colors20c); + } + + var colors20 = colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"); + + function category20() { + return ordinal().range(colors20); + } + + function cubehelix$1() { + return linear() + .interpolate(d3Interpolate.interpolateCubehelixLong) + .range([d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0)]); + } + + function sequential(interpolate) { + var x0 = 0, + x1 = 1, + clamp = false; + + function scale(x) { + var t = (x - x0) / (x1 - x0); + return interpolate(clamp ? Math.max(0, Math.min(1, t)) : t); + } + + scale.domain = function(_) { + return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1]; + }; + + scale.clamp = function(_) { + return arguments.length ? (clamp = !!_, scale) : clamp; + }; + + scale.copy = function() { + return sequential(interpolate).domain([x0, x1]).clamp(clamp); + }; + + return linearish(scale); + } + + function warm() { + return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8))); + } + + function cool() { + return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8))); + } + + function rainbow() { + var rainbow = d3Color.cubehelix(); + return sequential(function(t) { + if (t < 0 || t > 1) t -= Math.floor(t); + var ts = Math.abs(t - 0.5); + rainbow.h = 360 * t - 100; + rainbow.s = 1.5 - 1.5 * ts; + rainbow.l = 0.8 - 0.9 * ts; + return rainbow + ""; + }); + } + + var rangeViridis = colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"); + var rangeMagma = colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"); + var rangeInferno = colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"); + var rangePlasma = colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"); + function ramp(range) { + var s = sequential(function(t) { return range[Math.round(t * range.length - t)]; }).clamp(true); + delete s.clamp; + return s; + } + + function viridis() { + return ramp(rangeViridis); + } + + function magma() { + return ramp(rangeMagma); + } + + function inferno() { + return ramp(rangeInferno); + } + + function plasma() { + return ramp(rangePlasma); + } + + var version = "0.6.4"; + + exports.version = version; + exports.scaleBand = band; + exports.scalePoint = point; + exports.scaleIdentity = identity; + exports.scaleLinear = linear; + exports.scaleLog = log; + exports.scaleOrdinal = ordinal; + exports.scaleImplicit = implicit; + exports.scalePow = pow; + exports.scaleSqrt = sqrt; + exports.scaleQuantile = quantile$1; + exports.scaleQuantize = quantize; + exports.scaleThreshold = threshold; + exports.scaleTime = time; + exports.scaleUtc = utcTime; + exports.scaleCategory10 = category10; + exports.scaleCategory20b = category20b; + exports.scaleCategory20c = category20c; + exports.scaleCategory20 = category20; + exports.scaleCubehelix = cubehelix$1; + exports.scaleRainbow = rainbow; + exports.scaleWarm = warm; + exports.scaleCool = cool; + exports.scaleViridis = viridis; + exports.scaleMagma = magma; + exports.scaleInferno = inferno; + exports.scalePlasma = plasma; + +})); + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.pieProps = undefined; + +var _d3Scale = __webpack_require__(15); + +var _d3Scale2 = _interopRequireDefault(_d3Scale); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var width = 960; +var height = 500; +var margins = { top: 80, right: 100, bottom: 80, left: 100 }; + +exports.default = { + width: width, + height: height, + margins: margins, + y: function y(d) { + return +d; + }, + xScale: 'linear', + yScale: 'linear', + showXGrid: true, + showYGrid: true +}; +var pieProps = exports.pieProps = { + width: width, + height: height, + margins: margins, + innerRadius: 0, + categoricalColors: _d3Scale2.default.scaleCategory10(), + pieSort: function pieSort() {}, + pieTextShow: true +}; + +/***/ }), +/* 17 */ +/***/ (function(module, exports) { + +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(19), + getRawTag = __webpack_require__(112), + objectToString = __webpack_require__(113); + +/** `Object#toString` result references. */ +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +module.exports = baseGetTag; + + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = { - width: 960, - height: 500, - margins: { top: 80, right: 100, bottom: 80, left: 100 } - }; +var root = __webpack_require__(10); -/***/ }, -/* 6 */ -/***/ function(module, exports, __webpack_require__) { +/** Built-in value references. */ +var Symbol = root.Symbol; - 'use strict'; +module.exports = Symbol; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.scale = scale; - var _d3Scale = __webpack_require__(7); +/***/ }), +/* 20 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +module.exports = isObject; + + +/***/ }), +/* 21 */ +/***/ (function(module, exports, __webpack_require__) { + +var isFunction = __webpack_require__(54), + isLength = __webpack_require__(40); + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +module.exports = isArrayLike; + + +/***/ }), +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports, __webpack_require__(228)) : + typeof define === 'function' && define.amd ? define(['exports', 'd3-path'], factory) : + (factory((global.d3_shape = {}),global.d3_path)); +}(this, function (exports,d3Path) { 'use strict'; + + function constant(x) { + return function constant() { + return x; + }; + } + + var epsilon = 1e-12; + var pi = Math.PI; + var halfPi = pi / 2; + var tau = 2 * pi; + + function arcInnerRadius(d) { + return d.innerRadius; + } + + function arcOuterRadius(d) { + return d.outerRadius; + } + + function arcStartAngle(d) { + return d.startAngle; + } + + function arcEndAngle(d) { + return d.endAngle; + } + + function arcPadAngle(d) { + return d && d.padAngle; // Note: optional! + } + + function asin(x) { + return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x); + } + + function intersect(x0, y0, x1, y1, x2, y2, x3, y3) { + var x10 = x1 - x0, y10 = y1 - y0, + x32 = x3 - x2, y32 = y3 - y2, + t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / (y32 * x10 - x32 * y10); + return [x0 + t * x10, y0 + t * y10]; + } + + // Compute perpendicular offset line of length rc. + // http://mathworld.wolfram.com/Circle-LineIntersection.html + function cornerTangents(x0, y0, x1, y1, r1, rc, cw) { + var x01 = x0 - x1, + y01 = y0 - y1, + lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), + ox = lo * y01, + oy = -lo * x01, + x11 = x0 + ox, + y11 = y0 + oy, + x10 = x1 + ox, + y10 = y1 + oy, + x00 = (x11 + x10) / 2, + y00 = (y11 + y10) / 2, + dx = x10 - x11, + dy = y10 - y11, + d2 = dx * dx + dy * dy, + r = r1 - rc, + D = x11 * y10 - x10 * y11, + d = (dy < 0 ? -1 : 1) * Math.sqrt(Math.max(0, r * r * d2 - D * D)), + cx0 = (D * dy - dx * d) / d2, + cy0 = (-D * dx - dy * d) / d2, + cx1 = (D * dy + dx * d) / d2, + cy1 = (-D * dx + dy * d) / d2, + dx0 = cx0 - x00, + dy0 = cy0 - y00, + dx1 = cx1 - x00, + dy1 = cy1 - y00; + + // Pick the closer of the two intersection points. + // TODO Is there a faster way to determine which intersection to use? + if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; + + return { + cx: cx0, + cy: cy0, + x01: -ox, + y01: -oy, + x11: cx0 * (r1 / r - 1), + y11: cy0 * (r1 / r - 1) + }; + } + + function arc() { + var innerRadius = arcInnerRadius, + outerRadius = arcOuterRadius, + cornerRadius = constant(0), + padRadius = null, + startAngle = arcStartAngle, + endAngle = arcEndAngle, + padAngle = arcPadAngle, + context = null; + + function arc() { + var buffer, + r, + r0 = +innerRadius.apply(this, arguments), + r1 = +outerRadius.apply(this, arguments), + a0 = startAngle.apply(this, arguments) - halfPi, + a1 = endAngle.apply(this, arguments) - halfPi, + da = Math.abs(a1 - a0), + cw = a1 > a0; + + if (!context) context = buffer = d3Path.path(); + + // Ensure that the outer radius is always larger than the inner radius. + if (r1 < r0) r = r1, r1 = r0, r0 = r; + + // Is it a point? + if (!(r1 > epsilon)) context.moveTo(0, 0); + + // Or is it a circle or annulus? + else if (da > tau - epsilon) { + context.moveTo(r1 * Math.cos(a0), r1 * Math.sin(a0)); + context.arc(0, 0, r1, a0, a1, !cw); + if (r0 > epsilon) { + context.moveTo(r0 * Math.cos(a1), r0 * Math.sin(a1)); + context.arc(0, 0, r0, a1, a0, cw); + } + } + + // Or is it a circular or annular sector? + else { + var a01 = a0, + a11 = a1, + a00 = a0, + a10 = a1, + da0 = da, + da1 = da, + ap = padAngle.apply(this, arguments) / 2, + rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : Math.sqrt(r0 * r0 + r1 * r1)), + rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)), + rc0 = rc, + rc1 = rc, + t0, + t1; + + // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0. + if (rp > epsilon) { + var p0 = asin(rp / r0 * Math.sin(ap)), + p1 = asin(rp / r1 * Math.sin(ap)); + if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0; + else da0 = 0, a00 = a10 = (a0 + a1) / 2; + if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1; + else da1 = 0, a01 = a11 = (a0 + a1) / 2; + } + + var x01 = r1 * Math.cos(a01), + y01 = r1 * Math.sin(a01), + x10 = r0 * Math.cos(a10), + y10 = r0 * Math.sin(a10); + + // Apply rounded corners? + if (rc > epsilon) { + var x11 = r1 * Math.cos(a11), + y11 = r1 * Math.sin(a11), + x00 = r0 * Math.cos(a00), + y00 = r0 * Math.sin(a00); + + // Restrict the corner radius according to the sector angle. + if (da < pi) { + var oc = da0 > epsilon ? intersect(x01, y01, x00, y00, x11, y11, x10, y10) : [x10, y10], + ax = x01 - oc[0], + ay = y01 - oc[1], + bx = x11 - oc[0], + by = y11 - oc[1], + kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), + lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); + rc0 = Math.min(rc, (r0 - lc) / (kc - 1)); + rc1 = Math.min(rc, (r1 - lc) / (kc + 1)); + } + } + + // Is the sector collapsed to a line? + if (!(da1 > epsilon)) context.moveTo(x01, y01); + + // Does the sector’s outer ring have rounded corners? + else if (rc1 > epsilon) { + t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw); + t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw); + + context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01); + + // Have the corners merged? + if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, Math.atan2(t0.y01, t0.x01), Math.atan2(t1.y01, t1.x01), !cw); + + // Otherwise, draw the two corners and the ring. + else { + context.arc(t0.cx, t0.cy, rc1, Math.atan2(t0.y01, t0.x01), Math.atan2(t0.y11, t0.x11), !cw); + context.arc(0, 0, r1, Math.atan2(t0.cy + t0.y11, t0.cx + t0.x11), Math.atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw); + context.arc(t1.cx, t1.cy, rc1, Math.atan2(t1.y11, t1.x11), Math.atan2(t1.y01, t1.x01), !cw); + } + } + + // Or is the outer ring just a circular arc? + else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw); + + // Is there no inner ring, and it’s a circular sector? + // Or perhaps it’s an annular sector collapsed due to padding? + if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10); + + // Does the sector’s inner ring (or point) have rounded corners? + else if (rc0 > epsilon) { + t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw); + t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw); + + context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01); + + // Have the corners merged? + if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, Math.atan2(t0.y01, t0.x01), Math.atan2(t1.y01, t1.x01), !cw); + + // Otherwise, draw the two corners and the ring. + else { + context.arc(t0.cx, t0.cy, rc0, Math.atan2(t0.y01, t0.x01), Math.atan2(t0.y11, t0.x11), !cw); + context.arc(0, 0, r0, Math.atan2(t0.cy + t0.y11, t0.cx + t0.x11), Math.atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw); + context.arc(t1.cx, t1.cy, rc0, Math.atan2(t1.y11, t1.x11), Math.atan2(t1.y01, t1.x01), !cw); + } + } + + // Or is the inner ring just a circular arc? + else context.arc(0, 0, r0, a10, a00, cw); + } + + context.closePath(); + + if (buffer) return context = null, buffer + "" || null; + } + + arc.centroid = function() { + var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, + a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2; + return [Math.cos(a) * r, Math.sin(a) * r]; + }; + + arc.innerRadius = function(_) { + return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant(+_), arc) : innerRadius; + }; + + arc.outerRadius = function(_) { + return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant(+_), arc) : outerRadius; + }; + + arc.cornerRadius = function(_) { + return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant(+_), arc) : cornerRadius; + }; + + arc.padRadius = function(_) { + return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant(+_), arc) : padRadius; + }; + + arc.startAngle = function(_) { + return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant(+_), arc) : startAngle; + }; + + arc.endAngle = function(_) { + return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant(+_), arc) : endAngle; + }; + + arc.padAngle = function(_) { + return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant(+_), arc) : padAngle; + }; + + arc.context = function(_) { + return arguments.length ? ((context = _ == null ? null : _), arc) : context; + }; + + return arc; + } + + var slice = Array.prototype.slice; + + function bind(curve, args) { + if (args.length < 2) return curve; + args = slice.call(args); + args[0] = null; + return function(context) { + args[0] = context; + return curve.apply(null, args); + }; + } + + function Linear(context) { + this._context = context; + } + + Linear.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._point = 0; + }, + lineEnd: function() { + if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; + case 1: this._point = 2; // proceed + default: this._context.lineTo(x, y); break; + } + } + }; + + function curveLinear(context) { + return new Linear(context); + } + + function x(p) { + return p[0]; + } + + function y(p) { + return p[1]; + } + + function area() { + var x0 = x, + x1 = null, + y0 = constant(0), + y1 = y, + defined = constant(true), + context = null, + curve = curveLinear, + output = null; + + function area(data) { + var i, + j, + k, + n = data.length, + d, + defined0 = false, + buffer, + x0z = new Array(n), + y0z = new Array(n); + + if (!context) output = curve(buffer = d3Path.path()); + + for (i = 0; i <= n; ++i) { + if (!(i < n && defined(d = data[i], i, data)) === defined0) { + if (defined0 = !defined0) { + j = i; + output.areaStart(); + output.lineStart(); + } else { + output.lineEnd(); + output.lineStart(); + for (k = i - 1; k >= j; --k) { + output.point(x0z[k], y0z[k]); + } + output.lineEnd(); + output.areaEnd(); + } + } + if (defined0) { + x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data); + output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]); + } + } + + if (buffer) return output = null, buffer + "" || null; + } + + area.x = function(_) { + return arguments.length ? (x0 = typeof _ === "function" ? _ : constant(+_), x1 = null, area) : x0; + }; + + area.x0 = function(_) { + return arguments.length ? (x0 = typeof _ === "function" ? _ : constant(+_), area) : x0; + }; + + area.x1 = function(_) { + return arguments.length ? (x1 = _ == null ? null : typeof _ === "function" ? _ : constant(+_), area) : x1; + }; + + area.y = function(_) { + return arguments.length ? (y0 = typeof _ === "function" ? _ : constant(+_), y1 = null, area) : y0; + }; + + area.y0 = function(_) { + return arguments.length ? (y0 = typeof _ === "function" ? _ : constant(+_), area) : y0; + }; + + area.y1 = function(_) { + return arguments.length ? (y1 = _ == null ? null : typeof _ === "function" ? _ : constant(+_), area) : y1; + }; + + area.defined = function(_) { + return arguments.length ? (defined = typeof _ === "function" ? _ : constant(!!_), area) : defined; + }; + + area.curve = function(_) { + return arguments.length ? (curve = bind(_, arguments), context != null && (output = curve(context)), area) : curve; + }; + + area.context = function(_) { + return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context; + }; + + return area; + } + + function line() { + var x$$ = x, + y$$ = y, + defined = constant(true), + context = null, + curve = curveLinear, + output = null; + + function line(data) { + var i, + n = data.length, + d, + defined0 = false, + buffer; + + if (!context) output = curve(buffer = d3Path.path()); + + for (i = 0; i <= n; ++i) { + if (!(i < n && defined(d = data[i], i, data)) === defined0) { + if (defined0 = !defined0) output.lineStart(); + else output.lineEnd(); + } + if (defined0) output.point(+x$$(d, i, data), +y$$(d, i, data)); + } + + if (buffer) return output = null, buffer + "" || null; + } + + line.x = function(_) { + return arguments.length ? (x$$ = typeof _ === "function" ? _ : constant(+_), line) : x$$; + }; + + line.y = function(_) { + return arguments.length ? (y$$ = typeof _ === "function" ? _ : constant(+_), line) : y$$; + }; + + line.defined = function(_) { + return arguments.length ? (defined = typeof _ === "function" ? _ : constant(!!_), line) : defined; + }; + + line.curve = function(_) { + return arguments.length ? (curve = bind(_, arguments), context != null && (output = curve(context)), line) : curve; + }; + + line.context = function(_) { + return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context; + }; + + return line; + } + + function descending$1(a, b) { + return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; + } + + function identity(d) { + return d; + } + + function pie() { + var value = identity, + sortValues = descending$1, + sort = null, + startAngle = constant(0), + endAngle = constant(tau), + padAngle = constant(0); + + function pie(data) { + var i, + n = data.length, + j, + k, + sum = 0, + index = new Array(n), + arcs = new Array(n), + a0 = +startAngle.apply(this, arguments), + da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)), + a1, + p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)), + pa = p * (da < 0 ? -1 : 1), + v; + + for (i = 0; i < n; ++i) { + if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) { + sum += v; + } + } + + // Optionally sort the arcs by previously-computed values or by data. + if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); }); + else if (sort !== null) index.sort(function(i, j) { return sort(data[i], data[j]); }); + + // Compute the arcs! They are stored in the original data's order. + for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) { + j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = { + data: data[j], + index: i, + value: v, + startAngle: a0, + endAngle: a1, + padAngle: p + }; + } + + return arcs; + } + + pie.value = function(_) { + return arguments.length ? (value = typeof _ === "function" ? _ : constant(+_), pie) : value; + }; + + pie.sortValues = function(_) { + return arguments.length ? (sortValues = _, sort = null, pie) : sortValues; + }; + + pie.sort = function(_) { + return arguments.length ? (sort = _, sortValues = null, pie) : sort; + }; + + pie.startAngle = function(_) { + return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant(+_), pie) : startAngle; + }; + + pie.endAngle = function(_) { + return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant(+_), pie) : endAngle; + }; + + pie.padAngle = function(_) { + return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant(+_), pie) : padAngle; + }; + + return pie; + } + + function Radial(curve) { + this._curve = curve; + } + + Radial.prototype = { + areaStart: function() { + this._curve.areaStart(); + }, + areaEnd: function() { + this._curve.areaEnd(); + }, + lineStart: function() { + this._curve.lineStart(); + }, + lineEnd: function() { + this._curve.lineEnd(); + }, + point: function(a, r) { + a -= halfPi, this._curve.point(r * Math.cos(a), r * Math.sin(a)); + } + }; + + function curveRadial(curve, args) { + curve = bind(curve, args); + + function radial(context) { + return new Radial(curve(context)); + } + + radial._curve = curve; + + return radial; + } + + function radialArea() { + var a = area(), + c = a.curve; + + a.angle = a.x, delete a.x; + a.startAngle = a.x0, delete a.x0; + a.endAngle = a.x1, delete a.x1; + a.radius = a.y, delete a.y; + a.innerRadius = a.y0, delete a.y0; + a.outerRadius = a.y1, delete a.y1; + + a.curve = function(_) { + return arguments.length ? c(curveRadial(_, arguments)) : c()._curve; + }; + + return a.curve(curveLinear); + } + + function radialLine() { + var l = line(), + c = l.curve; + + l.angle = l.x, delete l.x; + l.radius = l.y, delete l.y; + + l.curve = function(_) { + return arguments.length ? c(curveRadial(_, arguments)) : c()._curve; + }; + + return l.curve(curveLinear); + } + + var circle = { + draw: function(context, size) { + var r = Math.sqrt(size / pi); + context.moveTo(r, 0); + context.arc(0, 0, r, 0, tau); + } + }; + + var cross = { + draw: function(context, size) { + var r = Math.sqrt(size / 5) / 2; + context.moveTo(-3 * r, -r); + context.lineTo(-r, -r); + context.lineTo(-r, -3 * r); + context.lineTo(r, -3 * r); + context.lineTo(r, -r); + context.lineTo(3 * r, -r); + context.lineTo(3 * r, r); + context.lineTo(r, r); + context.lineTo(r, 3 * r); + context.lineTo(-r, 3 * r); + context.lineTo(-r, r); + context.lineTo(-3 * r, r); + context.closePath(); + } + }; + + var tan30 = Math.sqrt(1 / 3); + var tan30_2 = tan30 * 2; + var diamond = { + draw: function(context, size) { + var y = Math.sqrt(size / tan30_2), + x = y * tan30; + context.moveTo(0, -y); + context.lineTo(x, 0); + context.lineTo(0, y); + context.lineTo(-x, 0); + context.closePath(); + } + }; + + var ka = 0.89081309152928522810; + var kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10); + var kx = Math.sin(tau / 10) * kr; + var ky = -Math.cos(tau / 10) * kr; + var star = { + draw: function(context, size) { + var r = Math.sqrt(size * ka), + x = kx * r, + y = ky * r; + context.moveTo(0, -r); + context.lineTo(x, y); + for (var i = 1; i < 5; ++i) { + var a = tau * i / 5, + c = Math.cos(a), + s = Math.sin(a); + context.lineTo(s * r, -c * r); + context.lineTo(c * x - s * y, s * x + c * y); + } + context.closePath(); + } + }; + + var square = { + draw: function(context, size) { + var w = Math.sqrt(size), + x = -w / 2; + context.rect(x, x, w, w); + } + }; + + var sqrt3 = Math.sqrt(3); + + var triangle = { + draw: function(context, size) { + var y = -Math.sqrt(size / (sqrt3 * 3)); + context.moveTo(0, y * 2); + context.lineTo(-sqrt3 * y, -y); + context.lineTo(sqrt3 * y, -y); + context.closePath(); + } + }; + + var c = -0.5; + var s = Math.sqrt(3) / 2; + var k = 1 / Math.sqrt(12); + var a = (k / 2 + 1) * 3; + var wye = { + draw: function(context, size) { + var r = Math.sqrt(size / a), + x0 = r / 2, + y0 = r * k, + x1 = x0, + y1 = r * k + r, + x2 = -x1, + y2 = y1; + context.moveTo(x0, y0); + context.lineTo(x1, y1); + context.lineTo(x2, y2); + context.lineTo(c * x0 - s * y0, s * x0 + c * y0); + context.lineTo(c * x1 - s * y1, s * x1 + c * y1); + context.lineTo(c * x2 - s * y2, s * x2 + c * y2); + context.lineTo(c * x0 + s * y0, c * y0 - s * x0); + context.lineTo(c * x1 + s * y1, c * y1 - s * x1); + context.lineTo(c * x2 + s * y2, c * y2 - s * x2); + context.closePath(); + } + }; + + var symbols = [ + circle, + cross, + diamond, + square, + star, + triangle, + wye + ]; + + function symbol() { + var type = constant(circle), + size = constant(64), + context = null; + + function symbol() { + var buffer; + if (!context) context = buffer = d3Path.path(); + type.apply(this, arguments).draw(context, +size.apply(this, arguments)); + if (buffer) return context = null, buffer + "" || null; + } + + symbol.type = function(_) { + return arguments.length ? (type = typeof _ === "function" ? _ : constant(_), symbol) : type; + }; + + symbol.size = function(_) { + return arguments.length ? (size = typeof _ === "function" ? _ : constant(+_), symbol) : size; + }; + + symbol.context = function(_) { + return arguments.length ? (context = _ == null ? null : _, symbol) : context; + }; + + return symbol; + } + + function noop() {} + + function point(that, x, y) { + that._context.bezierCurveTo( + (2 * that._x0 + that._x1) / 3, + (2 * that._y0 + that._y1) / 3, + (that._x0 + 2 * that._x1) / 3, + (that._y0 + 2 * that._y1) / 3, + (that._x0 + 4 * that._x1 + x) / 6, + (that._y0 + 4 * that._y1 + y) / 6 + ); + } + + function Basis(context) { + this._context = context; + } + + Basis.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = + this._y0 = this._y1 = NaN; + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 3: point(this, this._x1, this._y1); // proceed + case 2: this._context.lineTo(this._x1, this._y1); break; + } + if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; + case 1: this._point = 2; break; + case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed + default: point(this, x, y); break; + } + this._x0 = this._x1, this._x1 = x; + this._y0 = this._y1, this._y1 = y; + } + }; + + function basis(context) { + return new Basis(context); + } + + function BasisClosed(context) { + this._context = context; + } + + BasisClosed.prototype = { + areaStart: noop, + areaEnd: noop, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = + this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN; + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 1: { + this._context.moveTo(this._x2, this._y2); + this._context.closePath(); + break; + } + case 2: { + this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3); + this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3); + this._context.closePath(); + break; + } + case 3: { + this.point(this._x2, this._y2); + this.point(this._x3, this._y3); + this.point(this._x4, this._y4); + break; + } + } + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: this._point = 1; this._x2 = x, this._y2 = y; break; + case 1: this._point = 2; this._x3 = x, this._y3 = y; break; + case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break; + default: point(this, x, y); break; + } + this._x0 = this._x1, this._x1 = x; + this._y0 = this._y1, this._y1 = y; + } + }; + + function basisClosed(context) { + return new BasisClosed(context); + } + + function BasisOpen(context) { + this._context = context; + } + + BasisOpen.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = + this._y0 = this._y1 = NaN; + this._point = 0; + }, + lineEnd: function() { + if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: this._point = 1; break; + case 1: this._point = 2; break; + case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break; + case 3: this._point = 4; // proceed + default: point(this, x, y); break; + } + this._x0 = this._x1, this._x1 = x; + this._y0 = this._y1, this._y1 = y; + } + }; + + function basisOpen(context) { + return new BasisOpen(context); + } + + function Bundle(context, beta) { + this._basis = basis(context); + this._beta = beta; + } + + Bundle.prototype = { + lineStart: function() { + this._x = []; + this._y = []; + this._basis.lineStart(); + }, + lineEnd: function() { + var x = this._x, + y = this._y, + j = x.length - 1; + + if (j > 0) { + var x0 = x[0], + y0 = y[0], + dx = x[j] - x0, + dy = y[j] - y0, + i = -1, + t; + + while (++i <= j) { + t = i / j; + this._basis.point( + this._beta * x[i] + (1 - this._beta) * (x0 + t * dx), + this._beta * y[i] + (1 - this._beta) * (y0 + t * dy) + ); + } + } + + this._x = this._y = null; + this._basis.lineEnd(); + }, + point: function(x, y) { + this._x.push(+x); + this._y.push(+y); + } + }; + + function bundle(context, beta) { + return beta == null ? new Bundle(context, 0.85) + : (beta = +beta) === 1 ? basis(context) + : new Bundle(context, beta); + } + + function point$1(that, x, y) { + that._context.bezierCurveTo( + that._x1 + that._k * (that._x2 - that._x0), + that._y1 + that._k * (that._y2 - that._y0), + that._x2 + that._k * (that._x1 - x), + that._y2 + that._k * (that._y1 - y), + that._x2, + that._y2 + ); + } + + function Cardinal(context, k) { + this._context = context; + this._k = k; + } + + Cardinal.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = + this._y0 = this._y1 = this._y2 = NaN; + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 2: this._context.lineTo(this._x2, this._y2); break; + case 3: point$1(this, this._x1, this._y1); break; + } + if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; + case 1: this._point = 2; this._x1 = x, this._y1 = y; break; + case 2: this._point = 3; // proceed + default: point$1(this, x, y); break; + } + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } + }; + + function cardinal(context, tension) { + return new Cardinal(context, (tension == null ? 1 : 1 - tension) / 6); + } + + function CardinalClosed(context, k) { + this._context = context; + this._k = k; + } + + CardinalClosed.prototype = { + areaStart: noop, + areaEnd: noop, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = + this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN; + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 1: { + this._context.moveTo(this._x3, this._y3); + this._context.closePath(); + break; + } + case 2: { + this._context.lineTo(this._x3, this._y3); + this._context.closePath(); + break; + } + case 3: { + this.point(this._x3, this._y3); + this.point(this._x4, this._y4); + this.point(this._x5, this._y5); + break; + } + } + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: this._point = 1; this._x3 = x, this._y3 = y; break; + case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break; + case 2: this._point = 3; this._x5 = x, this._y5 = y; break; + default: point$1(this, x, y); break; + } + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } + }; + + function cardinalClosed(context, tension) { + return new CardinalClosed(context, (tension == null ? 1 : 1 - tension) / 6); + } + + function CardinalOpen(context, k) { + this._context = context; + this._k = k; + } + + CardinalOpen.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = + this._y0 = this._y1 = this._y2 = NaN; + this._point = 0; + }, + lineEnd: function() { + if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: this._point = 1; break; + case 1: this._point = 2; break; + case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; + case 3: this._point = 4; // proceed + default: point$1(this, x, y); break; + } + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } + }; + + function cardinalOpen(context, tension) { + return new CardinalOpen(context, (tension == null ? 1 : 1 - tension) / 6); + } + + function point$2(that, x, y) { + var x1 = that._x1, + y1 = that._y1, + x2 = that._x2, + y2 = that._y2; + + if (that._l01_a > epsilon) { + var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a, + n = 3 * that._l01_a * (that._l01_a + that._l12_a); + x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n; + y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n; + } + + if (that._l23_a > epsilon) { + var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a, + m = 3 * that._l23_a * (that._l23_a + that._l12_a); + x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m; + y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m; + } + + that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2); + } + + function CatmullRom(context, alpha) { + this._context = context; + this._alpha = alpha; + } + + CatmullRom.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = + this._y0 = this._y1 = this._y2 = NaN; + this._l01_a = this._l12_a = this._l23_a = + this._l01_2a = this._l12_2a = this._l23_2a = + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 2: this._context.lineTo(this._x2, this._y2); break; + case 3: this.point(this, this._x2, this._y2); break; + } + if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + + if (this._point) { + var x23 = this._x2 - x, + y23 = this._y2 - y; + this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); + } + + switch (this._point) { + case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; + case 1: this._point = 2; break; + case 2: this._point = 3; // proceed + default: point$2(this, x, y); break; + } + + this._l01_a = this._l12_a, this._l12_a = this._l23_a; + this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } + }; + + function catmullRom(context, alpha) { + return (alpha = alpha == null ? 0.5 : +alpha) + ? new CatmullRom(context, alpha) + : cardinal(context, 0); + } + + function CatmullRomClosed(context, alpha) { + this._context = context; + this._alpha = alpha; + } + + CatmullRomClosed.prototype = { + areaStart: noop, + areaEnd: noop, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = + this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN; + this._l01_a = this._l12_a = this._l23_a = + this._l01_2a = this._l12_2a = this._l23_2a = + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 1: { + this._context.moveTo(this._x3, this._y3); + this._context.closePath(); + break; + } + case 2: { + this._context.lineTo(this._x3, this._y3); + this._context.closePath(); + break; + } + case 3: { + this.point(this._x3, this._y3); + this.point(this._x4, this._y4); + this.point(this._x5, this._y5); + break; + } + } + }, + point: function(x, y) { + x = +x, y = +y; + + if (this._point) { + var x23 = this._x2 - x, + y23 = this._y2 - y; + this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); + } + + switch (this._point) { + case 0: this._point = 1; this._x3 = x, this._y3 = y; break; + case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break; + case 2: this._point = 3; this._x5 = x, this._y5 = y; break; + default: point$2(this, x, y); break; + } + + this._l01_a = this._l12_a, this._l12_a = this._l23_a; + this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } + }; + + function catmullRomClosed(context, alpha) { + return (alpha = alpha == null ? 0.5 : +alpha) + ? new CatmullRomClosed(context, alpha) + : cardinalClosed(context, 0); + } + + function CatmullRomOpen(context, alpha) { + this._context = context; + this._alpha = alpha; + } + + CatmullRomOpen.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = + this._y0 = this._y1 = this._y2 = NaN; + this._l01_a = this._l12_a = this._l23_a = + this._l01_2a = this._l12_2a = this._l23_2a = + this._point = 0; + }, + lineEnd: function() { + if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + + if (this._point) { + var x23 = this._x2 - x, + y23 = this._y2 - y; + this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); + } + + switch (this._point) { + case 0: this._point = 1; break; + case 1: this._point = 2; break; + case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; + case 3: this._point = 4; // proceed + default: point$2(this, x, y); break; + } + + this._l01_a = this._l12_a, this._l12_a = this._l23_a; + this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } + }; + + function catmullRomOpen(context, alpha) { + return (alpha = alpha == null ? 0.5 : +alpha) + ? new CatmullRomOpen(context, alpha) + : cardinalOpen(context, 0); + } + + function LinearClosed(context) { + this._context = context; + } + + LinearClosed.prototype = { + areaStart: noop, + areaEnd: noop, + lineStart: function() { + this._point = 0; + }, + lineEnd: function() { + if (this._point) this._context.closePath(); + }, + point: function(x, y) { + x = +x, y = +y; + if (this._point) this._context.lineTo(x, y); + else this._point = 1, this._context.moveTo(x, y); + } + }; + + function linearClosed(context) { + return new LinearClosed(context); + } + + function sign(x) { + return x < 0 ? -1 : 1; + } + + // Calculate the slopes of the tangents (Hermite-type interpolation) based on + // the following paper: Steffen, M. 1990. A Simple Method for Monotonic + // Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO. + // NOV(II), P. 443, 1990. + function slope3(that, x2, y2) { + var h0 = that._x1 - that._x0, + h1 = x2 - that._x1, + s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0), + s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0), + p = (s0 * h1 + s1 * h0) / (h0 + h1); + return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0; + } + + // Calculate a one-sided slope. + function slope2(that, t) { + var h = that._x1 - that._x0; + return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t; + } + + // According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations + // "you can express cubic Hermite interpolation in terms of cubic Bézier curves + // with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1". + function point$3(that, t0, t1) { + var x0 = that._x0, + y0 = that._y0, + x1 = that._x1, + y1 = that._y1, + dx = (x1 - x0) / 3; + that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1); + } + + function MonotoneX(context) { + this._context = context; + } + + MonotoneX.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = + this._y0 = this._y1 = + this._t0 = NaN; + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 2: this._context.lineTo(this._x1, this._y1); break; + case 3: point$3(this, this._t0, slope2(this, this._t0)); break; + } + if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + var t1 = NaN; + + x = +x, y = +y; + if (x === this._x1 && y === this._y1) return; // Ignore coincident points. + switch (this._point) { + case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; + case 1: this._point = 2; break; + case 2: this._point = 3; point$3(this, slope2(this, t1 = slope3(this, x, y)), t1); break; + default: point$3(this, this._t0, t1 = slope3(this, x, y)); break; + } + + this._x0 = this._x1, this._x1 = x; + this._y0 = this._y1, this._y1 = y; + this._t0 = t1; + } + } + + function MonotoneY(context) { + this._context = new ReflectContext(context); + } + + (MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) { + MonotoneX.prototype.point.call(this, y, x); + }; + + function ReflectContext(context) { + this._context = context; + } + + ReflectContext.prototype = { + moveTo: function(x, y) { this._context.moveTo(y, x); }, + closePath: function() { this._context.closePath(); }, + lineTo: function(x, y) { this._context.lineTo(y, x); }, + bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); } + }; + + function monotoneX(context) { + return new MonotoneX(context); + } + + function monotoneY(context) { + return new MonotoneY(context); + } + + function Natural(context) { + this._context = context; + } + + Natural.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x = []; + this._y = []; + }, + lineEnd: function() { + var x = this._x, + y = this._y, + n = x.length; + + if (n) { + this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]); + if (n === 2) { + this._context.lineTo(x[1], y[1]); + } else { + var px = controlPoints(x), + py = controlPoints(y); + for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) { + this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]); + } + } + } + + if (this._line || (this._line !== 0 && n === 1)) this._context.closePath(); + this._line = 1 - this._line; + this._x = this._y = null; + }, + point: function(x, y) { + this._x.push(+x); + this._y.push(+y); + } + }; + + // See https://www.particleincell.com/2012/bezier-splines/ for derivation. + function controlPoints(x) { + var i, + n = x.length - 1, + m, + a = new Array(n), + b = new Array(n), + r = new Array(n); + a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1]; + for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1]; + a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n]; + for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1]; + a[n - 1] = r[n - 1] / b[n - 1]; + for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i]; + b[n - 1] = (x[n] + a[n - 1]) / 2; + for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1]; + return [a, b]; + } + + function natural(context) { + return new Natural(context); + } + + function Step(context, t) { + this._context = context; + this._t = t; + } + + Step.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x = this._y = NaN; + this._point = 0; + }, + lineEnd: function() { + if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y); + if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; + case 1: this._point = 2; // proceed + default: { + var t = x > this._x ? this._t : 1 - this._t; + if (t <= 0) { + this._context.lineTo(this._x, y); + this._context.lineTo(x, y); + } else if (t >= 1) { + this._context.lineTo(x, this._y); + this._context.lineTo(x, y); + } else { + var x1 = (this._x + x) * t; + this._context.lineTo(x1, this._y); + this._context.lineTo(x1, y); + } + break; + } + } + this._x = x, this._y = y; + } + }; + + function step(context) { + return new Step(context, 0.5); + } + + function stepBefore(context) { + return new Step(context, 0); + } + + function stepAfter(context) { + return new Step(context, 1); + } + + var slice$1 = Array.prototype.slice; + + function none(series, order) { + if (!((n = series.length) > 1)) return; + for (var i = 1, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) { + s0 = s1, s1 = series[order[i]]; + for (var j = 0; j < m; ++j) { + s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1]; + } + } + } + + function none$1(series) { + var n = series.length, o = new Array(n); + while (--n >= 0) o[n] = n; + return o; + } + + function stackValue(d, key) { + return d[key]; + } + + function stack() { + var keys = constant([]), + order = none$1, + offset = none, + value = stackValue; + + function stack(data) { + var kz = keys.apply(this, arguments), + i, + m = data.length, + n = kz.length, + sz = new Array(n), + oz; + + for (i = 0; i < n; ++i) { + for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) { + si[j] = sij = [0, +value(data[j], ki, j, data)]; + sij.data = data[j]; + } + si.key = ki; + } + + for (i = 0, oz = order(sz); i < n; ++i) { + sz[oz[i]].index = i; + } + + offset(sz, oz); + return sz; + } + + stack.keys = function(_) { + return arguments.length ? (keys = typeof _ === "function" ? _ : constant(slice$1.call(_)), stack) : keys; + }; + + stack.value = function(_) { + return arguments.length ? (value = typeof _ === "function" ? _ : constant(+_), stack) : value; + }; + + stack.order = function(_) { + return arguments.length ? (order = _ == null ? none$1 : typeof _ === "function" ? _ : constant(slice$1.call(_)), stack) : order; + }; + + stack.offset = function(_) { + return arguments.length ? (offset = _ == null ? none : _, stack) : offset; + }; + + return stack; + } + + function expand(series, order) { + if (!((n = series.length) > 0)) return; + for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) { + for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0; + if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y; + } + none(series, order); + } + + function silhouette(series, order) { + if (!((n = series.length) > 0)) return; + for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) { + for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0; + s0[j][1] += s0[j][0] = -y / 2; + } + none(series, order); + } + + function wiggle(series, order) { + if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return; + for (var y = 0, j = 1, s0, m, n; j < m; ++j) { + for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) { + var si = series[order[i]], + sij0 = si[j][1] || 0, + sij1 = si[j - 1][1] || 0, + s3 = (sij0 - sij1) / 2; + for (var k = 0; k < i; ++k) { + var sk = series[order[k]], + skj0 = sk[j][1] || 0, + skj1 = sk[j - 1][1] || 0; + s3 += skj0 - skj1; + } + s1 += sij0, s2 += s3 * sij0; + } + s0[j - 1][1] += s0[j - 1][0] = y; + if (s1) y -= s2 / s1; + } + s0[j - 1][1] += s0[j - 1][0] = y; + none(series, order); + } + + function ascending(series) { + var sums = series.map(sum); + return none$1(series).sort(function(a, b) { return sums[a] - sums[b]; }); + } + + function sum(series) { + var s = 0, i = -1, n = series.length, v; + while (++i < n) if (v = +series[i][1]) s += v; + return s; + } + + function descending(series) { + return ascending(series).reverse(); + } + + function insideOut(series) { + var n = series.length, + i, + j, + sums = series.map(sum), + order = none$1(series).sort(function(a, b) { return sums[b] - sums[a]; }), + top = 0, + bottom = 0, + tops = [], + bottoms = []; + + for (i = 0; i < n; ++i) { + j = order[i]; + if (top < bottom) { + top += sums[j]; + tops.push(j); + } else { + bottom += sums[j]; + bottoms.push(j); + } + } + + return bottoms.reverse().concat(tops); + } + + function reverse(series) { + return none$1(series).reverse(); + } + + var version = "0.5.1"; + + exports.version = version; + exports.arc = arc; + exports.area = area; + exports.line = line; + exports.pie = pie; + exports.radialArea = radialArea; + exports.radialLine = radialLine; + exports.symbol = symbol; + exports.symbols = symbols; + exports.symbolCircle = circle; + exports.symbolCross = cross; + exports.symbolDiamond = diamond; + exports.symbolSquare = square; + exports.symbolStar = star; + exports.symbolTriangle = triangle; + exports.symbolWye = wye; + exports.curveBasisClosed = basisClosed; + exports.curveBasisOpen = basisOpen; + exports.curveBasis = basis; + exports.curveBundle = bundle; + exports.curveCardinalClosed = cardinalClosed; + exports.curveCardinalOpen = cardinalOpen; + exports.curveCardinal = cardinal; + exports.curveCatmullRomClosed = catmullRomClosed; + exports.curveCatmullRomOpen = catmullRomOpen; + exports.curveCatmullRom = catmullRom; + exports.curveLinearClosed = linearClosed; + exports.curveLinear = curveLinear; + exports.curveMonotoneX = monotoneX; + exports.curveMonotoneY = monotoneY; + exports.curveNatural = natural; + exports.curveStep = step; + exports.curveStepAfter = stepAfter; + exports.curveStepBefore = stepBefore; + exports.stack = stack; + exports.stackOffsetExpand = expand; + exports.stackOffsetNone = none; + exports.stackOffsetSilhouette = silhouette; + exports.stackOffsetWiggle = wiggle; + exports.stackOrderAscending = ascending; + exports.stackOrderDescending = descending; + exports.stackOrderInsideOut = insideOut; + exports.stackOrderNone = none$1; + exports.stackOrderReverse = reverse; + +})); + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { + +var listCacheClear = __webpack_require__(101), + listCacheDelete = __webpack_require__(102), + listCacheGet = __webpack_require__(103), + listCacheHas = __webpack_require__(104), + listCacheSet = __webpack_require__(105); + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +module.exports = ListCache; + + +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { + +var eq = __webpack_require__(25); + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +module.exports = assocIndexOf; + + +/***/ }), +/* 25 */ +/***/ (function(module, exports) { + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +module.exports = eq; + + +/***/ }), +/* 26 */ +/***/ (function(module, exports, __webpack_require__) { - var _d3Scale2 = _interopRequireDefault(_d3Scale); +var getNative = __webpack_require__(13); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +/* Built-in method references that are verified to be native. */ +var nativeCreate = getNative(Object, 'create'); - function scale(props) { - var type = props.type; - var scale = props.scale; +module.exports = nativeCreate; - var func; +/***/ }), +/* 27 */ +/***/ (function(module, exports, __webpack_require__) { - if (scale === 'linear') func = _d3Scale2.default.scaleLinear();else if (scale === 'identity') func = _d3Scale2.default.scaleIdentity();else if (scale === 'sqrt') func = _d3Scale2.default.scaleSqrt();else if (scale === 'pow') func = _d3Scale2.default.scalePow();else if (scale === 'log') func = _d3Scale2.default.scaleLog();else if (scale === 'quantize') func = _d3Scale2.default.scaleQuantize();else if (scale === 'quantile') func = _d3Scale2.default.scaleQuantile();else if (scale === 'ordinal') func = _d3Scale2.default.scaleOrdinal();else if (scale === 'band') func = _d3Scale2.default.scaleBand();else if (scale === 'time') func = _d3Scale2.default.scaleTime();else new Error('Please check your axis scale setting. "' + scale + '" scale is invalid. '); +var isKeyable = __webpack_require__(125); - func = _mkScaleSettings(props, func); +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} - return func; - } +module.exports = getMapData; - function _mkScaleSettings(props, func) { - var type = props.type; - var range = props.range; - var domain = props.domain; - var scale = props.scale; - var bandPaddingInner = props.bandPaddingInner; - var bandPaddingOuter = props.bandPaddingOuter; +/***/ }), +/* 28 */ +/***/ (function(module, exports, __webpack_require__) { + +var arrayLikeKeys = __webpack_require__(143), + baseKeys = __webpack_require__(149), + isArrayLike = __webpack_require__(21); + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +module.exports = keys; + + +/***/ }), +/* 29 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(18), + isObjectLike = __webpack_require__(14); + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); +} + +module.exports = isSymbol; + + +/***/ }), +/* 30 */ +/***/ (function(module, exports, __webpack_require__) { - if (range) func.range(range); +var isSymbol = __webpack_require__(29); - if (domain) func.domain(domain); +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; - if (scale === 'band') { +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} - func.round(true); +module.exports = toKey; - if (bandPaddingInner) func.paddingInner(bandPaddingInner);else func.paddingInner(.1); - if (bandPaddingOuter) func.paddingOuter(bandPaddingOuter);else func.paddingOuter(.1); - } +/***/ }), +/* 31 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_array = {}))); +}(this, function (exports) { 'use strict'; + + function ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; + } + + function bisector(compare) { + if (compare.length === 1) compare = ascendingComparator(compare); + return { + left: function(a, x, lo, hi) { + if (lo == null) lo = 0; + if (hi == null) hi = a.length; + while (lo < hi) { + var mid = lo + hi >>> 1; + if (compare(a[mid], x) < 0) lo = mid + 1; + else hi = mid; + } + return lo; + }, + right: function(a, x, lo, hi) { + if (lo == null) lo = 0; + if (hi == null) hi = a.length; + while (lo < hi) { + var mid = lo + hi >>> 1; + if (compare(a[mid], x) > 0) hi = mid; + else lo = mid + 1; + } + return lo; + } + }; + } + + function ascendingComparator(f) { + return function(d, x) { + return ascending(f(d), x); + }; + } + + var ascendingBisect = bisector(ascending); + var bisectRight = ascendingBisect.right; + var bisectLeft = ascendingBisect.left; + + function descending(a, b) { + return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; + } + + function number$1(x) { + return x === null ? NaN : +x; + } + + function variance(array, f) { + var n = array.length, + m = 0, + a, + d, + s = 0, + i = -1, + j = 0; + + if (f == null) { + while (++i < n) { + if (!isNaN(a = number$1(array[i]))) { + d = a - m; + m += d / ++j; + s += d * (a - m); + } + } + } + + else { + while (++i < n) { + if (!isNaN(a = number$1(f(array[i], i, array)))) { + d = a - m; + m += d / ++j; + s += d * (a - m); + } + } + } + + if (j > 1) return s / (j - 1); + } + + function deviation(array, f) { + var v = variance(array, f); + return v ? Math.sqrt(v) : v; + } + + function extent(array, f) { + var i = -1, + n = array.length, + a, + b, + c; + + if (f == null) { + while (++i < n) if ((b = array[i]) != null && b >= b) { a = c = b; break; } + while (++i < n) if ((b = array[i]) != null) { + if (a > b) a = b; + if (c < b) c = b; + } + } + + else { + while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = c = b; break; } + while (++i < n) if ((b = f(array[i], i, array)) != null) { + if (a > b) a = b; + if (c < b) c = b; + } + } + + return [a, c]; + } + + function constant(x) { + return function() { + return x; + }; + } + + function identity(x) { + return x; + } + + function range(start, stop, step) { + start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step; + + var i = -1, + n = Math.max(0, Math.ceil((stop - start) / step)) | 0, + range = new Array(n); + + while (++i < n) { + range[i] = start + i * step; + } + + return range; + } + + var e10 = Math.sqrt(50); + var e5 = Math.sqrt(10); + var e2 = Math.sqrt(2); + function ticks(start, stop, count) { + var step = tickStep(start, stop, count); + return range( + Math.ceil(start / step) * step, + Math.floor(stop / step) * step + step / 2, // inclusive + step + ); + } + + function tickStep(start, stop, count) { + var step0 = Math.abs(stop - start) / Math.max(0, count), + step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), + error = step0 / step1; + if (error >= e10) step1 *= 10; + else if (error >= e5) step1 *= 5; + else if (error >= e2) step1 *= 2; + return stop < start ? -step1 : step1; + } + + function sturges(values) { + return Math.ceil(Math.log(values.length) / Math.LN2) + 1; + } + + function number(x) { + return +x; + } + + function histogram() { + var value = identity, + domain = extent, + threshold = sturges; + + function histogram(data) { + var i, + n = data.length, + x, + values = new Array(n); + + // Coerce values to numbers. + for (i = 0; i < n; ++i) { + values[i] = +value(data[i], i, data); + } + + var xz = domain(values), + x0 = +xz[0], + x1 = +xz[1], + tz = threshold(values, x0, x1); + + // Convert number of thresholds into uniform thresholds. + if (!Array.isArray(tz)) tz = ticks(x0, x1, +tz); + + // Coerce thresholds to numbers, ignoring any outside the domain. + var m = tz.length; + for (i = 0; i < m; ++i) tz[i] = +tz[i]; + while (tz[0] <= x0) tz.shift(), --m; + while (tz[m - 1] >= x1) tz.pop(), --m; + + var bins = new Array(m + 1), + bin; + + // Initialize bins. + for (i = 0; i <= m; ++i) { + bin = bins[i] = []; + bin.x0 = i > 0 ? tz[i - 1] : x0; + bin.x1 = i < m ? tz[i] : x1; + } + + // Assign data to bins by value, ignoring any outside the domain. + for (i = 0; i < n; ++i) { + x = values[i]; + if (x0 <= x && x <= x1) { + bins[bisectRight(tz, x, 0, m)].push(data[i]); + } + } + + return bins; + } + + histogram.value = function(_) { + return arguments.length ? (value = typeof _ === "function" ? _ : constant(+_), histogram) : value; + }; + + histogram.domain = function(_) { + return arguments.length ? (domain = typeof _ === "function" ? _ : constant([+_[0], +_[1]]), histogram) : domain; + }; + + histogram.thresholds = function(_) { + if (!arguments.length) return threshold; + threshold = typeof _ === "function" ? _ + : Array.isArray(_) ? constant(Array.prototype.map.call(_, number)) + : constant(+_); + return histogram; + }; + + return histogram; + } + + function quantile(array, p, f) { + if (f == null) f = number$1; + if (!(n = array.length)) return; + if ((p = +p) <= 0 || n < 2) return +f(array[0], 0, array); + if (p >= 1) return +f(array[n - 1], n - 1, array); + var n, + h = (n - 1) * p, + i = Math.floor(h), + a = +f(array[i], i, array), + b = +f(array[i + 1], i + 1, array); + return a + (b - a) * (h - i); + } + + function freedmanDiaconis(values, min, max) { + values.sort(ascending); + return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3))); + } + + function scott(values, min, max) { + return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3))); + } + + function max(array, f) { + var i = -1, + n = array.length, + a, + b; + + if (f == null) { + while (++i < n) if ((b = array[i]) != null && b >= b) { a = b; break; } + while (++i < n) if ((b = array[i]) != null && b > a) a = b; + } + + else { + while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = b; break; } + while (++i < n) if ((b = f(array[i], i, array)) != null && b > a) a = b; + } + + return a; + } + + function mean(array, f) { + var s = 0, + n = array.length, + a, + i = -1, + j = n; + + if (f == null) { + while (++i < n) if (!isNaN(a = number$1(array[i]))) s += a; else --j; + } + + else { + while (++i < n) if (!isNaN(a = number$1(f(array[i], i, array)))) s += a; else --j; + } + + if (j) return s / j; + } + + function median(array, f) { + var numbers = [], + n = array.length, + a, + i = -1; + + if (f == null) { + while (++i < n) if (!isNaN(a = number$1(array[i]))) numbers.push(a); + } + + else { + while (++i < n) if (!isNaN(a = number$1(f(array[i], i, array)))) numbers.push(a); + } + + return quantile(numbers.sort(ascending), 0.5); + } + + function merge(arrays) { + var n = arrays.length, + m, + i = -1, + j = 0, + merged, + array; + + while (++i < n) j += arrays[i].length; + merged = new Array(j); + + while (--n >= 0) { + array = arrays[n]; + m = array.length; + while (--m >= 0) { + merged[--j] = array[m]; + } + } + + return merged; + } + + function min(array, f) { + var i = -1, + n = array.length, + a, + b; + + if (f == null) { + while (++i < n) if ((b = array[i]) != null && b >= b) { a = b; break; } + while (++i < n) if ((b = array[i]) != null && a > b) a = b; + } + + else { + while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = b; break; } + while (++i < n) if ((b = f(array[i], i, array)) != null && a > b) a = b; + } + + return a; + } + + function pairs(array) { + var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n); + while (i < n) pairs[i] = [p, p = array[++i]]; + return pairs; + } + + function permute(array, indexes) { + var i = indexes.length, permutes = new Array(i); + while (i--) permutes[i] = array[indexes[i]]; + return permutes; + } + + function scan(array, compare) { + if (!(n = array.length)) return; + var i = 0, + n, + j = 0, + xi, + xj = array[j]; + + if (!compare) compare = ascending; + + while (++i < n) if (compare(xi = array[i], xj) < 0 || compare(xj, xj) !== 0) xj = xi, j = i; + + if (compare(xj, xj) === 0) return j; + } + + function shuffle(array, i0, i1) { + var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0), + t, + i; + + while (m) { + i = Math.random() * m-- | 0; + t = array[m + i0]; + array[m + i0] = array[i + i0]; + array[i + i0] = t; + } + + return array; + } + + function sum(array, f) { + var s = 0, + n = array.length, + a, + i = -1; + + if (f == null) { + while (++i < n) if (a = +array[i]) s += a; // Note: zero and null are equivalent. + } + + else { + while (++i < n) if (a = +f(array[i], i, array)) s += a; + } + + return s; + } + + function transpose(matrix) { + if (!(n = matrix.length)) return []; + for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) { + for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) { + row[j] = matrix[j][i]; + } + } + return transpose; + } + + function length(d) { + return d.length; + } + + function zip() { + return transpose(arguments); + } + + var version = "0.7.1"; + + exports.version = version; + exports.bisect = bisectRight; + exports.bisectRight = bisectRight; + exports.bisectLeft = bisectLeft; + exports.ascending = ascending; + exports.bisector = bisector; + exports.descending = descending; + exports.deviation = deviation; + exports.extent = extent; + exports.histogram = histogram; + exports.thresholdFreedmanDiaconis = freedmanDiaconis; + exports.thresholdScott = scott; + exports.thresholdSturges = sturges; + exports.max = max; + exports.mean = mean; + exports.median = median; + exports.merge = merge; + exports.min = min; + exports.pairs = pairs; + exports.permute = permute; + exports.quantile = quantile; + exports.range = range; + exports.scan = scan; + exports.shuffle = shuffle; + exports.sum = sum; + exports.ticks = ticks; + exports.tickStep = tickStep; + exports.transpose = transpose; + exports.variance = variance; + exports.zip = zip; + +})); + +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { - return func; - } +"use strict"; -/***/ }, -/* 7 */ -/***/ function(module, exports, __webpack_require__) { - (function (global, factory) { - true ? factory(exports, __webpack_require__(8), __webpack_require__(9), __webpack_require__(10), __webpack_require__(12), __webpack_require__(13), __webpack_require__(14), __webpack_require__(11)) : - typeof define === 'function' && define.amd ? define(['exports', 'd3-array', 'd3-collection', 'd3-interpolate', 'd3-format', 'd3-time', 'd3-time-format', 'd3-color'], factory) : - (factory((global.d3_scale = global.d3_scale || {}),global.d3_array,global.d3_collection,global.d3_interpolate,global.d3_format,global.d3_time,global.d3_time_format,global.d3_color)); - }(this, function (exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color) { 'use strict'; +Object.defineProperty(exports, "__esModule", { + value: true +}); - var array = Array.prototype; +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - var map$1 = array.map; - var slice = array.slice; +var _react = __webpack_require__(0); - var implicit = {name: "implicit"}; +var _react2 = _interopRequireDefault(_react); - function ordinal() { - var index = d3Collection.map(), - domain = [], - range = [], - unknown = implicit; +var _d3Axis = __webpack_require__(218); - function scale(d) { - var key = d + "", i = index.get(key); - if (!i) { - if (unknown !== implicit) return unknown; - index.set(key, i = domain.push(d)); - } - return range[(i - 1) % range.length]; - } +var _d3Axis2 = _interopRequireDefault(_d3Axis); - scale.domain = function(_) { - if (!arguments.length) return domain.slice(); - domain = [], index = d3Collection.map(); - var i = -1, n = _.length, d, key; - while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d)); - return scale; - }; +var _d3Selection = __webpack_require__(44); - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), scale) : range.slice(); - }; +var _d3Selection2 = _interopRequireDefault(_d3Selection); - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; +var _reactFauxDom = __webpack_require__(45); - scale.copy = function() { - return ordinal() - .domain(domain) - .range(range) - .unknown(unknown); - }; +var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); - return scale; - } +var _scale = __webpack_require__(43); - function band() { - var scale = ordinal().unknown(undefined), - domain = scale.domain, - ordinalRange = scale.range, - range = [0, 1], - step, - bandwidth, - round = false, - paddingInner = 0, - paddingOuter = 0, - align = 0.5; - - delete scale.unknown; - - function rescale() { - var n = domain().length, - reverse = range[1] < range[0], - start = range[reverse - 0], - stop = range[1 - reverse]; - step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2); - if (round) step = Math.floor(step); - start += (stop - start - step * (n - paddingInner)) * align; - bandwidth = step * (1 - paddingInner); - if (round) start = Math.round(start), bandwidth = Math.round(bandwidth); - var values = d3Array.range(n).map(function(i) { return start + step * i; }); - return ordinalRange(reverse ? values.reverse() : values); - } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - scale.domain = function(_) { - return arguments.length ? (domain(_), rescale()) : domain(); - }; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - scale.range = function(_) { - return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice(); - }; +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - scale.rangeRound = function(_) { - return range = [+_[0], +_[1]], round = true, rescale(); - }; +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - scale.bandwidth = function() { - return bandwidth; - }; +var Axis = function (_Component) { + _inherits(Axis, _Component); - scale.step = function() { - return step; - }; + function Axis(props) { + _classCallCheck(this, Axis); - scale.round = function(_) { - return arguments.length ? (round = !!_, rescale()) : round; - }; + return _possibleConstructorReturn(this, Object.getPrototypeOf(Axis).call(this, props)); + } - scale.padding = function(_) { - return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner; - }; + _createClass(Axis, [{ + key: '_mkTickAxis', + value: function _mkTickAxis() { + var _props = this.props; + var type = _props.type; + var tickOrient = _props.tickOrient; + var tickFormat = _props.tickFormat; + var tickPadding = _props.tickPadding; + var tickSizeInner = _props.tickSizeInner; + var tickSizeOuter = _props.tickSizeOuter; + var ticks = _props.ticks; + var tickValues = _props.tickValues; - scale.paddingInner = function(_) { - return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner; - }; - scale.paddingOuter = function(_) { - return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter; - }; + var func = _d3Axis2.default; - scale.align = function(_) { - return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align; - }; + if (tickOrient === 'left') { + func = func.axisLeft(this._mkScale(this.props)); + } else if (tickOrient === 'right') { + func = func.axisRight(this._mkScale(this.props)); + } else if (tickOrient === 'top') { + func = func.axisTop(this._mkScale(this.props)); + } else if (tickOrient === 'bottom') { + func = func.axisBottom(this._mkScale(this.props)); + } - scale.copy = function() { - return band() - .domain(domain()) - .range(range) - .round(round) - .paddingInner(paddingInner) - .paddingOuter(paddingOuter) - .align(align); - }; + if (tickFormat) func.tickFormat(tickFormat); - return rescale(); - } + if (tickPadding) func.tickPadding(tickPadding); - function pointish(scale) { - var copy = scale.copy; + if (tickSizeOuter) func.tickSizeOuter(tickSizeOuter); - scale.padding = scale.paddingOuter; - delete scale.paddingInner; - delete scale.paddingOuter; + if (tickSizeInner) func.tickSizeInner(tickSizeInner); - scale.copy = function() { - return pointish(copy()); - }; + if (tickValues) func.tickValues(tickValues); - return scale; - } + if (ticks) func.ticks.apply(null, ticks); - function point() { - return pointish(band().paddingInner(1)); - } + return func; + } + }, { + key: '_mkScale', + value: function _mkScale() { + var newScale; - function constant(x) { - return function() { - return x; - }; - } + if (this.props.scale === 'ordinal') newScale = 'band';else newScale = this.props.scale; - function number(x) { - return +x; - } + var func = (0, _scale.scale)(Object.assign({}, this.props, { scale: newScale })); - var unit = [0, 1]; + return func; + } + }, { + key: 'render', + value: function render() { + var _props2 = this.props; + var showAxis = _props2.showAxis; + var gridAxisClassName = _props2.gridAxisClassName; + var axisClassName = _props2.axisClassName; + var type = _props2.type; + var style = _props2.style; + var axisStyling = _props2.axisStyling; + var gridStyleClassName = _props2.gridStyleClassName; - function deinterpolate(a, b) { - return (b -= (a = +a)) - ? function(x) { return (x - a) / b; } - : constant(b); - } - function deinterpolateClamp(deinterpolate) { - return function(a, b) { - var d = deinterpolate(a = +a, b = +b); - return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); }; - }; - } + var axisGroup = _reactFauxDom2.default.createElement('g'); - function reinterpolateClamp(reinterpolate) { - return function(a, b) { - var r = reinterpolate(a = +a, b = +b); - return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); }; - }; - } + if (type === 'x') var axisClasses = axisClassName + ' axis x';else if (type === 'y') var axisClasses = axisClassName + ' axis y';else if (type === 'gridx' || type === 'gridy') var axisClasses = gridAxisClassName + ' grid-axis'; - function bimap(domain, range, deinterpolate, reinterpolate) { - var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1]; - if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0); - else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1); - return function(x) { return r0(d0(x)); }; - } + axisGroup.setAttribute('class', axisClasses); - function polymap(domain, range, deinterpolate, reinterpolate) { - var j = Math.min(domain.length, range.length) - 1, - d = new Array(j), - r = new Array(j), - i = -1; + var axisDom = _d3Selection2.default.select(axisGroup); - // Reverse descending domains. - if (domain[j] < domain[0]) { - domain = domain.slice().reverse(); - range = range.slice().reverse(); - } + axisDom.call(this._mkTickAxis()); - while (++i < j) { - d[i] = deinterpolate(domain[i], domain[i + 1]); - r[i] = reinterpolate(range[i], range[i + 1]); - } + if (!showAxis) { + axisDom.selectAll(".grid-axis .tick text").style("opacity", "0"); - return function(x) { - var i = d3Array.bisect(domain, x, 1, j) - 1; - return r[i](d[i](x)); - }; - } + if (type === 'gridx' || type === 'gridy') { + // hide domain in grids + axisDom.selectAll(".grid-axis .domain").style("opacity", "0"); + } + } + + // apply user defined axis path style (path refers to x-axis line)if provided or else default + if (axisStyling && axisStyling.pathClassName) { + var axisPath = axisDom.selectAll('.axis path'); + axisPath.attr("class", axisStyling.pathClassName); + } else axisDom.selectAll('.axis path').style('fill', 'none').style('stroke', '#000').style('shape-rendering', 'crispEdges').style('display', 'none'); + + // apply user defined style for axis tick line if provided or else default + if (axisStyling && axisStyling.ticksClassName) { + var axisLine = axisDom.selectAll('.axis line'); + axisLine.attr("class", axisStyling.ticksClassName); + } else axisDom.selectAll('.axis line').style('fill', 'none').style('stroke', '#000').style('shape-rendering', 'crispEdges'); + + // apply user defined style for grid axes if provided or else default + if (gridStyleClassName) { + var grids = axisDom.selectAll('.grid-axis line'); + grids.attr("class", gridStyleClassName); + } else axisDom.selectAll('.grid-axis line').style('opacity', .2).style('fill', 'none').style('stroke', '#000').style('stroke-width', '1.5px'); + + // Axis tick labels style + var axisText = axisDom.selectAll('.axis text'); + if (style) { + for (var key in style) { + axisText.style(key, style[key]); + } + } + // user defined style for axis labels + else if (axisStyling && axisStyling.textClassName) { + axisText.attr("class", axisStyling.textClassName); + } + + return axisDom.node().toReact(); + } + }]); + + return Axis; +}(_react.Component); + +Axis.defaultProps = { + range: null, + rangeRoundBands: null, + domain: null, + tickFormat: null, + tickOrient: null +}; +Axis.PropTypes = { + showAxis: _react.PropTypes.bool, + type: _react.PropTypes.string, + orient: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']), + tickOrient: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']) +}; +exports.default = Axis; + +/***/ }), +/* 33 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + +function makeEmptyFunction(arg) { + return function () { + return arg; + }; +} + +/** + * This function accepts and discards inputs; it has no side effects. This is + * primarily useful idiomatically for overridable function endpoints which + * always need to be callable, since JS lacks a null-call idiom ala Cocoa. + */ +var emptyFunction = function emptyFunction() {}; + +emptyFunction.thatReturns = makeEmptyFunction; +emptyFunction.thatReturnsFalse = makeEmptyFunction(false); +emptyFunction.thatReturnsTrue = makeEmptyFunction(true); +emptyFunction.thatReturnsNull = makeEmptyFunction(null); +emptyFunction.thatReturnsThis = function () { + return this; +}; +emptyFunction.thatReturnsArgument = function (arg) { + return arg; +}; + +module.exports = emptyFunction; + +/***/ }), +/* 34 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + + +/** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + +var validateFormat = function validateFormat(format) {}; + +if (process.env.NODE_ENV !== 'production') { + validateFormat = function validateFormat(format) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + }; +} + +function invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + if (!condition) { + var error; + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } +} + +module.exports = invariant; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(17))) + +/***/ }), +/* 35 */ +/***/ (function(module, exports, __webpack_require__) { - function copy(source, target) { - return target - .domain(source.domain()) - .range(source.range()) - .interpolate(source.interpolate()) - .clamp(source.clamp()); - } +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ - // deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1]. - // reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b]. - function continuous(deinterpolate$$, reinterpolate) { - var domain = unit, - range = unit, - interpolate = d3Interpolate.interpolate, - clamp = false, - output, - input; - - function rescale() { - var map = Math.min(domain.length, range.length) > 2 ? polymap : bimap; - output = map(domain, range, clamp ? deinterpolateClamp(deinterpolate$$) : deinterpolate$$, interpolate); - input = map(range, domain, deinterpolate, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate); - return scale; - } - function scale(x) { - return output(+x); - } - scale.invert = function(y) { - return input(+y); - }; +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - scale.domain = function(_) { - return arguments.length ? (domain = map$1.call(_, number), rescale()) : domain.slice(); - }; +module.exports = ReactPropTypesSecret; - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), rescale()) : range.slice(); - }; - scale.rangeRound = function(_) { - return range = slice.call(_), interpolate = d3Interpolate.interpolateRound, rescale(); - }; +/***/ }), +/* 36 */ +/***/ (function(module, exports, __webpack_require__) { - scale.clamp = function(_) { - return arguments.length ? (clamp = !!_, rescale()) : clamp; - }; +var getNative = __webpack_require__(13), + root = __webpack_require__(10); - scale.interpolate = function(_) { - return arguments.length ? (interpolate = _, rescale()) : interpolate; - }; +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'); - return rescale(); - } +module.exports = Map; - function tickFormat(domain, count, specifier) { - var start = domain[0], - stop = domain[domain.length - 1], - step = d3Array.tickStep(start, stop, count == null ? 10 : count), - precision; - specifier = d3Format.formatSpecifier(specifier == null ? ",f" : specifier); - switch (specifier.type) { - case "s": { - var value = Math.max(Math.abs(start), Math.abs(stop)); - if (specifier.precision == null && !isNaN(precision = d3Format.precisionPrefix(step, value))) specifier.precision = precision; - return d3Format.formatPrefix(specifier, value); - } - case "": - case "e": - case "g": - case "p": - case "r": { - if (specifier.precision == null && !isNaN(precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e"); - break; - } - case "f": - case "%": { - if (specifier.precision == null && !isNaN(precision = d3Format.precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2; - break; - } - } - return d3Format.format(specifier); - } - function linearish(scale) { - var domain = scale.domain; +/***/ }), +/* 37 */ +/***/ (function(module, exports, __webpack_require__) { + +var mapCacheClear = __webpack_require__(117), + mapCacheDelete = __webpack_require__(124), + mapCacheGet = __webpack_require__(126), + mapCacheHas = __webpack_require__(127), + mapCacheSet = __webpack_require__(128); + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +module.exports = MapCache; + + +/***/ }), +/* 38 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIsArguments = __webpack_require__(145), + isObjectLike = __webpack_require__(14); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); +}; + +module.exports = isArguments; + + +/***/ }), +/* 39 */ +/***/ (function(module, exports) { - scale.ticks = function(count) { - var d = domain(); - return d3Array.ticks(d[0], d[d.length - 1], count == null ? 10 : count); - }; +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; - scale.tickFormat = function(count, specifier) { - return tickFormat(domain(), count, specifier); - }; +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; - scale.nice = function(count) { - var d = domain(), - i = d.length - 1, - n = count == null ? 10 : count, - start = d[0], - stop = d[i], - step = d3Array.tickStep(start, stop, n); - - if (step) { - step = d3Array.tickStep(Math.floor(start / step) * step, Math.ceil(stop / step) * step, n); - d[0] = Math.floor(start / step) * step; - d[i] = Math.ceil(stop / step) * step; - domain(d); - } +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; - return scale; - }; + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); +} - return scale; - } +module.exports = isIndex; - function linear() { - var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber); - scale.copy = function() { - return copy(scale, linear()); - }; +/***/ }), +/* 40 */ +/***/ (function(module, exports) { + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +module.exports = isLength; + + +/***/ }), +/* 41 */ +/***/ (function(module, exports, __webpack_require__) { + +var isArray = __webpack_require__(11), + isSymbol = __webpack_require__(29); + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +module.exports = isKey; + + +/***/ }), +/* 42 */ +/***/ (function(module, exports) { + +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +module.exports = identity; + + +/***/ }), +/* 43 */ +/***/ (function(module, exports, __webpack_require__) { - return linearish(scale); - } +"use strict"; - function identity() { - var domain = [0, 1]; - function scale(x) { - return +x; - } +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.scale = scale; - scale.invert = scale; +var _d3Scale = __webpack_require__(15); - scale.domain = scale.range = function(_) { - return arguments.length ? (domain = map$1.call(_, number), scale) : domain.slice(); - }; +var _d3Scale2 = _interopRequireDefault(_d3Scale); - scale.copy = function() { - return identity().domain(domain); - }; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - return linearish(scale); - } +function scale(props) { + var type = props.type; + var scale = props.scale; - function nice(domain, interval) { - domain = domain.slice(); - var i0 = 0, - i1 = domain.length - 1, - x0 = domain[i0], - x1 = domain[i1], - t; + var func; - if (x1 < x0) { - t = i0, i0 = i1, i1 = t; - t = x0, x0 = x1, x1 = t; - } + if (scale === 'linear') func = _d3Scale2.default.scaleLinear();else if (scale === 'identity') func = _d3Scale2.default.scaleIdentity();else if (scale === 'sqrt') func = _d3Scale2.default.scaleSqrt();else if (scale === 'pow') func = _d3Scale2.default.scalePow();else if (scale === 'log') func = _d3Scale2.default.scaleLog();else if (scale === 'quantize') func = _d3Scale2.default.scaleQuantize();else if (scale === 'quantile') func = _d3Scale2.default.scaleQuantile();else if (scale === 'ordinal') func = _d3Scale2.default.scaleOrdinal();else if (scale === 'band') func = _d3Scale2.default.scaleBand();else if (scale === 'time') func = _d3Scale2.default.scaleTime();else new Error('Please check your axis scale setting. "' + scale + '" scale is invalid. '); - domain[i0] = interval.floor(x0); - domain[i1] = interval.ceil(x1); - return domain; - } + func = _mkScaleSettings(props, func); - function deinterpolate$1(a, b) { - return (b = Math.log(b / a)) - ? function(x) { return Math.log(x / a) / b; } - : constant(b); - } + return func; +} - function reinterpolate(a, b) { - return a < 0 - ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); } - : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); }; - } +function _mkScaleSettings(props, func) { + var type = props.type; + var range = props.range; + var domain = props.domain; + var scale = props.scale; + var bandPaddingInner = props.bandPaddingInner; + var bandPaddingOuter = props.bandPaddingOuter; - function pow10(x) { - return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x; - } - function powp(base) { - return base === 10 ? pow10 - : base === Math.E ? Math.exp - : function(x) { return Math.pow(base, x); }; - } + if (range) func.range(range); - function logp(base) { - return base === Math.E ? Math.log - : base === 10 && Math.log10 - || base === 2 && Math.log2 - || (base = Math.log(base), function(x) { return Math.log(x) / base; }); - } + if (domain) func.domain(domain); - function reflect(f) { - return function(x) { - return -f(-x); - }; - } + if (scale === 'band') { - function log() { - var scale = continuous(deinterpolate$1, reinterpolate).domain([1, 10]), - domain = scale.domain, - base = 10, - logs = logp(10), - pows = powp(10); - - function rescale() { - logs = logp(base), pows = powp(base); - if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows); - return scale; - } + func.round(true); - scale.base = function(_) { - return arguments.length ? (base = +_, rescale()) : base; - }; + if (bandPaddingInner) func.paddingInner(bandPaddingInner);else func.paddingInner(.1); - scale.domain = function(_) { - return arguments.length ? (domain(_), rescale()) : domain(); - }; + if (bandPaddingOuter) func.paddingOuter(bandPaddingOuter);else func.paddingOuter(.1); + } - scale.ticks = function(count) { - var d = domain(), - u = d[0], - v = d[d.length - 1], - r; - - if (r = v < u) i = u, u = v, v = i; - - var i = logs(u), - j = logs(v), - p, - k, - t, - n = count == null ? 10 : +count, - z = []; - - if (!(base % 1) && j - i < n) { - i = Math.round(i) - 1, j = Math.round(j) + 1; - if (u > 0) for (; i < j; ++i) { - for (k = 1, p = pows(i); k < base; ++k) { - t = p * k; - if (t < u) continue; - if (t > v) break; - z.push(t); - } - } else for (; i < j; ++i) { - for (k = base - 1, p = pows(i); k >= 1; --k) { - t = p * k; - if (t < u) continue; - if (t > v) break; - z.push(t); - } - } - if (r) z.reverse(); - } else { - z = d3Array.ticks(i, j, Math.min(j - i, n)).map(pows); - } + return func; +} - return z; - }; +/***/ }), +/* 44 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_selection = global.d3_selection || {}))); +}(this, function (exports) { 'use strict'; + + var version = "0.7.3"; + + var xhtml = "http://www.w3.org/1999/xhtml"; + + var namespaces = { + svg: "http://www.w3.org/2000/svg", + xhtml: xhtml, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" + }; + + function namespace(name) { + var prefix = name += "", i = prefix.indexOf(":"); + if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); + return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; + } + + function creatorInherit(name) { + return function() { + var document = this.ownerDocument, + uri = this.namespaceURI; + return uri === xhtml && document.documentElement.namespaceURI === xhtml + ? document.createElement(name) + : document.createElementNS(uri, name); + }; + } + + function creatorFixed(fullname) { + return function() { + return this.ownerDocument.createElementNS(fullname.space, fullname.local); + }; + } + + function creator(name) { + var fullname = namespace(name); + return (fullname.local + ? creatorFixed + : creatorInherit)(fullname); + } + + var matcher = function(selector) { + return function() { + return this.matches(selector); + }; + }; + + if (typeof document !== "undefined") { + var element = document.documentElement; + if (!element.matches) { + var vendorMatches = element.webkitMatchesSelector + || element.msMatchesSelector + || element.mozMatchesSelector + || element.oMatchesSelector; + matcher = function(selector) { + return function() { + return vendorMatches.call(this, selector); + }; + }; + } + } + + var matcher$1 = matcher; + + var filterEvents = {}; + + exports.event = null; + + if (typeof document !== "undefined") { + var element$1 = document.documentElement; + if (!("onmouseenter" in element$1)) { + filterEvents = {mouseenter: "mouseover", mouseleave: "mouseout"}; + } + } + + function filterContextListener(listener, index, group) { + listener = contextListener(listener, index, group); + return function(event) { + var related = event.relatedTarget; + if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) { + listener.call(this, event); + } + }; + } + + function contextListener(listener, index, group) { + return function(event1) { + var event0 = exports.event; // Events can be reentrant (e.g., focus). + exports.event = event1; + try { + listener.call(this, this.__data__, index, group); + } finally { + exports.event = event0; + } + }; + } + + function parseTypenames(typenames) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + return {type: t, name: name}; + }); + } + + function onRemove(typename) { + return function() { + var on = this.__on; + if (!on) return; + for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { + if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.capture); + } else { + on[++i] = o; + } + } + if (++i) on.length = i; + else delete this.__on; + }; + } + + function onAdd(typename, value, capture) { + var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener; + return function(d, i, group) { + var on = this.__on, o, listener = wrap(value, i, group); + if (on) for (var j = 0, m = on.length; j < m; ++j) { + if ((o = on[j]).type === typename.type && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.capture); + this.addEventListener(o.type, o.listener = listener, o.capture = capture); + o.value = value; + return; + } + } + this.addEventListener(typename.type, listener, capture); + o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture}; + if (!on) this.__on = [o]; + else on.push(o); + }; + } + + function selection_on(typename, value, capture) { + var typenames = parseTypenames(typename + ""), i, n = typenames.length, t; + + if (arguments.length < 2) { + var on = this.node().__on; + if (on) for (var j = 0, m = on.length, o; j < m; ++j) { + for (i = 0, o = on[j]; i < n; ++i) { + if ((t = typenames[i]).type === o.type && t.name === o.name) { + return o.value; + } + } + } + return; + } + + on = value ? onAdd : onRemove; + if (capture == null) capture = false; + for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture)); + return this; + } + + function customEvent(event1, listener, that, args) { + var event0 = exports.event; + event1.sourceEvent = exports.event; + exports.event = event1; + try { + return listener.apply(that, args); + } finally { + exports.event = event0; + } + } + + function sourceEvent() { + var current = exports.event, source; + while (source = current.sourceEvent) current = source; + return current; + } + + function point(node, event) { + var svg = node.ownerSVGElement || node; + + if (svg.createSVGPoint) { + var point = svg.createSVGPoint(); + point.x = event.clientX, point.y = event.clientY; + point = point.matrixTransform(node.getScreenCTM().inverse()); + return [point.x, point.y]; + } + + var rect = node.getBoundingClientRect(); + return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; + } + + function mouse(node) { + var event = sourceEvent(); + if (event.changedTouches) event = event.changedTouches[0]; + return point(node, event); + } + + function selector(selector) { + return function() { + return this.querySelector(selector); + }; + } + + function selection_select(select) { + if (typeof select !== "function") select = selector(select); + + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + } + } + } + + return new Selection(subgroups, this._parents); + } + + function selectorAll(selector) { + return function() { + return this.querySelectorAll(selector); + }; + } + + function selection_selectAll(select) { + if (typeof select !== "function") select = selectorAll(select); + + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + subgroups.push(select.call(node, node.__data__, i, group)); + parents.push(node); + } + } + } + + return new Selection(subgroups, parents); + } + + function selection_filter(match) { + if (typeof match !== "function") match = matcher$1(match); + + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup[i] = node; + } + } + } + + return new Selection(subgroups, this._parents); + } + + function constant(x) { + return function() { + return x; + }; + } + + var keyPrefix = "$"; // Protect against keys like “__proto__”. + + function bindIndex(parent, group, enter, update, exit, data) { + var i = 0, + node, + groupLength = group.length, + dataLength = data.length; + + // Put any non-null nodes that fit into update. + // Put any null nodes into enter. + // Put any remaining data into enter. + for (; i < dataLength; ++i) { + if (node = group[i]) { + node.__data__ = data[i]; + update[i] = node; + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + + // Put any non-null nodes that don’t fit into exit. + for (; i < groupLength; ++i) { + if (node = group[i]) { + exit[i] = node; + } + } + } + + function bindKey(parent, group, enter, update, exit, data, key) { + var i, + node, + nodeByKeyValue = {}, + groupLength = group.length, + dataLength = data.length, + keyValues = new Array(groupLength), + keyValue; + + // Compute the key for each node. + // If multiple nodes have the same key, the duplicates are added to exit. + for (i = 0; i < groupLength; ++i) { + if (node = group[i]) { + keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group); + if (keyValue in nodeByKeyValue) { + exit[i] = node; + } else { + nodeByKeyValue[keyValue] = node; + } + } + } + + // Compute the key for each datum. + // If there a node associated with this key, join and add it to update. + // If there is not (or the key is a duplicate), add it to enter. + for (i = 0; i < dataLength; ++i) { + keyValue = keyPrefix + key.call(parent, data[i], i, data); + if (node = nodeByKeyValue[keyValue]) { + update[i] = node; + node.__data__ = data[i]; + nodeByKeyValue[keyValue] = null; + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + + // Add any remaining nodes that were not bound to data to exit. + for (i = 0; i < groupLength; ++i) { + if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) { + exit[i] = node; + } + } + } + + function selection_data(value, key) { + if (!value) { + data = new Array(this.size()), j = -1; + this.each(function(d) { data[++j] = d; }); + return data; + } + + var bind = key ? bindKey : bindIndex, + parents = this._parents, + groups = this._groups; + + if (typeof value !== "function") value = constant(value); + + for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { + var parent = parents[j], + group = groups[j], + groupLength = group.length, + data = value.call(parent, parent && parent.__data__, j, parents), + dataLength = data.length, + enterGroup = enter[j] = new Array(dataLength), + updateGroup = update[j] = new Array(dataLength), + exitGroup = exit[j] = new Array(groupLength); + + bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); + + // Now connect the enter nodes to their following update node, such that + // appendChild can insert the materialized enter node before this node, + // rather than at the end of the parent node. + for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { + if (previous = enterGroup[i0]) { + if (i0 >= i1) i1 = i0 + 1; + while (!(next = updateGroup[i1]) && ++i1 < dataLength); + previous._next = next || null; + } + } + } + + update = new Selection(update, parents); + update._enter = enter; + update._exit = exit; + return update; + } + + function EnterNode(parent, datum) { + this.ownerDocument = parent.ownerDocument; + this.namespaceURI = parent.namespaceURI; + this._next = null; + this._parent = parent; + this.__data__ = datum; + } + + EnterNode.prototype = { + constructor: EnterNode, + appendChild: function(child) { return this._parent.insertBefore(child, this._next); }, + insertBefore: function(child, next) { return this._parent.insertBefore(child, next); }, + querySelector: function(selector) { return this._parent.querySelector(selector); }, + querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); } + }; + + function sparse(update) { + return new Array(update.length); + } + + function selection_enter() { + return new Selection(this._enter || this._groups.map(sparse), this._parents); + } + + function selection_exit() { + return new Selection(this._exit || this._groups.map(sparse), this._parents); + } + + function selection_merge(selection) { + + for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + + return new Selection(merges, this._parents); + } + + function selection_order() { + + for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) { + for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) { + if (node = group[i]) { + if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next); + next = node; + } + } + } + + return this; + } + + function selection_sort(compare) { + if (!compare) compare = ascending; + + function compareNode(a, b) { + return a && b ? compare(a.__data__, b.__data__) : !a - !b; + } + + for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group[i]) { + sortgroup[i] = node; + } + } + sortgroup.sort(compareNode); + } + + return new Selection(sortgroups, this._parents).order(); + } + + function ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; + } + + function selection_call() { + var callback = arguments[0]; + arguments[0] = this; + callback.apply(null, arguments); + return this; + } + + function selection_nodes() { + var nodes = new Array(this.size()), i = -1; + this.each(function() { nodes[++i] = this; }); + return nodes; + } + + function selection_node() { + + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { + var node = group[i]; + if (node) return node; + } + } + + return null; + } + + function selection_size() { + var size = 0; + this.each(function() { ++size; }); + return size; + } + + function selection_empty() { + return !this.node(); + } + + function selection_each(callback) { + + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) callback.call(node, node.__data__, i, group); + } + } + + return this; + } + + function attrRemove(name) { + return function() { + this.removeAttribute(name); + }; + } + + function attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; + } + + function attrConstant(name, value) { + return function() { + this.setAttribute(name, value); + }; + } + + function attrConstantNS(fullname, value) { + return function() { + this.setAttributeNS(fullname.space, fullname.local, value); + }; + } + + function attrFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttribute(name); + else this.setAttribute(name, v); + }; + } + + function attrFunctionNS(fullname, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttributeNS(fullname.space, fullname.local); + else this.setAttributeNS(fullname.space, fullname.local, v); + }; + } + + function selection_attr(name, value) { + var fullname = namespace(name); + + if (arguments.length < 2) { + var node = this.node(); + return fullname.local + ? node.getAttributeNS(fullname.space, fullname.local) + : node.getAttribute(fullname); + } + + return this.each((value == null + ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === "function" + ? (fullname.local ? attrFunctionNS : attrFunction) + : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value)); + } + + function defaultView(node) { + return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node + || (node.document && node) // node is a Window + || node.defaultView; // node is a Document + } + + function styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; + } + + function styleConstant(name, value, priority) { + return function() { + this.style.setProperty(name, value, priority); + }; + } + + function styleFunction(name, value, priority) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.style.removeProperty(name); + else this.style.setProperty(name, v, priority); + }; + } + + function selection_style(name, value, priority) { + var node; + return arguments.length > 1 + ? this.each((value == null + ? styleRemove : typeof value === "function" + ? styleFunction + : styleConstant)(name, value, priority == null ? "" : priority)) + : defaultView(node = this.node()) + .getComputedStyle(node, null) + .getPropertyValue(name); + } + + function propertyRemove(name) { + return function() { + delete this[name]; + }; + } + + function propertyConstant(name, value) { + return function() { + this[name] = value; + }; + } + + function propertyFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) delete this[name]; + else this[name] = v; + }; + } + + function selection_property(name, value) { + return arguments.length > 1 + ? this.each((value == null + ? propertyRemove : typeof value === "function" + ? propertyFunction + : propertyConstant)(name, value)) + : this.node()[name]; + } + + function classArray(string) { + return string.trim().split(/^|\s+/); + } + + function classList(node) { + return node.classList || new ClassList(node); + } + + function ClassList(node) { + this._node = node; + this._names = classArray(node.getAttribute("class") || ""); + } + + ClassList.prototype = { + add: function(name) { + var i = this._names.indexOf(name); + if (i < 0) { + this._names.push(name); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + remove: function(name) { + var i = this._names.indexOf(name); + if (i >= 0) { + this._names.splice(i, 1); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + contains: function(name) { + return this._names.indexOf(name) >= 0; + } + }; + + function classedAdd(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.add(names[i]); + } + + function classedRemove(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.remove(names[i]); + } + + function classedTrue(names) { + return function() { + classedAdd(this, names); + }; + } + + function classedFalse(names) { + return function() { + classedRemove(this, names); + }; + } + + function classedFunction(names, value) { + return function() { + (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); + }; + } + + function selection_classed(name, value) { + var names = classArray(name + ""); + + if (arguments.length < 2) { + var list = classList(this.node()), i = -1, n = names.length; + while (++i < n) if (!list.contains(names[i])) return false; + return true; + } + + return this.each((typeof value === "function" + ? classedFunction : value + ? classedTrue + : classedFalse)(names, value)); + } + + function textRemove() { + this.textContent = ""; + } + + function textConstant(value) { + return function() { + this.textContent = value; + }; + } + + function textFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.textContent = v == null ? "" : v; + }; + } + + function selection_text(value) { + return arguments.length + ? this.each(value == null + ? textRemove : (typeof value === "function" + ? textFunction + : textConstant)(value)) + : this.node().textContent; + } + + function htmlRemove() { + this.innerHTML = ""; + } + + function htmlConstant(value) { + return function() { + this.innerHTML = value; + }; + } + + function htmlFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.innerHTML = v == null ? "" : v; + }; + } + + function selection_html(value) { + return arguments.length + ? this.each(value == null + ? htmlRemove : (typeof value === "function" + ? htmlFunction + : htmlConstant)(value)) + : this.node().innerHTML; + } + + function raise() { + if (this.nextSibling) this.parentNode.appendChild(this); + } + + function selection_raise() { + return this.each(raise); + } + + function lower() { + if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild); + } + + function selection_lower() { + return this.each(lower); + } + + function append(create) { + return function() { + return this.appendChild(create.apply(this, arguments)); + }; + } + + function insert(create, select) { + return function() { + return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); + }; + } + + function constantNull() { + return null; + } + + function selection_append(name, before) { + var create = typeof name === "function" ? name : creator(name); + return this.select(arguments.length < 2 + ? append(create) + : insert(create, before == null + ? constantNull : typeof before === "function" + ? before + : selector(before))); + } + + function remove() { + var parent = this.parentNode; + if (parent) parent.removeChild(this); + } + + function selection_remove() { + return this.each(remove); + } + + function selection_datum(value) { + return arguments.length + ? this.property("__data__", value) + : this.node().__data__; + } + + function dispatchEvent(node, type, params) { + var window = defaultView(node), + event = window.CustomEvent; + + if (event) { + event = new event(type, params); + } else { + event = window.document.createEvent("Event"); + if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; + else event.initEvent(type, false, false); + } + + node.dispatchEvent(event); + } + + function dispatchConstant(type, params) { + return function() { + return dispatchEvent(this, type, params); + }; + } + + function dispatchFunction(type, params) { + return function() { + return dispatchEvent(this, type, params.apply(this, arguments)); + }; + } + + function selection_dispatch(type, params) { + return this.each((typeof params === "function" + ? dispatchFunction + : dispatchConstant)(type, params)); + } + + var root = [null]; + + function Selection(groups, parents) { + this._groups = groups; + this._parents = parents; + } + + function selection() { + return new Selection([[document.documentElement]], root); + } + + Selection.prototype = selection.prototype = { + constructor: Selection, + select: selection_select, + selectAll: selection_selectAll, + filter: selection_filter, + data: selection_data, + enter: selection_enter, + exit: selection_exit, + merge: selection_merge, + order: selection_order, + sort: selection_sort, + call: selection_call, + nodes: selection_nodes, + node: selection_node, + size: selection_size, + empty: selection_empty, + each: selection_each, + attr: selection_attr, + style: selection_style, + property: selection_property, + classed: selection_classed, + text: selection_text, + html: selection_html, + raise: selection_raise, + lower: selection_lower, + append: selection_append, + remove: selection_remove, + datum: selection_datum, + on: selection_on, + dispatch: selection_dispatch + }; + + function select(selector) { + return typeof selector === "string" + ? new Selection([[document.querySelector(selector)]], [document.documentElement]) + : new Selection([[selector]], root); + } + + function selectAll(selector) { + return typeof selector === "string" + ? new Selection([document.querySelectorAll(selector)], [document.documentElement]) + : new Selection([selector], root); + } + + function touch(node, touches, identifier) { + if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches; + + for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) { + if ((touch = touches[i]).identifier === identifier) { + return point(node, touch); + } + } + + return null; + } + + function touches(node, touches) { + if (touches == null) touches = sourceEvent().touches; + + for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) { + points[i] = point(node, touches[i]); + } + + return points; + } + + exports.version = version; + exports.creator = creator; + exports.matcher = matcher$1; + exports.mouse = mouse; + exports.namespace = namespace; + exports.namespaces = namespaces; + exports.select = select; + exports.selectAll = selectAll; + exports.selection = selection; + exports.selector = selector; + exports.selectorAll = selectorAll; + exports.touch = touch; + exports.touches = touches; + exports.window = defaultView; + exports.customEvent = customEvent; + +})); + +/***/ }), +/* 45 */ +/***/ (function(module, exports, __webpack_require__) { + +var Element = __webpack_require__(81) +var Window = __webpack_require__(215) +var core = __webpack_require__(216) +var anim = __webpack_require__(217) + +var ReactFauxDOM = { + Element: Element, + defaultView: Window, + mixins: { + core: core, + anim: anim + }, + createElement: function (nodeName) { + return new Element(nodeName) + }, + createElementNS: function (namespace, nodeName) { + return this.createElement(nodeName) + }, + compareDocumentPosition: function () { + // The selector engine tries to validate with this, but we don't care. + // 8 = DOCUMENT_POSITION_CONTAINS, so we say all nodes are in this document. + return 8 + } +} + +Element.prototype.ownerDocument = ReactFauxDOM + +module.exports = ReactFauxDOM + + +/***/ }), +/* 46 */ +/***/ (function(module, exports, __webpack_require__) { - scale.tickFormat = function(count, specifier) { - if (specifier == null) specifier = base === 10 ? ".0e" : ","; - if (typeof specifier !== "function") specifier = d3Format.format(specifier); - if (count === Infinity) return specifier; - if (count == null) count = 10; - var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate? - return function(d) { - var i = d / pows(Math.round(logs(d))); - if (i * base < base - 0.5) i *= base; - return i <= k ? specifier(d) : ""; - }; - }; +"use strict"; - scale.nice = function() { - return domain(nice(domain(), { - floor: function(x) { return pows(Math.floor(logs(x))); }, - ceil: function(x) { return pows(Math.ceil(logs(x))); } - })); - }; - scale.copy = function() { - return copy(scale, log().base(base)); - }; +Object.defineProperty(exports, "__esModule", { + value: true +}); - return scale; - } +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - function raise(x, exponent) { - return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent); - } +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - function pow() { - var exponent = 1, - scale = continuous(deinterpolate, reinterpolate), - domain = scale.domain; +var _react = __webpack_require__(0); - function deinterpolate(a, b) { - return (b = raise(b, exponent) - (a = raise(a, exponent))) - ? function(x) { return (raise(x, exponent) - a) / b; } - : constant(b); - } +var _react2 = _interopRequireDefault(_react); - function reinterpolate(a, b) { - b = raise(b, exponent) - (a = raise(a, exponent)); - return function(t) { return raise(a + b * t, 1 / exponent); }; - } +var _d3Selection = __webpack_require__(44); - scale.exponent = function(_) { - return arguments.length ? (exponent = +_, domain(domain())) : exponent; - }; +var _d3Selection2 = _interopRequireDefault(_d3Selection); - scale.copy = function() { - return copy(scale, pow().exponent(exponent)); - }; +var _reactFauxDom = __webpack_require__(45); - return linearish(scale); - } +var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); - function sqrt() { - return pow().exponent(0.5); - } +var _commonProps = __webpack_require__(12); - function quantile$1() { - var domain = [], - range = [], - thresholds = []; +var _commonProps2 = _interopRequireDefault(_commonProps); - function rescale() { - var i = 0, n = Math.max(1, range.length); - thresholds = new Array(n - 1); - while (++i < n) thresholds[i - 1] = d3Array.quantile(domain, i / n); - return scale; - } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function scale(x) { - if (!isNaN(x = +x)) return range[d3Array.bisect(thresholds, x)]; - } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return i < 0 ? [NaN, NaN] : [ - i > 0 ? thresholds[i - 1] : domain[0], - i < thresholds.length ? thresholds[i] : domain[domain.length - 1] - ]; - }; +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - scale.domain = function(_) { - if (!arguments.length) return domain.slice(); - domain = []; - for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d); - domain.sort(d3Array.ascending); - return rescale(); - }; +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), rescale()) : range.slice(); - }; +var Label = function (_Component) { + _inherits(Label, _Component); - scale.quantiles = function() { - return thresholds.slice(); - }; + function Label(props) { + _classCallCheck(this, Label); - scale.copy = function() { - return quantile$1() - .domain(domain) - .range(range); - }; + return _possibleConstructorReturn(this, Object.getPrototypeOf(Label).call(this, props)); + } - return scale; - } + _createClass(Label, [{ + key: '_mkLabel', + value: function _mkLabel(dom) { + var _props = this.props; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var labelOffset = _props.labelOffset; + var labelTitle = _props.labelTitle; + var labelPosition = _props.labelPosition; + var vTransform = _props.vTransform; + var hTransform = _props.hTransform; + var textAnchor = _props.textAnchor; - function quantize() { - var x0 = 0, - x1 = 1, - n = 1, - domain = [0.5], - range = [0, 1]; - function scale(x) { - if (x <= x) return range[d3Array.bisect(domain, x, 0, n)]; - } + var labelDom = _d3Selection2.default.select(dom); + var fixWidth = width - margins.left - margins.right; + var fixHeight = height - margins.top - margins.bottom; - function rescale() { - var i = -1; - domain = new Array(n); - while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1); - return scale; - } + if (labelPosition === 'top') { - scale.domain = function(_) { - return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1]; - }; + labelDom.attr('transform', hTransform).attr('y', -labelOffset).attr('x', fixWidth / 2).style('text-anchor', textAnchor).text(labelTitle); + } else if (labelPosition === 'bottom') { - scale.range = function(_) { - return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice(); - }; + labelDom.attr('transform', hTransform).attr('y', +labelOffset).attr('x', fixWidth / 2).style('text-anchor', textAnchor).text(labelTitle); + } else if (labelPosition === 'left') { - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return i < 0 ? [NaN, NaN] - : i < 1 ? [x0, domain[0]] - : i >= n ? [domain[n - 1], x1] - : [domain[i - 1], domain[i]]; - }; + labelDom.attr('transform', vTransform).attr('y', -labelOffset).attr('x', -fixHeight / 2).style('text-anchor', textAnchor).text(labelTitle); + } else if (labelPosition === 'right') { - scale.copy = function() { - return quantize() - .domain([x0, x1]) - .range(range); - }; + labelDom.attr('transform', vTransform).attr('y', +labelOffset).attr('x', -fixHeight / 2).style('text-anchor', textAnchor).text(labelTitle); + } - return linearish(scale); - } + return labelDom; + } + }, { + key: 'render', + value: function render() { + var labelClassName = this.props.labelClassName; - function threshold() { - var domain = [0.5], - range = [0, 1], - n = 1; - function scale(x) { - if (x <= x) return range[d3Array.bisect(domain, x, 0, n)]; - } + var labelText = _reactFauxDom2.default.createElement('text'); + var labelClasses = labelClassName + ' label'; + labelText.setAttribute('class', labelClasses); - scale.domain = function(_) { - return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice(); - }; + var labelDom = this._mkLabel(labelText); - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice(); - }; + return labelDom.node().toReact(); + } + }]); - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return [domain[i - 1], domain[i]]; - }; + return Label; +}(_react.Component); - scale.copy = function() { - return threshold() - .domain(domain) - .range(range); - }; +Label.defaultProps = _extends({ + hTransform: 'rotate(0)', + vTransform: 'rotate(270)', + labelTitle: 'label title', + labelPosition: 'bottom', + labelOffset: 40, + textAnchor: 'middle', + labelClassName: 'react-d3-core__label' +}, _commonProps2.default); +Label.propTypes = { + height: _react.PropTypes.number.isRequired, + width: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + hTransform: _react.PropTypes.string, + vTransform: _react.PropTypes.string, + labelTitle: _react.PropTypes.string, + labelPosition: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']), + labelOffset: _react.PropTypes.number, + textAnchor: _react.PropTypes.string, + labelClassName: _react.PropTypes.string +}; +exports.default = Label; - return scale; - } +/***/ }), +/* 47 */ +/***/ (function(module, exports, __webpack_require__) { - var durationSecond = 1000; - var durationMinute = durationSecond * 60; - var durationHour = durationMinute * 60; - var durationDay = durationHour * 24; - var durationWeek = durationDay * 7; - var durationMonth = durationDay * 30; - var durationYear = durationDay * 365; - function newDate(t) { - return new Date(t); - } +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _axis = __webpack_require__(32); + +var _axis2 = _interopRequireDefault(_axis); + +var _commonProps = __webpack_require__(12); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Grid = function (_Component) { + _inherits(Grid, _Component); + + function Grid(props) { + _classCallCheck(this, Grid); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(Grid).call(this, props)); + } + + _createClass(Grid, [{ + key: 'render', + value: function render() { + var _props = this.props; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var type = _props.type; + var gridAxisClassName = _props.gridAxisClassName; + var xBandPaddingInner = _props.xBandPaddingInner; + var xBandPaddingOuter = _props.xBandPaddingOuter; + var x = _props.x; + var xDomain = _props.xDomain; + var xRange = _props.xRange; + var xScale = _props.xScale; + var xGridCount = _props.xGridCount; + var xGridStyleClassName = _props.xGridStyleClassName; + var yBandPaddingInner = _props.yBandPaddingInner; + var yBandPaddingOuter = _props.yBandPaddingOuter; + var y = _props.y; + var yDomain = _props.yDomain; + var yRange = _props.yRange; + var yScale = _props.yScale; + var yGridCount = _props.yGridCount; + var yGridStyleClassName = _props.yGridStyleClassName; + var xTickValues = _props.xTickValues; + var yTickValues = _props.yTickValues; + + + var gridAxis; + var t; + + if (!yRange) { + yRange = [height - margins.top - margins.bottom, 0]; + } + + if (!xRange) { + xRange = [0, width - margins.left - margins.right]; + } + + if (type === 'x') { + t = 'translate(0, ' + (height - margins.bottom - margins.top) + ')'; + var tickSize = height - margins.top - margins.bottom; + + // if grid axis don't pass customize ticks. + gridAxis = _react2.default.createElement(_axis2.default, { + height: height, + width: width, + margins: margins, + type: 'gridx', + showAxis: false, + gridAxisClassName: gridAxisClassName, + bandPaddingInner: xBandPaddingInner, + bandPaddingOuter: xBandPaddingOuter, + tickOrient: 'bottom', + orient: 'bottom', + tickSizeOuter: 0, + tickPadding: 10, + tickFormat: null, + tickSizeInner: -tickSize, + proxy: x, + domain: xDomain, + range: xRange, + scale: xScale, + ticks: xGridCount, + gridStyleClassName: xGridStyleClassName, + tickValues: xTickValues + }); + } else if (type === 'y') { + t = 'translate(0, 0)'; + var tickSize = width - margins.left - margins.right; + + // if grid axis don't pass customize ticks. + gridAxis = _react2.default.createElement(_axis2.default, { + height: height, + width: width, + margins: margins, + type: 'gridy', + showAxis: false, + gridAxisClassName: gridAxisClassName, + bandPaddingInner: yBandPaddingInner, + bandPaddingOuter: yBandPaddingOuter, + tickOrient: 'left', + orient: 'left', + tickSizeOuter: 0, + tickPadding: 10, + tickSizeInner: -tickSize, + tickFormat: null, + proxy: y, + scale: yScale, + domain: yDomain, + range: yRange, + ticks: yGridCount, + gridStyleClassName: yGridStyleClassName, + tickValues: yTickValues + }); + } + + return _react2.default.createElement( + 'g', + { transform: t }, + gridAxis + ); + } + }]); + + return Grid; +}(_react.Component); + +Grid.defaultProps = _extends({ + type: 'x', + gridAxisClassName: 'react-d3-core__grid_axis' +}, _commonProps2.default); +Grid.propTypes = { + height: _react.PropTypes.number.isRequired, + width: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + type: _react.PropTypes.oneOf(['x', 'y']).isRequired, + gridAxisClassName: _react.PropTypes.string, + x: _react.PropTypes.func, + xDomain: _react.PropTypes.array, + xRange: _react.PropTypes.array, + xScale: _react.PropTypes.oneOf(['linear', 'identity', 'sqrt', 'pow', 'log', 'quantize', 'quantile', 'ordinal', 'time']).isRequired, + xBandPaddingInner: _react.PropTypes.number, + xBandPaddingOuter: _react.PropTypes.number, + y: _react.PropTypes.func, + yDomain: _react.PropTypes.array, + yRange: _react.PropTypes.array, + yScale: _react.PropTypes.oneOf(['linear', 'identity', 'sqrt', 'pow', 'log', 'quantize', 'quantile', 'ordinal', 'time']).isRequired, + yBandPaddingInner: _react.PropTypes.number, + yBandPaddingOuter: _react.PropTypes.number, + xGridCount: _react.PropTypes.array, + yGridCount: _react.PropTypes.array, + xGridStyleClassName: _react.PropTypes.string, + yGridStyleClassName: _react.PropTypes.string, + xTickValues: _react.PropTypes.array +}; +exports.default = Grid; + +/***/ }), +/* 48 */ +/***/ (function(module, exports) { - function calendar(year, month, week, day, hour, minute, second, millisecond, format) { - var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber), - invert = scale.invert, - domain = scale.domain; - - var formatMillisecond = format(".%L"), - formatSecond = format(":%S"), - formatMinute = format("%I:%M"), - formatHour = format("%I %p"), - formatDay = format("%a %d"), - formatWeek = format("%b %d"), - formatMonth = format("%B"), - formatYear = format("%Y"); - - var tickIntervals = [ - [second, 1, durationSecond], - [second, 5, 5 * durationSecond], - [second, 15, 15 * durationSecond], - [second, 30, 30 * durationSecond], - [minute, 1, durationMinute], - [minute, 5, 5 * durationMinute], - [minute, 15, 15 * durationMinute], - [minute, 30, 30 * durationMinute], - [ hour, 1, durationHour ], - [ hour, 3, 3 * durationHour ], - [ hour, 6, 6 * durationHour ], - [ hour, 12, 12 * durationHour ], - [ day, 1, durationDay ], - [ day, 2, 2 * durationDay ], - [ week, 1, durationWeek ], - [ month, 1, durationMonth ], - [ month, 3, 3 * durationMonth ], - [ year, 1, durationYear ] - ]; - - function tickFormat(date) { - return (second(date) < date ? formatMillisecond - : minute(date) < date ? formatSecond - : hour(date) < date ? formatMinute - : day(date) < date ? formatHour - : month(date) < date ? (week(date) < date ? formatDay : formatWeek) - : year(date) < date ? formatMonth - : formatYear)(date); - } +module.exports = d3; - function tickInterval(interval, start, stop, step) { - if (interval == null) interval = 10; - - // If a desired tick count is specified, pick a reasonable tick interval - // based on the extent of the domain and a rough estimate of tick size. - // Otherwise, assume interval is already a time interval and use it. - if (typeof interval === "number") { - var target = Math.abs(stop - start) / interval, - i = d3Array.bisector(function(i) { return i[2]; }).right(tickIntervals, target); - if (i === tickIntervals.length) { - step = d3Array.tickStep(start / durationYear, stop / durationYear, interval); - interval = year; - } else if (i) { - i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i]; - step = i[1]; - interval = i[0]; - } else { - step = d3Array.tickStep(start, stop, interval); - interval = millisecond; - } - } +/***/ }), +/* 49 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + + +var emptyFunction = __webpack_require__(33); + +/** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + +var warning = emptyFunction; + +if (process.env.NODE_ENV !== 'production') { + var printWarning = function printWarning(format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; + + warning = function warning(condition, format) { + if (format === undefined) { + throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); + } + + if (format.indexOf('Failed Composite propType: ') === 0) { + return; // Ignore CompositeComponent proptype check. + } + + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; +} + +module.exports = warning; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(17))) + +/***/ }), +/* 50 */ +/***/ (function(module, exports, __webpack_require__) { - return step == null ? interval : interval.every(step); - } +"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ - scale.invert = function(y) { - return new Date(invert(y)); - }; - scale.domain = function(_) { - return arguments.length ? domain(_) : domain().map(newDate); - }; +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; - scale.ticks = function(interval, step) { - var d = domain(), - t0 = d[0], - t1 = d[d.length - 1], - r = t1 < t0, - t; - if (r) t = t0, t0 = t1, t1 = t; - t = tickInterval(interval, t0, t1, step); - t = t ? t.range(t0, t1 + 1) : []; // inclusive stop - return r ? t.reverse() : t; - }; - - scale.tickFormat = function(specifier) { - return specifier == null ? tickFormat : format(specifier); - }; +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } - scale.nice = function(interval, step) { - var d = domain(); - return (interval = tickInterval(interval, d[0], d[d.length - 1], step)) - ? domain(nice(d, interval)) - : scale; - }; + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } - scale.copy = function() { - return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format)); - }; + return to; +}; - return scale; - } - function time() { - return calendar(d3Time.timeYear, d3Time.timeMonth, d3Time.timeWeek, d3Time.timeDay, d3Time.timeHour, d3Time.timeMinute, d3Time.timeSecond, d3Time.timeMillisecond, d3TimeFormat.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]); - } +/***/ }), +/* 51 */ +/***/ (function(module, exports, __webpack_require__) { - function utcTime() { - return calendar(d3Time.utcYear, d3Time.utcMonth, d3Time.utcWeek, d3Time.utcDay, d3Time.utcHour, d3Time.utcMinute, d3Time.utcSecond, d3Time.utcMillisecond, d3TimeFormat.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]); - } +"use strict"; - function colors(s) { - return s.match(/.{6}/g).map(function(x) { - return "#" + x; - }); - } - var colors10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"); +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = supportsProtoAssignment; +var x = {}; +var y = { supports: true }; +try { + x.__proto__ = y; +} catch (err) {} - function category10() { - return ordinal().range(colors10); - } +function supportsProtoAssignment() { + return x.supports || false; +}; - var colors20b = colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"); +/***/ }), +/* 52 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseMatches = __webpack_require__(99), + baseMatchesProperty = __webpack_require__(158), + identity = __webpack_require__(42), + isArray = __webpack_require__(11), + property = __webpack_require__(168); + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); +} + +module.exports = baseIteratee; + + +/***/ }), +/* 53 */ +/***/ (function(module, exports, __webpack_require__) { + +var ListCache = __webpack_require__(23), + stackClear = __webpack_require__(106), + stackDelete = __webpack_require__(107), + stackGet = __webpack_require__(108), + stackHas = __webpack_require__(109), + stackSet = __webpack_require__(110); + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +module.exports = Stack; + + +/***/ }), +/* 54 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(18), + isObject = __webpack_require__(20); + +/** `Object#toString` result references. */ +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +module.exports = isFunction; + + +/***/ }), +/* 55 */ +/***/ (function(module, exports, __webpack_require__) { - function category20b() { - return ordinal().range(colors20b); - } +/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - var colors20c = colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"); +module.exports = freeGlobal; - function category20c() { - return ordinal().range(colors20c); - } +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(56))) - var colors20 = colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"); +/***/ }), +/* 56 */ +/***/ (function(module, exports) { - function category20() { - return ordinal().range(colors20); - } +var g; - function cubehelix$1() { - return linear() - .interpolate(d3Interpolate.interpolateCubehelixLong) - .range([d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0)]); - } +// This works in non-strict mode +g = (function() { + return this; +})(); - function sequential(interpolate) { - var x0 = 0, - x1 = 1, - clamp = false; +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} - function scale(x) { - var t = (x - x0) / (x1 - x0); - return interpolate(clamp ? Math.max(0, Math.min(1, t)) : t); - } +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} - scale.domain = function(_) { - return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1]; - }; +module.exports = g; - scale.clamp = function(_) { - return arguments.length ? (clamp = !!_, scale) : clamp; - }; - scale.copy = function() { - return sequential(interpolate).domain([x0, x1]).clamp(clamp); - }; +/***/ }), +/* 57 */ +/***/ (function(module, exports) { + +/** Used for built-in method references. */ +var funcProto = Function.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +module.exports = toSource; + + +/***/ }), +/* 58 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIsEqualDeep = __webpack_require__(129), + isObjectLike = __webpack_require__(14); + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} + +module.exports = baseIsEqual; + + +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { + +var SetCache = __webpack_require__(60), + arraySome = __webpack_require__(132), + cacheHas = __webpack_require__(61); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(array); + if (stacked && stack.get(other)) { + return stacked == other; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +module.exports = equalArrays; + + +/***/ }), +/* 60 */ +/***/ (function(module, exports, __webpack_require__) { + +var MapCache = __webpack_require__(37), + setCacheAdd = __webpack_require__(130), + setCacheHas = __webpack_require__(131); + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +module.exports = SetCache; + + +/***/ }), +/* 61 */ +/***/ (function(module, exports) { - return linearish(scale); - } +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} - function warm() { - return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8))); - } +module.exports = cacheHas; - function cool() { - return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8))); - } - function rainbow() { - var rainbow = d3Color.cubehelix(); - return sequential(function(t) { - if (t < 0 || t > 1) t -= Math.floor(t); - var ts = Math.abs(t - 0.5); - rainbow.h = 360 * t - 100; - rainbow.s = 1.5 - 1.5 * ts; - rainbow.l = 0.8 - 0.9 * ts; - return rainbow + ""; - }); - } +/***/ }), +/* 62 */ +/***/ (function(module, exports) { + +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +module.exports = arrayPush; + + +/***/ }), +/* 63 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(10), + stubFalse = __webpack_require__(146); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +module.exports = isBuffer; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 64 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIsTypedArray = __webpack_require__(147), + baseUnary = __webpack_require__(65), + nodeUtil = __webpack_require__(148); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +module.exports = isTypedArray; + + +/***/ }), +/* 65 */ +/***/ (function(module, exports) { - var rangeViridis = colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"); - var rangeMagma = colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"); - var rangeInferno = colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"); - var rangePlasma = colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"); - function ramp(range) { - var s = sequential(function(t) { return range[Math.round(t * range.length - t)]; }).clamp(true); - delete s.clamp; - return s; - } +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} - function viridis() { - return ramp(rangeViridis); - } +module.exports = baseUnary; - function magma() { - return ramp(rangeMagma); - } - function inferno() { - return ramp(rangeInferno); - } +/***/ }), +/* 66 */ +/***/ (function(module, exports) { - function plasma() { - return ramp(rangePlasma); - } +/** Used for built-in method references. */ +var objectProto = Object.prototype; - var version = "0.6.4"; - - exports.version = version; - exports.scaleBand = band; - exports.scalePoint = point; - exports.scaleIdentity = identity; - exports.scaleLinear = linear; - exports.scaleLog = log; - exports.scaleOrdinal = ordinal; - exports.scaleImplicit = implicit; - exports.scalePow = pow; - exports.scaleSqrt = sqrt; - exports.scaleQuantile = quantile$1; - exports.scaleQuantize = quantize; - exports.scaleThreshold = threshold; - exports.scaleTime = time; - exports.scaleUtc = utcTime; - exports.scaleCategory10 = category10; - exports.scaleCategory20b = category20b; - exports.scaleCategory20c = category20c; - exports.scaleCategory20 = category20; - exports.scaleCubehelix = cubehelix$1; - exports.scaleRainbow = rainbow; - exports.scaleWarm = warm; - exports.scaleCool = cool; - exports.scaleViridis = viridis; - exports.scaleMagma = magma; - exports.scaleInferno = inferno; - exports.scalePlasma = plasma; - - })); +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; -/***/ }, -/* 8 */ -/***/ function(module, exports, __webpack_require__) { + return value === proto; +} - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_array = {}))); - }(this, function (exports) { 'use strict'; +module.exports = isPrototype; - function ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - function bisector(compare) { - if (compare.length === 1) compare = ascendingComparator(compare); - return { - left: function(a, x, lo, hi) { - if (lo == null) lo = 0; - if (hi == null) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) < 0) lo = mid + 1; - else hi = mid; - } - return lo; - }, - right: function(a, x, lo, hi) { - if (lo == null) lo = 0; - if (hi == null) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) > 0) hi = mid; - else lo = mid + 1; - } - return lo; - } - }; - } +/***/ }), +/* 67 */ +/***/ (function(module, exports, __webpack_require__) { - function ascendingComparator(f) { - return function(d, x) { - return ascending(f(d), x); - }; - } +var isObject = __webpack_require__(20); - var ascendingBisect = bisector(ascending); - var bisectRight = ascendingBisect.right; - var bisectLeft = ascendingBisect.left; +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject(value); +} - function descending(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; - } +module.exports = isStrictComparable; - function number$1(x) { - return x === null ? NaN : +x; - } - function variance(array, f) { - var n = array.length, - m = 0, - a, - d, - s = 0, - i = -1, - j = 0; - - if (f == null) { - while (++i < n) { - if (!isNaN(a = number$1(array[i]))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } +/***/ }), +/* 68 */ +/***/ (function(module, exports) { + +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +module.exports = matchesStrictComparable; + + +/***/ }), +/* 69 */ +/***/ (function(module, exports, __webpack_require__) { - else { - while (++i < n) { - if (!isNaN(a = number$1(f(array[i], i, array)))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } +var castPath = __webpack_require__(70), + toKey = __webpack_require__(30); - if (j > 1) return s / (j - 1); - } +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = castPath(path, object); - function deviation(array, f) { - var v = variance(array, f); - return v ? Math.sqrt(v) : v; - } + var index = 0, + length = path.length; - function extent(array, f) { - var i = -1, - n = array.length, - a, - b, - c; - - if (f == null) { - while (++i < n) if ((b = array[i]) != null && b >= b) { a = c = b; break; } - while (++i < n) if ((b = array[i]) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} - else { - while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = c = b; break; } - while (++i < n) if ((b = f(array[i], i, array)) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } +module.exports = baseGet; - return [a, c]; - } - function constant(x) { - return function() { - return x; - }; - } +/***/ }), +/* 70 */ +/***/ (function(module, exports, __webpack_require__) { + +var isArray = __webpack_require__(11), + isKey = __webpack_require__(41), + stringToPath = __webpack_require__(160), + toString = __webpack_require__(163); + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); +} + +module.exports = castPath; + + +/***/ }), +/* 71 */ +/***/ (function(module, exports) { + +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +module.exports = arrayMap; + + +/***/ }), +/* 72 */ +/***/ (function(module, exports) { + +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +module.exports = baseFindIndex; + + +/***/ }), +/* 73 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseAssignValue = __webpack_require__(74), + eq = __webpack_require__(25); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +module.exports = assignValue; + - function identity(x) { - return x; - } +/***/ }), +/* 74 */ +/***/ (function(module, exports, __webpack_require__) { - function range(start, stop, step) { - start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step; +var defineProperty = __webpack_require__(75); - var i = -1, - n = Math.max(0, Math.ceil((stop - start) / step)) | 0, - range = new Array(n); +/** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } +} - while (++i < n) { - range[i] = start + i * step; - } +module.exports = baseAssignValue; - return range; - } - var e10 = Math.sqrt(50); - var e5 = Math.sqrt(10); - var e2 = Math.sqrt(2); - function ticks(start, stop, count) { - var step = tickStep(start, stop, count); - return range( - Math.ceil(start / step) * step, - Math.floor(stop / step) * step + step / 2, // inclusive - step - ); - } +/***/ }), +/* 75 */ +/***/ (function(module, exports, __webpack_require__) { + +var getNative = __webpack_require__(13); + +var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} +}()); + +module.exports = defineProperty; + + +/***/ }), +/* 76 */ +/***/ (function(module, exports, __webpack_require__) { + +var identity = __webpack_require__(42), + overRest = __webpack_require__(179), + setToString = __webpack_require__(181); + +/** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ +function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); +} + +module.exports = baseRest; + + +/***/ }), +/* 77 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _commonProps = __webpack_require__(12); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +var _scale = __webpack_require__(43); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var ChartSvg = function (_Component) { + _inherits(ChartSvg, _Component); + + function ChartSvg(props) { + _classCallCheck(this, ChartSvg); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartSvg).call(this, props)); + } + + _createClass(ChartSvg, [{ + key: 'render', + value: function render() { + var _props = this.props; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var svgClassName = _props.svgClassName; + var id = _props.id; + var children = _props.children; + + + var t = 'translate(' + margins.left + ', ' + margins.top + ')'; + + return _react2.default.createElement( + 'svg', + { + height: height, + width: width, + className: svgClassName, + id: id, + ref: 'svgContainer' + }, + _react2.default.createElement( + 'g', + { + transform: t + }, + children + ) + ); + } + }]); + + return ChartSvg; +}(_react.Component); + +ChartSvg.defaultProps = _extends({ + svgClassName: 'react-d3-core__container_svg', + onZoom: function onZoom() {}, + scaleExtent: [1, 10] +}, _commonProps2.default); +ChartSvg.propTypes = { + id: _react.PropTypes.string, + width: _react.PropTypes.number.isRequired, + height: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + svgClassName: _react.PropTypes.string.isRequired +}; +exports.default = ChartSvg; + +/***/ }), +/* 78 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_color = global.d3_color || {}))); +}(this, function (exports) { 'use strict'; + + function define(constructor, factory, prototype) { + constructor.prototype = factory.prototype = prototype; + prototype.constructor = constructor; + } + + function extend(parent, definition) { + var prototype = Object.create(parent.prototype); + for (var key in definition) prototype[key] = definition[key]; + return prototype; + } + + function Color() {} + + var darker = 0.7; + var brighter = 1 / darker; + + var reHex3 = /^#([0-9a-f]{3})$/; + var reHex6 = /^#([0-9a-f]{6})$/; + var reRgbInteger = /^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/; + var reRgbPercent = /^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/; + var reRgbaInteger = /^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; + var reRgbaPercent = /^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; + var reHslPercent = /^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/; + var reHslaPercent = /^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; + var named = { + aliceblue: 0xf0f8ff, + antiquewhite: 0xfaebd7, + aqua: 0x00ffff, + aquamarine: 0x7fffd4, + azure: 0xf0ffff, + beige: 0xf5f5dc, + bisque: 0xffe4c4, + black: 0x000000, + blanchedalmond: 0xffebcd, + blue: 0x0000ff, + blueviolet: 0x8a2be2, + brown: 0xa52a2a, + burlywood: 0xdeb887, + cadetblue: 0x5f9ea0, + chartreuse: 0x7fff00, + chocolate: 0xd2691e, + coral: 0xff7f50, + cornflowerblue: 0x6495ed, + cornsilk: 0xfff8dc, + crimson: 0xdc143c, + cyan: 0x00ffff, + darkblue: 0x00008b, + darkcyan: 0x008b8b, + darkgoldenrod: 0xb8860b, + darkgray: 0xa9a9a9, + darkgreen: 0x006400, + darkgrey: 0xa9a9a9, + darkkhaki: 0xbdb76b, + darkmagenta: 0x8b008b, + darkolivegreen: 0x556b2f, + darkorange: 0xff8c00, + darkorchid: 0x9932cc, + darkred: 0x8b0000, + darksalmon: 0xe9967a, + darkseagreen: 0x8fbc8f, + darkslateblue: 0x483d8b, + darkslategray: 0x2f4f4f, + darkslategrey: 0x2f4f4f, + darkturquoise: 0x00ced1, + darkviolet: 0x9400d3, + deeppink: 0xff1493, + deepskyblue: 0x00bfff, + dimgray: 0x696969, + dimgrey: 0x696969, + dodgerblue: 0x1e90ff, + firebrick: 0xb22222, + floralwhite: 0xfffaf0, + forestgreen: 0x228b22, + fuchsia: 0xff00ff, + gainsboro: 0xdcdcdc, + ghostwhite: 0xf8f8ff, + gold: 0xffd700, + goldenrod: 0xdaa520, + gray: 0x808080, + green: 0x008000, + greenyellow: 0xadff2f, + grey: 0x808080, + honeydew: 0xf0fff0, + hotpink: 0xff69b4, + indianred: 0xcd5c5c, + indigo: 0x4b0082, + ivory: 0xfffff0, + khaki: 0xf0e68c, + lavender: 0xe6e6fa, + lavenderblush: 0xfff0f5, + lawngreen: 0x7cfc00, + lemonchiffon: 0xfffacd, + lightblue: 0xadd8e6, + lightcoral: 0xf08080, + lightcyan: 0xe0ffff, + lightgoldenrodyellow: 0xfafad2, + lightgray: 0xd3d3d3, + lightgreen: 0x90ee90, + lightgrey: 0xd3d3d3, + lightpink: 0xffb6c1, + lightsalmon: 0xffa07a, + lightseagreen: 0x20b2aa, + lightskyblue: 0x87cefa, + lightslategray: 0x778899, + lightslategrey: 0x778899, + lightsteelblue: 0xb0c4de, + lightyellow: 0xffffe0, + lime: 0x00ff00, + limegreen: 0x32cd32, + linen: 0xfaf0e6, + magenta: 0xff00ff, + maroon: 0x800000, + mediumaquamarine: 0x66cdaa, + mediumblue: 0x0000cd, + mediumorchid: 0xba55d3, + mediumpurple: 0x9370db, + mediumseagreen: 0x3cb371, + mediumslateblue: 0x7b68ee, + mediumspringgreen: 0x00fa9a, + mediumturquoise: 0x48d1cc, + mediumvioletred: 0xc71585, + midnightblue: 0x191970, + mintcream: 0xf5fffa, + mistyrose: 0xffe4e1, + moccasin: 0xffe4b5, + navajowhite: 0xffdead, + navy: 0x000080, + oldlace: 0xfdf5e6, + olive: 0x808000, + olivedrab: 0x6b8e23, + orange: 0xffa500, + orangered: 0xff4500, + orchid: 0xda70d6, + palegoldenrod: 0xeee8aa, + palegreen: 0x98fb98, + paleturquoise: 0xafeeee, + palevioletred: 0xdb7093, + papayawhip: 0xffefd5, + peachpuff: 0xffdab9, + peru: 0xcd853f, + pink: 0xffc0cb, + plum: 0xdda0dd, + powderblue: 0xb0e0e6, + purple: 0x800080, + rebeccapurple: 0x663399, + red: 0xff0000, + rosybrown: 0xbc8f8f, + royalblue: 0x4169e1, + saddlebrown: 0x8b4513, + salmon: 0xfa8072, + sandybrown: 0xf4a460, + seagreen: 0x2e8b57, + seashell: 0xfff5ee, + sienna: 0xa0522d, + silver: 0xc0c0c0, + skyblue: 0x87ceeb, + slateblue: 0x6a5acd, + slategray: 0x708090, + slategrey: 0x708090, + snow: 0xfffafa, + springgreen: 0x00ff7f, + steelblue: 0x4682b4, + tan: 0xd2b48c, + teal: 0x008080, + thistle: 0xd8bfd8, + tomato: 0xff6347, + turquoise: 0x40e0d0, + violet: 0xee82ee, + wheat: 0xf5deb3, + white: 0xffffff, + whitesmoke: 0xf5f5f5, + yellow: 0xffff00, + yellowgreen: 0x9acd32 + }; + + define(Color, color, { + displayable: function() { + return this.rgb().displayable(); + }, + toString: function() { + return this.rgb() + ""; + } + }); + + function color(format) { + var m; + format = (format + "").trim().toLowerCase(); + return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00 + : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000 + : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0) + : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%) + : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1) + : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1) + : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%) + : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1) + : named.hasOwnProperty(format) ? rgbn(named[format]) + : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) + : null; + } + + function rgbn(n) { + return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1); + } + + function rgba(r, g, b, a) { + if (a <= 0) r = g = b = NaN; + return new Rgb(r, g, b, a); + } + + function rgbConvert(o) { + if (!(o instanceof Color)) o = color(o); + if (!o) return new Rgb; + o = o.rgb(); + return new Rgb(o.r, o.g, o.b, o.opacity); + } + + function rgb(r, g, b, opacity) { + return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); + } + + function Rgb(r, g, b, opacity) { + this.r = +r; + this.g = +g; + this.b = +b; + this.opacity = +opacity; + } + + define(Rgb, rgb, extend(Color, { + brighter: function(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + darker: function(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + rgb: function() { + return this; + }, + displayable: function() { + return (0 <= this.r && this.r <= 255) + && (0 <= this.g && this.g <= 255) + && (0 <= this.b && this.b <= 255) + && (0 <= this.opacity && this.opacity <= 1); + }, + toString: function() { + var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a)); + return (a === 1 ? "rgb(" : "rgba(") + + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " + + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " + + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + + (a === 1 ? ")" : ", " + a + ")"); + } + })); + + function hsla(h, s, l, a) { + if (a <= 0) h = s = l = NaN; + else if (l <= 0 || l >= 1) h = s = NaN; + else if (s <= 0) h = NaN; + return new Hsl(h, s, l, a); + } + + function hslConvert(o) { + if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); + if (!(o instanceof Color)) o = color(o); + if (!o) return new Hsl; + if (o instanceof Hsl) return o; + o = o.rgb(); + var r = o.r / 255, + g = o.g / 255, + b = o.b / 255, + min = Math.min(r, g, b), + max = Math.max(r, g, b), + h = NaN, + s = max - min, + l = (max + min) / 2; + if (s) { + if (r === max) h = (g - b) / s + (g < b) * 6; + else if (g === max) h = (b - r) / s + 2; + else h = (r - g) / s + 4; + s /= l < 0.5 ? max + min : 2 - max - min; + h *= 60; + } else { + s = l > 0 && l < 1 ? 0 : h; + } + return new Hsl(h, s, l, o.opacity); + } + + function hsl(h, s, l, opacity) { + return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); + } + + function Hsl(h, s, l, opacity) { + this.h = +h; + this.s = +s; + this.l = +l; + this.opacity = +opacity; + } + + define(Hsl, hsl, extend(Color, { + brighter: function(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + darker: function(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + rgb: function() { + var h = this.h % 360 + (this.h < 0) * 360, + s = isNaN(h) || isNaN(this.s) ? 0 : this.s, + l = this.l, + m2 = l + (l < 0.5 ? l : 1 - l) * s, + m1 = 2 * l - m2; + return new Rgb( + hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), + hsl2rgb(h, m1, m2), + hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), + this.opacity + ); + }, + displayable: function() { + return (0 <= this.s && this.s <= 1 || isNaN(this.s)) + && (0 <= this.l && this.l <= 1) + && (0 <= this.opacity && this.opacity <= 1); + } + })); + + /* From FvD 13.37, CSS Color Module Level 3 */ + function hsl2rgb(h, m1, m2) { + return (h < 60 ? m1 + (m2 - m1) * h / 60 + : h < 180 ? m2 + : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 + : m1) * 255; + } + + var deg2rad = Math.PI / 180; + var rad2deg = 180 / Math.PI; + + var Kn = 18; + var Xn = 0.950470; + var Yn = 1; + var Zn = 1.088830; + var t0 = 4 / 29; + var t1 = 6 / 29; + var t2 = 3 * t1 * t1; + var t3 = t1 * t1 * t1; + function labConvert(o) { + if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity); + if (o instanceof Hcl) { + var h = o.h * deg2rad; + return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity); + } + if (!(o instanceof Rgb)) o = rgbConvert(o); + var b = rgb2xyz(o.r), + a = rgb2xyz(o.g), + l = rgb2xyz(o.b), + x = xyz2lab((0.4124564 * b + 0.3575761 * a + 0.1804375 * l) / Xn), + y = xyz2lab((0.2126729 * b + 0.7151522 * a + 0.0721750 * l) / Yn), + z = xyz2lab((0.0193339 * b + 0.1191920 * a + 0.9503041 * l) / Zn); + return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity); + } + + function lab(l, a, b, opacity) { + return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity); + } + + function Lab(l, a, b, opacity) { + this.l = +l; + this.a = +a; + this.b = +b; + this.opacity = +opacity; + } + + define(Lab, lab, extend(Color, { + brighter: function(k) { + return new Lab(this.l + Kn * (k == null ? 1 : k), this.a, this.b, this.opacity); + }, + darker: function(k) { + return new Lab(this.l - Kn * (k == null ? 1 : k), this.a, this.b, this.opacity); + }, + rgb: function() { + var y = (this.l + 16) / 116, + x = isNaN(this.a) ? y : y + this.a / 500, + z = isNaN(this.b) ? y : y - this.b / 200; + y = Yn * lab2xyz(y); + x = Xn * lab2xyz(x); + z = Zn * lab2xyz(z); + return new Rgb( + xyz2rgb( 3.2404542 * x - 1.5371385 * y - 0.4985314 * z), // D65 -> sRGB + xyz2rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z), + xyz2rgb( 0.0556434 * x - 0.2040259 * y + 1.0572252 * z), + this.opacity + ); + } + })); + + function xyz2lab(t) { + return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0; + } + + function lab2xyz(t) { + return t > t1 ? t * t * t : t2 * (t - t0); + } + + function xyz2rgb(x) { + return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055); + } + + function rgb2xyz(x) { + return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); + } + + function hclConvert(o) { + if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity); + if (!(o instanceof Lab)) o = labConvert(o); + var h = Math.atan2(o.b, o.a) * rad2deg; + return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity); + } + + function hcl(h, c, l, opacity) { + return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity); + } + + function Hcl(h, c, l, opacity) { + this.h = +h; + this.c = +c; + this.l = +l; + this.opacity = +opacity; + } + + define(Hcl, hcl, extend(Color, { + brighter: function(k) { + return new Hcl(this.h, this.c, this.l + Kn * (k == null ? 1 : k), this.opacity); + }, + darker: function(k) { + return new Hcl(this.h, this.c, this.l - Kn * (k == null ? 1 : k), this.opacity); + }, + rgb: function() { + return labConvert(this).rgb(); + } + })); + + var A = -0.14861; + var B = +1.78277; + var C = -0.29227; + var D = -0.90649; + var E = +1.97294; + var ED = E * D; + var EB = E * B; + var BC_DA = B * C - D * A; + function cubehelixConvert(o) { + if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity); + if (!(o instanceof Rgb)) o = rgbConvert(o); + var r = o.r / 255, + g = o.g / 255, + b = o.b / 255, + l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB), + bl = b - l, + k = (E * (g - l) - C * bl) / D, + s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1 + h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN; + return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity); + } + + function cubehelix(h, s, l, opacity) { + return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity); + } + + function Cubehelix(h, s, l, opacity) { + this.h = +h; + this.s = +s; + this.l = +l; + this.opacity = +opacity; + } + + define(Cubehelix, cubehelix, extend(Color, { + brighter: function(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Cubehelix(this.h, this.s, this.l * k, this.opacity); + }, + darker: function(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Cubehelix(this.h, this.s, this.l * k, this.opacity); + }, + rgb: function() { + var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad, + l = +this.l, + a = isNaN(this.s) ? 0 : this.s * l * (1 - l), + cosh = Math.cos(h), + sinh = Math.sin(h); + return new Rgb( + 255 * (l + a * (A * cosh + B * sinh)), + 255 * (l + a * (C * cosh + D * sinh)), + 255 * (l + a * (E * cosh)), + this.opacity + ); + } + })); + + var version = "0.4.2"; + + exports.version = version; + exports.color = color; + exports.rgb = rgb; + exports.hsl = hsl; + exports.lab = lab; + exports.hcl = hcl; + exports.cubehelix = cubehelix; + +})); + +/***/ }), +/* 79 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_time = global.d3_time || {}))); +}(this, function (exports) { 'use strict'; + + var version = "0.2.6"; + + var t0 = new Date; + var t1 = new Date; + function newInterval(floori, offseti, count, field) { + + function interval(date) { + return floori(date = new Date(+date)), date; + } + + interval.floor = interval; + + interval.ceil = function(date) { + return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date; + }; + + interval.round = function(date) { + var d0 = interval(date), + d1 = interval.ceil(date); + return date - d0 < d1 - date ? d0 : d1; + }; + + interval.offset = function(date, step) { + return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date; + }; + + interval.range = function(start, stop, step) { + var range = []; + start = interval.ceil(start); + step = step == null ? 1 : Math.floor(step); + if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date + do range.push(new Date(+start)); while (offseti(start, step), floori(start), start < stop) + return range; + }; + + interval.filter = function(test) { + return newInterval(function(date) { + while (floori(date), !test(date)) date.setTime(date - 1); + }, function(date, step) { + while (--step >= 0) while (offseti(date, 1), !test(date)); + }); + }; + + if (count) { + interval.count = function(start, end) { + t0.setTime(+start), t1.setTime(+end); + floori(t0), floori(t1); + return Math.floor(count(t0, t1)); + }; + + interval.every = function(step) { + step = Math.floor(step); + return !isFinite(step) || !(step > 0) ? null + : !(step > 1) ? interval + : interval.filter(field + ? function(d) { return field(d) % step === 0; } + : function(d) { return interval.count(0, d) % step === 0; }); + }; + } + + return interval; + } + + var millisecond = newInterval(function() { + // noop + }, function(date, step) { + date.setTime(+date + step); + }, function(start, end) { + return end - start; + }); + + // An optimized implementation for this simple case. + millisecond.every = function(k) { + k = Math.floor(k); + if (!isFinite(k) || !(k > 0)) return null; + if (!(k > 1)) return millisecond; + return newInterval(function(date) { + date.setTime(Math.floor(date / k) * k); + }, function(date, step) { + date.setTime(+date + step * k); + }, function(start, end) { + return (end - start) / k; + }); + }; + + var second$1 = 1e3; + var minute = 6e4; + var hour = 36e5; + var day = 864e5; + var week = 6048e5; + + var second = newInterval(function(date) { + date.setTime(Math.floor(date / second$1) * second$1); + }, function(date, step) { + date.setTime(+date + step * second$1); + }, function(start, end) { + return (end - start) / second$1; + }, function(date) { + return date.getUTCSeconds(); + }); + + var minute$1 = newInterval(function(date) { + date.setTime(Math.floor(date / minute) * minute); + }, function(date, step) { + date.setTime(+date + step * minute); + }, function(start, end) { + return (end - start) / minute; + }, function(date) { + return date.getMinutes(); + }); + + var hour$1 = newInterval(function(date) { + var offset = date.getTimezoneOffset() * minute % hour; + if (offset < 0) offset += hour; + date.setTime(Math.floor((+date - offset) / hour) * hour + offset); + }, function(date, step) { + date.setTime(+date + step * hour); + }, function(start, end) { + return (end - start) / hour; + }, function(date) { + return date.getHours(); + }); + + var day$1 = newInterval(function(date) { + date.setHours(0, 0, 0, 0); + }, function(date, step) { + date.setDate(date.getDate() + step); + }, function(start, end) { + return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * minute) / day; + }, function(date) { + return date.getDate() - 1; + }); + + function weekday(i) { + return newInterval(function(date) { + date.setHours(0, 0, 0, 0); + date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7); + }, function(date, step) { + date.setDate(date.getDate() + step * 7); + }, function(start, end) { + return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * minute) / week; + }); + } + + var sunday = weekday(0); + var monday = weekday(1); + var tuesday = weekday(2); + var wednesday = weekday(3); + var thursday = weekday(4); + var friday = weekday(5); + var saturday = weekday(6); + + var month = newInterval(function(date) { + date.setHours(0, 0, 0, 0); + date.setDate(1); + }, function(date, step) { + date.setMonth(date.getMonth() + step); + }, function(start, end) { + return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12; + }, function(date) { + return date.getMonth(); + }); + + var year = newInterval(function(date) { + date.setHours(0, 0, 0, 0); + date.setMonth(0, 1); + }, function(date, step) { + date.setFullYear(date.getFullYear() + step); + }, function(start, end) { + return end.getFullYear() - start.getFullYear(); + }, function(date) { + return date.getFullYear(); + }); + + var utcMinute = newInterval(function(date) { + date.setUTCSeconds(0, 0); + }, function(date, step) { + date.setTime(+date + step * minute); + }, function(start, end) { + return (end - start) / minute; + }, function(date) { + return date.getUTCMinutes(); + }); + + var utcHour = newInterval(function(date) { + date.setUTCMinutes(0, 0, 0); + }, function(date, step) { + date.setTime(+date + step * hour); + }, function(start, end) { + return (end - start) / hour; + }, function(date) { + return date.getUTCHours(); + }); + + var utcDay = newInterval(function(date) { + date.setUTCHours(0, 0, 0, 0); + }, function(date, step) { + date.setUTCDate(date.getUTCDate() + step); + }, function(start, end) { + return (end - start) / day; + }, function(date) { + return date.getUTCDate() - 1; + }); + + function utcWeekday(i) { + return newInterval(function(date) { + date.setUTCHours(0, 0, 0, 0); + date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7); + }, function(date, step) { + date.setUTCDate(date.getUTCDate() + step * 7); + }, function(start, end) { + return (end - start) / week; + }); + } + + var utcSunday = utcWeekday(0); + var utcMonday = utcWeekday(1); + var utcTuesday = utcWeekday(2); + var utcWednesday = utcWeekday(3); + var utcThursday = utcWeekday(4); + var utcFriday = utcWeekday(5); + var utcSaturday = utcWeekday(6); + + var utcMonth = newInterval(function(date) { + date.setUTCHours(0, 0, 0, 0); + date.setUTCDate(1); + }, function(date, step) { + date.setUTCMonth(date.getUTCMonth() + step); + }, function(start, end) { + return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12; + }, function(date) { + return date.getUTCMonth(); + }); + + var utcYear = newInterval(function(date) { + date.setUTCHours(0, 0, 0, 0); + date.setUTCMonth(0, 1); + }, function(date, step) { + date.setUTCFullYear(date.getUTCFullYear() + step); + }, function(start, end) { + return end.getUTCFullYear() - start.getUTCFullYear(); + }, function(date) { + return date.getUTCFullYear(); + }); + + var timeMilliseconds = millisecond.range; + var timeSeconds = second.range; + var timeMinutes = minute$1.range; + var timeHours = hour$1.range; + var timeDays = day$1.range; + var timeSundays = sunday.range; + var timeMondays = monday.range; + var timeTuesdays = tuesday.range; + var timeWednesdays = wednesday.range; + var timeThursdays = thursday.range; + var timeFridays = friday.range; + var timeSaturdays = saturday.range; + var timeWeeks = sunday.range; + var timeMonths = month.range; + var timeYears = year.range; + + var utcMilliseconds = timeMilliseconds; + var utcSeconds = timeSeconds; + var utcMinutes = utcMinute.range; + var utcHours = utcHour.range; + var utcDays = utcDay.range; + var utcSundays = utcSunday.range; + var utcMondays = utcMonday.range; + var utcTuesdays = utcTuesday.range; + var utcWednesdays = utcWednesday.range; + var utcThursdays = utcThursday.range; + var utcFridays = utcFriday.range; + var utcSaturdays = utcSaturday.range; + var utcWeeks = utcSunday.range; + var utcMonths = utcMonth.range; + var utcYears = utcYear.range; + + exports.timeMilliseconds = timeMilliseconds; + exports.timeSeconds = timeSeconds; + exports.timeMinutes = timeMinutes; + exports.timeHours = timeHours; + exports.timeDays = timeDays; + exports.timeSundays = timeSundays; + exports.timeMondays = timeMondays; + exports.timeTuesdays = timeTuesdays; + exports.timeWednesdays = timeWednesdays; + exports.timeThursdays = timeThursdays; + exports.timeFridays = timeFridays; + exports.timeSaturdays = timeSaturdays; + exports.timeWeeks = timeWeeks; + exports.timeMonths = timeMonths; + exports.timeYears = timeYears; + exports.utcMilliseconds = utcMilliseconds; + exports.utcSeconds = utcSeconds; + exports.utcMinutes = utcMinutes; + exports.utcHours = utcHours; + exports.utcDays = utcDays; + exports.utcSundays = utcSundays; + exports.utcMondays = utcMondays; + exports.utcTuesdays = utcTuesdays; + exports.utcWednesdays = utcWednesdays; + exports.utcThursdays = utcThursdays; + exports.utcFridays = utcFridays; + exports.utcSaturdays = utcSaturdays; + exports.utcWeeks = utcWeeks; + exports.utcMonths = utcMonths; + exports.utcYears = utcYears; + exports.timeMillisecond = millisecond; + exports.timeSecond = second; + exports.timeMinute = minute$1; + exports.timeHour = hour$1; + exports.timeDay = day$1; + exports.timeSunday = sunday; + exports.timeMonday = monday; + exports.timeTuesday = tuesday; + exports.timeWednesday = wednesday; + exports.timeThursday = thursday; + exports.timeFriday = friday; + exports.timeSaturday = saturday; + exports.timeWeek = sunday; + exports.timeMonth = month; + exports.timeYear = year; + exports.utcMillisecond = millisecond; + exports.utcSecond = second; + exports.utcMinute = utcMinute; + exports.utcHour = utcHour; + exports.utcDay = utcDay; + exports.utcSunday = utcSunday; + exports.utcMonday = utcMonday; + exports.utcTuesday = utcTuesday; + exports.utcWednesday = utcWednesday; + exports.utcThursday = utcThursday; + exports.utcFriday = utcFriday; + exports.utcSaturday = utcSaturday; + exports.utcWeek = utcSunday; + exports.utcMonth = utcMonth; + exports.utcYear = utcYear; + exports.version = version; + exports.timeInterval = newInterval; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); + +/***/ }), +/* 80 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _d3Selection = __webpack_require__(44); + +var _d3Selection2 = _interopRequireDefault(_d3Selection); + +var _d3Scale = __webpack_require__(15); + +var _d3Scale2 = _interopRequireDefault(_d3Scale); + +var _reactFauxDom = __webpack_require__(45); + +var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); + +var _commonProps = __webpack_require__(12); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Legend = function (_Component) { + _inherits(Legend, _Component); + + function Legend(props) { + _classCallCheck(this, Legend); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(Legend).call(this, props)); + } + + _createClass(Legend, [{ + key: '_radius', + value: function _radius(swatchShape) { + return swatchShape === 'circle' ? 18 : 0; + } + }, { + key: '_series', + value: function _series(props) { + var chartSeries = props.chartSeries; + var categoricalColors = props.categoricalColors; + + + var colors = categoricalColors || _d3Scale2.default.scaleCategory10(); + + return chartSeries.map(function (_ref, i) { + var name = _ref.name; + var color = _ref.color; + var field = _ref.field; + return { + color: color || colors(i), + name: name || field, + field: field + }; + }); + } + }, { + key: '_mkLegend', + value: function _mkLegend(dom) { + var _props = this.props; + var legendClassName = _props.legendClassName; + var backgroundColor = _props.backgroundColor; + var legendPosition = _props.legendPosition; + var legendOffset = _props.legendOffset; + var swatchShape = _props.swatchShape; + var chartSeries = _props.chartSeries; + var margins = _props.margins; + var width = _props.width; + + + var legendArea = _d3Selection2.default.select(dom); + var series = this._series(this.props); + var radius = this._radius(swatchShape); + + // make legends + var legend = legendArea.selectAll('div').data(series).enter().append("div").attr("class", legendClassName + ' legend').style("height", 20).style("padding", 5).style("background-color", backgroundColor).style("display", "inline-block"); + + var rect = legend.append("div").style("width", 18).style("height", 18).style("border-radius", radius).style("background-color", function (d) { + return d.color; + }).style("float", legendPosition); + + var text = legend.append("div").style("padding-left", 5).style("padding-right", 5).text(function (d) { + return d.name; + }).style("float", legendPosition); + + return legendArea; + } + }, { + key: 'render', + value: function render() { + var _props2 = this.props; + var legendClassName = _props2.legendClassName; + var width = _props2.width; + var height = _props2.height; + + + var legendGroup = _reactFauxDom2.default.createElement('div'); + var legendClasses = legendClassName + ' legend'; + + legendGroup.setAttribute('class', legendClasses); + legendGroup.style.width = width; + legendGroup.style.textAlign = 'center'; + + return this._mkLegend(legendGroup).node().toReact(); + } + }]); + + return Legend; +}(_react.Component); + +Legend.defaultProps = _extends({ + backgroundColor: '#FFF', + legendHeight: 50, + legendPosition: 'left', + legendOffset: 90, + legendClassName: 'react-d3-core__legend', + swatchShape: 'square' +}, _commonProps2.default); +Legend.propTypes = { + backgroundColor: _react.PropTypes.string, + width: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + chartSeries: _react.PropTypes.array.isRequired, + legendOffset: _react.PropTypes.number.isRequired, + legendClassName: _react.PropTypes.string.isRequired, + legendPosition: _react.PropTypes.oneOf(['left', 'right']).isRequired, + swatchShape: _react.PropTypes.oneOf(['circle', 'square']) +}; +exports.default = Legend; + +/***/ }), +/* 81 */ +/***/ (function(module, exports, __webpack_require__) { + +var React = __webpack_require__(0) +var styleAttr = __webpack_require__(206) +var querySelectorAll = __webpack_require__(207) +var camelCase = __webpack_require__(82) +var isString = __webpack_require__(211) +var isUndefined = __webpack_require__(212) +var assign = __webpack_require__(213) +var mapValues = __webpack_require__(83) +var styleCamelCase = __webpack_require__(214) + +function Element (nodeName, parentNode) { + this.nodeName = nodeName + this.parentNode = parentNode + this.childNodes = [] + this.eventListeners = {} + this.text = '' + var self = this + var props = this.props = { + ref: function (component) { + self.component = component + }, + style: { + setProperty: function (name, value) { + props.style[styleCamelCase(name)] = value + }, + getProperty: function (name) { + return props.style[styleCamelCase(name)] + }, + removeProperty: function (name) { + delete props.style[styleCamelCase(name)] + } + } + } + + this.style = props.style +} + +Element.prototype.nodeType = 1 + +// This was easy to do with Vim. +// Just saying. +Element.prototype.eventNameMappings = { + 'blur': 'onBlur', + 'change': 'onChange', + 'click': 'onClick', + 'contextmenu': 'onContextMenu', + 'copy': 'onCopy', + 'cut': 'onCut', + 'doubleclick': 'onDoubleClick', + 'drag': 'onDrag', + 'dragend': 'onDragEnd', + 'dragenter': 'onDragEnter', + 'dragexit': 'onDragExit', + 'dragleave': 'onDragLeave', + 'dragover': 'onDragOver', + 'dragstart': 'onDragStart', + 'drop': 'onDrop', + 'error': 'onError', + 'focus': 'onFocus', + 'input': 'onInput', + 'keydown': 'onKeyDown', + 'keypress': 'onKeyPress', + 'keyup': 'onKeyUp', + 'load': 'onLoad', + 'mousedown': 'onMouseDown', + 'mouseenter': 'onMouseEnter', + 'mouseleave': 'onMouseLeave', + 'mousemove': 'onMouseMove', + 'mouseout': 'onMouseOut', + 'mouseover': 'onMouseOver', + 'mouseup': 'onMouseUp', + 'paste': 'onPaste', + 'scroll': 'onScroll', + 'submit': 'onSubmit', + 'touchcancel': 'onTouchCancel', + 'touchend': 'onTouchEnd', + 'touchmove': 'onTouchMove', + 'touchstart': 'onTouchStart', + 'wheel': 'onWheel' +} + +Element.prototype.skipNameTransformationExpressions = [ + /^data-/, + /^aria-/ +] + +Element.prototype.attributeNameMappings = { + 'class': 'className' +} + +Element.prototype.attributeToPropName = function (name) { + var skipTransformMatches = this.skipNameTransformationExpressions.map(function (expr) { + return expr.test(name) + }) + + if (skipTransformMatches.some(Boolean)) { + return name + } else { + return this.attributeNameMappings[name] || camelCase(name) + } +} + +Element.prototype.setAttribute = function (name, value) { + if (name === 'style' && isString(value)) { + var styles = styleAttr.parse(value) + + for (var key in styles) { + this.style.setProperty(key, styles[key]) + } + } else { + this.props[this.attributeToPropName(name)] = value + } +} + +Element.prototype.getAttribute = function (name) { + return this.props[this.attributeToPropName(name)] +} + +Element.prototype.getAttributeNode = function (name) { + var value = this.getAttribute(name) + + if (!isUndefined(value)) { + return { + value: value, + specified: true + } + } +} + +Element.prototype.removeAttribute = function (name) { + delete this.props[this.attributeToPropName(name)] +} + +Element.prototype.eventToPropName = function (name) { + return this.eventNameMappings[name] || name +} + +Element.prototype.addEventListener = function (name, fn) { + var prop = this.eventToPropName(name) + this.eventListeners[prop] = this.eventListeners[prop] || [] + this.eventListeners[prop].push(fn) +} + +Element.prototype.removeEventListener = function (name, fn) { + var listeners = this.eventListeners[this.eventToPropName(name)] + + if (listeners) { + var match = listeners.indexOf(fn) + + if (match !== -1) { + listeners.splice(match, 1) + } + } +} + +Element.prototype.appendChild = function (el) { + el.parentNode = this + this.childNodes.push(el) + return el +} + +Element.prototype.insertBefore = function (el, before) { + var index = this.childNodes.indexOf(before) + el.parentNode = this + + if (index !== -1) { + this.childNodes.splice(index, 0, el) + } else { + this.childNodes.push(el) + } + + return el +} + +Element.prototype.removeChild = function (child) { + var target = this.childNodes.indexOf(child) + this.childNodes.splice(target, 1) +} + +Element.prototype.querySelector = function () { + return this.querySelectorAll.apply(this, arguments)[0] || null +} + +Element.prototype.querySelectorAll = function (selector) { + if (!selector) { + throw new Error('Not enough arguments') + } + + return querySelectorAll(selector, this) +} + +Element.prototype.getElementsByTagName = function (nodeName) { + var children = this.children + + if (children.length === 0) { + return [] + } else { + var matches + + if (nodeName !== '*') { + matches = children.filter(function (el) { + return el.nodeName === nodeName + }) + } else { + matches = children + } + + var childMatches = children.map(function (el) { + return el.getElementsByTagName(nodeName) + }) + + return matches.concat.apply(matches, childMatches) + } +} + +Element.prototype.getElementById = function (id) { + var children = this.children + + if (children.length === 0) { + return null + } else { + var match = children.filter(function (el) { + return el.getAttribute('id') === id + })[0] + + if (match) { + return match + } else { + var childMatches = children.map(function (el) { + return el.getElementById(id) + }) + + return childMatches.filter(function (match) { + return match !== null + })[0] || null + } + } +} + +Element.prototype.getBoundingClientRect = function () { + if (!this.component) { + return undefined + } + + return this.component.getBoundingClientRect() +} + +Element.prototype.toReact = function (index) { + index = index || 0 + var props = assign({}, this.props) + props.style = assign({}, props.style) + + var originalElement = this + + function uniqueKey () { + return 'faux-dom-' + index + } + + if (isUndefined(props.key)) { + props.key = uniqueKey() + } + + delete props.style.setProperty + delete props.style.getProperty + delete props.style.removeProperty + + assign(props, mapValues(this.eventListeners, function (listeners) { + return function (syntheticEvent) { + var event + + if (syntheticEvent) { + event = syntheticEvent.nativeEvent + event.syntheticEvent = syntheticEvent + } + + mapValues(listeners, function (listener) { + listener.call(originalElement, event) + }) + } + })) + + return React.createElement(this.nodeName, props, this.text || this.children.map(function (el, i) { + if (el instanceof Element) { + return el.toReact(i) + } else { + return el + } + })) +} + +Object.defineProperties(Element.prototype, { + nextSibling: { + get: function () { + var siblings = this.parentNode.children + var me = siblings.indexOf(this) + return siblings[me + 1] + } + }, + previousSibling: { + get: function () { + var siblings = this.parentNode.children + var me = siblings.indexOf(this) + return siblings[me - 1] + } + }, + innerHTML: { + get: function () { + return this.text + }, + set: function (text) { + this.text = text + } + }, + textContent: { + get: function () { + return this.text + }, + set: function (text) { + this.text = text + } + }, + children: { + get: function () { + // So far nodes created by this library are all of nodeType 1 (elements), + // but this could change in the future. + return this.childNodes.filter(function (el) { + if (!el.nodeType) { + // It's a React element, we always add it + return true + } + + // It's a HTML node. We want to filter to have only nodes with type 1 + return el.nodeType === 1 + }) + } + } +}) + +// These NS methods are called by things like D3 if it spots a namespace. +// Like xlink:href. I don't care about namespaces, so these functions have NS aliases created. +var namespaceMethods = [ + 'setAttribute', + 'getAttribute', + 'getAttributeNode', + 'removeAttribute', + 'getElementsByTagName', + 'getElementById' +] + +namespaceMethods.forEach(function (name) { + var fn = Element.prototype[name] + Element.prototype[name + 'NS'] = function () { + return fn.apply(this, Array.prototype.slice.call(arguments, 1)) + } +}) - function tickStep(start, stop, count) { - var step0 = Math.abs(stop - start) / Math.max(0, count), - step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), - error = step0 / step1; - if (error >= e10) step1 *= 10; - else if (error >= e5) step1 *= 5; - else if (error >= e2) step1 *= 2; - return stop < start ? -step1 : step1; - } +module.exports = Element - function sturges(values) { - return Math.ceil(Math.log(values.length) / Math.LN2) + 1; - } - function number(x) { - return +x; - } +/***/ }), +/* 82 */ +/***/ (function(module, exports) { - function histogram() { - var value = identity, - domain = extent, - threshold = sturges; +var hyphenExpression = /\-+([a-z])/gi - function histogram(data) { - var i, - n = data.length, - x, - values = new Array(n); +function upperCaseFirstMatch (match, c, offset) { + if (offset !== 0) { + return c.toUpperCase() + } else { + return c + } +} - // Coerce values to numbers. - for (i = 0; i < n; ++i) { - values[i] = +value(data[i], i, data); - } +function camelCase (str) { + var camelCased = str.replace(hyphenExpression, upperCaseFirstMatch) + hyphenExpression.lastIndex = 0 + return camelCased +} - var xz = domain(values), - x0 = +xz[0], - x1 = +xz[1], - tz = threshold(values, x0, x1); +module.exports = camelCase - // Convert number of thresholds into uniform thresholds. - if (!Array.isArray(tz)) tz = ticks(x0, x1, +tz); - // Coerce thresholds to numbers, ignoring any outside the domain. - var m = tz.length; - for (i = 0; i < m; ++i) tz[i] = +tz[i]; - while (tz[0] <= x0) tz.shift(), --m; - while (tz[m - 1] >= x1) tz.pop(), --m; +/***/ }), +/* 83 */ +/***/ (function(module, exports) { - var bins = new Array(m + 1), - bin; +function mapValues (source, fn) { + var destination = {} - // Initialize bins. - for (i = 0; i <= m; ++i) { - bin = bins[i] = []; - bin.x0 = i > 0 ? tz[i - 1] : x0; - bin.x1 = i < m ? tz[i] : x1; - } + for (var key in source) { + if (source.hasOwnProperty(key)) { + destination[key] = fn(source[key]) + } + } - // Assign data to bins by value, ignoring any outside the domain. - for (i = 0; i < n; ++i) { - x = values[i]; - if (x0 <= x && x <= x1) { - bins[bisectRight(tz, x, 0, m)].push(data[i]); - } - } + return destination +} - return bins; - } +module.exports = mapValues - histogram.value = function(_) { - return arguments.length ? (value = typeof _ === "function" ? _ : constant(+_), histogram) : value; - }; - histogram.domain = function(_) { - return arguments.length ? (domain = typeof _ === "function" ? _ : constant([+_[0], +_[1]]), histogram) : domain; - }; +/***/ }), +/* 84 */ +/***/ (function(module, exports, __webpack_require__) { - histogram.thresholds = function(_) { - if (!arguments.length) return threshold; - threshold = typeof _ === "function" ? _ - : Array.isArray(_) ? constant(Array.prototype.map.call(_, number)) - : constant(+_); - return histogram; - }; +"use strict"; - return histogram; - } - function quantile(array, p, f) { - if (f == null) f = number$1; - if (!(n = array.length)) return; - if ((p = +p) <= 0 || n < 2) return +f(array[0], 0, array); - if (p >= 1) return +f(array[n - 1], n - 1, array); - var n, - h = (n - 1) * p, - i = Math.floor(h), - a = +f(array[i], i, array), - b = +f(array[i + 1], i + 1, array); - return a + (b - a) * (h - i); - } +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.PieChart = exports.BarStackHorizontalChart = exports.BarStackChart = exports.AreaStackChart = exports.BarGroupHorizontalChart = exports.BarGroupChart = exports.BarHorizontalChart = exports.BarChart = exports.ScatterPlot = exports.AreaChart = exports.LineChart = undefined; - function freedmanDiaconis(values, min, max) { - values.sort(ascending); - return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3))); - } +var _line = __webpack_require__(85); - function scott(values, min, max) { - return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3))); - } +var _line2 = _interopRequireDefault(_line); - function max(array, f) { - var i = -1, - n = array.length, - a, - b; +var _area = __webpack_require__(239); - if (f == null) { - while (++i < n) if ((b = array[i]) != null && b >= b) { a = b; break; } - while (++i < n) if ((b = array[i]) != null && b > a) a = b; - } +var _area2 = _interopRequireDefault(_area); - else { - while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = b; break; } - while (++i < n) if ((b = f(array[i], i, array)) != null && b > a) a = b; - } +var _scatter = __webpack_require__(240); - return a; - } +var _scatter2 = _interopRequireDefault(_scatter); - function mean(array, f) { - var s = 0, - n = array.length, - a, - i = -1, - j = n; +var _bar = __webpack_require__(241); - if (f == null) { - while (++i < n) if (!isNaN(a = number$1(array[i]))) s += a; else --j; - } +var _bar2 = _interopRequireDefault(_bar); - else { - while (++i < n) if (!isNaN(a = number$1(f(array[i], i, array)))) s += a; else --j; - } +var _bar_horizontal = __webpack_require__(242); - if (j) return s / j; - } +var _bar_horizontal2 = _interopRequireDefault(_bar_horizontal); - function median(array, f) { - var numbers = [], - n = array.length, - a, - i = -1; +var _bar_group = __webpack_require__(243); - if (f == null) { - while (++i < n) if (!isNaN(a = number$1(array[i]))) numbers.push(a); - } +var _bar_group2 = _interopRequireDefault(_bar_group); - else { - while (++i < n) if (!isNaN(a = number$1(f(array[i], i, array)))) numbers.push(a); - } +var _bar_group_horizontal = __webpack_require__(244); - return quantile(numbers.sort(ascending), 0.5); - } +var _bar_group_horizontal2 = _interopRequireDefault(_bar_group_horizontal); - function merge(arrays) { - var n = arrays.length, - m, - i = -1, - j = 0, - merged, - array; - - while (++i < n) j += arrays[i].length; - merged = new Array(j); - - while (--n >= 0) { - array = arrays[n]; - m = array.length; - while (--m >= 0) { - merged[--j] = array[m]; - } - } +var _area_stack = __webpack_require__(245); - return merged; - } +var _area_stack2 = _interopRequireDefault(_area_stack); - function min(array, f) { - var i = -1, - n = array.length, - a, - b; +var _bar_stack = __webpack_require__(246); - if (f == null) { - while (++i < n) if ((b = array[i]) != null && b >= b) { a = b; break; } - while (++i < n) if ((b = array[i]) != null && a > b) a = b; - } +var _bar_stack2 = _interopRequireDefault(_bar_stack); - else { - while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = b; break; } - while (++i < n) if ((b = f(array[i], i, array)) != null && a > b) a = b; - } +var _bar_stack_horizontal = __webpack_require__(247); - return a; - } +var _bar_stack_horizontal2 = _interopRequireDefault(_bar_stack_horizontal); - function pairs(array) { - var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n); - while (i < n) pairs[i] = [p, p = array[++i]]; - return pairs; - } +var _pie = __webpack_require__(248); - function permute(array, indexes) { - var i = indexes.length, permutes = new Array(i); - while (i--) permutes[i] = array[indexes[i]]; - return permutes; - } +var _pie2 = _interopRequireDefault(_pie); - function scan(array, compare) { - if (!(n = array.length)) return; - var i = 0, - n, - j = 0, - xi, - xj = array[j]; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - if (!compare) compare = ascending; +exports.LineChart = _line2.default; // Export high level charts - while (++i < n) if (compare(xi = array[i], xj) < 0 || compare(xj, xj) !== 0) xj = xi, j = i; +exports.AreaChart = _area2.default; +exports.ScatterPlot = _scatter2.default; +exports.BarChart = _bar2.default; +exports.BarHorizontalChart = _bar_horizontal2.default; +exports.BarGroupChart = _bar_group2.default; +exports.BarGroupHorizontalChart = _bar_group_horizontal2.default; +exports.AreaStackChart = _area_stack2.default; +exports.BarStackChart = _bar_stack2.default; +exports.BarStackHorizontalChart = _bar_stack_horizontal2.default; +exports.PieChart = _pie2.default; - if (compare(xj, xj) === 0) return j; - } +/***/ }), +/* 85 */ +/***/ (function(module, exports, __webpack_require__) { - function shuffle(array, i0, i1) { - var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0), - t, - i; +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { - while (m) { - i = Math.random() * m-- | 0; - t = array[m + i0]; - array[m + i0] = array[i + i0]; - array[i + i0] = t; - } +Object.defineProperty(exports, "__esModule", { + value: true +}); - return array; - } +var _index = __webpack_require__(4); - function sum(array, f) { - var s = 0, - n = array.length, - a, - i = -1; +var _index2 = _interopRequireDefault(_index); - if (f == null) { - while (++i < n) if (a = +array[i]) s += a; // Note: zero and null are equivalent. - } +var _index3 = __webpack_require__(5); - else { - while (++i < n) if (a = +f(array[i], i, array)) s += a; - } +var _index4 = _interopRequireDefault(_index3); - return s; - } +var _react2 = __webpack_require__(0); - function transpose(matrix) { - if (!(n = matrix.length)) return []; - for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) { - for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) { - row[j] = matrix[j][i]; - } - } - return transpose; - } +var _react3 = _interopRequireDefault(_react2); - function length(d) { - return d.length; - } +var _index5 = __webpack_require__(6); - function zip() { - return transpose(arguments); - } +var _index6 = _interopRequireDefault(_index5); - var version = "0.7.1"; - - exports.version = version; - exports.bisect = bisectRight; - exports.bisectRight = bisectRight; - exports.bisectLeft = bisectLeft; - exports.ascending = ascending; - exports.bisector = bisector; - exports.descending = descending; - exports.deviation = deviation; - exports.extent = extent; - exports.histogram = histogram; - exports.thresholdFreedmanDiaconis = freedmanDiaconis; - exports.thresholdScott = scott; - exports.thresholdSturges = sturges; - exports.max = max; - exports.mean = mean; - exports.median = median; - exports.merge = merge; - exports.min = min; - exports.pairs = pairs; - exports.permute = permute; - exports.quantile = quantile; - exports.range = range; - exports.scan = scan; - exports.shuffle = shuffle; - exports.sum = sum; - exports.ticks = ticks; - exports.tickStep = tickStep; - exports.transpose = transpose; - exports.variance = variance; - exports.zip = zip; - - })); +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -/***/ }, -/* 9 */ -/***/ function(module, exports, __webpack_require__) { +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_collection = global.d3_collection || {}))); - }(this, function (exports) { 'use strict'; - - var prefix = "$"; - - function Map() {} - - Map.prototype = map.prototype = { - constructor: Map, - has: function(key) { - return (prefix + key) in this; - }, - get: function(key) { - return this[prefix + key]; - }, - set: function(key, value) { - this[prefix + key] = value; - return this; - }, - remove: function(key) { - var property = prefix + key; - return property in this && delete this[property]; - }, - clear: function() { - for (var property in this) if (property[0] === prefix) delete this[property]; - }, - keys: function() { - var keys = []; - for (var property in this) if (property[0] === prefix) keys.push(property.slice(1)); - return keys; - }, - values: function() { - var values = []; - for (var property in this) if (property[0] === prefix) values.push(this[property]); - return values; - }, - entries: function() { - var entries = []; - for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]}); - return entries; - }, - size: function() { - var size = 0; - for (var property in this) if (property[0] === prefix) ++size; - return size; - }, - empty: function() { - for (var property in this) if (property[0] === prefix) return false; - return true; - }, - each: function(f) { - for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this); - } - }; +var _class, _temp; - function map(object, f) { - var map = new Map; +var _propTypes = __webpack_require__(3); - // Copy constructor. - if (object instanceof Map) object.each(function(value, key) { map.set(key, value); }); +var _propTypes2 = _interopRequireDefault(_propTypes); - // Index array by numeric index or specified key function. - else if (Array.isArray(object)) { - var i = -1, - n = object.length, - o; +var _reactD3Core = __webpack_require__(2); - if (f == null) while (++i < n) map.set(i, object[i]); - else while (++i < n) map.set(f(o = object[i], i, object), o); - } +var _reactD3Shape = __webpack_require__(7); - // Convert object to map. - else if (object) for (var key in object) map.set(key, object[key]); +var _commonProps = __webpack_require__(9); - return map; - } +var _commonProps2 = _interopRequireDefault(_commonProps); - function nest() { - var keys = [], - sortKeys = [], - sortValues, - rollup, - nest; - - function apply(array, depth, createResult, setResult) { - if (depth >= keys.length) return rollup - ? rollup(array) : (sortValues - ? array.sort(sortValues) - : array); - - var i = -1, - n = array.length, - key = keys[depth++], - keyValue, - value, - valuesByKey = map(), - values, - result = createResult(); - - while (++i < n) { - if (values = valuesByKey.get(keyValue = key(value = array[i]) + "")) { - values.push(value); - } else { - valuesByKey.set(keyValue, [value]); - } - } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - valuesByKey.each(function(values, key) { - setResult(result, key, apply(values, depth, createResult, setResult)); - }); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - return result; - } +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - function entries(map, depth) { - if (depth >= keys.length) return map; +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var array = [], - sortKey = sortKeys[depth++]; +var _components = { + LineChart: { + displayName: 'LineChart' + } +}; - map.each(function(value, key) { - array.push({key: key, values: entries(value, depth)}); - }); +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/line.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); - return sortKey - ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) - : array; - } +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/line.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); - return nest = { - object: function(array) { return apply(array, 0, createObject, setObject); }, - map: function(array) { return apply(array, 0, createMap, setMap); }, - entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); }, - key: function(d) { keys.push(d); return nest; }, - sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; }, - sortValues: function(order) { sortValues = order; return nest; }, - rollup: function(f) { rollup = f; return nest; } - }; - } +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} - function createObject() { - return {}; - } +var LineChart = _wrapComponent('LineChart')((_temp = _class = function (_Component) { + _inherits(LineChart, _Component); - function setObject(object, key, value) { - object[key] = value; - } + function LineChart(props) { + _classCallCheck(this, LineChart); + + return _possibleConstructorReturn(this, (LineChart.__proto__ || Object.getPrototypeOf(LineChart)).call(this, props)); + } + + _createClass(LineChart, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors; + + + var xgrid, ygrid; + + if (showXGrid) xgrid = _react3.default.createElement(_reactD3Core.Xgrid, null); + if (showYGrid) ygrid = _react3.default.createElement(_reactD3Core.Ygrid, null); + + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.Chart, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries + }), + _react3.default.createElement(_reactD3Shape.Line, { + chartSeries: chartSeries + }), + xgrid, + ygrid, + _react3.default.createElement(_reactD3Core.Xaxis, null), + _react3.default.createElement(_reactD3Core.Yaxis, null), + this.props.children + ) + ); + } + }]); + + return LineChart; +}(_react2.Component), _class.defaultProps = _extends({ + showScatter: false +}, _commonProps2.default), _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + margins: _propTypes2.default.object.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired +}, _temp)); + +exports.default = LineChart; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 86 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +var emptyFunction = __webpack_require__(33); +var invariant = __webpack_require__(34); +var warning = __webpack_require__(49); +var assign = __webpack_require__(50); + +var ReactPropTypesSecret = __webpack_require__(35); +var checkPropTypes = __webpack_require__(87); + +module.exports = function(isValidElement, throwOnDirectAccess) { + /* global Symbol */ + var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. + + /** + * Returns the iterator method function contained on the iterable object. + * + * Be sure to invoke the function with the iterable as context: + * + * var iteratorFn = getIteratorFn(myIterable); + * if (iteratorFn) { + * var iterator = iteratorFn.call(myIterable); + * ... + * } + * + * @param {?object} maybeIterable + * @return {?function} + */ + function getIteratorFn(maybeIterable) { + var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); + if (typeof iteratorFn === 'function') { + return iteratorFn; + } + } + + /** + * Collection of methods that allow declaration and validation of props that are + * supplied to React components. Example usage: + * + * var Props = require('ReactPropTypes'); + * var MyArticle = React.createClass({ + * propTypes: { + * // An optional string prop named "description". + * description: Props.string, + * + * // A required enum prop named "category". + * category: Props.oneOf(['News','Photos']).isRequired, + * + * // A prop named "dialog" that requires an instance of Dialog. + * dialog: Props.instanceOf(Dialog).isRequired + * }, + * render: function() { ... } + * }); + * + * A more formal specification of how these methods are used: + * + * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) + * decl := ReactPropTypes.{type}(.isRequired)? + * + * Each and every declaration produces a function with the same signature. This + * allows the creation of custom validation functions. For example: + * + * var MyLink = React.createClass({ + * propTypes: { + * // An optional string or URI prop named "href". + * href: function(props, propName, componentName) { + * var propValue = props[propName]; + * if (propValue != null && typeof propValue !== 'string' && + * !(propValue instanceof URI)) { + * return new Error( + * 'Expected a string or an URI for ' + propName + ' in ' + + * componentName + * ); + * } + * } + * }, + * render: function() {...} + * }); + * + * @internal + */ + + var ANONYMOUS = '<>'; + + // Important! + // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. + var ReactPropTypes = { + array: createPrimitiveTypeChecker('array'), + bool: createPrimitiveTypeChecker('boolean'), + func: createPrimitiveTypeChecker('function'), + number: createPrimitiveTypeChecker('number'), + object: createPrimitiveTypeChecker('object'), + string: createPrimitiveTypeChecker('string'), + symbol: createPrimitiveTypeChecker('symbol'), + + any: createAnyTypeChecker(), + arrayOf: createArrayOfTypeChecker, + element: createElementTypeChecker(), + instanceOf: createInstanceTypeChecker, + node: createNodeChecker(), + objectOf: createObjectOfTypeChecker, + oneOf: createEnumTypeChecker, + oneOfType: createUnionTypeChecker, + shape: createShapeTypeChecker, + exact: createStrictShapeTypeChecker, + }; + + /** + * inlined Object.is polyfill to avoid requiring consumers ship their own + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + */ + /*eslint-disable no-self-compare*/ + function is(x, y) { + // SameValue algorithm + if (x === y) { + // Steps 1-5, 7-10 + // Steps 6.b-6.e: +0 != -0 + return x !== 0 || 1 / x === 1 / y; + } else { + // Step 6.a: NaN == NaN + return x !== x && y !== y; + } + } + /*eslint-enable no-self-compare*/ + + /** + * We use an Error-like object for backward compatibility as people may call + * PropTypes directly and inspect their output. However, we don't use real + * Errors anymore. We don't inspect their stack anyway, and creating them + * is prohibitively expensive if they are created too often, such as what + * happens in oneOfType() for any type before the one that matched. + */ + function PropTypeError(message) { + this.message = message; + this.stack = ''; + } + // Make `instanceof Error` still work for returned errors. + PropTypeError.prototype = Error.prototype; + + function createChainableTypeChecker(validate) { + if (process.env.NODE_ENV !== 'production') { + var manualPropTypeCallCache = {}; + var manualPropTypeWarningCount = 0; + } + function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { + componentName = componentName || ANONYMOUS; + propFullName = propFullName || propName; + + if (secret !== ReactPropTypesSecret) { + if (throwOnDirectAccess) { + // New behavior only for users of `prop-types` package + invariant( + false, + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use `PropTypes.checkPropTypes()` to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') { + // Old behavior for people using React.PropTypes + var cacheKey = componentName + ':' + propName; + if ( + !manualPropTypeCallCache[cacheKey] && + // Avoid spamming the console because they are often not actionable except for lib authors + manualPropTypeWarningCount < 3 + ) { + warning( + false, + 'You are manually calling a React.PropTypes validation ' + + 'function for the `%s` prop on `%s`. This is deprecated ' + + 'and will throw in the standalone `prop-types` package. ' + + 'You may be seeing this warning due to a third-party PropTypes ' + + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.', + propFullName, + componentName + ); + manualPropTypeCallCache[cacheKey] = true; + manualPropTypeWarningCount++; + } + } + } + if (props[propName] == null) { + if (isRequired) { + if (props[propName] === null) { + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); + } + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); + } + return null; + } else { + return validate(props, propName, componentName, location, propFullName); + } + } + + var chainedCheckType = checkType.bind(null, false); + chainedCheckType.isRequired = checkType.bind(null, true); + + return chainedCheckType; + } + + function createPrimitiveTypeChecker(expectedType) { + function validate(props, propName, componentName, location, propFullName, secret) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== expectedType) { + // `propValue` being instance of, say, date/regexp, pass the 'object' + // check, but we can offer a more precise error message here rather than + // 'of type `object`'. + var preciseType = getPreciseType(propValue); + + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createAnyTypeChecker() { + return createChainableTypeChecker(emptyFunction.thatReturnsNull); + } + + function createArrayOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); + } + var propValue = props[propName]; + if (!Array.isArray(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); + } + for (var i = 0; i < propValue.length; i++) { + var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); + if (error instanceof Error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createElementTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!isValidElement(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createInstanceTypeChecker(expectedClass) { + function validate(props, propName, componentName, location, propFullName) { + if (!(props[propName] instanceof expectedClass)) { + var expectedClassName = expectedClass.name || ANONYMOUS; + var actualClassName = getClassName(props[propName]); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createEnumTypeChecker(expectedValues) { + if (!Array.isArray(expectedValues)) { + process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0; + return emptyFunction.thatReturnsNull; + } + + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + for (var i = 0; i < expectedValues.length; i++) { + if (is(propValue, expectedValues[i])) { + return null; + } + } + + var valuesString = JSON.stringify(expectedValues); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); + } + return createChainableTypeChecker(validate); + } + + function createObjectOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); + } + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); + } + for (var key in propValue) { + if (propValue.hasOwnProperty(key)) { + var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error instanceof Error) { + return error; + } + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createUnionTypeChecker(arrayOfTypeCheckers) { + if (!Array.isArray(arrayOfTypeCheckers)) { + process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; + return emptyFunction.thatReturnsNull; + } + + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (typeof checker !== 'function') { + warning( + false, + 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + + 'received %s at index %s.', + getPostfixForTypeWarning(checker), + i + ); + return emptyFunction.thatReturnsNull; + } + } + + function validate(props, propName, componentName, location, propFullName) { + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { + return null; + } + } + + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); + } + return createChainableTypeChecker(validate); + } + + function createNodeChecker() { + function validate(props, propName, componentName, location, propFullName) { + if (!isNode(props[propName])) { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + for (var key in shapeTypes) { + var checker = shapeTypes[key]; + if (!checker) { + continue; + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createStrictShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + // We need to check all keys in case some are required but missing from + // props. + var allKeys = assign({}, props[propName], shapeTypes); + for (var key in allKeys) { + var checker = shapeTypes[key]; + if (!checker) { + return new PropTypeError( + 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') + ); + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error) { + return error; + } + } + return null; + } + + return createChainableTypeChecker(validate); + } + + function isNode(propValue) { + switch (typeof propValue) { + case 'number': + case 'string': + case 'undefined': + return true; + case 'boolean': + return !propValue; + case 'object': + if (Array.isArray(propValue)) { + return propValue.every(isNode); + } + if (propValue === null || isValidElement(propValue)) { + return true; + } + + var iteratorFn = getIteratorFn(propValue); + if (iteratorFn) { + var iterator = iteratorFn.call(propValue); + var step; + if (iteratorFn !== propValue.entries) { + while (!(step = iterator.next()).done) { + if (!isNode(step.value)) { + return false; + } + } + } else { + // Iterator will provide entry [k,v] tuples rather than values. + while (!(step = iterator.next()).done) { + var entry = step.value; + if (entry) { + if (!isNode(entry[1])) { + return false; + } + } + } + } + } else { + return false; + } + + return true; + default: + return false; + } + } + + function isSymbol(propType, propValue) { + // Native Symbol. + if (propType === 'symbol') { + return true; + } + + // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' + if (propValue['@@toStringTag'] === 'Symbol') { + return true; + } + + // Fallback for non-spec compliant Symbols which are polyfilled. + if (typeof Symbol === 'function' && propValue instanceof Symbol) { + return true; + } + + return false; + } + + // Equivalent of `typeof` but with special handling for array and regexp. + function getPropType(propValue) { + var propType = typeof propValue; + if (Array.isArray(propValue)) { + return 'array'; + } + if (propValue instanceof RegExp) { + // Old webkits (at least until Android 4.0) return 'function' rather than + // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ + // passes PropTypes.object. + return 'object'; + } + if (isSymbol(propType, propValue)) { + return 'symbol'; + } + return propType; + } + + // This handles more types than `getPropType`. Only used for error messages. + // See `createPrimitiveTypeChecker`. + function getPreciseType(propValue) { + if (typeof propValue === 'undefined' || propValue === null) { + return '' + propValue; + } + var propType = getPropType(propValue); + if (propType === 'object') { + if (propValue instanceof Date) { + return 'date'; + } else if (propValue instanceof RegExp) { + return 'regexp'; + } + } + return propType; + } + + // Returns a string that is postfixed to a warning about an invalid type. + // For example, "undefined" or "of type array" + function getPostfixForTypeWarning(value) { + var type = getPreciseType(value); + switch (type) { + case 'array': + case 'object': + return 'an ' + type; + case 'boolean': + case 'date': + case 'regexp': + return 'a ' + type; + default: + return type; + } + } + + // Returns class name of the object, if any. + function getClassName(propValue) { + if (!propValue.constructor || !propValue.constructor.name) { + return ANONYMOUS; + } + return propValue.constructor.name; + } + + ReactPropTypes.checkPropTypes = checkPropTypes; + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; +}; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(17))) + +/***/ }), +/* 87 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +if (process.env.NODE_ENV !== 'production') { + var invariant = __webpack_require__(34); + var warning = __webpack_require__(49); + var ReactPropTypesSecret = __webpack_require__(35); + var loggedTypeFailures = {}; +} + +/** + * Assert that the values match with the type specs. + * Error messages are memorized and will only be shown once. + * + * @param {object} typeSpecs Map of name to a ReactPropType + * @param {object} values Runtime values that need to be type-checked + * @param {string} location e.g. "prop", "context", "child context" + * @param {string} componentName Name of the component for error messages. + * @param {?Function} getStack Returns the component stack. + * @private + */ +function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + if (process.env.NODE_ENV !== 'production') { + for (var typeSpecName in typeSpecs) { + if (typeSpecs.hasOwnProperty(typeSpecName)) { + var error; + // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]); + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); + } catch (ex) { + error = ex; + } + warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error); + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error.message] = true; + + var stack = getStack ? getStack() : ''; + + warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : ''); + } + } + } + } +} + +module.exports = checkPropTypes; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(17))) + +/***/ }), +/* 88 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +var emptyFunction = __webpack_require__(33); +var invariant = __webpack_require__(34); +var ReactPropTypesSecret = __webpack_require__(35); + +module.exports = function() { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret) { + // It is still safe when called from React. + return; + } + invariant( + false, + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use PropTypes.checkPropTypes() to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + }; + shim.isRequired = shim; + function getShim() { + return shim; + }; + // Important! + // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. + var ReactPropTypes = { + array: shim, + bool: shim, + func: shim, + number: shim, + object: shim, + string: shim, + symbol: shim, + + any: shim, + arrayOf: getShim, + element: shim, + instanceOf: getShim, + node: shim, + objectOf: getShim, + oneOf: getShim, + oneOfType: getShim, + shape: getShim, + exact: getShim + }; + + ReactPropTypes.checkPropTypes = emptyFunction; + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; +}; + + +/***/ }), +/* 89 */ +/***/ (function(module, exports) { + +module.exports = ReactDOM; + +/***/ }), +/* 90 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var _DefaultExportValue = { + redbox: { + boxSizing: 'border-box', + fontFamily: 'sans-serif', + position: 'fixed', + padding: 10, + top: '0px', + left: '0px', + bottom: '0px', + right: '0px', + width: '100%', + background: 'rgb(204, 0, 0)', + color: 'white', + zIndex: 2147483647, + textAlign: 'left', + fontSize: '16px', + lineHeight: 1.2, + overflow: 'auto' + }, + message: { + fontWeight: 'bold' + }, + stack: { + fontFamily: 'monospace', + marginTop: '2em' + }, + frame: { + marginTop: '1em' + }, + file: { + fontSize: '0.8em', + color: 'rgba(255, 255, 255, 0.7)' + }, + linkToFile: { + textDecoration: 'none', + color: 'rgba(255, 255, 255, 0.7)' + } +}; +exports.default = _DefaultExportValue; + +/***/ }), +/* 91 */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(root, factory) { + 'use strict'; + // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers. + + /* istanbul ignore next */ + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(92)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else if (typeof exports === 'object') { + module.exports = factory(require('stackframe')); + } else { + root.ErrorStackParser = factory(root.StackFrame); + } +}(this, function ErrorStackParser(StackFrame) { + 'use strict'; + + var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\S+\:\d+/; + var CHROME_IE_STACK_REGEXP = /^\s*at .*(\S+\:\d+|\(native\))/m; + var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\[native code\])?$/; + + function _map(array, fn, thisArg) { + if (typeof Array.prototype.map === 'function') { + return array.map(fn, thisArg); + } else { + var output = new Array(array.length); + for (var i = 0; i < array.length; i++) { + output[i] = fn.call(thisArg, array[i]); + } + return output; + } + } + + function _filter(array, fn, thisArg) { + if (typeof Array.prototype.filter === 'function') { + return array.filter(fn, thisArg); + } else { + var output = []; + for (var i = 0; i < array.length; i++) { + if (fn.call(thisArg, array[i])) { + output.push(array[i]); + } + } + return output; + } + } + + function _indexOf(array, target) { + if (typeof Array.prototype.indexOf === 'function') { + return array.indexOf(target); + } else { + for (var i = 0; i < array.length; i++) { + if (array[i] === target) { + return i; + } + } + return -1; + } + } + + return { + /** + * Given an Error object, extract the most information from it. + * + * @param {Error} error object + * @return {Array} of StackFrames + */ + parse: function ErrorStackParser$$parse(error) { + if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') { + return this.parseOpera(error); + } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) { + return this.parseV8OrIE(error); + } else if (error.stack) { + return this.parseFFOrSafari(error); + } else { + throw new Error('Cannot parse given Error object'); + } + }, + + // Separate line and column numbers from a string of the form: (URI:Line:Column) + extractLocation: function ErrorStackParser$$extractLocation(urlLike) { + // Fail-fast but return locations like "(native)" + if (urlLike.indexOf(':') === -1) { + return [urlLike]; + } + + var regExp = /(.+?)(?:\:(\d+))?(?:\:(\d+))?$/; + var parts = regExp.exec(urlLike.replace(/[\(\)]/g, '')); + return [parts[1], parts[2] || undefined, parts[3] || undefined]; + }, + + parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) { + var filtered = _filter(error.stack.split('\n'), function(line) { + return !!line.match(CHROME_IE_STACK_REGEXP); + }, this); + + return _map(filtered, function(line) { + if (line.indexOf('(eval ') > -1) { + // Throw away eval information until we implement stacktrace.js/stackframe#8 + line = line.replace(/eval code/g, 'eval').replace(/(\(eval at [^\()]*)|(\)\,.*$)/g, ''); + } + var tokens = line.replace(/^\s+/, '').replace(/\(eval code/g, '(').split(/\s+/).slice(1); + var locationParts = this.extractLocation(tokens.pop()); + var functionName = tokens.join(' ') || undefined; + var fileName = _indexOf(['eval', ''], locationParts[0]) > -1 ? undefined : locationParts[0]; + + return new StackFrame(functionName, undefined, fileName, locationParts[1], locationParts[2], line); + }, this); + }, + + parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) { + var filtered = _filter(error.stack.split('\n'), function(line) { + return !line.match(SAFARI_NATIVE_CODE_REGEXP); + }, this); + + return _map(filtered, function(line) { + // Throw away eval information until we implement stacktrace.js/stackframe#8 + if (line.indexOf(' > eval') > -1) { + line = line.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g, ':$1'); + } + + if (line.indexOf('@') === -1 && line.indexOf(':') === -1) { + // Safari eval frames only have function names and nothing else + return new StackFrame(line); + } else { + var tokens = line.split('@'); + var locationParts = this.extractLocation(tokens.pop()); + var functionName = tokens.join('@') || undefined; + return new StackFrame(functionName, + undefined, + locationParts[0], + locationParts[1], + locationParts[2], + line); + } + }, this); + }, + + parseOpera: function ErrorStackParser$$parseOpera(e) { + if (!e.stacktrace || (e.message.indexOf('\n') > -1 && + e.message.split('\n').length > e.stacktrace.split('\n').length)) { + return this.parseOpera9(e); + } else if (!e.stack) { + return this.parseOpera10(e); + } else { + return this.parseOpera11(e); + } + }, + + parseOpera9: function ErrorStackParser$$parseOpera9(e) { + var lineRE = /Line (\d+).*script (?:in )?(\S+)/i; + var lines = e.message.split('\n'); + var result = []; + + for (var i = 2, len = lines.length; i < len; i += 2) { + var match = lineRE.exec(lines[i]); + if (match) { + result.push(new StackFrame(undefined, undefined, match[2], match[1], undefined, lines[i])); + } + } + + return result; + }, + + parseOpera10: function ErrorStackParser$$parseOpera10(e) { + var lineRE = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i; + var lines = e.stacktrace.split('\n'); + var result = []; + + for (var i = 0, len = lines.length; i < len; i += 2) { + var match = lineRE.exec(lines[i]); + if (match) { + result.push( + new StackFrame( + match[3] || undefined, + undefined, + match[2], + match[1], + undefined, + lines[i] + ) + ); + } + } + + return result; + }, + + // Opera 10.65+ Error.stack very similar to FF/Safari + parseOpera11: function ErrorStackParser$$parseOpera11(error) { + var filtered = _filter(error.stack.split('\n'), function(line) { + return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/); + }, this); + + return _map(filtered, function(line) { + var tokens = line.split('@'); + var locationParts = this.extractLocation(tokens.pop()); + var functionCall = (tokens.shift() || ''); + var functionName = functionCall + .replace(//, '$2') + .replace(/\([^\)]*\)/g, '') || undefined; + var argsRaw; + if (functionCall.match(/\(([^\)]*)\)/)) { + argsRaw = functionCall.replace(/^[^\(]+\(([^\)]*)\)$/, '$1'); + } + var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ? + undefined : argsRaw.split(','); + return new StackFrame( + functionName, + args, + locationParts[0], + locationParts[1], + locationParts[2], + line); + }, this); + } + }; +})); + + + +/***/ }), +/* 92 */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) { + 'use strict'; + // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers. + + /* istanbul ignore next */ + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else if (typeof exports === 'object') { + module.exports = factory(); + } else { + root.StackFrame = factory(); + } +}(this, function () { + 'use strict'; + function _isNumber(n) { + return !isNaN(parseFloat(n)) && isFinite(n); + } + + function StackFrame(functionName, args, fileName, lineNumber, columnNumber, source) { + if (functionName !== undefined) { + this.setFunctionName(functionName); + } + if (args !== undefined) { + this.setArgs(args); + } + if (fileName !== undefined) { + this.setFileName(fileName); + } + if (lineNumber !== undefined) { + this.setLineNumber(lineNumber); + } + if (columnNumber !== undefined) { + this.setColumnNumber(columnNumber); + } + if (source !== undefined) { + this.setSource(source); + } + } + + StackFrame.prototype = { + getFunctionName: function () { + return this.functionName; + }, + setFunctionName: function (v) { + this.functionName = String(v); + }, + + getArgs: function () { + return this.args; + }, + setArgs: function (v) { + if (Object.prototype.toString.call(v) !== '[object Array]') { + throw new TypeError('Args must be an Array'); + } + this.args = v; + }, + + // NOTE: Property name may be misleading as it includes the path, + // but it somewhat mirrors V8's JavaScriptStackTraceApi + // https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi and Gecko's + // http://mxr.mozilla.org/mozilla-central/source/xpcom/base/nsIException.idl#14 + getFileName: function () { + return this.fileName; + }, + setFileName: function (v) { + this.fileName = String(v); + }, + + getLineNumber: function () { + return this.lineNumber; + }, + setLineNumber: function (v) { + if (!_isNumber(v)) { + throw new TypeError('Line Number must be a Number'); + } + this.lineNumber = Number(v); + }, + + getColumnNumber: function () { + return this.columnNumber; + }, + setColumnNumber: function (v) { + if (!_isNumber(v)) { + throw new TypeError('Column Number must be a Number'); + } + this.columnNumber = Number(v); + }, + + getSource: function () { + return this.source; + }, + setSource: function (v) { + this.source = String(v); + }, + + toString: function() { + var functionName = this.getFunctionName() || '{anonymous}'; + var args = '(' + (this.getArgs() || []).join(',') + ')'; + var fileName = this.getFileName() ? ('@' + this.getFileName()) : ''; + var lineNumber = _isNumber(this.getLineNumber()) ? (':' + this.getLineNumber()) : ''; + var columnNumber = _isNumber(this.getColumnNumber()) ? (':' + this.getColumnNumber()) : ''; + return functionName + args + fileName + lineNumber + columnNumber; + } + }; + + return StackFrame; +})); + + +/***/ }), +/* 93 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var filenameWithoutLoaders = exports.filenameWithoutLoaders = function filenameWithoutLoaders() { + var filename = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + + var index = filename.lastIndexOf('!'); + + return index < 0 ? filename : filename.substr(index + 1); +}; + +var filenameHasLoaders = exports.filenameHasLoaders = function filenameHasLoaders(filename) { + var actualFilename = _get__('filenameWithoutLoaders')(filename); + + return actualFilename !== filename; +}; + +var filenameHasSchema = exports.filenameHasSchema = function filenameHasSchema(filename) { + return (/^[\w]+\:/.test(filename) + ); +}; + +var isFilenameAbsolute = exports.isFilenameAbsolute = function isFilenameAbsolute(filename) { + var actualFilename = _get__('filenameWithoutLoaders')(filename); + + if (actualFilename.indexOf('/') === 0) { + return true; + } + + return false; +}; + +var makeUrl = exports.makeUrl = function makeUrl(filename, scheme, line, column) { + var actualFilename = _get__('filenameWithoutLoaders')(filename); + + if (_get__('filenameHasSchema')(filename)) { + return actualFilename; + } + + var url = 'file://' + actualFilename; + + if (scheme === 'vscode') { + url = scheme + '://file/' + url; + url = url.replace(/file:\/\/\//, ''); // visual studio code does not need file:/// in its scheme + if (line && actualFilename === filename) { + url = url + ':' + line; + + if (column) { + url = url + ':' + column; + } + } + } else if (scheme) { + url = scheme + '://open?url=' + url; + + if (line && actualFilename === filename) { + url = url + '&line=' + line; + + if (column) { + url = url + '&column=' + column; + } + } + } + + return url; +}; + +var makeLinkText = exports.makeLinkText = function makeLinkText(filename, line, column) { + var text = _get__('filenameWithoutLoaders')(filename); + + if (line && text === filename) { + text = text + ':' + line; + + if (column) { + text = text + ':' + column; + } + } + + return text; +}; + +var _RewiredData__ = Object.create(null); + +var INTENTIONAL_UNDEFINED = '__INTENTIONAL_UNDEFINED__'; +var _RewireAPI__ = {}; - function createMap() { - return map(); - } +(function () { + function addPropertyToAPIObject(name, value) { + Object.defineProperty(_RewireAPI__, name, { + value: value, + enumerable: false, + configurable: true + }); + } + + addPropertyToAPIObject('__get__', _get__); + addPropertyToAPIObject('__GetDependency__', _get__); + addPropertyToAPIObject('__Rewire__', _set__); + addPropertyToAPIObject('__set__', _set__); + addPropertyToAPIObject('__reset__', _reset__); + addPropertyToAPIObject('__ResetDependency__', _reset__); + addPropertyToAPIObject('__with__', _with__); +})(); + +function _get__(variableName) { + if (_RewiredData__ === undefined || _RewiredData__[variableName] === undefined) { + return _get_original__(variableName); + } else { + var value = _RewiredData__[variableName]; + + if (value === INTENTIONAL_UNDEFINED) { + return undefined; + } else { + return value; + } + } +} + +function _get_original__(variableName) { + switch (variableName) { + case 'filenameWithoutLoaders': + return filenameWithoutLoaders; + + case 'filenameHasSchema': + return filenameHasSchema; + } + + return undefined; +} + +function _assign__(variableName, value) { + if (_RewiredData__ === undefined || _RewiredData__[variableName] === undefined) { + return _set_original__(variableName, value); + } else { + return _RewiredData__[variableName] = value; + } +} + +function _set_original__(variableName, _value) { + switch (variableName) {} + + return undefined; +} + +function _update_operation__(operation, variableName, prefix) { + var oldValue = _get__(variableName); + + var newValue = operation === '++' ? oldValue + 1 : oldValue - 1; + + _assign__(variableName, newValue); + + return prefix ? newValue : oldValue; +} + +function _set__(variableName, value) { + if ((typeof variableName === 'undefined' ? 'undefined' : _typeof(variableName)) === 'object') { + Object.keys(variableName).forEach(function (name) { + _RewiredData__[name] = variableName[name]; + }); + } else { + if (value === undefined) { + _RewiredData__[variableName] = INTENTIONAL_UNDEFINED; + } else { + _RewiredData__[variableName] = value; + } + + return function () { + _reset__(variableName); + }; + } +} + +function _reset__(variableName) { + delete _RewiredData__[variableName]; +} + +function _with__(object) { + var rewiredVariableNames = Object.keys(object); + var previousValues = {}; + + function reset() { + rewiredVariableNames.forEach(function (variableName) { + _RewiredData__[variableName] = previousValues[variableName]; + }); + } + + return function (callback) { + rewiredVariableNames.forEach(function (variableName) { + previousValues[variableName] = _RewiredData__[variableName]; + _RewiredData__[variableName] = object[variableName]; + }); + var result = callback(); + + if (!!result && typeof result.then == 'function') { + result.then(reset).catch(reset); + } else { + reset(); + } + + return result; + }; +} + +exports.__get__ = _get__; +exports.__GetDependency__ = _get__; +exports.__Rewire__ = _set__; +exports.__set__ = _set__; +exports.__ResetDependency__ = _reset__; +exports.__RewireAPI__ = _RewireAPI__; +exports.default = _RewireAPI__; + +/***/ }), +/* 94 */ +/***/ (function(module, exports, __webpack_require__) { + +(function webpackUniversalModuleDefinition(root, factory) { + if(true) + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["sourceMappedStackTrace"] = factory(); + else + root["sourceMappedStackTrace"] = factory(); +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; - function setMap(map, key, value) { - map.set(key, value); - } +/******/ // The require function +/******/ function __webpack_require__(moduleId) { - function Set() {} - - var proto = map.prototype; - - Set.prototype = set.prototype = { - constructor: Set, - has: proto.has, - add: function(value) { - value += ""; - this[prefix + value] = value; - return this; - }, - remove: proto.remove, - clear: proto.clear, - values: proto.keys, - size: proto.size, - empty: proto.empty, - each: proto.each - }; +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; - function set(object, f) { - var set = new Set; +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; - // Copy constructor. - if (object instanceof Set) object.each(function(value) { set.add(value); }); +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - // Otherwise, assume it’s an array. - else if (object) { - var i = -1, n = object.length; - if (f == null) while (++i < n) set.add(object[i]); - else while (++i < n) set.add(f(object[i], i, object)); - } +/******/ // Flag the module as loaded +/******/ module.loaded = true; - return set; - } +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } - function keys(map) { - var keys = []; - for (var key in map) keys.push(key); - return keys; - } - function values(map) { - var values = []; - for (var key in map) values.push(map[key]); - return values; - } +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; - function entries(map) { - var entries = []; - for (var key in map) entries.push({key: key, value: map[key]}); - return entries; - } +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; - var version = "0.1.2"; +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; - exports.version = version; - exports.nest = nest; - exports.set = set; - exports.map = map; - exports.keys = keys; - exports.values = values; - exports.entries = entries; +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { - })); + var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* + * sourcemapped-stacktrace.js + * created by James Salter (2014) + * + * https://github.com/novocaine/sourcemapped-stacktrace + * + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ -/***/ }, -/* 10 */ -/***/ function(module, exports, __webpack_require__) { + /*global define */ + + // note we only include source-map-consumer, not the whole source-map library, + // which includes gear for generating source maps that we don't need + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_RESULT__ = function(source_map_consumer) { + + var global_mapForUri = {}; + + /** + * Re-map entries in a stacktrace using sourcemaps if available. + * + * @param {Array} stack - Array of strings from the browser's stack + * representation. Currently only Chrome + * format is supported. + * @param {function} done - Callback invoked with the transformed stacktrace + * (an Array of Strings) passed as the first + * argument + * @param {Object} [opts] - Optional options object. + * @param {Function} [opts.filter] - Filter function applied to each stackTrace line. + * Lines which do not pass the filter won't be processesd. + * @param {boolean} [opts.cacheGlobally] - Whether to cache sourcemaps globally across multiple calls. + */ + var mapStackTrace = function(stack, done, opts) { + var lines; + var line; + var mapForUri = {}; + var rows = {}; + var fields; + var uri; + var expected_fields; + var regex; + var skip_lines; + + var fetcher = new Fetcher(function() { + var result = processSourceMaps(lines, rows, fetcher.mapForUri); + done(result); + }, opts); + + if (isChromeOrEdge() || isIE11Plus()) { + regex = /^ +at.+\((.*):([0-9]+):([0-9]+)/; + expected_fields = 4; + // (skip first line containing exception message) + skip_lines = 1; + } else if (isFirefox() || isSafari()) { + regex = /@(.*):([0-9]+):([0-9]+)/; + expected_fields = 4; + skip_lines = 0; + } else { + throw new Error("unknown browser :("); + } - (function (global, factory) { - true ? factory(exports, __webpack_require__(11)) : - typeof define === 'function' && define.amd ? define(['exports', 'd3-color'], factory) : - (factory((global.d3_interpolate = global.d3_interpolate || {}),global.d3_color)); - }(this, function (exports,d3Color) { 'use strict'; + lines = stack.split("\n").slice(skip_lines); - function constant(x) { - return function() { - return x; - }; - } + for (var i=0; i < lines.length; i++) { + line = lines[i]; + if ( opts && opts.filter && !opts.filter(line) ) continue; + + fields = line.match(regex); + if (fields && fields.length === expected_fields) { + rows[i] = fields; + uri = fields[1]; + if (!uri.match(//)) { + fetcher.fetchScript(uri); + } + } + } - function linear(a, d) { - return function(t) { - return a + t * d; - }; - } + // if opts.cacheGlobally set, all maps could have been cached already, + // thus we need to call done callback right away + if ( fetcher.sem === 0 ) { + fetcher.done(fetcher.mapForUri); + } + }; - function exponential(a, b, y) { - return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { - return Math.pow(a + t * b, y); - }; - } + var isChromeOrEdge = function() { + return navigator.userAgent.toLowerCase().indexOf('chrome') > -1; + }; - function interpolateHue(a, b) { - var d = b - a; - return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a); - } + var isFirefox = function() { + return navigator.userAgent.toLowerCase().indexOf('firefox') > -1; + }; - function gamma(y) { - return (y = +y) === 1 ? nogamma : function(a, b) { - return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a); - }; - } + var isSafari = function() { + return navigator.userAgent.toLowerCase().indexOf('safari') > -1; + }; + + var isIE11Plus = function() { + return document.documentMode && document.documentMode >= 11; + }; - function nogamma(a, b) { - var d = b - a; - return d ? linear(a, d) : constant(isNaN(a) ? b : a); - } + var Fetcher = function(done, opts) { + this.sem = 0; + this.mapForUri = opts && opts.cacheGlobally ? global_mapForUri : {}; + this.done = done; + }; - var rgb$1 = (function gamma$$(y) { - var interpolateColor = gamma(y); - - function interpolateRgb(start, end) { - var r = interpolateColor((start = d3Color.rgb(start)).r, (end = d3Color.rgb(end)).r), - g = interpolateColor(start.g, end.g), - b = interpolateColor(start.b, end.b), - opacity = interpolateColor(start.opacity, end.opacity); - return function(t) { - start.r = r(t); - start.g = g(t); - start.b = b(t); - start.opacity = opacity(t); - return start + ""; - }; + Fetcher.prototype.fetchScript = function(uri) { + if (!(uri in this.mapForUri)) { + this.sem++; + this.mapForUri[uri] = null; + } else { + return; } - interpolateRgb.gamma = gamma$$; - - return interpolateRgb; - })(1); + var xhr = createXMLHTTPObject(); + var that = this; + xhr.onreadystatechange = function(e) { + that.onScriptLoad.call(that, e, uri); + }; + xhr.open("GET", uri, true); + xhr.send(); + }; - // TODO sparse arrays? - function array(a, b) { - var x = [], - c = [], - na = a ? a.length : 0, - nb = b ? b.length : 0, - n0 = Math.min(na, nb), - i; + var absUrlRegex = new RegExp('^(?:[a-z]+:)?//', 'i'); - for (i = 0; i < n0; ++i) x.push(value(a[i], b[i])); - for (; i < na; ++i) c[i] = a[i]; - for (; i < nb; ++i) c[i] = b[i]; + Fetcher.prototype.onScriptLoad = function(e, uri) { + if (e.target.readyState !== 4) { + return; + } - return function(t) { - for (i = 0; i < n0; ++i) c[i] = x[i](t); - return c; - }; - } + if (e.target.status === 200 || + (uri.slice(0, 7) === "file://" && e.target.status === 0)) + { + // find .map in file. + // + // attempt to find it at the very end of the file, but tolerate trailing + // whitespace inserted by some packers. + var match = e.target.responseText.match("//# [s]ourceMappingURL=(.*)[\\s]*$", "m"); + if (match && match.length === 2) { + // get the map + var mapUri = match[1]; - function number(a, b) { - return a = +a, b -= a, function(t) { - return a + b * t; - }; - } + var embeddedSourceMap = mapUri.match("data:application/json;(charset=[^;]+;)?base64,(.*)"); - function object(a, b) { - var i = {}, - c = {}, - k; + if (embeddedSourceMap && embeddedSourceMap[2]) { + this.mapForUri[uri] = new source_map_consumer.SourceMapConsumer(atob(embeddedSourceMap[2])); + this.done(this.mapForUri); + } else { + if (!absUrlRegex.test(mapUri)) { + // relative url; according to sourcemaps spec is 'source origin' + var origin; + var lastSlash = uri.lastIndexOf('/'); + if (lastSlash !== -1) { + origin = uri.slice(0, lastSlash + 1); + mapUri = origin + mapUri; + // note if lastSlash === -1, actual script uri has no slash + // somehow, so no way to use it as a prefix... we give up and try + // as absolute + } + } - if (a === null || typeof a !== "object") a = {}; - if (b === null || typeof b !== "object") b = {}; + var xhrMap = createXMLHTTPObject(); + var that = this; + xhrMap.onreadystatechange = function() { + if (xhrMap.readyState === 4) { + that.sem--; + if (xhrMap.status === 200 || + (mapUri.slice(0, 7) === "file://" && xhrMap.status === 0)) { + that.mapForUri[uri] = new source_map_consumer.SourceMapConsumer(xhrMap.responseText); + } + if (that.sem === 0) { + that.done(that.mapForUri); + } + } + }; - for (k in a) { - if (k in b) { - i[k] = value(a[k], b[k]); + xhrMap.open("GET", mapUri, true); + xhrMap.send(); + } } else { - c[k] = a[k]; + // no map + this.sem--; } + } else { + // HTTP error fetching uri of the script + this.sem--; + } + + if (this.sem === 0) { + this.done(this.mapForUri); } + }; - for (k in b) { - if (!(k in a)) { - c[k] = b[k]; + var processSourceMaps = function(lines, rows, mapForUri) { + var result = []; + var map; + for (var i=0; i < lines.length; i++) { + var row = rows[i]; + if (row) { + var uri = row[1]; + var line = parseInt(row[2], 10); + var column = parseInt(row[3], 10); + map = mapForUri[uri]; + + if (map) { + // we think we have a map for that uri. call source-map library + var origPos = map.originalPositionFor( + { line: line, column: column }); + result.push(formatOriginalPosition(origPos.source, + origPos.line, origPos.column, origPos.name || origName(lines[i]))); + } else { + // we can't find a map for that url, but we parsed the row. + // reformat unchanged line for consistency with the sourcemapped + // lines. + result.push(formatOriginalPosition(uri, line, column, origName(lines[i]))); + } + } else { + // we weren't able to parse the row, push back what we were given + result.push(lines[i]); } } - return function(t) { - for (k in i) c[k] = i[k](t); - return c; - }; - } + return result; + }; - var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g; - var reB = new RegExp(reA.source, "g"); - function zero(b) { - return function() { - return b; - }; + function origName(origLine) { + var match = String(origLine).match((isChromeOrEdge() || isIE11Plus()) ? + / +at +([^ ]*).*/ : + /([^@]*)@.*/); + return match && match[1]; } - function one(b) { - return function(t) { - return b(t) + ""; - }; - } - - function string(a, b) { - var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b - am, // current match in a - bm, // current match in b - bs, // string preceding current number in b, if any - i = -1, // index in s - s = [], // string constants and placeholders - q = []; // number interpolators - - // Coerce inputs to strings. - a = a + "", b = b + ""; - - // Interpolate pairs of numbers in a & b. - while ((am = reA.exec(a)) - && (bm = reB.exec(b))) { - if ((bs = bm.index) > bi) { // a string precedes the next number in b - bs = b.slice(bi, bs); - if (s[i]) s[i] += bs; // coalesce with previous string - else s[++i] = bs; - } - if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match - if (s[i]) s[i] += bm; // coalesce with previous string - else s[++i] = bm; - } else { // interpolate non-matching numbers - s[++i] = null; - q.push({i: i, x: number(am, bm)}); - } - bi = reB.lastIndex; - } - - // Add remains of b. - if (bi < b.length) { - bs = b.slice(bi); - if (s[i]) s[i] += bs; // coalesce with previous string - else s[++i] = bs; - } - - // Special optimization for only a single match. - // Otherwise, interpolate each of the numbers and rejoin the string. - return s.length < 2 ? (q[0] - ? one(q[0].x) - : zero(b)) - : (b = q.length, function(t) { - for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }); - } - - function value(a, b) { - var t = typeof b, c; - return b == null || t === "boolean" ? constant(b) - : (t === "number" ? number - : t === "string" ? ((c = d3Color.color(b)) ? (b = c, rgb$1) : string) - : b instanceof d3Color.color ? rgb$1 - : Array.isArray(b) ? array - : object)(a, b); - } - - function round(a, b) { - return a = +a, b -= a, function(t) { - return Math.round(a + b * t); - }; - } - - var rad2deg = 180 / Math.PI; - - var identity = { - translateX: 0, - translateY: 0, - rotate: 0, - skewX: 0, - scaleX: 1, - scaleY: 1 + var formatOriginalPosition = function(source, line, column, name) { + // mimic chrome's format + return " at " + (name ? name : "(unknown)") + + " (" + source + ":" + line + ":" + column + ")"; }; - function decompose(a, b, c, d, e, f) { - if (a * d === b * c) return null; - - var scaleX = Math.sqrt(a * a + b * b); - a /= scaleX, b /= scaleX; - - var skewX = a * c + b * d; - c -= a * skewX, d -= b * skewX; - - var scaleY = Math.sqrt(c * c + d * d); - c /= scaleY, d /= scaleY, skewX /= scaleY; - - if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; - - return { - translateX: e, - translateY: f, - rotate: Math.atan2(b, a) * rad2deg, - skewX: Math.atan(skewX) * rad2deg, - scaleX: scaleX, - scaleY: scaleY - }; - } - - var cssNode; - var cssRoot; - var cssView; - var svgNode; - function parseCss(value) { - if (value === "none") return identity; - if (!cssNode) cssNode = document.createElement("DIV"), cssRoot = document.documentElement, cssView = document.defaultView; - cssNode.style.transform = value; - value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue("transform"); - cssRoot.removeChild(cssNode); - var m = value.slice(7, -1).split(","); - return decompose(+m[0], +m[1], +m[2], +m[3], +m[4], +m[5]); - } - - function parseSvg(value) { - if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); - svgNode.setAttribute("transform", value == null ? "" : value); - var m = svgNode.transform.baseVal.consolidate().matrix; - return decompose(m.a, m.b, m.c, m.d, m.e, m.f); - } - - function interpolateTransform(parse, pxComma, pxParen, degParen) { - - function pop(s) { - return s.length ? s.pop() + " " : ""; - } - - function translate(xa, ya, xb, yb, s, q) { - if (xa !== xb || ya !== yb) { - var i = s.push("translate(", null, pxComma, null, pxParen); - q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); - } else if (xb || yb) { - s.push("translate(" + xb + pxComma + yb + pxParen); - } - } - - function rotate(a, b, s, q) { - if (a !== b) { - if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path - q.push({i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b)}); - } else if (b) { - s.push(pop(s) + "rotate(" + b + degParen); - } - } - - function skewX(a, b, s, q) { - if (a !== b) { - q.push({i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b)}); - } else if (b) { - s.push(pop(s) + "skewX(" + b + degParen); - } - } - - function scale(xa, ya, xb, yb, s, q) { - if (xa !== xb || ya !== yb) { - var i = s.push(pop(s) + "scale(", null, ",", null, ")"); - q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); - } else if (xb !== 1 || yb !== 1) { - s.push(pop(s) + "scale(" + xb + "," + yb + ")"); - } - } - - return function(a, b) { - var s = [], // string constants and placeholders - q = []; // number interpolators - a = parse(a), b = parse(b); - translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); - rotate(a.rotate, b.rotate, s, q); - skewX(a.skewX, b.skewX, s, q); - scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); - a = b = null; // gc - return function(t) { - var i = -1, n = q.length, o; - while (++i < n) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; - }; - } - - var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); - var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); - - var rho = Math.SQRT2; - var rho2 = 2; - var rho4 = 4; - var epsilon2 = 1e-12; - function cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; - } - - function sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; - } - - function tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); - } - - // p0 = [ux0, uy0, w0] - // p1 = [ux1, uy1, w1] - function zoom(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], - ux1 = p1[0], uy1 = p1[1], w1 = p1[2], - dx = ux1 - ux0, - dy = uy1 - uy0, - d2 = dx * dx + dy * dy, - i, - S; - - // Special case for u0 ≅ u1. - if (d2 < epsilon2) { - S = Math.log(w1 / w0) / rho; - i = function(t) { - return [ - ux0 + t * dx, - uy0 + t * dy, - w0 * Math.exp(rho * t * S) - ]; - } - } + // xmlhttprequest boilerplate + var XMLHttpFactories = [ + function () {return new XMLHttpRequest();}, + function () {return new ActiveXObject("Msxml2.XMLHTTP");}, + function () {return new ActiveXObject("Msxml3.XMLHTTP");}, + function () {return new ActiveXObject("Microsoft.XMLHTTP");} + ]; - // General case. - else { - var d1 = Math.sqrt(d2), - b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), - b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), - r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), - r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1); - S = (r1 - r0) / rho; - i = function(t) { - var s = t * S, - coshr0 = cosh(r0), - u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0)); - return [ - ux0 + u * dx, - uy0 + u * dy, - w0 * coshr0 / cosh(rho * s + r0) - ]; + function createXMLHTTPObject() { + var xmlhttp = false; + for (var i=0;i> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00 - : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000 - : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0) - : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%) - : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1) - : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1) - : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%) - : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1) - : named.hasOwnProperty(format) ? rgbn(named[format]) - : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) - : null; - } - - function rgbn(n) { - return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1); - } - - function rgba(r, g, b, a) { - if (a <= 0) r = g = b = NaN; - return new Rgb(r, g, b, a); - } - - function rgbConvert(o) { - if (!(o instanceof Color)) o = color(o); - if (!o) return new Rgb; - o = o.rgb(); - return new Rgb(o.r, o.g, o.b, o.opacity); - } - - function rgb(r, g, b, opacity) { - return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); - } - - function Rgb(r, g, b, opacity) { - this.r = +r; - this.g = +g; - this.b = +b; - this.opacity = +opacity; - } - - define(Rgb, rgb, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); - }, - rgb: function() { - return this; - }, - displayable: function() { - return (0 <= this.r && this.r <= 255) - && (0 <= this.g && this.g <= 255) - && (0 <= this.b && this.b <= 255) - && (0 <= this.opacity && this.opacity <= 1); - }, - toString: function() { - var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a)); - return (a === 1 ? "rgb(" : "rgba(") - + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " - + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " - + Math.max(0, Math.min(255, Math.round(this.b) || 0)) - + (a === 1 ? ")" : ", " + a + ")"); - } - })); - - function hsla(h, s, l, a) { - if (a <= 0) h = s = l = NaN; - else if (l <= 0 || l >= 1) h = s = NaN; - else if (s <= 0) h = NaN; - return new Hsl(h, s, l, a); - } - - function hslConvert(o) { - if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); - if (!(o instanceof Color)) o = color(o); - if (!o) return new Hsl; - if (o instanceof Hsl) return o; - o = o.rgb(); - var r = o.r / 255, - g = o.g / 255, - b = o.b / 255, - min = Math.min(r, g, b), - max = Math.max(r, g, b), - h = NaN, - s = max - min, - l = (max + min) / 2; - if (s) { - if (r === max) h = (g - b) / s + (g < b) * 6; - else if (g === max) h = (b - r) / s + 2; - else h = (r - g) / s + 4; - s /= l < 0.5 ? max + min : 2 - max - min; - h *= 60; - } else { - s = l > 0 && l < 1 ? 0 : h; - } - return new Hsl(h, s, l, o.opacity); - } - - function hsl(h, s, l, opacity) { - return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); - } - - function Hsl(h, s, l, opacity) { - this.h = +h; - this.s = +s; - this.l = +l; - this.opacity = +opacity; - } - - define(Hsl, hsl, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Hsl(this.h, this.s, this.l * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Hsl(this.h, this.s, this.l * k, this.opacity); - }, - rgb: function() { - var h = this.h % 360 + (this.h < 0) * 360, - s = isNaN(h) || isNaN(this.s) ? 0 : this.s, - l = this.l, - m2 = l + (l < 0.5 ? l : 1 - l) * s, - m1 = 2 * l - m2; - return new Rgb( - hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), - hsl2rgb(h, m1, m2), - hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), - this.opacity - ); - }, - displayable: function() { - return (0 <= this.s && this.s <= 1 || isNaN(this.s)) - && (0 <= this.l && this.l <= 1) - && (0 <= this.opacity && this.opacity <= 1); - } - })); - - /* From FvD 13.37, CSS Color Module Level 3 */ - function hsl2rgb(h, m1, m2) { - return (h < 60 ? m1 + (m2 - m1) * h / 60 - : h < 180 ? m2 - : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 - : m1) * 255; - } - - var deg2rad = Math.PI / 180; - var rad2deg = 180 / Math.PI; - - var Kn = 18; - var Xn = 0.950470; - var Yn = 1; - var Zn = 1.088830; - var t0 = 4 / 29; - var t1 = 6 / 29; - var t2 = 3 * t1 * t1; - var t3 = t1 * t1 * t1; - function labConvert(o) { - if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity); - if (o instanceof Hcl) { - var h = o.h * deg2rad; - return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity); - } - if (!(o instanceof Rgb)) o = rgbConvert(o); - var b = rgb2xyz(o.r), - a = rgb2xyz(o.g), - l = rgb2xyz(o.b), - x = xyz2lab((0.4124564 * b + 0.3575761 * a + 0.1804375 * l) / Xn), - y = xyz2lab((0.2126729 * b + 0.7151522 * a + 0.0721750 * l) / Yn), - z = xyz2lab((0.0193339 * b + 0.1191920 * a + 0.9503041 * l) / Zn); - return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity); - } - - function lab(l, a, b, opacity) { - return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity); - } - - function Lab(l, a, b, opacity) { - this.l = +l; - this.a = +a; - this.b = +b; - this.opacity = +opacity; - } - - define(Lab, lab, extend(Color, { - brighter: function(k) { - return new Lab(this.l + Kn * (k == null ? 1 : k), this.a, this.b, this.opacity); - }, - darker: function(k) { - return new Lab(this.l - Kn * (k == null ? 1 : k), this.a, this.b, this.opacity); - }, - rgb: function() { - var y = (this.l + 16) / 116, - x = isNaN(this.a) ? y : y + this.a / 500, - z = isNaN(this.b) ? y : y - this.b / 200; - y = Yn * lab2xyz(y); - x = Xn * lab2xyz(x); - z = Zn * lab2xyz(z); - return new Rgb( - xyz2rgb( 3.2404542 * x - 1.5371385 * y - 0.4985314 * z), // D65 -> sRGB - xyz2rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z), - xyz2rgb( 0.0556434 * x - 0.2040259 * y + 1.0572252 * z), - this.opacity - ); - } - })); - - function xyz2lab(t) { - return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0; - } - - function lab2xyz(t) { - return t > t1 ? t * t * t : t2 * (t - t0); - } - - function xyz2rgb(x) { - return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055); - } - - function rgb2xyz(x) { - return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); - } - - function hclConvert(o) { - if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity); - if (!(o instanceof Lab)) o = labConvert(o); - var h = Math.atan2(o.b, o.a) * rad2deg; - return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity); - } - - function hcl(h, c, l, opacity) { - return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity); - } - - function Hcl(h, c, l, opacity) { - this.h = +h; - this.c = +c; - this.l = +l; - this.opacity = +opacity; - } - - define(Hcl, hcl, extend(Color, { - brighter: function(k) { - return new Hcl(this.h, this.c, this.l + Kn * (k == null ? 1 : k), this.opacity); - }, - darker: function(k) { - return new Hcl(this.h, this.c, this.l - Kn * (k == null ? 1 : k), this.opacity); - }, - rgb: function() { - return labConvert(this).rgb(); - } - })); - - var A = -0.14861; - var B = +1.78277; - var C = -0.29227; - var D = -0.90649; - var E = +1.97294; - var ED = E * D; - var EB = E * B; - var BC_DA = B * C - D * A; - function cubehelixConvert(o) { - if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity); - if (!(o instanceof Rgb)) o = rgbConvert(o); - var r = o.r / 255, - g = o.g / 255, - b = o.b / 255, - l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB), - bl = b - l, - k = (E * (g - l) - C * bl) / D, - s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1 - h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN; - return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity); - } - - function cubehelix(h, s, l, opacity) { - return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity); - } - - function Cubehelix(h, s, l, opacity) { - this.h = +h; - this.s = +s; - this.l = +l; - this.opacity = +opacity; - } - - define(Cubehelix, cubehelix, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Cubehelix(this.h, this.s, this.l * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Cubehelix(this.h, this.s, this.l * k, this.opacity); - }, - rgb: function() { - var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad, - l = +this.l, - a = isNaN(this.s) ? 0 : this.s * l * (1 - l), - cosh = Math.cos(h), - sinh = Math.sin(h); - return new Rgb( - 255 * (l + a * (A * cosh + B * sinh)), - 255 * (l + a * (C * cosh + D * sinh)), - 255 * (l + a * (E * cosh)), - this.opacity - ); - } - })); - - var version = "0.4.2"; - - exports.version = version; - exports.color = color; - exports.rgb = rgb; - exports.hsl = hsl; - exports.lab = lab; - exports.hcl = hcl; - exports.cubehelix = cubehelix; - - })); + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ -/***/ }, -/* 12 */ -/***/ function(module, exports, __webpack_require__) { + var util = __webpack_require__(2); + var binarySearch = __webpack_require__(3); + var ArraySet = __webpack_require__(4).ArraySet; + var base64VLQ = __webpack_require__(5); + var quickSort = __webpack_require__(7).quickSort; - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_format = {}))); - }(this, function (exports) { 'use strict'; - - // Computes the decimal coefficient and exponent of the specified number x with - // significant digits p, where x is positive and p is in [1, 21] or undefined. - // For example, formatDecimal(1.23) returns ["123", 0]. - function formatDecimal(x, p) { - if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity - var i, coefficient = x.slice(0, i); - - // The string returned by toExponential either has the form \d\.\d+e[-+]\d+ - // (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3). - return [ - coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, - +x.slice(i + 1) - ]; + function SourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); } - function exponent(x) { - return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN; - } + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap) + : new BasicSourceMapConsumer(sourceMap); + } - function formatGroup(grouping, thousands) { - return function(value, width) { - var i = value.length, - t = [], - j = 0, - g = grouping[0], - length = 0; - - while (i > 0 && g > 0) { - if (length + g + 1 > width) g = Math.max(1, width - length); - t.push(value.substring(i -= g, i + g)); - if ((length += g + 1) > width) break; - g = grouping[j = (j + 1) % grouping.length]; - } + SourceMapConsumer.fromSourceMap = function(aSourceMap) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap); + } - return t.reverse().join(thousands); - }; + /** + * The version of the source mapping spec that we are consuming. + */ + SourceMapConsumer.prototype._version = 3; + + // `__generatedMappings` and `__originalMappings` are arrays that hold the + // parsed mapping coordinates from the source map's "mappings" attribute. They + // are lazily instantiated, accessed via the `_generatedMappings` and + // `_originalMappings` getters respectively, and we only parse the mappings + // and create these arrays once queried for a source location. We jump through + // these hoops because there can be many thousands of mappings, and parsing + // them is expensive, so we only want to do it if we must. + // + // Each object in the arrays is of the form: + // + // { + // generatedLine: The line number in the generated code, + // generatedColumn: The column number in the generated code, + // source: The path to the original source file that generated this + // chunk of code, + // originalLine: The line number in the original source that + // corresponds to this chunk of generated code, + // originalColumn: The column number in the original source that + // corresponds to this chunk of generated code, + // name: The name of the original symbol which generated this chunk of + // code. + // } + // + // All properties except for `generatedLine` and `generatedColumn` can be + // `null`. + // + // `_generatedMappings` is ordered by the generated positions. + // + // `_originalMappings` is ordered by the original positions. + + SourceMapConsumer.prototype.__generatedMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; } + }); - function formatDefault(x, p) { - x = x.toPrecision(p); - - out: for (var n = x.length, i = 1, i0 = -1, i1; i < n; ++i) { - switch (x[i]) { - case ".": i0 = i1 = i; break; - case "0": if (i0 === 0) i0 = i; i1 = i; break; - case "e": break out; - default: if (i0 > 0) i0 = 0; break; - } + SourceMapConsumer.prototype.__originalMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); } - return i0 > 0 ? x.slice(0, i0) + x.slice(i1 + 1) : x; - } - - var prefixExponent; - - function formatPrefixAuto(x, p) { - var d = formatDecimal(x, p); - if (!d) return x + ""; - var coefficient = d[0], - exponent = d[1], - i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, - n = coefficient.length; - return i === n ? coefficient - : i > n ? coefficient + new Array(i - n + 1).join("0") - : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) - : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y! - } - - function formatRounded(x, p) { - var d = formatDecimal(x, p); - if (!d) return x + ""; - var coefficient = d[0], - exponent = d[1]; - return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient - : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1) - : coefficient + new Array(exponent - coefficient.length + 2).join("0"); + return this.__originalMappings; } + }); - var formatTypes = { - "": formatDefault, - "%": function(x, p) { return (x * 100).toFixed(p); }, - "b": function(x) { return Math.round(x).toString(2); }, - "c": function(x) { return x + ""; }, - "d": function(x) { return Math.round(x).toString(10); }, - "e": function(x, p) { return x.toExponential(p); }, - "f": function(x, p) { return x.toFixed(p); }, - "g": function(x, p) { return x.toPrecision(p); }, - "o": function(x) { return Math.round(x).toString(8); }, - "p": function(x, p) { return formatRounded(x * 100, p); }, - "r": formatRounded, - "s": formatPrefixAuto, - "X": function(x) { return Math.round(x).toString(16).toUpperCase(); }, - "x": function(x) { return Math.round(x).toString(16); } + SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; }; - // [[fill]align][sign][symbol][0][width][,][.precision][type] - var re = /^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i; - - function formatSpecifier(specifier) { - return new FormatSpecifier(specifier); - } - - function FormatSpecifier(specifier) { - if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier); - - var match, - fill = match[1] || " ", - align = match[2] || ">", - sign = match[3] || "-", - symbol = match[4] || "", - zero = !!match[5], - width = match[6] && +match[6], - comma = !!match[7], - precision = match[8] && +match[8].slice(1), - type = match[9] || ""; - - // The "n" type is an alias for ",g". - if (type === "n") comma = true, type = "g"; - - // Map invalid types to the default format. - else if (!formatTypes[type]) type = ""; - - // If zero fill is specified, padding goes after sign and before digits. - if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "="; - - this.fill = fill; - this.align = align; - this.sign = sign; - this.symbol = symbol; - this.zero = zero; - this.width = width; - this.comma = comma; - this.precision = precision; - this.type = type; - } - - FormatSpecifier.prototype.toString = function() { - return this.fill - + this.align - + this.sign - + this.symbol - + (this.zero ? "0" : "") - + (this.width == null ? "" : Math.max(1, this.width | 0)) - + (this.comma ? "," : "") - + (this.precision == null ? "" : "." + Math.max(0, this.precision | 0)) - + this.type; + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); }; - var prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"]; - - function identity(x) { - return x; - } - - function locale(locale) { - var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity, - currency = locale.currency, - decimal = locale.decimal; - - function newFormat(specifier) { - specifier = formatSpecifier(specifier); - - var fill = specifier.fill, - align = specifier.align, - sign = specifier.sign, - symbol = specifier.symbol, - zero = specifier.zero, - width = specifier.width, - comma = specifier.comma, - precision = specifier.precision, - type = specifier.type; - - // Compute the prefix and suffix. - // For SI-prefix, the suffix is lazily computed. - var prefix = symbol === "$" ? currency[0] : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "", - suffix = symbol === "$" ? currency[1] : /[%p]/.test(type) ? "%" : ""; - - // What format function should we use? - // Is this an integer type? - // Can this type generate exponential notation? - var formatType = formatTypes[type], - maybeSuffix = !type || /[defgprs%]/.test(type); - - // Set the default precision if not specified, - // or clamp the specified precision to the supported range. - // For significant precision, it must be in [1, 21]. - // For fixed precision, it must be in [0, 20]. - precision = precision == null ? (type ? 6 : 12) - : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) - : Math.max(0, Math.min(20, precision)); - - function format(value) { - var valuePrefix = prefix, - valueSuffix = suffix, - i, n, c; - - if (type === "c") { - valueSuffix = formatType(value) + valueSuffix; - value = ""; - } else { - value = +value; - - // Convert negative to positive, and compute the prefix. - // Note that -0 is not less than 0, but 1 / -0 is! - var valueNegative = (value < 0 || 1 / value < 0) && (value *= -1, true); - - // Perform the initial formatting. - value = formatType(value, precision); - - // If the original value was negative, it may be rounded to zero during - // formatting; treat this as (positive) zero. - if (valueNegative) { - i = -1, n = value.length; - valueNegative = false; - while (++i < n) { - if (c = value.charCodeAt(i), (48 < c && c < 58) - || (type === "x" && 96 < c && c < 103) - || (type === "X" && 64 < c && c < 71)) { - valueNegative = true; - break; - } - } - } - - // Compute the prefix and suffix. - valuePrefix = (valueNegative ? (sign === "(" ? sign : "-") : sign === "-" || sign === "(" ? "" : sign) + valuePrefix; - valueSuffix = valueSuffix + (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + (valueNegative && sign === "(" ? ")" : ""); - - // Break the formatted value into the integer “value” part that can be - // grouped, and fractional or exponential “suffix” part that is not. - if (maybeSuffix) { - i = -1, n = value.length; - while (++i < n) { - if (c = value.charCodeAt(i), 48 > c || c > 57) { - valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix; - value = value.slice(0, i); - break; - } - } - } - } - - // If the fill character is not "0", grouping is applied before padding. - if (comma && !zero) value = group(value, Infinity); - - // Compute the padding. - var length = valuePrefix.length + value.length + valueSuffix.length, - padding = length < width ? new Array(width - length + 1).join(fill) : ""; + SourceMapConsumer.GENERATED_ORDER = 1; + SourceMapConsumer.ORIGINAL_ORDER = 2; - // If the fill character is "0", grouping is applied after padding. - if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = ""; + SourceMapConsumer.GREATEST_LOWER_BOUND = 1; + SourceMapConsumer.LEAST_UPPER_BOUND = 2; - // Reconstruct the final output based on the desired alignment. - switch (align) { - case "<": return valuePrefix + value + valueSuffix + padding; - case "=": return valuePrefix + padding + value + valueSuffix; - case "^": return padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); - } - return padding + valuePrefix + value + valueSuffix; - } - - format.toString = function() { - return specifier + ""; - }; - - return format; + /** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ + SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); } - function formatPrefix(specifier, value) { - var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)), - e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3, - k = Math.pow(10, -e), - prefix = prefixes[8 + e / 3]; - return function(value) { - return f(k * value) + prefix; + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + if (source != null && sourceRoot != null) { + source = util.join(sourceRoot, source); + } + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) }; - } - - return { - format: newFormat, - formatPrefix: formatPrefix - }; - } - - var defaultLocale = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["$", ""] - }); - - var caES = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); - - var csCZ = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0Kč"] - }); - - var deCH = locale({ - decimal: ",", - thousands: "'", - grouping: [3], - currency: ["", "\xa0CHF"] - }); - - var deDE = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); - - var enCA = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["$", ""] - }); - - var enGB = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["£", ""] - }); - - var esES = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); - - var fiFI = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0€"] - }); - - var frCA = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "$"] - }); - - var frFR = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); - - var heIL = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["₪", ""] - }); - - var huHU = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0Ft"] - }); - - var itIT = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["€", ""] - }); - - var jaJP = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["", "円"] - }); - - var koKR = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["₩", ""] - }); - - var mkMK = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0ден."] - }); - - var nlNL = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["€\xa0", ""] - }); - - var plPL = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "zł"] - }); + }, this).forEach(aCallback, context); + }; - var ptBR = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["R$", ""] - }); - - var ruRU = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0руб."] - }); - - var svSE = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "SEK"] - }); - - var zhCN = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["¥", ""] - }); - - function precisionFixed(step) { - return Math.max(0, -exponent(Math.abs(step))); - } - - function precisionPrefix(step, value) { - return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step))); - } - - function precisionRound(step, max) { - step = Math.abs(step), max = Math.abs(max) - step; - return Math.max(0, exponent(max) - exponent(step)) + 1; - } - - var format = defaultLocale.format; - var formatPrefix = defaultLocale.formatPrefix; - - var version = "0.5.1"; - - exports.version = version; - exports.format = format; - exports.formatPrefix = formatPrefix; - exports.formatLocale = locale; - exports.formatCaEs = caES; - exports.formatCsCz = csCZ; - exports.formatDeCh = deCH; - exports.formatDeDe = deDE; - exports.formatEnCa = enCA; - exports.formatEnGb = enGB; - exports.formatEnUs = defaultLocale; - exports.formatEsEs = esES; - exports.formatFiFi = fiFI; - exports.formatFrCa = frCA; - exports.formatFrFr = frFR; - exports.formatHeIl = heIL; - exports.formatHuHu = huHU; - exports.formatItIt = itIT; - exports.formatJaJp = jaJP; - exports.formatKoKr = koKR; - exports.formatMkMk = mkMK; - exports.formatNlNl = nlNL; - exports.formatPlPl = plPL; - exports.formatPtBr = ptBR; - exports.formatRuRu = ruRU; - exports.formatSvSe = svSE; - exports.formatZhCn = zhCN; - exports.formatSpecifier = formatSpecifier; - exports.precisionFixed = precisionFixed; - exports.precisionPrefix = precisionPrefix; - exports.precisionRound = precisionRound; - - })); - -/***/ }, -/* 13 */ -/***/ function(module, exports, __webpack_require__) { - - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_time = global.d3_time || {}))); - }(this, function (exports) { 'use strict'; - - var t0 = new Date; - var t1 = new Date; - function newInterval(floori, offseti, count, field) { - - function interval(date) { - return floori(date = new Date(+date)), date; - } - - interval.floor = interval; - - interval.ceil = function(date) { - return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date; - }; - - interval.round = function(date) { - var d0 = interval(date), - d1 = interval.ceil(date); - return date - d0 < d1 - date ? d0 : d1; - }; - - interval.offset = function(date, step) { - return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date; - }; - - interval.range = function(start, stop, step) { - var range = []; - start = interval.ceil(start); - step = step == null ? 1 : Math.floor(step); - if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date - do range.push(new Date(+start)); while (offseti(start, step), floori(start), start < stop) - return range; - }; - - interval.filter = function(test) { - return newInterval(function(date) { - while (floori(date), !test(date)) date.setTime(date - 1); - }, function(date, step) { - while (--step >= 0) while (offseti(date, 1), !test(date)); - }); - }; - - if (count) { - interval.count = function(start, end) { - t0.setTime(+start), t1.setTime(+end); - floori(t0), floori(t1); - return Math.floor(count(t0, t1)); - }; - - interval.every = function(step) { - step = Math.floor(step); - return !isFinite(step) || !(step > 0) ? null - : !(step > 1) ? interval - : interval.filter(field - ? function(d) { return field(d) % step === 0; } - : function(d) { return interval.count(0, d) % step === 0; }); - }; - } - - return interval; - } - - var millisecond = newInterval(function() { - // noop - }, function(date, step) { - date.setTime(+date + step); - }, function(start, end) { - return end - start; - }); - - // An optimized implementation for this simple case. - millisecond.every = function(k) { - k = Math.floor(k); - if (!isFinite(k) || !(k > 0)) return null; - if (!(k > 1)) return millisecond; - return newInterval(function(date) { - date.setTime(Math.floor(date / k) * k); - }, function(date, step) { - date.setTime(+date + step * k); - }, function(start, end) { - return (end - start) / k; - }); - }; - - var second$1 = 1e3; - var minute = 6e4; - var hour = 36e5; - var day = 864e5; - var week = 6048e5; - - var second = newInterval(function(date) { - date.setTime(Math.floor(date / second$1) * second$1); - }, function(date, step) { - date.setTime(+date + step * second$1); - }, function(start, end) { - return (end - start) / second$1; - }, function(date) { - return date.getUTCSeconds(); - }); - - var minute$1 = newInterval(function(date) { - date.setTime(Math.floor(date / minute) * minute); - }, function(date, step) { - date.setTime(+date + step * minute); - }, function(start, end) { - return (end - start) / minute; - }, function(date) { - return date.getMinutes(); - }); - - var hour$1 = newInterval(function(date) { - var offset = date.getTimezoneOffset() * minute % hour; - if (offset < 0) offset += hour; - date.setTime(Math.floor((+date - offset) / hour) * hour + offset); - }, function(date, step) { - date.setTime(+date + step * hour); - }, function(start, end) { - return (end - start) / hour; - }, function(date) { - return date.getHours(); - }); - - var day$1 = newInterval(function(date) { - date.setHours(0, 0, 0, 0); - }, function(date, step) { - date.setDate(date.getDate() + step); - }, function(start, end) { - return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * minute) / day; - }, function(date) { - return date.getDate() - 1; - }); - - function weekday(i) { - return newInterval(function(date) { - date.setHours(0, 0, 0, 0); - date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7); - }, function(date, step) { - date.setDate(date.getDate() + step * 7); - }, function(start, end) { - return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * minute) / week; - }); - } - - var sunday = weekday(0); - var monday = weekday(1); - var tuesday = weekday(2); - var wednesday = weekday(3); - var thursday = weekday(4); - var friday = weekday(5); - var saturday = weekday(6); - - var month = newInterval(function(date) { - date.setHours(0, 0, 0, 0); - date.setDate(1); - }, function(date, step) { - date.setMonth(date.getMonth() + step); - }, function(start, end) { - return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12; - }, function(date) { - return date.getMonth(); - }); - - var year = newInterval(function(date) { - date.setHours(0, 0, 0, 0); - date.setMonth(0, 1); - }, function(date, step) { - date.setFullYear(date.getFullYear() + step); - }, function(start, end) { - return end.getFullYear() - start.getFullYear(); - }, function(date) { - return date.getFullYear(); - }); - - var utcMinute = newInterval(function(date) { - date.setUTCSeconds(0, 0); - }, function(date, step) { - date.setTime(+date + step * minute); - }, function(start, end) { - return (end - start) / minute; - }, function(date) { - return date.getUTCMinutes(); - }); - - var utcHour = newInterval(function(date) { - date.setUTCMinutes(0, 0, 0); - }, function(date, step) { - date.setTime(+date + step * hour); - }, function(start, end) { - return (end - start) / hour; - }, function(date) { - return date.getUTCHours(); - }); - - var utcDay = newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - }, function(date, step) { - date.setUTCDate(date.getUTCDate() + step); - }, function(start, end) { - return (end - start) / day; - }, function(date) { - return date.getUTCDate() - 1; - }); - - function utcWeekday(i) { - return newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7); - }, function(date, step) { - date.setUTCDate(date.getUTCDate() + step * 7); - }, function(start, end) { - return (end - start) / week; - }); - } - - var utcSunday = utcWeekday(0); - var utcMonday = utcWeekday(1); - var utcTuesday = utcWeekday(2); - var utcWednesday = utcWeekday(3); - var utcThursday = utcWeekday(4); - var utcFriday = utcWeekday(5); - var utcSaturday = utcWeekday(6); - - var utcMonth = newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - date.setUTCDate(1); - }, function(date, step) { - date.setUTCMonth(date.getUTCMonth() + step); - }, function(start, end) { - return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12; - }, function(date) { - return date.getUTCMonth(); - }); - - var utcYear = newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - date.setUTCMonth(0, 1); - }, function(date, step) { - date.setUTCFullYear(date.getUTCFullYear() + step); - }, function(start, end) { - return end.getUTCFullYear() - start.getUTCFullYear(); - }, function(date) { - return date.getUTCFullYear(); - }); - - var timeMilliseconds = millisecond.range; - var timeSeconds = second.range; - var timeMinutes = minute$1.range; - var timeHours = hour$1.range; - var timeDays = day$1.range; - var timeSundays = sunday.range; - var timeMondays = monday.range; - var timeTuesdays = tuesday.range; - var timeWednesdays = wednesday.range; - var timeThursdays = thursday.range; - var timeFridays = friday.range; - var timeSaturdays = saturday.range; - var timeWeeks = sunday.range; - var timeMonths = month.range; - var timeYears = year.range; - - var utcMillisecond = millisecond; - var utcMilliseconds = timeMilliseconds; - var utcSecond = second; - var utcSeconds = timeSeconds; - var utcMinutes = utcMinute.range; - var utcHours = utcHour.range; - var utcDays = utcDay.range; - var utcSundays = utcSunday.range; - var utcMondays = utcMonday.range; - var utcTuesdays = utcTuesday.range; - var utcWednesdays = utcWednesday.range; - var utcThursdays = utcThursday.range; - var utcFridays = utcFriday.range; - var utcSaturdays = utcSaturday.range; - var utcWeeks = utcSunday.range; - var utcMonths = utcMonth.range; - var utcYears = utcYear.range; - - var version = "0.2.5"; - - exports.version = version; - exports.timeMilliseconds = timeMilliseconds; - exports.timeSeconds = timeSeconds; - exports.timeMinutes = timeMinutes; - exports.timeHours = timeHours; - exports.timeDays = timeDays; - exports.timeSundays = timeSundays; - exports.timeMondays = timeMondays; - exports.timeTuesdays = timeTuesdays; - exports.timeWednesdays = timeWednesdays; - exports.timeThursdays = timeThursdays; - exports.timeFridays = timeFridays; - exports.timeSaturdays = timeSaturdays; - exports.timeWeeks = timeWeeks; - exports.timeMonths = timeMonths; - exports.timeYears = timeYears; - exports.utcMillisecond = utcMillisecond; - exports.utcMilliseconds = utcMilliseconds; - exports.utcSecond = utcSecond; - exports.utcSeconds = utcSeconds; - exports.utcMinutes = utcMinutes; - exports.utcHours = utcHours; - exports.utcDays = utcDays; - exports.utcSundays = utcSundays; - exports.utcMondays = utcMondays; - exports.utcTuesdays = utcTuesdays; - exports.utcWednesdays = utcWednesdays; - exports.utcThursdays = utcThursdays; - exports.utcFridays = utcFridays; - exports.utcSaturdays = utcSaturdays; - exports.utcWeeks = utcWeeks; - exports.utcMonths = utcMonths; - exports.utcYears = utcYears; - exports.timeMillisecond = millisecond; - exports.timeSecond = second; - exports.timeMinute = minute$1; - exports.timeHour = hour$1; - exports.timeDay = day$1; - exports.timeSunday = sunday; - exports.timeMonday = monday; - exports.timeTuesday = tuesday; - exports.timeWednesday = wednesday; - exports.timeThursday = thursday; - exports.timeFriday = friday; - exports.timeSaturday = saturday; - exports.timeWeek = sunday; - exports.timeMonth = month; - exports.timeYear = year; - exports.utcMinute = utcMinute; - exports.utcHour = utcHour; - exports.utcDay = utcDay; - exports.utcSunday = utcSunday; - exports.utcMonday = utcMonday; - exports.utcTuesday = utcTuesday; - exports.utcWednesday = utcWednesday; - exports.utcThursday = utcThursday; - exports.utcFriday = utcFriday; - exports.utcSaturday = utcSaturday; - exports.utcWeek = utcSunday; - exports.utcMonth = utcMonth; - exports.utcYear = utcYear; - exports.timeInterval = newInterval; - - })); - -/***/ }, -/* 14 */ -/***/ function(module, exports, __webpack_require__) { - - (function (global, factory) { - true ? factory(exports, __webpack_require__(13)) : - typeof define === 'function' && define.amd ? define(['exports', 'd3-time'], factory) : - (factory((global.d3_time_format = {}),global.d3_time)); - }(this, function (exports,d3Time) { 'use strict'; - - function localDate(d) { - if (0 <= d.y && d.y < 100) { - var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L); - date.setFullYear(d.y); - return date; - } - return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L); - } - - function utcDate(d) { - if (0 <= d.y && d.y < 100) { - var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L)); - date.setUTCFullYear(d.y); - return date; - } - return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L)); - } - - function newYear(y) { - return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0}; - } - - function locale$1(locale) { - var locale_dateTime = locale.dateTime, - locale_date = locale.date, - locale_time = locale.time, - locale_periods = locale.periods, - locale_weekdays = locale.days, - locale_shortWeekdays = locale.shortDays, - locale_months = locale.months, - locale_shortMonths = locale.shortMonths; - - var periodRe = formatRe(locale_periods), - periodLookup = formatLookup(locale_periods), - weekdayRe = formatRe(locale_weekdays), - weekdayLookup = formatLookup(locale_weekdays), - shortWeekdayRe = formatRe(locale_shortWeekdays), - shortWeekdayLookup = formatLookup(locale_shortWeekdays), - monthRe = formatRe(locale_months), - monthLookup = formatLookup(locale_months), - shortMonthRe = formatRe(locale_shortMonths), - shortMonthLookup = formatLookup(locale_shortMonths); - - var formats = { - "a": formatShortWeekday, - "A": formatWeekday, - "b": formatShortMonth, - "B": formatMonth, - "c": null, - "d": formatDayOfMonth, - "e": formatDayOfMonth, - "H": formatHour24, - "I": formatHour12, - "j": formatDayOfYear, - "L": formatMilliseconds, - "m": formatMonthNumber, - "M": formatMinutes, - "p": formatPeriod, - "S": formatSeconds, - "U": formatWeekNumberSunday, - "w": formatWeekdayNumber, - "W": formatWeekNumberMonday, - "x": null, - "X": null, - "y": formatYear, - "Y": formatFullYear, - "Z": formatZone, - "%": formatLiteralPercent - }; - - var utcFormats = { - "a": formatUTCShortWeekday, - "A": formatUTCWeekday, - "b": formatUTCShortMonth, - "B": formatUTCMonth, - "c": null, - "d": formatUTCDayOfMonth, - "e": formatUTCDayOfMonth, - "H": formatUTCHour24, - "I": formatUTCHour12, - "j": formatUTCDayOfYear, - "L": formatUTCMilliseconds, - "m": formatUTCMonthNumber, - "M": formatUTCMinutes, - "p": formatUTCPeriod, - "S": formatUTCSeconds, - "U": formatUTCWeekNumberSunday, - "w": formatUTCWeekdayNumber, - "W": formatUTCWeekNumberMonday, - "x": null, - "X": null, - "y": formatUTCYear, - "Y": formatUTCFullYear, - "Z": formatUTCZone, - "%": formatLiteralPercent - }; - - var parses = { - "a": parseShortWeekday, - "A": parseWeekday, - "b": parseShortMonth, - "B": parseMonth, - "c": parseLocaleDateTime, - "d": parseDayOfMonth, - "e": parseDayOfMonth, - "H": parseHour24, - "I": parseHour24, - "j": parseDayOfYear, - "L": parseMilliseconds, - "m": parseMonthNumber, - "M": parseMinutes, - "p": parsePeriod, - "S": parseSeconds, - "U": parseWeekNumberSunday, - "w": parseWeekdayNumber, - "W": parseWeekNumberMonday, - "x": parseLocaleDate, - "X": parseLocaleTime, - "y": parseYear, - "Y": parseFullYear, - "Z": parseZone, - "%": parseLiteralPercent - }; - - // These recursive directive definitions must be deferred. - formats.x = newFormat(locale_date, formats); - formats.X = newFormat(locale_time, formats); - formats.c = newFormat(locale_dateTime, formats); - utcFormats.x = newFormat(locale_date, utcFormats); - utcFormats.X = newFormat(locale_time, utcFormats); - utcFormats.c = newFormat(locale_dateTime, utcFormats); - - function newFormat(specifier, formats) { - return function(date) { - var string = [], - i = -1, - j = 0, - n = specifier.length, - c, - pad, - format; - - if (!(date instanceof Date)) date = new Date(+date); - - while (++i < n) { - if (specifier.charCodeAt(i) === 37) { - string.push(specifier.slice(j, i)); - if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i); - else pad = c === "e" ? " " : "0"; - if (format = formats[c]) c = format(date, pad); - string.push(c); - j = i + 1; - } - } - - string.push(specifier.slice(j, i)); - return string.join(""); - }; - } - - function newParse(specifier, newDate) { - return function(string) { - var d = newYear(1900), - i = parseSpecifier(d, specifier, string += "", 0); - if (i != string.length) return null; - - // The am-pm flag is 0 for AM, and 1 for PM. - if ("p" in d) d.H = d.H % 12 + d.p * 12; - - // Convert day-of-week and week-of-year to day-of-year. - if ("W" in d || "U" in d) { - if (!("w" in d)) d.w = "W" in d ? 1 : 0; - var day = "Z" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay(); - d.m = 0; - d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7; - } - - // If a time zone is specified, all fields are interpreted as UTC and then - // offset according to the specified time zone. - if ("Z" in d) { - d.H += d.Z / 100 | 0; - d.M += d.Z % 100; - return utcDate(d); - } - - // Otherwise, all fields are in local time. - return newDate(d); - }; - } - - function parseSpecifier(d, specifier, string, j) { - var i = 0, - n = specifier.length, - m = string.length, - c, - parse; - - while (i < n) { - if (j >= m) return -1; - c = specifier.charCodeAt(i++); - if (c === 37) { - c = specifier.charAt(i++); - parse = parses[c in pads ? specifier.charAt(i++) : c]; - if (!parse || ((j = parse(d, string, j)) < 0)) return -1; - } else if (c != string.charCodeAt(j++)) { - return -1; - } - } - - return j; - } - - function parsePeriod(d, string, i) { - var n = periodRe.exec(string.slice(i)); - return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } - - function parseShortWeekday(d, string, i) { - var n = shortWeekdayRe.exec(string.slice(i)); - return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } - - function parseWeekday(d, string, i) { - var n = weekdayRe.exec(string.slice(i)); - return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } - - function parseShortMonth(d, string, i) { - var n = shortMonthRe.exec(string.slice(i)); - return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } - - function parseMonth(d, string, i) { - var n = monthRe.exec(string.slice(i)); - return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } - - function parseLocaleDateTime(d, string, i) { - return parseSpecifier(d, locale_dateTime, string, i); - } - - function parseLocaleDate(d, string, i) { - return parseSpecifier(d, locale_date, string, i); - } - - function parseLocaleTime(d, string, i) { - return parseSpecifier(d, locale_time, string, i); - } - - function formatShortWeekday(d) { - return locale_shortWeekdays[d.getDay()]; - } - - function formatWeekday(d) { - return locale_weekdays[d.getDay()]; - } - - function formatShortMonth(d) { - return locale_shortMonths[d.getMonth()]; - } - - function formatMonth(d) { - return locale_months[d.getMonth()]; - } - - function formatPeriod(d) { - return locale_periods[+(d.getHours() >= 12)]; - } - - function formatUTCShortWeekday(d) { - return locale_shortWeekdays[d.getUTCDay()]; - } - - function formatUTCWeekday(d) { - return locale_weekdays[d.getUTCDay()]; - } - - function formatUTCShortMonth(d) { - return locale_shortMonths[d.getUTCMonth()]; - } - - function formatUTCMonth(d) { - return locale_months[d.getUTCMonth()]; - } - - function formatUTCPeriod(d) { - return locale_periods[+(d.getUTCHours() >= 12)]; - } - - return { - format: function(specifier) { - var f = newFormat(specifier += "", formats); - f.toString = function() { return specifier; }; - return f; - }, - parse: function(specifier) { - var p = newParse(specifier += "", localDate); - p.toString = function() { return specifier; }; - return p; - }, - utcFormat: function(specifier) { - var f = newFormat(specifier += "", utcFormats); - f.toString = function() { return specifier; }; - return f; - }, - utcParse: function(specifier) { - var p = newParse(specifier, utcDate); - p.toString = function() { return specifier; }; - return p; - } - }; - } - - var pads = {"-": "", "_": " ", "0": "0"}; - var numberRe = /^\s*\d+/; - var percentRe = /^%/; - var requoteRe = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - function pad(value, fill, width) { - var sign = value < 0 ? "-" : "", - string = (sign ? -value : value) + "", - length = string.length; - return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); - } - - function requote(s) { - return s.replace(requoteRe, "\\$&"); - } - - function formatRe(names) { - return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i"); - } - - function formatLookup(names) { - var map = {}, i = -1, n = names.length; - while (++i < n) map[names[i].toLowerCase()] = i; - return map; - } - - function parseWeekdayNumber(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 1)); - return n ? (d.w = +n[0], i + n[0].length) : -1; - } - - function parseWeekNumberSunday(d, string, i) { - var n = numberRe.exec(string.slice(i)); - return n ? (d.U = +n[0], i + n[0].length) : -1; - } - - function parseWeekNumberMonday(d, string, i) { - var n = numberRe.exec(string.slice(i)); - return n ? (d.W = +n[0], i + n[0].length) : -1; - } - - function parseFullYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 4)); - return n ? (d.y = +n[0], i + n[0].length) : -1; - } - - function parseYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1; - } - - function parseZone(d, string, i) { - var n = /^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i, i + 6)); - return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1; - } - - function parseMonthNumber(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.m = n[0] - 1, i + n[0].length) : -1; - } - - function parseDayOfMonth(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.d = +n[0], i + n[0].length) : -1; - } - - function parseDayOfYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 3)); - return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1; - } - - function parseHour24(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.H = +n[0], i + n[0].length) : -1; - } - - function parseMinutes(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.M = +n[0], i + n[0].length) : -1; - } - - function parseSeconds(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.S = +n[0], i + n[0].length) : -1; - } - - function parseMilliseconds(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 3)); - return n ? (d.L = +n[0], i + n[0].length) : -1; - } - - function parseLiteralPercent(d, string, i) { - var n = percentRe.exec(string.slice(i, i + 1)); - return n ? i + n[0].length : -1; - } - - function formatDayOfMonth(d, p) { - return pad(d.getDate(), p, 2); - } - - function formatHour24(d, p) { - return pad(d.getHours(), p, 2); - } - - function formatHour12(d, p) { - return pad(d.getHours() % 12 || 12, p, 2); - } - - function formatDayOfYear(d, p) { - return pad(1 + d3Time.timeDay.count(d3Time.timeYear(d), d), p, 3); - } - - function formatMilliseconds(d, p) { - return pad(d.getMilliseconds(), p, 3); - } - - function formatMonthNumber(d, p) { - return pad(d.getMonth() + 1, p, 2); - } - - function formatMinutes(d, p) { - return pad(d.getMinutes(), p, 2); - } - - function formatSeconds(d, p) { - return pad(d.getSeconds(), p, 2); - } - - function formatWeekNumberSunday(d, p) { - return pad(d3Time.timeSunday.count(d3Time.timeYear(d), d), p, 2); - } - - function formatWeekdayNumber(d) { - return d.getDay(); - } - - function formatWeekNumberMonday(d, p) { - return pad(d3Time.timeMonday.count(d3Time.timeYear(d), d), p, 2); - } - - function formatYear(d, p) { - return pad(d.getFullYear() % 100, p, 2); - } - - function formatFullYear(d, p) { - return pad(d.getFullYear() % 10000, p, 4); - } - - function formatZone(d) { - var z = d.getTimezoneOffset(); - return (z > 0 ? "-" : (z *= -1, "+")) - + pad(z / 60 | 0, "0", 2) - + pad(z % 60, "0", 2); - } - - function formatUTCDayOfMonth(d, p) { - return pad(d.getUTCDate(), p, 2); - } - - function formatUTCHour24(d, p) { - return pad(d.getUTCHours(), p, 2); - } - - function formatUTCHour12(d, p) { - return pad(d.getUTCHours() % 12 || 12, p, 2); - } - - function formatUTCDayOfYear(d, p) { - return pad(1 + d3Time.utcDay.count(d3Time.utcYear(d), d), p, 3); - } - - function formatUTCMilliseconds(d, p) { - return pad(d.getUTCMilliseconds(), p, 3); - } - - function formatUTCMonthNumber(d, p) { - return pad(d.getUTCMonth() + 1, p, 2); - } - - function formatUTCMinutes(d, p) { - return pad(d.getUTCMinutes(), p, 2); - } - - function formatUTCSeconds(d, p) { - return pad(d.getUTCSeconds(), p, 2); - } - - function formatUTCWeekNumberSunday(d, p) { - return pad(d3Time.utcSunday.count(d3Time.utcYear(d), d), p, 2); - } - - function formatUTCWeekdayNumber(d) { - return d.getUTCDay(); - } - - function formatUTCWeekNumberMonday(d, p) { - return pad(d3Time.utcMonday.count(d3Time.utcYear(d), d), p, 2); - } - - function formatUTCYear(d, p) { - return pad(d.getUTCFullYear() % 100, p, 2); - } - - function formatUTCFullYear(d, p) { - return pad(d.getUTCFullYear() % 10000, p, 4); - } - - function formatUTCZone() { - return "+0000"; - } - - function formatLiteralPercent() { - return "%"; - } - - var locale = locale$1({ - dateTime: "%a %b %e %X %Y", - date: "%m/%d/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] - }); - - var caES = locale$1({ - dateTime: "%A, %e de %B de %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte"], - shortDays: ["dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."], - months: ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"], - shortMonths: ["gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."] - }); - - var deCH = locale$1({ - dateTime: "%A, der %e. %B %Y, %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], - shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], - months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], - shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] - }); - - var deDE = locale$1({ - dateTime: "%A, der %e. %B %Y, %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], - shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], - months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], - shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] - }); - - var enCA = locale$1({ - dateTime: "%a %b %e %X %Y", - date: "%Y-%m-%d", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] - }); - - var enGB = locale$1({ - dateTime: "%a %e %b %X %Y", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] - }); - - var esES = locale$1({ - dateTime: "%A, %e de %B de %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"], - shortDays: ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"], - months: ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"], - shortMonths: ["ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"] - }); - - var fiFI = locale$1({ - dateTime: "%A, %-d. %Bta %Y klo %X", - date: "%-d.%-m.%Y", - time: "%H:%M:%S", - periods: ["a.m.", "p.m."], - days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"], - shortDays: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"], - months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], - shortMonths: ["Tammi", "Helmi", "Maalis", "Huhti", "Touko", "Kesä", "Heinä", "Elo", "Syys", "Loka", "Marras", "Joulu"] - }); - - var frCA = locale$1({ - dateTime: "%a %e %b %Y %X", - date: "%Y-%m-%d", - time: "%H:%M:%S", - periods: ["", ""], - days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], - shortDays: ["dim", "lun", "mar", "mer", "jeu", "ven", "sam"], - months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], - shortMonths: ["jan", "fév", "mar", "avr", "mai", "jui", "jul", "aoû", "sep", "oct", "nov", "déc"] - }); - - var frFR = locale$1({ - dateTime: "%A, le %e %B %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], - shortDays: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], - months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], - shortMonths: ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."] - }); - - var heIL = locale$1({ - dateTime: "%A, %e ב%B %Y %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], - shortDays: ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"], - months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], - shortMonths: ["ינו׳", "פבר׳", "מרץ", "אפר׳", "מאי", "יוני", "יולי", "אוג׳", "ספט׳", "אוק׳", "נוב׳", "דצמ׳"] - }); - - var huHU = locale$1({ - dateTime: "%Y. %B %-e., %A %X", - date: "%Y. %m. %d.", - time: "%H:%M:%S", - periods: ["de.", "du."], // unused - days: ["vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"], - shortDays: ["V", "H", "K", "Sze", "Cs", "P", "Szo"], - months: ["január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"], - shortMonths: ["jan.", "feb.", "már.", "ápr.", "máj.", "jún.", "júl.", "aug.", "szept.", "okt.", "nov.", "dec."] - }); - - var itIT = locale$1({ - dateTime: "%A %e %B %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], - shortDays: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"], - months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], - shortMonths: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"] - }); - - var jaJP = locale$1({ - dateTime: "%Y %b %e %a %X", - date: "%Y/%m/%d", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], - shortDays: ["日", "月", "火", "水", "木", "金", "土"], - months: ["睦月", "如月", "弥生", "卯月", "皐月", "水無月", "文月", "葉月", "長月", "神無月", "霜月", "師走"], - shortMonths: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"] - }); - - var koKR = locale$1({ - dateTime: "%Y/%m/%d %a %X", - date: "%Y/%m/%d", - time: "%H:%M:%S", - periods: ["오전", "오후"], - days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"], - shortDays: ["일", "월", "화", "수", "목", "금", "토"], - months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], - shortMonths: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] - }); - - var mkMK = locale$1({ - dateTime: "%A, %e %B %Y г. %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["недела", "понеделник", "вторник", "среда", "четврток", "петок", "сабота"], - shortDays: ["нед", "пон", "вто", "сре", "чет", "пет", "саб"], - months: ["јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември"], - shortMonths: ["јан", "фев", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "ное", "дек"] - }); - - var nlNL = locale$1({ - dateTime: "%a %e %B %Y %T", - date: "%d-%m-%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"], - shortDays: ["zo", "ma", "di", "wo", "do", "vr", "za"], - months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"], - shortMonths: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"] - }); - - var plPL = locale$1({ - dateTime: "%A, %e %B %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"], - shortDays: ["Niedz.", "Pon.", "Wt.", "Śr.", "Czw.", "Pt.", "Sob."], - months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], - shortMonths: ["Stycz.", "Luty", "Marz.", "Kwie.", "Maj", "Czerw.", "Lipc.", "Sierp.", "Wrz.", "Paźdz.", "Listop.", "Grudz."]/* In Polish language abbraviated months are not commonly used so there is a dispute about the proper abbraviations. */ - }); - - var ptBR = locale$1({ - dateTime: "%A, %e de %B de %Y. %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], - shortDays: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], - months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], - shortMonths: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"] - }); - - var ruRU = locale$1({ - dateTime: "%A, %e %B %Y г. %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота"], - shortDays: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"], - months: ["января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"], - shortMonths: ["янв", "фев", "мар", "апр", "май", "июн", "июл", "авг", "сен", "окт", "ноя", "дек"] - }); - - var svSE = locale$1({ - dateTime: "%A den %d %B %Y %X", - date: "%Y-%m-%d", - time: "%H:%M:%S", - periods: ["fm", "em"], - days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"], - shortDays: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"], - months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], - shortMonths: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"] - }); - - var zhCN = locale$1({ - dateTime: "%a %b %e %X %Y", - date: "%Y/%-m/%-d", - time: "%H:%M:%S", - periods: ["上午", "下午"], - days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], - shortDays: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], - months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - shortMonths: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"] - }); - - var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ"; - - function formatIsoNative(date) { - return date.toISOString(); - } - - var formatIso = Date.prototype.toISOString - ? formatIsoNative - : locale.utcFormat(isoSpecifier); - - function parseIsoNative(string) { - var date = new Date(string); - return isNaN(date) ? null : date; - } - - var parseIso = +new Date("2000-01-01T00:00:00.000Z") - ? parseIsoNative - : locale.utcParse(isoSpecifier); - - var timeFormat = locale.format; - var timeParse = locale.parse; - var utcFormat = locale.utcFormat; - var utcParse = locale.utcParse; - - var version = "0.3.1"; - - exports.version = version; - exports.timeFormat = timeFormat; - exports.timeParse = timeParse; - exports.utcFormat = utcFormat; - exports.utcParse = utcParse; - exports.timeFormatLocale = locale$1; - exports.timeFormatCaEs = caES; - exports.timeFormatDeCh = deCH; - exports.timeFormatDeDe = deDE; - exports.timeFormatEnCa = enCA; - exports.timeFormatEnGb = enGB; - exports.timeFormatEnUs = locale; - exports.timeFormatEsEs = esES; - exports.timeFormatFiFi = fiFI; - exports.timeFormatFrCa = frCA; - exports.timeFormatFrFr = frFR; - exports.timeFormatHeIl = heIL; - exports.timeFormatHuHu = huHU; - exports.timeFormatItIt = itIT; - exports.timeFormatJaJp = jaJP; - exports.timeFormatKoKr = koKR; - exports.timeFormatMkMk = mkMK; - exports.timeFormatNlNl = nlNL; - exports.timeFormatPlPl = plPL; - exports.timeFormatPtBr = ptBR; - exports.timeFormatRuRu = ruRU; - exports.timeFormatSvSe = svSE; - exports.timeFormatZhCn = zhCN; - exports.isoFormat = formatIso; - exports.isoParse = parseIso; - - })); - -/***/ }, -/* 15 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _commonProps = __webpack_require__(5); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var ChartTitle = function (_Component) { - _inherits(ChartTitle, _Component); - - function ChartTitle(props) { - _classCallCheck(this, ChartTitle); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartTitle).call(this, props)); - } - - _createClass(ChartTitle, [{ - key: 'render', - value: function render() { - var _props = this.props; - var titleClassName = _props.titleClassName; - var title = _props.title; - var width = _props.width; - - - var titleStyle = { - width: width, - textAlign: 'center', - fontSize: '2em', - paddingBottom: '1.3em' - }; - - return _react2.default.createElement( - 'div', - { - style: titleStyle, - className: titleClassName - }, - title - ); - } - }]); - - return ChartTitle; - }(_react.Component); - - ChartTitle.defaultProps = _extends({ - titleClassName: 'react-d3-core__container_title', - title: '' - }, _commonProps2.default); - ChartTitle.propTypes = { - width: _react.PropTypes.number.isRequired, - title: _react.PropTypes.string, - titleClassName: _react.PropTypes.string - }; - exports.default = ChartTitle; - -/***/ }, -/* 16 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _svg = __webpack_require__(4); - - var _svg2 = _interopRequireDefault(_svg); - - var _legend = __webpack_require__(17); - - var _legend2 = _interopRequireDefault(_legend); - - var _commonProps = __webpack_require__(5); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var ChartContainer = function (_Component) { - _inherits(ChartContainer, _Component); - - function ChartContainer(props) { - _classCallCheck(this, ChartContainer); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartContainer).call(this, props)); - } - - _createClass(ChartContainer, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var chartSeries = _props.chartSeries; - - - var legend; - - var divStyle = { - width: width - }; - - if (chartSeries) { - legend = _react2.default.createElement(_legend2.default, _extends({}, this.props, { - chartSeries: chartSeries - })); - } - - return _react2.default.createElement( - 'div', - { style: divStyle }, - legend, - _react2.default.createElement(_svg2.default, this.props) - ); - } - }]); - - return ChartContainer; - }(_react.Component); - - ChartContainer.defaultProps = _commonProps2.default; - exports.default = ChartContainer; - -/***/ }, -/* 17 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _d3Selection = __webpack_require__(18); - - var _d3Selection2 = _interopRequireDefault(_d3Selection); - - var _d3Scale = __webpack_require__(7); - - var _d3Scale2 = _interopRequireDefault(_d3Scale); - - var _reactFauxDom = __webpack_require__(19); - - var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); - - var _commonProps = __webpack_require__(5); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var Legend = function (_Component) { - _inherits(Legend, _Component); - - function Legend(props) { - _classCallCheck(this, Legend); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Legend).call(this, props)); - } - - _createClass(Legend, [{ - key: '_radius', - value: function _radius(swatchShape) { - return swatchShape === 'circle' ? 18 : 0; - } - }, { - key: '_series', - value: function _series(props) { - var chartSeries = props.chartSeries; - var categoricalColors = props.categoricalColors; - - - var colors = categoricalColors || _d3Scale2.default.scaleCategory10(); - - return chartSeries.map(function (_ref, i) { - var name = _ref.name; - var color = _ref.color; - var field = _ref.field; - return { - color: color || colors(i), - name: name || field, - field: field - }; - }); - } - }, { - key: '_mkLegend', - value: function _mkLegend(dom) { - var _props = this.props; - var legendClassName = _props.legendClassName; - var backgroundColor = _props.backgroundColor; - var legendPosition = _props.legendPosition; - var legendOffset = _props.legendOffset; - var swatchShape = _props.swatchShape; - var chartSeries = _props.chartSeries; - var margins = _props.margins; - var width = _props.width; - - - var legendArea = _d3Selection2.default.select(dom); - var series = this._series(this.props); - var radius = this._radius(swatchShape); - - // make legends - var legend = legendArea.selectAll('div').data(series).enter().append("div").attr("class", legendClassName + ' legend').style("height", 20).style("padding", 5).style("background-color", backgroundColor).style("display", "inline-block"); - - var rect = legend.append("div").style("width", 18).style("height", 18).style("border-radius", radius).style("background-color", function (d) { - return d.color; - }).style("float", legendPosition); - - var text = legend.append("div").style("padding-left", 5).style("padding-right", 5).text(function (d) { - return d.name; - }).style("float", legendPosition); - - return legendArea; - } - }, { - key: 'render', - value: function render() { - var _props2 = this.props; - var legendClassName = _props2.legendClassName; - var width = _props2.width; - var height = _props2.height; - - - var legendGroup = _reactFauxDom2.default.createElement('div'); - var legendClasses = legendClassName + ' legend'; - - legendGroup.setAttribute('class', legendClasses); - legendGroup.style.width = width; - legendGroup.style.textAlign = 'center'; - - return this._mkLegend(legendGroup).node().toReact(); - } - }]); - - return Legend; - }(_react.Component); - - Legend.defaultProps = _extends({ - backgroundColor: '#FFF', - legendHeight: 50, - legendPosition: 'left', - legendOffset: 90, - legendClassName: 'react-d3-core__legend', - swatchShape: 'square' - }, _commonProps2.default); - Legend.propTypes = { - backgroundColor: _react.PropTypes.string, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - chartSeries: _react.PropTypes.array.isRequired, - legendOffset: _react.PropTypes.number.isRequired, - legendClassName: _react.PropTypes.string.isRequired, - legendPosition: _react.PropTypes.oneOf(['left', 'right']).isRequired, - swatchShape: _react.PropTypes.oneOf(['circle', 'square']) - }; - exports.default = Legend; - -/***/ }, -/* 18 */ -/***/ function(module, exports, __webpack_require__) { - - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_selection = global.d3_selection || {}))); - }(this, function (exports) { 'use strict'; - - var xhtml = "http://www.w3.org/1999/xhtml"; - - var namespaces = { - svg: "http://www.w3.org/2000/svg", - xhtml: xhtml, - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }; - - function namespace(name) { - var prefix = name += "", i = prefix.indexOf(":"); - if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); - return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; - } - - function creatorInherit(name) { - return function() { - var document = this.ownerDocument, - uri = this.namespaceURI; - return uri === xhtml && document.documentElement.namespaceURI === xhtml - ? document.createElement(name) - : document.createElementNS(uri, name); - }; - } - - function creatorFixed(fullname) { - return function() { - return this.ownerDocument.createElementNS(fullname.space, fullname.local); - }; - } - - function creator(name) { - var fullname = namespace(name); - return (fullname.local - ? creatorFixed - : creatorInherit)(fullname); - } - - var matcher = function(selector) { - return function() { - return this.matches(selector); - }; - }; - - if (typeof document !== "undefined") { - var element = document.documentElement; - if (!element.matches) { - var vendorMatches = element.webkitMatchesSelector - || element.msMatchesSelector - || element.mozMatchesSelector - || element.oMatchesSelector; - matcher = function(selector) { - return function() { - return vendorMatches.call(this, selector); - }; - }; - } - } - - var matcher$1 = matcher; - - var filterEvents = {}; - - exports.event = null; - - if (typeof document !== "undefined") { - var element$1 = document.documentElement; - if (!("onmouseenter" in element$1)) { - filterEvents = {mouseenter: "mouseover", mouseleave: "mouseout"}; - } - } - - function filterContextListener(listener, index, group) { - listener = contextListener(listener, index, group); - return function(event) { - var related = event.relatedTarget; - if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) { - listener.call(this, event); - } - }; - } - - function contextListener(listener, index, group) { - return function(event1) { - var event0 = exports.event; // Events can be reentrant (e.g., focus). - exports.event = event1; - try { - listener.call(this, this.__data__, index, group); - } finally { - exports.event = event0; - } - }; - } - - function parseTypenames(typenames) { - return typenames.trim().split(/^|\s+/).map(function(t) { - var name = "", i = t.indexOf("."); - if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); - return {type: t, name: name}; - }); - } - - function onRemove(typename) { - return function() { - var on = this.__on; - if (!on) return; - for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { - if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { - this.removeEventListener(o.type, o.listener, o.capture); - } else { - on[++i] = o; - } - } - if (++i) on.length = i; - else delete this.__on; - }; - } - - function onAdd(typename, value, capture) { - var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener; - return function(d, i, group) { - var on = this.__on, o, listener = wrap(value, i, group); - if (on) for (var j = 0, m = on.length; j < m; ++j) { - if ((o = on[j]).type === typename.type && o.name === typename.name) { - this.removeEventListener(o.type, o.listener, o.capture); - this.addEventListener(o.type, o.listener = listener, o.capture = capture); - o.value = value; - return; - } - } - this.addEventListener(typename.type, listener, capture); - o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture}; - if (!on) this.__on = [o]; - else on.push(o); - }; - } - - function selection_on(typename, value, capture) { - var typenames = parseTypenames(typename + ""), i, n = typenames.length, t; - - if (arguments.length < 2) { - var on = this.node().__on; - if (on) for (var j = 0, m = on.length, o; j < m; ++j) { - for (i = 0, o = on[j]; i < n; ++i) { - if ((t = typenames[i]).type === o.type && t.name === o.name) { - return o.value; - } - } - } - return; - } - - on = value ? onAdd : onRemove; - if (capture == null) capture = false; - for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture)); - return this; - } - - function sourceEvent() { - var current = exports.event, source; - while (source = current.sourceEvent) current = source; - return current; - } - - function defaultView(node) { - return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node - || (node.document && node) // node is a Window - || node.defaultView; // node is a Document - } - - function selector(selector) { - return function() { - return this.querySelector(selector); - }; - } - - function selection_select(select) { - if (typeof select !== "function") select = selector(select); - - for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { - if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { - if ("__data__" in node) subnode.__data__ = node.__data__; - subgroup[i] = subnode; - } - } - } - - return new Selection(subgroups, this._parents); - } - - function selectorAll(selector) { - return function() { - return this.querySelectorAll(selector); - }; - } - - function selection_selectAll(select) { - if (typeof select !== "function") select = selectorAll(select); - - for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { - if (node = group[i]) { - subgroups.push(select.call(node, node.__data__, i, group)); - parents.push(node); - } - } - } - - return new Selection(subgroups, parents); - } - - function selection_filter(match) { - if (typeof match !== "function") match = matcher$1(match); - - for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, i = 0; i < n; ++i) { - if ((node = group[i]) && match.call(node, node.__data__, i, group)) { - subgroup[i] = node; - } - } - } - - return new Selection(subgroups, this._parents); - } - - function constant(x) { - return function() { - return x; - }; - } - - var keyPrefix = "$"; // Protect against keys like “__proto__”. - - function bindIndex(parent, group, enter, update, exit, data) { - var i = 0, - node, - groupLength = group.length, - dataLength = data.length; - - // Put any non-null nodes that fit into update. - // Put any null nodes into enter. - // Put any remaining data into enter. - for (; i < dataLength; ++i) { - if (node = group[i]) { - node.__data__ = data[i]; - update[i] = node; - } else { - enter[i] = new EnterNode(parent, data[i]); - } - } - - // Put any non-null nodes that don’t fit into exit. - for (; i < groupLength; ++i) { - if (node = group[i]) { - exit[i] = node; - } - } - } - - function bindKey(parent, group, enter, update, exit, data, key) { - var i, - node, - nodeByKeyValue = {}, - groupLength = group.length, - dataLength = data.length, - keyValues = new Array(groupLength), - keyValue; - - // Compute the key for each node. - // If multiple nodes have the same key, only the first one counts. - for (i = 0; i < groupLength; ++i) { - if (node = group[i]) { - keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group); - if (!nodeByKeyValue[keyValue]) { - nodeByKeyValue[keyValue] = node; - } - } - } - - // Compute the key for each datum. - // If multiple data have the same key, only the first one counts. - for (i = 0; i < dataLength; ++i) { - keyValue = keyPrefix + key.call(parent, data[i], i, data); - - // Is there a node associated with this key? - // If not, this datum is added to the enter selection. - if (!(node = nodeByKeyValue[keyValue])) { - enter[i] = new EnterNode(parent, data[i]); - } - - // Did we already bind a node using this key? (Or is a duplicate?) - // If unique, the node and datum are joined in the update selection. - // Otherwise, the datum is ignored, neither entering nor exiting. - else if (node !== true) { - update[i] = node; - node.__data__ = data[i]; - } - - // Record that we consumed this key, either to enter or update. - nodeByKeyValue[keyValue] = true; - } - - // Take any remaining nodes that were not bound to data, - // and place them in the exit selection. - for (i = 0; i < groupLength; ++i) { - if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] !== true)) { - exit[i] = node; - } - } - } - - function selection_data(value, key) { - if (!value) { - data = new Array(this.size()), j = -1; - this.each(function(d) { data[++j] = d; }); - return data; - } - - var bind = key ? bindKey : bindIndex, - parents = this._parents, - groups = this._groups; - - if (typeof value !== "function") value = constant(value); - - for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { - var parent = parents[j], - group = groups[j], - groupLength = group.length, - data = value.call(parent, parent && parent.__data__, j, parents), - dataLength = data.length, - enterGroup = enter[j] = new Array(dataLength), - updateGroup = update[j] = new Array(dataLength), - exitGroup = exit[j] = new Array(groupLength); - - bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); - - // Now connect the enter nodes to their following update node, such that - // appendChild can insert the materialized enter node before this node, - // rather than at the end of the parent node. - for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { - if (previous = enterGroup[i0]) { - if (i0 >= i1) i1 = i0 + 1; - while (!(next = updateGroup[i1]) && ++i1 < dataLength); - previous._next = next || null; - } - } - } - - update = new Selection(update, parents); - update._enter = enter; - update._exit = exit; - return update; - } - - function EnterNode(parent, datum) { - this.ownerDocument = parent.ownerDocument; - this.namespaceURI = parent.namespaceURI; - this._next = null; - this._parent = parent; - this.__data__ = datum; - } - - EnterNode.prototype = { - constructor: EnterNode, - appendChild: function(child) { return this._parent.insertBefore(child, this._next); }, - insertBefore: function(child, next) { return this._parent.insertBefore(child, next); }, - querySelector: function(selector) { return this._parent.querySelector(selector); }, - querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); } - }; - - function sparse(update) { - return new Array(update.length); - } - - function selection_enter() { - return new Selection(this._enter || this._groups.map(sparse), this._parents); - } - - function selection_exit() { - return new Selection(this._exit || this._groups.map(sparse), this._parents); - } - - function selection_merge(selection) { - - for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { - for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { - if (node = group0[i] || group1[i]) { - merge[i] = node; - } - } - } - - for (; j < m0; ++j) { - merges[j] = groups0[j]; - } - - return new Selection(merges, this._parents); - } - - function selection_order() { - - for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) { - for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) { - if (node = group[i]) { - if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next); - next = node; - } - } - } - - return this; - } - - function selection_sort(compare) { - if (!compare) compare = ascending; - - function compareNode(a, b) { - return a && b ? compare(a.__data__, b.__data__) : !a - !b; - } - - for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { - if (node = group[i]) { - sortgroup[i] = node; - } - } - sortgroup.sort(compareNode); - } - - return new Selection(sortgroups, this._parents).order(); - } - - function ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - - function selection_call() { - var callback = arguments[0]; - arguments[0] = this; - callback.apply(null, arguments); - return this; - } - - function selection_nodes() { - var nodes = new Array(this.size()), i = -1; - this.each(function() { nodes[++i] = this; }); - return nodes; - } - - function selection_node() { - - for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { - for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { - var node = group[i]; - if (node) return node; - } - } - - return null; - } - - function selection_size() { - var size = 0; - this.each(function() { ++size; }); - return size; - } - - function selection_empty() { - return !this.node(); - } - - function selection_each(callback) { - - for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { - for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { - if (node = group[i]) callback.call(node, node.__data__, i, group); - } - } - - return this; - } - - function attrRemove(name) { - return function() { - this.removeAttribute(name); - }; - } - - function attrRemoveNS(fullname) { - return function() { - this.removeAttributeNS(fullname.space, fullname.local); - }; - } - - function attrConstant(name, value) { - return function() { - this.setAttribute(name, value); - }; - } - - function attrConstantNS(fullname, value) { - return function() { - this.setAttributeNS(fullname.space, fullname.local, value); - }; - } - - function attrFunction(name, value) { - return function() { - var v = value.apply(this, arguments); - if (v == null) this.removeAttribute(name); - else this.setAttribute(name, v); - }; - } - - function attrFunctionNS(fullname, value) { - return function() { - var v = value.apply(this, arguments); - if (v == null) this.removeAttributeNS(fullname.space, fullname.local); - else this.setAttributeNS(fullname.space, fullname.local, v); - }; - } - - function selection_attr(name, value) { - var fullname = namespace(name); - - if (arguments.length < 2) { - var node = this.node(); - return fullname.local - ? node.getAttributeNS(fullname.space, fullname.local) - : node.getAttribute(fullname); - } - - return this.each((value == null - ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === "function" - ? (fullname.local ? attrFunctionNS : attrFunction) - : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value)); - } - - function styleRemove(name) { - return function() { - this.style.removeProperty(name); - }; - } - - function styleConstant(name, value, priority) { - return function() { - this.style.setProperty(name, value, priority); - }; - } - - function styleFunction(name, value, priority) { - return function() { - var v = value.apply(this, arguments); - if (v == null) this.style.removeProperty(name); - else this.style.setProperty(name, v, priority); - }; - } - - function selection_style(name, value, priority) { - var node; - return arguments.length > 1 - ? this.each((value == null - ? styleRemove : typeof value === "function" - ? styleFunction - : styleConstant)(name, value, priority == null ? "" : priority)) - : defaultView(node = this.node()) - .getComputedStyle(node, null) - .getPropertyValue(name); - } - - function propertyRemove(name) { - return function() { - delete this[name]; - }; - } - - function propertyConstant(name, value) { - return function() { - this[name] = value; - }; - } - - function propertyFunction(name, value) { - return function() { - var v = value.apply(this, arguments); - if (v == null) delete this[name]; - else this[name] = v; - }; - } - - function selection_property(name, value) { - return arguments.length > 1 - ? this.each((value == null - ? propertyRemove : typeof value === "function" - ? propertyFunction - : propertyConstant)(name, value)) - : this.node()[name]; - } - - function classArray(string) { - return string.trim().split(/^|\s+/); - } - - function classList(node) { - return node.classList || new ClassList(node); - } - - function ClassList(node) { - this._node = node; - this._names = classArray(node.getAttribute("class") || ""); - } - - ClassList.prototype = { - add: function(name) { - var i = this._names.indexOf(name); - if (i < 0) { - this._names.push(name); - this._node.setAttribute("class", this._names.join(" ")); - } - }, - remove: function(name) { - var i = this._names.indexOf(name); - if (i >= 0) { - this._names.splice(i, 1); - this._node.setAttribute("class", this._names.join(" ")); - } - }, - contains: function(name) { - return this._names.indexOf(name) >= 0; - } - }; - - function classedAdd(node, names) { - var list = classList(node), i = -1, n = names.length; - while (++i < n) list.add(names[i]); - } - - function classedRemove(node, names) { - var list = classList(node), i = -1, n = names.length; - while (++i < n) list.remove(names[i]); - } - - function classedTrue(names) { - return function() { - classedAdd(this, names); - }; - } - - function classedFalse(names) { - return function() { - classedRemove(this, names); - }; - } - - function classedFunction(names, value) { - return function() { - (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); - }; - } - - function selection_classed(name, value) { - var names = classArray(name + ""); - - if (arguments.length < 2) { - var list = classList(this.node()), i = -1, n = names.length; - while (++i < n) if (!list.contains(names[i])) return false; - return true; - } - - return this.each((typeof value === "function" - ? classedFunction : value - ? classedTrue - : classedFalse)(names, value)); - } - - function textRemove() { - this.textContent = ""; - } - - function textConstant(value) { - return function() { - this.textContent = value; - }; - } - - function textFunction(value) { - return function() { - var v = value.apply(this, arguments); - this.textContent = v == null ? "" : v; - }; - } - - function selection_text(value) { - return arguments.length - ? this.each(value == null - ? textRemove : (typeof value === "function" - ? textFunction - : textConstant)(value)) - : this.node().textContent; - } - - function htmlRemove() { - this.innerHTML = ""; - } - - function htmlConstant(value) { - return function() { - this.innerHTML = value; - }; - } - - function htmlFunction(value) { - return function() { - var v = value.apply(this, arguments); - this.innerHTML = v == null ? "" : v; - }; - } - - function selection_html(value) { - return arguments.length - ? this.each(value == null - ? htmlRemove : (typeof value === "function" - ? htmlFunction - : htmlConstant)(value)) - : this.node().innerHTML; - } - - function raise() { - this.parentNode.appendChild(this); - } - - function selection_raise() { - return this.each(raise); - } - - function lower() { - this.parentNode.insertBefore(this, this.parentNode.firstChild); - } - - function selection_lower() { - return this.each(lower); - } - - function append(create) { - return function() { - return this.appendChild(create.apply(this, arguments)); - }; - } - - function insert(create, select) { - return function() { - return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); - }; - } - - function constantNull() { - return null; - } - - function selection_append(name, before) { - var create = typeof name === "function" ? name : creator(name); - return this.select(arguments.length < 2 - ? append(create) - : insert(create, before == null - ? constantNull : typeof before === "function" - ? before - : selector(before))); - } - - function remove() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - } - - function selection_remove() { - return this.each(remove); - } - - function selection_datum(value) { - return arguments.length - ? this.property("__data__", value) - : this.node().__data__; - } - - function dispatchEvent(node, type, params) { - var window = defaultView(node), - event = window.CustomEvent; - - if (event) { - event = new event(type, params); - } else { - event = window.document.createEvent("Event"); - if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; - else event.initEvent(type, false, false); - } - - node.dispatchEvent(event); - } - - function dispatchConstant(type, params) { - return function() { - return dispatchEvent(this, type, params); - }; - } - - function dispatchFunction(type, params) { - return function() { - return dispatchEvent(this, type, params.apply(this, arguments)); - }; - } - - function selection_dispatch(type, params) { - return this.each((typeof params === "function" - ? dispatchFunction - : dispatchConstant)(type, params)); - } - - var root = [null]; - - function Selection(groups, parents) { - this._groups = groups; - this._parents = parents; - } - - function selection() { - return new Selection([[document.documentElement]], root); - } - - Selection.prototype = selection.prototype = { - constructor: Selection, - select: selection_select, - selectAll: selection_selectAll, - filter: selection_filter, - data: selection_data, - enter: selection_enter, - exit: selection_exit, - merge: selection_merge, - order: selection_order, - sort: selection_sort, - call: selection_call, - nodes: selection_nodes, - node: selection_node, - size: selection_size, - empty: selection_empty, - each: selection_each, - attr: selection_attr, - style: selection_style, - property: selection_property, - classed: selection_classed, - text: selection_text, - html: selection_html, - raise: selection_raise, - lower: selection_lower, - append: selection_append, - remove: selection_remove, - datum: selection_datum, - on: selection_on, - dispatch: selection_dispatch - }; - - function select(selector) { - return typeof selector === "string" - ? new Selection([[document.querySelector(selector)]], [document.documentElement]) - : new Selection([[selector]], root); - } - - var bug44083 = typeof navigator !== "undefined" && /WebKit/.test(navigator.userAgent) ? -1 : 0; // https://bugs.webkit.org/show_bug.cgi?id=44083 - - function point(node, event) { - var svg = node.ownerSVGElement || node; - - if (svg.createSVGPoint) { - var point = svg.createSVGPoint(); - - if (bug44083 < 0) { - var window = defaultView(node); - if (window.scrollX || window.scrollY) { - svg = select(window.document.body).append("svg").style({position: "absolute", top: 0, left: 0, margin: 0, padding: 0, border: "none"}, "important"); - var ctm = svg.node().getScreenCTM(); - bug44083 = !(ctm.f || ctm.e); - svg.remove(); - } - } - - if (bug44083) point.x = event.pageX, point.y = event.pageY; - else point.x = event.clientX, point.y = event.clientY; - - point = point.matrixTransform(node.getScreenCTM().inverse()); - return [point.x, point.y]; - } - - var rect = node.getBoundingClientRect(); - return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; - } - - function mouse(node, event) { - if (event == null) event = sourceEvent(); - if (event.changedTouches) event = event.changedTouches[0]; - return point(node, event); - } - - function selectAll(selector) { - return typeof selector === "string" - ? new Selection([document.querySelectorAll(selector)], [document.documentElement]) - : new Selection([selector], root); - } - - function touch(node, touches, identifier) { - if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches; - - for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) { - if ((touch = touches[i]).identifier === identifier) { - return point(node, touch); - } - } - - return null; - } - - function touches(node, touches) { - if (touches == null) touches = sourceEvent().touches; - - for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) { - points[i] = point(node, touches[i]); - } - - return points; - } - - var version = "0.7.0"; - - exports.version = version; - exports.creator = creator; - exports.matcher = matcher$1; - exports.mouse = mouse; - exports.namespace = namespace; - exports.namespaces = namespaces; - exports.select = select; - exports.selectAll = selectAll; - exports.selection = selection; - exports.selector = selector; - exports.selectorAll = selectorAll; - exports.touch = touch; - exports.touches = touches; - exports.window = defaultView; - - })); - -/***/ }, -/* 19 */ -/***/ function(module, exports, __webpack_require__) { - - var Element = __webpack_require__(20) - var Window = __webpack_require__(32) - - var ReactFauxDOM = { - Element: Element, - defaultView: Window, - createElement: function (nodeName) { - return new Element(nodeName) - }, - createElementNS: function (namespace, nodeName) { - return this.createElement(nodeName) - }, - compareDocumentPosition: function () { - // The selector engine tries to validate with this, but we don't care. - // 8 = DOCUMENT_POSITION_CONTAINS, so we say all nodes are in this document. - return 8 - } - } - - Element.prototype.ownerDocument = ReactFauxDOM - - module.exports = ReactFauxDOM - - -/***/ }, -/* 20 */ -/***/ function(module, exports, __webpack_require__) { - - var React = __webpack_require__(2) - var styleAttr = __webpack_require__(21) - var querySelectorAll = __webpack_require__(22) - var camelCase = __webpack_require__(26) - var isString = __webpack_require__(27) - var isUndefined = __webpack_require__(28) - var assign = __webpack_require__(29) - var mapValues = __webpack_require__(30) - var styleCamelCase = __webpack_require__(31) - - function Element (nodeName, parentNode) { - this.nodeName = nodeName - this.parentNode = parentNode - this.childNodes = [] - this.eventListeners = {} - this.text = '' - var props = this.props = { - style: { - setProperty: function (name, value) { - props.style[styleCamelCase(name)] = value - }, - getProperty: function (name) { - return props.style[styleCamelCase(name)] - }, - removeProperty: function (name) { - delete props.style[styleCamelCase(name)] - } - } - } - - this.style = props.style - } - - Element.prototype.nodeType = 1 - - // This was easy to do with Vim. - // Just saying. - Element.prototype.eventNameMappings = { - 'blur': 'onBlur', - 'change': 'onChange', - 'click': 'onClick', - 'contextmenu': 'onContextMenu', - 'copy': 'onCopy', - 'cut': 'onCut', - 'doubleclick': 'onDoubleClick', - 'drag': 'onDrag', - 'dragend': 'onDragEnd', - 'dragenter': 'onDragEnter', - 'dragexit': 'onDragExit', - 'dragleave': 'onDragLeave', - 'dragover': 'onDragOver', - 'dragstart': 'onDragStart', - 'drop': 'onDrop', - 'error': 'onError', - 'focus': 'onFocus', - 'input': 'onInput', - 'keydown': 'onKeyDown', - 'keypress': 'onKeyPress', - 'keyup': 'onKeyUp', - 'load': 'onLoad', - 'mousedown': 'onMouseDown', - 'mouseenter': 'onMouseEnter', - 'mouseleave': 'onMouseLeave', - 'mousemove': 'onMouseMove', - 'mouseout': 'onMouseOut', - 'mouseover': 'onMouseOver', - 'mouseup': 'onMouseUp', - 'paste': 'onPaste', - 'scroll': 'onScroll', - 'submit': 'onSubmit', - 'touchcancel': 'onTouchCancel', - 'touchend': 'onTouchEnd', - 'touchmove': 'onTouchMove', - 'touchstart': 'onTouchStart', - 'wheel': 'onWheel' - } - - Element.prototype.skipNameTransformationExpressions = [ - /^data-/, - /^aria-/ - ] - - Element.prototype.attributeNameMappings = { - 'class': 'className' - } - - Element.prototype.attributeToPropName = function (name) { - var skipTransformMatches = this.skipNameTransformationExpressions.map(function (expr) { - return expr.test(name) - }) - - if (skipTransformMatches.some(Boolean)) { - return name - } else { - return this.attributeNameMappings[name] || camelCase(name) - } - } - - Element.prototype.setAttribute = function (name, value) { - if (name === 'style' && isString(value)) { - var styles = styleAttr.parse(value) - - for (var key in styles) { - this.style.setProperty(key, styles[key]) - } - } else { - this.props[this.attributeToPropName(name)] = value - } - } - - Element.prototype.getAttribute = function (name) { - return this.props[this.attributeToPropName(name)] - } - - Element.prototype.getAttributeNode = function (name) { - var value = this.getAttribute(name) - - if (!isUndefined(value)) { - return { - value: value, - specified: true - } - } - } - - Element.prototype.removeAttribute = function (name) { - delete this.props[this.attributeToPropName(name)] - } - - Element.prototype.eventToPropName = function (name) { - return this.eventNameMappings[name] || name - } - - Element.prototype.addEventListener = function (name, fn) { - var prop = this.eventToPropName(name) - this.eventListeners[prop] = this.eventListeners[prop] || [] - this.eventListeners[prop].push(fn) - } - - Element.prototype.removeEventListener = function (name, fn) { - var listeners = this.eventListeners[this.eventToPropName(name)] - - if (listeners) { - var match = listeners.indexOf(fn) - - if (match !== -1) { - listeners.splice(match, 1) - } - } - } - - Element.prototype.appendChild = function (el) { - el.parentNode = this - this.childNodes.push(el) - return el - } - - Element.prototype.insertBefore = function (el, before) { - var index = this.childNodes.indexOf(before) - el.parentNode = this - - if (index !== -1) { - this.childNodes.splice(index, 0, el) - } else { - this.childNodes.push(el) - } - - return el - } - - Element.prototype.removeChild = function (child) { - var target = this.childNodes.indexOf(child) - this.childNodes.splice(target, 1) - } - - Element.prototype.querySelector = function () { - return this.querySelectorAll.apply(this, arguments)[0] || null - } - - Element.prototype.querySelectorAll = function (selector) { - if (!selector) { - throw new Error('Not enough arguments') - } - - return querySelectorAll(selector, this) - } - - Element.prototype.getElementsByTagName = function (nodeName) { - var children = this.children - - if (children.length === 0) { - return [] - } else { - var matches - - if (nodeName !== '*') { - matches = children.filter(function (el) { - return el.nodeName === nodeName - }) - } else { - matches = children - } - - var childMatches = children.map(function (el) { - return el.getElementsByTagName(nodeName) - }) - - return matches.concat.apply(matches, childMatches) - } - } - - Element.prototype.getElementById = function (id) { - var children = this.children - - if (children.length === 0) { - return null - } else { - var match = children.filter(function (el) { - return el.getAttribute('id') === id - })[0] - - if (match) { - return match - } else { - var childMatches = children.map(function (el) { - return el.getElementById(id) - }) - - return childMatches.filter(function (match) { - return match !== null - })[0] || null - } - } - } - - Element.prototype.toReact = function (index) { - index = index || 0 - var props = assign({}, this.props) - props.style = assign({}, props.style) - - var originalElement = this - - function uniqueKey () { - return 'faux-dom-' + index - } - - if (isUndefined(props.key)) { - props.key = uniqueKey() - } - - delete props.style.setProperty - delete props.style.getProperty - delete props.style.removeProperty - - assign(props, mapValues(this.eventListeners, function (listeners) { - return function (syntheticEvent) { - var event - - if (syntheticEvent) { - event = syntheticEvent.nativeEvent - event.syntheticEvent = syntheticEvent - } - - mapValues(listeners, function (listener) { - listener.call(originalElement, event) - }) - } - })) - - return React.createElement(this.nodeName, props, this.text || this.children.map(function (el, i) { - if (el instanceof Element) { - return el.toReact(i) - } else { - return el - } - })) - } - - Object.defineProperties(Element.prototype, { - nextSibling: { - get: function () { - var siblings = this.parentNode.children - var me = siblings.indexOf(this) - return siblings[me + 1] - } - }, - previousSibling: { - get: function () { - var siblings = this.parentNode.children - var me = siblings.indexOf(this) - return siblings[me - 1] - } - }, - innerHTML: { - get: function () { - return this.text - }, - set: function (text) { - this.text = text - } - }, - textContent: { - get: function () { - return this.text - }, - set: function (text) { - this.text = text - } - }, - children: { - get: function () { - // So far nodes created by this library are all of nodeType 1 (elements), - // but this could change in the future. - return this.childNodes.filter(function (el) { - if (!el.nodeType) { - // It's a React element, we always add it - return true - } - - // It's a HTML node. We want to filter to have only nodes with type 1 - return el.nodeType === 1 - }) - } - } - }) - - // These NS methods are called by things like D3 if it spots a namespace. - // Like xlink:href. I don't care about namespaces, so these functions have NS aliases created. - var namespaceMethods = [ - 'setAttribute', - 'getAttribute', - 'getAttributeNode', - 'removeAttribute', - 'getElementsByTagName', - 'getElementById' - ] - - namespaceMethods.forEach(function (name) { - var fn = Element.prototype[name] - Element.prototype[name + 'NS'] = function () { - return fn.apply(this, Array.prototype.slice.call(arguments, 1)) - } - }) - - module.exports = Element - - -/***/ }, -/* 21 */ -/***/ function(module, exports) { - - - - /* - - style-attr - ==== - - Very simple parsing and stringifying of style attributes. - - `parse` - ---- - - Convert a style attribute string to an object. - - */ - function parse(raw) { - var trim = function (s) { - return s.trim(); - }; - var obj = {}; - - getKeyValueChunks(raw).map(trim).filter(Boolean).forEach(function (item) { - // split with `.indexOf` rather than `.split` because the value may also contain colons. - var pos = item.indexOf(':'); - var key = item.substr(0, pos).trim(); - var val = item.substr(pos + 1).trim(); - - obj[key] = val; - }); - - return obj; - } - - /* - - `getKeyValueChunks` - ---- - - Split a string into chunks matching `: ` - - */ - function getKeyValueChunks(raw) { - var chunks = []; - var offset = 0; - var sep = ';'; - var hasUnclosedUrl = /url\([^\)]+$/; - var chunk = ''; - var nextSplit; - while (offset < raw.length) { - nextSplit = raw.indexOf(sep, offset); - if (nextSplit === -1) { - nextSplit = raw.length; - } - - chunk += raw.substring(offset, nextSplit); - - // data URIs can contain semicolons, so make sure we get the whole thing - if (hasUnclosedUrl.test(chunk)) { - chunk += ';'; - offset = nextSplit + 1; - continue; - } - - chunks.push(chunk); - chunk = ''; - offset = nextSplit + 1; - } - - return chunks; - } - - /* - - `stringify` - ---- - - Convert an object into an attribute string - - */ - function stringify(obj) { - return Object.keys(obj).map(function (key) { - return key + ':' + obj[key]; - }).join(';'); - } - - /* - - `normalize` - ---- - - Normalize an attribute string (eg. collapse duplicates) - - */ - function normalize(str) { - return stringify(parse(str)); - } - - module.exports.parse = parse; - module.exports.stringify = stringify; - module.exports.normalize = normalize; - -/***/ }, -/* 22 */ -/***/ function(module, exports, __webpack_require__) { - - module.exports = __webpack_require__(23); - -/***/ }, -/* 23 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * @ignore - * css3 selector engine for ie6-8 - * @author yiminghe@gmail.com - */ - - var util = __webpack_require__(24); - var parser = __webpack_require__(25); - - var EXPANDO_SELECTOR_KEY = '_ks_data_selector_id_', - caches = {}, - isContextXML, - uuid = 0, - subMatchesCache = {}, - getAttr = function (el, name) { - if (isContextXML) { - return util.getSimpleAttr(el, name); - } else { - return util.attr(el, name); - } - }, - hasSingleClass = util.hasSingleClass, - isTag = util.isTag, - aNPlusB = /^(([+-]?(?:\d+)?)?n)?([+-]?\d+)?$/; - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - var unescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, - unescapeFn = function (_, escaped) { - var high = '0x' + escaped - 0x10000; - // NaN means non-codepoint - return isNaN(high) ? - escaped : - // BMP codepoint - high < 0 ? - String.fromCharCode(high + 0x10000) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00); - }; - - var matchExpr; - - var pseudoFnExpr = { - 'nth-child': function (el, param) { - var ab = getAb(param), - a = ab.a, - b = ab.b; - if (a === 0 && b === 0) { - return 0; - } - var index = 0, - parent = el.parentNode; - if (parent) { - var childNodes = parent.childNodes, - count = 0, - child, - ret, - len = childNodes.length; - for (; count < len; count++) { - child = childNodes[count]; - if (child.nodeType === 1) { - index++; - ret = matchIndexByAb(index, a, b, child === el); - if (ret !== undefined) { - return ret; - } - } - } - } - return 0; - }, - 'nth-last-child': function (el, param) { - var ab = getAb(param), - a = ab.a, - b = ab.b; - if (a === 0 && b === 0) { - return 0; - } - var index = 0, - parent = el.parentNode; - if (parent) { - var childNodes = parent.childNodes, - len = childNodes.length, - count = len - 1, - child, - ret; - for (; count >= 0; count--) { - child = childNodes[count]; - if (child.nodeType === 1) { - index++; - ret = matchIndexByAb(index, a, b, child === el); - if (ret !== undefined) { - return ret; - } - } - } - } - return 0; - }, - 'nth-of-type': function (el, param) { - var ab = getAb(param), - a = ab.a, - b = ab.b; - if (a === 0 && b === 0) { - return 0; - } - var index = 0, - parent = el.parentNode; - if (parent) { - var childNodes = parent.childNodes, - elType = el.tagName, - count = 0, - child, - ret, - len = childNodes.length; - for (; count < len; count++) { - child = childNodes[count]; - if (child.tagName === elType) { - index++; - ret = matchIndexByAb(index, a, b, child === el); - if (ret !== undefined) { - return ret; - } - } - } - } - return 0; - }, - 'nth-last-of-type': function (el, param) { - var ab = getAb(param), - a = ab.a, - b = ab.b; - if (a === 0 && b === 0) { - return 0; - } - var index = 0, - parent = el.parentNode; - if (parent) { - var childNodes = parent.childNodes, - len = childNodes.length, - elType = el.tagName, - count = len - 1, - child, - ret; - for (; count >= 0; count--) { - child = childNodes[count]; - if (child.tagName === elType) { - index++; - ret = matchIndexByAb(index, a, b, child === el); - if (ret !== undefined) { - return ret; - } - } - } - } - return 0; - }, - lang: function (el, lang) { - var elLang; - lang = unEscape(lang.toLowerCase()); - do { - if ((elLang = (isContextXML ? - el.getAttribute('xml:lang') || el.getAttribute('lang') : - el.lang))) { - elLang = elLang.toLowerCase(); - return elLang === lang || elLang.indexOf(lang + '-') === 0; - } - } while ((el = el.parentNode) && el.nodeType === 1); - return false; - }, - not: function (el, negationArg) { - return !matchExpr[negationArg.t](el, negationArg.value); - } - }; - - var pseudoIdentExpr = { - empty: function (el) { - var childNodes = el.childNodes, - index = 0, - len = childNodes.length - 1, - child, - nodeType; - for (; index < len; index++) { - child = childNodes[index]; - nodeType = child.nodeType; - // only element nodes and content nodes - // (such as Dom [Dom-LEVEL-3-CORE] text nodes, - // CDATA nodes, and entity references - if (nodeType === 1 || nodeType === 3 || nodeType === 4 || nodeType === 5) { - return 0; - } - } - return 1; - }, - root: function (el) { - if (el.nodeType === 9) { - return true; - } - return el.ownerDocument && - el === el.ownerDocument.documentElement; - }, - 'first-child': function (el) { - return pseudoFnExpr['nth-child'](el, 1); - }, - 'last-child': function (el) { - return pseudoFnExpr['nth-last-child'](el, 1); - }, - 'first-of-type': function (el) { - return pseudoFnExpr['nth-of-type'](el, 1); - }, - 'last-of-type': function (el) { - return pseudoFnExpr['nth-last-of-type'](el, 1); - }, - 'only-child': function (el) { - return pseudoIdentExpr['first-child'](el) && - pseudoIdentExpr['last-child'](el); - }, - 'only-of-type': function (el) { - return pseudoIdentExpr['first-of-type'](el) && - pseudoIdentExpr['last-of-type'](el); - }, - focus: function (el) { - var doc = el.ownerDocument; - return doc && el === doc.activeElement && - (!doc.hasFocus || doc.hasFocus()) && !!(el.type || el.href || el.tabIndex >= 0); - }, - target: function (el) { - var hash = location.hash; - return hash && hash.slice(1) === getAttr(el, 'id'); - }, - enabled: function (el) { - return !el.disabled; - }, - disabled: function (el) { - return el.disabled; - }, - checked: function (el) { - var nodeName = el.nodeName.toLowerCase(); - return (nodeName === 'input' && el.checked) || - (nodeName === 'option' && el.selected); - } - }; - - var attributeExpr = { - '~=': function (elValue, value) { - if (!value || value.indexOf(' ') > -1) { - return 0; - } - return (' ' + elValue + ' ').indexOf(' ' + value + ' ') !== -1; - }, - '|=': function (elValue, value) { - return (' ' + elValue).indexOf(' ' + value + '-') !== -1; - }, - '^=': function (elValue, value) { - return value && util.startsWith(elValue, value); - }, - '$=': function (elValue, value) { - return value && util.endsWith(elValue, value); - }, - '*=': function (elValue, value) { - return value && elValue.indexOf(value) !== -1; - }, - '=': function (elValue, value) { - return elValue === value; - } - }; - - var relativeExpr = { - '>': { - dir: 'parentNode', - immediate: 1 - }, - ' ': { - dir: 'parentNode' - }, - '+': { - dir: 'previousSibling', - immediate: 1 - }, - '~': { - dir: 'previousSibling' - } - }; - - matchExpr = { - tag: isTag, - cls: hasSingleClass, - id: function (el, value) { - return getAttr(el, 'id') === value; - }, - attrib: function (el, value) { - var name = value.ident; - if (!isContextXML) { - name = name.toLowerCase(); - } - var elValue = getAttr(el, name); - var match = value.match; - if (!match && elValue !== undefined) { - return 1; - } else if (match) { - if (elValue === undefined) { - return 0; - } - var matchFn = attributeExpr[match]; - if (matchFn) { - return matchFn(elValue + '', value.value + ''); - } - } - return 0; - }, - pseudo: function (el, value) { - var fn, fnStr, ident; - if ((fnStr = value.fn)) { - if (!(fn = pseudoFnExpr[fnStr])) { - throw new SyntaxError('Syntax error: not support pseudo: ' + fnStr); - } - return fn(el, value.param); - } - if ((ident = value.ident)) { - if (!pseudoIdentExpr[ident]) { - throw new SyntaxError('Syntax error: not support pseudo: ' + ident); - } - return pseudoIdentExpr[ident](el); - } - return 0; - } - }; - - function unEscape(str) { - return str.replace(unescape, unescapeFn); - } - - parser.lexer.yy = { - trim: util.trim, - unEscape: unEscape, - unEscapeStr: function (str) { - return this.unEscape(str.slice(1, -1)); - } - }; - - function resetStatus() { - subMatchesCache = {}; - } - - function dir(el, direction) { - do { - el = el[direction]; - } while (el && el.nodeType !== 1); - return el; - } - - function getAb(param) { - var a = 0, - match, - b = 0; - if (typeof param === 'number') { - b = param; - } else if (param === 'odd') { - a = 2; - b = 1; - } else if (param === 'even') { - a = 2; - b = 0; - } else if ((match = param.replace(/\s/g, '').match(aNPlusB))) { - if (match[1]) { - a = parseInt(match[2], 10); - if (isNaN(a)) { - if (match[2] === '-') { - a = -1; - } else { - a = 1; - } - } - } else { - a = 0; - } - b = parseInt(match[3], 10) || 0; - } - return { - a: a, - b: b - }; - } - - function matchIndexByAb(index, a, b, eq) { - if (a === 0) { - if (index === b) { - return eq; - } - } else { - if ((index - b) / a >= 0 && (index - b) % a === 0 && eq) { - return 1; - } - } - return undefined; - } - - function isXML(elem) { - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName.toLowerCase() !== 'html' : false; - } - - function matches(str, seeds) { - return select(str, null, seeds); - } - - function singleMatch(el, match) { - if (!match) { - return true; - } - if (!el) { - return false; - } - - if (el.nodeType === 9) { - return false; - } - - var matched = 1, - matchSuffix = match.suffix, - matchSuffixLen, - matchSuffixIndex; - - if (match.t === 'tag') { - matched &= matchExpr.tag(el, match.value); - } - - if (matched && matchSuffix) { - matchSuffixLen = matchSuffix.length; - matchSuffixIndex = 0; - for (; matched && matchSuffixIndex < matchSuffixLen; matchSuffixIndex++) { - var singleMatchSuffix = matchSuffix[matchSuffixIndex], - singleMatchSuffixType = singleMatchSuffix.t; - if (matchExpr[singleMatchSuffixType]) { - matched &= matchExpr[singleMatchSuffixType](el, singleMatchSuffix.value); - } - } - } - - return matched; - } - - // match by adjacent immediate single selector match - function matchImmediate(el, match) { - var matched = 1, - startEl = el, - relativeOp, - startMatch = match; - - do { - matched &= singleMatch(el, match); - if (matched) { - // advance - match = match && match.prev; - if (!match) { - return true; - } - relativeOp = relativeExpr[match.nextCombinator]; - el = dir(el, relativeOp.dir); - if (!relativeOp.immediate) { - return { - // advance for non-immediate - el: el, - match: match - }; - } - } else { - relativeOp = relativeExpr[match.nextCombinator]; - if (relativeOp.immediate) { - // retreat but advance startEl - return { - el: dir(startEl, relativeExpr[startMatch.nextCombinator].dir), - match: startMatch - }; - } else { - // advance (before immediate match + jump unmatched) - return { - el: el && dir(el, relativeOp.dir), - match: match - }; - } - } - } while (el); - - // only occur when match immediate - return { - el: dir(startEl, relativeExpr[startMatch.nextCombinator].dir), - match: startMatch - }; - } - - // find fixed part, fixed with seeds - function findFixedMatchFromHead(el, head) { - var relativeOp, - cur = head; - - do { - if (!singleMatch(el, cur)) { - return null; - } - cur = cur.prev; - if (!cur) { - return true; - } - relativeOp = relativeExpr[cur.nextCombinator]; - el = dir(el, relativeOp.dir); - } while (el && relativeOp.immediate); - if (!el) { - return null; - } - return { - el: el, - match: cur - }; - } - - function genId(el) { - var selectorId; - - if (isContextXML) { - if (!(selectorId = el.getAttribute(EXPANDO_SELECTOR_KEY))) { - el.setAttribute(EXPANDO_SELECTOR_KEY, selectorId = (+new Date() + '_' + (++uuid))); - } - } else { - if (!(selectorId = el[EXPANDO_SELECTOR_KEY])) { - selectorId = el[EXPANDO_SELECTOR_KEY] = (+new Date()) + '_' + (++uuid); - } - } - - return selectorId; - } - - function matchSub(el, match) { - var selectorId = genId(el), - matchKey; - matchKey = selectorId + '_' + (match.order || 0); - if (matchKey in subMatchesCache) { - return subMatchesCache[matchKey]; - } - subMatchesCache[matchKey] = matchSubInternal(el, match); - return subMatchesCache[matchKey]; - } - - // recursive match by sub selector string from right to left - // grouped by immediate selectors - function matchSubInternal(el, match) { - var matchImmediateRet = matchImmediate(el, match); - if (matchImmediateRet === true) { - return true; - } else { - el = matchImmediateRet.el; - match = matchImmediateRet.match; - while (el) { - if (matchSub(el, match)) { - return true; - } - el = dir(el, relativeExpr[match.nextCombinator].dir); - } - return false; - } - } - - function select(str, context, seeds) { - if (!caches[str]) { - caches[str] = parser.parse(str); - } - - var selector = caches[str], - groupIndex = 0, - groupLen = selector.length, - contextDocument, - group, - ret = []; - - if (seeds) { - context = context || seeds[0].ownerDocument; - } - - contextDocument = context && context.ownerDocument || typeof document !== 'undefined' && document; - - if (context && context.nodeType === 9 && !contextDocument) { - contextDocument = context; - } - - context = context || contextDocument; - - isContextXML = isXML(context); - - for (; groupIndex < groupLen; groupIndex++) { - resetStatus(); - - group = selector[groupIndex]; - - var suffix = group.suffix, - suffixIndex, - suffixLen, - seedsIndex, - mySeeds = seeds, - seedsLen, - id = null; - - if (!mySeeds) { - if (suffix && !isContextXML) { - suffixIndex = 0; - suffixLen = suffix.length; - for (; suffixIndex < suffixLen; suffixIndex++) { - var singleSuffix = suffix[suffixIndex]; - if (singleSuffix.t === 'id') { - id = singleSuffix.value; - break; - } - } - } - - if (id) { - // http://yiminghe.github.io/lab/playground/fragment-selector/selector.html - var doesNotHasById = !context.getElementById, - contextInDom = util.contains(contextDocument, context), - tmp = doesNotHasById ? ( - contextInDom ? - contextDocument.getElementById(id) : - null - ) : context.getElementById(id); - // id bug - // https://github.com/kissyteam/kissy/issues/67 - if (!tmp && doesNotHasById || tmp && getAttr(tmp, 'id') !== id) { - var tmps = util.getElementsByTagName('*', context), - tmpLen = tmps.length, - tmpI = 0; - for (; tmpI < tmpLen; tmpI++) { - tmp = tmps[tmpI]; - if (getAttr(tmp, 'id') === id) { - mySeeds = [tmp]; - break; - } - } - if (tmpI === tmpLen) { - mySeeds = []; - } - } else { - if (contextInDom && tmp && context !== contextDocument) { - tmp = util.contains(context, tmp) ? tmp : null; - } - mySeeds = tmp ? [tmp] : []; - } - } else { - mySeeds = util.getElementsByTagName(group.value || '*', context); - } - } - - seedsIndex = 0; - seedsLen = mySeeds.length; - - if (!seedsLen) { - continue; - } - - for (; seedsIndex < seedsLen; seedsIndex++) { - var seed = mySeeds[seedsIndex]; - var matchHead = findFixedMatchFromHead(seed, group); - if (matchHead === true) { - ret.push(seed); - } else if (matchHead) { - if (matchSub(matchHead.el, matchHead.match)) { - ret.push(seed); - } - } - } - } - - if (groupLen > 1) { - ret = util.unique(ret); - } - - return ret; - } - - module.exports = select; - - select.parse = function (str) { - return parser.parse(str); - }; - - select.matches = matches; - - select.util = util; - - select.version = '@VERSION@'; - /** - * @ignore - * note 2013-03-28 - * - use recursive call to replace backtracking algorithm - * - * refer - * - http://www.w3.org/TR/selectors/ - * - http://www.impressivewebs.com/browser-support-css3-selectors/ - * - http://blogs.msdn.com/ie/archive/2010/05/13/the-css-corner-css3-selectors.aspx - * - http://sizzlejs.com/ - */ - -/***/ }, -/* 24 */ -/***/ function(module, exports) { - - /** - * attr fix for old ie - * @author yiminghe@gmail.com - */ - var R_BOOLEAN = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, - R_FOCUSABLE = /^(?:button|input|object|select|textarea)$/i, - R_CLICKABLE = /^a(?:rea)?$/i, - R_INVALID_CHAR = /:|^on/; - - var attrFix = {}, - propFix, - attrHooks = { - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - tabindex: { - get: function (el) { - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - var attributeNode = el.getAttributeNode('tabindex'); - return attributeNode && attributeNode.specified ? - parseInt(attributeNode.value, 10) : - R_FOCUSABLE.test(el.nodeName) || - R_CLICKABLE.test(el.nodeName) && el.href ? - 0 : - undefined; - } - } - }, - boolHook = { - get: function (elem, name) { - // 转发到 prop 方法 - return elem[propFix[name] || name] ? - // 根据 w3c attribute , true 时返回属性名字符串 - name.toLowerCase() : - undefined; - } - }, - attrNodeHook = {}; - - attrHooks.style = { - get: function (el) { - return el.style.cssText; - } - }; - - propFix = { - hidefocus: 'hideFocus', - tabindex: 'tabIndex', - readonly: 'readOnly', - 'for': 'htmlFor', - 'class': 'className', - maxlength: 'maxLength', - cellspacing: 'cellSpacing', - cellpadding: 'cellPadding', - rowspan: 'rowSpan', - colspan: 'colSpan', - usemap: 'useMap', - frameborder: 'frameBorder', - contenteditable: 'contentEditable' - }; - - var ua = typeof navigator !== 'undefined' ? navigator.userAgent : ''; - var doc = typeof document !== 'undefined' ? document : {}; - - function numberify(s) { - var c = 0; - // convert '1.2.3.4' to 1.234 - return parseFloat(s.replace(/\./g, function () { - return (c++ === 0) ? '.' : ''; - })); - } - - function ieVersion() { - var m, v; - if ((m = ua.match(/MSIE ([^;]*)|Trident.*; rv(?:\s|:)?([0-9.]+)/)) && - (v = (m[1] || m[2]))) { - return doc.documentMode || numberify(v); - } - } - - function mix(s, t) { - for (var p in t) { - s[p] = t[p]; - } - } - - function each(arr, fn) { - var i = 0, l = arr.length; - for (; i < l; i++) { - if (fn(arr[i], i) === false) { - break; - } - } - } - var ie = ieVersion(); - - if (ie && ie < 8) { - attrHooks.style.set = function (el, val) { - el.style.cssText = val; - }; - - // get attribute value from attribute node for ie - mix(attrNodeHook, { - get: function (elem, name) { - var ret = elem.getAttributeNode(name); - // Return undefined if attribute node specified by user - return ret && ( - // fix #100 - ret.specified || ret.nodeValue) ? - ret.nodeValue : - undefined; - } - }); - - // ie6,7 不区分 attribute 与 property - mix(attrFix, propFix); - - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - attrHooks.tabIndex = attrHooks.tabindex; - - // 不光是 href, src, 还有 rowspan 等非 mapping 属性,也需要用第 2 个参数来获取原始值 - // 注意 colSpan rowSpan 已经由 propFix 转为大写 - each(['href', 'src', 'width', 'height', 'colSpan', 'rowSpan'], function (name) { - attrHooks[name] = { - get: function (elem) { - var ret = elem.getAttribute(name, 2); - return ret === null ? undefined : ret; - } - }; - }); - - attrHooks.placeholder = { - get: function (elem, name) { - return elem[name] || attrNodeHook.get(elem, name); - } - }; - } - - if (ie) { - var hrefFix = attrHooks.href = attrHooks.href || {}; - hrefFix.set = function (el, val, name) { - var childNodes = el.childNodes, - b, - len = childNodes.length, - allText = len > 0; - for (len = len - 1; len >= 0; len--) { - if (childNodes[len].nodeType !== 3) { - allText = 0; - } - } - if (allText) { - b = el.ownerDocument.createElement('b'); - b.style.display = 'none'; - el.appendChild(b); - } - el.setAttribute(name, '' + val); - if (b) { - el.removeChild(b); - } - }; - } - - var RE_TRIM = /^[\s\xa0]+|[\s\xa0]+$/g, - trim = String.prototype.trim; - var SPACE = ' '; - - var getElementsByTagName; - getElementsByTagName = function (name, context) { - return context.getElementsByTagName(name); - }; - - if (doc.createElement) { - var div = doc.createElement('div'); - div.appendChild(document.createComment('')); - if (div.getElementsByTagName('*').length) { - getElementsByTagName = function (name, context) { - var nodes = context.getElementsByTagName(name), - needsFilter = name === '*'; - // - if (needsFilter || typeof nodes.length !== 'number') { - var ret = [], - i = 0, - el; - while ((el = nodes[i++])) { - if (!needsFilter || el.nodeType === 1) { - ret.push(el); - } - } - return ret; - } else { - return nodes; - } - }; - } - } - - var compareNodeOrder = ('sourceIndex' in (doc && doc.documentElement || {})) ? function (a, b) { - return a.sourceIndex - b.sourceIndex; - } : function (a, b) { - if (!a.compareDocumentPosition || !b.compareDocumentPosition) { - return a.compareDocumentPosition ? -1 : 1; - } - var bit = a.compareDocumentPosition(b) & 4; - return bit ? -1 : 1; - }; - - var util = module.exports = { - ie: ie, - - unique: (function () { - var hasDuplicate, - baseHasDuplicate = true; - - // Here we check if the JavaScript engine is using some sort of - // optimization where it does not always call our comparison - // function. If that is the case, discard the hasDuplicate value. - // Thus far that includes Google Chrome. - [0, 0].sort(function () { - baseHasDuplicate = false; - return 0; - }); - - function sortOrder(a, b) { - if (a === b) { - hasDuplicate = true; - return 0; - } - - return compareNodeOrder(a, b); - } - - // 排序去重 - return function (elements) { - hasDuplicate = baseHasDuplicate; - elements.sort(sortOrder); - - if (hasDuplicate) { - var i = 1, len = elements.length; - while (i < len) { - if (elements[i] === elements[i - 1]) { - elements.splice(i, 1); - --len; - } else { - i++; - } - } - } - return elements; - }; - })(), - - getElementsByTagName: getElementsByTagName, - - getSimpleAttr: function (el, name) { - var ret = el && el.getAttributeNode(name); - if (ret && ret.specified) { - return 'value' in ret ? ret.value : ret.nodeValue; - } - return undefined; - }, - - contains: ie ? function (a, b) { - if (a.nodeType === 9) { - a = a.documentElement; - } - // !a.contains => a===document || text - // 注意原生 contains 判断时 a===b 也返回 true - b = b.parentNode; - - if (a === b) { - return true; - } - - // when b is document, a.contains(b) 不支持的接口 in ie - if (b && b.nodeType === 1) { - return a.contains && a.contains(b); - } else { - return false; - } - } : function (a, b) { - return !!(a.compareDocumentPosition(b) & 16); - }, - - isTag: function (el, value) { - return value === '*' || el.nodeName.toLowerCase() === value.toLowerCase(); - }, - - hasSingleClass: function (el, cls) { - // consider xml - // https://github.com/kissyteam/kissy/issues/532 - var className = el && util.getSimpleAttr(el, 'class'); - return className && (className = className.replace(/[\r\t\n]/g, SPACE)) && - (SPACE + className + SPACE).indexOf(SPACE + cls + SPACE) > -1; - }, - - startsWith: function (str, prefix) { - return str.lastIndexOf(prefix, 0) === 0; - }, - - endsWith: function (str, suffix) { - var ind = str.length - suffix.length; - return ind >= 0 && str.indexOf(suffix, ind) === ind; - }, - - trim: trim ? - function (str) { - return str == null ? '' : trim.call(str); - } : - function (str) { - return str == null ? '' : (str + '').replace(RE_TRIM, ''); - }, - - attr: function (el, name) { - var attrNormalizer, ret; - // scrollLeft - name = name.toLowerCase(); - // custom attrs - name = attrFix[name] || name; - if (R_BOOLEAN.test(name)) { - attrNormalizer = boolHook; - } else if (R_INVALID_CHAR.test(name)) { - // only old ie? - attrNormalizer = attrNodeHook; - } else { - attrNormalizer = attrHooks[name]; - } - if (el && el.nodeType === 1) { - // browsers index elements by id/name on forms, give priority to attributes. - if (el.nodeName.toLowerCase() === 'form') { - attrNormalizer = attrNodeHook; - } - if (attrNormalizer && attrNormalizer.get) { - return attrNormalizer.get(el, name); - } - ret = el.getAttribute(name); - if (ret === '') { - var attrNode = el.getAttributeNode(name); - if (!attrNode || !attrNode.specified) { - return undefined; - } - } - // standard browser non-existing attribute return null - // ie<8 will return undefined , because it return property - // so norm to undefined - return ret === null ? undefined : ret; - } - } - }; - -/***/ }, -/* 25 */ -/***/ function(module, exports, __webpack_require__) { - - /* - Generated by kison.*/ - var parser = (function (undefined) { - /*jshint quotmark:false, loopfunc:true, indent:false, unused:false, asi:true, boss:true*/ - /* Generated by kison */ - var parser = {}, - GrammarConst = { - 'SHIFT_TYPE': 1, - 'REDUCE_TYPE': 2, - 'ACCEPT_TYPE': 0, - 'TYPE_INDEX': 0, - 'PRODUCTION_INDEX': 1, - 'TO_INDEX': 2 - }; - /*jslint quotmark: false*/ - function mix(to, from) { - for (var f in from) { - to[f] = from[f]; - } - } - - function isArray(obj) { - return '[object Array]' === Object.prototype.toString.call(obj); - } - - function each(object, fn, context) { - if (object) { - var key, - val, - length, - i = 0; - - context = context || null; - - if (!isArray(object)) { - for (key in object) { - // can not use hasOwnProperty - if (fn.call(context, object[key], key, object) === false) { - break; - } - } - } else { - length = object.length; - for (val = object[0]; i < length; val = object[++i]) { - if (fn.call(context, val, i, object) === false) { - break; - } - } - } - } - } - - function inArray(item, arr) { - for (var i = 0, l = arr.length; i < l; i++) { - if (arr[i] === item) { - return true; - } - } - return false; - } - var Lexer = function Lexer(cfg) { - - var self = this; - - /* - lex rules. - @type {Object[]} - @example - [ - { - regexp:'\\w+', - state:['xx'], - token:'c', - // this => lex - action:function(){} - } - ] - */ - self.rules = []; - - mix(self, cfg); - - /* - Input languages - @type {String} - */ - - self.resetInput(self.input); - }; - Lexer.prototype = { - 'resetInput': function (input) { - mix(this, { - input: input, - matched: '', - stateStack: [Lexer.STATIC.INITIAL], - match: '', - text: '', - firstLine: 1, - lineNumber: 1, - lastLine: 1, - firstColumn: 1, - lastColumn: 1 - }); - }, - 'getCurrentRules': function () { - var self = this, - currentState = self.stateStack[self.stateStack.length - 1], - rules = []; - //#JSCOVERAGE_IF - if (self.mapState) { - currentState = self.mapState(currentState); - } - each(self.rules, function (r) { - var state = r.state || r[3]; - if (!state) { - if (currentState === Lexer.STATIC.INITIAL) { - rules.push(r); - } - } else if (inArray(currentState, state)) { - rules.push(r); - } - }); - return rules; - }, - 'pushState': function (state) { - this.stateStack.push(state); - }, - 'popState': function (num) { - num = num || 1; - var ret; - while (num--) { - ret = this.stateStack.pop(); - } - return ret; - }, - 'showDebugInfo': function () { - var self = this, - DEBUG_CONTEXT_LIMIT = Lexer.STATIC.DEBUG_CONTEXT_LIMIT, - matched = self.matched, - match = self.match, - input = self.input; - matched = matched.slice(0, matched.length - match.length); - //#JSCOVERAGE_IF 0 - var past = (matched.length > DEBUG_CONTEXT_LIMIT ? '...' : '') + - matched.slice(0 - DEBUG_CONTEXT_LIMIT).replace(/\n/, ' '), - next = match + input; - //#JSCOVERAGE_ENDIF - next = next.slice(0, DEBUG_CONTEXT_LIMIT) + - (next.length > DEBUG_CONTEXT_LIMIT ? '...' : ''); - return past + next + '\n' + new Array(past.length + 1).join('-') + '^'; - }, - 'mapSymbol': function mapSymbolForCodeGen(t) { - return this.symbolMap[t]; - }, - 'mapReverseSymbol': function (rs) { - var self = this, - symbolMap = self.symbolMap, - i, - reverseSymbolMap = self.reverseSymbolMap; - if (!reverseSymbolMap && symbolMap) { - reverseSymbolMap = self.reverseSymbolMap = {}; - for (i in symbolMap) { - reverseSymbolMap[symbolMap[i]] = i; - } - } - //#JSCOVERAGE_IF - if (reverseSymbolMap) { - return reverseSymbolMap[rs]; - } else { - return rs; - } - }, - 'lex': function () { - var self = this, - input = self.input, - i, - rule, - m, - ret, - lines, - rules = self.getCurrentRules(); - - self.match = self.text = ''; - - if (!input) { - return self.mapSymbol(Lexer.STATIC.END_TAG); - } - - for (i = 0; i < rules.length; i++) { - rule = rules[i]; - //#JSCOVERAGE_IF 0 - var regexp = rule.regexp || rule[1], - token = rule.token || rule[0], - action = rule.action || rule[2] || undefined; - //#JSCOVERAGE_ENDIF - if ((m = input.match(regexp))) { - lines = m[0].match(/\n.*/g); - if (lines) { - self.lineNumber += lines.length; - } - mix(self, { - firstLine: self.lastLine, - lastLine: self.lineNumber + 1, - firstColumn: self.lastColumn, - lastColumn: lines ? - lines[lines.length - 1].length - 1 : self.lastColumn + m[0].length - }); - var match; - // for error report - match = self.match = m[0]; - - // all matches - self.matches = m; - // may change by user - self.text = match; - // matched content utils now - self.matched += match; - ret = action && action.call(self); - if (ret === undefined) { - ret = token; - } else { - ret = self.mapSymbol(ret); - } - input = input.slice(match.length); - self.input = input; - - if (ret) { - return ret; - } else { - // ignore - return self.lex(); - } - } - } - } - }; - Lexer.STATIC = { - 'INITIAL': 'I', - 'DEBUG_CONTEXT_LIMIT': 20, - 'END_TAG': '$EOF' - }; - var lexer = new Lexer({ - 'rules': [ - ['b', /^\[(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['c', /^(?:[\t\r\n\f\x20]*)\]/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['d', /^(?:[\t\r\n\f\x20]*)~=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['e', /^(?:[\t\r\n\f\x20]*)\|=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['f', /^(?:[\t\r\n\f\x20]*)\^=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['g', /^(?:[\t\r\n\f\x20]*)\$=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['h', /^(?:[\t\r\n\f\x20]*)\*=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['i', /^(?:[\t\r\n\f\x20]*)\=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['j', /^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)\(/, - function () { - this.text = this.yy.trim(this.text).slice(0, -1); - this.pushState('fn'); - } - ], - ['k', /^[^\)]*/, - function () { - this.popState(); - }, - ['fn'] - ], - ['l', /^(?:[\t\r\n\f\x20]*)\)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['m', /^:not\((?:[\t\r\n\f\x20]*)/i, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['n', /^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/, - function () { - this.text = this.yy.unEscape(this.text); - } - ], - ['o', /^"(\\"|[^"])*"/, - function () { - this.text = this.yy.unEscapeStr(this.text); - } - ], - ['o', /^'(\\'|[^'])*'/, - function () { - this.text = this.yy.unEscapeStr(this.text); - } - ], - ['p', /^#(?:(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))+)/, - function () { - this.text = this.yy.unEscape(this.text.slice(1)); - } - ], - ['q', /^\.(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/, - function () { - this.text = this.yy.unEscape(this.text.slice(1)); - } - ], - ['r', /^(?:[\t\r\n\f\x20]*),(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['s', /^::?/, 0], - ['t', /^(?:[\t\r\n\f\x20]*)\+(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['u', /^(?:[\t\r\n\f\x20]*)>(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['v', /^(?:[\t\r\n\f\x20]*)~(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['w', /^\*/, 0], - ['x', /^(?:[\t\r\n\f\x20]+)/, 0], - ['y', /^./, 0] - ] - }); - parser.lexer = lexer; - lexer.symbolMap = { - '$EOF': 'a', - 'LEFT_BRACKET': 'b', - 'RIGHT_BRACKET': 'c', - 'INCLUDES': 'd', - 'DASH_MATCH': 'e', - 'PREFIX_MATCH': 'f', - 'SUFFIX_MATCH': 'g', - 'SUBSTRING_MATCH': 'h', - 'ALL_MATCH': 'i', - 'FUNCTION': 'j', - 'PARAMETER': 'k', - 'RIGHT_PARENTHESES': 'l', - 'NOT': 'm', - 'IDENT': 'n', - 'STRING': 'o', - 'HASH': 'p', - 'CLASS': 'q', - 'COMMA': 'r', - 'COLON': 's', - 'PLUS': 't', - 'GREATER': 'u', - 'TILDE': 'v', - 'UNIVERSAL': 'w', - 'S': 'x', - 'INVALID': 'y', - '$START': 'z', - 'selectors_group': 'aa', - 'selector': 'ab', - 'simple_selector_sequence': 'ac', - 'combinator': 'ad', - 'type_selector': 'ae', - 'id_selector': 'af', - 'class_selector': 'ag', - 'attrib_match': 'ah', - 'attrib': 'ai', - 'attrib_val': 'aj', - 'pseudo': 'ak', - 'negation': 'al', - 'negation_arg': 'am', - 'suffix_selector': 'an', - 'suffix_selectors': 'ao' - }; - parser.productions = [ - ['z', ['aa']], - ['aa', ['ab'], - function () { - return [this.$1]; - } - ], - ['aa', ['aa', 'r', 'ab'], - function () { - this.$1.push(this.$3); - } - ], - ['ab', ['ac']], - ['ab', ['ab', 'ad', 'ac'], - function () { - // LinkedList - - this.$1.nextCombinator = this.$3.prevCombinator = this.$2; - var order; - order = this.$1.order = this.$1.order || 0; - this.$3.order = order + 1; - this.$3.prev = this.$1; - this.$1.next = this.$3; - return this.$3; - } - ], - ['ad', ['t']], - ['ad', ['u']], - ['ad', ['v']], - ['ad', ['x'], - function () { - return ' '; - } - ], - ['ae', ['n'], - function () { - return { - t: 'tag', - value: this.$1 - }; - } - ], - ['ae', ['w'], - function () { - return { - t: 'tag', - value: this.$1 - }; - } - ], - ['af', ['p'], - function () { - return { - t: 'id', - value: this.$1 - }; - } - ], - ['ag', ['q'], - function () { - return { - t: 'cls', - value: this.$1 - }; - } - ], - ['ah', ['f']], - ['ah', ['g']], - ['ah', ['h']], - ['ah', ['i']], - ['ah', ['d']], - ['ah', ['e']], - ['ai', ['b', 'n', 'c'], - function () { - return { - t: 'attrib', - value: { - ident: this.$2 - } - }; - } - ], - ['aj', ['n']], - ['aj', ['o']], - ['ai', ['b', 'n', 'ah', 'aj', 'c'], - function () { - return { - t: 'attrib', - value: { - ident: this.$2, - match: this.$3, - value: this.$4 - } - }; - } - ], - ['ak', ['s', 'j', 'k', 'l'], - function () { - return { - t: 'pseudo', - value: { - fn: this.$2.toLowerCase(), - param: this.$3 - } - }; - } - ], - ['ak', ['s', 'n'], - function () { - return { - t: 'pseudo', - value: { - ident: this.$2.toLowerCase() - } - }; - } - ], - ['al', ['m', 'am', 'l'], - function () { - return { - t: 'pseudo', - value: { - fn: 'not', - param: this.$2 - } - }; - } - ], - ['am', ['ae']], - ['am', ['af']], - ['am', ['ag']], - ['am', ['ai']], - ['am', ['ak']], - ['an', ['af']], - ['an', ['ag']], - ['an', ['ai']], - ['an', ['ak']], - ['an', ['al']], - ['ao', ['an'], - function () { - return [this.$1]; - } - ], - ['ao', ['ao', 'an'], - function () { - this.$1.push(this.$2); - } - ], - ['ac', ['ae']], - ['ac', ['ao'], - function () { - return { - suffix: this.$1 - }; - } - ], - ['ac', ['ae', 'ao'], - function () { - return { - t: 'tag', - value: this.$1.value, - suffix: this.$2 - }; - } - ] - ]; - parser.table = { - 'gotos': { - '0': { - 'aa': 8, - 'ab': 9, - 'ae': 10, - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 16, - 'ao': 17, - 'ac': 18 - }, - '2': { - 'ae': 20, - 'af': 21, - 'ag': 22, - 'ai': 23, - 'ak': 24, - 'am': 25 - }, - '9': { - 'ad': 33 - }, - '10': { - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 16, - 'ao': 34 - }, - '17': { - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 35 - }, - '19': { - 'ah': 43 - }, - '28': { - 'ab': 46, - 'ae': 10, - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 16, - 'ao': 17, - 'ac': 18 - }, - '33': { - 'ae': 10, - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 16, - 'ao': 17, - 'ac': 47 - }, - '34': { - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 35 - }, - '43': { - 'aj': 50 - }, - '46': { - 'ad': 33 - } - }, - 'action': { - '0': { - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'n': [1, undefined, 3], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6], - 'w': [1, undefined, 7] - }, - '1': { - 'n': [1, undefined, 19] - }, - '2': { - 'b': [1, undefined, 1], - 'n': [1, undefined, 3], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6], - 'w': [1, undefined, 7] - }, - '3': { - 'a': [2, 9], - 'r': [2, 9], - 't': [2, 9], - 'u': [2, 9], - 'v': [2, 9], - 'x': [2, 9], - 'p': [2, 9], - 'q': [2, 9], - 'b': [2, 9], - 's': [2, 9], - 'm': [2, 9], - 'l': [2, 9] - }, - '4': { - 'a': [2, 11], - 'r': [2, 11], - 't': [2, 11], - 'u': [2, 11], - 'v': [2, 11], - 'x': [2, 11], - 'p': [2, 11], - 'q': [2, 11], - 'b': [2, 11], - 's': [2, 11], - 'm': [2, 11], - 'l': [2, 11] - }, - '5': { - 'a': [2, 12], - 'r': [2, 12], - 't': [2, 12], - 'u': [2, 12], - 'v': [2, 12], - 'x': [2, 12], - 'p': [2, 12], - 'q': [2, 12], - 'b': [2, 12], - 's': [2, 12], - 'm': [2, 12], - 'l': [2, 12] - }, - '6': { - 'j': [1, undefined, 26], - 'n': [1, undefined, 27] - }, - '7': { - 'a': [2, 10], - 'r': [2, 10], - 't': [2, 10], - 'u': [2, 10], - 'v': [2, 10], - 'x': [2, 10], - 'p': [2, 10], - 'q': [2, 10], - 'b': [2, 10], - 's': [2, 10], - 'm': [2, 10], - 'l': [2, 10] - }, - '8': { - 'a': [0], - 'r': [1, undefined, 28] - }, - '9': { - 'a': [2, 1], - 'r': [2, 1], - 't': [1, undefined, 29], - 'u': [1, undefined, 30], - 'v': [1, undefined, 31], - 'x': [1, undefined, 32] - }, - '10': { - 'a': [2, 38], - 'r': [2, 38], - 't': [2, 38], - 'u': [2, 38], - 'v': [2, 38], - 'x': [2, 38], - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6] - }, - '11': { - 'a': [2, 31], - 'r': [2, 31], - 't': [2, 31], - 'u': [2, 31], - 'v': [2, 31], - 'x': [2, 31], - 'p': [2, 31], - 'q': [2, 31], - 'b': [2, 31], - 's': [2, 31], - 'm': [2, 31] - }, - '12': { - 'a': [2, 32], - 'r': [2, 32], - 't': [2, 32], - 'u': [2, 32], - 'v': [2, 32], - 'x': [2, 32], - 'p': [2, 32], - 'q': [2, 32], - 'b': [2, 32], - 's': [2, 32], - 'm': [2, 32] - }, - '13': { - 'a': [2, 33], - 'r': [2, 33], - 't': [2, 33], - 'u': [2, 33], - 'v': [2, 33], - 'x': [2, 33], - 'p': [2, 33], - 'q': [2, 33], - 'b': [2, 33], - 's': [2, 33], - 'm': [2, 33] - }, - '14': { - 'a': [2, 34], - 'r': [2, 34], - 't': [2, 34], - 'u': [2, 34], - 'v': [2, 34], - 'x': [2, 34], - 'p': [2, 34], - 'q': [2, 34], - 'b': [2, 34], - 's': [2, 34], - 'm': [2, 34] - }, - '15': { - 'a': [2, 35], - 'r': [2, 35], - 't': [2, 35], - 'u': [2, 35], - 'v': [2, 35], - 'x': [2, 35], - 'p': [2, 35], - 'q': [2, 35], - 'b': [2, 35], - 's': [2, 35], - 'm': [2, 35] - }, - '16': { - 'a': [2, 36], - 'r': [2, 36], - 't': [2, 36], - 'u': [2, 36], - 'v': [2, 36], - 'x': [2, 36], - 'p': [2, 36], - 'q': [2, 36], - 'b': [2, 36], - 's': [2, 36], - 'm': [2, 36] - }, - '17': { - 'a': [2, 39], - 'r': [2, 39], - 't': [2, 39], - 'u': [2, 39], - 'v': [2, 39], - 'x': [2, 39], - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6] - }, - '18': { - 'a': [2, 3], - 'r': [2, 3], - 't': [2, 3], - 'u': [2, 3], - 'v': [2, 3], - 'x': [2, 3] - }, - '19': { - 'c': [1, undefined, 36], - 'd': [1, undefined, 37], - 'e': [1, undefined, 38], - 'f': [1, undefined, 39], - 'g': [1, undefined, 40], - 'h': [1, undefined, 41], - 'i': [1, undefined, 42] - }, - '20': { - 'l': [2, 26] - }, - '21': { - 'l': [2, 27] - }, - '22': { - 'l': [2, 28] - }, - '23': { - 'l': [2, 29] - }, - '24': { - 'l': [2, 30] - }, - '25': { - 'l': [1, undefined, 44] - }, - '26': { - 'k': [1, undefined, 45] - }, - '27': { - 'a': [2, 24], - 'r': [2, 24], - 't': [2, 24], - 'u': [2, 24], - 'v': [2, 24], - 'x': [2, 24], - 'p': [2, 24], - 'q': [2, 24], - 'b': [2, 24], - 's': [2, 24], - 'm': [2, 24], - 'l': [2, 24] - }, - '28': { - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'n': [1, undefined, 3], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6], - 'w': [1, undefined, 7] - }, - '29': { - 'n': [2, 5], - 'w': [2, 5], - 'p': [2, 5], - 'q': [2, 5], - 'b': [2, 5], - 's': [2, 5], - 'm': [2, 5] - }, - '30': { - 'n': [2, 6], - 'w': [2, 6], - 'p': [2, 6], - 'q': [2, 6], - 'b': [2, 6], - 's': [2, 6], - 'm': [2, 6] - }, - '31': { - 'n': [2, 7], - 'w': [2, 7], - 'p': [2, 7], - 'q': [2, 7], - 'b': [2, 7], - 's': [2, 7], - 'm': [2, 7] - }, - '32': { - 'n': [2, 8], - 'w': [2, 8], - 'p': [2, 8], - 'q': [2, 8], - 'b': [2, 8], - 's': [2, 8], - 'm': [2, 8] - }, - '33': { - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'n': [1, undefined, 3], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6], - 'w': [1, undefined, 7] - }, - '34': { - 'a': [2, 40], - 'r': [2, 40], - 't': [2, 40], - 'u': [2, 40], - 'v': [2, 40], - 'x': [2, 40], - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6] - }, - '35': { - 'a': [2, 37], - 'r': [2, 37], - 't': [2, 37], - 'u': [2, 37], - 'v': [2, 37], - 'x': [2, 37], - 'p': [2, 37], - 'q': [2, 37], - 'b': [2, 37], - 's': [2, 37], - 'm': [2, 37] - }, - '36': { - 'a': [2, 19], - 'r': [2, 19], - 't': [2, 19], - 'u': [2, 19], - 'v': [2, 19], - 'x': [2, 19], - 'p': [2, 19], - 'q': [2, 19], - 'b': [2, 19], - 's': [2, 19], - 'm': [2, 19], - 'l': [2, 19] - }, - '37': { - 'n': [2, 17], - 'o': [2, 17] - }, - '38': { - 'n': [2, 18], - 'o': [2, 18] - }, - '39': { - 'n': [2, 13], - 'o': [2, 13] - }, - '40': { - 'n': [2, 14], - 'o': [2, 14] - }, - '41': { - 'n': [2, 15], - 'o': [2, 15] - }, - '42': { - 'n': [2, 16], - 'o': [2, 16] - }, - '43': { - 'n': [1, undefined, 48], - 'o': [1, undefined, 49] - }, - '44': { - 'a': [2, 25], - 'r': [2, 25], - 't': [2, 25], - 'u': [2, 25], - 'v': [2, 25], - 'x': [2, 25], - 'p': [2, 25], - 'q': [2, 25], - 'b': [2, 25], - 's': [2, 25], - 'm': [2, 25] - }, - '45': { - 'l': [1, undefined, 51] - }, - '46': { - 'a': [2, 2], - 'r': [2, 2], - 't': [1, undefined, 29], - 'u': [1, undefined, 30], - 'v': [1, undefined, 31], - 'x': [1, undefined, 32] - }, - '47': { - 'a': [2, 4], - 'r': [2, 4], - 't': [2, 4], - 'u': [2, 4], - 'v': [2, 4], - 'x': [2, 4] - }, - '48': { - 'c': [2, 20] - }, - '49': { - 'c': [2, 21] - }, - '50': { - 'c': [1, undefined, 52] - }, - '51': { - 'a': [2, 23], - 'r': [2, 23], - 't': [2, 23], - 'u': [2, 23], - 'v': [2, 23], - 'x': [2, 23], - 'p': [2, 23], - 'q': [2, 23], - 'b': [2, 23], - 's': [2, 23], - 'm': [2, 23], - 'l': [2, 23] - }, - '52': { - 'a': [2, 22], - 'r': [2, 22], - 't': [2, 22], - 'u': [2, 22], - 'v': [2, 22], - 'x': [2, 22], - 'p': [2, 22], - 'q': [2, 22], - 'b': [2, 22], - 's': [2, 22], - 'm': [2, 22], - 'l': [2, 22] - } - } - }; - parser.parse = function parse(input, filename) { - var self = this, - lexer = self.lexer, - state, - symbol, - action, - table = self.table, - gotos = table.gotos, - tableAction = table.action, - productions = self.productions, - valueStack = [null], - // for debug info - prefix = filename ? ('in file: ' + filename + ' ') : '', - stack = [0]; - - lexer.resetInput(input); - - while (1) { - // retrieve state number from top of stack - state = stack[stack.length - 1]; - - if (!symbol) { - symbol = lexer.lex(); - } - - if (symbol) { - // read action for current state and first input - action = tableAction[state] && tableAction[state][symbol]; - } else { - action = null; - } - - if (!action) { - var expected = [], - error; - //#JSCOVERAGE_IF - if (tableAction[state]) { - for (var symbolForState in tableAction[state]) { - expected.push(self.lexer.mapReverseSymbol(symbolForState)); - } - } - error = prefix + 'syntax error at line ' + lexer.lineNumber + - ':\n' + lexer.showDebugInfo() + - '\n' + 'expect ' + expected.join(', '); - throw new Error(error); - } - - switch (action[GrammarConst.TYPE_INDEX]) { - case GrammarConst.SHIFT_TYPE: - stack.push(symbol); - - valueStack.push(lexer.text); - - // push state - stack.push(action[GrammarConst.TO_INDEX]); - - // allow to read more - symbol = null; - - break; - - case GrammarConst.REDUCE_TYPE: - var production = productions[action[GrammarConst.PRODUCTION_INDEX]], - reducedSymbol = production.symbol || production[0], - reducedAction = production.action || production[2], - reducedRhs = production.rhs || production[1], - len = reducedRhs.length, - i = 0, - ret, - $$ = valueStack[valueStack.length - len]; // default to $$ = $1 - - ret = undefined; - - self.$$ = $$; - - for (; i < len; i++) { - self['$' + (len - i)] = valueStack[valueStack.length - 1 - i]; - } - - if (reducedAction) { - ret = reducedAction.call(self); - } - - if (ret !== undefined) { - $$ = ret; - } else { - $$ = self.$$; - } - - stack = stack.slice(0, -1 * len * 2); - valueStack = valueStack.slice(0, -1 * len); - - stack.push(reducedSymbol); - - valueStack.push($$); - - var newState = gotos[stack[stack.length - 2]][stack[stack.length - 1]]; - - stack.push(newState); - - break; - - case GrammarConst.ACCEPT_TYPE: - return $$; - } - } - }; - return parser; - })(); - if (true) { - module.exports = parser; - } - -/***/ }, -/* 26 */ -/***/ function(module, exports) { - - var hyphenExpression = /\-+([a-z])/gi - - function upperCaseFirstMatch (match, c, offset) { - if (offset !== 0) { - return c.toUpperCase() - } else { - return c - } - } - - function camelCase (str) { - var camelCased = str.replace(hyphenExpression, upperCaseFirstMatch) - hyphenExpression.lastIndex = 0 - return camelCased - } - - module.exports = camelCase - - -/***/ }, -/* 27 */ -/***/ function(module, exports) { - - function isString (value) { - return typeof value === 'string' - } - - module.exports = isString - - -/***/ }, -/* 28 */ -/***/ function(module, exports) { - - function isUndefined (value) { - return typeof value === 'undefined' - } - - module.exports = isUndefined - - -/***/ }, -/* 29 */ -/***/ function(module, exports) { - - function assign (dest) { - var args = arguments - var source - - for (var i = 1; i < args.length; i++) { - source = args[i] - - for (var key in source) { - dest[key] = source[key] - } - } - - return dest - } - - module.exports = assign - - -/***/ }, -/* 30 */ -/***/ function(module, exports) { - - function mapValues (source, fn) { - var destination = {} - - for (var key in source) { - if (source.hasOwnProperty(key)) { - destination[key] = fn(source[key]) - } - } - - return destination - } - - module.exports = mapValues - - -/***/ }, -/* 31 */ -/***/ function(module, exports, __webpack_require__) { - - var camelCase = __webpack_require__(26) - - function styleCamelCase (name) { - var camel = camelCase(name) - - // Detect if the style property is already camelCased - // To not convert Webkit*, Moz* and O* to lowercase - if (camel.charAt(0).toUpperCase() === name.charAt(0)) { - return name.charAt(0) + camel.slice(1) - } - - if (name.charAt(0) === '-') { - return camel.indexOf('ms') === 0 ? camel - : camel.charAt(0).toUpperCase() + camel.slice(1) - } else { - return camel - } - } - - module.exports = styleCamelCase - - -/***/ }, -/* 32 */ -/***/ function(module, exports) { - - var Window = { - getComputedStyle: function (node) { - return { - getPropertyValue: node.style.getProperty - } - } - } - - module.exports = Window - - -/***/ }, -/* 33 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _d3Axis = __webpack_require__(34); - - var _d3Axis2 = _interopRequireDefault(_d3Axis); - - var _d3Selection = __webpack_require__(18); - - var _d3Selection2 = _interopRequireDefault(_d3Selection); - - var _reactFauxDom = __webpack_require__(19); - - var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); - - var _scale = __webpack_require__(6); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var Axis = function (_Component) { - _inherits(Axis, _Component); - - function Axis(props) { - _classCallCheck(this, Axis); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Axis).call(this, props)); - } - - _createClass(Axis, [{ - key: '_mkTickAxis', - value: function _mkTickAxis() { - var _props = this.props; - var type = _props.type; - var tickOrient = _props.tickOrient; - var tickFormat = _props.tickFormat; - var tickPadding = _props.tickPadding; - var tickSizeInner = _props.tickSizeInner; - var tickSizeOuter = _props.tickSizeOuter; - var ticks = _props.ticks; - - - var func = _d3Axis2.default; - - if (tickOrient === 'left') { - func = func.axisLeft(this._mkScale(this.props)); - } else if (tickOrient === 'right') { - func = func.axisRight(this._mkScale(this.props)); - } else if (tickOrient === 'top') { - func = func.axisTop(this._mkScale(this.props)); - } else if (tickOrient === 'bottom') { - func = func.axisBottom(this._mkScale(this.props)); - } - - if (tickFormat) func.tickFormat(tickFormat); - - if (tickPadding) func.tickPadding(tickPadding); - - if (tickSizeOuter) func.tickSizeOuter(tickSizeOuter); - - if (tickSizeInner) func.tickSizeInner(tickSizeInner); - - if (ticks) func.ticks.apply(null, ticks); - - return func; - } - }, { - key: '_mkScale', - value: function _mkScale() { - var newScale; - - if (this.props.scale === 'ordinal') newScale = 'band';else newScale = this.props.scale; - - var func = (0, _scale.scale)(Object.assign({}, this.props, { scale: newScale })); - - return func; - } - }, { - key: 'render', - value: function render() { - var _props2 = this.props; - var showAxis = _props2.showAxis; - var gridAxisClassName = _props2.gridAxisClassName; - var axisClassName = _props2.axisClassName; - var type = _props2.type; - var style = _props2.style; - - - var axisGroup = _reactFauxDom2.default.createElement('g'); - - if (type === 'x') var axisClasses = axisClassName + ' axis x';else if (type === 'y') var axisClasses = axisClassName + ' axis y';else if (type === 'gridx' || type === 'gridy') var axisClasses = gridAxisClassName + ' grid-axis'; - - axisGroup.setAttribute('class', axisClasses); - - var axisDom = _d3Selection2.default.select(axisGroup); - - axisDom.call(this._mkTickAxis()); - - if (!showAxis) { - axisDom.selectAll(".grid-axis .tick text").style("opacity", "0"); - - if (type === 'gridx' || type === 'gridy') { - // hide domain in grids - axisDom.selectAll(".grid-axis .domain").style("opacity", "0"); - } - } - - // basic styles - axisDom.selectAll('.axis path').style('fill', 'none').style('stroke', '#000').style('shape-rendering', 'crispEdges'); - - axisDom.selectAll('.axis line').style('fill', 'none').style('stroke', '#000').style('shape-rendering', 'crispEdges'); - - axisDom.selectAll('.grid-axis line').style('opacity', .2).style('fill', 'none').style('stroke', '#000').style('stroke-width', '1.5px'); - - axisDom.selectAll('.axis path').style('display', 'none'); - - var axisText = axisDom.selectAll('.axis text'); - - if (style) { - for (var key in style) { - axisText.style(key, style[key]); - } - } - - return axisDom.node().toReact(); - } - }]); - - return Axis; - }(_react.Component); - - Axis.defaultProps = { - range: null, - rangeRoundBands: null, - domain: null, - tickFormat: null, - tickOrient: null - }; - Axis.PropTypes = { - showAxis: _react.PropTypes.bool, - type: _react.PropTypes.string, - orient: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']), - tickOrient: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']) - }; - exports.default = Axis; - -/***/ }, -/* 34 */ -/***/ function(module, exports, __webpack_require__) { - - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_axis = global.d3_axis || {}))); - }(this, function (exports) { 'use strict'; - - var slice = Array.prototype.slice; - - function identity(x) { - return x; - } - - var top = 1; - var right = 2; - var bottom = 3; - var left = 4; - var epsilon = 1e-6; - function translateX(scale0, scale1, d) { - var x = scale0(d); - return "translate(" + (isFinite(x) ? x : scale1(d)) + ",0)"; - } - - function translateY(scale0, scale1, d) { - var y = scale0(d); - return "translate(0," + (isFinite(y) ? y : scale1(d)) + ")"; - } - - function center(scale) { - var width = scale.bandwidth() / 2; - return function(d) { - return scale(d) + width; - }; - } - - function axis(orient, scale) { - var tickArguments = [], - tickValues = null, - tickFormat = null, - tickSizeInner = 6, - tickSizeOuter = 6, - tickPadding = 3; - - function axis(context) { - var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues, - format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat, - spacing = Math.max(tickSizeInner, 0) + tickPadding, - transform = orient === top || orient === bottom ? translateX : translateY, - range = scale.range(), - range0 = range[0], - range1 = range[range.length - 1], - position = (scale.bandwidth ? center : identity)(scale.copy()), - selection = context.selection ? context.selection() : context, - path = selection.selectAll(".domain").data([null]), - tick = selection.selectAll(".tick").data(values, scale).order(), - tickExit = tick.exit(), - tickEnter = tick.enter().append("g", ".domain").attr("class", "tick"), - line = tick.select("line"), - text = tick.select("text"); - - path = path.merge(path.enter().append("path").attr("class", "domain")); - tick = tick.merge(tickEnter); - line = line.merge(tickEnter.append("line")); - text = text.merge(tickEnter.append("text")); - - if (context !== selection) { - path = path.transition(context); - tick = tick.transition(context); - tickExit = tickExit.transition(context).style("opacity", epsilon).attr("transform", function(d) { return transform(position, this.parentNode.__axis || position, d); }); - tickEnter.style("opacity", epsilon).attr("transform", function(d) { return transform(this.parentNode.__axis || position, position, d); }); - line = line.transition(context); - text = text.transition(context); - } - - tick.style("opacity", 1).attr("transform", function(d) { return transform(position, position, d); }); - tickExit.remove(); - text.text(format); - - switch (orient) { - case top: { - path.attr("d", "M" + range0 + "," + -tickSizeOuter + "V0H" + range1 + "V" + -tickSizeOuter); - line.attr("x2", 0).attr("y2", -tickSizeInner); - text.attr("x", 0).attr("y", -spacing).attr("dy", "0em").style("text-anchor", "middle"); - break; - } - case right: { - path.attr("d", "M" + tickSizeOuter + "," + range0 + "H0V" + range1 + "H" + tickSizeOuter); - line.attr("y2", 0).attr("x2", tickSizeInner); - text.attr("y", 0).attr("x", spacing).attr("dy", ".32em").style("text-anchor", "start"); - break; - } - case bottom: { - path.attr("d", "M" + range0 + "," + tickSizeOuter + "V0H" + range1 + "V" + tickSizeOuter); - line.attr("x2", 0).attr("y2", tickSizeInner); - text.attr("x", 0).attr("y", spacing).attr("dy", ".71em").style("text-anchor", "middle"); - break; - } - case left: { - path.attr("d", "M" + -tickSizeOuter + "," + range0 + "H0V" + range1 + "H" + -tickSizeOuter); - line.attr("y2", 0).attr("x2", -tickSizeInner); - text.attr("y", 0).attr("x", -spacing).attr("dy", ".32em").style("text-anchor", "end"); - break; - } - } - - selection.each(function() { this.__axis = position; }); - } - - axis.scale = function(_) { - return arguments.length ? (scale = _, axis) : scale; - }; - - axis.ticks = function() { - return tickArguments = slice.call(arguments), axis; - }; - - axis.tickArguments = function(_) { - return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice(); - }; - - axis.tickValues = function(_) { - return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice(); - }; - - axis.tickFormat = function(_) { - return arguments.length ? (tickFormat = _, axis) : tickFormat; - }; - - axis.tickSize = function(_) { - return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner; - }; - - axis.tickSizeInner = function(_) { - return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner; - }; - - axis.tickSizeOuter = function(_) { - return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter; - }; - - axis.tickPadding = function(_) { - return arguments.length ? (tickPadding = +_, axis) : tickPadding; - }; - - return axis; - } - - function axisTop(scale) { - return axis(top, scale); - } - - function axisRight(scale) { - return axis(right, scale); - } - - function axisBottom(scale) { - return axis(bottom, scale); - } - - function axisLeft(scale) { - return axis(left, scale); - } - - var version = "0.3.0"; - - exports.version = version; - exports.axisTop = axisTop; - exports.axisRight = axisRight; - exports.axisBottom = axisBottom; - exports.axisLeft = axisLeft; - - })); - -/***/ }, -/* 35 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _axis = __webpack_require__(33); - - var _axis2 = _interopRequireDefault(_axis); - - var _label = __webpack_require__(36); - - var _label2 = _interopRequireDefault(_label); - - var _commonProps = __webpack_require__(5); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var Xaxis = function (_Component) { - _inherits(Xaxis, _Component); - - function Xaxis(props) { - _classCallCheck(this, Xaxis); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Xaxis).call(this, props)); - } - - _createClass(Xaxis, [{ - key: 'render', - value: function render() { - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var showXAxis = _props.showXAxis; - var x = _props.x; - var xAxisClassName = _props.xAxisClassName; - var xDomain = _props.xDomain; - var xRange = _props.xRange; - var xBandPaddingInner = _props.xBandPaddingInner; - var xBandPaddingOuter = _props.xBandPaddingOuter; - var xScale = _props.xScale; - var xOrient = _props.xOrient; - var xTickOrient = _props.xTickOrient; - var xTickPadding = _props.xTickPadding; - var xTickSizeOuter = _props.xTickSizeOuter; - var xTickSizeInner = _props.xTickSizeInner; - var xTickFormat = _props.xTickFormat; - var xTicks = _props.xTicks; - var xLabel = _props.xLabel; - var xLabelPosition = _props.xLabelPosition; - var labelOffset = _props.labelOffset; - var style = _props.style; - - - var t; - var axisLabel; - - if (!xRange) { - xRange = [0, width - margins.left - margins.right]; - } - - if (xOrient === 'bottom') { - // x - bottom - t = 'translate(0, ' + (height - margins.bottom - margins.top) + ')'; - } else if (xOrient === 'top') { - // x - top - t = 'translate(0, 0)'; - } - - if (xLabel) { - axisLabel = _react2.default.createElement(_label2.default, { - height: height, - width: width, - margins: margins, - labelTitle: xLabel, - labelPosition: xLabelPosition, - labelOffset: labelOffset, - bandPaddingInner: xBandPaddingInner, - bandPaddingOuter: xBandPaddingOuter - }); - } - - return _react2.default.createElement( - 'g', - { transform: t }, - _react2.default.createElement(_axis2.default, { - height: height, - width: width, - margins: margins, - showAxis: showXAxis, - axisClassName: xAxisClassName, - bandPaddingInner: xBandPaddingInner, - bandPaddingOuter: xBandPaddingOuter, - type: 'x', - proxy: x, - domain: xDomain, - range: xRange, - scale: xScale, - orient: xOrient, - tickOrient: xTickOrient, - tickFormat: xTickFormat, - tickPadding: xTickPadding, - tickSizeInner: xTickSizeInner, - tickSizeOuter: xTickSizeOuter, - ticks: xTicks, - style: style - }), - axisLabel - ); - } - }]); - - return Xaxis; - }(_react.Component); - - Xaxis.defaultProps = _extends({ - showXAxis: true, - xAxisClassName: 'react-d3-core__axis__xAxis', - xScale: 'linear', - xOrient: 'bottom', - xTickOrient: 'bottom', - xLabelPosition: 'bottom', - xTickPadding: 3, - xInnerTickSize: 6, - xOuterTickSize: 6 - }, _commonProps2.default); - Xaxis.propTypes = { - height: _react.PropTypes.number.isRequired, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - showXAxis: _react.PropTypes.bool, - x: _react.PropTypes.func, - xDomain: _react.PropTypes.array, - xRange: _react.PropTypes.array, - xScale: _react.PropTypes.string.isRequired, - xOrient: _react.PropTypes.oneOf(['top', 'bottom']), - xTickOrient: _react.PropTypes.oneOf(['top', 'bottom']), - xAxisClassName: _react.PropTypes.string, - xTickSizeInner: _react.PropTypes.number, - xTickSizeOuter: _react.PropTypes.number, - xBandPaddingInner: _react.PropTypes.number, - xBandPaddingOuter: _react.PropTypes.number, - xTickPadding: _react.PropTypes.number, - xTickFormat: _react.PropTypes.func, - xTicks: _react.PropTypes.array, - style: _react.PropTypes.object - }; - exports.default = Xaxis; - -/***/ }, -/* 36 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _d3Selection = __webpack_require__(18); - - var _d3Selection2 = _interopRequireDefault(_d3Selection); - - var _reactFauxDom = __webpack_require__(19); - - var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); - - var _commonProps = __webpack_require__(5); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var Label = function (_Component) { - _inherits(Label, _Component); - - function Label(props) { - _classCallCheck(this, Label); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Label).call(this, props)); - } - - _createClass(Label, [{ - key: '_mkLabel', - value: function _mkLabel(dom) { - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var labelOffset = _props.labelOffset; - var labelTitle = _props.labelTitle; - var labelPosition = _props.labelPosition; - var vTransform = _props.vTransform; - var hTransform = _props.hTransform; - var textAnchor = _props.textAnchor; - - - var labelDom = _d3Selection2.default.select(dom); - var fixWidth = width - margins.left - margins.right; - var fixHeight = height - margins.top - margins.bottom; - - if (labelPosition === 'top') { - - labelDom.attr('transform', hTransform).attr('y', -labelOffset).attr('x', fixWidth / 2).style('text-anchor', textAnchor).text(labelTitle); - } else if (labelPosition === 'bottom') { - - labelDom.attr('transform', hTransform).attr('y', +labelOffset).attr('x', fixWidth / 2).style('text-anchor', textAnchor).text(labelTitle); - } else if (labelPosition === 'left') { - - labelDom.attr('transform', vTransform).attr('y', -labelOffset).attr('x', -fixHeight / 2).style('text-anchor', textAnchor).text(labelTitle); - } else if (labelPosition === 'right') { - - labelDom.attr('transform', vTransform).attr('y', +labelOffset).attr('x', -fixHeight / 2).style('text-anchor', textAnchor).text(labelTitle); - } - - return labelDom; - } - }, { - key: 'render', - value: function render() { - var labelClassName = this.props.labelClassName; - - - var labelText = _reactFauxDom2.default.createElement('text'); - var labelClasses = labelClassName + ' label'; - labelText.setAttribute('class', labelClasses); - - var labelDom = this._mkLabel(labelText); - - return labelDom.node().toReact(); - } - }]); - - return Label; - }(_react.Component); - - Label.defaultProps = _extends({ - hTransform: 'rotate(0)', - vTransform: 'rotate(270)', - labelTitle: 'label title', - labelPosition: 'bottom', - labelOffset: 40, - textAnchor: 'middle', - labelClassName: 'react-d3-core__label' - }, _commonProps2.default); - Label.propTypes = { - height: _react.PropTypes.number.isRequired, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - hTransform: _react.PropTypes.string, - vTransform: _react.PropTypes.string, - labelTitle: _react.PropTypes.string, - labelPosition: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']), - labelOffset: _react.PropTypes.number, - textAnchor: _react.PropTypes.string, - labelClassName: _react.PropTypes.string - }; - exports.default = Label; - -/***/ }, -/* 37 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _axis = __webpack_require__(33); - - var _axis2 = _interopRequireDefault(_axis); - - var _label = __webpack_require__(36); - - var _label2 = _interopRequireDefault(_label); - - var _commonProps = __webpack_require__(5); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var Yaxis = function (_Component) { - _inherits(Yaxis, _Component); - - function Yaxis(props) { - _classCallCheck(this, Yaxis); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Yaxis).call(this, props)); - } - - _createClass(Yaxis, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var y = _props.y; - var yAxisClassName = _props.yAxisClassName; - var yDomain = _props.yDomain; - var yRange = _props.yRange; - var yBandPaddingInner = _props.yBandPaddingInner; - var yBandPaddingOuter = _props.yBandPaddingOuter; - var yScale = _props.yScale; - var yOrient = _props.yOrient; - var yTickOrient = _props.yTickOrient; - var yTickFormat = _props.yTickFormat; - var yTickPadding = _props.yTickPadding; - var yTickSizeOuter = _props.yTickSizeOuter; - var yTickSizeInner = _props.yTickSizeInner; - var yTicks = _props.yTicks; - var yLabel = _props.yLabel; - var yLabelPosition = _props.yLabelPosition; - var labelOffset = _props.labelOffset; - var showYAxis = _props.showYAxis; - var style = _props.style; - - - var t; - var axisLabel; - - if (!yRange) { - yRange = [height - margins.top - margins.bottom, 0]; - } - - if (yOrient === 'right') { - // y - right - t = 'translate(' + (width - margins.right - margins.left) + ', 0)'; - } else if (yOrient === 'left') { - // y - left - t = 'translate(0, 0)'; - } - - if (yLabel) { - axisLabel = _react2.default.createElement(_label2.default, { - height: height, - width: width, - margins: margins, - labelTitle: yLabel, - labelPosition: yLabelPosition, - labelOffset: labelOffset, - bandPaddingInner: yBandPaddingInner, - bandPaddingOuter: yBandPaddingOuter - }); - } - - return _react2.default.createElement( - 'g', - { transform: t }, - _react2.default.createElement(_axis2.default, { - height: height, - width: width, - margins: margins, - showAxis: showYAxis, - bandPaddingInner: yBandPaddingInner, - bandPaddingOuter: yBandPaddingOuter, - type: 'y', - proxy: y, - domain: yDomain, - range: yRange, - scale: yScale, - orient: yOrient, - tickOrient: yTickOrient, - tickFormat: yTickFormat, - tickPadding: yTickPadding, - tickSizeInner: yTickSizeInner, - tickSizeOuter: yTickSizeOuter, - ticks: yTicks, - style: style - }), - axisLabel - ); - } - }]); - - return Yaxis; - }(_react.Component); - - Yaxis.defaultProps = _extends({ - showYAxis: true, - yAxisClassName: 'react-d3-core__axis__yAxis', - yScale: 'linear', - yOrient: 'left', - yTickOrient: 'left', - yLabelPosition: 'left', - yTickPadding: 3, - yInnerTickSize: 6, - yOuterTickSize: 6 - }, _commonProps2.default); - Yaxis.propTypes = { - height: _react.PropTypes.number.isRequired, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - showYAxis: _react.PropTypes.bool, - y: _react.PropTypes.func, - yDomain: _react.PropTypes.array, - yRange: _react.PropTypes.array, - yScale: _react.PropTypes.string.isRequired, - yOrient: _react.PropTypes.oneOf(['left', 'right']), - yTickOrient: _react.PropTypes.oneOf(['left', 'right']), - yAxisClassName: _react.PropTypes.string, - yTickSizeInner: _react.PropTypes.number, - yTickSizeOuter: _react.PropTypes.number, - yBandPaddingInner: _react.PropTypes.number, - yBandPaddingOuter: _react.PropTypes.number, - yTickPadding: _react.PropTypes.number, - yTickFormat: _react.PropTypes.func, - yTicks: _react.PropTypes.array, - style: _react.PropTypes.object - }; - exports.default = Yaxis; - -/***/ }, -/* 38 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _axis = __webpack_require__(33); - - var _axis2 = _interopRequireDefault(_axis); - - var _commonProps = __webpack_require__(5); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var Grid = function (_Component) { - _inherits(Grid, _Component); - - function Grid(props) { - _classCallCheck(this, Grid); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Grid).call(this, props)); - } - - _createClass(Grid, [{ - key: 'render', - value: function render() { - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var type = _props.type; - var gridAxisClassName = _props.gridAxisClassName; - var xBandPaddingInner = _props.xBandPaddingInner; - var xBandPaddingOuter = _props.xBandPaddingOuter; - var x = _props.x; - var xDomain = _props.xDomain; - var xRange = _props.xRange; - var xScale = _props.xScale; - var yBandPaddingInner = _props.yBandPaddingInner; - var yBandPaddingOuter = _props.yBandPaddingOuter; - var y = _props.y; - var yDomain = _props.yDomain; - var yRange = _props.yRange; - var yScale = _props.yScale; - - - var gridAxis; - var t; - - if (!yRange) { - yRange = [height - margins.top - margins.bottom, 0]; - } - - if (!xRange) { - xRange = [0, width - margins.left - margins.right]; - } - - if (type === 'x') { - t = 'translate(0, ' + (height - margins.bottom - margins.top) + ')'; - var tickSize = height - margins.top - margins.bottom; - - // if grid axis don't pass customize ticks. - gridAxis = _react2.default.createElement(_axis2.default, { - height: height, - width: width, - margins: margins, - type: 'gridx', - showAxis: false, - gridAxisClassName: gridAxisClassName, - bandPaddingInner: xBandPaddingInner, - bandPaddingOuter: xBandPaddingOuter, - tickOrient: 'bottom', - orient: 'bottom', - tickSizeOuter: 0, - tickPadding: 10, - tickFormat: null, - tickSizeInner: -tickSize, - proxy: x, - domain: xDomain, - range: xRange, - scale: xScale - }); - } else if (type === 'y') { - t = 'translate(0, 0)'; - var tickSize = width - margins.left - margins.right; - - // if grid axis don't pass customize ticks. - gridAxis = _react2.default.createElement(_axis2.default, { - height: height, - width: width, - margins: margins, - type: 'gridy', - showAxis: false, - gridAxisClassName: gridAxisClassName, - bandPaddingInner: yBandPaddingInner, - bandPaddingOuter: yBandPaddingOuter, - tickOrient: 'left', - orient: 'left', - tickSizeOuter: 0, - tickPadding: 10, - tickSizeInner: -tickSize, - tickFormat: null, - proxy: y, - scale: yScale, - domain: yDomain, - range: yRange - }); - } - - return _react2.default.createElement( - 'g', - { transform: t }, - gridAxis - ); - } - }]); - - return Grid; - }(_react.Component); - - Grid.defaultProps = _extends({ - type: 'x', - gridAxisClassName: 'react-d3-core__grid_axis' - }, _commonProps2.default); - Grid.propTypes = { - height: _react.PropTypes.number.isRequired, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - type: _react.PropTypes.oneOf(['x', 'y']).isRequired, - gridAxisClassName: _react.PropTypes.string, - x: _react.PropTypes.func, - xDomain: _react.PropTypes.array, - xRange: _react.PropTypes.array, - xScale: _react.PropTypes.oneOf(['linear', 'identity', 'sqrt', 'pow', 'log', 'quantize', 'quantile', 'ordinal', 'time']).isRequired, - xBandPaddingInner: _react.PropTypes.number, - xBandPaddingOuter: _react.PropTypes.number, - y: _react.PropTypes.func, - yDomain: _react.PropTypes.array, - yRange: _react.PropTypes.array, - yScale: _react.PropTypes.oneOf(['linear', 'identity', 'sqrt', 'pow', 'log', 'quantize', 'quantile', 'ordinal', 'time']).isRequired, - yBandPaddingInner: _react.PropTypes.number, - yBandPaddingOuter: _react.PropTypes.number - }; - exports.default = Grid; - -/***/ }, -/* 39 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _grid = __webpack_require__(38); - - var _grid2 = _interopRequireDefault(_grid); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var XGrid = function (_Component) { - _inherits(XGrid, _Component); - - function XGrid(props) { - _classCallCheck(this, XGrid); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(XGrid).call(this, props)); - } - - _createClass(XGrid, [{ - key: 'render', - value: function render() { - return _react2.default.createElement(_grid2.default, _extends({}, this.props, { - type: 'x' - })); - } - }]); - - return XGrid; - }(_react.Component); - - exports.default = XGrid; - -/***/ }, -/* 40 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _grid = __webpack_require__(38); - - var _grid2 = _interopRequireDefault(_grid); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var YGrid = function (_Component) { - _inherits(YGrid, _Component); - - function YGrid(props) { - _classCallCheck(this, YGrid); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(YGrid).call(this, props)); - } - - _createClass(YGrid, [{ - key: 'render', - value: function render() { - return _react2.default.createElement(_grid2.default, _extends({}, this.props, { - type: 'y' - })); - } - }]); - - return YGrid; - }(_react.Component); - - exports.default = YGrid; - -/***/ }, -/* 41 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.xDomain = xDomain; - - var _d3Array = __webpack_require__(8); - - var _d3Array2 = _interopRequireDefault(_d3Array); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function xDomain(props, stack, horizonal) { - var data = props.data; - var chartSeries = props.chartSeries; - var x = props.x; - var xScale = props.xScale; - var xDomain = props.xDomain; - - - if (xDomain) return xDomain; - - if (!horizonal) { - if (xScale === 'ordinal') { - return data.map(function (d) { - return x(d); - }); - } else { - return _d3Array2.default.extent(data, function (d) { - return x(d); - }); - } - } else { - if (stack) { - // stack - var max = 0; - var min = 0; - - data.forEach(function (d) { - var totalTop = 0; - var totalBottom = 0; - - chartSeries.forEach(function (sd) { - var field = sd.field; - - if (d[field] > 0) { - totalTop += x(d[field]); - } else if (d[field] < 0) { - totalBottom += x(d[field]); - } - }); - - if (totalTop > max) max = totalTop; - if (totalBottom < min) min = totalBottom; - }); - - return [min, max]; - } else { - // not stack, single - var domainArr = chartSeries.map(function (d) { - var field = d.field; - var extent = _d3Array2.default.extent(data, function (dt) { - return x(dt[field]); - }); - - return extent; - }); - - return _d3Array2.default.extent([].concat.apply([], domainArr)); - } - } - } - -/***/ }, -/* 42 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.yDomain = yDomain; - - var _d3Array = __webpack_require__(8); - - var _d3Array2 = _interopRequireDefault(_d3Array); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function yDomain(props, stack, horizonal) { - var data = props.data; - var chartSeries = props.chartSeries; - var y = props.y; - var yDomain = props.yDomain; - var yScale = props.yScale; - - - if (yDomain) return yDomain; - - if (!horizonal) { - if (stack) { - // stack - var max = 0; - var min = 0; - - data.forEach(function (d) { - var totalTop = 0; - var totalBottom = 0; - - chartSeries.forEach(function (sd) { - var field = sd.field; - - if (d[field] > 0) { - totalTop += y(d[field]); - } else if (d[field] < 0) { - totalBottom += y(d[field]); - } - }); - - if (totalTop > max) max = totalTop; - if (totalBottom < min) min = totalBottom; - }); - - return [min, max]; - } else { - // not stack, single - var domainArr = chartSeries.map(function (d) { - var field = d.field; - var extent = _d3Array2.default.extent(data, function (dt) { - return y(dt[field]); - }); - - return extent; - }); - - var extentArr = _d3Array2.default.extent([].concat.apply([], domainArr)); - - if (extentArr[0] * extentArr[1] >= 0) { - return [0, extentArr[1]]; - } else { - return extentArr; - } - } - } else { - if (yScale === 'ordinal') { - return data.map(function (d) { - return y(d); - }); - } else { - return _d3Array2.default.extent(data, function (d) { - return y(d); - }); - } - } - } - -/***/ }, -/* 43 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _series = __webpack_require__(44); - - Object.defineProperty(exports, 'series', { - enumerable: true, - get: function get() { - return _series.series; - } - }); - - var _chart = __webpack_require__(46); - - Object.defineProperty(exports, 'Chart', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_chart).default; - } - }); - - var _chartpie = __webpack_require__(48); - - Object.defineProperty(exports, 'ChartPie', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_chartpie).default; - } - }); - - var _line = __webpack_require__(49); - - Object.defineProperty(exports, 'Line', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_line).default; - } - }); - - var _area = __webpack_require__(52); - - Object.defineProperty(exports, 'Area', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_area).default; - } - }); - - var _area_stack = __webpack_require__(53); - - Object.defineProperty(exports, 'AreaStack', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_area_stack).default; - } - }); - - var _bar = __webpack_require__(54); - - Object.defineProperty(exports, 'Bar', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_bar).default; - } - }); - - var _bar_horizontal = __webpack_require__(55); - - Object.defineProperty(exports, 'BarHorizontal', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_bar_horizontal).default; - } - }); - - var _bar_group = __webpack_require__(56); - - Object.defineProperty(exports, 'BarGroup', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_bar_group).default; - } - }); - - var _bar_group_horizontal = __webpack_require__(57); - - Object.defineProperty(exports, 'BarGroupHorizontal', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_bar_group_horizontal).default; - } - }); - - var _bar_stack = __webpack_require__(58); - - Object.defineProperty(exports, 'BarStack', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_bar_stack).default; - } - }); - - var _bar_stack_horizontal = __webpack_require__(59); - - Object.defineProperty(exports, 'BarStackHorizontal', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_bar_stack_horizontal).default; - } - }); - - var _pie = __webpack_require__(60); - - Object.defineProperty(exports, 'Pie', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_pie).default; - } - }); - - var _scatter = __webpack_require__(61); - - Object.defineProperty(exports, 'Scatter', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_scatter).default; - } - }); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/***/ }, -/* 44 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.series = series; - - var _d = __webpack_require__(45); - - var _d2 = _interopRequireDefault(_d); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function series(props, horizontal) { - var data = props.data; - var chartSeries = props.chartSeries; - var x = props.x; - var y = props.y; - var categoricalColors = props.categoricalColors; - - - categoricalColors = categoricalColors || _d2.default.scale.category10(); - - var chartSeriesData = chartSeries.map(function (f, i) { - - // set a color if not set - f.color = f.color || categoricalColors(i); - - // set name if not set - f.name = f.name || f.field; - - // mapping throught data set x, y data - var mapping = data.map(function (d) { - if (!d._style) d._style = {}; - - if (!horizontal) { - return { - x: x(d), - y: y(d[f.field]), - color: f.color, - name: f.name, - field: f.field, - _style: d._style - }; - } else { - return { - y: y(d), - x: x(d[f.field]), - color: f.color, - name: f.name, - field: f.field, - _style: d._style - }; - } - }); - - return Object.assign(f, { data: mapping }); - }); - - return chartSeriesData; - } - -/***/ }, -/* 45 */ -/***/ function(module, exports) { - - module.exports = d3; - -/***/ }, -/* 46 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _reactD3Core = __webpack_require__(3); - - var _commonProps = __webpack_require__(47); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var ChartSvg = function (_Component) { - _inherits(ChartSvg, _Component); - - function ChartSvg(props) { - _classCallCheck(this, ChartSvg); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartSvg).call(this, props)); - } - - _createClass(ChartSvg, [{ - key: 'render', - value: function render() { - var _props = this.props; - var horizontal = _props.horizontal; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var xScale = _props.xScale; - var yScale = _props.yScale; - var xRange = _props.xRange; - var yRange = _props.yRange; - var xDomain = _props.xDomain; - var yDomain = _props.yDomain; - var xTicks = _props.xTicks; - var yTicks = _props.yTicks; - var xTickFormat = _props.xTickFormat; - var yTickFormat = _props.yTickFormat; - var xBandPaddingInner = _props.xBandPaddingInner; - var xBandPaddingOuter = _props.xBandPaddingOuter; - var yBandPaddingInner = _props.yBandPaddingInner; - var yBandPaddingOuter = _props.yBandPaddingOuter; - var xLabel = _props.xLabel; - var yLabel = _props.yLabel; - var stack = _props.stack; - var data = _props.data; - var svgClassName = _props.svgClassName; - var id = _props.id; - var x = _props.x; - var y = _props.y; - - - var xRange = xRange || [0, width - margins.left - margins.right]; - var yRange = yRange || [height - margins.top - margins.bottom, 0]; - var xDomain = xDomain || (0, _reactD3Core.xDomainCount)(this.props, stack, horizontal); - var yDomain = yDomain || (0, _reactD3Core.yDomainCount)(this.props, stack, horizontal); - - if (xScale === 'ordinal') xScale = 'band'; - - if (yScale === 'ordinal') yScale = 'band'; - - var newXScale = { - scale: xScale, - range: xRange, - domain: xDomain, - bandPaddingInner: xBandPaddingInner, - bandPaddingOuter: xBandPaddingOuter - }; - - var xScaleSet = (0, _reactD3Core.scale)(newXScale); - - var newYScale = { - scale: yScale, - range: yRange, - domain: yDomain, - bandPaddingInner: yBandPaddingInner, - bandPaddingOuter: yBandPaddingOuter - }; - - var yScaleSet = (0, _reactD3Core.scale)(newYScale); - - var children = _react2.default.Children.map(this.props.children, function (el) { - if (el) { - return _react2.default.cloneElement(el, { - height: height, - width: width, - margins: margins, - xScaleSet: xScaleSet, - yScaleSet: yScaleSet, - xDomain: xDomain, - yDomain: yDomain, - xRange: xRange, - yRange: yRange, - xBandPaddingInner: xBandPaddingInner, - xBandPaddingOuter: xBandPaddingOuter, - yBandPaddingInner: yBandPaddingInner, - yBandPaddingOuter: yBandPaddingOuter, - xScale: xScale, - yScale: yScale, - xTickFormat: xTickFormat, - yTickFormat: yTickFormat, - xTicks: xTicks, - yTicks: yTicks, - xLabel: xLabel, - yLabel: yLabel, - data: data, - x: x, - y: y - }); - } else { - return null; - } - }); - - var t = 'translate(' + margins.left + ', ' + margins.top + ')'; - - return _react2.default.createElement( - 'svg', - { - height: height, - width: width, - className: svgClassName, - id: id, - ref: 'svgContainer' - }, - _react2.default.createElement( - 'g', - { - transform: t - }, - children - ) - ); - } - }]); - - return ChartSvg; - }(_react.Component); - - ChartSvg.defaultProps = _extends({ - svgClassName: 'react-d3-core__container_svg' - }, _commonProps2.default); - ChartSvg.propTypes = { - id: _react.PropTypes.string, - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - svgClassName: _react.PropTypes.string.isRequired - }; - exports.default = ChartSvg; - -/***/ }, -/* 47 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.pieProps = undefined; - - var _d3Scale = __webpack_require__(7); - - var _d3Scale2 = _interopRequireDefault(_d3Scale); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - var width = 960; - var height = 500; - var margins = { top: 80, right: 100, bottom: 80, left: 100 }; - - exports.default = { - width: width, - height: height, - margins: margins, - y: function y(d) { - return +d; - }, - xScale: 'linear', - yScale: 'linear', - showXGrid: true, - showYGrid: true - }; - var pieProps = exports.pieProps = { - width: width, - height: height, - margins: margins, - innerRadius: 0, - categoricalColors: _d3Scale2.default.scaleCategory10(), - pieSort: function pieSort() {}, - pieTextShow: true - }; - -/***/ }, -/* 48 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _reactD3Core = __webpack_require__(3); - - var _commonProps = __webpack_require__(47); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var ChartSvg = function (_Component) { - _inherits(ChartSvg, _Component); - - function ChartSvg(props) { - _classCallCheck(this, ChartSvg); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartSvg).call(this, props)); - } - - _createClass(ChartSvg, [{ - key: 'render', - value: function render() { - var _this2 = this; - - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var data = _props.data; - var svgClassName = _props.svgClassName; - var id = _props.id; - var name = _props.name; - var value = _props.value; - - - var children = _react2.default.Children.map(this.props.children, function (el) { - if (el) return _react2.default.cloneElement(el, _this2.props);else return null; - }); - - var t = 'translate(' + margins.left + ', ' + margins.top + ')'; - - return _react2.default.createElement( - 'svg', - { - height: height, - width: width, - className: svgClassName, - id: id, - ref: 'svgContainer' - }, - _react2.default.createElement( - 'g', - { - transform: t - }, - children - ) - ); - } - }]); - - return ChartSvg; - }(_react.Component); - - ChartSvg.defaultProps = _extends({ - svgClassName: 'react-d3-core__container_svg' - }, _commonProps2.default); - ChartSvg.propTypes = { - id: _react.PropTypes.string, - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - svgClassName: _react.PropTypes.string.isRequired - }; - exports.default = ChartSvg; - -/***/ }, -/* 49 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _d3Shape = __webpack_require__(50); - - var _d3Shape2 = _interopRequireDefault(_d3Shape); - - var _commonProps = __webpack_require__(47); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - var _series = __webpack_require__(44); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var Line = function (_Component) { - _inherits(Line, _Component); - - function Line(props) { - _classCallCheck(this, Line); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Line).call(this, props)); - } - - _createClass(Line, [{ - key: '_mkLine', - value: function _mkLine(dom) { - var lineClassName = this.props.lineClassName; - - - var dataset = (0, _series.series)(this.props); - var that = this; - - return _react2.default.createElement( - 'g', - null, - dataset.map(function (line, i) { - return _react2.default.createElement('path', { - stroke: line.color, - fill: 'none', - className: lineClassName + ' line', - d: that._setAxes(line.data), - style: line.style, - key: i }); - }) - ); - } - }, { - key: '_setAxes', - value: function _setAxes(data) { - var _props = this.props; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - - - var line = _d3Shape2.default.line().x(function (d) { - return xScaleSet(d.x); - }).y(function (d) { - return yScaleSet(d.y); - }); - - return line.call(this, data); - } - }, { - key: 'render', - value: function render() { - var line = this._mkLine(); - - return _react2.default.createElement( - 'g', - null, - line - ); - } - }]); - - return Line; - }(_react.Component); - - Line.defaultProps = _extends({ - interpolate: null, - lineClassName: 'react-d3-basic__line' - }, _commonProps2.default); - exports.default = Line; - -/***/ }, -/* 50 */ -/***/ function(module, exports, __webpack_require__) { - - (function (global, factory) { - true ? factory(exports, __webpack_require__(51)) : - typeof define === 'function' && define.amd ? define(['exports', 'd3-path'], factory) : - (factory((global.d3_shape = {}),global.d3_path)); - }(this, function (exports,d3Path) { 'use strict'; - - function constant(x) { - return function constant() { - return x; - }; - } - - var epsilon = 1e-12; - var pi = Math.PI; - var halfPi = pi / 2; - var tau = 2 * pi; - - function arcInnerRadius(d) { - return d.innerRadius; - } - - function arcOuterRadius(d) { - return d.outerRadius; - } - - function arcStartAngle(d) { - return d.startAngle; - } - - function arcEndAngle(d) { - return d.endAngle; - } - - function arcPadAngle(d) { - return d && d.padAngle; // Note: optional! - } - - function asin(x) { - return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x); - } - - function intersect(x0, y0, x1, y1, x2, y2, x3, y3) { - var x10 = x1 - x0, y10 = y1 - y0, - x32 = x3 - x2, y32 = y3 - y2, - t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / (y32 * x10 - x32 * y10); - return [x0 + t * x10, y0 + t * y10]; - } - - // Compute perpendicular offset line of length rc. - // http://mathworld.wolfram.com/Circle-LineIntersection.html - function cornerTangents(x0, y0, x1, y1, r1, rc, cw) { - var x01 = x0 - x1, - y01 = y0 - y1, - lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), - ox = lo * y01, - oy = -lo * x01, - x11 = x0 + ox, - y11 = y0 + oy, - x10 = x1 + ox, - y10 = y1 + oy, - x00 = (x11 + x10) / 2, - y00 = (y11 + y10) / 2, - dx = x10 - x11, - dy = y10 - y11, - d2 = dx * dx + dy * dy, - r = r1 - rc, - D = x11 * y10 - x10 * y11, - d = (dy < 0 ? -1 : 1) * Math.sqrt(Math.max(0, r * r * d2 - D * D)), - cx0 = (D * dy - dx * d) / d2, - cy0 = (-D * dx - dy * d) / d2, - cx1 = (D * dy + dx * d) / d2, - cy1 = (-D * dx + dy * d) / d2, - dx0 = cx0 - x00, - dy0 = cy0 - y00, - dx1 = cx1 - x00, - dy1 = cy1 - y00; - - // Pick the closer of the two intersection points. - // TODO Is there a faster way to determine which intersection to use? - if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; - - return { - cx: cx0, - cy: cy0, - x01: -ox, - y01: -oy, - x11: cx0 * (r1 / r - 1), - y11: cy0 * (r1 / r - 1) - }; - } - - function arc() { - var innerRadius = arcInnerRadius, - outerRadius = arcOuterRadius, - cornerRadius = constant(0), - padRadius = null, - startAngle = arcStartAngle, - endAngle = arcEndAngle, - padAngle = arcPadAngle, - context = null; - - function arc() { - var buffer, - r, - r0 = +innerRadius.apply(this, arguments), - r1 = +outerRadius.apply(this, arguments), - a0 = startAngle.apply(this, arguments) - halfPi, - a1 = endAngle.apply(this, arguments) - halfPi, - da = Math.abs(a1 - a0), - cw = a1 > a0; - - if (!context) context = buffer = d3Path.path(); - - // Ensure that the outer radius is always larger than the inner radius. - if (r1 < r0) r = r1, r1 = r0, r0 = r; - - // Is it a point? - if (!(r1 > epsilon)) context.moveTo(0, 0); - - // Or is it a circle or annulus? - else if (da > tau - epsilon) { - context.moveTo(r1 * Math.cos(a0), r1 * Math.sin(a0)); - context.arc(0, 0, r1, a0, a1, !cw); - if (r0 > epsilon) { - context.moveTo(r0 * Math.cos(a1), r0 * Math.sin(a1)); - context.arc(0, 0, r0, a1, a0, cw); - } - } - - // Or is it a circular or annular sector? - else { - var a01 = a0, - a11 = a1, - a00 = a0, - a10 = a1, - da0 = da, - da1 = da, - ap = padAngle.apply(this, arguments) / 2, - rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : Math.sqrt(r0 * r0 + r1 * r1)), - rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)), - rc0 = rc, - rc1 = rc, - t0, - t1; - - // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0. - if (rp > epsilon) { - var p0 = asin(rp / r0 * Math.sin(ap)), - p1 = asin(rp / r1 * Math.sin(ap)); - if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0; - else da0 = 0, a00 = a10 = (a0 + a1) / 2; - if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1; - else da1 = 0, a01 = a11 = (a0 + a1) / 2; - } - - var x01 = r1 * Math.cos(a01), - y01 = r1 * Math.sin(a01), - x10 = r0 * Math.cos(a10), - y10 = r0 * Math.sin(a10); - - // Apply rounded corners? - if (rc > epsilon) { - var x11 = r1 * Math.cos(a11), - y11 = r1 * Math.sin(a11), - x00 = r0 * Math.cos(a00), - y00 = r0 * Math.sin(a00); - - // Restrict the corner radius according to the sector angle. - if (da < pi) { - var oc = da0 > epsilon ? intersect(x01, y01, x00, y00, x11, y11, x10, y10) : [x10, y10], - ax = x01 - oc[0], - ay = y01 - oc[1], - bx = x11 - oc[0], - by = y11 - oc[1], - kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), - lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); - rc0 = Math.min(rc, (r0 - lc) / (kc - 1)); - rc1 = Math.min(rc, (r1 - lc) / (kc + 1)); - } - } - - // Is the sector collapsed to a line? - if (!(da1 > epsilon)) context.moveTo(x01, y01); - - // Does the sector’s outer ring have rounded corners? - else if (rc1 > epsilon) { - t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw); - t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw); - - context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01); - - // Have the corners merged? - if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, Math.atan2(t0.y01, t0.x01), Math.atan2(t1.y01, t1.x01), !cw); - - // Otherwise, draw the two corners and the ring. - else { - context.arc(t0.cx, t0.cy, rc1, Math.atan2(t0.y01, t0.x01), Math.atan2(t0.y11, t0.x11), !cw); - context.arc(0, 0, r1, Math.atan2(t0.cy + t0.y11, t0.cx + t0.x11), Math.atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw); - context.arc(t1.cx, t1.cy, rc1, Math.atan2(t1.y11, t1.x11), Math.atan2(t1.y01, t1.x01), !cw); - } - } - - // Or is the outer ring just a circular arc? - else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw); - - // Is there no inner ring, and it’s a circular sector? - // Or perhaps it’s an annular sector collapsed due to padding? - if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10); - - // Does the sector’s inner ring (or point) have rounded corners? - else if (rc0 > epsilon) { - t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw); - t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw); - - context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01); - - // Have the corners merged? - if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, Math.atan2(t0.y01, t0.x01), Math.atan2(t1.y01, t1.x01), !cw); - - // Otherwise, draw the two corners and the ring. - else { - context.arc(t0.cx, t0.cy, rc0, Math.atan2(t0.y01, t0.x01), Math.atan2(t0.y11, t0.x11), !cw); - context.arc(0, 0, r0, Math.atan2(t0.cy + t0.y11, t0.cx + t0.x11), Math.atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw); - context.arc(t1.cx, t1.cy, rc0, Math.atan2(t1.y11, t1.x11), Math.atan2(t1.y01, t1.x01), !cw); - } - } - - // Or is the inner ring just a circular arc? - else context.arc(0, 0, r0, a10, a00, cw); - } - - context.closePath(); - - if (buffer) return context = null, buffer + "" || null; - } - - arc.centroid = function() { - var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, - a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2; - return [Math.cos(a) * r, Math.sin(a) * r]; - }; - - arc.innerRadius = function(_) { - return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant(+_), arc) : innerRadius; - }; - - arc.outerRadius = function(_) { - return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant(+_), arc) : outerRadius; - }; - - arc.cornerRadius = function(_) { - return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant(+_), arc) : cornerRadius; - }; - - arc.padRadius = function(_) { - return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant(+_), arc) : padRadius; - }; - - arc.startAngle = function(_) { - return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant(+_), arc) : startAngle; - }; - - arc.endAngle = function(_) { - return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant(+_), arc) : endAngle; - }; - - arc.padAngle = function(_) { - return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant(+_), arc) : padAngle; - }; - - arc.context = function(_) { - return arguments.length ? ((context = _ == null ? null : _), arc) : context; - }; - - return arc; - } - - var slice = Array.prototype.slice; - - function bind(curve, args) { - if (args.length < 2) return curve; - args = slice.call(args); - args[0] = null; - return function(context) { - args[0] = context; - return curve.apply(null, args); - }; - } - - function Linear(context) { - this._context = context; - } - - Linear.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._point = 0; - }, - lineEnd: function() { - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; // proceed - default: this._context.lineTo(x, y); break; - } - } - }; - - function curveLinear(context) { - return new Linear(context); - } - - function x(p) { - return p[0]; - } - - function y(p) { - return p[1]; - } - - function area() { - var x0 = x, - x1 = null, - y0 = constant(0), - y1 = y, - defined = constant(true), - context = null, - curve = curveLinear, - output = null; - - function area(data) { - var i, - j, - k, - n = data.length, - d, - defined0 = false, - buffer, - x0z = new Array(n), - y0z = new Array(n); - - if (!context) output = curve(buffer = d3Path.path()); - - for (i = 0; i <= n; ++i) { - if (!(i < n && defined(d = data[i], i, data)) === defined0) { - if (defined0 = !defined0) { - j = i; - output.areaStart(); - output.lineStart(); - } else { - output.lineEnd(); - output.lineStart(); - for (k = i - 1; k >= j; --k) { - output.point(x0z[k], y0z[k]); - } - output.lineEnd(); - output.areaEnd(); - } - } - if (defined0) { - x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data); - output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]); - } - } - - if (buffer) return output = null, buffer + "" || null; - } - - area.x = function(_) { - return arguments.length ? (x0 = typeof _ === "function" ? _ : constant(+_), x1 = null, area) : x0; - }; - - area.x0 = function(_) { - return arguments.length ? (x0 = typeof _ === "function" ? _ : constant(+_), area) : x0; + /** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: Optional. the column number in the original source. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ + SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) }; - area.x1 = function(_) { - return arguments.length ? (x1 = _ == null ? null : typeof _ === "function" ? _ : constant(+_), area) : x1; - }; + if (this.sourceRoot != null) { + needle.source = util.relative(this.sourceRoot, needle.source); + } + if (!this._sources.has(needle.source)) { + return []; + } + needle.source = this._sources.indexOf(needle.source); + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); - area.y = function(_) { - return arguments.length ? (y0 = typeof _ === "function" ? _ : constant(+_), y1 = null, area) : y0; - }; + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); - area.y0 = function(_) { - return arguments.length ? (y0 = typeof _ === "function" ? _ : constant(+_), area) : y0; - }; + mapping = this._originalMappings[++index]; + } + } + } - area.y1 = function(_) { - return arguments.length ? (y1 = _ == null ? null : typeof _ === "function" ? _ : constant(+_), area) : y1; - }; + return mappings; + }; - area.defined = function(_) { - return arguments.length ? (defined = typeof _ === "function" ? _ : constant(!!_), area) : defined; - }; + exports.SourceMapConsumer = SourceMapConsumer; - area.curve = function(_) { - return arguments.length ? (curve = bind(_, arguments), context != null && (output = curve(context)), area) : curve; - }; + /** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The only parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ + function BasicSourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); - area.context = function(_) { - return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context; - }; + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this.file = file; + } - return area; - } + BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); + BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; - function line() { - var x$$ = x, - y$$ = y, - defined = constant(true), - context = null, - curve = curveLinear, - output = null; - - function line(data) { - var i, - n = data.length, - d, - defined0 = false, - buffer; - - if (!context) output = curve(buffer = d3Path.path()); - - for (i = 0; i <= n; ++i) { - if (!(i < n && defined(d = data[i], i, data)) === defined0) { - if (defined0 = !defined0) output.lineStart(); - else output.lineEnd(); + /** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @returns BasicSourceMapConsumer + */ + BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); } - if (defined0) output.point(+x$$(d, i, data), +y$$(d, i, data)); + + destOriginalMappings.push(destMapping); } - if (buffer) return output = null, buffer + "" || null; + destGeneratedMappings.push(destMapping); } - line.x = function(_) { - return arguments.length ? (x$$ = typeof _ === "function" ? _ : constant(+_), line) : x$$; - }; - - line.y = function(_) { - return arguments.length ? (y$$ = typeof _ === "function" ? _ : constant(+_), line) : y$$; - }; - - line.defined = function(_) { - return arguments.length ? (defined = typeof _ === "function" ? _ : constant(!!_), line) : defined; - }; - - line.curve = function(_) { - return arguments.length ? (curve = bind(_, arguments), context != null && (output = curve(context)), line) : curve; - }; + quickSort(smc.__originalMappings, util.compareByOriginalPositions); - line.context = function(_) { - return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context; - }; + return smc; + }; - return line; - } + /** + * The version of the source mapping spec that we are consuming. + */ + BasicSourceMapConsumer.prototype._version = 3; - function descending$1(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; + /** + * The list of original sources. + */ + Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._sources.toArray().map(function (s) { + return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s; + }, this); } + }); - function identity(d) { - return d; - } + /** + * Provide the JIT with a nice shape / hidden class. + */ + function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; + } - function pie() { - var value = identity, - sortValues = descending$1, - sort = null, - startAngle = constant(0), - endAngle = constant(tau), - padAngle = constant(0); - - function pie(data) { - var i, - n = data.length, - j, - k, - sum = 0, - index = new Array(n), - arcs = new Array(n), - a0 = +startAngle.apply(this, arguments), - da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)), - a1, - p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)), - pa = p * (da < 0 ? -1 : 1), - v; - - for (i = 0; i < n; ++i) { - if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) { - sum += v; - } + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; } - - // Optionally sort the arcs by previously-computed values or by data. - if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); }); - else if (sort !== null) index.sort(function(i, j) { return sort(data[i], data[j]); }); - - // Compute the arcs! They are stored in the original data's order. - for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) { - j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = { - data: data[j], - index: i, - value: v, - startAngle: a0, - endAngle: a1, - padAngle: p - }; + else if (aStr.charAt(index) === ',') { + index++; } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); - return arcs; - } - - pie.value = function(_) { - return arguments.length ? (value = typeof _ === "function" ? _ : constant(+_), pie) : value; - }; - - pie.sortValues = function(_) { - return arguments.length ? (sortValues = _, sort = null, pie) : sortValues; - }; + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } - pie.sort = function(_) { - return arguments.length ? (sort = _, sortValues = null, pie) : sort; - }; + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } - pie.startAngle = function(_) { - return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant(+_), pie) : startAngle; - }; + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } - pie.endAngle = function(_) { - return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant(+_), pie) : endAngle; - }; + cachedSegments[str] = segment; + } - pie.padAngle = function(_) { - return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant(+_), pie) : padAngle; - }; + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } - return pie; - } + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } - function Radial(curve) { - this._curve = curve; - } + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; - Radial.prototype = { - areaStart: function() { - this._curve.areaStart(); - }, - areaEnd: function() { - this._curve.areaEnd(); - }, - lineStart: function() { - this._curve.lineStart(); - }, - lineEnd: function() { - this._curve.lineEnd(); - }, - point: function(a, r) { - a -= halfPi, this._curve.point(r * Math.cos(a), r * Math.sin(a)); - } + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; }; - function curveRadial(curve, args) { - curve = bind(curve, args); + /** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ + BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. - function radial(context) { - return new Radial(curve(context)); + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); } - radial._curve = curve; - - return radial; - } + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; - function radialArea() { - var a = area(), - c = a.curve; + /** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ + BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } - a.angle = a.x, delete a.x; - a.startAngle = a.x0, delete a.x0; - a.endAngle = a.x1, delete a.x1; - a.radius = a.y, delete a.y; - a.innerRadius = a.y0, delete a.y0; - a.outerRadius = a.y1, delete a.y1; + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; - a.curve = function(_) { - return arguments.length ? c(curveRadial(_, arguments)) : c()._curve; + /** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. + * - column: The column number in the generated source. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. + * - column: The column number in the original source, or null. + * - name: The original identifier, or null. + */ + BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') }; - return a.curve(curveLinear); - } + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); - function radialLine() { - var l = line(), - c = l.curve; + if (index >= 0) { + var mapping = this._generatedMappings[index]; - l.angle = l.x, delete l.x; - l.radius = l.y, delete l.y; + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + if (this.sourceRoot != null) { + source = util.join(this.sourceRoot, source); + } + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } - l.curve = function(_) { - return arguments.length ? c(curveRadial(_, arguments)) : c()._curve; + return { + source: null, + line: null, + column: null, + name: null }; - - return l.curve(curveLinear); - } - - var circle = { - draw: function(context, size) { - var r = Math.sqrt(size / pi); - context.moveTo(r, 0); - context.arc(0, 0, r, 0, tau); - } }; - var cross = { - draw: function(context, size) { - var r = Math.sqrt(size / 5) / 2; - context.moveTo(-3 * r, -r); - context.lineTo(-r, -r); - context.lineTo(-r, -3 * r); - context.lineTo(r, -3 * r); - context.lineTo(r, -r); - context.lineTo(3 * r, -r); - context.lineTo(3 * r, r); - context.lineTo(r, r); - context.lineTo(r, 3 * r); - context.lineTo(-r, 3 * r); - context.lineTo(-r, r); - context.lineTo(-3 * r, r); - context.closePath(); + /** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ + BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); }; - var tan30 = Math.sqrt(1 / 3); - var tan30_2 = tan30 * 2; - var diamond = { - draw: function(context, size) { - var y = Math.sqrt(size / tan30_2), - x = y * tan30; - context.moveTo(0, -y); - context.lineTo(x, 0); - context.lineTo(0, y); - context.lineTo(-x, 0); - context.closePath(); + /** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ + BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; } - }; - var ka = 0.89081309152928522810; - var kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10); - var kx = Math.sin(tau / 10) * kr; - var ky = -Math.cos(tau / 10) * kr; - var star = { - draw: function(context, size) { - var r = Math.sqrt(size * ka), - x = kx * r, - y = ky * r; - context.moveTo(0, -r); - context.lineTo(x, y); - for (var i = 1; i < 5; ++i) { - var a = tau * i / 5, - c = Math.cos(a), - s = Math.sin(a); - context.lineTo(s * r, -c * r); - context.lineTo(c * x - s * y, s * x + c * y); - } - context.closePath(); + if (this.sourceRoot != null) { + aSource = util.relative(this.sourceRoot, aSource); } - }; - var square = { - draw: function(context, size) { - var w = Math.sqrt(size), - x = -w / 2; - context.rect(x, x, w, w); + if (this._sources.has(aSource)) { + return this.sourcesContent[this._sources.indexOf(aSource)]; } - }; - var sqrt3 = Math.sqrt(3); + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = aSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } - var triangle = { - draw: function(context, size) { - var y = -Math.sqrt(size / (sqrt3 * 3)); - context.moveTo(0, y * 2); - context.lineTo(-sqrt3 * y, -y); - context.lineTo(sqrt3 * y, -y); - context.closePath(); + if ((!url.path || url.path == "/") + && this._sources.has("/" + aSource)) { + return this.sourcesContent[this._sources.indexOf("/" + aSource)]; + } } - }; - var c = -0.5; - var s = Math.sqrt(3) / 2; - var k = 1 / Math.sqrt(12); - var a = (k / 2 + 1) * 3; - var wye = { - draw: function(context, size) { - var r = Math.sqrt(size / a), - x0 = r / 2, - y0 = r * k, - x1 = x0, - y1 = r * k + r, - x2 = -x1, - y2 = y1; - context.moveTo(x0, y0); - context.lineTo(x1, y1); - context.lineTo(x2, y2); - context.lineTo(c * x0 - s * y0, s * x0 + c * y0); - context.lineTo(c * x1 - s * y1, s * x1 + c * y1); - context.lineTo(c * x2 - s * y2, s * x2 + c * y2); - context.lineTo(c * x0 + s * y0, c * y0 - s * x0); - context.lineTo(c * x1 + s * y1, c * y1 - s * x1); - context.lineTo(c * x2 + s * y2, c * y2 - s * x2); - context.closePath(); + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); } }; - var symbols = [ - circle, - cross, - diamond, - square, - star, - triangle, - wye - ]; - - function symbol() { - var type = constant(circle), - size = constant(64), - context = null; - - function symbol() { - var buffer; - if (!context) context = buffer = d3Path.path(); - type.apply(this, arguments).draw(context, +size.apply(this, arguments)); - if (buffer) return context = null, buffer + "" || null; + /** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: The column number in the original source. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ + BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + if (this.sourceRoot != null) { + source = util.relative(this.sourceRoot, source); + } + if (!this._sources.has(source)) { + return { + line: null, + column: null, + lastColumn: null + }; } + source = this._sources.indexOf(source); - symbol.type = function(_) { - return arguments.length ? (type = typeof _ === "function" ? _ : constant(_), symbol) : type; - }; - - symbol.size = function(_) { - return arguments.length ? (size = typeof _ === "function" ? _ : constant(+_), symbol) : size; - }; - - symbol.context = function(_) { - return arguments.length ? (context = _ == null ? null : _, symbol) : context; + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') }; - return symbol; - } - - function noop() {} - - function point(that, x, y) { - that._context.bezierCurveTo( - (2 * that._x0 + that._x1) / 3, - (2 * that._y0 + that._y1) / 3, - (that._x0 + 2 * that._x1) / 3, - (that._y0 + 2 * that._y1) / 3, - (that._x0 + 4 * that._x1 + x) / 6, - (that._y0 + 4 * that._y1 + y) / 6 + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) ); - } - function Basis(context) { - this._context = context; - } + if (index >= 0) { + var mapping = this._originalMappings[index]; - Basis.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = - this._y0 = this._y1 = NaN; - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 3: point(this, this._x1, this._y1); // proceed - case 2: this._context.lineTo(this._x1, this._y1); break; - } - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; break; - case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed - default: point(this, x, y); break; + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; } - this._x0 = this._x1, this._x1 = x; - this._y0 = this._y1, this._y1 = y; } - }; - function basis(context) { - return new Basis(context); - } - - function BasisClosed(context) { - this._context = context; - } - - BasisClosed.prototype = { - areaStart: noop, - areaEnd: noop, - lineStart: function() { - this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = - this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN; - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 1: { - this._context.moveTo(this._x2, this._y2); - this._context.closePath(); - break; - } - case 2: { - this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3); - this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3); - this._context.closePath(); - break; - } - case 3: { - this.point(this._x2, this._y2); - this.point(this._x3, this._y3); - this.point(this._x4, this._y4); - break; - } - } - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._x2 = x, this._y2 = y; break; - case 1: this._point = 2; this._x3 = x, this._y3 = y; break; - case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break; - default: point(this, x, y); break; - } - this._x0 = this._x1, this._x1 = x; - this._y0 = this._y1, this._y1 = y; - } + return { + line: null, + column: null, + lastColumn: null + }; }; - function basisClosed(context) { - return new BasisClosed(context); - } + exports.BasicSourceMapConsumer = BasicSourceMapConsumer; - function BasisOpen(context) { - this._context = context; + /** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The only parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ + function IndexedSourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); } - BasisOpen.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = - this._y0 = this._y1 = NaN; - this._point = 0; - }, - lineEnd: function() { - if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; break; - case 1: this._point = 2; break; - case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break; - case 3: this._point = 4; // proceed - default: point(this, x, y); break; - } - this._x0 = this._x1, this._x1 = x; - this._y0 = this._y1, this._y1 = y; - } - }; + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); - function basisOpen(context) { - return new BasisOpen(context); + if (version != this._version) { + throw new Error('Unsupported version: ' + version); } - function Bundle(context, beta) { - this._basis = basis(context); - this._beta = beta; - } + this._sources = new ArraySet(); + this._names = new ArraySet(); - Bundle.prototype = { - lineStart: function() { - this._x = []; - this._y = []; - this._basis.lineStart(); - }, - lineEnd: function() { - var x = this._x, - y = this._y, - j = x.length - 1; - - if (j > 0) { - var x0 = x[0], - y0 = y[0], - dx = x[j] - x0, - dy = y[j] - y0, - i = -1, - t; - - while (++i <= j) { - t = i / j; - this._basis.point( - this._beta * x[i] + (1 - this._beta) * (x0 + t * dx), - this._beta * y[i] + (1 - this._beta) * (y0 + t * dy) - ); - } - } + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); - this._x = this._y = null; - this._basis.lineEnd(); - }, - point: function(x, y) { - this._x.push(+x); - this._y.push(+y); + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); } - }; + lastOffset = offset; - function bundle(context, beta) { - return beta == null ? new Bundle(context, 0.85) - : (beta = +beta) === 1 ? basis(context) - : new Bundle(context, beta); - } + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map')) + } + }); + } - function point$1(that, x, y) { - that._context.bezierCurveTo( - that._x1 + that._k * (that._x2 - that._x0), - that._y1 + that._k * (that._y2 - that._y0), - that._x2 + that._k * (that._x1 - x), - that._y2 + that._k * (that._y1 - y), - that._x2, - that._y2 - ); - } + IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); + IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; - function Cardinal(context, k) { - this._context = context; - this._k = k; - } + /** + * The version of the source mapping spec that we are consuming. + */ + IndexedSourceMapConsumer.prototype._version = 3; - Cardinal.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = this._x2 = - this._y0 = this._y1 = this._y2 = NaN; - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 2: this._context.lineTo(this._x2, this._y2); break; - case 3: point$1(this, this._x1, this._y1); break; - } - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; this._x1 = x, this._y1 = y; break; - case 2: this._point = 3; // proceed - default: point$1(this, x, y); break; + /** + * The list of original sources. + */ + Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); } - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; } - }; - - function cardinal(context, tension) { - return new Cardinal(context, (tension == null ? 1 : 1 - tension) / 6); + return sources; } + }); - function CardinalClosed(context, k) { - this._context = context; - this._k = k; - } + /** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. + * - column: The column number in the generated source. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. + * - column: The column number in the original source, or null. + * - name: The original identifier, or null. + */ + IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; - CardinalClosed.prototype = { - areaStart: noop, - areaEnd: noop, - lineStart: function() { - this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = - this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN; - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 1: { - this._context.moveTo(this._x3, this._y3); - this._context.closePath(); - break; - } - case 2: { - this._context.lineTo(this._x3, this._y3); - this._context.closePath(); - break; - } - case 3: { - this.point(this._x3, this._y3); - this.point(this._x4, this._y4); - this.point(this._x5, this._y5); - break; + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; } - } - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._x3 = x, this._y3 = y; break; - case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break; - case 2: this._point = 3; this._x5 = x, this._y5 = y; break; - default: point$1(this, x, y); break; - } - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; } - }; - function cardinalClosed(context, tension) { - return new CardinalClosed(context, (tension == null ? 1 : 1 - tension) / 6); - } + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; - function CardinalOpen(context, k) { - this._context = context; - this._k = k; - } + /** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ + IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; - CardinalOpen.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = this._x2 = - this._y0 = this._y1 = this._y2 = NaN; - this._point = 0; - }, - lineEnd: function() { - if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; break; - case 1: this._point = 2; break; - case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; - case 3: this._point = 4; // proceed - default: point$1(this, x, y); break; + /** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ + IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; } - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; } - }; - - function cardinalOpen(context, tension) { - return new CardinalOpen(context, (tension == null ? 1 : 1 - tension) / 6); - } - - function point$2(that, x, y) { - var x1 = that._x1, - y1 = that._y1, - x2 = that._x2, - y2 = that._y2; - - if (that._l01_a > epsilon) { - var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a, - n = 3 * that._l01_a * (that._l01_a + that._l12_a); - x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n; - y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n; + if (nullOnMissing) { + return null; } - - if (that._l23_a > epsilon) { - var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a, - m = 3 * that._l23_a * (that._l23_a + that._l12_a); - x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m; - y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m; + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); } + }; - that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2); - } - - function CatmullRom(context, alpha) { - this._context = context; - this._alpha = alpha; - } - - CatmullRom.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = this._x2 = - this._y0 = this._y1 = this._y2 = NaN; - this._l01_a = this._l12_a = this._l23_a = - this._l01_2a = this._l12_2a = this._l23_2a = - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 2: this._context.lineTo(this._x2, this._y2); break; - case 3: this.point(this, this._x2, this._y2); break; - } - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - - if (this._point) { - var x23 = this._x2 - x, - y23 = this._y2 - y; - this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); + /** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: The column number in the original source. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ + IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) { + continue; } - - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; break; - case 2: this._point = 3; // proceed - default: point$2(this, x, y); break; + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; } - - this._l01_a = this._l12_a, this._l12_a = this._l23_a; - this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; } - }; - - function catmullRom(context, alpha) { - return (alpha = alpha == null ? 0.5 : +alpha) - ? new CatmullRom(context, alpha) - : cardinal(context, 0); - } - function CatmullRomClosed(context, alpha) { - this._context = context; - this._alpha = alpha; - } + return { + line: null, + column: null + }; + }; - CatmullRomClosed.prototype = { - areaStart: noop, - areaEnd: noop, - lineStart: function() { - this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = - this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN; - this._l01_a = this._l12_a = this._l23_a = - this._l01_2a = this._l12_2a = this._l23_2a = - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 1: { - this._context.moveTo(this._x3, this._y3); - this._context.closePath(); - break; - } - case 2: { - this._context.lineTo(this._x3, this._y3); - this._context.closePath(); - break; - } - case 3: { - this.point(this._x3, this._y3); - this.point(this._x4, this._y4); - this.point(this._x5, this._y5); - break; + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + if (section.consumer.sourceRoot !== null) { + source = util.join(section.consumer.sourceRoot, source); } - } - }, - point: function(x, y) { - x = +x, y = +y; - - if (this._point) { - var x23 = this._x2 - x, - y23 = this._y2 - y; - this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); - } + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; - switch (this._point) { - case 0: this._point = 1; this._x3 = x, this._y3 = y; break; - case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break; - case 2: this._point = 3; this._x5 = x, this._y5 = y; break; - default: point$2(this, x, y); break; + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } } - - this._l01_a = this._l12_a, this._l12_a = this._l23_a; - this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; } - }; - - function catmullRomClosed(context, alpha) { - return (alpha = alpha == null ? 0.5 : +alpha) - ? new CatmullRomClosed(context, alpha) - : cardinalClosed(context, 0); - } - function CatmullRomOpen(context, alpha) { - this._context = context; - this._alpha = alpha; - } + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; - CatmullRomOpen.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = this._x2 = - this._y0 = this._y1 = this._y2 = NaN; - this._l01_a = this._l12_a = this._l23_a = - this._l01_2a = this._l12_2a = this._l23_2a = - this._point = 0; - }, - lineEnd: function() { - if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - - if (this._point) { - var x23 = this._x2 - x, - y23 = this._y2 - y; - this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); - } + exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; - switch (this._point) { - case 0: this._point = 1; break; - case 1: this._point = 2; break; - case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; - case 3: this._point = 4; // proceed - default: point$2(this, x, y); break; - } - this._l01_a = this._l12_a, this._l12_a = this._l23_a; - this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; - } - }; +/***/ }, +/* 2 */ +/***/ function(module, exports) { - function catmullRomOpen(context, alpha) { - return (alpha = alpha == null ? 0.5 : +alpha) - ? new CatmullRomOpen(context, alpha) - : cardinalOpen(context, 0); - } + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ - function LinearClosed(context) { - this._context = context; + /** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ + function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); } + } + exports.getArg = getArg; - LinearClosed.prototype = { - areaStart: noop, - areaEnd: noop, - lineStart: function() { - this._point = 0; - }, - lineEnd: function() { - if (this._point) this._context.closePath(); - }, - point: function(x, y) { - x = +x, y = +y; - if (this._point) this._context.lineTo(x, y); - else this._point = 1, this._context.moveTo(x, y); - } - }; + var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/; + var dataUrlRegexp = /^data:.+\,.+$/; - function linearClosed(context) { - return new LinearClosed(context); + function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; + } + exports.urlParse = urlParse; - function sign(x) { - return x < 0 ? -1 : 1; + function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; } - - // Calculate the slopes of the tangents (Hermite-type interpolation) based on - // the following paper: Steffen, M. 1990. A Simple Method for Monotonic - // Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO. - // NOV(II), P. 443, 1990. - function slope3(that, x2, y2) { - var h0 = that._x1 - that._x0, - h1 = x2 - that._x1, - s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0), - s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0), - p = (s0 * h1 + s1 * h0) / (h0 + h1); - return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0; + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; } - - // Calculate a one-sided slope. - function slope2(that, t) { - var h = that._x1 - that._x0; - return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t; + if (aParsedUrl.host) { + url += aParsedUrl.host; } - - // According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations - // "you can express cubic Hermite interpolation in terms of cubic Bézier curves - // with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1". - function point$3(that, t0, t1) { - var x0 = that._x0, - y0 = that._y0, - x1 = that._x1, - y1 = that._y1, - dx = (x1 - x0) / 3; - that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1); + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port } - - function MonotoneX(context) { - this._context = context; + if (aParsedUrl.path) { + url += aParsedUrl.path; } + return url; + } + exports.urlGenerate = urlGenerate; - MonotoneX.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = - this._y0 = this._y1 = - this._t0 = NaN; - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 2: this._context.lineTo(this._x1, this._y1); break; - case 3: point$3(this, this._t0, slope2(this, this._t0)); break; - } - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - var t1 = NaN; - - x = +x, y = +y; - if (x === this._x1 && y === this._y1) return; // Ignore coincident points. - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; break; - case 2: this._point = 3; point$3(this, slope2(this, t1 = slope3(this, x, y)), t1); break; - default: point$3(this, this._t0, t1 = slope3(this, x, y)); break; + /** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ + function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; } - - this._x0 = this._x1, this._x1 = x; - this._y0 = this._y1, this._y1 = y; - this._t0 = t1; } } + path = parts.join('/'); - function MonotoneY(context) { - this._context = new ReflectContext(context); + if (path === '') { + path = isAbsolute ? '/' : '.'; } - (MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) { - MonotoneX.prototype.point.call(this, y, x); - }; - - function ReflectContext(context) { - this._context = context; + if (url) { + url.path = path; + return urlGenerate(url); } + return path; + } + exports.normalize = normalize; - ReflectContext.prototype = { - moveTo: function(x, y) { this._context.moveTo(y, x); }, - closePath: function() { this._context.closePath(); }, - lineTo: function(x, y) { this._context.lineTo(y, x); }, - bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); } - }; - - function monotoneX(context) { - return new MonotoneX(context); + /** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ + function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; } - - function monotoneY(context) { - return new MonotoneY(context); + if (aPath === "") { + aPath = "."; } - - function Natural(context) { - this._context = context; + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; } - Natural.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x = []; - this._y = []; - }, - lineEnd: function() { - var x = this._x, - y = this._y, - n = x.length; - - if (n) { - this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]); - if (n === 2) { - this._context.lineTo(x[1], y[1]); - } else { - var px = controlPoints(x), - py = controlPoints(y); - for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) { - this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]); - } - } - } - - if (this._line || (this._line !== 0 && n === 1)) this._context.closePath(); - this._line = 1 - this._line; - this._x = this._y = null; - }, - point: function(x, y) { - this._x.push(+x); - this._y.push(+y); + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; } - }; - - // See https://www.particleincell.com/2012/bezier-splines/ for derivation. - function controlPoints(x) { - var i, - n = x.length - 1, - m, - a = new Array(n), - b = new Array(n), - r = new Array(n); - a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1]; - for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1]; - a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n]; - for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1]; - a[n - 1] = r[n - 1] / b[n - 1]; - for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i]; - b[n - 1] = (x[n] + a[n - 1]) / 2; - for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1]; - return [a, b]; + return urlGenerate(aPathUrl); } - function natural(context) { - return new Natural(context); + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; } - function Step(context, t) { - this._context = context; - this._t = t; + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); } - Step.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x = this._y = NaN; - this._point = 0; - }, - lineEnd: function() { - if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y); - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; // proceed - default: { - var t = x > this._x ? this._t : 1 - this._t; - if (t <= 0) { - this._context.lineTo(this._x, y); - this._context.lineTo(x, y); - } else if (t >= 1) { - this._context.lineTo(x, this._y); - this._context.lineTo(x, y); - } else { - var x1 = (this._x + x) * t; - this._context.lineTo(x1, this._y); - this._context.lineTo(x1, y); - } - break; - } - } - this._x = x, this._y = y; - } - }; + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); - function step(context) { - return new Step(context, 0.5); + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); } + return joined; + } + exports.join = join; - function stepBefore(context) { - return new Step(context, 0); - } + exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp); + }; - function stepAfter(context) { - return new Step(context, 1); + /** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ + function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; } - var slice$1 = Array.prototype.slice; + aRoot = aRoot.replace(/\/$/, ''); - function none(series, order) { - if (!((n = series.length) > 1)) return; - for (var i = 1, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) { - s0 = s1, s1 = series[order[i]]; - for (var j = 0; j < m; ++j) { - s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1]; - } + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; } - } - function none$1(series) { - var n = series.length, o = new Array(n); - while (--n >= 0) o[n] = n; - return o; - } + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } - function stackValue(d, key) { - return d[key]; + ++level; } - function stack() { - var keys = constant([]), - order = none$1, - offset = none, - value = stackValue; - - function stack(data) { - var kz = keys.apply(this, arguments), - i, - m = data.length, - n = kz.length, - sz = new Array(n), - oz; - - for (i = 0; i < n; ++i) { - for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) { - si[j] = sij = [0, +value(data[j], ki, j, data)]; - sij.data = data[j]; - } - si.key = ki; - } + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); + } + exports.relative = relative; - for (i = 0, oz = order(sz); i < n; ++i) { - sz[oz[i]].index = i; - } + var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); + }()); - offset(sz, oz); - return sz; - } + function identity (s) { + return s; + } - stack.keys = function(_) { - return arguments.length ? (keys = typeof _ === "function" ? _ : constant(slice$1.call(_)), stack) : keys; - }; + /** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ + function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } - stack.value = function(_) { - return arguments.length ? (value = typeof _ === "function" ? _ : constant(+_), stack) : value; - }; + return aStr; + } + exports.toSetString = supportsNullProto ? identity : toSetString; - stack.order = function(_) { - return arguments.length ? (order = _ == null ? none$1 : typeof _ === "function" ? _ : constant(slice$1.call(_)), stack) : order; - }; + function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } - stack.offset = function(_) { - return arguments.length ? (offset = _ == null ? none : _, stack) : offset; - }; + return aStr; + } + exports.fromSetString = supportsNullProto ? identity : fromSetString; - return stack; + function isProtoString(s) { + if (!s) { + return false; } - function expand(series, order) { - if (!((n = series.length) > 0)) return; - for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) { - for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0; - if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y; - } - none(series, order); + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; } - function silhouette(series, order) { - if (!((n = series.length) > 0)) return; - for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) { - for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0; - s0[j][1] += s0[j][0] = -y / 2; - } - none(series, order); + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; } - function wiggle(series, order) { - if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return; - for (var y = 0, j = 1, s0, m, n; j < m; ++j) { - for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) { - var si = series[order[i]], - sij0 = si[j][1] || 0, - sij1 = si[j - 1][1] || 0, - s3 = (sij0 - sij1) / 2; - for (var k = 0; k < i; ++k) { - var sk = series[order[k]], - skj0 = sk[j][1] || 0, - skj1 = sk[j - 1][1] || 0; - s3 += skj0 - skj1; - } - s1 += sij0, s2 += s3 * sij0; - } - s0[j - 1][1] += s0[j - 1][0] = y; - if (s1) y -= s2 / s1; + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; } - s0[j - 1][1] += s0[j - 1][0] = y; - none(series, order); } - function ascending(series) { - var sums = series.map(sum); - return none$1(series).sort(function(a, b) { return sums[a] - sums[b]; }); - } + return true; + } - function sum(series) { - var s = 0, i = -1, n = series.length, v; - while (++i < n) if (v = +series[i][1]) s += v; - return s; + /** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ + function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = mappingA.source - mappingB.source; + if (cmp !== 0) { + return cmp; } - function descending(series) { - return ascending(series).reverse(); + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; } - function insideOut(series) { - var n = series.length, - i, - j, - sums = series.map(sum), - order = none$1(series).sort(function(a, b) { return sums[b] - sums[a]; }), - top = 0, - bottom = 0, - tops = [], - bottoms = []; - - for (i = 0; i < n; ++i) { - j = order[i]; - if (top < bottom) { - top += sums[j]; - tops.push(j); - } else { - bottom += sums[j]; - bottoms.push(j); - } - } - - return bottoms.reverse().concat(tops); + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; } - function reverse(series) { - return none$1(series).reverse(); + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; } - var version = "0.5.1"; - - exports.version = version; - exports.arc = arc; - exports.area = area; - exports.line = line; - exports.pie = pie; - exports.radialArea = radialArea; - exports.radialLine = radialLine; - exports.symbol = symbol; - exports.symbols = symbols; - exports.symbolCircle = circle; - exports.symbolCross = cross; - exports.symbolDiamond = diamond; - exports.symbolSquare = square; - exports.symbolStar = star; - exports.symbolTriangle = triangle; - exports.symbolWye = wye; - exports.curveBasisClosed = basisClosed; - exports.curveBasisOpen = basisOpen; - exports.curveBasis = basis; - exports.curveBundle = bundle; - exports.curveCardinalClosed = cardinalClosed; - exports.curveCardinalOpen = cardinalOpen; - exports.curveCardinal = cardinal; - exports.curveCatmullRomClosed = catmullRomClosed; - exports.curveCatmullRomOpen = catmullRomOpen; - exports.curveCatmullRom = catmullRom; - exports.curveLinearClosed = linearClosed; - exports.curveLinear = curveLinear; - exports.curveMonotoneX = monotoneX; - exports.curveMonotoneY = monotoneY; - exports.curveNatural = natural; - exports.curveStep = step; - exports.curveStepAfter = stepAfter; - exports.curveStepBefore = stepBefore; - exports.stack = stack; - exports.stackOffsetExpand = expand; - exports.stackOffsetNone = none; - exports.stackOffsetSilhouette = silhouette; - exports.stackOffsetWiggle = wiggle; - exports.stackOrderAscending = ascending; - exports.stackOrderDescending = descending; - exports.stackOrderInsideOut = insideOut; - exports.stackOrderNone = none$1; - exports.stackOrderReverse = reverse; - - })); + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } -/***/ }, -/* 51 */ -/***/ function(module, exports, __webpack_require__) { + return mappingA.name - mappingB.name; + } + exports.compareByOriginalPositions = compareByOriginalPositions; - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_path = global.d3_path || {}))); - }(this, function (exports) { 'use strict'; - - var pi = Math.PI; - var tau = 2 * pi; - var epsilon = 1e-6; - var tauEpsilon = tau - epsilon; - function Path() { - this._x0 = this._y0 = // start of current subpath - this._x1 = this._y1 = null; // end of current subpath - this._ = []; + /** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ + function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; } - function path() { - return new Path; + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; } - Path.prototype = path.prototype = { - constructor: Path, - moveTo: function(x, y) { - this._.push("M", this._x0 = this._x1 = +x, ",", this._y0 = this._y1 = +y); - }, - closePath: function() { - if (this._x1 !== null) { - this._x1 = this._x0, this._y1 = this._y0; - this._.push("Z"); - } - }, - lineTo: function(x, y) { - this._.push("L", this._x1 = +x, ",", this._y1 = +y); - }, - quadraticCurveTo: function(x1, y1, x, y) { - this._.push("Q", +x1, ",", +y1, ",", this._x1 = +x, ",", this._y1 = +y); - }, - bezierCurveTo: function(x1, y1, x2, y2, x, y) { - this._.push("C", +x1, ",", +y1, ",", +x2, ",", +y2, ",", this._x1 = +x, ",", this._y1 = +y); - }, - arcTo: function(x1, y1, x2, y2, r) { - x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r; - var x0 = this._x1, - y0 = this._y1, - x21 = x2 - x1, - y21 = y2 - y1, - x01 = x0 - x1, - y01 = y0 - y1, - l01_2 = x01 * x01 + y01 * y01; - - // Is the radius negative? Error. - if (r < 0) throw new Error("negative radius: " + r); - - // Is this path empty? Move to (x1,y1). - if (this._x1 === null) { - this._.push( - "M", this._x1 = x1, ",", this._y1 = y1 - ); - } - - // Or, is (x1,y1) coincident with (x0,y0)? Do nothing. - else if (!(l01_2 > epsilon)); - - // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear? - // Equivalently, is (x1,y1) coincident with (x2,y2)? - // Or, is the radius zero? Line to (x1,y1). - else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) { - this._.push( - "L", this._x1 = x1, ",", this._y1 = y1 - ); - } - - // Otherwise, draw an arc! - else { - var x20 = x2 - x0, - y20 = y2 - y0, - l21_2 = x21 * x21 + y21 * y21, - l20_2 = x20 * x20 + y20 * y20, - l21 = Math.sqrt(l21_2), - l01 = Math.sqrt(l01_2), - l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), - t01 = l / l01, - t21 = l / l21; - - // If the start tangent is not coincident with (x0,y0), line to. - if (Math.abs(t01 - 1) > epsilon) { - this._.push( - "L", x1 + t01 * x01, ",", y1 + t01 * y01 - ); - } - - this._.push( - "A", r, ",", r, ",0,0,", +(y01 * x20 > x01 * y20), ",", this._x1 = x1 + t21 * x21, ",", this._y1 = y1 + t21 * y21 - ); - } - }, - arc: function(x, y, r, a0, a1, ccw) { - x = +x, y = +y, r = +r; - var dx = r * Math.cos(a0), - dy = r * Math.sin(a0), - x0 = x + dx, - y0 = y + dy, - cw = 1 ^ ccw, - da = ccw ? a0 - a1 : a1 - a0; - - // Is the radius negative? Error. - if (r < 0) throw new Error("negative radius: " + r); - - // Is this path empty? Move to (x0,y0). - if (this._x1 === null) { - this._.push( - "M", x0, ",", y0 - ); - } - - // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0). - else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) { - this._.push( - "L", x0, ",", y0 - ); - } - - // Is this arc empty? We’re done. - if (!r) return; - - // Is this a complete circle? Draw two arcs to complete the circle. - if (da > tauEpsilon) { - this._.push( - "A", r, ",", r, ",0,1,", cw, ",", x - dx, ",", y - dy, - "A", r, ",", r, ",0,1,", cw, ",", this._x1 = x0, ",", this._y1 = y0 - ); - } - - // Otherwise, draw an arc! - else { - if (da < 0) da = da % tau + tau; - this._.push( - "A", r, ",", r, ",0,", +(da >= pi), ",", cw, ",", this._x1 = x + r * Math.cos(a1), ",", this._y1 = y + r * Math.sin(a1) - ); - } - }, - rect: function(x, y, w, h) { - this._.push("M", this._x0 = this._x1 = +x, ",", this._y0 = this._y1 = +y, "h", +w, "v", +h, "h", -w, "Z"); - }, - toString: function() { - return this._.join(""); - } - }; - - var version = "0.1.5"; - - exports.version = version; - exports.path = path; - - })); + cmp = mappingA.source - mappingB.source; + if (cmp !== 0) { + return cmp; + } -/***/ }, -/* 52 */ -/***/ function(module, exports, __webpack_require__) { + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } - "use strict"; + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } - Object.defineProperty(exports, "__esModule", { - value: true - }); + return mappingA.name - mappingB.name; + } + exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + if (aStr1 > aStr2) { + return 1; + } - var _react = __webpack_require__(2); + return -1; + } - var _react2 = _interopRequireDefault(_react); + /** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ + function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } - var _d3Shape = __webpack_require__(50); + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } - var _d3Shape2 = _interopRequireDefault(_d3Shape); + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } - var _commonProps = __webpack_require__(47); + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } - var _commonProps2 = _interopRequireDefault(_commonProps); + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } - var _series = __webpack_require__(44); + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +/***/ }, +/* 3 */ +/***/ function(module, exports) { - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + exports.GREATEST_LOWER_BOUND = 1; + exports.LEAST_UPPER_BOUND = 2; - var Area = function (_Component) { - _inherits(Area, _Component); + /** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ + function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } - function Area(props) { - _classCallCheck(this, Area); + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } + } - return _possibleConstructorReturn(this, Object.getPrototypeOf(Area).call(this, props)); + /** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ + exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; } - _createClass(Area, [{ - key: '_mkArea', - value: function _mkArea() { - var _props = this.props; - var areaClassName = _props.areaClassName; - var areaOpacity = _props.areaOpacity; - - - var dataset = (0, _series.series)(this.props); - var that = this; - - return _react2.default.createElement( - 'g', - null, - dataset.map(function (area) { - return _react2.default.createElement('path', { - className: areaClassName + ' area', - fill: area.color, - d: that._setAxes(area.data), - style: area.style - }); - }) - ); - } - }, { - key: '_setAxes', - value: function _setAxes(data) { - var _props2 = this.props; - var height = _props2.height; - var margins = _props2.margins; - var xScaleSet = _props2.xScaleSet; - var yScaleSet = _props2.yScaleSet; - - - var area = _d3Shape2.default.area().x(function (d) { - return xScaleSet(d.x); - }).y0(function (d) { - var domain = yScaleSet.domain(); - - if (domain[0] * domain[1] < 0) { - return yScaleSet(0); - } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { - return yScaleSet.range()[0]; - } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { - return yScaleSet.range()[1]; - } - }).y1(function (d) { - return yScaleSet(d.y); - }); + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } - return area.call(this, data); - } - }, { - key: 'render', - value: function render() { - var area = this._mkArea(); - - return _react2.default.createElement( - 'g', - null, - area - ); + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; } - }]); + --index; + } - return Area; - }(_react.Component); + return index; + }; - Area.defaultProps = _extends({ - areaClassName: 'react-d3-basic__area' - }, _commonProps2.default); - exports.default = Area; /***/ }, -/* 53 */ +/* 4 */ /***/ function(module, exports, __webpack_require__) { - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _d3Shape = __webpack_require__(50); - - var _d3Shape2 = _interopRequireDefault(_d3Shape); - - var _commonProps = __webpack_require__(47); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - var _series = __webpack_require__(44); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ - var AreaStack = function (_Component) { - _inherits(AreaStack, _Component); + var util = __webpack_require__(2); + var has = Object.prototype.hasOwnProperty; - function AreaStack(props) { - _classCallCheck(this, AreaStack); + /** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ + function ArraySet() { + this._array = []; + this._set = Object.create(null); + } - return _possibleConstructorReturn(this, Object.getPrototypeOf(AreaStack).call(this, props)); + /** + * Static method for creating ArraySet instances from an existing array. + */ + ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); } + return set; + }; - _createClass(AreaStack, [{ - key: '_mkStack', - value: function _mkStack() { - var areaClassName = this.props.areaClassName; - - - var dataset = (0, _series.series)(this.props); - - var _setStack = this._setStack(); - var _setAxes = this._setAxes(); + /** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ + ArraySet.prototype.size = function ArraySet_size() { + return Object.getOwnPropertyNames(this._set).length; + }; - return _react2.default.createElement( - 'g', - null, - _setStack(dataset).map(function (area) { - return _react2.default.createElement('path', { - className: areaClassName + ' area', - fill: area.color, - d: _setAxes(area.data), - style: area.style - }); - }) - ); - } - }, { - key: '_setStack', - value: function _setStack() { - var chartSeries = this.props.chartSeries; + /** + * Add the given string to this set. + * + * @param String aStr + */ + ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = util.toSetString(aStr); + var isDuplicate = has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + this._set[sStr] = idx; + } + }; + /** + * Is the given string a member of this set? + * + * @param String aStr + */ + ArraySet.prototype.has = function ArraySet_has(aStr) { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + }; - var buildOut = function buildOut(len) { - // baseline for positive and negative bars respectively. - var currentXOffsets = []; - var currentXIndex = 0; - return function (d, y0, y) { + /** + * What is the index of the given string in the array? + * + * @param String aStr + */ + ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + throw new Error('"' + aStr + '" is not in the set.'); + }; - if (currentXIndex++ % len === 0) { - currentXOffsets = [0, 0]; - } + /** + * What is the element at the given index? + * + * @param Number aIdx + */ + ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); + }; - if (y >= 0) { - d.y0 = currentXOffsets[1]; - d.y = y; - currentXOffsets[1] += y; - } else { - d.y0 = currentXOffsets[0] + y; - d.y = -y; - currentXOffsets[0] += y; - } - }; - }; - return d3.layout.stack().values(function (d) { - return d.data; - }).out(buildOut(chartSeries.length)); - } - }, { - key: '_setAxes', - value: function _setAxes() { - var _props = this.props; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - - - return _d3Shape2.default.area().x(function (d) { - return xScaleSet(d.x); - }).y0(function (d) { - return yScaleSet(d.y0); - }).y1(function (d) { - return yScaleSet(d.y0 + d.y); - }); - } - }, { - key: 'render', - value: function render() { - var area = this._mkStack(); - - return _react2.default.createElement( - 'g', - null, - area - ); - } - }]); + /** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ + ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); + }; - return AreaStack; - }(_react.Component); + exports.ArraySet = ArraySet; - AreaStack.defaultProps = _extends({ - areaClass: 'react-d3-basics__area_stack', - areaClassName: 'react-d3-basic__area_stack' - }, _commonProps2.default); - exports.default = AreaStack; /***/ }, -/* 54 */ +/* 5 */ /***/ function(module, exports, __webpack_require__) { - "use strict"; + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + var base64 = __webpack_require__(6); - Object.defineProperty(exports, "__esModule", { - value: true - }); + // A single base 64 digit can contain 6 bits of data. For the base 64 variable + // length quantities we use in the source map spec, the first bit is the sign, + // the next four bits are the actual value, and the 6th bit is the + // continuation bit. The continuation bit tells us whether there are more + // digits in this value following this digit. + // + // Continuation + // | Sign + // | | + // V V + // 101011 - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + var VLQ_BASE_SHIFT = 5; - var _react = __webpack_require__(2); + // binary: 100000 + var VLQ_BASE = 1 << VLQ_BASE_SHIFT; - var _react2 = _interopRequireDefault(_react); + // binary: 011111 + var VLQ_BASE_MASK = VLQ_BASE - 1; - var _series = __webpack_require__(44); + // binary: 100000 + var VLQ_CONTINUATION_BIT = VLQ_BASE; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + /** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ + function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; + } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + /** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ + function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; + } - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + /** + * Returns the base 64 VLQ encoded value. + */ + exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + var vlq = toVLQSigned(aValue); - var Bar = function (_Component) { - _inherits(Bar, _Component); + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); - function Bar(props) { - _classCallCheck(this, Bar); + return encoded; + }; - return _possibleConstructorReturn(this, Object.getPrototypeOf(Bar).call(this, props)); - } + /** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ + exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; - _createClass(Bar, [{ - key: 'triggerOver', - value: function triggerOver(data, e) { - this.props.onMouseOver(e, data); - } - }, { - key: 'triggerOut', - value: function triggerOut(data, e) { - this.props.onMouseOut(e, data); + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); } - }, { - key: '_mkBar', - value: function _mkBar() { - var _this2 = this; - - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - - - var that = this; - var dataset = (0, _series.series)(this.props)[0]; - var domain = yScaleSet.domain(); - var zeroBase; - - if (domain[0] * domain[1] < 0) { - zeroBase = yScaleSet(0); - } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { - zeroBase = yScaleSet.range()[0]; - } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { - zeroBase = yScaleSet.range()[1]; - } - return _react2.default.createElement( - 'g', - null, - dataset.data.map(function (bar) { - return _react2.default.createElement('rect', { - className: barClassName + ' bar', - x: xScaleSet(bar.x) || xScaleSet(bar.x) === 0 ? xScaleSet(bar.x) : -10000, - y: bar.y < 0 ? zeroBase : yScaleSet(bar.y), - width: xScaleSet.bandwidth(), - height: bar.y < domain[0] ? 0 : Math.abs(zeroBase - yScaleSet(bar.y)), - fill: bar._style.color ? bar._style.color : dataset.color, - style: Object.assign({}, dataset.style, bar._style), - onMouseOut: that.triggerOut.bind(_this2, bar), - onMouseOver: that.triggerOver.bind(_this2, bar) - }); - }) - ); + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); } - }, { - key: 'render', - value: function render() { - var bar = this._mkBar(); - - return _react2.default.createElement( - 'g', - null, - bar - ); - } - }]); - return Bar; - }(_react.Component); + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); - Bar.defaultProps = { - onMouseOver: function onMouseOver(d) {}, - onMouseOut: function onMouseOut(d) {}, - barClassName: 'react-d3-basic__bar' + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; }; - exports.default = Bar; - -/***/ }, -/* 55 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +/***/ }, +/* 6 */ +/***/ function(module, exports) { - var _react = __webpack_require__(2); + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ - var _react2 = _interopRequireDefault(_react); + var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); - var _series = __webpack_require__(44); + /** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ + exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); + }; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + /** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ + exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + var littleA = 97; // 'a' + var littleZ = 122; // 'z' - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + var zero = 48; // '0' + var nine = 57; // '9' - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + var plus = 43; // '+' + var slash = 47; // '/' - var BarHorizontal = function (_Component) { - _inherits(BarHorizontal, _Component); + var littleOffset = 26; + var numberOffset = 52; - function BarHorizontal(props) { - _classCallCheck(this, BarHorizontal); + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarHorizontal).call(this, props)); + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); } - _createClass(BarHorizontal, [{ - key: 'triggerOver', - value: function triggerOver(data, e) { - this.props.onMouseOver(e, data); - } - }, { - key: 'triggerOut', - value: function triggerOut(data, e) { - this.props.onMouseOut(e, data); - } - }, { - key: '_mkBar', - value: function _mkBar(dom) { - var _this2 = this; - - var _props = this.props; - var height = _props.height; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - - - var that = this; - var dataset = (0, _series.series)(this.props, true)[0]; - var domain = xScaleSet.domain(); - var zeroBase; - - if (domain[0] * domain[1] < 0) { - zeroBase = xScaleSet(0); - } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { - zeroBase = xScaleSet.range()[0]; - } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { - zeroBase = xScaleSet.range()[1]; - } + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } - return _react2.default.createElement( - 'g', - null, - dataset.data.map(function (bar) { - return _react2.default.createElement('rect', { - className: barClassName + ' bar', - y: yScaleSet(bar.y) || yScaleSet(bar.y) === 0 ? yScaleSet(bar.y) : -10000, - x: bar.x > 0 ? zeroBase : zeroBase - Math.abs(zeroBase - xScaleSet(bar.x)), - height: yScaleSet.bandwidth(), - width: bar.x < domain[0] ? 0 : Math.abs(zeroBase - xScaleSet(bar.x)), - fill: bar._style.color ? bar._style.color : dataset.color, - style: Object.assign({}, dataset.style, bar._style), - onMouseOut: that.triggerOut.bind(_this2, bar), - onMouseOver: that.triggerOver.bind(_this2, bar) - }); - }) - ); - } - }, { - key: 'render', - value: function render() { - var bar = this._mkBar(); - - return _react2.default.createElement( - 'g', - null, - bar - ); - } - }]); + // 62: + + if (charCode == plus) { + return 62; + } - return BarHorizontal; - }(_react.Component); + // 63: / + if (charCode == slash) { + return 63; + } - BarHorizontal.defaultProps = { - onMouseOver: function onMouseOver(d) {}, - onMouseOut: function onMouseOut(d) {}, - barClassName: 'react-d3-basic__bar_horizontal' + // Invalid base64 digit. + return -1; }; - exports.default = BarHorizontal; -/***/ }, -/* 56 */ -/***/ function(module, exports, __webpack_require__) { - "use strict"; +/***/ }, +/* 7 */ +/***/ function(module, exports) { - Object.defineProperty(exports, "__esModule", { - value: true - }); + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + // It turns out that some (most?) JavaScript engines don't self-host + // `Array.prototype.sort`. This makes sense because C++ will likely remain + // faster than JS when doing raw CPU-intensive sorting. However, when using a + // custom comparator function, calling back and forth between the VM's C++ and + // JIT'd JS is rather slow *and* loses JIT type information, resulting in + // worse generated code for the comparator function than would be optimal. In + // fact, when sorting with a comparator, these costs outweigh the benefits of + // sorting in C++. By using our own JS-implemented Quick Sort (below), we get + // a ~3500ms mean speed-up in `bench/bench.html`. - var _react = __webpack_require__(2); + /** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ + function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; + } - var _react2 = _interopRequireDefault(_react); + /** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ + function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); + } - var _d3Scale = __webpack_require__(7); + /** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ + function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } - var _d3Scale2 = _interopRequireDefault(_d3Scale); + swap(ary, i + 1, j); + var q = i + 1; - var _series = __webpack_require__(44); + // (2) Recurse on each half. - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } + } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + /** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ + exports.quickSort = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); + }; - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +/***/ } +/******/ ]) +}); +; - var BarGroup = function (_Component) { - _inherits(BarGroup, _Component); +/***/ }), +/* 95 */ +/***/ (function(module, exports, __webpack_require__) { - function BarGroup(props) { - _classCallCheck(this, BarGroup); +"use strict"; - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarGroup).call(this, props)); - } - _createClass(BarGroup, [{ - key: 'triggerOver', - value: function triggerOver(data, e) { - this.props.onMouseOver(e, data); - } - }, { - key: 'triggerOut', - value: function triggerOut(data, e) { - this.props.onMouseOut(e, data); - } - }, { - key: '_mkBarGroup', - value: function _mkBarGroup(dom) { - var _this2 = this; - - var _props = this.props; - var height = _props.height; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - - - var that = this; - var dataset = (0, _series.series)(this.props); - var x1 = _d3Scale2.default.scaleBand(); - - // mapping x1, inner x axis - x1.domain(dataset.map(function (d) { - return d.field; - })).range([0, xScaleSet.bandwidth()]).padding(.1).round(true); - - var domain = yScaleSet.domain(); - var zeroBase; - - if (domain[0] * domain[1] < 0) { - zeroBase = yScaleSet(0); - } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { - zeroBase = yScaleSet.range()[0]; - } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { - zeroBase = yScaleSet.range()[1]; - } +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getForceUpdate = exports.createProxy = undefined; - return dataset.map(function (barGroup, i) { - return _react2.default.createElement( - 'g', - { className: 'bargroup' }, - barGroup.data.map(function (bar) { - return _react2.default.createElement('rect', { - className: barClassName + ' bar', - width: x1.bandwidth(), - x: xScaleSet(bar.x) || xScaleSet(bar.x) === 0 ? xScaleSet(bar.x) + x1.bandwidth() * i : -10000, - y: bar.y < 0 ? zeroBase : yScaleSet(bar.y), - height: bar.y < domain[0] ? 0 : Math.abs(zeroBase - yScaleSet(bar.y)), - fill: barGroup.color, - onMouseOut: that.triggerOut.bind(_this2, bar), - onMouseOver: that.triggerOver.bind(_this2, bar), - style: barGroup.style - }); - }) - ); - }); - } - }, { - key: 'render', - value: function render() { - var bar = this._mkBarGroup(); - - return _react2.default.createElement( - 'g', - null, - bar - ); - } - }]); +var _supportsProtoAssignment = __webpack_require__(51); - return BarGroup; - }(_react.Component); +var _supportsProtoAssignment2 = _interopRequireDefault(_supportsProtoAssignment); - BarGroup.defaultProps = { - onMouseOver: function onMouseOver(d) {}, - onMouseOut: function onMouseOut(d) {}, - barClassName: 'react-d3-basic__bar_group' - }; - exports.default = BarGroup; +var _createClassProxy = __webpack_require__(96); -/***/ }, -/* 57 */ -/***/ function(module, exports, __webpack_require__) { +var _createClassProxy2 = _interopRequireDefault(_createClassProxy); - "use strict"; +var _reactDeepForceUpdate = __webpack_require__(198); - Object.defineProperty(exports, "__esModule", { - value: true - }); +var _reactDeepForceUpdate2 = _interopRequireDefault(_reactDeepForceUpdate); - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var _react = __webpack_require__(2); +if (!(0, _supportsProtoAssignment2.default)()) { + console.warn('This JavaScript environment does not support __proto__. ' + 'This means that react-proxy is unable to proxy React components. ' + 'Features that rely on react-proxy, such as react-transform-hmr, ' + 'will not function as expected.'); +} - var _react2 = _interopRequireDefault(_react); +exports.createProxy = _createClassProxy2.default; +exports.getForceUpdate = _reactDeepForceUpdate2.default; - var _d3Scale = __webpack_require__(7); +/***/ }), +/* 96 */ +/***/ (function(module, exports, __webpack_require__) { - var _d3Scale2 = _interopRequireDefault(_d3Scale); +"use strict"; - var _series = __webpack_require__(44); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +Object.defineProperty(exports, "__esModule", { + value: true +}); - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +exports.default = proxyClass; +exports.default = createClassProxy; - var BarGroupHorizontal = function (_Component) { - _inherits(BarGroupHorizontal, _Component); +var _find = __webpack_require__(97); - function BarGroupHorizontal(props) { - _classCallCheck(this, BarGroupHorizontal); +var _find2 = _interopRequireDefault(_find); - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarGroupHorizontal).call(this, props)); - } +var _createPrototypeProxy = __webpack_require__(175); - _createClass(BarGroupHorizontal, [{ - key: 'triggerOver', - value: function triggerOver(data, e) { - this.props.onMouseOver(e, data); - } - }, { - key: 'triggerOut', - value: function triggerOut(data, e) { - this.props.onMouseOut(e, data); - } - }, { - key: '_mkBarGroup', - value: function _mkBarGroup() { - var _this2 = this; - - var _props = this.props; - var height = _props.height; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - var onMouseOut = _props.onMouseOut; - var onMouseOver = _props.onMouseOver; - - - var that = this; - var dataset = (0, _series.series)(this.props, true); - var y1 = _d3Scale2.default.scaleBand(); - - // mapping x1, inner x axis - y1.domain(dataset.map(function (d) { - return d.field; - })).range([0, yScaleSet.bandwidth()]).padding(.1).round(true); - - var domain = xScaleSet.domain(); - var zeroBase; - - if (domain[0] * domain[1] < 0) { - zeroBase = xScaleSet(0); - } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { - zeroBase = xScaleSet.range()[0]; - } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { - zeroBase = xScaleSet.range()[1]; - } +var _createPrototypeProxy2 = _interopRequireDefault(_createPrototypeProxy); - return _react2.default.createElement( - 'g', - null, - dataset.map(function (barGroup, i) { - return _react2.default.createElement( - 'g', - { className: 'bargroup' }, - barGroup.data.map(function (bar) { - return _react2.default.createElement('rect', { - className: barClassName + ' bar', - height: y1.bandwidth(), - y: yScaleSet(bar.y) || yScaleSet(bar.y) === 0 ? yScaleSet(bar.y) + y1.bandwidth() * i : -10000, - x: bar.x > 0 ? zeroBase : zeroBase - Math.abs(zeroBase - xScaleSet(bar.x)), - width: bar.x < domain[0] ? 0 : Math.abs(zeroBase - xScaleSet(bar.x)), - fill: barGroup.color, - onMouseOut: that.triggerOut.bind(_this2, bar), - onMouseOver: that.triggerOver.bind(_this2, bar), - style: barGroup.style - }); - }) - ); - }) - ); - } - }, { - key: 'render', - value: function render() { - var bar = this._mkBarGroup(); - - return _react2.default.createElement( - 'g', - null, - bar - ); - } - }]); +var _bindAutoBindMethods = __webpack_require__(196); - return BarGroupHorizontal; - }(_react.Component); +var _bindAutoBindMethods2 = _interopRequireDefault(_bindAutoBindMethods); - BarGroupHorizontal.defaultProps = { - onMouseOver: function onMouseOver(d) {}, - onMouseOut: function onMouseOut(d) {}, - barClassName: 'react-d3-basic__bar_group_horizontal' - }; - exports.default = BarGroupHorizontal; +var _deleteUnknownAutoBindMethods = __webpack_require__(197); -/***/ }, -/* 58 */ -/***/ function(module, exports, __webpack_require__) { +var _deleteUnknownAutoBindMethods2 = _interopRequireDefault(_deleteUnknownAutoBindMethods); - "use strict"; +var _supportsProtoAssignment = __webpack_require__(51); - Object.defineProperty(exports, "__esModule", { - value: true - }); +var _supportsProtoAssignment2 = _interopRequireDefault(_supportsProtoAssignment); - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var _react = __webpack_require__(2); +function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - var _react2 = _interopRequireDefault(_react); +var RESERVED_STATICS = ['length', 'name', 'arguments', 'caller', 'prototype', 'toString']; - var _d = __webpack_require__(45); +function isEqualDescriptor(a, b) { + if (!a && !b) { + return true; + } + if (!a || !b) { + return false; + } + for (var key in a) { + if (a[key] !== b[key]) { + return false; + } + } + return true; +} - var _d2 = _interopRequireDefault(_d); +// This was originally a WeakMap but we had issues with React Native: +// https://github.com/gaearon/react-proxy/issues/50#issuecomment-192928066 +var allProxies = []; +function findProxy(Component) { + var pair = (0, _find2.default)(allProxies, function (_ref) { + var _ref2 = _slicedToArray(_ref, 1); - var _series = __webpack_require__(44); + var key = _ref2[0]; + return key === Component; + }); + return pair ? pair[1] : null; +} +function addProxy(Component, proxy) { + allProxies.push([Component, proxy]); +} - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function proxyClass(InitialComponent) { + // Prevent double wrapping. + // Given a proxy class, return the existing proxy managing it. + var existingProxy = findProxy(InitialComponent); + if (existingProxy) { + return existingProxy; + } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + var prototypeProxy = (0, _createPrototypeProxy2.default)(); + var CurrentComponent = undefined; + var ProxyComponent = undefined; + + var staticDescriptors = {}; + function wasStaticModifiedByUser(key) { + // Compare the descriptor with the one we previously set ourselves. + var currentDescriptor = Object.getOwnPropertyDescriptor(ProxyComponent, key); + return !isEqualDescriptor(staticDescriptors[key], currentDescriptor); + } + + function instantiate(factory, context, params) { + var component = factory(); + + try { + return component.apply(context, params); + } catch (err) { + (function () { + // Native ES6 class instantiation + var instance = new (Function.prototype.bind.apply(component, [null].concat(_toConsumableArray(params))))(); + + Object.keys(instance).forEach(function (key) { + if (RESERVED_STATICS.indexOf(key) > -1) { + return; + } + context[key] = instance[key]; + }); + })(); + } + } + + try { + // Create a proxy constructor with matching name + ProxyComponent = new Function('factory', 'instantiate', 'return function ' + (InitialComponent.name || 'ProxyComponent') + '() {\n return instantiate(factory, this, arguments);\n }')(function () { + return CurrentComponent; + }, instantiate); + } catch (err) { + // Some environments may forbid dynamic evaluation + ProxyComponent = function ProxyComponent() { + return instantiate(function () { + return CurrentComponent; + }, this, arguments); + }; + } + + // Point proxy constructor to the proxy prototype + ProxyComponent.prototype = prototypeProxy.get(); + + // Proxy toString() to the current constructor + ProxyComponent.toString = function toString() { + return CurrentComponent.toString(); + }; + + function update(NextComponent) { + if (typeof NextComponent !== 'function') { + throw new Error('Expected a constructor.'); + } + + // Prevent proxy cycles + var existingProxy = findProxy(NextComponent); + if (existingProxy) { + return update(existingProxy.__getCurrent()); + } + + // Save the next constructor so we call it + CurrentComponent = NextComponent; + + // Update the prototype proxy with new methods + var mountedInstances = prototypeProxy.update(NextComponent.prototype); + + // Set up the constructor property so accessing the statics work + ProxyComponent.prototype.constructor = ProxyComponent; + + // Set up the same prototype for inherited statics + ProxyComponent.__proto__ = NextComponent.__proto__; + + // Copy static methods and properties + Object.getOwnPropertyNames(NextComponent).forEach(function (key) { + if (RESERVED_STATICS.indexOf(key) > -1) { + return; + } + + var staticDescriptor = _extends({}, Object.getOwnPropertyDescriptor(NextComponent, key), { + configurable: true + }); + + // Copy static unless user has redefined it at runtime + if (!wasStaticModifiedByUser(key)) { + Object.defineProperty(ProxyComponent, key, staticDescriptor); + staticDescriptors[key] = staticDescriptor; + } + }); + + // Remove old static methods and properties + Object.getOwnPropertyNames(ProxyComponent).forEach(function (key) { + if (RESERVED_STATICS.indexOf(key) > -1) { + return; + } + + // Skip statics that exist on the next class + if (NextComponent.hasOwnProperty(key)) { + return; + } + + // Skip non-configurable statics + var descriptor = Object.getOwnPropertyDescriptor(ProxyComponent, key); + if (descriptor && !descriptor.configurable) { + return; + } + + // Delete static unless user has redefined it at runtime + if (!wasStaticModifiedByUser(key)) { + delete ProxyComponent[key]; + delete staticDescriptors[key]; + } + }); + + // Try to infer displayName + ProxyComponent.displayName = NextComponent.displayName || NextComponent.name; + + // We might have added new methods that need to be auto-bound + mountedInstances.forEach(_bindAutoBindMethods2.default); + mountedInstances.forEach(_deleteUnknownAutoBindMethods2.default); + + // Let the user take care of redrawing + return mountedInstances; + }; + + function get() { + return ProxyComponent; + } + + function getCurrent() { + return CurrentComponent; + } + + update(InitialComponent); + + var proxy = { get: get, update: update }; + addProxy(ProxyComponent, proxy); + + Object.defineProperty(proxy, '__getCurrent', { + configurable: false, + writable: false, + enumerable: false, + value: getCurrent + }); + + return proxy; +} + +function createFallback(Component) { + var CurrentComponent = Component; + + return { + get: function get() { + return CurrentComponent; + }, + update: function update(NextComponent) { + CurrentComponent = NextComponent; + } + }; +} + +function createClassProxy(Component) { + return Component.__proto__ && (0, _supportsProtoAssignment2.default)() ? proxyClass(Component) : createFallback(Component); +} + +/***/ }), +/* 97 */ +/***/ (function(module, exports, __webpack_require__) { + +var createFind = __webpack_require__(98), + findIndex = __webpack_require__(171); + +/** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ +var find = createFind(findIndex); + +module.exports = find; + + +/***/ }), +/* 98 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIteratee = __webpack_require__(52), + isArrayLike = __webpack_require__(21), + keys = __webpack_require__(28); + +/** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ +function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = baseIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; +} + +module.exports = createFind; + + +/***/ }), +/* 99 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIsMatch = __webpack_require__(100), + getMatchData = __webpack_require__(157), + matchesStrictComparable = __webpack_require__(68); + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +module.exports = baseMatches; + + +/***/ }), +/* 100 */ +/***/ (function(module, exports, __webpack_require__) { + +var Stack = __webpack_require__(53), + baseIsEqual = __webpack_require__(58); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; +} + +module.exports = baseIsMatch; + + +/***/ }), +/* 101 */ +/***/ (function(module, exports) { + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +module.exports = listCacheClear; + + +/***/ }), +/* 102 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(24); + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} + +module.exports = listCacheDelete; + + +/***/ }), +/* 103 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(24); + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +module.exports = listCacheGet; + + +/***/ }), +/* 104 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(24); + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +module.exports = listCacheHas; + + +/***/ }), +/* 105 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(24); + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +module.exports = listCacheSet; + + +/***/ }), +/* 106 */ +/***/ (function(module, exports, __webpack_require__) { + +var ListCache = __webpack_require__(23); + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; + this.size = 0; +} + +module.exports = stackClear; + + +/***/ }), +/* 107 */ +/***/ (function(module, exports) { + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; +} + +module.exports = stackDelete; + + +/***/ }), +/* 108 */ +/***/ (function(module, exports) { + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +module.exports = stackGet; + + +/***/ }), +/* 109 */ +/***/ (function(module, exports) { + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +module.exports = stackHas; + + +/***/ }), +/* 110 */ +/***/ (function(module, exports, __webpack_require__) { + +var ListCache = __webpack_require__(23), + Map = __webpack_require__(36), + MapCache = __webpack_require__(37); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} + +module.exports = stackSet; + + +/***/ }), +/* 111 */ +/***/ (function(module, exports, __webpack_require__) { + +var isFunction = __webpack_require__(54), + isMasked = __webpack_require__(114), + isObject = __webpack_require__(20), + toSource = __webpack_require__(57); + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +module.exports = baseIsNative; + + +/***/ }), +/* 112 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(19); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +module.exports = getRawTag; + + +/***/ }), +/* 113 */ +/***/ (function(module, exports) { + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString.call(value); +} + +module.exports = objectToString; + + +/***/ }), +/* 114 */ +/***/ (function(module, exports, __webpack_require__) { + +var coreJsData = __webpack_require__(115); + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +module.exports = isMasked; + + +/***/ }), +/* 115 */ +/***/ (function(module, exports, __webpack_require__) { + +var root = __webpack_require__(10); + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +module.exports = coreJsData; + + +/***/ }), +/* 116 */ +/***/ (function(module, exports) { + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +module.exports = getValue; + + +/***/ }), +/* 117 */ +/***/ (function(module, exports, __webpack_require__) { + +var Hash = __webpack_require__(118), + ListCache = __webpack_require__(23), + Map = __webpack_require__(36); + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +module.exports = mapCacheClear; + + +/***/ }), +/* 118 */ +/***/ (function(module, exports, __webpack_require__) { + +var hashClear = __webpack_require__(119), + hashDelete = __webpack_require__(120), + hashGet = __webpack_require__(121), + hashHas = __webpack_require__(122), + hashSet = __webpack_require__(123); + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +module.exports = Hash; + + +/***/ }), +/* 119 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(26); + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; +} + +module.exports = hashClear; + + +/***/ }), +/* 120 */ +/***/ (function(module, exports) { + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +module.exports = hashDelete; + + +/***/ }), +/* 121 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(26); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +module.exports = hashGet; + + +/***/ }), +/* 122 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(26); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); +} + +module.exports = hashHas; + + +/***/ }), +/* 123 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(26); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +module.exports = hashSet; + + +/***/ }), +/* 124 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(27); + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +module.exports = mapCacheDelete; + + +/***/ }), +/* 125 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +module.exports = isKeyable; + + +/***/ }), +/* 126 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(27); + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +module.exports = mapCacheGet; + + +/***/ }), +/* 127 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(27); + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +module.exports = mapCacheHas; + + +/***/ }), +/* 128 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(27); + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +module.exports = mapCacheSet; + + +/***/ }), +/* 129 */ +/***/ (function(module, exports, __webpack_require__) { + +var Stack = __webpack_require__(53), + equalArrays = __webpack_require__(59), + equalByTag = __webpack_require__(133), + equalObjects = __webpack_require__(137), + getTag = __webpack_require__(152), + isArray = __webpack_require__(11), + isBuffer = __webpack_require__(63), + isTypedArray = __webpack_require__(64); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +module.exports = baseIsEqualDeep; + + +/***/ }), +/* 130 */ +/***/ (function(module, exports) { + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +module.exports = setCacheAdd; + + +/***/ }), +/* 131 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +module.exports = setCacheHas; + + +/***/ }), +/* 132 */ +/***/ (function(module, exports) { + +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +module.exports = arraySome; + + +/***/ }), +/* 133 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(19), + Uint8Array = __webpack_require__(134), + eq = __webpack_require__(25), + equalArrays = __webpack_require__(59), + mapToArray = __webpack_require__(135), + setToArray = __webpack_require__(136); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]'; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +module.exports = equalByTag; + + +/***/ }), +/* 134 */ +/***/ (function(module, exports, __webpack_require__) { + +var root = __webpack_require__(10); + +/** Built-in value references. */ +var Uint8Array = root.Uint8Array; + +module.exports = Uint8Array; + + +/***/ }), +/* 135 */ +/***/ (function(module, exports) { + +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +module.exports = mapToArray; + + +/***/ }), +/* 136 */ +/***/ (function(module, exports) { + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +module.exports = setToArray; + + +/***/ }), +/* 137 */ +/***/ (function(module, exports, __webpack_require__) { + +var getAllKeys = __webpack_require__(138); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked && stack.get(other)) { + return stacked == other; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +module.exports = equalObjects; + + +/***/ }), +/* 138 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetAllKeys = __webpack_require__(139), + getSymbols = __webpack_require__(140), + keys = __webpack_require__(28); + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); +} + +module.exports = getAllKeys; + + +/***/ }), +/* 139 */ +/***/ (function(module, exports, __webpack_require__) { + +var arrayPush = __webpack_require__(62), + isArray = __webpack_require__(11); + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); +} + +module.exports = baseGetAllKeys; + + +/***/ }), +/* 140 */ +/***/ (function(module, exports, __webpack_require__) { + +var arrayFilter = __webpack_require__(141), + stubArray = __webpack_require__(142); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; + +module.exports = getSymbols; + + +/***/ }), +/* 141 */ +/***/ (function(module, exports) { + +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} + +module.exports = arrayFilter; + + +/***/ }), +/* 142 */ +/***/ (function(module, exports) { + +/** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ +function stubArray() { + return []; +} + +module.exports = stubArray; + + +/***/ }), +/* 143 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseTimes = __webpack_require__(144), + isArguments = __webpack_require__(38), + isArray = __webpack_require__(11), + isBuffer = __webpack_require__(63), + isIndex = __webpack_require__(39), + isTypedArray = __webpack_require__(64); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; +} + +module.exports = arrayLikeKeys; + + +/***/ }), +/* 144 */ +/***/ (function(module, exports) { + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +module.exports = baseTimes; + + +/***/ }), +/* 145 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(18), + isObjectLike = __webpack_require__(14); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]'; + +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; +} + +module.exports = baseIsArguments; + + +/***/ }), +/* 146 */ +/***/ (function(module, exports) { + +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ +function stubFalse() { + return false; +} + +module.exports = stubFalse; + + +/***/ }), +/* 147 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(18), + isLength = __webpack_require__(40), + isObjectLike = __webpack_require__(14); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; +} + +module.exports = baseIsTypedArray; + + +/***/ }), +/* 148 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(55); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} +}()); + +module.exports = nodeUtil; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 149 */ +/***/ (function(module, exports, __webpack_require__) { + +var isPrototype = __webpack_require__(66), + nativeKeys = __webpack_require__(150); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +module.exports = baseKeys; + + +/***/ }), +/* 150 */ +/***/ (function(module, exports, __webpack_require__) { + +var overArg = __webpack_require__(151); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object); + +module.exports = nativeKeys; + + +/***/ }), +/* 151 */ +/***/ (function(module, exports) { + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +module.exports = overArg; + + +/***/ }), +/* 152 */ +/***/ (function(module, exports, __webpack_require__) { + +var DataView = __webpack_require__(153), + Map = __webpack_require__(36), + Promise = __webpack_require__(154), + Set = __webpack_require__(155), + WeakMap = __webpack_require__(156), + baseGetTag = __webpack_require__(18), + toSource = __webpack_require__(57); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + setTag = '[object Set]', + weakMapTag = '[object WeakMap]'; - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +var dataViewTag = '[object DataView]'; - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); - var BarStack = function (_Component) { - _inherits(BarStack, _Component); +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} - function BarStack(props) { - _classCallCheck(this, BarStack); +module.exports = getTag; - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarStack).call(this, props)); - } - _createClass(BarStack, [{ - key: 'triggerOver', - value: function triggerOver(data, e) { - this.props.onMouseOver(e, data); - } - }, { - key: 'triggerOut', - value: function triggerOut(data, e) { - this.props.onMouseOut(e, data); - } - }, { - key: '_mkBarStack', - value: function _mkBarStack() { - var _this2 = this; - - var _props = this.props; - var height = _props.height; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - - - var that = this; - var dataset = (0, _series.series)(this.props); - var _setStack = this._setStack(); - - var domain = yScaleSet.domain(); - var zeroBase; - - if (domain[0] * domain[1] < 0) { - zeroBase = yScaleSet(0); - } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { - zeroBase = yScaleSet.range()[0]; - } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { - zeroBase = yScaleSet.range()[1]; - } +/***/ }), +/* 153 */ +/***/ (function(module, exports, __webpack_require__) { + +var getNative = __webpack_require__(13), + root = __webpack_require__(10); + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'); + +module.exports = DataView; + + +/***/ }), +/* 154 */ +/***/ (function(module, exports, __webpack_require__) { + +var getNative = __webpack_require__(13), + root = __webpack_require__(10); + +/* Built-in method references that are verified to be native. */ +var Promise = getNative(root, 'Promise'); + +module.exports = Promise; + + +/***/ }), +/* 155 */ +/***/ (function(module, exports, __webpack_require__) { + +var getNative = __webpack_require__(13), + root = __webpack_require__(10); + +/* Built-in method references that are verified to be native. */ +var Set = getNative(root, 'Set'); + +module.exports = Set; + + +/***/ }), +/* 156 */ +/***/ (function(module, exports, __webpack_require__) { + +var getNative = __webpack_require__(13), + root = __webpack_require__(10); + +/* Built-in method references that are verified to be native. */ +var WeakMap = getNative(root, 'WeakMap'); + +module.exports = WeakMap; + + +/***/ }), +/* 157 */ +/***/ (function(module, exports, __webpack_require__) { + +var isStrictComparable = __webpack_require__(67), + keys = __webpack_require__(28); + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} + +module.exports = getMatchData; + + +/***/ }), +/* 158 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIsEqual = __webpack_require__(58), + get = __webpack_require__(159), + hasIn = __webpack_require__(165), + isKey = __webpack_require__(41), + isStrictComparable = __webpack_require__(67), + matchesStrictComparable = __webpack_require__(68), + toKey = __webpack_require__(30); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; +} + +module.exports = baseMatchesProperty; + + +/***/ }), +/* 159 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGet = __webpack_require__(69); + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +module.exports = get; + + +/***/ }), +/* 160 */ +/***/ (function(module, exports, __webpack_require__) { + +var memoizeCapped = __webpack_require__(161); + +/** Used to match property names within property paths. */ +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +module.exports = stringToPath; + + +/***/ }), +/* 161 */ +/***/ (function(module, exports, __webpack_require__) { + +var memoize = __webpack_require__(162); + +/** Used as the maximum memoize cache size. */ +var MAX_MEMOIZE_SIZE = 500; + +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ +function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; +} + +module.exports = memoizeCapped; + + +/***/ }), +/* 162 */ +/***/ (function(module, exports, __webpack_require__) { + +var MapCache = __webpack_require__(37); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Expose `MapCache`. +memoize.Cache = MapCache; + +module.exports = memoize; + + +/***/ }), +/* 163 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseToString = __webpack_require__(164); + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +module.exports = toString; + + +/***/ }), +/* 164 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(19), + arrayMap = __webpack_require__(71), + isArray = __webpack_require__(11), + isSymbol = __webpack_require__(29); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = baseToString; + + +/***/ }), +/* 165 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseHasIn = __webpack_require__(166), + hasPath = __webpack_require__(167); + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +module.exports = hasIn; + + +/***/ }), +/* 166 */ +/***/ (function(module, exports) { + +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +module.exports = baseHasIn; + + +/***/ }), +/* 167 */ +/***/ (function(module, exports, __webpack_require__) { + +var castPath = __webpack_require__(70), + isArguments = __webpack_require__(38), + isArray = __webpack_require__(11), + isIndex = __webpack_require__(39), + isLength = __webpack_require__(40), + toKey = __webpack_require__(30); + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); +} + +module.exports = hasPath; + + +/***/ }), +/* 168 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseProperty = __webpack_require__(169), + basePropertyDeep = __webpack_require__(170), + isKey = __webpack_require__(41), + toKey = __webpack_require__(30); + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ +function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); +} + +module.exports = property; + + +/***/ }), +/* 169 */ +/***/ (function(module, exports) { + +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +module.exports = baseProperty; + + +/***/ }), +/* 170 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGet = __webpack_require__(69); + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} + +module.exports = basePropertyDeep; + + +/***/ }), +/* 171 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseFindIndex = __webpack_require__(72), + baseIteratee = __webpack_require__(52), + toInteger = __webpack_require__(172); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ +function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index); +} + +module.exports = findIndex; + + +/***/ }), +/* 172 */ +/***/ (function(module, exports, __webpack_require__) { + +var toFinite = __webpack_require__(173); + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +module.exports = toInteger; + + +/***/ }), +/* 173 */ +/***/ (function(module, exports, __webpack_require__) { + +var toNumber = __webpack_require__(174); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_INTEGER = 1.7976931348623157e+308; + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +module.exports = toFinite; + + +/***/ }), +/* 174 */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(20), + isSymbol = __webpack_require__(29); + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +module.exports = toNumber; + + +/***/ }), +/* 175 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = createPrototypeProxy; + +var _assign = __webpack_require__(176); + +var _assign2 = _interopRequireDefault(_assign); + +var _difference = __webpack_require__(186); + +var _difference2 = _interopRequireDefault(_difference); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function createPrototypeProxy() { + var proxy = {}; + var current = null; + var mountedInstances = []; + + /** + * Creates a proxied toString() method pointing to the current version's toString(). + */ + function proxyToString(name) { + // Wrap to always call the current version + return function toString() { + if (typeof current[name] === 'function') { + return current[name].toString(); + } else { + return ''; + } + }; + } + + /** + * Creates a proxied method that calls the current version, whenever available. + */ + function proxyMethod(name) { + // Wrap to always call the current version + var proxiedMethod = function proxiedMethod() { + if (typeof current[name] === 'function') { + return current[name].apply(this, arguments); + } + }; + + // Copy properties of the original function, if any + (0, _assign2.default)(proxiedMethod, current[name]); + proxiedMethod.toString = proxyToString(name); + + return proxiedMethod; + } + + /** + * Augments the original componentDidMount with instance tracking. + */ + function proxiedComponentDidMount() { + mountedInstances.push(this); + if (typeof current.componentDidMount === 'function') { + return current.componentDidMount.apply(this, arguments); + } + } + proxiedComponentDidMount.toString = proxyToString('componentDidMount'); + + /** + * Augments the original componentWillUnmount with instance tracking. + */ + function proxiedComponentWillUnmount() { + var index = mountedInstances.indexOf(this); + // Unless we're in a weird environment without componentDidMount + if (index !== -1) { + mountedInstances.splice(index, 1); + } + if (typeof current.componentWillUnmount === 'function') { + return current.componentWillUnmount.apply(this, arguments); + } + } + proxiedComponentWillUnmount.toString = proxyToString('componentWillUnmount'); + + /** + * Defines a property on the proxy. + */ + function defineProxyProperty(name, descriptor) { + Object.defineProperty(proxy, name, descriptor); + } + + /** + * Defines a property, attempting to keep the original descriptor configuration. + */ + function defineProxyPropertyWithValue(name, value) { + var _ref = Object.getOwnPropertyDescriptor(current, name) || {}; + + var _ref$enumerable = _ref.enumerable; + var enumerable = _ref$enumerable === undefined ? false : _ref$enumerable; + var _ref$writable = _ref.writable; + var writable = _ref$writable === undefined ? true : _ref$writable; + + + defineProxyProperty(name, { + configurable: true, + enumerable: enumerable, + writable: writable, + value: value + }); + } + + /** + * Creates an auto-bind map mimicking the original map, but directed at proxy. + */ + function createAutoBindMap() { + if (!current.__reactAutoBindMap) { + return; + } + + var __reactAutoBindMap = {}; + for (var name in current.__reactAutoBindMap) { + if (typeof proxy[name] === 'function' && current.__reactAutoBindMap.hasOwnProperty(name)) { + __reactAutoBindMap[name] = proxy[name]; + } + } + + return __reactAutoBindMap; + } + + /** + * Creates an auto-bind map mimicking the original map, but directed at proxy. + */ + function createAutoBindPairs() { + var __reactAutoBindPairs = []; + + for (var i = 0; i < current.__reactAutoBindPairs.length; i += 2) { + var name = current.__reactAutoBindPairs[i]; + var method = proxy[name]; + + if (typeof method === 'function') { + __reactAutoBindPairs.push(name, method); + } + } + + return __reactAutoBindPairs; + } + + /** + * Applies the updated prototype. + */ + function update(next) { + // Save current source of truth + current = next; + + // Find changed property names + var currentNames = Object.getOwnPropertyNames(current); + var previousName = Object.getOwnPropertyNames(proxy); + var removedNames = (0, _difference2.default)(previousName, currentNames); + + // Remove properties and methods that are no longer there + removedNames.forEach(function (name) { + delete proxy[name]; + }); + + // Copy every descriptor + currentNames.forEach(function (name) { + var descriptor = Object.getOwnPropertyDescriptor(current, name); + if (typeof descriptor.value === 'function') { + // Functions require additional wrapping so they can be bound later + defineProxyPropertyWithValue(name, proxyMethod(name)); + } else { + // Other values can be copied directly + defineProxyProperty(name, descriptor); + } + }); + + // Track mounting and unmounting + defineProxyPropertyWithValue('componentDidMount', proxiedComponentDidMount); + defineProxyPropertyWithValue('componentWillUnmount', proxiedComponentWillUnmount); + + if (current.hasOwnProperty('__reactAutoBindMap')) { + defineProxyPropertyWithValue('__reactAutoBindMap', createAutoBindMap()); + } + + if (current.hasOwnProperty('__reactAutoBindPairs')) { + defineProxyPropertyWithValue('__reactAutoBindPairs', createAutoBindPairs()); + } + + // Set up the prototype chain + proxy.__proto__ = next; + + return mountedInstances; + } + + /** + * Returns the up-to-date proxy prototype. + */ + function get() { + return proxy; + } + + return { + update: update, + get: get + }; +}; + +/***/ }), +/* 176 */ +/***/ (function(module, exports, __webpack_require__) { + +var assignValue = __webpack_require__(73), + copyObject = __webpack_require__(177), + createAssigner = __webpack_require__(178), + isArrayLike = __webpack_require__(21), + isPrototype = __webpack_require__(66), + keys = __webpack_require__(28); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ +var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } +}); + +module.exports = assign; + + +/***/ }), +/* 177 */ +/***/ (function(module, exports, __webpack_require__) { + +var assignValue = __webpack_require__(73), + baseAssignValue = __webpack_require__(74); + +/** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ +function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; +} + +module.exports = copyObject; + + +/***/ }), +/* 178 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseRest = __webpack_require__(76), + isIterateeCall = __webpack_require__(185); + +/** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ +function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); +} + +module.exports = createAssigner; + + +/***/ }), +/* 179 */ +/***/ (function(module, exports, __webpack_require__) { + +var apply = __webpack_require__(180); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ +function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; +} + +module.exports = overRest; + + +/***/ }), +/* 180 */ +/***/ (function(module, exports) { + +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ +function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); +} + +module.exports = apply; + + +/***/ }), +/* 181 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseSetToString = __webpack_require__(182), + shortOut = __webpack_require__(184); + +/** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var setToString = shortOut(baseSetToString); + +module.exports = setToString; + + +/***/ }), +/* 182 */ +/***/ (function(module, exports, __webpack_require__) { + +var constant = __webpack_require__(183), + defineProperty = __webpack_require__(75), + identity = __webpack_require__(42); + +/** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); +}; + +module.exports = baseSetToString; + + +/***/ }), +/* 183 */ +/***/ (function(module, exports) { + +/** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ +function constant(value) { + return function() { + return value; + }; +} + +module.exports = constant; + + +/***/ }), +/* 184 */ +/***/ (function(module, exports) { + +/** Used to detect hot functions by number of calls within a span of milliseconds. */ +var HOT_COUNT = 800, + HOT_SPAN = 16; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeNow = Date.now; + +/** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ +function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; +} + +module.exports = shortOut; + + +/***/ }), +/* 185 */ +/***/ (function(module, exports, __webpack_require__) { + +var eq = __webpack_require__(25), + isArrayLike = __webpack_require__(21), + isIndex = __webpack_require__(39), + isObject = __webpack_require__(20); + +/** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ +function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; +} + +module.exports = isIterateeCall; + + +/***/ }), +/* 186 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseDifference = __webpack_require__(187), + baseFlatten = __webpack_require__(193), + baseRest = __webpack_require__(76), + isArrayLikeObject = __webpack_require__(195); + +/** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ +var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; +}); + +module.exports = difference; + + +/***/ }), +/* 187 */ +/***/ (function(module, exports, __webpack_require__) { + +var SetCache = __webpack_require__(60), + arrayIncludes = __webpack_require__(188), + arrayIncludesWith = __webpack_require__(192), + arrayMap = __webpack_require__(71), + baseUnary = __webpack_require__(65), + cacheHas = __webpack_require__(61); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ +function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; +} + +module.exports = baseDifference; + + +/***/ }), +/* 188 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIndexOf = __webpack_require__(189); + +/** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; +} + +module.exports = arrayIncludes; + + +/***/ }), +/* 189 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseFindIndex = __webpack_require__(72), + baseIsNaN = __webpack_require__(190), + strictIndexOf = __webpack_require__(191); + +/** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); +} + +module.exports = baseIndexOf; + + +/***/ }), +/* 190 */ +/***/ (function(module, exports) { + +/** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ +function baseIsNaN(value) { + return value !== value; +} + +module.exports = baseIsNaN; + + +/***/ }), +/* 191 */ +/***/ (function(module, exports) { + +/** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +module.exports = strictIndexOf; + + +/***/ }), +/* 192 */ +/***/ (function(module, exports) { + +/** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; +} + +module.exports = arrayIncludesWith; + + +/***/ }), +/* 193 */ +/***/ (function(module, exports, __webpack_require__) { + +var arrayPush = __webpack_require__(62), + isFlattenable = __webpack_require__(194); + +/** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ +function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; +} + +module.exports = baseFlatten; + + +/***/ }), +/* 194 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(19), + isArguments = __webpack_require__(38), + isArray = __webpack_require__(11); + +/** Built-in value references. */ +var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; + +/** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ +function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); +} + +module.exports = isFlattenable; + + +/***/ }), +/* 195 */ +/***/ (function(module, exports, __webpack_require__) { + +var isArrayLike = __webpack_require__(21), + isObjectLike = __webpack_require__(14); + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +module.exports = isArrayLikeObject; + + +/***/ }), +/* 196 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = bindAutoBindMethods; +/** + * Copyright 2013-2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of React source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * Original: + * https://github.com/facebook/react/blob/6508b1ad273a6f371e8d90ae676e5390199461b4/src/isomorphic/classic/class/ReactClass.js#L650-L713 + */ + +function bindAutoBindMethod(component, method) { + var boundMethod = method.bind(component); + + boundMethod.__reactBoundContext = component; + boundMethod.__reactBoundMethod = method; + boundMethod.__reactBoundArguments = null; + + var componentName = component.constructor.displayName, + _bind = boundMethod.bind; + + boundMethod.bind = function (newThis) { + var args = Array.prototype.slice.call(arguments, 1); + if (newThis !== component && newThis !== null) { + console.warn('bind(): React component methods may only be bound to the ' + 'component instance. See ' + componentName); + } else if (!args.length) { + console.warn('bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See ' + componentName); + return boundMethod; + } + + var reboundMethod = _bind.apply(boundMethod, arguments); + reboundMethod.__reactBoundContext = component; + reboundMethod.__reactBoundMethod = method; + reboundMethod.__reactBoundArguments = args; + + return reboundMethod; + }; + + return boundMethod; +} + +function bindAutoBindMethodsFromMap(component) { + for (var autoBindKey in component.__reactAutoBindMap) { + if (!component.__reactAutoBindMap.hasOwnProperty(autoBindKey)) { + return; + } + + // Tweak: skip methods that are already bound. + // This is to preserve method reference in case it is used + // as a subscription handler that needs to be detached later. + if (component.hasOwnProperty(autoBindKey) && component[autoBindKey].__reactBoundContext === component) { + continue; + } + + var method = component.__reactAutoBindMap[autoBindKey]; + component[autoBindKey] = bindAutoBindMethod(component, method); + } +} + +function bindAutoBindMethods(component) { + if (component.__reactAutoBindPairs) { + bindAutoBindMethodsFromArray(component); + } else if (component.__reactAutoBindMap) { + bindAutoBindMethodsFromMap(component); + } +} + +function bindAutoBindMethodsFromArray(component) { + var pairs = component.__reactAutoBindPairs; + + if (!pairs) { + return; + } + + for (var i = 0; i < pairs.length; i += 2) { + var autoBindKey = pairs[i]; + + if (component.hasOwnProperty(autoBindKey) && component[autoBindKey].__reactBoundContext === component) { + continue; + } + + var method = pairs[i + 1]; + + component[autoBindKey] = bindAutoBindMethod(component, method); + } +} + +/***/ }), +/* 197 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = deleteUnknownAutoBindMethods; +function shouldDeleteClassicInstanceMethod(component, name) { + if (component.__reactAutoBindMap && component.__reactAutoBindMap.hasOwnProperty(name)) { + // It's a known autobound function, keep it + return false; + } + + if (component.__reactAutoBindPairs && component.__reactAutoBindPairs.indexOf(name) >= 0) { + // It's a known autobound function, keep it + return false; + } + + if (component[name].__reactBoundArguments !== null) { + // It's a function bound to specific args, keep it + return false; + } + + // It's a cached bound method for a function + // that was deleted by user, so we delete it from component. + return true; +} + +function shouldDeleteModernInstanceMethod(component, name) { + var prototype = component.constructor.prototype; + + var prototypeDescriptor = Object.getOwnPropertyDescriptor(prototype, name); + + if (!prototypeDescriptor || !prototypeDescriptor.get) { + // This is definitely not an autobinding getter + return false; + } + + if (prototypeDescriptor.get().length !== component[name].length) { + // The length doesn't match, bail out + return false; + } + + // This seems like a method bound using an autobinding getter on the prototype + // Hopefully we won't run into too many false positives. + return true; +} + +function shouldDeleteInstanceMethod(component, name) { + var descriptor = Object.getOwnPropertyDescriptor(component, name); + if (typeof descriptor.value !== 'function') { + // Not a function, or something fancy: bail out + return; + } + + if (component.__reactAutoBindMap || component.__reactAutoBindPairs) { + // Classic + return shouldDeleteClassicInstanceMethod(component, name); + } else { + // Modern + return shouldDeleteModernInstanceMethod(component, name); + } +} + +/** + * Deletes autobound methods from the instance. + * + * For classic React classes, we only delete the methods that no longer exist in map. + * This means the user actually deleted them in code. + * + * For modern classes, we delete methods that exist on prototype with the same length, + * and which have getters on prototype, but are normal values on the instance. + * This is usually an indication that an autobinding decorator is being used, + * and the getter will re-generate the memoized handler on next access. + */ +function deleteUnknownAutoBindMethods(component) { + var names = Object.getOwnPropertyNames(component); + + names.forEach(function (name) { + if (shouldDeleteInstanceMethod(component, name)) { + delete component[name]; + } + }); +} + +/***/ }), +/* 198 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// Constant to identify a React Component. It's been extracted from ReactTypeOfWork +// (https://github.com/facebook/react/blob/master/src/shared/ReactTypeOfWork.js#L20) + + +exports.__esModule = true; +exports['default'] = getForceUpdate; +var ReactClassComponent = 2; + +function traverseRenderedChildren(internalInstance, callback, argument) { + callback(internalInstance, argument); + + if (internalInstance._renderedComponent) { + traverseRenderedChildren(internalInstance._renderedComponent, callback, argument); + } else { + for (var key in internalInstance._renderedChildren) { + if (internalInstance._renderedChildren.hasOwnProperty(key)) { + traverseRenderedChildren(internalInstance._renderedChildren[key], callback, argument); + } + } + } +} + +function setPendingForceUpdate(internalInstance) { + if (internalInstance._pendingForceUpdate === false) { + internalInstance._pendingForceUpdate = true; + } +} + +function forceUpdateIfPending(internalInstance, React) { + if (internalInstance._pendingForceUpdate === true) { + var publicInstance = internalInstance._instance; + React.Component.prototype.forceUpdate.call(publicInstance); + } +} + +function deepForceUpdateStack(instance, React) { + var internalInstance = instance._reactInternalInstance; + traverseRenderedChildren(internalInstance, setPendingForceUpdate); + traverseRenderedChildren(internalInstance, forceUpdateIfPending, React); +} + +function deepForceUpdate(instance, React) { + var root = instance._reactInternalFiber || instance._reactInternalInstance; + if (typeof root.tag !== 'number') { + // Traverse stack-based React tree. + return deepForceUpdateStack(instance, React); + } + + var node = root; + while (true) { + if (node.tag === ReactClassComponent) { + var publicInstance = node.stateNode; + var updater = publicInstance.updater; + + if (typeof publicInstance.forceUpdate === 'function') { + publicInstance.forceUpdate(); + } else if (updater && typeof updater.enqueueForceUpdate === 'function') { + updater.enqueueForceUpdate(publicInstance); + } + } + if (node.child) { + node.child['return'] = node; + node = node.child; + continue; + } + if (node === root) { + return undefined; + } + while (!node.sibling) { + if (!node['return'] || node['return'] === root) { + return undefined; + } + node = node['return']; + } + node.sibling['return'] = node['return']; + node = node.sibling; + } +} + +function getForceUpdate(React) { + return function (instance) { + deepForceUpdate(instance, React); + }; +} + +module.exports = exports['default']; + +/***/ }), +/* 199 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {var win; + +if (typeof window !== "undefined") { + win = window; +} else if (typeof global !== "undefined") { + win = global; +} else if (typeof self !== "undefined"){ + win = self; +} else { + win = {}; +} + +module.exports = win; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(56))) + +/***/ }), +/* 200 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_collection = global.d3_collection || {}))); +}(this, function (exports) { 'use strict'; + + var prefix = "$"; + + function Map() {} + + Map.prototype = map.prototype = { + constructor: Map, + has: function(key) { + return (prefix + key) in this; + }, + get: function(key) { + return this[prefix + key]; + }, + set: function(key, value) { + this[prefix + key] = value; + return this; + }, + remove: function(key) { + var property = prefix + key; + return property in this && delete this[property]; + }, + clear: function() { + for (var property in this) if (property[0] === prefix) delete this[property]; + }, + keys: function() { + var keys = []; + for (var property in this) if (property[0] === prefix) keys.push(property.slice(1)); + return keys; + }, + values: function() { + var values = []; + for (var property in this) if (property[0] === prefix) values.push(this[property]); + return values; + }, + entries: function() { + var entries = []; + for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]}); + return entries; + }, + size: function() { + var size = 0; + for (var property in this) if (property[0] === prefix) ++size; + return size; + }, + empty: function() { + for (var property in this) if (property[0] === prefix) return false; + return true; + }, + each: function(f) { + for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this); + } + }; + + function map(object, f) { + var map = new Map; + + // Copy constructor. + if (object instanceof Map) object.each(function(value, key) { map.set(key, value); }); + + // Index array by numeric index or specified key function. + else if (Array.isArray(object)) { + var i = -1, + n = object.length, + o; + + if (f == null) while (++i < n) map.set(i, object[i]); + else while (++i < n) map.set(f(o = object[i], i, object), o); + } + + // Convert object to map. + else if (object) for (var key in object) map.set(key, object[key]); + + return map; + } + + function nest() { + var keys = [], + sortKeys = [], + sortValues, + rollup, + nest; + + function apply(array, depth, createResult, setResult) { + if (depth >= keys.length) return rollup + ? rollup(array) : (sortValues + ? array.sort(sortValues) + : array); + + var i = -1, + n = array.length, + key = keys[depth++], + keyValue, + value, + valuesByKey = map(), + values, + result = createResult(); + + while (++i < n) { + if (values = valuesByKey.get(keyValue = key(value = array[i]) + "")) { + values.push(value); + } else { + valuesByKey.set(keyValue, [value]); + } + } + + valuesByKey.each(function(values, key) { + setResult(result, key, apply(values, depth, createResult, setResult)); + }); + + return result; + } + + function entries(map, depth) { + if (depth >= keys.length) return map; + + var array = [], + sortKey = sortKeys[depth++]; + + map.each(function(value, key) { + array.push({key: key, values: entries(value, depth)}); + }); + + return sortKey + ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) + : array; + } + + return nest = { + object: function(array) { return apply(array, 0, createObject, setObject); }, + map: function(array) { return apply(array, 0, createMap, setMap); }, + entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); }, + key: function(d) { keys.push(d); return nest; }, + sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; }, + sortValues: function(order) { sortValues = order; return nest; }, + rollup: function(f) { rollup = f; return nest; } + }; + } + + function createObject() { + return {}; + } + + function setObject(object, key, value) { + object[key] = value; + } + + function createMap() { + return map(); + } + + function setMap(map, key, value) { + map.set(key, value); + } + + function Set() {} + + var proto = map.prototype; + + Set.prototype = set.prototype = { + constructor: Set, + has: proto.has, + add: function(value) { + value += ""; + this[prefix + value] = value; + return this; + }, + remove: proto.remove, + clear: proto.clear, + values: proto.keys, + size: proto.size, + empty: proto.empty, + each: proto.each + }; + + function set(object, f) { + var set = new Set; + + // Copy constructor. + if (object instanceof Set) object.each(function(value) { set.add(value); }); + + // Otherwise, assume it’s an array. + else if (object) { + var i = -1, n = object.length; + if (f == null) while (++i < n) set.add(object[i]); + else while (++i < n) set.add(f(object[i], i, object)); + } + + return set; + } + + function keys(map) { + var keys = []; + for (var key in map) keys.push(key); + return keys; + } + + function values(map) { + var values = []; + for (var key in map) values.push(map[key]); + return values; + } + + function entries(map) { + var entries = []; + for (var key in map) entries.push({key: key, value: map[key]}); + return entries; + } + + var version = "0.1.2"; + + exports.version = version; + exports.nest = nest; + exports.set = set; + exports.map = map; + exports.keys = keys; + exports.values = values; + exports.entries = entries; + +})); + +/***/ }), +/* 201 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports, __webpack_require__(78)) : + typeof define === 'function' && define.amd ? define(['exports', 'd3-color'], factory) : + (factory((global.d3_interpolate = global.d3_interpolate || {}),global.d3_color)); +}(this, function (exports,d3Color) { 'use strict'; + + function constant(x) { + return function() { + return x; + }; + } + + function linear(a, d) { + return function(t) { + return a + t * d; + }; + } + + function exponential(a, b, y) { + return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { + return Math.pow(a + t * b, y); + }; + } + + function interpolateHue(a, b) { + var d = b - a; + return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a); + } + + function gamma(y) { + return (y = +y) === 1 ? nogamma : function(a, b) { + return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a); + }; + } + + function nogamma(a, b) { + var d = b - a; + return d ? linear(a, d) : constant(isNaN(a) ? b : a); + } + + var rgb$1 = (function gamma$$(y) { + var interpolateColor = gamma(y); + + function interpolateRgb(start, end) { + var r = interpolateColor((start = d3Color.rgb(start)).r, (end = d3Color.rgb(end)).r), + g = interpolateColor(start.g, end.g), + b = interpolateColor(start.b, end.b), + opacity = interpolateColor(start.opacity, end.opacity); + return function(t) { + start.r = r(t); + start.g = g(t); + start.b = b(t); + start.opacity = opacity(t); + return start + ""; + }; + } + + interpolateRgb.gamma = gamma$$; + + return interpolateRgb; + })(1); + + // TODO sparse arrays? + function array(a, b) { + var x = [], + c = [], + na = a ? a.length : 0, + nb = b ? b.length : 0, + n0 = Math.min(na, nb), + i; + + for (i = 0; i < n0; ++i) x.push(value(a[i], b[i])); + for (; i < na; ++i) c[i] = a[i]; + for (; i < nb; ++i) c[i] = b[i]; + + return function(t) { + for (i = 0; i < n0; ++i) c[i] = x[i](t); + return c; + }; + } + + function number(a, b) { + return a = +a, b -= a, function(t) { + return a + b * t; + }; + } + + function object(a, b) { + var i = {}, + c = {}, + k; + + if (a === null || typeof a !== "object") a = {}; + if (b === null || typeof b !== "object") b = {}; + + for (k in a) { + if (k in b) { + i[k] = value(a[k], b[k]); + } else { + c[k] = a[k]; + } + } + + for (k in b) { + if (!(k in a)) { + c[k] = b[k]; + } + } + + return function(t) { + for (k in i) c[k] = i[k](t); + return c; + }; + } + + var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g; + var reB = new RegExp(reA.source, "g"); + function zero(b) { + return function() { + return b; + }; + } + + function one(b) { + return function(t) { + return b(t) + ""; + }; + } + + function string(a, b) { + var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b + am, // current match in a + bm, // current match in b + bs, // string preceding current number in b, if any + i = -1, // index in s + s = [], // string constants and placeholders + q = []; // number interpolators + + // Coerce inputs to strings. + a = a + "", b = b + ""; + + // Interpolate pairs of numbers in a & b. + while ((am = reA.exec(a)) + && (bm = reB.exec(b))) { + if ((bs = bm.index) > bi) { // a string precedes the next number in b + bs = b.slice(bi, bs); + if (s[i]) s[i] += bs; // coalesce with previous string + else s[++i] = bs; + } + if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match + if (s[i]) s[i] += bm; // coalesce with previous string + else s[++i] = bm; + } else { // interpolate non-matching numbers + s[++i] = null; + q.push({i: i, x: number(am, bm)}); + } + bi = reB.lastIndex; + } + + // Add remains of b. + if (bi < b.length) { + bs = b.slice(bi); + if (s[i]) s[i] += bs; // coalesce with previous string + else s[++i] = bs; + } + + // Special optimization for only a single match. + // Otherwise, interpolate each of the numbers and rejoin the string. + return s.length < 2 ? (q[0] + ? one(q[0].x) + : zero(b)) + : (b = q.length, function(t) { + for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); + return s.join(""); + }); + } + + function value(a, b) { + var t = typeof b, c; + return b == null || t === "boolean" ? constant(b) + : (t === "number" ? number + : t === "string" ? ((c = d3Color.color(b)) ? (b = c, rgb$1) : string) + : b instanceof d3Color.color ? rgb$1 + : Array.isArray(b) ? array + : object)(a, b); + } + + function round(a, b) { + return a = +a, b -= a, function(t) { + return Math.round(a + b * t); + }; + } + + var rad2deg = 180 / Math.PI; + + var identity = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1 + }; + + function decompose(a, b, c, d, e, f) { + if (a * d === b * c) return null; + + var scaleX = Math.sqrt(a * a + b * b); + a /= scaleX, b /= scaleX; + + var skewX = a * c + b * d; + c -= a * skewX, d -= b * skewX; + + var scaleY = Math.sqrt(c * c + d * d); + c /= scaleY, d /= scaleY, skewX /= scaleY; + + if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; + + return { + translateX: e, + translateY: f, + rotate: Math.atan2(b, a) * rad2deg, + skewX: Math.atan(skewX) * rad2deg, + scaleX: scaleX, + scaleY: scaleY + }; + } + + var cssNode; + var cssRoot; + var cssView; + var svgNode; + function parseCss(value) { + if (value === "none") return identity; + if (!cssNode) cssNode = document.createElement("DIV"), cssRoot = document.documentElement, cssView = document.defaultView; + cssNode.style.transform = value; + value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue("transform"); + cssRoot.removeChild(cssNode); + var m = value.slice(7, -1).split(","); + return decompose(+m[0], +m[1], +m[2], +m[3], +m[4], +m[5]); + } + + function parseSvg(value) { + if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); + svgNode.setAttribute("transform", value == null ? "" : value); + var m = svgNode.transform.baseVal.consolidate().matrix; + return decompose(m.a, m.b, m.c, m.d, m.e, m.f); + } + + function interpolateTransform(parse, pxComma, pxParen, degParen) { + + function pop(s) { + return s.length ? s.pop() + " " : ""; + } + + function translate(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push("translate(", null, pxComma, null, pxParen); + q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); + } else if (xb || yb) { + s.push("translate(" + xb + pxComma + yb + pxParen); + } + } + + function rotate(a, b, s, q) { + if (a !== b) { + if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path + q.push({i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b)}); + } else if (b) { + s.push(pop(s) + "rotate(" + b + degParen); + } + } + + function skewX(a, b, s, q) { + if (a !== b) { + q.push({i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b)}); + } else if (b) { + s.push(pop(s) + "skewX(" + b + degParen); + } + } + + function scale(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push(pop(s) + "scale(", null, ",", null, ")"); + q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); + } else if (xb !== 1 || yb !== 1) { + s.push(pop(s) + "scale(" + xb + "," + yb + ")"); + } + } + + return function(a, b) { + var s = [], // string constants and placeholders + q = []; // number interpolators + a = parse(a), b = parse(b); + translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); + rotate(a.rotate, b.rotate, s, q); + skewX(a.skewX, b.skewX, s, q); + scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); + a = b = null; // gc + return function(t) { + var i = -1, n = q.length, o; + while (++i < n) s[(o = q[i]).i] = o.x(t); + return s.join(""); + }; + }; + } + + var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); + var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); + + var rho = Math.SQRT2; + var rho2 = 2; + var rho4 = 4; + var epsilon2 = 1e-12; + function cosh(x) { + return ((x = Math.exp(x)) + 1 / x) / 2; + } + + function sinh(x) { + return ((x = Math.exp(x)) - 1 / x) / 2; + } + + function tanh(x) { + return ((x = Math.exp(2 * x)) - 1) / (x + 1); + } + + // p0 = [ux0, uy0, w0] + // p1 = [ux1, uy1, w1] + function zoom(p0, p1) { + var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], + ux1 = p1[0], uy1 = p1[1], w1 = p1[2], + dx = ux1 - ux0, + dy = uy1 - uy0, + d2 = dx * dx + dy * dy, + i, + S; + + // Special case for u0 ≅ u1. + if (d2 < epsilon2) { + S = Math.log(w1 / w0) / rho; + i = function(t) { + return [ + ux0 + t * dx, + uy0 + t * dy, + w0 * Math.exp(rho * t * S) + ]; + } + } + + // General case. + else { + var d1 = Math.sqrt(d2), + b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), + b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), + r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), + r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1); + S = (r1 - r0) / rho; + i = function(t) { + var s = t * S, + coshr0 = cosh(r0), + u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0)); + return [ + ux0 + u * dx, + uy0 + u * dy, + w0 * coshr0 / cosh(rho * s + r0) + ]; + } + } + + i.duration = S * 1000; + + return i; + } + + function interpolateHsl(start, end) { + var h = interpolateHue((start = d3Color.hsl(start)).h, (end = d3Color.hsl(end)).h), + s = nogamma(start.s, end.s), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.s = s(t); + start.l = l(t); + start.opacity = opacity(t); + return start + ""; + }; + } + + function interpolateHslLong(start, end) { + var h = nogamma((start = d3Color.hsl(start)).h, (end = d3Color.hsl(end)).h), + s = nogamma(start.s, end.s), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.s = s(t); + start.l = l(t); + start.opacity = opacity(t); + return start + ""; + }; + } + + function interpolateLab(start, end) { + var l = nogamma((start = d3Color.lab(start)).l, (end = d3Color.lab(end)).l), + a = nogamma(start.a, end.a), + b = nogamma(start.b, end.b), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.l = l(t); + start.a = a(t); + start.b = b(t); + start.opacity = opacity(t); + return start + ""; + }; + } + + function interpolateHcl(start, end) { + var h = interpolateHue((start = d3Color.hcl(start)).h, (end = d3Color.hcl(end)).h), + c = nogamma(start.c, end.c), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.c = c(t); + start.l = l(t); + start.opacity = opacity(t); + return start + ""; + }; + } + + function interpolateHclLong(start, end) { + var h = nogamma((start = d3Color.hcl(start)).h, (end = d3Color.hcl(end)).h), + c = nogamma(start.c, end.c), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.c = c(t); + start.l = l(t); + start.opacity = opacity(t); + return start + ""; + }; + } + + var cubehelix$1 = (function gamma(y) { + y = +y; + + function interpolateCubehelix(start, end) { + var h = interpolateHue((start = d3Color.cubehelix(start)).h, (end = d3Color.cubehelix(end)).h), + s = nogamma(start.s, end.s), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.s = s(t); + start.l = l(Math.pow(t, y)); + start.opacity = opacity(t); + return start + ""; + }; + } + + interpolateCubehelix.gamma = gamma; + + return interpolateCubehelix; + })(1); + + var cubehelixLong = (function gamma(y) { + y = +y; + + function interpolateCubehelixLong(start, end) { + var h = nogamma((start = d3Color.cubehelix(start)).h, (end = d3Color.cubehelix(end)).h), + s = nogamma(start.s, end.s), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.s = s(t); + start.l = l(Math.pow(t, y)); + start.opacity = opacity(t); + return start + ""; + }; + } + + interpolateCubehelixLong.gamma = gamma; + + return interpolateCubehelixLong; + })(1); + + var version = "0.7.0"; + + exports.version = version; + exports.interpolate = value; + exports.interpolateArray = array; + exports.interpolateNumber = number; + exports.interpolateObject = object; + exports.interpolateRound = round; + exports.interpolateString = string; + exports.interpolateTransformCss = interpolateTransformCss; + exports.interpolateTransformSvg = interpolateTransformSvg; + exports.interpolateZoom = zoom; + exports.interpolateRgb = rgb$1; + exports.interpolateHsl = interpolateHsl; + exports.interpolateHslLong = interpolateHslLong; + exports.interpolateLab = interpolateLab; + exports.interpolateHcl = interpolateHcl; + exports.interpolateHclLong = interpolateHclLong; + exports.interpolateCubehelix = cubehelix$1; + exports.interpolateCubehelixLong = cubehelixLong; + +})); + +/***/ }), +/* 202 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_format = {}))); +}(this, function (exports) { 'use strict'; + + // Computes the decimal coefficient and exponent of the specified number x with + // significant digits p, where x is positive and p is in [1, 21] or undefined. + // For example, formatDecimal(1.23) returns ["123", 0]. + function formatDecimal(x, p) { + if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity + var i, coefficient = x.slice(0, i); + + // The string returned by toExponential either has the form \d\.\d+e[-+]\d+ + // (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3). + return [ + coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, + +x.slice(i + 1) + ]; + } + + function exponent(x) { + return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN; + } + + function formatGroup(grouping, thousands) { + return function(value, width) { + var i = value.length, + t = [], + j = 0, + g = grouping[0], + length = 0; + + while (i > 0 && g > 0) { + if (length + g + 1 > width) g = Math.max(1, width - length); + t.push(value.substring(i -= g, i + g)); + if ((length += g + 1) > width) break; + g = grouping[j = (j + 1) % grouping.length]; + } + + return t.reverse().join(thousands); + }; + } + + function formatDefault(x, p) { + x = x.toPrecision(p); + + out: for (var n = x.length, i = 1, i0 = -1, i1; i < n; ++i) { + switch (x[i]) { + case ".": i0 = i1 = i; break; + case "0": if (i0 === 0) i0 = i; i1 = i; break; + case "e": break out; + default: if (i0 > 0) i0 = 0; break; + } + } + + return i0 > 0 ? x.slice(0, i0) + x.slice(i1 + 1) : x; + } + + var prefixExponent; + + function formatPrefixAuto(x, p) { + var d = formatDecimal(x, p); + if (!d) return x + ""; + var coefficient = d[0], + exponent = d[1], + i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, + n = coefficient.length; + return i === n ? coefficient + : i > n ? coefficient + new Array(i - n + 1).join("0") + : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) + : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y! + } + + function formatRounded(x, p) { + var d = formatDecimal(x, p); + if (!d) return x + ""; + var coefficient = d[0], + exponent = d[1]; + return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient + : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1) + : coefficient + new Array(exponent - coefficient.length + 2).join("0"); + } + + var formatTypes = { + "": formatDefault, + "%": function(x, p) { return (x * 100).toFixed(p); }, + "b": function(x) { return Math.round(x).toString(2); }, + "c": function(x) { return x + ""; }, + "d": function(x) { return Math.round(x).toString(10); }, + "e": function(x, p) { return x.toExponential(p); }, + "f": function(x, p) { return x.toFixed(p); }, + "g": function(x, p) { return x.toPrecision(p); }, + "o": function(x) { return Math.round(x).toString(8); }, + "p": function(x, p) { return formatRounded(x * 100, p); }, + "r": formatRounded, + "s": formatPrefixAuto, + "X": function(x) { return Math.round(x).toString(16).toUpperCase(); }, + "x": function(x) { return Math.round(x).toString(16); } + }; + + // [[fill]align][sign][symbol][0][width][,][.precision][type] + var re = /^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i; + + function formatSpecifier(specifier) { + return new FormatSpecifier(specifier); + } + + function FormatSpecifier(specifier) { + if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier); + + var match, + fill = match[1] || " ", + align = match[2] || ">", + sign = match[3] || "-", + symbol = match[4] || "", + zero = !!match[5], + width = match[6] && +match[6], + comma = !!match[7], + precision = match[8] && +match[8].slice(1), + type = match[9] || ""; + + // The "n" type is an alias for ",g". + if (type === "n") comma = true, type = "g"; + + // Map invalid types to the default format. + else if (!formatTypes[type]) type = ""; + + // If zero fill is specified, padding goes after sign and before digits. + if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "="; + + this.fill = fill; + this.align = align; + this.sign = sign; + this.symbol = symbol; + this.zero = zero; + this.width = width; + this.comma = comma; + this.precision = precision; + this.type = type; + } + + FormatSpecifier.prototype.toString = function() { + return this.fill + + this.align + + this.sign + + this.symbol + + (this.zero ? "0" : "") + + (this.width == null ? "" : Math.max(1, this.width | 0)) + + (this.comma ? "," : "") + + (this.precision == null ? "" : "." + Math.max(0, this.precision | 0)) + + this.type; + }; + + var prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"]; + + function identity(x) { + return x; + } + + function locale(locale) { + var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity, + currency = locale.currency, + decimal = locale.decimal; + + function newFormat(specifier) { + specifier = formatSpecifier(specifier); + + var fill = specifier.fill, + align = specifier.align, + sign = specifier.sign, + symbol = specifier.symbol, + zero = specifier.zero, + width = specifier.width, + comma = specifier.comma, + precision = specifier.precision, + type = specifier.type; + + // Compute the prefix and suffix. + // For SI-prefix, the suffix is lazily computed. + var prefix = symbol === "$" ? currency[0] : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "", + suffix = symbol === "$" ? currency[1] : /[%p]/.test(type) ? "%" : ""; + + // What format function should we use? + // Is this an integer type? + // Can this type generate exponential notation? + var formatType = formatTypes[type], + maybeSuffix = !type || /[defgprs%]/.test(type); + + // Set the default precision if not specified, + // or clamp the specified precision to the supported range. + // For significant precision, it must be in [1, 21]. + // For fixed precision, it must be in [0, 20]. + precision = precision == null ? (type ? 6 : 12) + : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) + : Math.max(0, Math.min(20, precision)); + + function format(value) { + var valuePrefix = prefix, + valueSuffix = suffix, + i, n, c; + + if (type === "c") { + valueSuffix = formatType(value) + valueSuffix; + value = ""; + } else { + value = +value; + + // Convert negative to positive, and compute the prefix. + // Note that -0 is not less than 0, but 1 / -0 is! + var valueNegative = (value < 0 || 1 / value < 0) && (value *= -1, true); + + // Perform the initial formatting. + value = formatType(value, precision); + + // If the original value was negative, it may be rounded to zero during + // formatting; treat this as (positive) zero. + if (valueNegative) { + i = -1, n = value.length; + valueNegative = false; + while (++i < n) { + if (c = value.charCodeAt(i), (48 < c && c < 58) + || (type === "x" && 96 < c && c < 103) + || (type === "X" && 64 < c && c < 71)) { + valueNegative = true; + break; + } + } + } + + // Compute the prefix and suffix. + valuePrefix = (valueNegative ? (sign === "(" ? sign : "-") : sign === "-" || sign === "(" ? "" : sign) + valuePrefix; + valueSuffix = valueSuffix + (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + (valueNegative && sign === "(" ? ")" : ""); + + // Break the formatted value into the integer “value” part that can be + // grouped, and fractional or exponential “suffix” part that is not. + if (maybeSuffix) { + i = -1, n = value.length; + while (++i < n) { + if (c = value.charCodeAt(i), 48 > c || c > 57) { + valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix; + value = value.slice(0, i); + break; + } + } + } + } + + // If the fill character is not "0", grouping is applied before padding. + if (comma && !zero) value = group(value, Infinity); + + // Compute the padding. + var length = valuePrefix.length + value.length + valueSuffix.length, + padding = length < width ? new Array(width - length + 1).join(fill) : ""; + + // If the fill character is "0", grouping is applied after padding. + if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = ""; + + // Reconstruct the final output based on the desired alignment. + switch (align) { + case "<": return valuePrefix + value + valueSuffix + padding; + case "=": return valuePrefix + padding + value + valueSuffix; + case "^": return padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); + } + return padding + valuePrefix + value + valueSuffix; + } + + format.toString = function() { + return specifier + ""; + }; + + return format; + } + + function formatPrefix(specifier, value) { + var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)), + e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3, + k = Math.pow(10, -e), + prefix = prefixes[8 + e / 3]; + return function(value) { + return f(k * value) + prefix; + }; + } + + return { + format: newFormat, + formatPrefix: formatPrefix + }; + } + + var defaultLocale = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["$", ""] + }); + + var caES = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "\xa0€"] + }); + + var csCZ = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "\xa0Kč"] + }); + + var deCH = locale({ + decimal: ",", + thousands: "'", + grouping: [3], + currency: ["", "\xa0CHF"] + }); + + var deDE = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "\xa0€"] + }); + + var enCA = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["$", ""] + }); + + var enGB = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["£", ""] + }); + + var esES = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "\xa0€"] + }); + + var fiFI = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "\xa0€"] + }); + + var frCA = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "$"] + }); + + var frFR = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "\xa0€"] + }); + + var heIL = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["₪", ""] + }); + + var huHU = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "\xa0Ft"] + }); + + var itIT = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["€", ""] + }); + + var jaJP = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["", "円"] + }); + + var koKR = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["₩", ""] + }); + + var mkMK = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "\xa0ден."] + }); + + var nlNL = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["€\xa0", ""] + }); + + var plPL = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "zł"] + }); + + var ptBR = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["R$", ""] + }); + + var ruRU = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "\xa0руб."] + }); + + var svSE = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "SEK"] + }); + + var zhCN = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["¥", ""] + }); + + function precisionFixed(step) { + return Math.max(0, -exponent(Math.abs(step))); + } + + function precisionPrefix(step, value) { + return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step))); + } + + function precisionRound(step, max) { + step = Math.abs(step), max = Math.abs(max) - step; + return Math.max(0, exponent(max) - exponent(step)) + 1; + } + + var format = defaultLocale.format; + var formatPrefix = defaultLocale.formatPrefix; + + var version = "0.5.1"; + + exports.version = version; + exports.format = format; + exports.formatPrefix = formatPrefix; + exports.formatLocale = locale; + exports.formatCaEs = caES; + exports.formatCsCz = csCZ; + exports.formatDeCh = deCH; + exports.formatDeDe = deDE; + exports.formatEnCa = enCA; + exports.formatEnGb = enGB; + exports.formatEnUs = defaultLocale; + exports.formatEsEs = esES; + exports.formatFiFi = fiFI; + exports.formatFrCa = frCA; + exports.formatFrFr = frFR; + exports.formatHeIl = heIL; + exports.formatHuHu = huHU; + exports.formatItIt = itIT; + exports.formatJaJp = jaJP; + exports.formatKoKr = koKR; + exports.formatMkMk = mkMK; + exports.formatNlNl = nlNL; + exports.formatPlPl = plPL; + exports.formatPtBr = ptBR; + exports.formatRuRu = ruRU; + exports.formatSvSe = svSE; + exports.formatZhCn = zhCN; + exports.formatSpecifier = formatSpecifier; + exports.precisionFixed = precisionFixed; + exports.precisionPrefix = precisionPrefix; + exports.precisionRound = precisionRound; + +})); + +/***/ }), +/* 203 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports, __webpack_require__(79)) : + typeof define === 'function' && define.amd ? define(['exports', 'd3-time'], factory) : + (factory((global.d3_time_format = global.d3_time_format || {}),global.d3_time)); +}(this, function (exports,d3Time) { 'use strict'; + + var version = "0.3.2"; + + function localDate(d) { + if (0 <= d.y && d.y < 100) { + var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L); + date.setFullYear(d.y); + return date; + } + return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L); + } + + function utcDate(d) { + if (0 <= d.y && d.y < 100) { + var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L)); + date.setUTCFullYear(d.y); + return date; + } + return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L)); + } + + function newYear(y) { + return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0}; + } + + function locale$1(locale) { + var locale_dateTime = locale.dateTime, + locale_date = locale.date, + locale_time = locale.time, + locale_periods = locale.periods, + locale_weekdays = locale.days, + locale_shortWeekdays = locale.shortDays, + locale_months = locale.months, + locale_shortMonths = locale.shortMonths; + + var periodRe = formatRe(locale_periods), + periodLookup = formatLookup(locale_periods), + weekdayRe = formatRe(locale_weekdays), + weekdayLookup = formatLookup(locale_weekdays), + shortWeekdayRe = formatRe(locale_shortWeekdays), + shortWeekdayLookup = formatLookup(locale_shortWeekdays), + monthRe = formatRe(locale_months), + monthLookup = formatLookup(locale_months), + shortMonthRe = formatRe(locale_shortMonths), + shortMonthLookup = formatLookup(locale_shortMonths); + + var formats = { + "a": formatShortWeekday, + "A": formatWeekday, + "b": formatShortMonth, + "B": formatMonth, + "c": null, + "d": formatDayOfMonth, + "e": formatDayOfMonth, + "H": formatHour24, + "I": formatHour12, + "j": formatDayOfYear, + "L": formatMilliseconds, + "m": formatMonthNumber, + "M": formatMinutes, + "p": formatPeriod, + "S": formatSeconds, + "U": formatWeekNumberSunday, + "w": formatWeekdayNumber, + "W": formatWeekNumberMonday, + "x": null, + "X": null, + "y": formatYear, + "Y": formatFullYear, + "Z": formatZone, + "%": formatLiteralPercent + }; + + var utcFormats = { + "a": formatUTCShortWeekday, + "A": formatUTCWeekday, + "b": formatUTCShortMonth, + "B": formatUTCMonth, + "c": null, + "d": formatUTCDayOfMonth, + "e": formatUTCDayOfMonth, + "H": formatUTCHour24, + "I": formatUTCHour12, + "j": formatUTCDayOfYear, + "L": formatUTCMilliseconds, + "m": formatUTCMonthNumber, + "M": formatUTCMinutes, + "p": formatUTCPeriod, + "S": formatUTCSeconds, + "U": formatUTCWeekNumberSunday, + "w": formatUTCWeekdayNumber, + "W": formatUTCWeekNumberMonday, + "x": null, + "X": null, + "y": formatUTCYear, + "Y": formatUTCFullYear, + "Z": formatUTCZone, + "%": formatLiteralPercent + }; + + var parses = { + "a": parseShortWeekday, + "A": parseWeekday, + "b": parseShortMonth, + "B": parseMonth, + "c": parseLocaleDateTime, + "d": parseDayOfMonth, + "e": parseDayOfMonth, + "H": parseHour24, + "I": parseHour24, + "j": parseDayOfYear, + "L": parseMilliseconds, + "m": parseMonthNumber, + "M": parseMinutes, + "p": parsePeriod, + "S": parseSeconds, + "U": parseWeekNumberSunday, + "w": parseWeekdayNumber, + "W": parseWeekNumberMonday, + "x": parseLocaleDate, + "X": parseLocaleTime, + "y": parseYear, + "Y": parseFullYear, + "Z": parseZone, + "%": parseLiteralPercent + }; + + // These recursive directive definitions must be deferred. + formats.x = newFormat(locale_date, formats); + formats.X = newFormat(locale_time, formats); + formats.c = newFormat(locale_dateTime, formats); + utcFormats.x = newFormat(locale_date, utcFormats); + utcFormats.X = newFormat(locale_time, utcFormats); + utcFormats.c = newFormat(locale_dateTime, utcFormats); + + function newFormat(specifier, formats) { + return function(date) { + var string = [], + i = -1, + j = 0, + n = specifier.length, + c, + pad, + format; + + if (!(date instanceof Date)) date = new Date(+date); + + while (++i < n) { + if (specifier.charCodeAt(i) === 37) { + string.push(specifier.slice(j, i)); + if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i); + else pad = c === "e" ? " " : "0"; + if (format = formats[c]) c = format(date, pad); + string.push(c); + j = i + 1; + } + } + + string.push(specifier.slice(j, i)); + return string.join(""); + }; + } + + function newParse(specifier, newDate) { + return function(string) { + var d = newYear(1900), + i = parseSpecifier(d, specifier, string += "", 0); + if (i != string.length) return null; + + // The am-pm flag is 0 for AM, and 1 for PM. + if ("p" in d) d.H = d.H % 12 + d.p * 12; + + // Convert day-of-week and week-of-year to day-of-year. + if ("W" in d || "U" in d) { + if (!("w" in d)) d.w = "W" in d ? 1 : 0; + var day = "Z" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay(); + d.m = 0; + d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7; + } + + // If a time zone is specified, all fields are interpreted as UTC and then + // offset according to the specified time zone. + if ("Z" in d) { + d.H += d.Z / 100 | 0; + d.M += d.Z % 100; + return utcDate(d); + } + + // Otherwise, all fields are in local time. + return newDate(d); + }; + } + + function parseSpecifier(d, specifier, string, j) { + var i = 0, + n = specifier.length, + m = string.length, + c, + parse; + + while (i < n) { + if (j >= m) return -1; + c = specifier.charCodeAt(i++); + if (c === 37) { + c = specifier.charAt(i++); + parse = parses[c in pads ? specifier.charAt(i++) : c]; + if (!parse || ((j = parse(d, string, j)) < 0)) return -1; + } else if (c != string.charCodeAt(j++)) { + return -1; + } + } + + return j; + } + + function parsePeriod(d, string, i) { + var n = periodRe.exec(string.slice(i)); + return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1; + } + + function parseShortWeekday(d, string, i) { + var n = shortWeekdayRe.exec(string.slice(i)); + return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1; + } + + function parseWeekday(d, string, i) { + var n = weekdayRe.exec(string.slice(i)); + return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1; + } + + function parseShortMonth(d, string, i) { + var n = shortMonthRe.exec(string.slice(i)); + return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1; + } + + function parseMonth(d, string, i) { + var n = monthRe.exec(string.slice(i)); + return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1; + } + + function parseLocaleDateTime(d, string, i) { + return parseSpecifier(d, locale_dateTime, string, i); + } + + function parseLocaleDate(d, string, i) { + return parseSpecifier(d, locale_date, string, i); + } + + function parseLocaleTime(d, string, i) { + return parseSpecifier(d, locale_time, string, i); + } + + function formatShortWeekday(d) { + return locale_shortWeekdays[d.getDay()]; + } + + function formatWeekday(d) { + return locale_weekdays[d.getDay()]; + } + + function formatShortMonth(d) { + return locale_shortMonths[d.getMonth()]; + } + + function formatMonth(d) { + return locale_months[d.getMonth()]; + } + + function formatPeriod(d) { + return locale_periods[+(d.getHours() >= 12)]; + } + + function formatUTCShortWeekday(d) { + return locale_shortWeekdays[d.getUTCDay()]; + } + + function formatUTCWeekday(d) { + return locale_weekdays[d.getUTCDay()]; + } + + function formatUTCShortMonth(d) { + return locale_shortMonths[d.getUTCMonth()]; + } + + function formatUTCMonth(d) { + return locale_months[d.getUTCMonth()]; + } + + function formatUTCPeriod(d) { + return locale_periods[+(d.getUTCHours() >= 12)]; + } + + return { + format: function(specifier) { + var f = newFormat(specifier += "", formats); + f.toString = function() { return specifier; }; + return f; + }, + parse: function(specifier) { + var p = newParse(specifier += "", localDate); + p.toString = function() { return specifier; }; + return p; + }, + utcFormat: function(specifier) { + var f = newFormat(specifier += "", utcFormats); + f.toString = function() { return specifier; }; + return f; + }, + utcParse: function(specifier) { + var p = newParse(specifier, utcDate); + p.toString = function() { return specifier; }; + return p; + } + }; + } + + var pads = {"-": "", "_": " ", "0": "0"}; + var numberRe = /^\s*\d+/; + var percentRe = /^%/; + var requoteRe = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; + function pad(value, fill, width) { + var sign = value < 0 ? "-" : "", + string = (sign ? -value : value) + "", + length = string.length; + return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); + } + + function requote(s) { + return s.replace(requoteRe, "\\$&"); + } + + function formatRe(names) { + return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i"); + } + + function formatLookup(names) { + var map = {}, i = -1, n = names.length; + while (++i < n) map[names[i].toLowerCase()] = i; + return map; + } + + function parseWeekdayNumber(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 1)); + return n ? (d.w = +n[0], i + n[0].length) : -1; + } + + function parseWeekNumberSunday(d, string, i) { + var n = numberRe.exec(string.slice(i)); + return n ? (d.U = +n[0], i + n[0].length) : -1; + } + + function parseWeekNumberMonday(d, string, i) { + var n = numberRe.exec(string.slice(i)); + return n ? (d.W = +n[0], i + n[0].length) : -1; + } + + function parseFullYear(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 4)); + return n ? (d.y = +n[0], i + n[0].length) : -1; + } + + function parseYear(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1; + } + + function parseZone(d, string, i) { + var n = /^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i, i + 6)); + return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1; + } + + function parseMonthNumber(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.m = n[0] - 1, i + n[0].length) : -1; + } + + function parseDayOfMonth(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.d = +n[0], i + n[0].length) : -1; + } + + function parseDayOfYear(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 3)); + return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1; + } + + function parseHour24(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.H = +n[0], i + n[0].length) : -1; + } + + function parseMinutes(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.M = +n[0], i + n[0].length) : -1; + } + + function parseSeconds(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.S = +n[0], i + n[0].length) : -1; + } + + function parseMilliseconds(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 3)); + return n ? (d.L = +n[0], i + n[0].length) : -1; + } + + function parseLiteralPercent(d, string, i) { + var n = percentRe.exec(string.slice(i, i + 1)); + return n ? i + n[0].length : -1; + } + + function formatDayOfMonth(d, p) { + return pad(d.getDate(), p, 2); + } + + function formatHour24(d, p) { + return pad(d.getHours(), p, 2); + } + + function formatHour12(d, p) { + return pad(d.getHours() % 12 || 12, p, 2); + } + + function formatDayOfYear(d, p) { + return pad(1 + d3Time.timeDay.count(d3Time.timeYear(d), d), p, 3); + } + + function formatMilliseconds(d, p) { + return pad(d.getMilliseconds(), p, 3); + } + + function formatMonthNumber(d, p) { + return pad(d.getMonth() + 1, p, 2); + } + + function formatMinutes(d, p) { + return pad(d.getMinutes(), p, 2); + } + + function formatSeconds(d, p) { + return pad(d.getSeconds(), p, 2); + } + + function formatWeekNumberSunday(d, p) { + return pad(d3Time.timeSunday.count(d3Time.timeYear(d), d), p, 2); + } + + function formatWeekdayNumber(d) { + return d.getDay(); + } + + function formatWeekNumberMonday(d, p) { + return pad(d3Time.timeMonday.count(d3Time.timeYear(d), d), p, 2); + } + + function formatYear(d, p) { + return pad(d.getFullYear() % 100, p, 2); + } + + function formatFullYear(d, p) { + return pad(d.getFullYear() % 10000, p, 4); + } + + function formatZone(d) { + var z = d.getTimezoneOffset(); + return (z > 0 ? "-" : (z *= -1, "+")) + + pad(z / 60 | 0, "0", 2) + + pad(z % 60, "0", 2); + } + + function formatUTCDayOfMonth(d, p) { + return pad(d.getUTCDate(), p, 2); + } + + function formatUTCHour24(d, p) { + return pad(d.getUTCHours(), p, 2); + } + + function formatUTCHour12(d, p) { + return pad(d.getUTCHours() % 12 || 12, p, 2); + } + + function formatUTCDayOfYear(d, p) { + return pad(1 + d3Time.utcDay.count(d3Time.utcYear(d), d), p, 3); + } + + function formatUTCMilliseconds(d, p) { + return pad(d.getUTCMilliseconds(), p, 3); + } + + function formatUTCMonthNumber(d, p) { + return pad(d.getUTCMonth() + 1, p, 2); + } + + function formatUTCMinutes(d, p) { + return pad(d.getUTCMinutes(), p, 2); + } + + function formatUTCSeconds(d, p) { + return pad(d.getUTCSeconds(), p, 2); + } + + function formatUTCWeekNumberSunday(d, p) { + return pad(d3Time.utcSunday.count(d3Time.utcYear(d), d), p, 2); + } + + function formatUTCWeekdayNumber(d) { + return d.getUTCDay(); + } + + function formatUTCWeekNumberMonday(d, p) { + return pad(d3Time.utcMonday.count(d3Time.utcYear(d), d), p, 2); + } + + function formatUTCYear(d, p) { + return pad(d.getUTCFullYear() % 100, p, 2); + } + + function formatUTCFullYear(d, p) { + return pad(d.getUTCFullYear() % 10000, p, 4); + } + + function formatUTCZone() { + return "+0000"; + } + + function formatLiteralPercent() { + return "%"; + } + + var locale = locale$1({ + dateTime: "%a %b %e %X %Y", + date: "%m/%d/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] + }); + + var caES = locale$1({ + dateTime: "%A, %e de %B de %Y, %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte"], + shortDays: ["dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."], + months: ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"], + shortMonths: ["gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."] + }); + + var deCH = locale$1({ + dateTime: "%A, der %e. %B %Y, %X", + date: "%d.%m.%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], + shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], + months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], + shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] + }); + + var deDE = locale$1({ + dateTime: "%A, der %e. %B %Y, %X", + date: "%d.%m.%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], + shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], + months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], + shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] + }); + + var enCA = locale$1({ + dateTime: "%a %b %e %X %Y", + date: "%Y-%m-%d", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] + }); + + var enGB = locale$1({ + dateTime: "%a %e %b %X %Y", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] + }); + + var esES = locale$1({ + dateTime: "%A, %e de %B de %Y, %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"], + shortDays: ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"], + months: ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"], + shortMonths: ["ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"] + }); + + var fiFI = locale$1({ + dateTime: "%A, %-d. %Bta %Y klo %X", + date: "%-d.%-m.%Y", + time: "%H:%M:%S", + periods: ["a.m.", "p.m."], + days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"], + shortDays: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"], + months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], + shortMonths: ["Tammi", "Helmi", "Maalis", "Huhti", "Touko", "Kesä", "Heinä", "Elo", "Syys", "Loka", "Marras", "Joulu"] + }); + + var frCA = locale$1({ + dateTime: "%a %e %b %Y %X", + date: "%Y-%m-%d", + time: "%H:%M:%S", + periods: ["", ""], + days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], + shortDays: ["dim", "lun", "mar", "mer", "jeu", "ven", "sam"], + months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], + shortMonths: ["jan", "fév", "mar", "avr", "mai", "jui", "jul", "aoû", "sep", "oct", "nov", "déc"] + }); + + var frFR = locale$1({ + dateTime: "%A, le %e %B %Y, %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], + shortDays: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], + months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], + shortMonths: ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."] + }); + + var heIL = locale$1({ + dateTime: "%A, %e ב%B %Y %X", + date: "%d.%m.%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], + shortDays: ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"], + months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], + shortMonths: ["ינו׳", "פבר׳", "מרץ", "אפר׳", "מאי", "יוני", "יולי", "אוג׳", "ספט׳", "אוק׳", "נוב׳", "דצמ׳"] + }); + + var huHU = locale$1({ + dateTime: "%Y. %B %-e., %A %X", + date: "%Y. %m. %d.", + time: "%H:%M:%S", + periods: ["de.", "du."], // unused + days: ["vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"], + shortDays: ["V", "H", "K", "Sze", "Cs", "P", "Szo"], + months: ["január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"], + shortMonths: ["jan.", "feb.", "már.", "ápr.", "máj.", "jún.", "júl.", "aug.", "szept.", "okt.", "nov.", "dec."] + }); + + var itIT = locale$1({ + dateTime: "%A %e %B %Y, %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], + shortDays: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"], + months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], + shortMonths: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"] + }); + + var jaJP = locale$1({ + dateTime: "%Y %b %e %a %X", + date: "%Y/%m/%d", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], + shortDays: ["日", "月", "火", "水", "木", "金", "土"], + months: ["睦月", "如月", "弥生", "卯月", "皐月", "水無月", "文月", "葉月", "長月", "神無月", "霜月", "師走"], + shortMonths: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"] + }); + + var koKR = locale$1({ + dateTime: "%Y/%m/%d %a %X", + date: "%Y/%m/%d", + time: "%H:%M:%S", + periods: ["오전", "오후"], + days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"], + shortDays: ["일", "월", "화", "수", "목", "금", "토"], + months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + shortMonths: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] + }); + + var mkMK = locale$1({ + dateTime: "%A, %e %B %Y г. %X", + date: "%d.%m.%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["недела", "понеделник", "вторник", "среда", "четврток", "петок", "сабота"], + shortDays: ["нед", "пон", "вто", "сре", "чет", "пет", "саб"], + months: ["јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември"], + shortMonths: ["јан", "фев", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "ное", "дек"] + }); + + var nlNL = locale$1({ + dateTime: "%a %e %B %Y %T", + date: "%d-%m-%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"], + shortDays: ["zo", "ma", "di", "wo", "do", "vr", "za"], + months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"], + shortMonths: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"] + }); + + var plPL = locale$1({ + dateTime: "%A, %e %B %Y, %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"], + shortDays: ["Niedz.", "Pon.", "Wt.", "Śr.", "Czw.", "Pt.", "Sob."], + months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], + shortMonths: ["Stycz.", "Luty", "Marz.", "Kwie.", "Maj", "Czerw.", "Lipc.", "Sierp.", "Wrz.", "Paźdz.", "Listop.", "Grudz."]/* In Polish language abbraviated months are not commonly used so there is a dispute about the proper abbraviations. */ + }); + + var ptBR = locale$1({ + dateTime: "%A, %e de %B de %Y. %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], + shortDays: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], + months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + shortMonths: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"] + }); + + var ruRU = locale$1({ + dateTime: "%A, %e %B %Y г. %X", + date: "%d.%m.%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота"], + shortDays: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"], + months: ["января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"], + shortMonths: ["янв", "фев", "мар", "апр", "май", "июн", "июл", "авг", "сен", "окт", "ноя", "дек"] + }); + + var svSE = locale$1({ + dateTime: "%A den %d %B %Y %X", + date: "%Y-%m-%d", + time: "%H:%M:%S", + periods: ["fm", "em"], + days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"], + shortDays: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"], + months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], + shortMonths: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"] + }); + + var zhCN = locale$1({ + dateTime: "%x %A %X", + date: "%Y年%-m月%-d日", + time: "%H:%M:%S", + periods: ["上午", "下午"], + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], + shortDays: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + shortMonths: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"] + }); + + var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ"; + + function formatIsoNative(date) { + return date.toISOString(); + } + + var formatIso = Date.prototype.toISOString + ? formatIsoNative + : locale.utcFormat(isoSpecifier); + + function parseIsoNative(string) { + var date = new Date(string); + return isNaN(date) ? null : date; + } + + var parseIso = +new Date("2000-01-01T00:00:00.000Z") + ? parseIsoNative + : locale.utcParse(isoSpecifier); + + var timeFormat = locale.format; + var timeParse = locale.parse; + var utcFormat = locale.utcFormat; + var utcParse = locale.utcParse; + + exports.timeFormat = timeFormat; + exports.timeParse = timeParse; + exports.utcFormat = utcFormat; + exports.utcParse = utcParse; + exports.version = version; + exports.timeFormatLocale = locale$1; + exports.timeFormatCaEs = caES; + exports.timeFormatDeCh = deCH; + exports.timeFormatDeDe = deDE; + exports.timeFormatEnCa = enCA; + exports.timeFormatEnGb = enGB; + exports.timeFormatEnUs = locale; + exports.timeFormatEsEs = esES; + exports.timeFormatFiFi = fiFI; + exports.timeFormatFrCa = frCA; + exports.timeFormatFrFr = frFR; + exports.timeFormatHeIl = heIL; + exports.timeFormatHuHu = huHU; + exports.timeFormatItIt = itIT; + exports.timeFormatJaJp = jaJP; + exports.timeFormatKoKr = koKR; + exports.timeFormatMkMk = mkMK; + exports.timeFormatNlNl = nlNL; + exports.timeFormatPlPl = plPL; + exports.timeFormatPtBr = ptBR; + exports.timeFormatRuRu = ruRU; + exports.timeFormatSvSe = svSE; + exports.timeFormatZhCn = zhCN; + exports.isoFormat = formatIso; + exports.isoParse = parseIso; + +})); + +/***/ }), +/* 204 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); - return _react2.default.createElement( - 'g', - null, - _setStack(dataset).map(function (barGroup) { - return _react2.default.createElement( - 'g', - { - className: 'barGroup', - fill: barGroup.color, - style: barGroup.style }, - barGroup.data.map(function (bar) { - return _react2.default.createElement('rect', { - className: barClassName + ' bar', - width: xScaleSet.bandwidth(), - x: xScaleSet(bar.x) || xScaleSet(bar.x) === 0 ? xScaleSet(bar.x) : -10000, - y: yScaleSet(bar.y0 + bar.y), - height: Math.abs(yScaleSet(bar.y) - yScaleSet(0)), - onMouseOut: that.triggerOut.bind(_this2, bar), - onMouseOver: that.triggerOver.bind(_this2, bar) - }); - }) - ); - }) - ); - } - }, { - key: '_setStack', - value: function _setStack() { - var chartSeries = this.props.chartSeries; +var _react2 = _interopRequireDefault(_react); +var _commonProps = __webpack_require__(12); - var buildOut = function buildOut(len) { - // baseline for positive and negative bars respectively. - var currentXOffsets = []; - var currentXIndex = 0; - return function (d, y0, y) { +var _commonProps2 = _interopRequireDefault(_commonProps); - if (currentXIndex++ % len === 0) { - currentXOffsets = [0, 0]; - } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - if (y >= 0) { - d.y0 = currentXOffsets[1]; - d.y = y; - currentXOffsets[1] += y; - } else { - d.y0 = currentXOffsets[0] + y; - d.y = -y; - currentXOffsets[0] += y; - } - }; - }; - return _d2.default.layout.stack().values(function (d) { - return d.data; - }).out(buildOut(chartSeries.length)); - } - }, { - key: 'render', - value: function render() { - var bar = this._mkBarStack(); - - return _react2.default.createElement( - 'g', - null, - bar - ); - } - }]); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - return BarStack; - }(_react.Component); +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - BarStack.defaultProps = { - onMouseOver: function onMouseOver(d) {}, - onMouseOut: function onMouseOut(d) {}, - barClassName: 'react-d3-basic__bar_stack' - }; - exports.default = BarStack; +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -/***/ }, -/* 59 */ -/***/ function(module, exports, __webpack_require__) { +var ChartTitle = function (_Component) { + _inherits(ChartTitle, _Component); - "use strict"; + function ChartTitle(props) { + _classCallCheck(this, ChartTitle); - Object.defineProperty(exports, "__esModule", { - value: true - }); + return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartTitle).call(this, props)); + } - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + _createClass(ChartTitle, [{ + key: 'render', + value: function render() { + var _props = this.props; + var titleClassName = _props.titleClassName; + var title = _props.title; + var width = _props.width; - var _react = __webpack_require__(2); - var _react2 = _interopRequireDefault(_react); + var titleStyle = { + width: width, + textAlign: 'center', + fontSize: '2em', + paddingBottom: '1.3em' + }; - var _d = __webpack_require__(45); + return _react2.default.createElement( + 'div', + { + style: titleStyle, + className: titleClassName + }, + title + ); + } + }]); - var _d2 = _interopRequireDefault(_d); + return ChartTitle; +}(_react.Component); - var _series = __webpack_require__(44); +ChartTitle.defaultProps = _extends({ + titleClassName: 'react-d3-core__container_title', + title: '' +}, _commonProps2.default); +ChartTitle.propTypes = { + width: _react.PropTypes.number.isRequired, + title: _react.PropTypes.string, + titleClassName: _react.PropTypes.string +}; +exports.default = ChartTitle; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +/***/ }), +/* 205 */ +/***/ (function(module, exports, __webpack_require__) { - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +"use strict"; - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +Object.defineProperty(exports, "__esModule", { + value: true +}); - var BarStackHorizontal = function (_Component) { - _inherits(BarStackHorizontal, _Component); +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - function BarStackHorizontal(props) { - _classCallCheck(this, BarStackHorizontal); +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarStackHorizontal).call(this, props)); - } +var _react = __webpack_require__(0); - _createClass(BarStackHorizontal, [{ - key: 'triggerOver', - value: function triggerOver(data, e) { - this.props.onMouseOver(e, data); - } - }, { - key: 'triggerOut', - value: function triggerOut(data, e) { - this.props.onMouseOut(e, data); - } - }, { - key: '_mkBarStack', - value: function _mkBarStack(dom) { - var _this2 = this; - - var _props = this.props; - var height = _props.height; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - - - var that = this; - var dataset = (0, _series.series)(this.props, true); - var _setStack = this._setStack(); - - // make areas - var chart = _d2.default.select(dom).attr("class", "g"); - - var domain = xScaleSet.domain(); - var zeroBase; - - if (domain[0] * domain[1] < 0) { - zeroBase = xScaleSet(0); - } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { - zeroBase = xScaleSet.range()[0]; - } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { - zeroBase = xScaleSet.range()[1]; - } +var _react2 = _interopRequireDefault(_react); - return _react2.default.createElement( - 'g', - null, - _setStack(dataset).map(function (barGroup) { - return _react2.default.createElement( - 'g', - { - className: 'barGroup', - fill: barGroup.color, - style: barGroup.style - }, - barGroup.data.map(function (bar) { - return _react2.default.createElement('rect', { - className: barClassName + ' bar', - height: yScaleSet.bandwidth(), - y: yScaleSet(bar.y) || yScaleSet(bar.y) === 0 ? yScaleSet(bar.y) : -10000, - x: xScaleSet(bar.x0), - width: Math.abs(xScaleSet(bar.x) - xScaleSet(0)), - onMouseOut: that.triggerOut.bind(_this2, bar), - onMouseOver: that.triggerOver.bind(_this2, bar) - }); - }) - ); - }) - ); - } - }, { - key: '_setStack', - value: function _setStack() { - var chartSeries = this.props.chartSeries; +var _svg = __webpack_require__(77); +var _svg2 = _interopRequireDefault(_svg); - var buildOut = function buildOut(len) { - // baseline for positive and negative bars respectively. - var currentXOffsets = []; - var currentXIndex = 0; - return function (d, x0, x) { +var _legend = __webpack_require__(80); - if (currentXIndex++ % len === 0) { - currentXOffsets = [0, 0]; - } +var _legend2 = _interopRequireDefault(_legend); - if (x >= 0) { - d.x0 = currentXOffsets[1]; - d.x = x; - currentXOffsets[1] += x; - } else { - d.x0 = currentXOffsets[0] + x; - d.x = -x; - currentXOffsets[0] += x; - } - }; - }; - return _d2.default.layout.stack().values(function (d) { - return d.data; - }).y(function (d) { - return d.x; - }).out(buildOut(chartSeries.length)); - } - }, { - key: 'render', - value: function render() { - var bar = this._mkBarStack(); - - return _react2.default.createElement( - 'g', - null, - bar - ); - } - }]); +var _commonProps = __webpack_require__(12); - return BarStackHorizontal; - }(_react.Component); +var _commonProps2 = _interopRequireDefault(_commonProps); - BarStackHorizontal.defaultProps = { - onMouseOver: function onMouseOver(d) {}, - onMouseOut: function onMouseOut(d) {}, - barClassName: 'react-d3-basic__bar_stack_horizontal' - }; - exports.default = BarStackHorizontal; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -/***/ }, -/* 60 */ -/***/ function(module, exports, __webpack_require__) { +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - "use strict"; +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - Object.defineProperty(exports, "__esModule", { - value: true - }); +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +var ChartContainer = function (_Component) { + _inherits(ChartContainer, _Component); - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + function ChartContainer(props) { + _classCallCheck(this, ChartContainer); - var _react = __webpack_require__(2); + return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartContainer).call(this, props)); + } - var _react2 = _interopRequireDefault(_react); + _createClass(ChartContainer, [{ + key: 'render', + value: function render() { + var _props = this.props; + var width = _props.width; + var chartSeries = _props.chartSeries; - var _d3Shape = __webpack_require__(50); - var _d3Shape2 = _interopRequireDefault(_d3Shape); + var legend; - var _commonProps = __webpack_require__(47); + var divStyle = { + width: width + }; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + if (chartSeries) { + legend = _react2.default.createElement(_legend2.default, _extends({}, this.props, { + chartSeries: chartSeries + })); + } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + return _react2.default.createElement( + 'div', + { style: divStyle }, + legend, + _react2.default.createElement(_svg2.default, this.props) + ); + } + }]); - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + return ChartContainer; +}(_react.Component); - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +ChartContainer.defaultProps = _commonProps2.default; +exports.default = ChartContainer; - var Pie = function (_Component) { - _inherits(Pie, _Component); +/***/ }), +/* 206 */ +/***/ (function(module, exports) { - function Pie(props) { - _classCallCheck(this, Pie); - return _possibleConstructorReturn(this, Object.getPrototypeOf(Pie).call(this, props)); - } - _createClass(Pie, [{ - key: 'triggerOver', - value: function triggerOver(data, e) { - this.props.onMouseOver(e, data); - } - }, { - key: 'triggerOut', - value: function triggerOut(data, e) { - this.props.onMouseOut(e, data); - } - }, { - key: 'mkSeries', - value: function mkSeries() { - var _props = this.props; - var data = _props.data; - var chartSeries = _props.chartSeries; - var value = _props.value; - var name = _props.name; - var categoricalColors = _props.categoricalColors; +/*:: type Attr = { [key: string]: string | number } */ +/*:: type Opts = { preserveNumbers: ?boolean } */ +/* - var chartSeriesData = chartSeries.map(function (f, i) { +style-attr +==== - // set a color if not set - if (!f.color) f.color = categoricalColors(i); +Very simple parsing and stringifying of style attributes. - // set name if not set - if (!f.name) f.name = f.field; +`parse` +---- - var val; +Convert a style attribute string to an object. - data.forEach(function (d) { - if (name(d) === f.field) val = d; - }); +*/ - return Object.assign(f, { value: value(val) }); - }); +/*:: declare function parse (raw: string, opts: ?Opts): Attr */ +function parse(raw, opts) { + opts = opts || {}; - return chartSeriesData; - } - }, { - key: '_mkPie', - value: function _mkPie() { - var _this2 = this; + var preserveNumbers = opts.preserveNumbers; + var trim = function (s) { + return s.trim(); + }; + var obj = {}; - var _props2 = this.props; - var width = _props2.width; - var height = _props2.height; - var innerRadius = _props2.innerRadius; - var outerRadius = _props2.outerRadius; - var pieSort = _props2.pieSort; - var value = _props2.value; - var radius = _props2.radius; - var pieTextShow = _props2.pieTextShow; + getKeyValueChunks(raw).map(trim).filter(Boolean).forEach(function (item) { + // split with `.indexOf` rather than `.split` because the value may also contain colons. + var pos = item.indexOf(':'); + var key = item.substr(0, pos).trim(); + var val = item.substr(pos + 1).trim(); + if (preserveNumbers && isNumeric(val)) { + val = Number(val); + } + obj[key] = val; + }); - var that = this; - var radius = this.props.radius || Math.min(width - 100, height - 100) / 2; - var outerRadius = outerRadius || radius - 10; - var labelr = radius + 10; + return obj; +} - var chartSeriesData = this.mkSeries(); +/* - var arc = _d3Shape2.default.arc().outerRadius(outerRadius).innerRadius(innerRadius); +`isNumeric` +---- - var arcOver = _d3Shape2.default.arc().outerRadius(outerRadius + 10).innerRadius(innerRadius); +Check if a value is numeric. +Via: https://stackoverflow.com/a/1830844/9324 - var pie = _d3Shape2.default.pie().sort(function (a, b) { - return pieSort(a.value, b.value); - }).value(function (d) { - return d.value; - }); +*/ - return _react2.default.createElement( - 'g', - { className: 'arc' }, - pie(chartSeriesData).map(function (slice, i) { - var textTransform = function textTransform(d) { - var c = arc.centroid(d), - x = c[0], - y = c[1], +/*:: declare function isNumeric (n: any): boolean */ - // pythagorean theorem for hypotenuse - h = Math.sqrt(x * x + y * y); +function isNumeric(n) { + return !isNaN(parseFloat(n)) && isFinite(n); +} - return "translate(" + x / h * labelr + ',' + y / h * labelr + ")"; - }; +/* - var textAnchor = function textAnchor(d) { - return (d.endAngle + d.startAngle) / 2 > Math.PI ? "end" : "start"; - }; +`getKeyValueChunks` +---- - return _react2.default.createElement( - 'g', - { key: i }, - _react2.default.createElement('path', { - d: arc(slice), - style: _extends({ fill: slice.data.color, stroke: '#FFF' }, slice.data.style), - onMouseOut: that.triggerOut.bind(_this2, slice), - onMouseOver: that.triggerOver.bind(_this2, slice) - }), - pieTextShow ? _react2.default.createElement( - 'text', - { - transform: textTransform(slice), - dy: '.35em', - textAnchor: textAnchor(slice) - }, - slice.data.name - ) : null - ); - }) - ); - } - }, { - key: 'render', - value: function render() { - var _props3 = this.props; - var width = _props3.width; - var height = _props3.height; - var margins = _props3.margins; - - - var t = 'translate(' + (width - margins.left - margins.right) / 2 + ', ' + (height - margins.top - margins.bottom) / 2 + ')'; - var pie = this._mkPie(); - - return _react2.default.createElement( - 'g', - { transform: t }, - pie - ); - } - }]); +Split a string into chunks matching `: ` - return Pie; - }(_react.Component); +*/ +/*:: declare function getKeyValueChunks (raw: string): Array */ +function getKeyValueChunks(raw) { + var chunks = []; + var offset = 0; + var sep = ';'; + var hasUnclosedUrl = /url\([^\)]+$/; + var chunk = ''; + var nextSplit; + while (offset < raw.length) { + nextSplit = raw.indexOf(sep, offset); + if (nextSplit === -1) { + nextSplit = raw.length; + } + + chunk += raw.substring(offset, nextSplit); + + // data URIs can contain semicolons, so make sure we get the whole thing + if (hasUnclosedUrl.test(chunk)) { + chunk += ';'; + offset = nextSplit + 1; + continue; + } + + chunks.push(chunk); + chunk = ''; + offset = nextSplit + 1; + } + + return chunks; +} + +/* + +`stringify` +---- + +Convert an object into an attribute string + +*/ +/*:: declare function stringify (obj: Attr): string */ +function stringify(obj) { + return Object.keys(obj).map(function (key) { + return key + ':' + obj[key]; + }).join(';'); +} + +/* + +`normalize` +---- + +Normalize an attribute string (eg. collapse duplicates) + +*/ +/*:: declare function normalize (str: string, opts: ?Opts): string */ +function normalize(str, opts) { + return stringify(parse(str, opts)); +} + +module.exports.parse = parse; +module.exports.stringify = stringify; +module.exports.normalize = normalize; + +/***/ }), +/* 207 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(208); + +/***/ }), +/* 208 */ +/***/ (function(module, exports, __webpack_require__) { + +/** + * @ignore + * css3 selector engine for ie6-8 + * @author yiminghe@gmail.com + */ + +var util = __webpack_require__(209); +var parser = __webpack_require__(210); + +var EXPANDO_SELECTOR_KEY = '_ks_data_selector_id_', + caches = {}, + isContextXML, + uuid = 0, + subMatchesCache = {}, + getAttr = function (el, name) { + if (isContextXML) { + return util.getSimpleAttr(el, name); + } else { + return util.attr(el, name); + } + }, + hasSingleClass = util.hasSingleClass, + isTag = util.isTag, + aNPlusB = /^(([+-]?(?:\d+)?)?n)?([+-]?\d+)?$/; + +// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters +var unescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, + unescapeFn = function (_, escaped) { + var high = '0x' + escaped - 0x10000; + // NaN means non-codepoint + return isNaN(high) ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode(high + 0x10000) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00); + }; + +var matchExpr; + +var pseudoFnExpr = { + 'nth-child': function (el, param) { + var ab = getAb(param), + a = ab.a, + b = ab.b; + if (a === 0 && b === 0) { + return 0; + } + var index = 0, + parent = el.parentNode; + if (parent) { + var childNodes = parent.childNodes, + count = 0, + child, + ret, + len = childNodes.length; + for (; count < len; count++) { + child = childNodes[count]; + if (child.nodeType === 1) { + index++; + ret = matchIndexByAb(index, a, b, child === el); + if (ret !== undefined) { + return ret; + } + } + } + } + return 0; + }, + 'nth-last-child': function (el, param) { + var ab = getAb(param), + a = ab.a, + b = ab.b; + if (a === 0 && b === 0) { + return 0; + } + var index = 0, + parent = el.parentNode; + if (parent) { + var childNodes = parent.childNodes, + len = childNodes.length, + count = len - 1, + child, + ret; + for (; count >= 0; count--) { + child = childNodes[count]; + if (child.nodeType === 1) { + index++; + ret = matchIndexByAb(index, a, b, child === el); + if (ret !== undefined) { + return ret; + } + } + } + } + return 0; + }, + 'nth-of-type': function (el, param) { + var ab = getAb(param), + a = ab.a, + b = ab.b; + if (a === 0 && b === 0) { + return 0; + } + var index = 0, + parent = el.parentNode; + if (parent) { + var childNodes = parent.childNodes, + elType = el.tagName, + count = 0, + child, + ret, + len = childNodes.length; + for (; count < len; count++) { + child = childNodes[count]; + if (child.tagName === elType) { + index++; + ret = matchIndexByAb(index, a, b, child === el); + if (ret !== undefined) { + return ret; + } + } + } + } + return 0; + }, + 'nth-last-of-type': function (el, param) { + var ab = getAb(param), + a = ab.a, + b = ab.b; + if (a === 0 && b === 0) { + return 0; + } + var index = 0, + parent = el.parentNode; + if (parent) { + var childNodes = parent.childNodes, + len = childNodes.length, + elType = el.tagName, + count = len - 1, + child, + ret; + for (; count >= 0; count--) { + child = childNodes[count]; + if (child.tagName === elType) { + index++; + ret = matchIndexByAb(index, a, b, child === el); + if (ret !== undefined) { + return ret; + } + } + } + } + return 0; + }, + lang: function (el, lang) { + var elLang; + lang = unEscape(lang.toLowerCase()); + do { + if ((elLang = (isContextXML ? + el.getAttribute('xml:lang') || el.getAttribute('lang') : + el.lang))) { + elLang = elLang.toLowerCase(); + return elLang === lang || elLang.indexOf(lang + '-') === 0; + } + } while ((el = el.parentNode) && el.nodeType === 1); + return false; + }, + not: function (el, negationArg) { + return !matchExpr[negationArg.t](el, negationArg.value); + } +}; + +var pseudoIdentExpr = { + empty: function (el) { + var childNodes = el.childNodes, + index = 0, + len = childNodes.length - 1, + child, + nodeType; + for (; index < len; index++) { + child = childNodes[index]; + nodeType = child.nodeType; + // only element nodes and content nodes + // (such as Dom [Dom-LEVEL-3-CORE] text nodes, + // CDATA nodes, and entity references + if (nodeType === 1 || nodeType === 3 || nodeType === 4 || nodeType === 5) { + return 0; + } + } + return 1; + }, + root: function (el) { + if (el.nodeType === 9) { + return true; + } + return el.ownerDocument && + el === el.ownerDocument.documentElement; + }, + 'first-child': function (el) { + return pseudoFnExpr['nth-child'](el, 1); + }, + 'last-child': function (el) { + return pseudoFnExpr['nth-last-child'](el, 1); + }, + 'first-of-type': function (el) { + return pseudoFnExpr['nth-of-type'](el, 1); + }, + 'last-of-type': function (el) { + return pseudoFnExpr['nth-last-of-type'](el, 1); + }, + 'only-child': function (el) { + return pseudoIdentExpr['first-child'](el) && + pseudoIdentExpr['last-child'](el); + }, + 'only-of-type': function (el) { + return pseudoIdentExpr['first-of-type'](el) && + pseudoIdentExpr['last-of-type'](el); + }, + focus: function (el) { + var doc = el.ownerDocument; + return doc && el === doc.activeElement && + (!doc.hasFocus || doc.hasFocus()) && !!(el.type || el.href || el.tabIndex >= 0); + }, + target: function (el) { + var hash = location.hash; + return hash && hash.slice(1) === getAttr(el, 'id'); + }, + enabled: function (el) { + return !el.disabled; + }, + disabled: function (el) { + return el.disabled; + }, + checked: function (el) { + var nodeName = el.nodeName.toLowerCase(); + return (nodeName === 'input' && el.checked) || + (nodeName === 'option' && el.selected); + } +}; + +var attributeExpr = { + '~=': function (elValue, value) { + if (!value || value.indexOf(' ') > -1) { + return 0; + } + return (' ' + elValue + ' ').indexOf(' ' + value + ' ') !== -1; + }, + '|=': function (elValue, value) { + return (' ' + elValue).indexOf(' ' + value + '-') !== -1; + }, + '^=': function (elValue, value) { + return value && util.startsWith(elValue, value); + }, + '$=': function (elValue, value) { + return value && util.endsWith(elValue, value); + }, + '*=': function (elValue, value) { + return value && elValue.indexOf(value) !== -1; + }, + '=': function (elValue, value) { + return elValue === value; + } +}; + +var relativeExpr = { + '>': { + dir: 'parentNode', + immediate: 1 + }, + ' ': { + dir: 'parentNode' + }, + '+': { + dir: 'previousSibling', + immediate: 1 + }, + '~': { + dir: 'previousSibling' + } +}; + +matchExpr = { + tag: isTag, + cls: hasSingleClass, + id: function (el, value) { + return getAttr(el, 'id') === value; + }, + attrib: function (el, value) { + var name = value.ident; + if (!isContextXML) { + name = name.toLowerCase(); + } + var elValue = getAttr(el, name); + var match = value.match; + if (!match && elValue !== undefined) { + return 1; + } else if (match) { + if (elValue === undefined) { + return 0; + } + var matchFn = attributeExpr[match]; + if (matchFn) { + return matchFn(elValue + '', value.value + ''); + } + } + return 0; + }, + pseudo: function (el, value) { + var fn, fnStr, ident; + if ((fnStr = value.fn)) { + if (!(fn = pseudoFnExpr[fnStr])) { + throw new SyntaxError('Syntax error: not support pseudo: ' + fnStr); + } + return fn(el, value.param); + } + if ((ident = value.ident)) { + if (!pseudoIdentExpr[ident]) { + throw new SyntaxError('Syntax error: not support pseudo: ' + ident); + } + return pseudoIdentExpr[ident](el); + } + return 0; + } +}; + +function unEscape(str) { + return str.replace(unescape, unescapeFn); +} + +parser.lexer.yy = { + trim: util.trim, + unEscape: unEscape, + unEscapeStr: function (str) { + return this.unEscape(str.slice(1, -1)); + } +}; + +function resetStatus() { + subMatchesCache = {}; +} + +function dir(el, direction) { + do { + el = el[direction]; + } while (el && el.nodeType !== 1); + return el; +} + +function getAb(param) { + var a = 0, + match, + b = 0; + if (typeof param === 'number') { + b = param; + } else if (param === 'odd') { + a = 2; + b = 1; + } else if (param === 'even') { + a = 2; + b = 0; + } else if ((match = param.replace(/\s/g, '').match(aNPlusB))) { + if (match[1]) { + a = parseInt(match[2], 10); + if (isNaN(a)) { + if (match[2] === '-') { + a = -1; + } else { + a = 1; + } + } + } else { + a = 0; + } + b = parseInt(match[3], 10) || 0; + } + return { + a: a, + b: b + }; +} + +function matchIndexByAb(index, a, b, eq) { + if (a === 0) { + if (index === b) { + return eq; + } + } else { + if ((index - b) / a >= 0 && (index - b) % a === 0 && eq) { + return 1; + } + } + return undefined; +} + +function isXML(elem) { + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName.toLowerCase() !== 'html' : false; +} + +function matches(str, seeds) { + return select(str, null, seeds); +} + +function singleMatch(el, match) { + if (!match) { + return true; + } + if (!el) { + return false; + } + + if (el.nodeType === 9) { + return false; + } + + var matched = 1, + matchSuffix = match.suffix, + matchSuffixLen, + matchSuffixIndex; + + if (match.t === 'tag') { + matched &= matchExpr.tag(el, match.value); + } + + if (matched && matchSuffix) { + matchSuffixLen = matchSuffix.length; + matchSuffixIndex = 0; + for (; matched && matchSuffixIndex < matchSuffixLen; matchSuffixIndex++) { + var singleMatchSuffix = matchSuffix[matchSuffixIndex], + singleMatchSuffixType = singleMatchSuffix.t; + if (matchExpr[singleMatchSuffixType]) { + matched &= matchExpr[singleMatchSuffixType](el, singleMatchSuffix.value); + } + } + } + + return matched; +} + +// match by adjacent immediate single selector match +function matchImmediate(el, match) { + var matched = 1, + startEl = el, + relativeOp, + startMatch = match; + + do { + matched &= singleMatch(el, match); + if (matched) { + // advance + match = match && match.prev; + if (!match) { + return true; + } + relativeOp = relativeExpr[match.nextCombinator]; + el = dir(el, relativeOp.dir); + if (!relativeOp.immediate) { + return { + // advance for non-immediate + el: el, + match: match + }; + } + } else { + relativeOp = relativeExpr[match.nextCombinator]; + if (relativeOp.immediate) { + // retreat but advance startEl + return { + el: dir(startEl, relativeExpr[startMatch.nextCombinator].dir), + match: startMatch + }; + } else { + // advance (before immediate match + jump unmatched) + return { + el: el && dir(el, relativeOp.dir), + match: match + }; + } + } + } while (el); + + // only occur when match immediate + return { + el: dir(startEl, relativeExpr[startMatch.nextCombinator].dir), + match: startMatch + }; +} + +// find fixed part, fixed with seeds +function findFixedMatchFromHead(el, head) { + var relativeOp, + cur = head; + + do { + if (!singleMatch(el, cur)) { + return null; + } + cur = cur.prev; + if (!cur) { + return true; + } + relativeOp = relativeExpr[cur.nextCombinator]; + el = dir(el, relativeOp.dir); + } while (el && relativeOp.immediate); + if (!el) { + return null; + } + return { + el: el, + match: cur + }; +} + +function genId(el) { + var selectorId; + + if (isContextXML) { + if (!(selectorId = el.getAttribute(EXPANDO_SELECTOR_KEY))) { + el.setAttribute(EXPANDO_SELECTOR_KEY, selectorId = (+new Date() + '_' + (++uuid))); + } + } else { + if (!(selectorId = el[EXPANDO_SELECTOR_KEY])) { + selectorId = el[EXPANDO_SELECTOR_KEY] = (+new Date()) + '_' + (++uuid); + } + } + + return selectorId; +} + +function matchSub(el, match) { + var selectorId = genId(el), + matchKey; + matchKey = selectorId + '_' + (match.order || 0); + if (matchKey in subMatchesCache) { + return subMatchesCache[matchKey]; + } + subMatchesCache[matchKey] = matchSubInternal(el, match); + return subMatchesCache[matchKey]; +} + +// recursive match by sub selector string from right to left +// grouped by immediate selectors +function matchSubInternal(el, match) { + var matchImmediateRet = matchImmediate(el, match); + if (matchImmediateRet === true) { + return true; + } else { + el = matchImmediateRet.el; + match = matchImmediateRet.match; + while (el) { + if (matchSub(el, match)) { + return true; + } + el = dir(el, relativeExpr[match.nextCombinator].dir); + } + return false; + } +} + +function select(str, context, seeds) { + if (!caches[str]) { + caches[str] = parser.parse(str); + } + + var selector = caches[str], + groupIndex = 0, + groupLen = selector.length, + contextDocument, + group, + ret = []; + + if (seeds) { + context = context || seeds[0].ownerDocument; + } + + contextDocument = context && context.ownerDocument || typeof document !== 'undefined' && document; + + if (context && context.nodeType === 9 && !contextDocument) { + contextDocument = context; + } + + context = context || contextDocument; + + isContextXML = isXML(context); + + for (; groupIndex < groupLen; groupIndex++) { + resetStatus(); + + group = selector[groupIndex]; + + var suffix = group.suffix, + suffixIndex, + suffixLen, + seedsIndex, + mySeeds = seeds, + seedsLen, + id = null; + + if (!mySeeds) { + if (suffix && !isContextXML) { + suffixIndex = 0; + suffixLen = suffix.length; + for (; suffixIndex < suffixLen; suffixIndex++) { + var singleSuffix = suffix[suffixIndex]; + if (singleSuffix.t === 'id') { + id = singleSuffix.value; + break; + } + } + } + + if (id) { + // http://yiminghe.github.io/lab/playground/fragment-selector/selector.html + var doesNotHasById = !context.getElementById, + contextInDom = util.contains(contextDocument, context), + tmp = doesNotHasById ? ( + contextInDom ? + contextDocument.getElementById(id) : + null + ) : context.getElementById(id); + // id bug + // https://github.com/kissyteam/kissy/issues/67 + if (!tmp && doesNotHasById || tmp && getAttr(tmp, 'id') !== id) { + var tmps = util.getElementsByTagName('*', context), + tmpLen = tmps.length, + tmpI = 0; + for (; tmpI < tmpLen; tmpI++) { + tmp = tmps[tmpI]; + if (getAttr(tmp, 'id') === id) { + mySeeds = [tmp]; + break; + } + } + if (tmpI === tmpLen) { + mySeeds = []; + } + } else { + if (contextInDom && tmp && context !== contextDocument) { + tmp = util.contains(context, tmp) ? tmp : null; + } + mySeeds = tmp ? [tmp] : []; + } + } else { + mySeeds = util.getElementsByTagName(group.value || '*', context); + } + } + + seedsIndex = 0; + seedsLen = mySeeds.length; + + if (!seedsLen) { + continue; + } + + for (; seedsIndex < seedsLen; seedsIndex++) { + var seed = mySeeds[seedsIndex]; + var matchHead = findFixedMatchFromHead(seed, group); + if (matchHead === true) { + ret.push(seed); + } else if (matchHead) { + if (matchSub(matchHead.el, matchHead.match)) { + ret.push(seed); + } + } + } + } + + if (groupLen > 1) { + ret = util.unique(ret); + } + + return ret; +} + +module.exports = select; + +select.parse = function (str) { + return parser.parse(str); +}; + +select.matches = matches; + +select.util = util; + +select.version = '@VERSION@'; +/** + * @ignore + * note 2013-03-28 + * - use recursive call to replace backtracking algorithm + * + * refer + * - http://www.w3.org/TR/selectors/ + * - http://www.impressivewebs.com/browser-support-css3-selectors/ + * - http://blogs.msdn.com/ie/archive/2010/05/13/the-css-corner-css3-selectors.aspx + * - http://sizzlejs.com/ + */ + +/***/ }), +/* 209 */ +/***/ (function(module, exports) { + +/** + * attr fix for old ie + * @author yiminghe@gmail.com + */ +var R_BOOLEAN = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + R_FOCUSABLE = /^(?:button|input|object|select|textarea)$/i, + R_CLICKABLE = /^a(?:rea)?$/i, + R_INVALID_CHAR = /:|^on/; + +var attrFix = {}, + propFix, + attrHooks = { + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + tabindex: { + get: function (el) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + var attributeNode = el.getAttributeNode('tabindex'); + return attributeNode && attributeNode.specified ? + parseInt(attributeNode.value, 10) : + R_FOCUSABLE.test(el.nodeName) || + R_CLICKABLE.test(el.nodeName) && el.href ? + 0 : + undefined; + } + } + }, + boolHook = { + get: function (elem, name) { + // 转发到 prop 方法 + return elem[propFix[name] || name] ? + // 根据 w3c attribute , true 时返回属性名字符串 + name.toLowerCase() : + undefined; + } + }, + attrNodeHook = {}; + +attrHooks.style = { + get: function (el) { + return el.style.cssText; + } +}; + +propFix = { + hidefocus: 'hideFocus', + tabindex: 'tabIndex', + readonly: 'readOnly', + 'for': 'htmlFor', + 'class': 'className', + maxlength: 'maxLength', + cellspacing: 'cellSpacing', + cellpadding: 'cellPadding', + rowspan: 'rowSpan', + colspan: 'colSpan', + usemap: 'useMap', + frameborder: 'frameBorder', + contenteditable: 'contentEditable' +}; + +var ua = typeof navigator !== 'undefined' ? navigator.userAgent : ''; +var doc = typeof document !== 'undefined' ? document : {}; + +function numberify(s) { + var c = 0; + // convert '1.2.3.4' to 1.234 + return parseFloat(s.replace(/\./g, function () { + return (c++ === 0) ? '.' : ''; + })); +} + +function ieVersion() { + var m, v; + if ((m = ua.match(/MSIE ([^;]*)|Trident.*; rv(?:\s|:)?([0-9.]+)/)) && + (v = (m[1] || m[2]))) { + return doc.documentMode || numberify(v); + } +} + +function mix(s, t) { + for (var p in t) { + s[p] = t[p]; + } +} + +function each(arr, fn) { + var i = 0, l = arr.length; + for (; i < l; i++) { + if (fn(arr[i], i) === false) { + break; + } + } +} +var ie = ieVersion(); + +if (ie && ie < 8) { + attrHooks.style.set = function (el, val) { + el.style.cssText = val; + }; + + // get attribute value from attribute node for ie + mix(attrNodeHook, { + get: function (elem, name) { + var ret = elem.getAttributeNode(name); + // Return undefined if attribute node specified by user + return ret && ( + // fix #100 + ret.specified || ret.nodeValue) ? + ret.nodeValue : + undefined; + } + }); + + // ie6,7 不区分 attribute 与 property + mix(attrFix, propFix); + + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + attrHooks.tabIndex = attrHooks.tabindex; + + // 不光是 href, src, 还有 rowspan 等非 mapping 属性,也需要用第 2 个参数来获取原始值 + // 注意 colSpan rowSpan 已经由 propFix 转为大写 + each(['href', 'src', 'width', 'height', 'colSpan', 'rowSpan'], function (name) { + attrHooks[name] = { + get: function (elem) { + var ret = elem.getAttribute(name, 2); + return ret === null ? undefined : ret; + } + }; + }); + + attrHooks.placeholder = { + get: function (elem, name) { + return elem[name] || attrNodeHook.get(elem, name); + } + }; +} + +if (ie) { + var hrefFix = attrHooks.href = attrHooks.href || {}; + hrefFix.set = function (el, val, name) { + var childNodes = el.childNodes, + b, + len = childNodes.length, + allText = len > 0; + for (len = len - 1; len >= 0; len--) { + if (childNodes[len].nodeType !== 3) { + allText = 0; + } + } + if (allText) { + b = el.ownerDocument.createElement('b'); + b.style.display = 'none'; + el.appendChild(b); + } + el.setAttribute(name, '' + val); + if (b) { + el.removeChild(b); + } + }; +} + +var RE_TRIM = /^[\s\xa0]+|[\s\xa0]+$/g, + trim = String.prototype.trim; +var SPACE = ' '; + +var getElementsByTagName; +getElementsByTagName = function (name, context) { + return context.getElementsByTagName(name); +}; + +if (doc.createElement) { + var div = doc.createElement('div'); + div.appendChild(document.createComment('')); + if (div.getElementsByTagName('*').length) { + getElementsByTagName = function (name, context) { + var nodes = context.getElementsByTagName(name), + needsFilter = name === '*'; + // + if (needsFilter || typeof nodes.length !== 'number') { + var ret = [], + i = 0, + el; + while ((el = nodes[i++])) { + if (!needsFilter || el.nodeType === 1) { + ret.push(el); + } + } + return ret; + } else { + return nodes; + } + }; + } +} + +var compareNodeOrder = ('sourceIndex' in (doc && doc.documentElement || {})) ? function (a, b) { + return a.sourceIndex - b.sourceIndex; +} : function (a, b) { + if (!a.compareDocumentPosition || !b.compareDocumentPosition) { + return a.compareDocumentPosition ? -1 : 1; + } + var bit = a.compareDocumentPosition(b) & 4; + return bit ? -1 : 1; +}; + +var util = module.exports = { + ie: ie, + + unique: (function () { + var hasDuplicate, + baseHasDuplicate = true; + + // Here we check if the JavaScript engine is using some sort of + // optimization where it does not always call our comparison + // function. If that is the case, discard the hasDuplicate value. + // Thus far that includes Google Chrome. + [0, 0].sort(function () { + baseHasDuplicate = false; + return 0; + }); + + function sortOrder(a, b) { + if (a === b) { + hasDuplicate = true; + return 0; + } + + return compareNodeOrder(a, b); + } + + // 排序去重 + return function (elements) { + hasDuplicate = baseHasDuplicate; + elements.sort(sortOrder); + + if (hasDuplicate) { + var i = 1, len = elements.length; + while (i < len) { + if (elements[i] === elements[i - 1]) { + elements.splice(i, 1); + --len; + } else { + i++; + } + } + } + return elements; + }; + })(), + + getElementsByTagName: getElementsByTagName, + + getSimpleAttr: function (el, name) { + var ret = el && el.getAttributeNode(name); + if (ret && ret.specified) { + return 'value' in ret ? ret.value : ret.nodeValue; + } + return undefined; + }, + + contains: ie ? function (a, b) { + if (a.nodeType === 9) { + a = a.documentElement; + } + // !a.contains => a===document || text + // 注意原生 contains 判断时 a===b 也返回 true + b = b.parentNode; + + if (a === b) { + return true; + } + + // when b is document, a.contains(b) 不支持的接口 in ie + if (b && b.nodeType === 1) { + return a.contains && a.contains(b); + } else { + return false; + } + } : function (a, b) { + return !!(a.compareDocumentPosition(b) & 16); + }, + + isTag: function (el, value) { + return value === '*' || el.nodeName.toLowerCase() === value.toLowerCase(); + }, + + hasSingleClass: function (el, cls) { + // consider xml + // https://github.com/kissyteam/kissy/issues/532 + var className = el && util.getSimpleAttr(el, 'class'); + return className && (className = className.replace(/[\r\t\n]/g, SPACE)) && + (SPACE + className + SPACE).indexOf(SPACE + cls + SPACE) > -1; + }, + + startsWith: function (str, prefix) { + return str.lastIndexOf(prefix, 0) === 0; + }, + + endsWith: function (str, suffix) { + var ind = str.length - suffix.length; + return ind >= 0 && str.indexOf(suffix, ind) === ind; + }, + + trim: trim ? + function (str) { + return str == null ? '' : trim.call(str); + } : + function (str) { + return str == null ? '' : (str + '').replace(RE_TRIM, ''); + }, + + attr: function (el, name) { + var attrNormalizer, ret; + // scrollLeft + name = name.toLowerCase(); + // custom attrs + name = attrFix[name] || name; + if (R_BOOLEAN.test(name)) { + attrNormalizer = boolHook; + } else if (R_INVALID_CHAR.test(name)) { + // only old ie? + attrNormalizer = attrNodeHook; + } else { + attrNormalizer = attrHooks[name]; + } + if (el && el.nodeType === 1) { + // browsers index elements by id/name on forms, give priority to attributes. + if (el.nodeName.toLowerCase() === 'form') { + attrNormalizer = attrNodeHook; + } + if (attrNormalizer && attrNormalizer.get) { + return attrNormalizer.get(el, name); + } + ret = el.getAttribute(name); + if (ret === '') { + var attrNode = el.getAttributeNode(name); + if (!attrNode || !attrNode.specified) { + return undefined; + } + } + // standard browser non-existing attribute return null + // ie<8 will return undefined , because it return property + // so norm to undefined + return ret === null ? undefined : ret; + } + } +}; + +/***/ }), +/* 210 */ +/***/ (function(module, exports, __webpack_require__) { + +/* + Generated by kison.*/ +var parser = (function (undefined) { + /*jshint quotmark:false, loopfunc:true, indent:false, unused:false, asi:true, boss:true*/ + /* Generated by kison */ + var parser = {}, + GrammarConst = { + 'SHIFT_TYPE': 1, + 'REDUCE_TYPE': 2, + 'ACCEPT_TYPE': 0, + 'TYPE_INDEX': 0, + 'PRODUCTION_INDEX': 1, + 'TO_INDEX': 2 + }; + /*jslint quotmark: false*/ + function mix(to, from) { + for (var f in from) { + to[f] = from[f]; + } + } + + function isArray(obj) { + return '[object Array]' === Object.prototype.toString.call(obj); + } + + function each(object, fn, context) { + if (object) { + var key, + val, + length, + i = 0; + + context = context || null; + + if (!isArray(object)) { + for (key in object) { + // can not use hasOwnProperty + if (fn.call(context, object[key], key, object) === false) { + break; + } + } + } else { + length = object.length; + for (val = object[0]; i < length; val = object[++i]) { + if (fn.call(context, val, i, object) === false) { + break; + } + } + } + } + } + + function inArray(item, arr) { + for (var i = 0, l = arr.length; i < l; i++) { + if (arr[i] === item) { + return true; + } + } + return false; + } + var Lexer = function Lexer(cfg) { + + var self = this; + + /* + lex rules. + @type {Object[]} + @example + [ + { + regexp:'\\w+', + state:['xx'], + token:'c', + // this => lex + action:function(){} + } + ] + */ + self.rules = []; + + mix(self, cfg); + + /* + Input languages + @type {String} + */ + + self.resetInput(self.input); + }; + Lexer.prototype = { + 'resetInput': function (input) { + mix(this, { + input: input, + matched: '', + stateStack: [Lexer.STATIC.INITIAL], + match: '', + text: '', + firstLine: 1, + lineNumber: 1, + lastLine: 1, + firstColumn: 1, + lastColumn: 1 + }); + }, + 'getCurrentRules': function () { + var self = this, + currentState = self.stateStack[self.stateStack.length - 1], + rules = []; + //#JSCOVERAGE_IF + if (self.mapState) { + currentState = self.mapState(currentState); + } + each(self.rules, function (r) { + var state = r.state || r[3]; + if (!state) { + if (currentState === Lexer.STATIC.INITIAL) { + rules.push(r); + } + } else if (inArray(currentState, state)) { + rules.push(r); + } + }); + return rules; + }, + 'pushState': function (state) { + this.stateStack.push(state); + }, + 'popState': function (num) { + num = num || 1; + var ret; + while (num--) { + ret = this.stateStack.pop(); + } + return ret; + }, + 'showDebugInfo': function () { + var self = this, + DEBUG_CONTEXT_LIMIT = Lexer.STATIC.DEBUG_CONTEXT_LIMIT, + matched = self.matched, + match = self.match, + input = self.input; + matched = matched.slice(0, matched.length - match.length); + //#JSCOVERAGE_IF 0 + var past = (matched.length > DEBUG_CONTEXT_LIMIT ? '...' : '') + + matched.slice(0 - DEBUG_CONTEXT_LIMIT).replace(/\n/, ' '), + next = match + input; + //#JSCOVERAGE_ENDIF + next = next.slice(0, DEBUG_CONTEXT_LIMIT) + + (next.length > DEBUG_CONTEXT_LIMIT ? '...' : ''); + return past + next + '\n' + new Array(past.length + 1).join('-') + '^'; + }, + 'mapSymbol': function mapSymbolForCodeGen(t) { + return this.symbolMap[t]; + }, + 'mapReverseSymbol': function (rs) { + var self = this, + symbolMap = self.symbolMap, + i, + reverseSymbolMap = self.reverseSymbolMap; + if (!reverseSymbolMap && symbolMap) { + reverseSymbolMap = self.reverseSymbolMap = {}; + for (i in symbolMap) { + reverseSymbolMap[symbolMap[i]] = i; + } + } + //#JSCOVERAGE_IF + if (reverseSymbolMap) { + return reverseSymbolMap[rs]; + } else { + return rs; + } + }, + 'lex': function () { + var self = this, + input = self.input, + i, + rule, + m, + ret, + lines, + rules = self.getCurrentRules(); + + self.match = self.text = ''; + + if (!input) { + return self.mapSymbol(Lexer.STATIC.END_TAG); + } + + for (i = 0; i < rules.length; i++) { + rule = rules[i]; + //#JSCOVERAGE_IF 0 + var regexp = rule.regexp || rule[1], + token = rule.token || rule[0], + action = rule.action || rule[2] || undefined; + //#JSCOVERAGE_ENDIF + if ((m = input.match(regexp))) { + lines = m[0].match(/\n.*/g); + if (lines) { + self.lineNumber += lines.length; + } + mix(self, { + firstLine: self.lastLine, + lastLine: self.lineNumber + 1, + firstColumn: self.lastColumn, + lastColumn: lines ? + lines[lines.length - 1].length - 1 : self.lastColumn + m[0].length + }); + var match; + // for error report + match = self.match = m[0]; + + // all matches + self.matches = m; + // may change by user + self.text = match; + // matched content utils now + self.matched += match; + ret = action && action.call(self); + if (ret === undefined) { + ret = token; + } else { + ret = self.mapSymbol(ret); + } + input = input.slice(match.length); + self.input = input; + + if (ret) { + return ret; + } else { + // ignore + return self.lex(); + } + } + } + } + }; + Lexer.STATIC = { + 'INITIAL': 'I', + 'DEBUG_CONTEXT_LIMIT': 20, + 'END_TAG': '$EOF' + }; + var lexer = new Lexer({ + 'rules': [ + ['b', /^\[(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['c', /^(?:[\t\r\n\f\x20]*)\]/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['d', /^(?:[\t\r\n\f\x20]*)~=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['e', /^(?:[\t\r\n\f\x20]*)\|=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['f', /^(?:[\t\r\n\f\x20]*)\^=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['g', /^(?:[\t\r\n\f\x20]*)\$=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['h', /^(?:[\t\r\n\f\x20]*)\*=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['i', /^(?:[\t\r\n\f\x20]*)\=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['j', /^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)\(/, + function () { + this.text = this.yy.trim(this.text).slice(0, -1); + this.pushState('fn'); + } + ], + ['k', /^[^\)]*/, + function () { + this.popState(); + }, + ['fn'] + ], + ['l', /^(?:[\t\r\n\f\x20]*)\)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['m', /^:not\((?:[\t\r\n\f\x20]*)/i, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['n', /^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/, + function () { + this.text = this.yy.unEscape(this.text); + } + ], + ['o', /^"(\\"|[^"])*"/, + function () { + this.text = this.yy.unEscapeStr(this.text); + } + ], + ['o', /^'(\\'|[^'])*'/, + function () { + this.text = this.yy.unEscapeStr(this.text); + } + ], + ['p', /^#(?:(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))+)/, + function () { + this.text = this.yy.unEscape(this.text.slice(1)); + } + ], + ['q', /^\.(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/, + function () { + this.text = this.yy.unEscape(this.text.slice(1)); + } + ], + ['r', /^(?:[\t\r\n\f\x20]*),(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['s', /^::?/, 0], + ['t', /^(?:[\t\r\n\f\x20]*)\+(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['u', /^(?:[\t\r\n\f\x20]*)>(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['v', /^(?:[\t\r\n\f\x20]*)~(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['w', /^\*/, 0], + ['x', /^(?:[\t\r\n\f\x20]+)/, 0], + ['y', /^./, 0] + ] + }); + parser.lexer = lexer; + lexer.symbolMap = { + '$EOF': 'a', + 'LEFT_BRACKET': 'b', + 'RIGHT_BRACKET': 'c', + 'INCLUDES': 'd', + 'DASH_MATCH': 'e', + 'PREFIX_MATCH': 'f', + 'SUFFIX_MATCH': 'g', + 'SUBSTRING_MATCH': 'h', + 'ALL_MATCH': 'i', + 'FUNCTION': 'j', + 'PARAMETER': 'k', + 'RIGHT_PARENTHESES': 'l', + 'NOT': 'm', + 'IDENT': 'n', + 'STRING': 'o', + 'HASH': 'p', + 'CLASS': 'q', + 'COMMA': 'r', + 'COLON': 's', + 'PLUS': 't', + 'GREATER': 'u', + 'TILDE': 'v', + 'UNIVERSAL': 'w', + 'S': 'x', + 'INVALID': 'y', + '$START': 'z', + 'selectors_group': 'aa', + 'selector': 'ab', + 'simple_selector_sequence': 'ac', + 'combinator': 'ad', + 'type_selector': 'ae', + 'id_selector': 'af', + 'class_selector': 'ag', + 'attrib_match': 'ah', + 'attrib': 'ai', + 'attrib_val': 'aj', + 'pseudo': 'ak', + 'negation': 'al', + 'negation_arg': 'am', + 'suffix_selector': 'an', + 'suffix_selectors': 'ao' + }; + parser.productions = [ + ['z', ['aa']], + ['aa', ['ab'], + function () { + return [this.$1]; + } + ], + ['aa', ['aa', 'r', 'ab'], + function () { + this.$1.push(this.$3); + } + ], + ['ab', ['ac']], + ['ab', ['ab', 'ad', 'ac'], + function () { + // LinkedList + + this.$1.nextCombinator = this.$3.prevCombinator = this.$2; + var order; + order = this.$1.order = this.$1.order || 0; + this.$3.order = order + 1; + this.$3.prev = this.$1; + this.$1.next = this.$3; + return this.$3; + } + ], + ['ad', ['t']], + ['ad', ['u']], + ['ad', ['v']], + ['ad', ['x'], + function () { + return ' '; + } + ], + ['ae', ['n'], + function () { + return { + t: 'tag', + value: this.$1 + }; + } + ], + ['ae', ['w'], + function () { + return { + t: 'tag', + value: this.$1 + }; + } + ], + ['af', ['p'], + function () { + return { + t: 'id', + value: this.$1 + }; + } + ], + ['ag', ['q'], + function () { + return { + t: 'cls', + value: this.$1 + }; + } + ], + ['ah', ['f']], + ['ah', ['g']], + ['ah', ['h']], + ['ah', ['i']], + ['ah', ['d']], + ['ah', ['e']], + ['ai', ['b', 'n', 'c'], + function () { + return { + t: 'attrib', + value: { + ident: this.$2 + } + }; + } + ], + ['aj', ['n']], + ['aj', ['o']], + ['ai', ['b', 'n', 'ah', 'aj', 'c'], + function () { + return { + t: 'attrib', + value: { + ident: this.$2, + match: this.$3, + value: this.$4 + } + }; + } + ], + ['ak', ['s', 'j', 'k', 'l'], + function () { + return { + t: 'pseudo', + value: { + fn: this.$2.toLowerCase(), + param: this.$3 + } + }; + } + ], + ['ak', ['s', 'n'], + function () { + return { + t: 'pseudo', + value: { + ident: this.$2.toLowerCase() + } + }; + } + ], + ['al', ['m', 'am', 'l'], + function () { + return { + t: 'pseudo', + value: { + fn: 'not', + param: this.$2 + } + }; + } + ], + ['am', ['ae']], + ['am', ['af']], + ['am', ['ag']], + ['am', ['ai']], + ['am', ['ak']], + ['an', ['af']], + ['an', ['ag']], + ['an', ['ai']], + ['an', ['ak']], + ['an', ['al']], + ['ao', ['an'], + function () { + return [this.$1]; + } + ], + ['ao', ['ao', 'an'], + function () { + this.$1.push(this.$2); + } + ], + ['ac', ['ae']], + ['ac', ['ao'], + function () { + return { + suffix: this.$1 + }; + } + ], + ['ac', ['ae', 'ao'], + function () { + return { + t: 'tag', + value: this.$1.value, + suffix: this.$2 + }; + } + ] + ]; + parser.table = { + 'gotos': { + '0': { + 'aa': 8, + 'ab': 9, + 'ae': 10, + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 16, + 'ao': 17, + 'ac': 18 + }, + '2': { + 'ae': 20, + 'af': 21, + 'ag': 22, + 'ai': 23, + 'ak': 24, + 'am': 25 + }, + '9': { + 'ad': 33 + }, + '10': { + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 16, + 'ao': 34 + }, + '17': { + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 35 + }, + '19': { + 'ah': 43 + }, + '28': { + 'ab': 46, + 'ae': 10, + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 16, + 'ao': 17, + 'ac': 18 + }, + '33': { + 'ae': 10, + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 16, + 'ao': 17, + 'ac': 47 + }, + '34': { + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 35 + }, + '43': { + 'aj': 50 + }, + '46': { + 'ad': 33 + } + }, + 'action': { + '0': { + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'n': [1, undefined, 3], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6], + 'w': [1, undefined, 7] + }, + '1': { + 'n': [1, undefined, 19] + }, + '2': { + 'b': [1, undefined, 1], + 'n': [1, undefined, 3], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6], + 'w': [1, undefined, 7] + }, + '3': { + 'a': [2, 9], + 'r': [2, 9], + 't': [2, 9], + 'u': [2, 9], + 'v': [2, 9], + 'x': [2, 9], + 'p': [2, 9], + 'q': [2, 9], + 'b': [2, 9], + 's': [2, 9], + 'm': [2, 9], + 'l': [2, 9] + }, + '4': { + 'a': [2, 11], + 'r': [2, 11], + 't': [2, 11], + 'u': [2, 11], + 'v': [2, 11], + 'x': [2, 11], + 'p': [2, 11], + 'q': [2, 11], + 'b': [2, 11], + 's': [2, 11], + 'm': [2, 11], + 'l': [2, 11] + }, + '5': { + 'a': [2, 12], + 'r': [2, 12], + 't': [2, 12], + 'u': [2, 12], + 'v': [2, 12], + 'x': [2, 12], + 'p': [2, 12], + 'q': [2, 12], + 'b': [2, 12], + 's': [2, 12], + 'm': [2, 12], + 'l': [2, 12] + }, + '6': { + 'j': [1, undefined, 26], + 'n': [1, undefined, 27] + }, + '7': { + 'a': [2, 10], + 'r': [2, 10], + 't': [2, 10], + 'u': [2, 10], + 'v': [2, 10], + 'x': [2, 10], + 'p': [2, 10], + 'q': [2, 10], + 'b': [2, 10], + 's': [2, 10], + 'm': [2, 10], + 'l': [2, 10] + }, + '8': { + 'a': [0], + 'r': [1, undefined, 28] + }, + '9': { + 'a': [2, 1], + 'r': [2, 1], + 't': [1, undefined, 29], + 'u': [1, undefined, 30], + 'v': [1, undefined, 31], + 'x': [1, undefined, 32] + }, + '10': { + 'a': [2, 38], + 'r': [2, 38], + 't': [2, 38], + 'u': [2, 38], + 'v': [2, 38], + 'x': [2, 38], + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6] + }, + '11': { + 'a': [2, 31], + 'r': [2, 31], + 't': [2, 31], + 'u': [2, 31], + 'v': [2, 31], + 'x': [2, 31], + 'p': [2, 31], + 'q': [2, 31], + 'b': [2, 31], + 's': [2, 31], + 'm': [2, 31] + }, + '12': { + 'a': [2, 32], + 'r': [2, 32], + 't': [2, 32], + 'u': [2, 32], + 'v': [2, 32], + 'x': [2, 32], + 'p': [2, 32], + 'q': [2, 32], + 'b': [2, 32], + 's': [2, 32], + 'm': [2, 32] + }, + '13': { + 'a': [2, 33], + 'r': [2, 33], + 't': [2, 33], + 'u': [2, 33], + 'v': [2, 33], + 'x': [2, 33], + 'p': [2, 33], + 'q': [2, 33], + 'b': [2, 33], + 's': [2, 33], + 'm': [2, 33] + }, + '14': { + 'a': [2, 34], + 'r': [2, 34], + 't': [2, 34], + 'u': [2, 34], + 'v': [2, 34], + 'x': [2, 34], + 'p': [2, 34], + 'q': [2, 34], + 'b': [2, 34], + 's': [2, 34], + 'm': [2, 34] + }, + '15': { + 'a': [2, 35], + 'r': [2, 35], + 't': [2, 35], + 'u': [2, 35], + 'v': [2, 35], + 'x': [2, 35], + 'p': [2, 35], + 'q': [2, 35], + 'b': [2, 35], + 's': [2, 35], + 'm': [2, 35] + }, + '16': { + 'a': [2, 36], + 'r': [2, 36], + 't': [2, 36], + 'u': [2, 36], + 'v': [2, 36], + 'x': [2, 36], + 'p': [2, 36], + 'q': [2, 36], + 'b': [2, 36], + 's': [2, 36], + 'm': [2, 36] + }, + '17': { + 'a': [2, 39], + 'r': [2, 39], + 't': [2, 39], + 'u': [2, 39], + 'v': [2, 39], + 'x': [2, 39], + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6] + }, + '18': { + 'a': [2, 3], + 'r': [2, 3], + 't': [2, 3], + 'u': [2, 3], + 'v': [2, 3], + 'x': [2, 3] + }, + '19': { + 'c': [1, undefined, 36], + 'd': [1, undefined, 37], + 'e': [1, undefined, 38], + 'f': [1, undefined, 39], + 'g': [1, undefined, 40], + 'h': [1, undefined, 41], + 'i': [1, undefined, 42] + }, + '20': { + 'l': [2, 26] + }, + '21': { + 'l': [2, 27] + }, + '22': { + 'l': [2, 28] + }, + '23': { + 'l': [2, 29] + }, + '24': { + 'l': [2, 30] + }, + '25': { + 'l': [1, undefined, 44] + }, + '26': { + 'k': [1, undefined, 45] + }, + '27': { + 'a': [2, 24], + 'r': [2, 24], + 't': [2, 24], + 'u': [2, 24], + 'v': [2, 24], + 'x': [2, 24], + 'p': [2, 24], + 'q': [2, 24], + 'b': [2, 24], + 's': [2, 24], + 'm': [2, 24], + 'l': [2, 24] + }, + '28': { + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'n': [1, undefined, 3], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6], + 'w': [1, undefined, 7] + }, + '29': { + 'n': [2, 5], + 'w': [2, 5], + 'p': [2, 5], + 'q': [2, 5], + 'b': [2, 5], + 's': [2, 5], + 'm': [2, 5] + }, + '30': { + 'n': [2, 6], + 'w': [2, 6], + 'p': [2, 6], + 'q': [2, 6], + 'b': [2, 6], + 's': [2, 6], + 'm': [2, 6] + }, + '31': { + 'n': [2, 7], + 'w': [2, 7], + 'p': [2, 7], + 'q': [2, 7], + 'b': [2, 7], + 's': [2, 7], + 'm': [2, 7] + }, + '32': { + 'n': [2, 8], + 'w': [2, 8], + 'p': [2, 8], + 'q': [2, 8], + 'b': [2, 8], + 's': [2, 8], + 'm': [2, 8] + }, + '33': { + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'n': [1, undefined, 3], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6], + 'w': [1, undefined, 7] + }, + '34': { + 'a': [2, 40], + 'r': [2, 40], + 't': [2, 40], + 'u': [2, 40], + 'v': [2, 40], + 'x': [2, 40], + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6] + }, + '35': { + 'a': [2, 37], + 'r': [2, 37], + 't': [2, 37], + 'u': [2, 37], + 'v': [2, 37], + 'x': [2, 37], + 'p': [2, 37], + 'q': [2, 37], + 'b': [2, 37], + 's': [2, 37], + 'm': [2, 37] + }, + '36': { + 'a': [2, 19], + 'r': [2, 19], + 't': [2, 19], + 'u': [2, 19], + 'v': [2, 19], + 'x': [2, 19], + 'p': [2, 19], + 'q': [2, 19], + 'b': [2, 19], + 's': [2, 19], + 'm': [2, 19], + 'l': [2, 19] + }, + '37': { + 'n': [2, 17], + 'o': [2, 17] + }, + '38': { + 'n': [2, 18], + 'o': [2, 18] + }, + '39': { + 'n': [2, 13], + 'o': [2, 13] + }, + '40': { + 'n': [2, 14], + 'o': [2, 14] + }, + '41': { + 'n': [2, 15], + 'o': [2, 15] + }, + '42': { + 'n': [2, 16], + 'o': [2, 16] + }, + '43': { + 'n': [1, undefined, 48], + 'o': [1, undefined, 49] + }, + '44': { + 'a': [2, 25], + 'r': [2, 25], + 't': [2, 25], + 'u': [2, 25], + 'v': [2, 25], + 'x': [2, 25], + 'p': [2, 25], + 'q': [2, 25], + 'b': [2, 25], + 's': [2, 25], + 'm': [2, 25] + }, + '45': { + 'l': [1, undefined, 51] + }, + '46': { + 'a': [2, 2], + 'r': [2, 2], + 't': [1, undefined, 29], + 'u': [1, undefined, 30], + 'v': [1, undefined, 31], + 'x': [1, undefined, 32] + }, + '47': { + 'a': [2, 4], + 'r': [2, 4], + 't': [2, 4], + 'u': [2, 4], + 'v': [2, 4], + 'x': [2, 4] + }, + '48': { + 'c': [2, 20] + }, + '49': { + 'c': [2, 21] + }, + '50': { + 'c': [1, undefined, 52] + }, + '51': { + 'a': [2, 23], + 'r': [2, 23], + 't': [2, 23], + 'u': [2, 23], + 'v': [2, 23], + 'x': [2, 23], + 'p': [2, 23], + 'q': [2, 23], + 'b': [2, 23], + 's': [2, 23], + 'm': [2, 23], + 'l': [2, 23] + }, + '52': { + 'a': [2, 22], + 'r': [2, 22], + 't': [2, 22], + 'u': [2, 22], + 'v': [2, 22], + 'x': [2, 22], + 'p': [2, 22], + 'q': [2, 22], + 'b': [2, 22], + 's': [2, 22], + 'm': [2, 22], + 'l': [2, 22] + } + } + }; + parser.parse = function parse(input, filename) { + var self = this, + lexer = self.lexer, + state, + symbol, + action, + table = self.table, + gotos = table.gotos, + tableAction = table.action, + productions = self.productions, + valueStack = [null], + // for debug info + prefix = filename ? ('in file: ' + filename + ' ') : '', + stack = [0]; + + lexer.resetInput(input); + + while (1) { + // retrieve state number from top of stack + state = stack[stack.length - 1]; + + if (!symbol) { + symbol = lexer.lex(); + } + + if (symbol) { + // read action for current state and first input + action = tableAction[state] && tableAction[state][symbol]; + } else { + action = null; + } + + if (!action) { + var expected = [], + error; + //#JSCOVERAGE_IF + if (tableAction[state]) { + for (var symbolForState in tableAction[state]) { + expected.push(self.lexer.mapReverseSymbol(symbolForState)); + } + } + error = prefix + 'syntax error at line ' + lexer.lineNumber + + ':\n' + lexer.showDebugInfo() + + '\n' + 'expect ' + expected.join(', '); + throw new Error(error); + } + + switch (action[GrammarConst.TYPE_INDEX]) { + case GrammarConst.SHIFT_TYPE: + stack.push(symbol); + + valueStack.push(lexer.text); + + // push state + stack.push(action[GrammarConst.TO_INDEX]); + + // allow to read more + symbol = null; + + break; + + case GrammarConst.REDUCE_TYPE: + var production = productions[action[GrammarConst.PRODUCTION_INDEX]], + reducedSymbol = production.symbol || production[0], + reducedAction = production.action || production[2], + reducedRhs = production.rhs || production[1], + len = reducedRhs.length, + i = 0, + ret, + $$ = valueStack[valueStack.length - len]; // default to $$ = $1 + + ret = undefined; + + self.$$ = $$; + + for (; i < len; i++) { + self['$' + (len - i)] = valueStack[valueStack.length - 1 - i]; + } + + if (reducedAction) { + ret = reducedAction.call(self); + } + + if (ret !== undefined) { + $$ = ret; + } else { + $$ = self.$$; + } + + stack = stack.slice(0, -1 * len * 2); + valueStack = valueStack.slice(0, -1 * len); + + stack.push(reducedSymbol); + + valueStack.push($$); + + var newState = gotos[stack[stack.length - 2]][stack[stack.length - 1]]; - Pie.defaultProps = _extends({ - onMouseOver: function onMouseOver(d) {}, - onMouseOut: function onMouseOut(d) {} - }, _commonProps.pieProps); - exports.default = Pie; + stack.push(newState); -/***/ }, -/* 61 */ -/***/ function(module, exports, __webpack_require__) { + break; - "use strict"; + case GrammarConst.ACCEPT_TYPE: + return $$; + } + } + }; + return parser; +})(); +if (true) { + module.exports = parser; +} - Object.defineProperty(exports, "__esModule", { - value: true - }); +/***/ }), +/* 211 */ +/***/ (function(module, exports) { - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function isString (value) { + return typeof value === 'string' +} - var _react = __webpack_require__(2); +module.exports = isString - var _react2 = _interopRequireDefault(_react); - var _d3Shape = __webpack_require__(50); +/***/ }), +/* 212 */ +/***/ (function(module, exports) { - var _d3Shape2 = _interopRequireDefault(_d3Shape); +function isUndefined (value) { + return typeof value === 'undefined' +} - var _series = __webpack_require__(44); +module.exports = isUndefined - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +/***/ }), +/* 213 */ +/***/ (function(module, exports) { - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +function assign (dest) { + var args = arguments + var source - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + for (var i = 1; i < args.length; i++) { + source = args[i] - var Scatter = function (_Component) { - _inherits(Scatter, _Component); + for (var key in source) { + dest[key] = source[key] + } + } - function Scatter(props) { - _classCallCheck(this, Scatter); + return dest +} + +module.exports = assign + + +/***/ }), +/* 214 */ +/***/ (function(module, exports, __webpack_require__) { + +var camelCase = __webpack_require__(82) + +function styleCamelCase (name) { + var camel = camelCase(name) + + // Detect if the style property is already camelCased + // To not convert Webkit*, Moz* and O* to lowercase + if (camel.charAt(0).toUpperCase() === name.charAt(0)) { + return name.charAt(0) + camel.slice(1) + } - return _possibleConstructorReturn(this, Object.getPrototypeOf(Scatter).call(this, props)); - } + if (name.charAt(0) === '-') { + return camel.indexOf('ms') === 0 ? camel + : camel.charAt(0).toUpperCase() + camel.slice(1) + } else { + return camel + } +} + +module.exports = styleCamelCase + + +/***/ }), +/* 215 */ +/***/ (function(module, exports) { + +var Window = { + getComputedStyle: function (node) { + return { + getPropertyValue: node.style.getProperty + } + } +} + +module.exports = Window + + +/***/ }), +/* 216 */ +/***/ (function(module, exports, __webpack_require__) { + +var Element = __webpack_require__(81) +var mapValues = __webpack_require__(83) + +var mixin = { + componentWillMount: function () { + this.connectedFauxDOM = {} + this.animateFauxDOMUntil = 0 + }, + connectFauxDOM: function (node, name) { + this.connectedFauxDOM[name] = typeof node !== 'string' ? node : new Element(node) + setTimeout(this.drawFauxDOM) + return this.connectedFauxDOM[name] + }, + drawFauxDOM: function () { + var virtualDOM = mapValues(this.connectedFauxDOM, function (n) { + return n.toReact() + }) + this.setState(virtualDOM) + } +} + +module.exports = mixin + + +/***/ }), +/* 217 */ +/***/ (function(module, exports) { + +var anim = { + animateFauxDOM: function (duration) { + this.animateFauxDOMUntil = Math.max(Date.now() + duration, this.animateFauxDOMUntil) + if (!this.fauxDOMAnimationInterval) { + this.fauxDOMAnimationInterval = setInterval(function () { + if (Date.now() < this.animateFauxDOMUntil) { + this.drawFauxDOM() + } else { + this.stopAnimatingFauxDOM() + } + }.bind(this), 16) + } + }, + stopAnimatingFauxDOM: function () { + this.fauxDOMAnimationInterval = clearInterval(this.fauxDOMAnimationInterval) + this.animateFauxDOMUntil = 0 + }, + isAnimatingFauxDOM: function () { + return !!this.fauxDOMAnimationInterval + }, + componentWillUnmount: function () { + this.stopAnimatingFauxDOM() + } +} + +module.exports = anim + + +/***/ }), +/* 218 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_axis = global.d3_axis || {}))); +}(this, function (exports) { 'use strict'; + + var version = "0.3.2"; + + var slice = Array.prototype.slice; + + function identity(x) { + return x; + } + + var top = 1; + var right = 2; + var bottom = 3; + var left = 4; + var epsilon = 1e-6; + function translateX(scale0, scale1, d) { + var x = scale0(d); + return "translate(" + (isFinite(x) ? x : scale1(d)) + ",0)"; + } + + function translateY(scale0, scale1, d) { + var y = scale0(d); + return "translate(0," + (isFinite(y) ? y : scale1(d)) + ")"; + } + + function center(scale) { + var width = scale.bandwidth() / 2; + return function(d) { + return scale(d) + width; + }; + } + + function axis(orient, scale) { + var tickArguments = [], + tickValues = null, + tickFormat = null, + tickSizeInner = 6, + tickSizeOuter = 6, + tickPadding = 3; + + function axis(context) { + var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues, + format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat, + spacing = Math.max(tickSizeInner, 0) + tickPadding, + transform = orient === top || orient === bottom ? translateX : translateY, + range = scale.range(), + range0 = range[0] + 0.5, + range1 = range[range.length - 1] + 0.5, + position = (scale.bandwidth ? center : identity)(scale.copy()), + selection = context.selection ? context.selection() : context, + path = selection.selectAll(".domain").data([null]), + tick = selection.selectAll(".tick").data(values, scale).order(), + tickExit = tick.exit(), + tickEnter = tick.enter().append("g", ".domain").attr("class", "tick"), + line = tick.select("line"), + text = tick.select("text"), + k = orient === top || orient === left ? -1 : 1, + x, y = orient === left || orient === right ? (x = "x", "y") : (x = "y", "x"); + + path = path.merge(path.enter().append("path") + .attr("class", "domain") + .attr("stroke", "#000")); + + tick = tick.merge(tickEnter); + + line = line.merge(tickEnter.append("line") + .attr("stroke", "#000") + .attr(x + "2", k * tickSizeInner)); + + text = text.merge(tickEnter.append("text") + .attr("fill", "#000") + .attr(x, k * spacing)); + + if (context !== selection) { + path = path.transition(context); + tick = tick.transition(context); + line = line.transition(context); + text = text.transition(context); + + tickExit = tickExit.transition(context) + .attr("opacity", epsilon) + .attr("transform", function(d) { return transform(position, this.parentNode.__axis || position, d); }); + + tickEnter + .attr("opacity", epsilon) + .attr("transform", function(d) { return transform(this.parentNode.__axis || position, position, d); }); + } + + tickExit.remove(); + + path + .attr("d", orient === left || orient == right + ? "M" + k * tickSizeOuter + "," + range0 + "H0.5V" + range1 + "H" + k * tickSizeOuter + : "M" + range0 + "," + k * tickSizeOuter + "V0.5H" + range1 + "V" + k * tickSizeOuter) + + tick + .attr("opacity", 1) + .attr("transform", function(d) { return transform(position, position, d); }); + + line + .attr(x + "2", k * tickSizeInner) + .attr(y + "1", 0.5) + .attr(y + "2", 0.5); + + text + .attr(x, k * spacing) + .attr(y, 0.5) + .attr("dy", orient === top ? "0em" : orient === bottom ? ".71em" : ".32em") + .text(format); + + selection + .attr("fill", "none") + .attr("font-size", 10) + .attr("font-family", "sans-serif") + .attr("text-anchor", orient === right ? "start" : orient === left ? "end" : "middle") + .each(function() { this.__axis = position; }); + } - _createClass(Scatter, [{ - key: '_mkScatter', - value: function _mkScatter(dataset) { - var _props = this.props; - var scatterClassName = _props.scatterClassName; - var defaultSymbol = _props.defaultSymbol; - var defaultSymbolSize = _props.defaultSymbolSize; - var brushSymbol = _props.brushSymbol; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - - // for building symbols in brush, set to circle and size to 4 - - if (brushSymbol) { - symbol = 'circle'; - symbolSize = 4; - } + axis.scale = function(_) { + return arguments.length ? (scale = _, axis) : scale; + }; - return _react2.default.createElement( - 'g', - null, - dataset.map(function (dot) { - var symbol = dot.symbol ? dot.symbol : defaultSymbol; - var symbolSize = dot.symbolSize ? dot.symbolSize : defaultSymbolSize; - - return dot.data.map(function (d) { - var symbolFunc = _d3Shape2.default.symbol().size(symbolSize * symbolSize).type(function () { - console.log(symbol); - - if (symbol === 'circle') { - return _d3Shape2.default.symbolCircle; - } else if (symbol === 'cross') { - return _d3Shape2.default.symbolCross; - } else if (symbol === 'diamond') { - return _d3Shape2.default.symbolDiamond; - } else if (symbol === 'square') { - return _d3Shape2.default.symbolSquare; - } else if (symbol === 'star') { - return _d3Shape2.default.symbolStar; - } else if (symbol === 'triangle') { - return _d3Shape2.default.symbolTriangle; - } else if (symbol === 'wye') { - return _d3Shape2.default.symbolWye; - } else { - console.error('Symbol is not support ' + symbol + '.'); - } - }); - - return _react2.default.createElement('path', { - className: 'react-d3-basic__scatter__path', - fill: d.color, - transform: "translate(" + xScaleSet(d.x) + "," + yScaleSet(d.y) + ")", - d: symbolFunc(), - style: dot.style - }); - }); - }) - ); - } - }, { - key: 'render', - value: function render() { - var d = (0, _series.series)(this.props); - var scatter = this._mkScatter(d); - - return _react2.default.createElement( - 'g', - null, - scatter - ); - } - }]); + axis.ticks = function() { + return tickArguments = slice.call(arguments), axis; + }; - return Scatter; - }(_react.Component); + axis.tickArguments = function(_) { + return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice(); + }; - Scatter.defaultProps = { - defaultSymbol: 'circle', - defaultSymbolSize: 10, - scatterClassName: 'react-d3-basic__scatter' - }; - exports.default = Scatter; + axis.tickValues = function(_) { + return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice(); + }; -/***/ }, -/* 62 */ -/***/ function(module, exports, __webpack_require__) { + axis.tickFormat = function(_) { + return arguments.length ? (tickFormat = _, axis) : tickFormat; + }; - "use strict"; + axis.tickSize = function(_) { + return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner; + }; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.pieProps = exports.horizontalProps = undefined; + axis.tickSizeInner = function(_) { + return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner; + }; - var _d3Scale = __webpack_require__(7); + axis.tickSizeOuter = function(_) { + return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter; + }; - var _d3Scale2 = _interopRequireDefault(_d3Scale); + axis.tickPadding = function(_) { + return arguments.length ? (tickPadding = +_, axis) : tickPadding; + }; - var _d3Array = __webpack_require__(8); + return axis; + } - var _d3Array2 = _interopRequireDefault(_d3Array); + function axisTop(scale) { + return axis(top, scale); + } - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + function axisRight(scale) { + return axis(right, scale); + } - var width = 960; - var height = 500; - var margins = { top: 40, right: 100, bottom: 40, left: 100 }; + function axisBottom(scale) { + return axis(bottom, scale); + } - exports.default = { - width: width, - height: height, - margins: margins, - y: function y(d) { - return +d; - }, - xScale: 'linear', - yScale: 'linear', - showXGrid: true, - showYGrid: true, - showLegend: true - }; - var horizontalProps = exports.horizontalProps = { - width: width, - height: height, - margins: margins, - x: function x(d) { - return +d; - }, - xScale: 'linear', - yScale: 'linear', - showXGrid: true, - showYGrid: true, - showLegend: true - }; + function axisLeft(scale) { + return axis(left, scale); + } - var pieProps = exports.pieProps = { - width: width, - height: height, - margins: margins, - innerRadius: 0, - categoricalColors: _d3Scale2.default.scaleCategory10(), - pieSort: _d3Array2.default.descending - }; + exports.version = version; + exports.axisTop = axisTop; + exports.axisRight = axisRight; + exports.axisBottom = axisBottom; + exports.axisLeft = axisLeft; -/***/ }, -/* 63 */ -/***/ function(module, exports, __webpack_require__) { +})); - "use strict"; +/***/ }), +/* 219 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _axis = __webpack_require__(32); + +var _axis2 = _interopRequireDefault(_axis); + +var _label = __webpack_require__(46); + +var _label2 = _interopRequireDefault(_label); + +var _commonProps = __webpack_require__(12); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Xaxis = function (_Component) { + _inherits(Xaxis, _Component); + + function Xaxis(props) { + _classCallCheck(this, Xaxis); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(Xaxis).call(this, props)); + } + + _createClass(Xaxis, [{ + key: 'render', + value: function render() { + var _props = this.props; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var showXAxis = _props.showXAxis; + var x = _props.x; + var xAxisClassName = _props.xAxisClassName; + var xDomain = _props.xDomain; + var xRange = _props.xRange; + var xBandPaddingInner = _props.xBandPaddingInner; + var xBandPaddingOuter = _props.xBandPaddingOuter; + var xScale = _props.xScale; + var xOrient = _props.xOrient; + var xTickOrient = _props.xTickOrient; + var xTickPadding = _props.xTickPadding; + var xTickSizeOuter = _props.xTickSizeOuter; + var xTickSizeInner = _props.xTickSizeInner; + var xTickFormat = _props.xTickFormat; + var xTicks = _props.xTicks; + var xLabel = _props.xLabel; + var xLabelPosition = _props.xLabelPosition; + var labelOffset = _props.labelOffset; + var style = _props.style; + var xAxisStyling = _props.xAxisStyling; + var xTickValues = _props.xTickValues; + + + var t; + var axisLabel; + + if (!xRange) { + xRange = [0, width - margins.left - margins.right]; + } + + if (xOrient === 'bottom') { + // x - bottom + t = 'translate(0, ' + (height - margins.bottom - margins.top) + ')'; + } else if (xOrient === 'top') { + // x - top + t = 'translate(0, 0)'; + } + + if (xLabel) { + axisLabel = _react2.default.createElement(_label2.default, { + height: height, + width: width, + margins: margins, + labelTitle: xLabel, + labelPosition: xLabelPosition, + labelOffset: labelOffset, + bandPaddingInner: xBandPaddingInner, + bandPaddingOuter: xBandPaddingOuter + }); + } + + return _react2.default.createElement( + 'g', + { transform: t }, + _react2.default.createElement(_axis2.default, { + height: height, + width: width, + margins: margins, + showAxis: showXAxis, + axisClassName: xAxisClassName, + bandPaddingInner: xBandPaddingInner, + bandPaddingOuter: xBandPaddingOuter, + type: 'x', + proxy: x, + domain: xDomain, + range: xRange, + scale: xScale, + orient: xOrient, + tickOrient: xTickOrient, + tickFormat: xTickFormat, + tickPadding: xTickPadding, + tickSizeInner: xTickSizeInner, + tickSizeOuter: xTickSizeOuter, + style: style, + ticks: xTicks, + axisStyling: xAxisStyling, + tickValues: xTickValues + }), + axisLabel + ); + } + }]); + + return Xaxis; +}(_react.Component); + +Xaxis.defaultProps = _extends({ + showXAxis: true, + xAxisClassName: 'react-d3-core__axis__xAxis', + xScale: 'linear', + xOrient: 'bottom', + xTickOrient: 'bottom', + xLabelPosition: 'bottom', + xTickPadding: 3, + xInnerTickSize: 6, + xOuterTickSize: 6 +}, _commonProps2.default); +Xaxis.propTypes = { + height: _react.PropTypes.number.isRequired, + width: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + showXAxis: _react.PropTypes.bool, + x: _react.PropTypes.func, + xDomain: _react.PropTypes.array, + xRange: _react.PropTypes.array, + xScale: _react.PropTypes.string.isRequired, + xOrient: _react.PropTypes.oneOf(['top', 'bottom']), + xTickOrient: _react.PropTypes.oneOf(['top', 'bottom']), + xAxisClassName: _react.PropTypes.string, + xTickSizeInner: _react.PropTypes.number, + xTickSizeOuter: _react.PropTypes.number, + xBandPaddingInner: _react.PropTypes.number, + xBandPaddingOuter: _react.PropTypes.number, + xTickPadding: _react.PropTypes.number, + xTickFormat: _react.PropTypes.func, + xTicks: _react.PropTypes.array, + style: _react.PropTypes.object, + /* + xAxisStyling object holds css styling classes for axis elements + pathClassName: "someCls" + ticksClassName: "someCls" + textClassName: "someCls" + */ + xAxisStyling: _react.PropTypes.object, + xTickValues: _react.PropTypes.array +}; +exports.default = Xaxis; + +/***/ }), +/* 220 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _axis = __webpack_require__(32); + +var _axis2 = _interopRequireDefault(_axis); + +var _label = __webpack_require__(46); + +var _label2 = _interopRequireDefault(_label); + +var _commonProps = __webpack_require__(12); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Yaxis = function (_Component) { + _inherits(Yaxis, _Component); + + function Yaxis(props) { + _classCallCheck(this, Yaxis); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(Yaxis).call(this, props)); + } + + _createClass(Yaxis, [{ + key: 'render', + value: function render() { + var _props = this.props; + var width = _props.width; + var height = _props.height; + var margins = _props.margins; + var y = _props.y; + var yAxisClassName = _props.yAxisClassName; + var yDomain = _props.yDomain; + var yRange = _props.yRange; + var yBandPaddingInner = _props.yBandPaddingInner; + var yBandPaddingOuter = _props.yBandPaddingOuter; + var yScale = _props.yScale; + var yOrient = _props.yOrient; + var yTickOrient = _props.yTickOrient; + var yTickFormat = _props.yTickFormat; + var yTickPadding = _props.yTickPadding; + var yTickSizeOuter = _props.yTickSizeOuter; + var yTickSizeInner = _props.yTickSizeInner; + var yTicks = _props.yTicks; + var yLabel = _props.yLabel; + var yLabelPosition = _props.yLabelPosition; + var labelOffset = _props.labelOffset; + var showYAxis = _props.showYAxis; + var style = _props.style; + var yAxisStyling = _props.yAxisStyling; + var yTickValues = _props.yTickValues; + + + var t; + var axisLabel; + + if (!yRange) { + yRange = [height - margins.top - margins.bottom, 0]; + } + + if (yOrient === 'right') { + // y - right + t = 'translate(' + (width - margins.right - margins.left) + ', 0)'; + } else if (yOrient === 'left') { + // y - left + t = 'translate(0, 0)'; + } + + if (yLabel) { + axisLabel = _react2.default.createElement(_label2.default, { + height: height, + width: width, + margins: margins, + labelTitle: yLabel, + labelPosition: yLabelPosition, + labelOffset: labelOffset, + bandPaddingInner: yBandPaddingInner, + bandPaddingOuter: yBandPaddingOuter + }); + } + + return _react2.default.createElement( + 'g', + { transform: t }, + _react2.default.createElement(_axis2.default, { + height: height, + width: width, + margins: margins, + showAxis: showYAxis, + axisClassName: yAxisClassName, + bandPaddingInner: yBandPaddingInner, + bandPaddingOuter: yBandPaddingOuter, + type: 'y', + proxy: y, + domain: yDomain, + range: yRange, + scale: yScale, + orient: yOrient, + tickOrient: yTickOrient, + tickFormat: yTickFormat, + tickPadding: yTickPadding, + tickSizeInner: yTickSizeInner, + tickSizeOuter: yTickSizeOuter, + ticks: yTicks, + style: style, + axisStyling: yAxisStyling, + tickValues: yTickValues + }), + axisLabel + ); + } + }]); + + return Yaxis; +}(_react.Component); + +Yaxis.defaultProps = _extends({ + showYAxis: true, + yAxisClassName: 'react-d3-core__axis__yAxis', + yScale: 'linear', + yOrient: 'left', + yTickOrient: 'left', + yLabelPosition: 'left', + yTickPadding: 3, + yInnerTickSize: 6, + yOuterTickSize: 6 +}, _commonProps2.default); +Yaxis.propTypes = { + height: _react.PropTypes.number.isRequired, + width: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + showYAxis: _react.PropTypes.bool, + y: _react.PropTypes.func, + yDomain: _react.PropTypes.array, + yRange: _react.PropTypes.array, + yScale: _react.PropTypes.string.isRequired, + yOrient: _react.PropTypes.oneOf(['left', 'right']), + yTickOrient: _react.PropTypes.oneOf(['left', 'right']), + yAxisClassName: _react.PropTypes.string, + yTickSizeInner: _react.PropTypes.number, + yTickSizeOuter: _react.PropTypes.number, + yBandPaddingInner: _react.PropTypes.number, + yBandPaddingOuter: _react.PropTypes.number, + yTickPadding: _react.PropTypes.number, + yTickFormat: _react.PropTypes.func, + yTicks: _react.PropTypes.array, + style: _react.PropTypes.object, + /* + yAxisStyling object holds css styling classes for axis elements + pathClassName: "someCls" + ticksClassName: "someCls" + textClassName: "someCls" + */ + yAxisStyling: _react.PropTypes.object, + yTickValues: _react.PropTypes.array +}; +exports.default = Yaxis; + +/***/ }), +/* 221 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _grid = __webpack_require__(47); + +var _grid2 = _interopRequireDefault(_grid); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - var _react = __webpack_require__(2); +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _react2 = _interopRequireDefault(_react); +var XGrid = function (_Component) { + _inherits(XGrid, _Component); - var _reactD3Core = __webpack_require__(3); + function XGrid(props) { + _classCallCheck(this, XGrid); - var _reactD3Shape = __webpack_require__(43); + return _possibleConstructorReturn(this, Object.getPrototypeOf(XGrid).call(this, props)); + } - var _commonProps = __webpack_require__(62); + _createClass(XGrid, [{ + key: 'render', + value: function render() { + return _react2.default.createElement(_grid2.default, _extends({}, this.props, { + type: 'x' + })); + } + }]); - var _commonProps2 = _interopRequireDefault(_commonProps); + return XGrid; +}(_react.Component); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +exports.default = XGrid; - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +/***/ }), +/* 222 */ +/***/ (function(module, exports, __webpack_require__) { - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +"use strict"; - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var AreaChart = function (_Component) { - _inherits(AreaChart, _Component); +Object.defineProperty(exports, "__esModule", { + value: true +}); - function AreaChart(props) { - _classCallCheck(this, AreaChart); +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - return _possibleConstructorReturn(this, Object.getPrototypeOf(AreaChart).call(this, props)); - } +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - _createClass(AreaChart, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - - - var xgrid, ygrid; - - if (showXGrid) xgrid = _react2.default.createElement(_reactD3Core.Xgrid, null); - if (showYGrid) ygrid = _react2.default.createElement(_reactD3Core.Ygrid, null); - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.Chart, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries - }), - _react2.default.createElement(_reactD3Shape.Area, { - chartSeries: chartSeries - }), - xgrid, - ygrid, - _react2.default.createElement(_reactD3Core.Xaxis, null), - _react2.default.createElement(_reactD3Core.Yaxis, null), - this.props.children - ) - ); - } - }]); - - return AreaChart; - }(_react.Component); - - AreaChart.defaultProps = _extends({ - showScatter: false - }, _commonProps2.default); - AreaChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired - }; - exports.default = AreaChart; - module.exports = exports['default']; +var _react = __webpack_require__(0); -/***/ }, -/* 64 */ -/***/ function(module, exports, __webpack_require__) { +var _react2 = _interopRequireDefault(_react); - "use strict"; +var _grid = __webpack_require__(47); - Object.defineProperty(exports, "__esModule", { - value: true - }); +var _grid2 = _interopRequireDefault(_grid); - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var _react = __webpack_require__(2); +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - var _react2 = _interopRequireDefault(_react); +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var _reactD3Core = __webpack_require__(3); +var YGrid = function (_Component) { + _inherits(YGrid, _Component); - var _reactD3Shape = __webpack_require__(43); + function YGrid(props) { + _classCallCheck(this, YGrid); - var _commonProps = __webpack_require__(62); + return _possibleConstructorReturn(this, Object.getPrototypeOf(YGrid).call(this, props)); + } - var _commonProps2 = _interopRequireDefault(_commonProps); + _createClass(YGrid, [{ + key: 'render', + value: function render() { + return _react2.default.createElement(_grid2.default, _extends({}, this.props, { + type: 'y' + })); + } + }]); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + return YGrid; +}(_react.Component); - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +exports.default = YGrid; - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +/***/ }), +/* 223 */ +/***/ (function(module, exports, __webpack_require__) { - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +"use strict"; - var ScatterPlot = function (_Component) { - _inherits(ScatterPlot, _Component); - function ScatterPlot(props) { - _classCallCheck(this, ScatterPlot); +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.xDomain = xDomain; - return _possibleConstructorReturn(this, Object.getPrototypeOf(ScatterPlot).call(this, props)); - } +var _d3Array = __webpack_require__(31); - _createClass(ScatterPlot, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - - - var xgrid, ygrid; - - if (showXGrid) xgrid = _react2.default.createElement(_reactD3Core.Xgrid, null); - if (showYGrid) ygrid = _react2.default.createElement(_reactD3Core.Ygrid, null); - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.Chart, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries - }), - _react2.default.createElement(_reactD3Shape.Scatter, { - chartSeries: chartSeries - }), - xgrid, - ygrid, - _react2.default.createElement(_reactD3Core.Xaxis, null), - _react2.default.createElement(_reactD3Core.Yaxis, null), - this.props.children - ) - ); - } - }]); - - return ScatterPlot; - }(_react.Component); - - ScatterPlot.defaultProps = _commonProps2.default; - ScatterPlot.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired - }; - exports.default = ScatterPlot; - module.exports = exports['default']; +var _d3Array2 = _interopRequireDefault(_d3Array); -/***/ }, -/* 65 */ -/***/ function(module, exports, __webpack_require__) { +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - "use strict"; +function xDomain(props, stack, horizonal) { + var data = props.data; + var chartSeries = props.chartSeries; + var x = props.x; + var xScale = props.xScale; + var xDomain = props.xDomain; - Object.defineProperty(exports, "__esModule", { - value: true - }); - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + if (xDomain) return xDomain; - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + if (!horizonal) { + if (xScale === 'ordinal') { + return data.map(function (d) { + return x(d); + }); + } else { + return _d3Array2.default.extent(data, function (d) { + return x(d); + }); + } + } else { + if (stack) { + // stack + var max = 0; + var min = 0; - var _react = __webpack_require__(2); + data.forEach(function (d) { + var totalTop = 0; + var totalBottom = 0; - var _react2 = _interopRequireDefault(_react); + chartSeries.forEach(function (sd) { + var field = sd.field; - var _reactD3Core = __webpack_require__(3); + if (d[field] > 0) { + totalTop += x(d[field]); + } else if (d[field] < 0) { + totalBottom += x(d[field]); + } + }); - var _reactD3Shape = __webpack_require__(43); + if (totalTop > max) max = totalTop; + if (totalBottom < min) min = totalBottom; + }); - var _commonProps = __webpack_require__(62); + return [min, max]; + } else { + // not stack, single + var domainArr = chartSeries.map(function (d) { + var field = d.field; + var extent = _d3Array2.default.extent(data, function (dt) { + return x(dt[field]); + }); - var _commonProps2 = _interopRequireDefault(_commonProps); + return extent; + }); + + return _d3Array2.default.extent([].concat.apply([], domainArr)); + } + } +} + +/***/ }), +/* 224 */ +/***/ (function(module, exports, __webpack_require__) { - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +"use strict"; - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.yDomain = yDomain; - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +var _d3Array = __webpack_require__(31); - var BarChart = function (_Component) { - _inherits(BarChart, _Component); +var _d3Array2 = _interopRequireDefault(_d3Array); - function BarChart(props) { - _classCallCheck(this, BarChart); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarChart).call(this, props)); - } +function yDomain(props, stack, horizonal) { + var data = props.data; + var chartSeries = props.chartSeries; + var y = props.y; + var yDomain = props.yDomain; + var yScale = props.yScale; - _createClass(BarChart, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - - - var xgrid, ygrid; - - if (showXGrid) xgrid = _react2.default.createElement(_reactD3Core.Xgrid, null); - if (showYGrid) ygrid = _react2.default.createElement(_reactD3Core.Ygrid, null); - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.Chart, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries - }), - _react2.default.createElement(_reactD3Shape.Bar, { - chartSeries: chartSeries - }), - xgrid, - ygrid, - _react2.default.createElement(_reactD3Core.Xaxis, null), - _react2.default.createElement(_reactD3Core.Yaxis, null), - this.props.children - ) - ); - } - }]); - - return BarChart; - }(_react.Component); - - BarChart.defaultProps = _extends({ - onMouseOver: function onMouseOver() {}, - onMouseOut: function onMouseOut() {} - }, _commonProps2.default); - BarChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired - }; - exports.default = BarChart; - module.exports = exports['default']; -/***/ }, -/* 66 */ -/***/ function(module, exports, __webpack_require__) { + if (yDomain) return yDomain; - "use strict"; + if (!horizonal) { + if (stack) { + // stack + var max = 0; + var min = 0; - Object.defineProperty(exports, "__esModule", { - value: true - }); + data.forEach(function (d) { + var totalTop = 0; + var totalBottom = 0; + + chartSeries.forEach(function (sd) { + var field = sd.field; + + if (d[field] > 0) { + totalTop += y(d[field]); + } else if (d[field] < 0) { + totalBottom += y(d[field]); + } + }); + + if (totalTop > max) max = totalTop; + if (totalBottom < min) min = totalBottom; + }); + + return [min, max]; + } else { + // not stack, single + var domainArr = chartSeries.map(function (d) { + var field = d.field; + var extent = _d3Array2.default.extent(data, function (dt) { + return y(dt[field]); + }); + + return extent; + }); + + var extentArr = _d3Array2.default.extent([].concat.apply([], domainArr)); + + if (extentArr[0] * extentArr[1] >= 0) { + return [0, extentArr[1]]; + } else { + return extentArr; + } + } + } else { + if (yScale === 'ordinal') { + return data.map(function (d) { + return y(d); + }); + } else { + return _d3Array2.default.extent(data, function (d) { + return y(d); + }); + } + } +} + +/***/ }), +/* 225 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _reactD3Core = __webpack_require__(2); + +var _commonProps = __webpack_require__(16); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var ChartSvg = function (_Component) { + _inherits(ChartSvg, _Component); + + function ChartSvg(props) { + _classCallCheck(this, ChartSvg); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartSvg).call(this, props)); + } + + _createClass(ChartSvg, [{ + key: 'render', + value: function render() { + var _props = this.props; + var horizontal = _props.horizontal; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var xScale = _props.xScale; + var yScale = _props.yScale; + var xRange = _props.xRange; + var yRange = _props.yRange; + var xDomain = _props.xDomain; + var yDomain = _props.yDomain; + var xTicks = _props.xTicks; + var yTicks = _props.yTicks; + var xTickFormat = _props.xTickFormat; + var yTickFormat = _props.yTickFormat; + var xBandPaddingInner = _props.xBandPaddingInner; + var xBandPaddingOuter = _props.xBandPaddingOuter; + var yBandPaddingInner = _props.yBandPaddingInner; + var yBandPaddingOuter = _props.yBandPaddingOuter; + var xLabel = _props.xLabel; + var yLabel = _props.yLabel; + var stack = _props.stack; + var data = _props.data; + var svgClassName = _props.svgClassName; + var id = _props.id; + var x = _props.x; + var y = _props.y; + + + var xRange = xRange || [0, width - margins.left - margins.right]; + var yRange = yRange || [height - margins.top - margins.bottom, 0]; + var xDomain = xDomain || (0, _reactD3Core.xDomainCount)(this.props, stack, horizontal); + var yDomain = yDomain || (0, _reactD3Core.yDomainCount)(this.props, stack, horizontal); + + if (xScale === 'ordinal') xScale = 'band'; + + if (yScale === 'ordinal') yScale = 'band'; + + var newXScale = { + scale: xScale, + range: xRange, + domain: xDomain, + bandPaddingInner: xBandPaddingInner, + bandPaddingOuter: xBandPaddingOuter + }; + + var xScaleSet = (0, _reactD3Core.scale)(newXScale); + + var newYScale = { + scale: yScale, + range: yRange, + domain: yDomain, + bandPaddingInner: yBandPaddingInner, + bandPaddingOuter: yBandPaddingOuter + }; + + var yScaleSet = (0, _reactD3Core.scale)(newYScale); + + var children = _react2.default.Children.map(this.props.children, function (el) { + if (el) { + return _react2.default.cloneElement(el, { + height: height, + width: width, + margins: margins, + xScaleSet: xScaleSet, + yScaleSet: yScaleSet, + xDomain: xDomain, + yDomain: yDomain, + xRange: xRange, + yRange: yRange, + xBandPaddingInner: xBandPaddingInner, + xBandPaddingOuter: xBandPaddingOuter, + yBandPaddingInner: yBandPaddingInner, + yBandPaddingOuter: yBandPaddingOuter, + xScale: xScale, + yScale: yScale, + xTickFormat: xTickFormat, + yTickFormat: yTickFormat, + xTicks: xTicks, + yTicks: yTicks, + xLabel: xLabel, + yLabel: yLabel, + data: data, + x: x, + y: y + }); + } else { + return null; + } + }); + + var t = 'translate(' + margins.left + ', ' + margins.top + ')'; + + return _react2.default.createElement( + 'svg', + { + height: height, + width: width, + className: svgClassName, + id: id, + ref: 'svgContainer' + }, + _react2.default.createElement( + 'g', + { + transform: t + }, + children + ) + ); + } + }]); + + return ChartSvg; +}(_react.Component); + +ChartSvg.defaultProps = _extends({ + svgClassName: 'react-d3-core__container_svg' +}, _commonProps2.default); +ChartSvg.propTypes = { + id: _react.PropTypes.string, + width: _react.PropTypes.number.isRequired, + height: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + svgClassName: _react.PropTypes.string.isRequired +}; +exports.default = ChartSvg; + +/***/ }), +/* 226 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _reactD3Core = __webpack_require__(2); + +var _commonProps = __webpack_require__(16); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var ChartSvg = function (_Component) { + _inherits(ChartSvg, _Component); + + function ChartSvg(props) { + _classCallCheck(this, ChartSvg); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartSvg).call(this, props)); + } - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + _createClass(ChartSvg, [{ + key: 'render', + value: function render() { + var _this2 = this; - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + var _props = this.props; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var data = _props.data; + var svgClassName = _props.svgClassName; + var id = _props.id; + var name = _props.name; + var value = _props.value; - var _react = __webpack_require__(2); - var _react2 = _interopRequireDefault(_react); + var children = _react2.default.Children.map(this.props.children, function (el) { + if (el) return _react2.default.cloneElement(el, _this2.props);else return null; + }); - var _reactD3Core = __webpack_require__(3); + var t = 'translate(' + margins.left + ', ' + margins.top + ')'; - var _reactD3Shape = __webpack_require__(43); + return _react2.default.createElement( + 'svg', + { + height: height, + width: width, + className: svgClassName, + id: id, + ref: 'svgContainer' + }, + _react2.default.createElement( + 'g', + { + transform: t + }, + children + ) + ); + } + }]); - var _commonProps = __webpack_require__(62); + return ChartSvg; +}(_react.Component); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +ChartSvg.defaultProps = _extends({ + svgClassName: 'react-d3-core__container_svg' +}, _commonProps2.default); +ChartSvg.propTypes = { + id: _react.PropTypes.string, + width: _react.PropTypes.number.isRequired, + height: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + svgClassName: _react.PropTypes.string.isRequired +}; +exports.default = ChartSvg; - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +/***/ }), +/* 227 */ +/***/ (function(module, exports, __webpack_require__) { - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +"use strict"; - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var BarHorizontalChart = function (_Component) { - _inherits(BarHorizontalChart, _Component); +Object.defineProperty(exports, "__esModule", { + value: true +}); - function BarHorizontalChart(props) { - _classCallCheck(this, BarHorizontalChart); +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarHorizontalChart).call(this, props)); - } +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - _createClass(BarHorizontalChart, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - - - var xgrid, ygrid; - - if (showXGrid) xgrid = _react2.default.createElement(_reactD3Core.Xgrid, null); - if (showYGrid) ygrid = _react2.default.createElement(_reactD3Core.Ygrid, null); - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.Chart, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries, - horizontal: true - }), - _react2.default.createElement(_reactD3Shape.BarHorizontal, { - chartSeries: chartSeries - }), - xgrid, - ygrid, - _react2.default.createElement(_reactD3Core.Xaxis, null), - _react2.default.createElement(_reactD3Core.Yaxis, null), - this.props.children - ) - ); - } - }]); - - return BarHorizontalChart; - }(_react.Component); - - BarHorizontalChart.defaultProps = _extends({ - onMouseOver: function onMouseOver() {}, - onMouseOut: function onMouseOut() {} - }, _commonProps.horizontalProps); - BarHorizontalChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired - }; - exports.default = BarHorizontalChart; - module.exports = exports['default']; +var _react = __webpack_require__(0); -/***/ }, -/* 67 */ -/***/ function(module, exports, __webpack_require__) { +var _react2 = _interopRequireDefault(_react); - "use strict"; +var _d3Shape = __webpack_require__(22); - Object.defineProperty(exports, "__esModule", { - value: true - }); +var _d3Shape2 = _interopRequireDefault(_d3Shape); + +var _commonProps = __webpack_require__(16); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +var _series = __webpack_require__(8); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Line = function (_Component) { + _inherits(Line, _Component); + + function Line(props) { + _classCallCheck(this, Line); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(Line).call(this, props)); + } + + _createClass(Line, [{ + key: '_mkLine', + value: function _mkLine(dom) { + var lineClassName = this.props.lineClassName; + + + var dataset = (0, _series.series)(this.props); + var that = this; + + return _react2.default.createElement( + 'g', + null, + dataset.map(function (line, i) { + return _react2.default.createElement('path', { + stroke: line.color, + fill: 'none', + className: lineClassName + ' line', + d: that._setAxes(line.data), + style: line.style, + key: i }); + }) + ); + } + }, { + key: '_setAxes', + value: function _setAxes(data) { + var _props = this.props; + var xScaleSet = _props.xScaleSet; + var yScaleSet = _props.yScaleSet; + + + var line = _d3Shape2.default.line().x(function (d) { + return xScaleSet(d.x); + }).y(function (d) { + return yScaleSet(d.y); + }); + + return line.call(this, data); + } + }, { + key: 'render', + value: function render() { + var line = this._mkLine(); + + return _react2.default.createElement( + 'g', + null, + line + ); + } + }]); + + return Line; +}(_react.Component); + +Line.defaultProps = _extends({ + interpolate: null, + lineClassName: 'react-d3-basic__line' +}, _commonProps2.default); +exports.default = Line; + +/***/ }), +/* 228 */ +/***/ (function(module, exports, __webpack_require__) { + +(function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_path = global.d3_path || {}))); +}(this, function (exports) { 'use strict'; + + var pi = Math.PI; + var tau = 2 * pi; + var epsilon = 1e-6; + var tauEpsilon = tau - epsilon; + function Path() { + this._x0 = this._y0 = // start of current subpath + this._x1 = this._y1 = null; // end of current subpath + this._ = []; + } + + function path() { + return new Path; + } + + Path.prototype = path.prototype = { + constructor: Path, + moveTo: function(x, y) { + this._.push("M", this._x0 = this._x1 = +x, ",", this._y0 = this._y1 = +y); + }, + closePath: function() { + if (this._x1 !== null) { + this._x1 = this._x0, this._y1 = this._y0; + this._.push("Z"); + } + }, + lineTo: function(x, y) { + this._.push("L", this._x1 = +x, ",", this._y1 = +y); + }, + quadraticCurveTo: function(x1, y1, x, y) { + this._.push("Q", +x1, ",", +y1, ",", this._x1 = +x, ",", this._y1 = +y); + }, + bezierCurveTo: function(x1, y1, x2, y2, x, y) { + this._.push("C", +x1, ",", +y1, ",", +x2, ",", +y2, ",", this._x1 = +x, ",", this._y1 = +y); + }, + arcTo: function(x1, y1, x2, y2, r) { + x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r; + var x0 = this._x1, + y0 = this._y1, + x21 = x2 - x1, + y21 = y2 - y1, + x01 = x0 - x1, + y01 = y0 - y1, + l01_2 = x01 * x01 + y01 * y01; + + // Is the radius negative? Error. + if (r < 0) throw new Error("negative radius: " + r); + + // Is this path empty? Move to (x1,y1). + if (this._x1 === null) { + this._.push( + "M", this._x1 = x1, ",", this._y1 = y1 + ); + } + + // Or, is (x1,y1) coincident with (x0,y0)? Do nothing. + else if (!(l01_2 > epsilon)); + + // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear? + // Equivalently, is (x1,y1) coincident with (x2,y2)? + // Or, is the radius zero? Line to (x1,y1). + else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) { + this._.push( + "L", this._x1 = x1, ",", this._y1 = y1 + ); + } + + // Otherwise, draw an arc! + else { + var x20 = x2 - x0, + y20 = y2 - y0, + l21_2 = x21 * x21 + y21 * y21, + l20_2 = x20 * x20 + y20 * y20, + l21 = Math.sqrt(l21_2), + l01 = Math.sqrt(l01_2), + l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), + t01 = l / l01, + t21 = l / l21; + + // If the start tangent is not coincident with (x0,y0), line to. + if (Math.abs(t01 - 1) > epsilon) { + this._.push( + "L", x1 + t01 * x01, ",", y1 + t01 * y01 + ); + } + + this._.push( + "A", r, ",", r, ",0,0,", +(y01 * x20 > x01 * y20), ",", this._x1 = x1 + t21 * x21, ",", this._y1 = y1 + t21 * y21 + ); + } + }, + arc: function(x, y, r, a0, a1, ccw) { + x = +x, y = +y, r = +r; + var dx = r * Math.cos(a0), + dy = r * Math.sin(a0), + x0 = x + dx, + y0 = y + dy, + cw = 1 ^ ccw, + da = ccw ? a0 - a1 : a1 - a0; + + // Is the radius negative? Error. + if (r < 0) throw new Error("negative radius: " + r); + + // Is this path empty? Move to (x0,y0). + if (this._x1 === null) { + this._.push( + "M", x0, ",", y0 + ); + } + + // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0). + else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) { + this._.push( + "L", x0, ",", y0 + ); + } + + // Is this arc empty? We’re done. + if (!r) return; + + // Is this a complete circle? Draw two arcs to complete the circle. + if (da > tauEpsilon) { + this._.push( + "A", r, ",", r, ",0,1,", cw, ",", x - dx, ",", y - dy, + "A", r, ",", r, ",0,1,", cw, ",", this._x1 = x0, ",", this._y1 = y0 + ); + } + + // Otherwise, draw an arc! + else { + if (da < 0) da = da % tau + tau; + this._.push( + "A", r, ",", r, ",0,", +(da >= pi), ",", cw, ",", this._x1 = x + r * Math.cos(a1), ",", this._y1 = y + r * Math.sin(a1) + ); + } + }, + rect: function(x, y, w, h) { + this._.push("M", this._x0 = this._x1 = +x, ",", this._y0 = this._y1 = +y, "h", +w, "v", +h, "h", -w, "Z"); + }, + toString: function() { + return this._.join(""); + } + }; + + var version = "0.1.5"; + + exports.version = version; + exports.path = path; + +})); + +/***/ }), +/* 229 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _d3Shape = __webpack_require__(22); + +var _d3Shape2 = _interopRequireDefault(_d3Shape); + +var _commonProps = __webpack_require__(16); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +var _series = __webpack_require__(8); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Area = function (_Component) { + _inherits(Area, _Component); + + function Area(props) { + _classCallCheck(this, Area); - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + return _possibleConstructorReturn(this, Object.getPrototypeOf(Area).call(this, props)); + } - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + _createClass(Area, [{ + key: '_mkArea', + value: function _mkArea() { + var _props = this.props; + var areaClassName = _props.areaClassName; + var areaOpacity = _props.areaOpacity; - var _react = __webpack_require__(2); - var _react2 = _interopRequireDefault(_react); + var dataset = (0, _series.series)(this.props); + var that = this; - var _reactD3Core = __webpack_require__(3); + return _react2.default.createElement( + 'g', + null, + dataset.map(function (area, i) { + return _react2.default.createElement('path', { + className: areaClassName + ' area', + fill: area.color, + d: that._setAxes(area.data), + style: area.style, + key: i + }); + }) + ); + } + }, { + key: '_setAxes', + value: function _setAxes(data) { + var _props2 = this.props; + var height = _props2.height; + var margins = _props2.margins; + var xScaleSet = _props2.xScaleSet; + var yScaleSet = _props2.yScaleSet; - var _reactD3Shape = __webpack_require__(43); - var _commonProps = __webpack_require__(62); + var area = _d3Shape2.default.area().x(function (d) { + return xScaleSet(d.x); + }).y0(function (d) { + var domain = yScaleSet.domain(); - var _commonProps2 = _interopRequireDefault(_commonProps); + if (domain[0] * domain[1] < 0) { + return yScaleSet(0); + } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { + return yScaleSet.range()[0]; + } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { + return yScaleSet.range()[1]; + } + }).y1(function (d) { + return yScaleSet(d.y); + }); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + return area.call(this, data); + } + }, { + key: 'render', + value: function render() { + var area = this._mkArea(); - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + return _react2.default.createElement( + 'g', + null, + area + ); + } + }]); - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + return Area; +}(_react.Component); - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +Area.defaultProps = _extends({ + areaClassName: 'react-d3-basic__area' +}, _commonProps2.default); +exports.default = Area; - var BarGroupChart = function (_Component) { - _inherits(BarGroupChart, _Component); +/***/ }), +/* 230 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _d3Shape = __webpack_require__(22); + +var _d3Shape2 = _interopRequireDefault(_d3Shape); + +var _commonProps = __webpack_require__(16); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +var _series = __webpack_require__(8); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var AreaStack = function (_Component) { + _inherits(AreaStack, _Component); + + function AreaStack(props) { + _classCallCheck(this, AreaStack); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(AreaStack).call(this, props)); + } + + _createClass(AreaStack, [{ + key: '_mkStack', + value: function _mkStack() { + var areaClassName = this.props.areaClassName; + + + var dataset = (0, _series.series)(this.props); + + var _setStack = this._setStack(); + var _setAxes = this._setAxes(); + + return _react2.default.createElement( + 'g', + null, + _setStack(dataset).map(function (area) { + return _react2.default.createElement('path', { + className: areaClassName + ' area', + fill: area.color, + d: _setAxes(area.data), + style: area.style + }); + }) + ); + } + }, { + key: '_setStack', + value: function _setStack() { + var chartSeries = this.props.chartSeries; - function BarGroupChart(props) { - _classCallCheck(this, BarGroupChart); - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarGroupChart).call(this, props)); - } + var buildOut = function buildOut(len) { + // baseline for positive and negative bars respectively. + var currentXOffsets = []; + var currentXIndex = 0; + return function (d, y0, y) { - _createClass(BarGroupChart, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - - - var xgrid, ygrid; - - if (showXGrid) xgrid = _react2.default.createElement(_reactD3Core.Xgrid, null); - if (showYGrid) ygrid = _react2.default.createElement(_reactD3Core.Ygrid, null); - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.Chart, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries - }), - _react2.default.createElement(_reactD3Shape.BarGroup, { - chartSeries: chartSeries - }), - xgrid, - ygrid, - _react2.default.createElement(_reactD3Core.Xaxis, null), - _react2.default.createElement(_reactD3Core.Yaxis, null), - this.props.children - ) - ); - } - }]); - - return BarGroupChart; - }(_react.Component); - - BarGroupChart.defaultProps = _extends({ - onMouseOver: function onMouseOver() {}, - onMouseOut: function onMouseOut() {} - }, _commonProps2.default); - BarGroupChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired - }; - exports.default = BarGroupChart; - module.exports = exports['default']; + if (currentXIndex++ % len === 0) { + currentXOffsets = [0, 0]; + } + + if (y >= 0) { + d.y0 = currentXOffsets[1]; + d.y = y; + currentXOffsets[1] += y; + } else { + d.y0 = currentXOffsets[0] + y; + d.y = -y; + currentXOffsets[0] += y; + } + }; + }; + return d3.layout.stack().values(function (d) { + return d.data; + }).out(buildOut(chartSeries.length)); + } + }, { + key: '_setAxes', + value: function _setAxes() { + var _props = this.props; + var xScaleSet = _props.xScaleSet; + var yScaleSet = _props.yScaleSet; -/***/ }, -/* 68 */ -/***/ function(module, exports, __webpack_require__) { - "use strict"; + return _d3Shape2.default.area().x(function (d) { + return xScaleSet(d.x); + }).y0(function (d) { + return yScaleSet(d.y0); + }).y1(function (d) { + return yScaleSet(d.y0 + d.y); + }); + } + }, { + key: 'render', + value: function render() { + var area = this._mkStack(); + + return _react2.default.createElement( + 'g', + null, + area + ); + } + }]); + + return AreaStack; +}(_react.Component); + +AreaStack.defaultProps = _extends({ + areaClass: 'react-d3-basics__area_stack', + areaClassName: 'react-d3-basic__area_stack' +}, _commonProps2.default); +exports.default = AreaStack; + +/***/ }), +/* 231 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _series = __webpack_require__(8); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Bar = function (_Component) { + _inherits(Bar, _Component); + + function Bar(props) { + _classCallCheck(this, Bar); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(Bar).call(this, props)); + } + + _createClass(Bar, [{ + key: 'triggerOver', + value: function triggerOver(data, e) { + this.props.onMouseOver(e, data); + } + }, { + key: 'triggerOut', + value: function triggerOut(data, e) { + this.props.onMouseOut(e, data); + } + }, { + key: 'triggerClick', + value: function triggerClick(data, e) { + this.props.onClick(e, data); + } + }, { + key: '_mkBar', + value: function _mkBar() { + var _this2 = this; + + var _props = this.props; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var barClassName = _props.barClassName; + var xScaleSet = _props.xScaleSet; + var yScaleSet = _props.yScaleSet; + + + var that = this; + var dataset = (0, _series.series)(this.props)[0]; + var domain = yScaleSet.domain(); + var zeroBase; + + if (domain[0] * domain[1] < 0) { + zeroBase = yScaleSet(0); + } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { + zeroBase = yScaleSet.range()[0]; + } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { + zeroBase = yScaleSet.range()[1]; + } + + return _react2.default.createElement( + 'g', + null, + dataset.data.map(function (bar, i) { + return _react2.default.createElement('rect', { + className: barClassName + ' bar', + x: xScaleSet(bar.x) || xScaleSet(bar.x) === 0 ? xScaleSet(bar.x) : -10000, + y: bar.y < 0 ? zeroBase : yScaleSet(bar.y), + width: xScaleSet.bandwidth(), + height: bar.y < domain[0] ? 0 : Math.abs(zeroBase - yScaleSet(bar.y)), + fill: bar._style.color ? bar._style.color : dataset.color, + style: Object.assign({}, dataset.style, bar._style), + onMouseOut: that.triggerOut.bind(_this2, bar), + onMouseOver: that.triggerOver.bind(_this2, bar), + onClick: that.triggerClick.bind(_this2, bar), + key: i + }); + }) + ); + } + }, { + key: 'render', + value: function render() { + var bar = this._mkBar(); + + return _react2.default.createElement( + 'g', + null, + bar + ); + } + }]); + + return Bar; +}(_react.Component); + +Bar.defaultProps = { + onMouseOver: function onMouseOver(d) {}, + onMouseOut: function onMouseOut(d) {}, + onClick: function onClick(d) {}, + barClassName: 'react-d3-basic__bar' +}; +exports.default = Bar; + +/***/ }), +/* 232 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _series = __webpack_require__(8); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var BarHorizontal = function (_Component) { + _inherits(BarHorizontal, _Component); + + function BarHorizontal(props) { + _classCallCheck(this, BarHorizontal); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(BarHorizontal).call(this, props)); + } + + _createClass(BarHorizontal, [{ + key: 'triggerOver', + value: function triggerOver(data, e) { + this.props.onMouseOver(e, data); + } + }, { + key: 'triggerOut', + value: function triggerOut(data, e) { + this.props.onMouseOut(e, data); + } + }, { + key: '_mkBar', + value: function _mkBar(dom) { + var _this2 = this; + + var _props = this.props; + var height = _props.height; + var margins = _props.margins; + var barClassName = _props.barClassName; + var xScaleSet = _props.xScaleSet; + var yScaleSet = _props.yScaleSet; + + + var that = this; + var dataset = (0, _series.series)(this.props, true)[0]; + var domain = xScaleSet.domain(); + var zeroBase; + + if (domain[0] * domain[1] < 0) { + zeroBase = xScaleSet(0); + } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { + zeroBase = xScaleSet.range()[0]; + } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { + zeroBase = xScaleSet.range()[1]; + } + + return _react2.default.createElement( + 'g', + null, + dataset.data.map(function (bar, i) { + return _react2.default.createElement('rect', { + className: barClassName + ' bar', + y: yScaleSet(bar.y) || yScaleSet(bar.y) === 0 ? yScaleSet(bar.y) : -10000, + x: bar.x > 0 ? zeroBase : zeroBase - Math.abs(zeroBase - xScaleSet(bar.x)), + height: yScaleSet.bandwidth(), + width: bar.x < domain[0] ? 0 : Math.abs(zeroBase - xScaleSet(bar.x)), + fill: bar._style.color ? bar._style.color : dataset.color, + style: Object.assign({}, dataset.style, bar._style), + onMouseOut: that.triggerOut.bind(_this2, bar), + onMouseOver: that.triggerOver.bind(_this2, bar), + key: i + }); + }) + ); + } + }, { + key: 'render', + value: function render() { + var bar = this._mkBar(); + + return _react2.default.createElement( + 'g', + null, + bar + ); + } + }]); + + return BarHorizontal; +}(_react.Component); + +BarHorizontal.defaultProps = { + onMouseOver: function onMouseOver(d) {}, + onMouseOut: function onMouseOut(d) {}, + barClassName: 'react-d3-basic__bar_horizontal' +}; +exports.default = BarHorizontal; + +/***/ }), +/* 233 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _d3Scale = __webpack_require__(15); + +var _d3Scale2 = _interopRequireDefault(_d3Scale); + +var _series = __webpack_require__(8); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var BarGroup = function (_Component) { + _inherits(BarGroup, _Component); + + function BarGroup(props) { + _classCallCheck(this, BarGroup); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(BarGroup).call(this, props)); + } + + _createClass(BarGroup, [{ + key: 'triggerOver', + value: function triggerOver(data, e) { + this.props.onMouseOver(e, data); + } + }, { + key: 'triggerOut', + value: function triggerOut(data, e) { + this.props.onMouseOut(e, data); + } + }, { + key: '_mkBarGroup', + value: function _mkBarGroup(dom) { + var _this2 = this; + + var _props = this.props; + var height = _props.height; + var margins = _props.margins; + var barClassName = _props.barClassName; + var xScaleSet = _props.xScaleSet; + var yScaleSet = _props.yScaleSet; + + + var that = this; + var dataset = (0, _series.series)(this.props); + var x1 = _d3Scale2.default.scaleBand(); + + // mapping x1, inner x axis + x1.domain(dataset.map(function (d) { + return d.field; + })).range([0, xScaleSet.bandwidth()]).padding(.1).round(true); + + var domain = yScaleSet.domain(); + var zeroBase; + + if (domain[0] * domain[1] < 0) { + zeroBase = yScaleSet(0); + } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { + zeroBase = yScaleSet.range()[0]; + } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { + zeroBase = yScaleSet.range()[1]; + } + + return dataset.map(function (barGroup, i) { + return _react2.default.createElement( + 'g', + { className: 'bargroup', key: i }, + barGroup.data.map(function (bar, j) { + return _react2.default.createElement('rect', { + key: j, + className: barClassName + ' bar', + width: x1.bandwidth(), + x: xScaleSet(bar.x) || xScaleSet(bar.x) === 0 ? xScaleSet(bar.x) + x1.bandwidth() * i : -10000, + y: bar.y < 0 ? zeroBase : yScaleSet(bar.y), + height: bar.y < domain[0] ? 0 : Math.abs(zeroBase - yScaleSet(bar.y)), + fill: barGroup.color, + onMouseOut: that.triggerOut.bind(_this2, bar), + onMouseOver: that.triggerOver.bind(_this2, bar), + style: barGroup.style + }); + }) + ); + }); + } + }, { + key: 'render', + value: function render() { + var bar = this._mkBarGroup(); + + return _react2.default.createElement( + 'g', + null, + bar + ); + } + }]); + + return BarGroup; +}(_react.Component); + +BarGroup.defaultProps = { + onMouseOver: function onMouseOver(d) {}, + onMouseOut: function onMouseOut(d) {}, + barClassName: 'react-d3-basic__bar_group' +}; +exports.default = BarGroup; + +/***/ }), +/* 234 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _d3Scale = __webpack_require__(15); + +var _d3Scale2 = _interopRequireDefault(_d3Scale); + +var _series = __webpack_require__(8); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var BarGroupHorizontal = function (_Component) { + _inherits(BarGroupHorizontal, _Component); + + function BarGroupHorizontal(props) { + _classCallCheck(this, BarGroupHorizontal); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(BarGroupHorizontal).call(this, props)); + } + + _createClass(BarGroupHorizontal, [{ + key: 'triggerOver', + value: function triggerOver(data, e) { + this.props.onMouseOver(e, data); + } + }, { + key: 'triggerOut', + value: function triggerOut(data, e) { + this.props.onMouseOut(e, data); + } + }, { + key: '_mkBarGroup', + value: function _mkBarGroup() { + var _this2 = this; + + var _props = this.props; + var height = _props.height; + var margins = _props.margins; + var barClassName = _props.barClassName; + var xScaleSet = _props.xScaleSet; + var yScaleSet = _props.yScaleSet; + var onMouseOut = _props.onMouseOut; + var onMouseOver = _props.onMouseOver; + + + var that = this; + var dataset = (0, _series.series)(this.props, true); + var y1 = _d3Scale2.default.scaleBand(); + + // mapping x1, inner x axis + y1.domain(dataset.map(function (d) { + return d.field; + })).range([0, yScaleSet.bandwidth()]).padding(.1).round(true); + + var domain = xScaleSet.domain(); + var zeroBase; + + if (domain[0] * domain[1] < 0) { + zeroBase = xScaleSet(0); + } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { + zeroBase = xScaleSet.range()[0]; + } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { + zeroBase = xScaleSet.range()[1]; + } + + return _react2.default.createElement( + 'g', + null, + dataset.map(function (barGroup, i) { + return _react2.default.createElement( + 'g', + { className: 'bargroup', key: i }, + barGroup.data.map(function (bar, j) { + return _react2.default.createElement('rect', { + className: barClassName + ' bar', + height: y1.bandwidth(), + y: yScaleSet(bar.y) || yScaleSet(bar.y) === 0 ? yScaleSet(bar.y) + y1.bandwidth() * i : -10000, + x: bar.x > 0 ? zeroBase : zeroBase - Math.abs(zeroBase - xScaleSet(bar.x)), + width: bar.x < domain[0] ? 0 : Math.abs(zeroBase - xScaleSet(bar.x)), + fill: barGroup.color, + onMouseOut: that.triggerOut.bind(_this2, bar), + onMouseOver: that.triggerOver.bind(_this2, bar), + style: barGroup.style, + key: j + }); + }) + ); + }) + ); + } + }, { + key: 'render', + value: function render() { + var bar = this._mkBarGroup(); + + return _react2.default.createElement( + 'g', + null, + bar + ); + } + }]); + + return BarGroupHorizontal; +}(_react.Component); + +BarGroupHorizontal.defaultProps = { + onMouseOver: function onMouseOver(d) {}, + onMouseOut: function onMouseOut(d) {}, + barClassName: 'react-d3-basic__bar_group_horizontal' +}; +exports.default = BarGroupHorizontal; + +/***/ }), +/* 235 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _d = __webpack_require__(48); + +var _d2 = _interopRequireDefault(_d); + +var _series = __webpack_require__(8); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var BarStack = function (_Component) { + _inherits(BarStack, _Component); + + function BarStack(props) { + _classCallCheck(this, BarStack); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(BarStack).call(this, props)); + } + + _createClass(BarStack, [{ + key: 'triggerOver', + value: function triggerOver(data, e) { + this.props.onMouseOver(e, data); + } + }, { + key: 'triggerOut', + value: function triggerOut(data, e) { + this.props.onMouseOut(e, data); + } + }, { + key: 'triggerClick', + value: function triggerClick(data, e) { + this.props.onClick(e, data); + } + }, { + key: '_mkBarStack', + value: function _mkBarStack() { + var _this2 = this; + + var _props = this.props; + var height = _props.height; + var margins = _props.margins; + var barClassName = _props.barClassName; + var xScaleSet = _props.xScaleSet; + var yScaleSet = _props.yScaleSet; + + + var that = this; + var dataset = (0, _series.series)(this.props); + var _setStack = this._setStack(); + + var domain = yScaleSet.domain(); + var zeroBase; + + if (domain[0] * domain[1] < 0) { + zeroBase = yScaleSet(0); + } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { + zeroBase = yScaleSet.range()[0]; + } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { + zeroBase = yScaleSet.range()[1]; + } + + return _react2.default.createElement( + 'g', + null, + _setStack(dataset).map(function (barGroup, i) { + return _react2.default.createElement( + 'g', + { + key: i, + className: 'barGroup', + fill: barGroup.color, + style: barGroup.style }, + barGroup.data.map(function (bar, j) { + return _react2.default.createElement('rect', { + className: barClassName + ' bar', + width: xScaleSet.bandwidth(), + x: xScaleSet(bar.x) || xScaleSet(bar.x) === 0 ? xScaleSet(bar.x) : -10000, + y: yScaleSet(bar.y0 + bar.y), + height: Math.abs(yScaleSet(bar.y) - yScaleSet(0)), + onMouseOut: that.triggerOut.bind(_this2, bar), + onMouseOver: that.triggerOver.bind(_this2, bar), + onClick: that.triggerClick.bind(_this2, bar), + key: j + }); + }) + ); + }) + ); + } + }, { + key: '_setStack', + value: function _setStack() { + var chartSeries = this.props.chartSeries; + + + var buildOut = function buildOut(len) { + // baseline for positive and negative bars respectively. + var currentXOffsets = []; + var currentXIndex = 0; + return function (d, y0, y) { + + if (currentXIndex++ % len === 0) { + currentXOffsets = [0, 0]; + } + + if (y >= 0) { + d.y0 = currentXOffsets[1]; + d.y = y; + currentXOffsets[1] += y; + } else { + d.y0 = currentXOffsets[0] + y; + d.y = -y; + currentXOffsets[0] += y; + } + }; + }; + return _d2.default.layout.stack().values(function (d) { + return d.data; + }).out(buildOut(chartSeries.length)); + } + }, { + key: 'render', + value: function render() { + var bar = this._mkBarStack(); + + return _react2.default.createElement( + 'g', + null, + bar + ); + } + }]); + + return BarStack; +}(_react.Component); + +BarStack.defaultProps = { + onMouseOver: function onMouseOver(d) {}, + onMouseOut: function onMouseOut(d) {}, + onClick: function onClick(d) {}, + barClassName: 'react-d3-basic__bar_stack' +}; +exports.default = BarStack; + +/***/ }), +/* 236 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _d = __webpack_require__(48); + +var _d2 = _interopRequireDefault(_d); + +var _series = __webpack_require__(8); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var BarStackHorizontal = function (_Component) { + _inherits(BarStackHorizontal, _Component); + + function BarStackHorizontal(props) { + _classCallCheck(this, BarStackHorizontal); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(BarStackHorizontal).call(this, props)); + } + + _createClass(BarStackHorizontal, [{ + key: 'triggerOver', + value: function triggerOver(data, e) { + this.props.onMouseOver(e, data); + } + }, { + key: 'triggerOut', + value: function triggerOut(data, e) { + this.props.onMouseOut(e, data); + } + }, { + key: '_mkBarStack', + value: function _mkBarStack(dom) { + var _this2 = this; + + var _props = this.props; + var height = _props.height; + var margins = _props.margins; + var barClassName = _props.barClassName; + var xScaleSet = _props.xScaleSet; + var yScaleSet = _props.yScaleSet; + + + var that = this; + var dataset = (0, _series.series)(this.props, true); + var _setStack = this._setStack(); + + // make areas + var chart = _d2.default.select(dom).attr("class", "g"); + + var domain = xScaleSet.domain(); + var zeroBase; + + if (domain[0] * domain[1] < 0) { + zeroBase = xScaleSet(0); + } else if (domain[0] * domain[1] >= 0 && domain[0] >= 0) { + zeroBase = xScaleSet.range()[0]; + } else if (domain[0] * domain[1] >= 0 && domain[0] < 0) { + zeroBase = xScaleSet.range()[1]; + } + + return _react2.default.createElement( + 'g', + null, + _setStack(dataset).map(function (barGroup, i) { + return _react2.default.createElement( + 'g', + { + className: 'barGroup', + fill: barGroup.color, + style: barGroup.style, + key: i + }, + barGroup.data.map(function (bar, j) { + return _react2.default.createElement('rect', { + className: barClassName + ' bar', + height: yScaleSet.bandwidth(), + y: yScaleSet(bar.y) || yScaleSet(bar.y) === 0 ? yScaleSet(bar.y) : -10000, + x: xScaleSet(bar.x0), + width: Math.abs(xScaleSet(bar.x) - xScaleSet(0)), + onMouseOut: that.triggerOut.bind(_this2, bar), + onMouseOver: that.triggerOver.bind(_this2, bar), + key: j + }); + }) + ); + }) + ); + } + }, { + key: '_setStack', + value: function _setStack() { + var chartSeries = this.props.chartSeries; + + + var buildOut = function buildOut(len) { + // baseline for positive and negative bars respectively. + var currentXOffsets = []; + var currentXIndex = 0; + return function (d, x0, x) { + + if (currentXIndex++ % len === 0) { + currentXOffsets = [0, 0]; + } + + if (x >= 0) { + d.x0 = currentXOffsets[1]; + d.x = x; + currentXOffsets[1] += x; + } else { + d.x0 = currentXOffsets[0] + x; + d.x = -x; + currentXOffsets[0] += x; + } + }; + }; + return _d2.default.layout.stack().values(function (d) { + return d.data; + }).y(function (d) { + return d.x; + }).out(buildOut(chartSeries.length)); + } + }, { + key: 'render', + value: function render() { + var bar = this._mkBarStack(); + + return _react2.default.createElement( + 'g', + null, + bar + ); + } + }]); + + return BarStackHorizontal; +}(_react.Component); + +BarStackHorizontal.defaultProps = { + onMouseOver: function onMouseOver(d) {}, + onMouseOut: function onMouseOut(d) {}, + barClassName: 'react-d3-basic__bar_stack_horizontal' +}; +exports.default = BarStackHorizontal; + +/***/ }), +/* 237 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _d3Shape = __webpack_require__(22); + +var _d3Shape2 = _interopRequireDefault(_d3Shape); + +var _commonProps = __webpack_require__(16); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Pie = function (_Component) { + _inherits(Pie, _Component); + + function Pie(props) { + _classCallCheck(this, Pie); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(Pie).call(this, props)); + } + + _createClass(Pie, [{ + key: 'triggerOver', + value: function triggerOver(data, e) { + this.props.onMouseOver(e, data); + } + }, { + key: 'triggerOut', + value: function triggerOut(data, e) { + this.props.onMouseOut(e, data); + } + }, { + key: 'mkSeries', + value: function mkSeries() { + var _props = this.props; + var data = _props.data; + var chartSeries = _props.chartSeries; + var value = _props.value; + var name = _props.name; + var categoricalColors = _props.categoricalColors; + + + var chartSeriesData = chartSeries.map(function (f, i) { + + // set a color if not set + if (!f.color) f.color = categoricalColors(i); + + // set name if not set + if (!f.name) f.name = f.field; + + var val; + + data.forEach(function (d) { + if (name(d) === f.field) val = d; + }); + + return Object.assign(f, { value: value(val) }); + }); + + return chartSeriesData; + } + }, { + key: '_mkPie', + value: function _mkPie() { + var _this2 = this; + + var _props2 = this.props; + var width = _props2.width; + var height = _props2.height; + var innerRadius = _props2.innerRadius; + var outerRadius = _props2.outerRadius; + var pieSort = _props2.pieSort; + var value = _props2.value; + var radius = _props2.radius; + var pieTextShow = _props2.pieTextShow; + - Object.defineProperty(exports, "__esModule", { - value: true - }); + var that = this; + var radius = this.props.radius || Math.min(width - 100, height - 100) / 2; + var outerRadius = outerRadius || radius - 10; + var labelr = radius + 10; - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + var chartSeriesData = this.mkSeries(); - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + var arc = _d3Shape2.default.arc().outerRadius(outerRadius).innerRadius(innerRadius); - var _react = __webpack_require__(2); + var arcOver = _d3Shape2.default.arc().outerRadius(outerRadius + 10).innerRadius(innerRadius); - var _react2 = _interopRequireDefault(_react); + var pie = _d3Shape2.default.pie().sort(function (a, b) { + return pieSort(a.value, b.value); + }).value(function (d) { + return d.value; + }); - var _reactD3Core = __webpack_require__(3); + return _react2.default.createElement( + 'g', + { className: 'arc' }, + pie(chartSeriesData).map(function (slice, i) { + var textTransform = function textTransform(d) { + var c = arc.centroid(d), + x = c[0], + y = c[1], - var _reactD3Shape = __webpack_require__(43); + // pythagorean theorem for hypotenuse + h = Math.sqrt(x * x + y * y); - var _commonProps = __webpack_require__(62); + return "translate(" + x / h * labelr + ',' + y / h * labelr + ")"; + }; + + var textAnchor = function textAnchor(d) { + return (d.endAngle + d.startAngle) / 2 > Math.PI ? "end" : "start"; + }; + + return _react2.default.createElement( + 'g', + { key: i }, + _react2.default.createElement('path', { + d: arc(slice), + style: _extends({ fill: slice.data.color, stroke: '#FFF' }, slice.data.style), + onMouseOut: that.triggerOut.bind(_this2, slice), + onMouseOver: that.triggerOver.bind(_this2, slice) + }), + pieTextShow ? _react2.default.createElement( + 'text', + { + transform: textTransform(slice), + dy: '.35em', + textAnchor: textAnchor(slice) + }, + slice.data.name + ) : null + ); + }) + ); + } + }, { + key: 'render', + value: function render() { + var _props3 = this.props; + var width = _props3.width; + var height = _props3.height; + var margins = _props3.margins; + + + var t = 'translate(' + (width - margins.left - margins.right) / 2 + ', ' + (height - margins.top - margins.bottom) / 2 + ')'; + var pie = this._mkPie(); + + return _react2.default.createElement( + 'g', + { transform: t }, + pie + ); + } + }]); + + return Pie; +}(_react.Component); + +Pie.defaultProps = _extends({ + onMouseOver: function onMouseOver(d) {}, + onMouseOut: function onMouseOut(d) {} +}, _commonProps.pieProps); +exports.default = Pie; + +/***/ }), +/* 238 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(0); + +var _react2 = _interopRequireDefault(_react); + +var _d3Shape = __webpack_require__(22); + +var _d3Shape2 = _interopRequireDefault(_d3Shape); + +var _series = __webpack_require__(8); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Scatter = function (_Component) { + _inherits(Scatter, _Component); + + function Scatter(props) { + _classCallCheck(this, Scatter); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(Scatter).call(this, props)); + } + + _createClass(Scatter, [{ + key: '_mkScatter', + value: function _mkScatter(dataset) { + var _props = this.props; + var scatterClassName = _props.scatterClassName; + var defaultSymbol = _props.defaultSymbol; + var defaultSymbolSize = _props.defaultSymbolSize; + var brushSymbol = _props.brushSymbol; + var xScaleSet = _props.xScaleSet; + var yScaleSet = _props.yScaleSet; + + // for building symbols in brush, set to circle and size to 4 + + if (brushSymbol) { + symbol = 'circle'; + symbolSize = 4; + } + + return _react2.default.createElement( + 'g', + null, + dataset.map(function (dot) { + var symbol = dot.symbol ? dot.symbol : defaultSymbol; + var symbolSize = dot.symbolSize ? dot.symbolSize : defaultSymbolSize; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + return dot.data.map(function (d) { + var symbolFunc = _d3Shape2.default.symbol().size(symbolSize * symbolSize).type(function () { + console.log(symbol); - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + if (symbol === 'circle') { + return _d3Shape2.default.symbolCircle; + } else if (symbol === 'cross') { + return _d3Shape2.default.symbolCross; + } else if (symbol === 'diamond') { + return _d3Shape2.default.symbolDiamond; + } else if (symbol === 'square') { + return _d3Shape2.default.symbolSquare; + } else if (symbol === 'star') { + return _d3Shape2.default.symbolStar; + } else if (symbol === 'triangle') { + return _d3Shape2.default.symbolTriangle; + } else if (symbol === 'wye') { + return _d3Shape2.default.symbolWye; + } else { + console.error('Symbol is not support ' + symbol + '.'); + } + }); - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + return _react2.default.createElement('path', { + className: 'react-d3-basic__scatter__path', + fill: d.color, + transform: "translate(" + xScaleSet(d.x) + "," + yScaleSet(d.y) + ")", + d: symbolFunc(), + style: dot.style + }); + }); + }) + ); + } + }, { + key: 'render', + value: function render() { + var d = (0, _series.series)(this.props); + var scatter = this._mkScatter(d); - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + return _react2.default.createElement( + 'g', + null, + scatter + ); + } + }]); - var BarGroupHorizontalChart = function (_Component) { - _inherits(BarGroupHorizontalChart, _Component); + return Scatter; +}(_react.Component); - function BarGroupHorizontalChart(props) { - _classCallCheck(this, BarGroupHorizontalChart); +Scatter.defaultProps = { + defaultSymbol: 'circle', + defaultSymbolSize: 10, + scatterClassName: 'react-d3-basic__scatter' +}; +exports.default = Scatter; + +/***/ }), +/* 239 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _index = __webpack_require__(4); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = __webpack_require__(5); + +var _index4 = _interopRequireDefault(_index3); + +var _react2 = __webpack_require__(0); + +var _react3 = _interopRequireDefault(_react2); + +var _index5 = __webpack_require__(6); + +var _index6 = _interopRequireDefault(_index5); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _class, _temp; + +var _propTypes = __webpack_require__(3); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _reactD3Core = __webpack_require__(2); + +var _reactD3Shape = __webpack_require__(7); + +var _commonProps = __webpack_require__(9); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var _components = { + AreaChart: { + displayName: 'AreaChart' + } +}; + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/area.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/area.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); + +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarGroupHorizontalChart).call(this, props)); - } +var AreaChart = _wrapComponent('AreaChart')((_temp = _class = function (_Component) { + _inherits(AreaChart, _Component); - _createClass(BarGroupHorizontalChart, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - - - var xgrid, ygrid; - - if (showXGrid) xgrid = _react2.default.createElement(_reactD3Core.Xgrid, null); - if (showYGrid) ygrid = _react2.default.createElement(_reactD3Core.Ygrid, null); - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.Chart, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries, - horizontal: true - }), - _react2.default.createElement(_reactD3Shape.BarGroupHorizontal, { - chartSeries: chartSeries - }), - xgrid, - ygrid, - _react2.default.createElement(_reactD3Core.Xaxis, null), - _react2.default.createElement(_reactD3Core.Yaxis, null), - this.props.children - ) - ); - } - }]); - - return BarGroupHorizontalChart; - }(_react.Component); - - BarGroupHorizontalChart.defaultProps = _extends({ - onMouseOver: function onMouseOver() {}, - onMouseOut: function onMouseOut() {} - }, _commonProps.horizontalProps); - BarGroupHorizontalChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired - }; - exports.default = BarGroupHorizontalChart; - module.exports = exports['default']; + function AreaChart(props) { + _classCallCheck(this, AreaChart); -/***/ }, -/* 69 */ -/***/ function(module, exports, __webpack_require__) { + return _possibleConstructorReturn(this, (AreaChart.__proto__ || Object.getPrototypeOf(AreaChart)).call(this, props)); + } - "use strict"; + _createClass(AreaChart, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors; - Object.defineProperty(exports, "__esModule", { - value: true - }); - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + var xgrid, ygrid; - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + if (showXGrid) xgrid = _react3.default.createElement(_reactD3Core.Xgrid, null); + if (showYGrid) ygrid = _react3.default.createElement(_reactD3Core.Ygrid, null); - var _react = __webpack_require__(2); + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.Chart, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries + }), + _react3.default.createElement(_reactD3Shape.Area, { + chartSeries: chartSeries + }), + xgrid, + ygrid, + _react3.default.createElement(_reactD3Core.Xaxis, null), + _react3.default.createElement(_reactD3Core.Yaxis, null), + this.props.children + ) + ); + } + }]); - var _react2 = _interopRequireDefault(_react); + return AreaChart; +}(_react2.Component), _class.defaultProps = _extends({ + showScatter: false +}, _commonProps2.default), _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + margins: _propTypes2.default.object.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired +}, _temp)); + +exports.default = AreaChart; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 240 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _index = __webpack_require__(4); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = __webpack_require__(5); + +var _index4 = _interopRequireDefault(_index3); + +var _react2 = __webpack_require__(0); + +var _react3 = _interopRequireDefault(_react2); + +var _index5 = __webpack_require__(6); + +var _index6 = _interopRequireDefault(_index5); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _class, _temp; + +var _propTypes = __webpack_require__(3); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _reactD3Core = __webpack_require__(2); + +var _reactD3Shape = __webpack_require__(7); + +var _commonProps = __webpack_require__(9); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var _components = { + ScatterPlot: { + displayName: 'ScatterPlot' + } +}; + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/scatter.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/scatter.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); + +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} - var _reactD3Core = __webpack_require__(3); +var ScatterPlot = _wrapComponent('ScatterPlot')((_temp = _class = function (_Component) { + _inherits(ScatterPlot, _Component); - var _reactD3Shape = __webpack_require__(43); + function ScatterPlot(props) { + _classCallCheck(this, ScatterPlot); - var _commonProps = __webpack_require__(62); + return _possibleConstructorReturn(this, (ScatterPlot.__proto__ || Object.getPrototypeOf(ScatterPlot)).call(this, props)); + } - var _commonProps2 = _interopRequireDefault(_commonProps); + _createClass(ScatterPlot, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + var xgrid, ygrid; - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + if (showXGrid) xgrid = _react3.default.createElement(_reactD3Core.Xgrid, null); + if (showYGrid) ygrid = _react3.default.createElement(_reactD3Core.Ygrid, null); - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.Chart, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries + }), + _react3.default.createElement(_reactD3Shape.Scatter, { + chartSeries: chartSeries + }), + xgrid, + ygrid, + _react3.default.createElement(_reactD3Core.Xaxis, null), + _react3.default.createElement(_reactD3Core.Yaxis, null), + this.props.children + ) + ); + } + }]); - var AreaStackChart = function (_Component) { - _inherits(AreaStackChart, _Component); + return ScatterPlot; +}(_react2.Component), _class.defaultProps = _commonProps2.default, _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + margins: _propTypes2.default.object.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired +}, _temp)); + +exports.default = ScatterPlot; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 241 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _index = __webpack_require__(4); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = __webpack_require__(5); + +var _index4 = _interopRequireDefault(_index3); + +var _react2 = __webpack_require__(0); + +var _react3 = _interopRequireDefault(_react2); + +var _index5 = __webpack_require__(6); + +var _index6 = _interopRequireDefault(_index5); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _class, _temp; + +var _propTypes = __webpack_require__(3); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _reactD3Core = __webpack_require__(2); + +var _reactD3Shape = __webpack_require__(7); + +var _commonProps = __webpack_require__(9); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var _components = { + BarChart: { + displayName: 'BarChart' + } +}; + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/bar.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/bar.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); + +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} - function AreaStackChart(props) { - _classCallCheck(this, AreaStackChart); +var BarChart = _wrapComponent('BarChart')((_temp = _class = function (_Component) { + _inherits(BarChart, _Component); - return _possibleConstructorReturn(this, Object.getPrototypeOf(AreaStackChart).call(this, props)); - } + function BarChart(props) { + _classCallCheck(this, BarChart); - _createClass(AreaStackChart, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - - - var xgrid, ygrid; - - if (showXGrid) xgrid = _react2.default.createElement(_reactD3Core.Xgrid, null); - if (showYGrid) ygrid = _react2.default.createElement(_reactD3Core.Ygrid, null); - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.Chart, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries, - stack: true - }), - _react2.default.createElement(_reactD3Shape.AreaStack, { - chartSeries: chartSeries - }), - xgrid, - ygrid, - _react2.default.createElement(_reactD3Core.Xaxis, null), - _react2.default.createElement(_reactD3Core.Yaxis, null), - this.props.children - ) - ); - } - }]); - - return AreaStackChart; - }(_react.Component); - - AreaStackChart.defaultProps = _commonProps2.default; - AreaStackChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired - }; - exports.default = AreaStackChart; - module.exports = exports['default']; + return _possibleConstructorReturn(this, (BarChart.__proto__ || Object.getPrototypeOf(BarChart)).call(this, props)); + } -/***/ }, -/* 70 */ -/***/ function(module, exports, __webpack_require__) { + _createClass(BarChart, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors; - "use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); + var xgrid, ygrid; - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + if (showXGrid) xgrid = _react3.default.createElement(_reactD3Core.Xgrid, null); + if (showYGrid) ygrid = _react3.default.createElement(_reactD3Core.Ygrid, null); - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.Chart, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries + }), + _react3.default.createElement(_reactD3Shape.Bar, { + chartSeries: chartSeries + }), + xgrid, + ygrid, + _react3.default.createElement(_reactD3Core.Xaxis, null), + _react3.default.createElement(_reactD3Core.Yaxis, null), + this.props.children + ) + ); + } + }]); - var _react = __webpack_require__(2); + return BarChart; +}(_react2.Component), _class.defaultProps = _extends({ + onMouseOver: function onMouseOver() {}, + onMouseOut: function onMouseOut() {} +}, _commonProps2.default), _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + margins: _propTypes2.default.object.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired +}, _temp)); + +exports.default = BarChart; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 242 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _index = __webpack_require__(4); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = __webpack_require__(5); + +var _index4 = _interopRequireDefault(_index3); + +var _react2 = __webpack_require__(0); + +var _react3 = _interopRequireDefault(_react2); + +var _index5 = __webpack_require__(6); + +var _index6 = _interopRequireDefault(_index5); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _class, _temp; + +var _propTypes = __webpack_require__(3); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _reactD3Core = __webpack_require__(2); + +var _reactD3Shape = __webpack_require__(7); + +var _commonProps = __webpack_require__(9); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var _components = { + BarHorizontalChart: { + displayName: 'BarHorizontalChart' + } +}; + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/bar_horizontal.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/bar_horizontal.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); + +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} + +var BarHorizontalChart = _wrapComponent('BarHorizontalChart')((_temp = _class = function (_Component) { + _inherits(BarHorizontalChart, _Component); - var _react2 = _interopRequireDefault(_react); + function BarHorizontalChart(props) { + _classCallCheck(this, BarHorizontalChart); - var _reactD3Core = __webpack_require__(3); + return _possibleConstructorReturn(this, (BarHorizontalChart.__proto__ || Object.getPrototypeOf(BarHorizontalChart)).call(this, props)); + } - var _reactD3Shape = __webpack_require__(43); + _createClass(BarHorizontalChart, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors; - var _commonProps = __webpack_require__(62); - var _commonProps2 = _interopRequireDefault(_commonProps); + var xgrid, ygrid; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + if (showXGrid) xgrid = _react3.default.createElement(_reactD3Core.Xgrid, null); + if (showYGrid) ygrid = _react3.default.createElement(_reactD3Core.Ygrid, null); - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.Chart, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries, + horizontal: true + }), + _react3.default.createElement(_reactD3Shape.BarHorizontal, { + chartSeries: chartSeries + }), + xgrid, + ygrid, + _react3.default.createElement(_reactD3Core.Xaxis, null), + _react3.default.createElement(_reactD3Core.Yaxis, null), + this.props.children + ) + ); + } + }]); - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + return BarHorizontalChart; +}(_react2.Component), _class.defaultProps = _extends({ + onMouseOver: function onMouseOver() {}, + onMouseOut: function onMouseOut() {} +}, _commonProps.horizontalProps), _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + margins: _propTypes2.default.object.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired +}, _temp)); + +exports.default = BarHorizontalChart; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 243 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _index = __webpack_require__(4); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = __webpack_require__(5); + +var _index4 = _interopRequireDefault(_index3); + +var _react2 = __webpack_require__(0); + +var _react3 = _interopRequireDefault(_react2); + +var _index5 = __webpack_require__(6); + +var _index6 = _interopRequireDefault(_index5); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _class, _temp; + +var _propTypes = __webpack_require__(3); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _reactD3Core = __webpack_require__(2); + +var _reactD3Shape = __webpack_require__(7); + +var _commonProps = __webpack_require__(9); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var _components = { + BarGroupChart: { + displayName: 'BarGroupChart' + } +}; + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/bar_group.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/bar_group.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); + +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } +var BarGroupChart = _wrapComponent('BarGroupChart')((_temp = _class = function (_Component) { + _inherits(BarGroupChart, _Component); - var BarStackChart = function (_Component) { - _inherits(BarStackChart, _Component); + function BarGroupChart(props) { + _classCallCheck(this, BarGroupChart); - function BarStackChart(props) { - _classCallCheck(this, BarStackChart); + return _possibleConstructorReturn(this, (BarGroupChart.__proto__ || Object.getPrototypeOf(BarGroupChart)).call(this, props)); + } - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarStackChart).call(this, props)); - } + _createClass(BarGroupChart, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors; - _createClass(BarStackChart, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - - - var xgrid, ygrid; - - if (showXGrid) xgrid = _react2.default.createElement(_reactD3Core.Xgrid, null); - if (showYGrid) ygrid = _react2.default.createElement(_reactD3Core.Ygrid, null); - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.Chart, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries, - stack: true - }), - _react2.default.createElement(_reactD3Shape.BarStack, { - chartSeries: chartSeries - }), - xgrid, - ygrid, - _react2.default.createElement(_reactD3Core.Xaxis, null), - _react2.default.createElement(_reactD3Core.Yaxis, null), - this.props.children - ) - ); - } - }]); - - return BarStackChart; - }(_react.Component); - - BarStackChart.defaultProps = _extends({ - onMouseOver: function onMouseOver() {}, - onMouseOut: function onMouseOut() {} - }, _commonProps2.default); - BarStackChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired - }; - exports.default = BarStackChart; - module.exports = exports['default']; -/***/ }, -/* 71 */ -/***/ function(module, exports, __webpack_require__) { + var xgrid, ygrid; - "use strict"; + if (showXGrid) xgrid = _react3.default.createElement(_reactD3Core.Xgrid, null); + if (showYGrid) ygrid = _react3.default.createElement(_reactD3Core.Ygrid, null); - Object.defineProperty(exports, "__esModule", { - value: true - }); + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.Chart, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries + }), + _react3.default.createElement(_reactD3Shape.BarGroup, { + chartSeries: chartSeries + }), + xgrid, + ygrid, + _react3.default.createElement(_reactD3Core.Xaxis, null), + _react3.default.createElement(_reactD3Core.Yaxis, null), + this.props.children + ) + ); + } + }]); - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + return BarGroupChart; +}(_react2.Component), _class.defaultProps = _extends({ + onMouseOver: function onMouseOver() {}, + onMouseOut: function onMouseOut() {} +}, _commonProps2.default), _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + margins: _propTypes2.default.object.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired +}, _temp)); + +exports.default = BarGroupChart; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 244 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _index = __webpack_require__(4); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = __webpack_require__(5); + +var _index4 = _interopRequireDefault(_index3); + +var _react2 = __webpack_require__(0); + +var _react3 = _interopRequireDefault(_react2); + +var _index5 = __webpack_require__(6); + +var _index6 = _interopRequireDefault(_index5); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _class, _temp; + +var _propTypes = __webpack_require__(3); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _reactD3Core = __webpack_require__(2); + +var _reactD3Shape = __webpack_require__(7); + +var _commonProps = __webpack_require__(9); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var _components = { + BarGroupHorizontalChart: { + displayName: 'BarGroupHorizontalChart' + } +}; + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/bar_group_horizontal.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/bar_group_horizontal.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); + +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} + +var BarGroupHorizontalChart = _wrapComponent('BarGroupHorizontalChart')((_temp = _class = function (_Component) { + _inherits(BarGroupHorizontalChart, _Component); - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + function BarGroupHorizontalChart(props) { + _classCallCheck(this, BarGroupHorizontalChart); - var _react = __webpack_require__(2); + return _possibleConstructorReturn(this, (BarGroupHorizontalChart.__proto__ || Object.getPrototypeOf(BarGroupHorizontalChart)).call(this, props)); + } - var _react2 = _interopRequireDefault(_react); + _createClass(BarGroupHorizontalChart, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors; - var _reactD3Core = __webpack_require__(3); - var _reactD3Shape = __webpack_require__(43); + var xgrid, ygrid; - var _commonProps = __webpack_require__(62); + if (showXGrid) xgrid = _react3.default.createElement(_reactD3Core.Xgrid, null); + if (showYGrid) ygrid = _react3.default.createElement(_reactD3Core.Ygrid, null); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.Chart, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries, + horizontal: true + }), + _react3.default.createElement(_reactD3Shape.BarGroupHorizontal, { + chartSeries: chartSeries + }), + xgrid, + ygrid, + _react3.default.createElement(_reactD3Core.Xaxis, null), + _react3.default.createElement(_reactD3Core.Yaxis, null), + this.props.children + ) + ); + } + }]); - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + return BarGroupHorizontalChart; +}(_react2.Component), _class.defaultProps = _extends({ + onMouseOver: function onMouseOver() {}, + onMouseOut: function onMouseOut() {} +}, _commonProps.horizontalProps), _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + margins: _propTypes2.default.object.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired +}, _temp)); + +exports.default = BarGroupHorizontalChart; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 245 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _index = __webpack_require__(4); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = __webpack_require__(5); + +var _index4 = _interopRequireDefault(_index3); + +var _react2 = __webpack_require__(0); + +var _react3 = _interopRequireDefault(_react2); + +var _index5 = __webpack_require__(6); + +var _index6 = _interopRequireDefault(_index5); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _class, _temp; + +var _propTypes = __webpack_require__(3); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _reactD3Core = __webpack_require__(2); + +var _reactD3Shape = __webpack_require__(7); + +var _commonProps = __webpack_require__(9); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var _components = { + AreaStackChart: { + displayName: 'AreaStackChart' + } +}; + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/area_stack.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/area_stack.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); + +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } +var AreaStackChart = _wrapComponent('AreaStackChart')((_temp = _class = function (_Component) { + _inherits(AreaStackChart, _Component); - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + function AreaStackChart(props) { + _classCallCheck(this, AreaStackChart); - var BarStackChart = function (_Component) { - _inherits(BarStackChart, _Component); + return _possibleConstructorReturn(this, (AreaStackChart.__proto__ || Object.getPrototypeOf(AreaStackChart)).call(this, props)); + } - function BarStackChart(props) { - _classCallCheck(this, BarStackChart); + _createClass(AreaStackChart, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors; - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarStackChart).call(this, props)); - } - _createClass(BarStackChart, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - - - var xgrid, ygrid; - - if (showXGrid) xgrid = _react2.default.createElement(_reactD3Core.Xgrid, null); - if (showYGrid) ygrid = _react2.default.createElement(_reactD3Core.Ygrid, null); - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.Chart, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries, - stack: true, - horizontal: true - }), - _react2.default.createElement(_reactD3Shape.BarStackHorizontal, { - chartSeries: chartSeries - }), - xgrid, - ygrid, - _react2.default.createElement(_reactD3Core.Xaxis, null), - _react2.default.createElement(_reactD3Core.Yaxis, null), - this.props.children - ) - ); - } - }]); - - return BarStackChart; - }(_react.Component); - - BarStackChart.defaultProps = _extends({ - onMouseOver: function onMouseOver() {}, - onMouseOut: function onMouseOut() {} - }, _commonProps.horizontalProps); - BarStackChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired - }; - exports.default = BarStackChart; - module.exports = exports['default']; + var xgrid, ygrid; -/***/ }, -/* 72 */ -/***/ function(module, exports, __webpack_require__) { + if (showXGrid) xgrid = _react3.default.createElement(_reactD3Core.Xgrid, null); + if (showYGrid) ygrid = _react3.default.createElement(_reactD3Core.Ygrid, null); - "use strict"; + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.Chart, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries, + stack: true + }), + _react3.default.createElement(_reactD3Shape.AreaStack, { + chartSeries: chartSeries + }), + xgrid, + ygrid, + _react3.default.createElement(_reactD3Core.Xaxis, null), + _react3.default.createElement(_reactD3Core.Yaxis, null), + this.props.children + ) + ); + } + }]); - Object.defineProperty(exports, "__esModule", { - value: true - }); + return AreaStackChart; +}(_react2.Component), _class.defaultProps = _commonProps2.default, _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + margins: _propTypes2.default.object.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired +}, _temp)); + +exports.default = AreaStackChart; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 246 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _index = __webpack_require__(4); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = __webpack_require__(5); + +var _index4 = _interopRequireDefault(_index3); + +var _react2 = __webpack_require__(0); + +var _react3 = _interopRequireDefault(_react2); + +var _index5 = __webpack_require__(6); + +var _index6 = _interopRequireDefault(_index5); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _class, _temp; + +var _propTypes = __webpack_require__(3); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _reactD3Core = __webpack_require__(2); + +var _reactD3Shape = __webpack_require__(7); + +var _commonProps = __webpack_require__(9); + +var _commonProps2 = _interopRequireDefault(_commonProps); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var _components = { + BarStackChart: { + displayName: 'BarStackChart' + } +}; + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/bar_stack.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/bar_stack.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); + +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; +var BarStackChart = _wrapComponent('BarStackChart')((_temp = _class = function (_Component) { + _inherits(BarStackChart, _Component); - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + function BarStackChart(props) { + _classCallCheck(this, BarStackChart); - var _react = __webpack_require__(2); + return _possibleConstructorReturn(this, (BarStackChart.__proto__ || Object.getPrototypeOf(BarStackChart)).call(this, props)); + } - var _react2 = _interopRequireDefault(_react); + _createClass(BarStackChart, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors; - var _reactD3Core = __webpack_require__(3); - var _reactD3Shape = __webpack_require__(43); + var xgrid, ygrid; - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + if (showXGrid) xgrid = _react3.default.createElement(_reactD3Core.Xgrid, null); + if (showYGrid) ygrid = _react3.default.createElement(_reactD3Core.Ygrid, null); - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.Chart, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries, + stack: true + }), + _react3.default.createElement(_reactD3Shape.BarStack, { + chartSeries: chartSeries + }), + xgrid, + ygrid, + _react3.default.createElement(_reactD3Core.Xaxis, null), + _react3.default.createElement(_reactD3Core.Yaxis, null), + this.props.children + ) + ); + } + }]); - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + return BarStackChart; +}(_react2.Component), _class.defaultProps = _extends({ + onMouseOver: function onMouseOver() {}, + onMouseOut: function onMouseOut() {} +}, _commonProps2.default), _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + margins: _propTypes2.default.object.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired +}, _temp)); + +exports.default = BarStackChart; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 247 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _index = __webpack_require__(4); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = __webpack_require__(5); + +var _index4 = _interopRequireDefault(_index3); + +var _react2 = __webpack_require__(0); + +var _react3 = _interopRequireDefault(_react2); + +var _index5 = __webpack_require__(6); + +var _index6 = _interopRequireDefault(_index5); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _class, _temp; + +var _propTypes = __webpack_require__(3); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _reactD3Core = __webpack_require__(2); + +var _reactD3Shape = __webpack_require__(7); + +var _commonProps = __webpack_require__(9); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var _components = { + BarStackChart: { + displayName: 'BarStackChart' + } +}; + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/bar_stack_horizontal.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/bar_stack_horizontal.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); + +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} + +var BarStackChart = _wrapComponent('BarStackChart')((_temp = _class = function (_Component) { + _inherits(BarStackChart, _Component); - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + function BarStackChart(props) { + _classCallCheck(this, BarStackChart); - var PieChart = function (_Component) { - _inherits(PieChart, _Component); + return _possibleConstructorReturn(this, (BarStackChart.__proto__ || Object.getPrototypeOf(BarStackChart)).call(this, props)); + } - function PieChart(props) { - _classCallCheck(this, PieChart); + _createClass(BarStackChart, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors; - return _possibleConstructorReturn(this, Object.getPrototypeOf(PieChart).call(this, props)); - } - _createClass(PieChart, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var value = _props.value; - var name = _props.name; - var categoricalColors = _props.categoricalColors; - var showLegend = _props.showLegend; - - - return _react2.default.createElement( - 'div', - null, - showLegend ? _react2.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { - width: width, - margins: margins, - chartSeries: chartSeries, - categoricalColors: categoricalColors - })) : null, - _react2.default.createElement( - _reactD3Shape.ChartPie, - _extends({}, this.props, { - width: width, - height: height, - data: data, - chartSeries: chartSeries, - value: value, - name: name - }), - _react2.default.createElement(_reactD3Shape.Pie, _extends({}, this.props, { - chartSeries: chartSeries - })), - this.props.children - ) - ); - } - }]); + var xgrid, ygrid; - return PieChart; - }(_react.Component); + if (showXGrid) xgrid = _react3.default.createElement(_reactD3Core.Xgrid, null); + if (showYGrid) ygrid = _react3.default.createElement(_reactD3Core.Ygrid, null); - PieChart.defaultProps = { - onMouseOver: function onMouseOver() {}, - onMouseOut: function onMouseOut() {}, - showLegend: true - }; - PieChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired, - value: _react.PropTypes.func.isRequired, - name: _react.PropTypes.func.isRequired - }; - exports.default = PieChart; - module.exports = exports['default']; + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.Chart, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries, + stack: true, + horizontal: true + }), + _react3.default.createElement(_reactD3Shape.BarStackHorizontal, { + chartSeries: chartSeries + }), + xgrid, + ygrid, + _react3.default.createElement(_reactD3Core.Xaxis, null), + _react3.default.createElement(_reactD3Core.Yaxis, null), + this.props.children + ) + ); + } + }]); -/***/ } + return BarStackChart; +}(_react2.Component), _class.defaultProps = _extends({ + onMouseOver: function onMouseOver() {}, + onMouseOut: function onMouseOut() {} +}, _commonProps.horizontalProps), _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + margins: _propTypes2.default.object.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired +}, _temp)); + +exports.default = BarStackChart; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }), +/* 248 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(module) { + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _index = __webpack_require__(4); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = __webpack_require__(5); + +var _index4 = _interopRequireDefault(_index3); + +var _react2 = __webpack_require__(0); + +var _react3 = _interopRequireDefault(_react2); + +var _index5 = __webpack_require__(6); + +var _index6 = _interopRequireDefault(_index5); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _class, _temp; + +var _propTypes = __webpack_require__(3); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _reactD3Core = __webpack_require__(2); + +var _reactD3Shape = __webpack_require__(7); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var _components = { + PieChart: { + displayName: 'PieChart' + } +}; + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2 = (0, _index6.default)({ + filename: 'src/pie.jsx', + components: _components, + locals: [module], + imports: [_react3.default] +}); + +var _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2 = (0, _index4.default)({ + filename: 'src/pie.jsx', + components: _components, + locals: [], + imports: [_react3.default, _index2.default] +}); + +function _wrapComponent(id) { + return function (Component) { + return _CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformHmrLibIndexJs2(_CUsersAshwinJosephDocumentsReactd3ReactD3Basic2Node_modulesReactTransformCatchErrorsLibIndexJs2(Component, id), id); + }; +} + +var PieChart = _wrapComponent('PieChart')((_temp = _class = function (_Component) { + _inherits(PieChart, _Component); + + function PieChart(props) { + _classCallCheck(this, PieChart); + + return _possibleConstructorReturn(this, (PieChart.__proto__ || Object.getPrototypeOf(PieChart)).call(this, props)); + } + + _createClass(PieChart, [{ + key: 'render', + value: function render() { + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + value = _props.value, + name = _props.name, + categoricalColors = _props.categoricalColors, + showLegend = _props.showLegend; + + + return _react3.default.createElement( + 'div', + null, + showLegend ? _react3.default.createElement(_reactD3Core.Legend, _extends({}, this.props, { + width: width, + margins: margins, + chartSeries: chartSeries, + categoricalColors: categoricalColors + })) : null, + _react3.default.createElement( + _reactD3Shape.ChartPie, + _extends({}, this.props, { + width: width, + height: height, + data: data, + chartSeries: chartSeries, + value: value, + name: name + }), + _react3.default.createElement(_reactD3Shape.Pie, _extends({}, this.props, { + chartSeries: chartSeries + })), + this.props.children + ) + ); + } + }]); + + return PieChart; +}(_react2.Component), _class.defaultProps = { + onMouseOver: function onMouseOver() {}, + onMouseOut: function onMouseOut() {}, + showLegend: true +}, _class.propTypes = { + width: _propTypes2.default.number.isRequired, + height: _propTypes2.default.number.isRequired, + data: _propTypes2.default.array.isRequired, + chartSeries: _propTypes2.default.array.isRequired, + value: _propTypes2.default.func.isRequired, + name: _propTypes2.default.func.isRequired +}, _temp)); + +exports.default = PieChart; +module.exports = exports['default']; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) + +/***/ }) /******/ ]); \ No newline at end of file diff --git a/react-d3-basic.min.js b/react-d3-basic.min.js index a2859fe..39e600e 100644 --- a/react-d3-basic.min.js +++ b/react-d3-basic.min.js @@ -1,11 +1,6 @@ -var ReactD3Basic=function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.PieChart=exports.BarStackHorizontalChart=exports.BarStackChart=exports.AreaStackChart=exports.BarGroupHorizontalChart=exports.BarGroupChart=exports.BarHorizontalChart=exports.BarChart=exports.ScatterPlot=exports.AreaChart=exports.LineChart=void 0;var _line=__webpack_require__(1),_line2=_interopRequireDefault(_line),_area=__webpack_require__(63),_area2=_interopRequireDefault(_area),_scatter=__webpack_require__(64),_scatter2=_interopRequireDefault(_scatter),_bar=__webpack_require__(65),_bar2=_interopRequireDefault(_bar),_bar_horizontal=__webpack_require__(66),_bar_horizontal2=_interopRequireDefault(_bar_horizontal),_bar_group=__webpack_require__(67),_bar_group2=_interopRequireDefault(_bar_group),_bar_group_horizontal=__webpack_require__(68),_bar_group_horizontal2=_interopRequireDefault(_bar_group_horizontal),_area_stack=__webpack_require__(69),_area_stack2=_interopRequireDefault(_area_stack),_bar_stack=__webpack_require__(70),_bar_stack2=_interopRequireDefault(_bar_stack),_bar_stack_horizontal=__webpack_require__(71),_bar_stack_horizontal2=_interopRequireDefault(_bar_stack_horizontal),_pie=__webpack_require__(72),_pie2=_interopRequireDefault(_pie);exports.LineChart=_line2["default"],exports.AreaChart=_area2["default"],exports.ScatterPlot=_scatter2["default"],exports.BarChart=_bar2["default"],exports.BarHorizontalChart=_bar_horizontal2["default"],exports.BarGroupChart=_bar_group2["default"],exports.BarGroupHorizontalChart=_bar_group_horizontal2["default"],exports.AreaStackChart=_area_stack2["default"],exports.BarStackChart=_bar_stack2["default"],exports.BarStackHorizontalChart=_bar_stack_horizontal2["default"],exports.PieChart=_pie2["default"]},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i=x?0:x>=b?1:d(x)}}}function reinterpolateClamp(reinterpolate){return function(a,b){var r=reinterpolate(a=+a,b=+b);return function(t){return 0>=t?a:t>=1?b:r(t)}}}function bimap(domain,range,deinterpolate,reinterpolate){var d0=domain[0],d1=domain[1],r0=range[0],r1=range[1];return d0>d1?(d0=deinterpolate(d1,d0),r0=reinterpolate(r1,r0)):(d0=deinterpolate(d0,d1),r0=reinterpolate(r0,r1)),function(x){return r0(d0(x))}}function polymap(domain,range,deinterpolate,reinterpolate){var j=Math.min(domain.length,range.length)-1,d=new Array(j),r=new Array(j),i=-1;for(domain[j]2?polymap:bimap;return output=map(domain,range,clamp?deinterpolateClamp(deinterpolate$$):deinterpolate$$,interpolate),input=map(range,domain,deinterpolate,clamp?reinterpolateClamp(reinterpolate):reinterpolate),scale}function scale(x){return output(+x)}var output,input,domain=unit,range=unit,interpolate=d3Interpolate.interpolate,clamp=!1;return scale.invert=function(y){return input(+y)},scale.domain=function(_){return arguments.length?(domain=map$1.call(_,number),rescale()):domain.slice()},scale.range=function(_){return arguments.length?(range=slice.call(_),rescale()):range.slice()},scale.rangeRound=function(_){return range=slice.call(_),interpolate=d3Interpolate.interpolateRound,rescale()},scale.clamp=function(_){return arguments.length?(clamp=!!_,rescale()):clamp},scale.interpolate=function(_){return arguments.length?(interpolate=_,rescale()):interpolate},rescale()}function tickFormat(domain,count,specifier){var precision,start=domain[0],stop=domain[domain.length-1],step=d3Array.tickStep(start,stop,null==count?10:count);switch(specifier=d3Format.formatSpecifier(null==specifier?",f":specifier),specifier.type){case"s":var value=Math.max(Math.abs(start),Math.abs(stop));return null!=specifier.precision||isNaN(precision=d3Format.precisionPrefix(step,value))||(specifier.precision=precision),d3Format.formatPrefix(specifier,value);case"":case"e":case"g":case"p":case"r":null!=specifier.precision||isNaN(precision=d3Format.precisionRound(step,Math.max(Math.abs(start),Math.abs(stop))))||(specifier.precision=precision-("e"===specifier.type));break;case"f":case"%":null!=specifier.precision||isNaN(precision=d3Format.precisionFixed(step))||(specifier.precision=precision-2*("%"===specifier.type))}return d3Format.format(specifier)}function linearish(scale){var domain=scale.domain;return scale.ticks=function(count){var d=domain();return d3Array.ticks(d[0],d[d.length-1],null==count?10:count)},scale.tickFormat=function(count,specifier){return tickFormat(domain(),count,specifier)},scale.nice=function(count){var d=domain(),i=d.length-1,n=null==count?10:count,start=d[0],stop=d[i],step=d3Array.tickStep(start,stop,n);return step&&(step=d3Array.tickStep(Math.floor(start/step)*step,Math.ceil(stop/step)*step,n),d[0]=Math.floor(start/step)*step,d[i]=Math.ceil(stop/step)*step,domain(d)),scale},scale}function linear(){var scale=continuous(deinterpolate,d3Interpolate.interpolateNumber);return scale.copy=function(){return copy(scale,linear())},linearish(scale)}function identity(){function scale(x){return+x}var domain=[0,1];return scale.invert=scale,scale.domain=scale.range=function(_){return arguments.length?(domain=map$1.call(_,number),scale):domain.slice()},scale.copy=function(){return identity().domain(domain)},linearish(scale)}function nice(domain,interval){domain=domain.slice();var t,i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1];return x0>x1&&(t=i0,i0=i1,i1=t,t=x0,x0=x1,x1=t),domain[i0]=interval.floor(x0),domain[i1]=interval.ceil(x1),domain}function deinterpolate$1(a,b){return(b=Math.log(b/a))?function(x){return Math.log(x/a)/b}:constant(b)}function reinterpolate(a,b){return 0>a?function(t){return-Math.pow(-b,t)*Math.pow(-a,1-t)}:function(t){return Math.pow(b,t)*Math.pow(a,1-t)}}function pow10(x){return isFinite(x)?+("1e"+x):0>x?0:x}function powp(base){return 10===base?pow10:base===Math.E?Math.exp:function(x){return Math.pow(base,x)}}function logp(base){return base===Math.E?Math.log:10===base&&Math.log10||2===base&&Math.log2||(base=Math.log(base),function(x){return Math.log(x)/base})}function reflect(f){return function(x){return-f(-x)}}function log(){function rescale(){return logs=logp(base),pows=powp(base),domain()[0]<0&&(logs=reflect(logs),pows=reflect(pows)),scale}var scale=continuous(deinterpolate$1,reinterpolate).domain([1,10]),domain=scale.domain,base=10,logs=logp(10),pows=powp(10);return scale.base=function(_){return arguments.length?(base=+_,rescale()):base},scale.domain=function(_){return arguments.length?(domain(_),rescale()):domain()},scale.ticks=function(count){var r,d=domain(),u=d[0],v=d[d.length-1];(r=u>v)&&(i=u,u=v,v=i);var p,k,t,i=logs(u),j=logs(v),n=null==count?10:+count,z=[];if(!(base%1)&&n>j-i){if(i=Math.round(i)-1,j=Math.round(j)+1,u>0){for(;j>i;++i)for(k=1,p=pows(i);base>k;++k)if(t=p*k,!(u>t)){if(t>v)break;z.push(t)}}else for(;j>i;++i)for(k=base-1,p=pows(i);k>=1;--k)if(t=p*k,!(u>t)){if(t>v)break;z.push(t)}r&&z.reverse()}else z=d3Array.ticks(i,j,Math.min(j-i,n)).map(pows);return z},scale.tickFormat=function(count,specifier){if(null==specifier&&(specifier=10===base?".0e":","),"function"!=typeof specifier&&(specifier=d3Format.format(specifier)),count===1/0)return specifier;null==count&&(count=10);var k=Math.max(1,base*count/scale.ticks().length);return function(d){var i=d/pows(Math.round(logs(d)));return base-.5>i*base&&(i*=base),k>=i?specifier(d):""}},scale.nice=function(){return domain(nice(domain(),{floor:function(x){return pows(Math.floor(logs(x)))},ceil:function(x){return pows(Math.ceil(logs(x)))}}))},scale.copy=function(){return copy(scale,log().base(base))},scale}function raise(x,exponent){return 0>x?-Math.pow(-x,exponent):Math.pow(x,exponent)}function pow(){function deinterpolate(a,b){return(b=raise(b,exponent)-(a=raise(a,exponent)))?function(x){return(raise(x,exponent)-a)/b}:constant(b)}function reinterpolate(a,b){return b=raise(b,exponent)-(a=raise(a,exponent)),function(t){return raise(a+b*t,1/exponent)}}var exponent=1,scale=continuous(deinterpolate,reinterpolate),domain=scale.domain;return scale.exponent=function(_){return arguments.length?(exponent=+_,domain(domain())):exponent},scale.copy=function(){return copy(scale,pow().exponent(exponent))},linearish(scale)}function sqrt(){return pow().exponent(.5)}function quantile$1(){function rescale(){var i=0,n=Math.max(1,range.length);for(thresholds=new Array(n-1);++ii?[NaN,NaN]:[i>0?thresholds[i-1]:domain[0],ii;++i)d=_[i],null==d||isNaN(d=+d)||domain.push(d);return domain.sort(d3Array.ascending),rescale()},scale.range=function(_){return arguments.length?(range=slice.call(_),rescale()):range.slice()},scale.quantiles=function(){return thresholds.slice()},scale.copy=function(){return quantile$1().domain(domain).range(range)},scale}function quantize(){function scale(x){return x>=x?range[d3Array.bisect(domain,x,0,n)]:void 0}function rescale(){var i=-1;for(domain=new Array(n);++ii?[NaN,NaN]:1>i?[x0,domain[0]]:i>=n?[domain[n-1],x1]:[domain[i-1],domain[i]]},scale.copy=function(){return quantize().domain([x0,x1]).range(range)},linearish(scale)}function threshold(){function scale(x){return x>=x?range[d3Array.bisect(domain,x,0,n)]:void 0}var domain=[.5],range=[0,1],n=1;return scale.domain=function(_){return arguments.length?(domain=slice.call(_),n=Math.min(domain.length,range.length-1),scale):domain.slice()},scale.range=function(_){return arguments.length?(range=slice.call(_),n=Math.min(domain.length,range.length-1),scale):range.slice()},scale.invertExtent=function(y){var i=range.indexOf(y);return[domain[i-1],domain[i]]},scale.copy=function(){return threshold().domain(domain).range(range)},scale}function newDate(t){return new Date(t)}function calendar(year,month,week,day,hour,minute,second,millisecond,format){function tickFormat(date){return(second(date)t1;return r&&(t=t0,t0=t1,t1=t),t=tickInterval(interval,t0,t1,step),t=t?t.range(t0,t1+1):[],r?t.reverse():t},scale.tickFormat=function(specifier){return null==specifier?tickFormat:format(specifier)},scale.nice=function(interval,step){var d=domain();return(interval=tickInterval(interval,d[0],d[d.length-1],step))?domain(nice(d,interval)):scale},scale.copy=function(){return copy(scale,calendar(year,month,week,day,hour,minute,second,millisecond,format))},scale}function time(){return calendar(d3Time.timeYear,d3Time.timeMonth,d3Time.timeWeek,d3Time.timeDay,d3Time.timeHour,d3Time.timeMinute,d3Time.timeSecond,d3Time.timeMillisecond,d3TimeFormat.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function utcTime(){return calendar(d3Time.utcYear,d3Time.utcMonth,d3Time.utcWeek,d3Time.utcDay,d3Time.utcHour,d3Time.utcMinute,d3Time.utcSecond,d3Time.utcMillisecond,d3TimeFormat.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}function colors(s){return s.match(/.{6}/g).map(function(x){return"#"+x})}function category10(){return ordinal().range(colors10)}function category20b(){return ordinal().range(colors20b)}function category20c(){return ordinal().range(colors20c)}function category20(){return ordinal().range(colors20)}function cubehelix$1(){return linear().interpolate(d3Interpolate.interpolateCubehelixLong).range([d3Color.cubehelix(300,.5,0),d3Color.cubehelix(-240,.5,1)])}function sequential(interpolate){function scale(x){var t=(x-x0)/(x1-x0);return interpolate(clamp?Math.max(0,Math.min(1,t)):t)}var x0=0,x1=1,clamp=!1;return scale.domain=function(_){return arguments.length?(x0=+_[0],x1=+_[1],scale):[x0,x1]},scale.clamp=function(_){return arguments.length?(clamp=!!_,scale):clamp},scale.copy=function(){return sequential(interpolate).domain([x0,x1]).clamp(clamp)},linearish(scale)}function warm(){return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100,.75,.35),d3Color.cubehelix(80,1.5,.8)))}function cool(){return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260,.75,.35),d3Color.cubehelix(80,1.5,.8)))}function rainbow(){var rainbow=d3Color.cubehelix();return sequential(function(t){(0>t||t>1)&&(t-=Math.floor(t));var ts=Math.abs(t-.5);return rainbow.h=360*t-100,rainbow.s=1.5-1.5*ts,rainbow.l=.8-.9*ts,rainbow+""})}function ramp(range){var s=sequential(function(t){return range[Math.round(t*range.length-t)]}).clamp(!0);return delete s.clamp,s}function viridis(){return ramp(rangeViridis)}function magma(){return ramp(rangeMagma)}function inferno(){return ramp(rangeInferno)}function plasma(){return ramp(rangePlasma)}var array=Array.prototype,map$1=array.map,slice=array.slice,implicit={name:"implicit"},unit=[0,1],durationSecond=1e3,durationMinute=60*durationSecond,durationHour=60*durationMinute,durationDay=24*durationHour,durationWeek=7*durationDay,durationMonth=30*durationDay,durationYear=365*durationDay,colors10=colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),colors20b=colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),colors20c=colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),colors20=colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),rangeViridis=colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"),rangeMagma=colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"),rangeInferno=colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"),rangePlasma=colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"),version="0.6.4"; -exports.version=version,exports.scaleBand=band,exports.scalePoint=point,exports.scaleIdentity=identity,exports.scaleLinear=linear,exports.scaleLog=log,exports.scaleOrdinal=ordinal,exports.scaleImplicit=implicit,exports.scalePow=pow,exports.scaleSqrt=sqrt,exports.scaleQuantile=quantile$1,exports.scaleQuantize=quantize,exports.scaleThreshold=threshold,exports.scaleTime=time,exports.scaleUtc=utcTime,exports.scaleCategory10=category10,exports.scaleCategory20b=category20b,exports.scaleCategory20c=category20c,exports.scaleCategory20=category20,exports.scaleCubehelix=cubehelix$1,exports.scaleRainbow=rainbow,exports.scaleWarm=warm,exports.scaleCool=cool,exports.scaleViridis=viridis,exports.scaleMagma=magma,exports.scaleInferno=inferno,exports.scalePlasma=plasma})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function ascending(a,b){return b>a?-1:a>b?1:a>=b?0:NaN}function bisector(compare){return 1===compare.length&&(compare=ascendingComparator(compare)),{left:function(a,x,lo,hi){for(null==lo&&(lo=0),null==hi&&(hi=a.length);hi>lo;){var mid=lo+hi>>>1;compare(a[mid],x)<0?lo=mid+1:hi=mid}return lo},right:function(a,x,lo,hi){for(null==lo&&(lo=0),null==hi&&(hi=a.length);hi>lo;){var mid=lo+hi>>>1;compare(a[mid],x)>0?hi=mid:lo=mid+1}return lo}}}function ascendingComparator(f){return function(d,x){return ascending(f(d),x)}}function descending(a,b){return a>b?-1:b>a?1:b>=a?0:NaN}function number$1(x){return null===x?NaN:+x}function variance(array,f){var a,d,n=array.length,m=0,s=0,i=-1,j=0;if(null==f)for(;++i1?s/(j-1):void 0}function deviation(array,f){var v=variance(array,f);return v?Math.sqrt(v):v}function extent(array,f){var a,b,c,i=-1,n=array.length;if(null==f){for(;++i=b){a=c=b;break}for(;++ib&&(a=b),b>c&&(c=b))}else{for(;++i=b){a=c=b;break}for(;++ib&&(a=b),b>c&&(c=b))}return[a,c]}function constant(x){return function(){return x}}function identity(x){return x}function range(start,stop,step){start=+start,stop=+stop,step=(n=arguments.length)<2?(stop=start,start=0,1):3>n?1:+step;for(var i=-1,n=0|Math.max(0,Math.ceil((stop-start)/step)),range=new Array(n);++i=e10?step1*=10:error>=e5?step1*=5:error>=e2&&(step1*=2),start>stop?-step1:step1}function sturges(values){return Math.ceil(Math.log(values.length)/Math.LN2)+1}function number(x){return+x}function histogram(){function histogram(data){var i,x,n=data.length,values=new Array(n);for(i=0;n>i;++i)values[i]=+value(data[i],i,data);var xz=domain(values),x0=+xz[0],x1=+xz[1],tz=threshold(values,x0,x1);Array.isArray(tz)||(tz=ticks(x0,x1,+tz));var m=tz.length;for(i=0;m>i;++i)tz[i]=+tz[i];for(;tz[0]<=x0;)tz.shift(),--m;for(;tz[m-1]>=x1;)tz.pop(),--m;var bin,bins=new Array(m+1);for(i=0;m>=i;++i)bin=bins[i]=[],bin.x0=i>0?tz[i-1]:x0,bin.x1=m>i?tz[i]:x1;for(i=0;n>i;++i)x=values[i],x>=x0&&x1>=x&&bins[bisectRight(tz,x,0,m)].push(data[i]);return bins}var value=identity,domain=extent,threshold=sturges;return histogram.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),histogram):value},histogram.domain=function(_){return arguments.length?(domain="function"==typeof _?_:constant([+_[0],+_[1]]),histogram):domain},histogram.thresholds=function(_){return arguments.length?(threshold="function"==typeof _?_:constant(Array.isArray(_)?Array.prototype.map.call(_,number):+_),histogram):threshold},histogram}function quantile(array,p,f){if(null==f&&(f=number$1),n=array.length){if((p=+p)<=0||2>n)return+f(array[0],0,array);if(p>=1)return+f(array[n-1],n-1,array);var n,h=(n-1)*p,i=Math.floor(h),a=+f(array[i],i,array),b=+f(array[i+1],i+1,array);return a+(b-a)*(h-i)}}function freedmanDiaconis(values,min,max){return values.sort(ascending),Math.ceil((max-min)/(2*(quantile(values,.75)-quantile(values,.25))*Math.pow(values.length,-1/3)))}function scott(values,min,max){return Math.ceil((max-min)/(3.5*deviation(values)*Math.pow(values.length,-1/3)))}function max(array,f){var a,b,i=-1,n=array.length;if(null==f){for(;++i=b){a=b;break}for(;++ia&&(a=b)}else{for(;++i=b){a=b;break}for(;++ia&&(a=b)}return a}function mean(array,f){var a,s=0,n=array.length,i=-1,j=n;if(null==f)for(;++i=0;)for(array=arrays[n],m=array.length;--m>=0;)merged[--j]=array[m];return merged}function min(array,f){var a,b,i=-1,n=array.length;if(null==f){for(;++i=b){a=b;break}for(;++ib&&(a=b)}else{for(;++i=b){a=b;break}for(;++ib&&(a=b)}return a}function pairs(array){for(var i=0,n=array.length-1,p=array[0],pairs=new Array(0>n?0:n);n>i;)pairs[i]=[p,p=array[++i]];return pairs}function permute(array,indexes){for(var i=indexes.length,permutes=new Array(i);i--;)permutes[i]=array[indexes[i]];return permutes}function scan(array,compare){if(n=array.length){var n,xi,i=0,j=0,xj=array[j];for(compare||(compare=ascending);++i=keys.length)return rollup?rollup(array):sortValues?array.sort(sortValues):array;for(var keyValue,value,values,i=-1,n=array.length,key=keys[depth++],valuesByKey=map(),result=createResult();++i=keys.length)return map;var array=[],sortKey=sortKeys[depth++];return map.each(function(value,key){array.push({key:key,values:entries(value,depth)})}),sortKey?array.sort(function(a,b){return sortKey(a.key,b.key)}):array}var sortValues,rollup,nest,keys=[],sortKeys=[];return nest={object:function(array){return apply(array,0,createObject,setObject)},map:function(array){return apply(array,0,createMap,setMap)},entries:function(array){return entries(apply(array,0,createMap,setMap),0)},key:function(d){return keys.push(d),nest},sortKeys:function(order){return sortKeys[keys.length-1]=order,nest},sortValues:function(order){return sortValues=order,nest},rollup:function(f){return rollup=f,nest}}}function createObject(){return{}}function setObject(object,key,value){object[key]=value}function createMap(){return map()}function setMap(map,key,value){map.set(key,value)}function Set(){}function set(object,f){var set=new Set;if(object instanceof Set)object.each(function(value){set.add(value)});else if(object){var i=-1,n=object.length;if(null==f)for(;++i180||-180>d?d-360*Math.round(d/360):d):constant(isNaN(a)?b:a)}function gamma(y){return 1===(y=+y)?nogamma:function(a,b){return b-a?exponential(a,b,y):constant(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear(a,d):constant(isNaN(a)?b:a)}function array(a,b){var i,x=[],c=[],na=a?a.length:0,nb=b?b.length:0,n0=Math.min(na,nb);for(i=0;n0>i;++i)x.push(value(a[i],b[i]));for(;na>i;++i)c[i]=a[i];for(;nb>i;++i)c[i]=b[i];return function(t){for(i=0;n0>i;++i)c[i]=x[i](t);return c}}function number(a,b){return a=+a,b-=a,function(t){return a+b*t}}function object(a,b){var k,i={},c={};null!==a&&"object"==typeof a||(a={}),null!==b&&"object"==typeof b||(b={});for(k in a)k in b?i[k]=value(a[k],b[k]):c[k]=a[k];for(k in b)k in a||(c[k]=b[k]);return function(t){for(k in i)c[k]=i[k](t);return c}}function zero(b){return function(){return b}}function one(b){return function(t){return b(t)+""}}function string(a,b){var am,bm,bs,bi=reA.lastIndex=reB.lastIndex=0,i=-1,s=[],q=[];for(a+="",b+="";(am=reA.exec(a))&&(bm=reB.exec(b));)(bs=bm.index)>bi&&(bs=b.slice(bi,bs),s[i]?s[i]+=bs:s[++i]=bs),(am=am[0])===(bm=bm[0])?s[i]?s[i]+=bm:s[++i]=bm:(s[++i]=null,q.push({i:i,x:number(am,bm)})),bi=reB.lastIndex;return bii;++i)s[(o=q[i]).i]=o.x(t);return s.join("")})}function value(a,b){var c,t=typeof b;return null==b||"boolean"===t?constant(b):("number"===t?number:"string"===t?(c=d3Color.color(b))?(b=c,rgb$1):string:b instanceof d3Color.color?rgb$1:Array.isArray(b)?array:object)(a,b)}function round(a,b){return a=+a,b-=a,function(t){return Math.round(a+b*t)}}function decompose(a,b,c,d,e,f){if(a*d===b*c)return null;var scaleX=Math.sqrt(a*a+b*b);a/=scaleX,b/=scaleX;var skewX=a*c+b*d;c-=a*skewX,d-=b*skewX;var scaleY=Math.sqrt(c*c+d*d);return c/=scaleY,d/=scaleY,skewX/=scaleY,b*c>a*d&&(a=-a,b=-b,skewX=-skewX,scaleX=-scaleX),{translateX:e,translateY:f,rotate:Math.atan2(b,a)*rad2deg,skewX:Math.atan(skewX)*rad2deg,scaleX:scaleX,scaleY:scaleY}}function parseCss(value){if("none"===value)return identity;cssNode||(cssNode=document.createElement("DIV"),cssRoot=document.documentElement,cssView=document.defaultView),cssNode.style.transform=value,value=cssView.getComputedStyle(cssRoot.appendChild(cssNode),null).getPropertyValue("transform"),cssRoot.removeChild(cssNode);var m=value.slice(7,-1).split(",");return decompose(+m[0],+m[1],+m[2],+m[3],+m[4],+m[5])}function parseSvg(value){svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",null==value?"":value);var m=svgNode.transform.baseVal.consolidate().matrix;return decompose(m.a,m.b,m.c,m.d,m.e,m.f)}function interpolateTransform(parse,pxComma,pxParen,degParen){function pop(s){return s.length?s.pop()+" ":""}function translate(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push("translate(",null,pxComma,null,pxParen);q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else(xb||yb)&&s.push("translate("+xb+pxComma+yb+pxParen)}function rotate(a,b,s,q){a!==b?(a-b>180?b+=360:b-a>180&&(a+=360),q.push({i:s.push(pop(s)+"rotate(",null,degParen)-2,x:number(a,b)})):b&&s.push(pop(s)+"rotate("+b+degParen)}function skewX(a,b,s,q){a!==b?q.push({i:s.push(pop(s)+"skewX(",null,degParen)-2,x:number(a,b)}):b&&s.push(pop(s)+"skewX("+b+degParen)}function scale(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push(pop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else 1===xb&&1===yb||s.push(pop(s)+"scale("+xb+","+yb+")")}return function(a,b){var s=[],q=[];return a=parse(a),b=parse(b),translate(a.translateX,a.translateY,b.translateX,b.translateY,s,q),rotate(a.rotate,b.rotate,s,q),skewX(a.skewX,b.skewX,s,q),scale(a.scaleX,a.scaleY,b.scaleX,b.scaleY,s,q),a=b=null,function(t){for(var o,i=-1,n=q.length;++id2)S=Math.log(w1/w0)/rho,i=function(t){return[ux0+t*dx,uy0+t*dy,w0*Math.exp(rho*t*S)]};else{var d1=Math.sqrt(d2),b0=(w1*w1-w0*w0+rho4*d2)/(2*w0*rho2*d1),b1=(w1*w1-w0*w0-rho4*d2)/(2*w1*rho2*d1),r0=Math.log(Math.sqrt(b0*b0+1)-b0),r1=Math.log(Math.sqrt(b1*b1+1)-b1);S=(r1-r0)/rho,i=function(t){var s=t*S,coshr0=cosh(r0),u=w0/(rho2*d1)*(coshr0*tanh(rho*s+r0)-sinh(r0));return[ux0+u*dx,uy0+u*dy,w0*coshr0/cosh(rho*s+r0)]}}return i.duration=1e3*S,i}function interpolateHsl(start,end){var h=interpolateHue((start=d3Color.hsl(start)).h,(end=d3Color.hsl(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateHslLong(start,end){var h=nogamma((start=d3Color.hsl(start)).h,(end=d3Color.hsl(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateLab(start,end){var l=nogamma((start=d3Color.lab(start)).l,(end=d3Color.lab(end)).l),a=nogamma(start.a,end.a),b=nogamma(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.l=l(t),start.a=a(t),start.b=b(t),start.opacity=opacity(t),start+""}}function interpolateHcl(start,end){var h=interpolateHue((start=d3Color.hcl(start)).h,(end=d3Color.hcl(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.c=c(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateHclLong(start,end){var h=nogamma((start=d3Color.hcl(start)).h,(end=d3Color.hcl(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.c=c(t),start.l=l(t),start.opacity=opacity(t),start+""}}var cssNode,cssRoot,cssView,svgNode,rgb$1=function gamma$$(y){function interpolateRgb(start,end){var r=interpolateColor((start=d3Color.rgb(start)).r,(end=d3Color.rgb(end)).r),g=interpolateColor(start.g,end.g),b=interpolateColor(start.b,end.b),opacity=interpolateColor(start.opacity,end.opacity);return function(t){return start.r=r(t),start.g=g(t),start.b=b(t),start.opacity=opacity(t),start+""}}var interpolateColor=gamma(y);return interpolateRgb.gamma=gamma$$,interpolateRgb}(1),reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g"),rad2deg=180/Math.PI,identity={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")"),rho=Math.SQRT2,rho2=2,rho4=4,epsilon2=1e-12,cubehelix$1=function gamma(y){function interpolateCubehelix(start,end){var h=interpolateHue((start=d3Color.cubehelix(start)).h,(end=d3Color.cubehelix(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(Math.pow(t,y)),start.opacity=opacity(t),start+""}}return y=+y,interpolateCubehelix.gamma=gamma,interpolateCubehelix}(1),cubehelixLong=function gamma(y){function interpolateCubehelixLong(start,end){var h=nogamma((start=d3Color.cubehelix(start)).h,(end=d3Color.cubehelix(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(Math.pow(t,y)),start.opacity=opacity(t),start+""}}return y=+y,interpolateCubehelixLong.gamma=gamma,interpolateCubehelixLong}(1),version="0.7.0";exports.version=version,exports.interpolate=value,exports.interpolateArray=array,exports.interpolateNumber=number,exports.interpolateObject=object,exports.interpolateRound=round,exports.interpolateString=string,exports.interpolateTransformCss=interpolateTransformCss,exports.interpolateTransformSvg=interpolateTransformSvg,exports.interpolateZoom=zoom,exports.interpolateRgb=rgb$1,exports.interpolateHsl=interpolateHsl,exports.interpolateHslLong=interpolateHslLong,exports.interpolateLab=interpolateLab,exports.interpolateHcl=interpolateHcl,exports.interpolateHclLong=interpolateHclLong,exports.interpolateCubehelix=cubehelix$1,exports.interpolateCubehelixLong=cubehelixLong})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function define(constructor,factory,prototype){constructor.prototype=factory.prototype=prototype,prototype.constructor=constructor}function extend(parent,definition){var prototype=Object.create(parent.prototype);for(var key in definition)prototype[key]=definition[key];return prototype}function Color(){}function color(format){var m;return format=(format+"").trim().toLowerCase(),(m=reHex3.exec(format))?(m=parseInt(m[1],16),new Rgb(m>>8&15|m>>4&240,m>>4&15|240&m,(15&m)<<4|15&m,1)):(m=reHex6.exec(format))?rgbn(parseInt(m[1],16)):(m=reRgbInteger.exec(format))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format))?new Rgb(255*m[1]/100,255*m[2]/100,255*m[3]/100,1):(m=reRgbaInteger.exec(format))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format))?rgba(255*m[1]/100,255*m[2]/100,255*m[3]/100,m[4]):(m=reHslPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format)?rgbn(named[format]):"transparent"===format?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,255&n,1)}function rgba(r,g,b,a){return 0>=a&&(r=g=b=NaN),new Rgb(r,g,b,a)}function rgbConvert(o){return o instanceof Color||(o=color(o)),o?(o=o.rgb(),new Rgb(o.r,o.g,o.b,o.opacity)):new Rgb}function rgb(r,g,b,opacity){return 1===arguments.length?rgbConvert(r):new Rgb(r,g,b,null==opacity?1:opacity)}function Rgb(r,g,b,opacity){this.r=+r,this.g=+g,this.b=+b,this.opacity=+opacity}function hsla(h,s,l,a){return 0>=a?h=s=l=NaN:0>=l||l>=1?h=s=NaN:0>=s&&(h=NaN),new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(o instanceof Color||(o=color(o)),!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min=Math.min(r,g,b),max=Math.max(r,g,b),h=NaN,s=max-min,l=(max+min)/2;return s?(h=r===max?(g-b)/s+6*(b>g):g===max?(b-r)/s+2:(r-g)/s+4,s/=.5>l?max+min:2-max-min,h*=60):s=l>0&&1>l?0:h,new Hsl(h,s,l,o.opacity)}function hsl(h,s,l,opacity){return 1===arguments.length?hslConvert(h):new Hsl(h,s,l,null==opacity?1:opacity)}function Hsl(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}function hsl2rgb(h,m1,m2){return 255*(60>h?m1+(m2-m1)*h/60:180>h?m2:240>h?m1+(m2-m1)*(240-h)/60:m1)}function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl){var h=o.h*deg2rad;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}o instanceof Rgb||(o=rgbConvert(o));var b=rgb2xyz(o.r),a=rgb2xyz(o.g),l=rgb2xyz(o.b),x=xyz2lab((.4124564*b+.3575761*a+.1804375*l)/Xn),y=xyz2lab((.2126729*b+.7151522*a+.072175*l)/Yn),z=xyz2lab((.0193339*b+.119192*a+.9503041*l)/Zn);return new Lab(116*y-16,500*(x-y),200*(y-z),o.opacity)}function lab(l,a,b,opacity){return 1===arguments.length?labConvert(l):new Lab(l,a,b,null==opacity?1:opacity)}function Lab(l,a,b,opacity){this.l=+l,this.a=+a,this.b=+b,this.opacity=+opacity}function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0}function lab2xyz(t){return t>t1?t*t*t:t2*(t-t0)}function xyz2rgb(x){return 255*(.0031308>=x?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2xyz(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);o instanceof Lab||(o=labConvert(o));var h=Math.atan2(o.b,o.a)*rad2deg;return new Hcl(0>h?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function hcl(h,c,l,opacity){return 1===arguments.length?hclConvert(h):new Hcl(h,c,l,null==opacity?1:opacity)}function Hcl(h,c,l,opacity){this.h=+h,this.c=+c,this.l=+l,this.opacity=+opacity}function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);o instanceof Rgb||(o=rgbConvert(o));var r=o.r/255,g=o.g/255,b=o.b/255,l=(BC_DA*b+ED*r-EB*g)/(BC_DA+ED-EB),bl=b-l,k=(E*(g-l)-C*bl)/D,s=Math.sqrt(k*k+bl*bl)/(E*l*(1-l)),h=s?Math.atan2(k,bl)*rad2deg-120:NaN;return new Cubehelix(0>h?h+360:h,s,l,o.opacity)}function cubehelix(h,s,l,opacity){return 1===arguments.length?cubehelixConvert(h):new Cubehelix(h,s,l,null==opacity?1:opacity)}function Cubehelix(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}var darker=.7,brighter=1/darker,reHex3=/^#([0-9a-f]{3})$/,reHex6=/^#([0-9a-f]{6})$/,reRgbInteger=/^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/,reRgbPercent=/^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,reRgbaInteger=/^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,reRgbaPercent=/^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,reHslPercent=/^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,reHslaPercent=/^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};define(Color,color,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),define(Rgb,rgb,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var a=this.opacity;return a=isNaN(a)?1:Math.max(0,Math.min(1,a)),(1===a?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===a?")":", "+a+")")}})),define(Hsl,hsl,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=this.h%360+360*(this.h<0),s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(.5>l?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(120>h?h+240:h-120,m1,m2),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var deg2rad=Math.PI/180,rad2deg=180/Math.PI,Kn=18,Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;define(Lab,lab,extend(Color,{brighter:function(k){return new Lab(this.l+Kn*(null==k?1:k),this.a,this.b,this.opacity)},darker:function(k){return new Lab(this.l-Kn*(null==k?1:k),this.a,this.b,this.opacity)},rgb:function(){var y=(this.l+16)/116,x=isNaN(this.a)?y:y+this.a/500,z=isNaN(this.b)?y:y-this.b/200;return y=Yn*lab2xyz(y),x=Xn*lab2xyz(x),z=Zn*lab2xyz(z),new Rgb(xyz2rgb(3.2404542*x-1.5371385*y-.4985314*z),xyz2rgb(-.969266*x+1.8760108*y+.041556*z),xyz2rgb(.0556434*x-.2040259*y+1.0572252*z),this.opacity)}})),define(Hcl,hcl,extend(Color,{brighter:function(k){return new Hcl(this.h,this.c,this.l+Kn*(null==k?1:k),this.opacity)},darker:function(k){return new Hcl(this.h,this.c,this.l-Kn*(null==k?1:k),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;define(Cubehelix,cubehelix,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=isNaN(this.h)?0:(this.h+120)*deg2rad,l=+this.l,a=isNaN(this.s)?0:this.s*l*(1-l),cosh=Math.cos(h),sinh=Math.sin(h);return new Rgb(255*(l+a*(A*cosh+B*sinh)),255*(l+a*(C*cosh+D*sinh)),255*(l+a*(E*cosh)),this.opacity)}}));var version="0.4.2";exports.version=version,exports.color=color,exports.rgb=rgb,exports.hsl=hsl,exports.lab=lab,exports.hcl=hcl,exports.cubehelix=cubehelix})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function formatDecimal(x,p){if((i=(x=p?x.toExponential(p-1):x.toExponential()).indexOf("e"))<0)return null;var i,coefficient=x.slice(0,i);return[coefficient.length>1?coefficient[0]+coefficient.slice(2):coefficient,+x.slice(i+1)]}function exponent(x){return x=formatDecimal(Math.abs(x)),x?x[1]:NaN}function formatGroup(grouping,thousands){ -return function(value,width){for(var i=value.length,t=[],j=0,g=grouping[0],length=0;i>0&&g>0&&(length+g+1>width&&(g=Math.max(1,width-length)),t.push(value.substring(i-=g,i+g)),!((length+=g+1)>width));)g=grouping[j=(j+1)%grouping.length];return t.reverse().join(thousands)}}function formatDefault(x,p){x=x.toPrecision(p);out:for(var i1,n=x.length,i=1,i0=-1;n>i;++i)switch(x[i]){case".":i0=i1=i;break;case"0":0===i0&&(i0=i),i1=i;break;case"e":break out;default:i0>0&&(i0=0)}return i0>0?x.slice(0,i0)+x.slice(i1+1):x}function formatPrefixAuto(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1],i=exponent-(prefixExponent=3*Math.max(-8,Math.min(8,Math.floor(exponent/3))))+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+new Array(i-n+1).join("0"):i>0?coefficient.slice(0,i)+"."+coefficient.slice(i):"0."+new Array(1-i).join("0")+formatDecimal(x,Math.max(0,p+i-1))[0]}function formatRounded(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1];return 0>exponent?"0."+new Array(-exponent).join("0")+coefficient:coefficient.length>exponent+1?coefficient.slice(0,exponent+1)+"."+coefficient.slice(exponent+1):coefficient+new Array(exponent-coefficient.length+2).join("0")}function formatSpecifier(specifier){return new FormatSpecifier(specifier)}function FormatSpecifier(specifier){if(!(match=re.exec(specifier)))throw new Error("invalid format: "+specifier);var match,fill=match[1]||" ",align=match[2]||">",sign=match[3]||"-",symbol=match[4]||"",zero=!!match[5],width=match[6]&&+match[6],comma=!!match[7],precision=match[8]&&+match[8].slice(1),type=match[9]||"";"n"===type?(comma=!0,type="g"):formatTypes[type]||(type=""),(zero||"0"===fill&&"="===align)&&(zero=!0,fill="0",align="="),this.fill=fill,this.align=align,this.sign=sign,this.symbol=symbol,this.zero=zero,this.width=width,this.comma=comma,this.precision=precision,this.type=type}function identity(x){return x}function locale(locale){function newFormat(specifier){function format(value){var i,n,c,valuePrefix=prefix,valueSuffix=suffix;if("c"===type)valueSuffix=formatType(value)+valueSuffix,value="";else{value=+value;var valueNegative=(0>value||0>1/value)&&(value*=-1,!0);if(value=formatType(value,precision),valueNegative)for(i=-1,n=value.length,valueNegative=!1;++i48&&58>c||"x"===type&&c>96&&103>c||"X"===type&&c>64&&71>c){valueNegative=!0;break}if(valuePrefix=(valueNegative?"("===sign?sign:"-":"-"===sign||"("===sign?"":sign)+valuePrefix,valueSuffix=valueSuffix+("s"===type?prefixes[8+prefixExponent/3]:"")+(valueNegative&&"("===sign?")":""),maybeSuffix)for(i=-1,n=value.length;++ic||c>57){valueSuffix=(46===c?decimal+value.slice(i+1):value.slice(i))+valueSuffix,value=value.slice(0,i);break}}comma&&!zero&&(value=group(value,1/0));var length=valuePrefix.length+value.length+valueSuffix.length,padding=width>length?new Array(width-length+1).join(fill):"";switch(comma&&zero&&(value=group(padding+value,padding.length?width-valueSuffix.length:1/0),padding=""),align){case"<":return valuePrefix+value+valueSuffix+padding;case"=":return valuePrefix+padding+value+valueSuffix;case"^":return padding.slice(0,length=padding.length>>1)+valuePrefix+value+valueSuffix+padding.slice(length)}return padding+valuePrefix+value+valueSuffix}specifier=formatSpecifier(specifier);var fill=specifier.fill,align=specifier.align,sign=specifier.sign,symbol=specifier.symbol,zero=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,type=specifier.type,prefix="$"===symbol?currency[0]:"#"===symbol&&/[boxX]/.test(type)?"0"+type.toLowerCase():"",suffix="$"===symbol?currency[1]:/[%p]/.test(type)?"%":"",formatType=formatTypes[type],maybeSuffix=!type||/[defgprs%]/.test(type);return precision=null==precision?type?6:12:/[gprs]/.test(type)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision)),format.toString=function(){return specifier+""},format}function formatPrefix(specifier,value){var f=newFormat((specifier=formatSpecifier(specifier),specifier.type="f",specifier)),e=3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3))),k=Math.pow(10,-e),prefix=prefixes[8+e/3];return function(value){return f(k*value)+prefix}}var group=locale.grouping&&locale.thousands?formatGroup(locale.grouping,locale.thousands):identity,currency=locale.currency,decimal=locale.decimal;return{format:newFormat,formatPrefix:formatPrefix}}function precisionFixed(step){return Math.max(0,-exponent(Math.abs(step)))}function precisionPrefix(step,value){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))-exponent(Math.abs(step)))}function precisionRound(step,max){return step=Math.abs(step),max=Math.abs(max)-step,Math.max(0,exponent(max)-exponent(step))+1}var prefixExponent,formatTypes={"":formatDefault,"%":function(x,p){return(100*x).toFixed(p)},b:function(x){return Math.round(x).toString(2)},c:function(x){return x+""},d:function(x){return Math.round(x).toString(10)},e:function(x,p){return x.toExponential(p)},f:function(x,p){return x.toFixed(p)},g:function(x,p){return x.toPrecision(p)},o:function(x){return Math.round(x).toString(8)},p:function(x,p){return formatRounded(100*x,p)},r:formatRounded,s:formatPrefixAuto,X:function(x){return Math.round(x).toString(16).toUpperCase()},x:function(x){return Math.round(x).toString(16)}},re=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],defaultLocale=locale({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),caES=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),csCZ=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," Kč"]}),deCH=locale({decimal:",",thousands:"'",grouping:[3],currency:[""," CHF"]}),deDE=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),enCA=locale({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),enGB=locale({decimal:".",thousands:",",grouping:[3],currency:["£",""]}),esES=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),fiFI=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," €"]}),frCA=locale({decimal:",",thousands:" ",grouping:[3],currency:["","$"]}),frFR=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),heIL=locale({decimal:".",thousands:",",grouping:[3],currency:["₪",""]}),huHU=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," Ft"]}),itIT=locale({decimal:",",thousands:".",grouping:[3],currency:["€",""]}),jaJP=locale({decimal:".",thousands:",",grouping:[3],currency:["","円"]}),koKR=locale({decimal:".",thousands:",",grouping:[3],currency:["₩",""]}),mkMK=locale({decimal:",",thousands:".",grouping:[3],currency:[""," ден."]}),nlNL=locale({decimal:",",thousands:".",grouping:[3],currency:["€ ",""]}),plPL=locale({decimal:",",thousands:".",grouping:[3],currency:["","zł"]}),ptBR=locale({decimal:",",thousands:".",grouping:[3],currency:["R$",""]}),ruRU=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," руб."]}),svSE=locale({decimal:",",thousands:" ",grouping:[3],currency:["","SEK"]}),zhCN=locale({decimal:".",thousands:",",grouping:[3],currency:["¥",""]}),format=defaultLocale.format,formatPrefix=defaultLocale.formatPrefix,version="0.5.1";exports.version=version,exports.format=format,exports.formatPrefix=formatPrefix,exports.formatLocale=locale,exports.formatCaEs=caES,exports.formatCsCz=csCZ,exports.formatDeCh=deCH,exports.formatDeDe=deDE,exports.formatEnCa=enCA,exports.formatEnGb=enGB,exports.formatEnUs=defaultLocale,exports.formatEsEs=esES,exports.formatFiFi=fiFI,exports.formatFrCa=frCA,exports.formatFrFr=frFR,exports.formatHeIl=heIL,exports.formatHuHu=huHU,exports.formatItIt=itIT,exports.formatJaJp=jaJP,exports.formatKoKr=koKR,exports.formatMkMk=mkMK,exports.formatNlNl=nlNL,exports.formatPlPl=plPL,exports.formatPtBr=ptBR,exports.formatRuRu=ruRU,exports.formatSvSe=svSE,exports.formatZhCn=zhCN,exports.formatSpecifier=formatSpecifier,exports.precisionFixed=precisionFixed,exports.precisionPrefix=precisionPrefix,exports.precisionRound=precisionRound})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function newInterval(floori,offseti,count,field){function interval(date){return floori(date=new Date(+date)),date}return interval.floor=interval,interval.ceil=function(date){return floori(date=new Date(date-1)),offseti(date,1),floori(date),date},interval.round=function(date){var d0=interval(date),d1=interval.ceil(date);return d1-date>date-d0?d0:d1},interval.offset=function(date,step){return offseti(date=new Date(+date),null==step?1:Math.floor(step)),date},interval.range=function(start,stop,step){var range=[];if(start=interval.ceil(start),step=null==step?1:Math.floor(step),!(stop>start&&step>0))return range;do range.push(new Date(+start));while(offseti(start,step),floori(start),stop>start);return range},interval.filter=function(test){return newInterval(function(date){for(;floori(date),!test(date);)date.setTime(date-1)},function(date,step){for(;--step>=0;)for(;offseti(date,1),!test(date););})},count&&(interval.count=function(start,end){return t0.setTime(+start),t1.setTime(+end),floori(t0),floori(t1),Math.floor(count(t0,t1))},interval.every=function(step){return step=Math.floor(step),isFinite(step)&&step>0?step>1?interval.filter(field?function(d){return field(d)%step===0}:function(d){return interval.count(0,d)%step===0}):interval:null}),interval}function weekday(i){return newInterval(function(date){date.setHours(0,0,0,0),date.setDate(date.getDate()-(date.getDay()+7-i)%7)},function(date,step){date.setDate(date.getDate()+7*step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*minute)/week})}function utcWeekday(i){return newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCDate(date.getUTCDate()-(date.getUTCDay()+7-i)%7)},function(date,step){date.setUTCDate(date.getUTCDate()+7*step)},function(start,end){return(end-start)/week})}var t0=new Date,t1=new Date,millisecond=newInterval(function(){},function(date,step){date.setTime(+date+step)},function(start,end){return end-start});millisecond.every=function(k){return k=Math.floor(k),isFinite(k)&&k>0?k>1?newInterval(function(date){date.setTime(Math.floor(date/k)*k)},function(date,step){date.setTime(+date+step*k)},function(start,end){return(end-start)/k}):millisecond:null};var second$1=1e3,minute=6e4,hour=36e5,day=864e5,week=6048e5,second=newInterval(function(date){date.setTime(Math.floor(date/second$1)*second$1)},function(date,step){date.setTime(+date+step*second$1)},function(start,end){return(end-start)/second$1},function(date){return date.getUTCSeconds()}),minute$1=newInterval(function(date){date.setTime(Math.floor(date/minute)*minute)},function(date,step){date.setTime(+date+step*minute)},function(start,end){return(end-start)/minute},function(date){return date.getMinutes()}),hour$1=newInterval(function(date){var offset=date.getTimezoneOffset()*minute%hour;0>offset&&(offset+=hour),date.setTime(Math.floor((+date-offset)/hour)*hour+offset)},function(date,step){date.setTime(+date+step*hour)},function(start,end){return(end-start)/hour},function(date){return date.getHours()}),day$1=newInterval(function(date){date.setHours(0,0,0,0)},function(date,step){date.setDate(date.getDate()+step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*minute)/day},function(date){return date.getDate()-1}),sunday=weekday(0),monday=weekday(1),tuesday=weekday(2),wednesday=weekday(3),thursday=weekday(4),friday=weekday(5),saturday=weekday(6),month=newInterval(function(date){date.setHours(0,0,0,0),date.setDate(1)},function(date,step){date.setMonth(date.getMonth()+step)},function(start,end){return end.getMonth()-start.getMonth()+12*(end.getFullYear()-start.getFullYear())},function(date){return date.getMonth()}),year=newInterval(function(date){date.setHours(0,0,0,0),date.setMonth(0,1)},function(date,step){date.setFullYear(date.getFullYear()+step)},function(start,end){return end.getFullYear()-start.getFullYear()},function(date){return date.getFullYear()}),utcMinute=newInterval(function(date){date.setUTCSeconds(0,0)},function(date,step){date.setTime(+date+step*minute)},function(start,end){return(end-start)/minute},function(date){return date.getUTCMinutes()}),utcHour=newInterval(function(date){date.setUTCMinutes(0,0,0)},function(date,step){date.setTime(+date+step*hour)},function(start,end){return(end-start)/hour},function(date){return date.getUTCHours()}),utcDay=newInterval(function(date){date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCDate(date.getUTCDate()+step)},function(start,end){return(end-start)/day},function(date){return date.getUTCDate()-1}),utcSunday=utcWeekday(0),utcMonday=utcWeekday(1),utcTuesday=utcWeekday(2),utcWednesday=utcWeekday(3),utcThursday=utcWeekday(4),utcFriday=utcWeekday(5),utcSaturday=utcWeekday(6),utcMonth=newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCDate(1)},function(date,step){date.setUTCMonth(date.getUTCMonth()+step)},function(start,end){return end.getUTCMonth()-start.getUTCMonth()+12*(end.getUTCFullYear()-start.getUTCFullYear())},function(date){return date.getUTCMonth()}),utcYear=newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCMonth(0,1)},function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step)},function(start,end){return end.getUTCFullYear()-start.getUTCFullYear()},function(date){return date.getUTCFullYear()}),timeMilliseconds=millisecond.range,timeSeconds=second.range,timeMinutes=minute$1.range,timeHours=hour$1.range,timeDays=day$1.range,timeSundays=sunday.range,timeMondays=monday.range,timeTuesdays=tuesday.range,timeWednesdays=wednesday.range,timeThursdays=thursday.range,timeFridays=friday.range,timeSaturdays=saturday.range,timeWeeks=sunday.range,timeMonths=month.range,timeYears=year.range,utcMillisecond=millisecond,utcMilliseconds=timeMilliseconds,utcSecond=second,utcSeconds=timeSeconds,utcMinutes=utcMinute.range,utcHours=utcHour.range,utcDays=utcDay.range,utcSundays=utcSunday.range,utcMondays=utcMonday.range,utcTuesdays=utcTuesday.range,utcWednesdays=utcWednesday.range,utcThursdays=utcThursday.range,utcFridays=utcFriday.range,utcSaturdays=utcSaturday.range,utcWeeks=utcSunday.range,utcMonths=utcMonth.range,utcYears=utcYear.range,version="0.2.5";exports.version=version,exports.timeMilliseconds=timeMilliseconds,exports.timeSeconds=timeSeconds,exports.timeMinutes=timeMinutes,exports.timeHours=timeHours,exports.timeDays=timeDays,exports.timeSundays=timeSundays,exports.timeMondays=timeMondays,exports.timeTuesdays=timeTuesdays,exports.timeWednesdays=timeWednesdays,exports.timeThursdays=timeThursdays,exports.timeFridays=timeFridays,exports.timeSaturdays=timeSaturdays,exports.timeWeeks=timeWeeks,exports.timeMonths=timeMonths,exports.timeYears=timeYears,exports.utcMillisecond=utcMillisecond,exports.utcMilliseconds=utcMilliseconds,exports.utcSecond=utcSecond,exports.utcSeconds=utcSeconds,exports.utcMinutes=utcMinutes,exports.utcHours=utcHours,exports.utcDays=utcDays,exports.utcSundays=utcSundays,exports.utcMondays=utcMondays,exports.utcTuesdays=utcTuesdays,exports.utcWednesdays=utcWednesdays,exports.utcThursdays=utcThursdays,exports.utcFridays=utcFridays,exports.utcSaturdays=utcSaturdays,exports.utcWeeks=utcWeeks,exports.utcMonths=utcMonths,exports.utcYears=utcYears,exports.timeMillisecond=millisecond,exports.timeSecond=second,exports.timeMinute=minute$1,exports.timeHour=hour$1,exports.timeDay=day$1,exports.timeSunday=sunday,exports.timeMonday=monday,exports.timeTuesday=tuesday,exports.timeWednesday=wednesday,exports.timeThursday=thursday,exports.timeFriday=friday,exports.timeSaturday=saturday,exports.timeWeek=sunday,exports.timeMonth=month,exports.timeYear=year,exports.utcMinute=utcMinute,exports.utcHour=utcHour,exports.utcDay=utcDay,exports.utcSunday=utcSunday,exports.utcMonday=utcMonday,exports.utcTuesday=utcTuesday,exports.utcWednesday=utcWednesday,exports.utcThursday=utcThursday,exports.utcFriday=utcFriday,exports.utcSaturday=utcSaturday,exports.utcWeek=utcSunday,exports.utcMonth=utcMonth,exports.utcYear=utcYear,exports.timeInterval=newInterval})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(13))}(this,function(exports,d3Time){"use strict";function localDate(d){if(0<=d.y&&d.y<100){var date=new Date(-1,d.m,d.d,d.H,d.M,d.S,d.L);return date.setFullYear(d.y),date}return new Date(d.y,d.m,d.d,d.H,d.M,d.S,d.L)}function utcDate(d){if(0<=d.y&&d.y<100){var date=new Date(Date.UTC(-1,d.m,d.d,d.H,d.M,d.S,d.L));return date.setUTCFullYear(d.y),date}return new Date(Date.UTC(d.y,d.m,d.d,d.H,d.M,d.S,d.L))}function newYear(y){return{y:y,m:0,d:1,H:0,M:0,S:0,L:0}}function locale$1(locale){function newFormat(specifier,formats){return function(date){var c,pad,format,string=[],i=-1,j=0,n=specifier.length;for(date instanceof Date||(date=new Date(+date));++ii;){if(j>=m)return-1;if(c=specifier.charCodeAt(i++),37===c){if(c=specifier.charAt(i++),parse=parses[c in pads?specifier.charAt(i++):c],!parse||(j=parse(d,string,j))<0)return-1}else if(c!=string.charCodeAt(j++))return-1}return j}function parsePeriod(d,string,i){var n=periodRe.exec(string.slice(i));return n?(d.p=periodLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortWeekday(d,string,i){var n=shortWeekdayRe.exec(string.slice(i));return n?(d.w=shortWeekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseWeekday(d,string,i){var n=weekdayRe.exec(string.slice(i));return n?(d.w=weekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortMonth(d,string,i){var n=shortMonthRe.exec(string.slice(i));return n?(d.m=shortMonthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseMonth(d,string,i){var n=monthRe.exec(string.slice(i));return n?(d.m=monthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseLocaleDateTime(d,string,i){return parseSpecifier(d,locale_dateTime,string,i)}function parseLocaleDate(d,string,i){return parseSpecifier(d,locale_date,string,i)}function parseLocaleTime(d,string,i){return parseSpecifier(d,locale_time,string,i)}function formatShortWeekday(d){return locale_shortWeekdays[d.getDay()]}function formatWeekday(d){return locale_weekdays[d.getDay()]}function formatShortMonth(d){return locale_shortMonths[d.getMonth()]}function formatMonth(d){return locale_months[d.getMonth()]}function formatPeriod(d){return locale_periods[+(d.getHours()>=12)]}function formatUTCShortWeekday(d){return locale_shortWeekdays[d.getUTCDay()]}function formatUTCWeekday(d){return locale_weekdays[d.getUTCDay()]}function formatUTCShortMonth(d){return locale_shortMonths[d.getUTCMonth()]}function formatUTCMonth(d){return locale_months[d.getUTCMonth()]}function formatUTCPeriod(d){return locale_periods[+(d.getUTCHours()>=12)]}var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_weekdays=locale.days,locale_shortWeekdays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths,periodRe=formatRe(locale_periods),periodLookup=formatLookup(locale_periods),weekdayRe=formatRe(locale_weekdays),weekdayLookup=formatLookup(locale_weekdays),shortWeekdayRe=formatRe(locale_shortWeekdays),shortWeekdayLookup=formatLookup(locale_shortWeekdays),monthRe=formatRe(locale_months),monthLookup=formatLookup(locale_months),shortMonthRe=formatRe(locale_shortMonths),shortMonthLookup=formatLookup(locale_shortMonths),formats={a:formatShortWeekday,A:formatWeekday,b:formatShortMonth,B:formatMonth,c:null,d:formatDayOfMonth,e:formatDayOfMonth,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:formatPeriod,S:formatSeconds,U:formatWeekNumberSunday,w:formatWeekdayNumber,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent},utcFormats={a:formatUTCShortWeekday,A:formatUTCWeekday,b:formatUTCShortMonth,B:formatUTCMonth,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:formatUTCPeriod,S:formatUTCSeconds,U:formatUTCWeekNumberSunday,w:formatUTCWeekdayNumber,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent},parses={a:parseShortWeekday,A:parseWeekday,b:parseShortMonth,B:parseMonth,c:parseLocaleDateTime,d:parseDayOfMonth,e:parseDayOfMonth,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:parsePeriod,S:parseSeconds,U:parseWeekNumberSunday,w:parseWeekdayNumber,W:parseWeekNumberMonday,x:parseLocaleDate,X:parseLocaleTime,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};return formats.x=newFormat(locale_date,formats),formats.X=newFormat(locale_time,formats),formats.c=newFormat(locale_dateTime,formats),utcFormats.x=newFormat(locale_date,utcFormats),utcFormats.X=newFormat(locale_time,utcFormats),utcFormats.c=newFormat(locale_dateTime,utcFormats),{format:function(specifier){var f=newFormat(specifier+="",formats);return f.toString=function(){return specifier},f},parse:function(specifier){var p=newParse(specifier+="",localDate);return p.toString=function(){return specifier},p},utcFormat:function(specifier){var f=newFormat(specifier+="",utcFormats);return f.toString=function(){return specifier},f},utcParse:function(specifier){var p=newParse(specifier,utcDate);return p.toString=function(){return specifier},p}}}function pad(value,fill,width){var sign=0>value?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(width>length?new Array(width-length+1).join(fill)+string:string)}function requote(s){return s.replace(requoteRe,"\\$&")}function formatRe(names){return new RegExp("^(?:"+names.map(requote).join("|")+")","i")}function formatLookup(names){for(var map={},i=-1,n=names.length;++i68?1900:2e3),i+n[0].length):-1}function parseZone(d,string,i){var n=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i,i+6));return n?(d.Z=n[1]?0:-(n[2]+(n[3]||"00")),i+n[0].length):-1}function parseMonthNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.m=n[0]-1,i+n[0].length):-1}function parseDayOfMonth(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.d=+n[0],i+n[0].length):-1}function parseDayOfYear(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.m=0,d.d=+n[0],i+n[0].length):-1}function parseHour24(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.H=+n[0],i+n[0].length):-1}function parseMinutes(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.M=+n[0],i+n[0].length):-1}function parseSeconds(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.S=+n[0],i+n[0].length):-1}function parseMilliseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.L=+n[0],i+n[0].length):-1}function parseLiteralPercent(d,string,i){var n=percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function formatDayOfMonth(d,p){return pad(d.getDate(),p,2)}function formatHour24(d,p){return pad(d.getHours(),p,2)}function formatHour12(d,p){return pad(d.getHours()%12||12,p,2)}function formatDayOfYear(d,p){return pad(1+d3Time.timeDay.count(d3Time.timeYear(d),d),p,3)}function formatMilliseconds(d,p){return pad(d.getMilliseconds(),p,3)}function formatMonthNumber(d,p){return pad(d.getMonth()+1,p,2)}function formatMinutes(d,p){return pad(d.getMinutes(),p,2)}function formatSeconds(d,p){return pad(d.getSeconds(),p,2)}function formatWeekNumberSunday(d,p){return pad(d3Time.timeSunday.count(d3Time.timeYear(d),d),p,2)}function formatWeekdayNumber(d){return d.getDay()}function formatWeekNumberMonday(d,p){return pad(d3Time.timeMonday.count(d3Time.timeYear(d),d),p,2)}function formatYear(d,p){return pad(d.getFullYear()%100,p,2)}function formatFullYear(d,p){return pad(d.getFullYear()%1e4,p,4)}function formatZone(d){var z=d.getTimezoneOffset();return(z>0?"-":(z*=-1,"+"))+pad(z/60|0,"0",2)+pad(z%60,"0",2)}function formatUTCDayOfMonth(d,p){return pad(d.getUTCDate(),p,2)}function formatUTCHour24(d,p){return pad(d.getUTCHours(),p,2)}function formatUTCHour12(d,p){return pad(d.getUTCHours()%12||12,p,2)}function formatUTCDayOfYear(d,p){return pad(1+d3Time.utcDay.count(d3Time.utcYear(d),d),p,3)}function formatUTCMilliseconds(d,p){return pad(d.getUTCMilliseconds(),p,3)}function formatUTCMonthNumber(d,p){return pad(d.getUTCMonth()+1,p,2)}function formatUTCMinutes(d,p){return pad(d.getUTCMinutes(),p,2)}function formatUTCSeconds(d,p){return pad(d.getUTCSeconds(),p,2)}function formatUTCWeekNumberSunday(d,p){return pad(d3Time.utcSunday.count(d3Time.utcYear(d),d),p,2)}function formatUTCWeekdayNumber(d){return d.getUTCDay()}function formatUTCWeekNumberMonday(d,p){return pad(d3Time.utcMonday.count(d3Time.utcYear(d),d),p,2)}function formatUTCYear(d,p){return pad(d.getUTCFullYear()%100,p,2)}function formatUTCFullYear(d,p){return pad(d.getUTCFullYear()%1e4,p,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatIsoNative(date){return date.toISOString()}function parseIsoNative(string){var date=new Date(string);return isNaN(date)?null:date}var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,locale=locale$1({dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),caES=locale$1({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],shortDays:["dg.","dl.","dt.","dc.","dj.","dv.","ds."],months:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],shortMonths:["gen.","febr.","març","abr.","maig","juny","jul.","ag.","set.","oct.","nov.","des."]}),deCH=locale$1({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),deDE=locale$1({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),enCA=locale$1({dateTime:"%a %b %e %X %Y",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),enGB=locale$1({dateTime:"%a %e %b %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),esES=locale$1({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],shortDays:["dom","lun","mar","mié","jue","vie","sáb"],months:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],shortMonths:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"]}),fiFI=locale$1({dateTime:"%A, %-d. %Bta %Y klo %X",date:"%-d.%-m.%Y",time:"%H:%M:%S",periods:["a.m.","p.m."],days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],shortDays:["Su","Ma","Ti","Ke","To","Pe","La"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],shortMonths:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"]}),frCA=locale$1({dateTime:"%a %e %b %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["",""],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim","lun","mar","mer","jeu","ven","sam"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["jan","fév","mar","avr","mai","jui","jul","aoû","sep","oct","nov","déc"]}),frFR=locale$1({dateTime:"%A, le %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."]}),heIL=locale$1({dateTime:"%A, %e ב%B %Y %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],shortDays:["א׳","ב׳","ג׳","ד׳","ה׳","ו׳","ש׳"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],shortMonths:["ינו׳","פבר׳","מרץ","אפר׳","מאי","יוני","יולי","אוג׳","ספט׳","אוק׳","נוב׳","דצמ׳"]}),huHU=locale$1({dateTime:"%Y. %B %-e., %A %X",date:"%Y. %m. %d.",time:"%H:%M:%S",periods:["de.","du."], -days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],shortDays:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],shortMonths:["jan.","feb.","már.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."]}),itIT=locale$1({dateTime:"%A %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],shortDays:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],shortMonths:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"]}),jaJP=locale$1({dateTime:"%Y %b %e %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["AM","PM"],days:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],shortDays:["日","月","火","水","木","金","土"],months:["睦月","如月","弥生","卯月","皐月","水無月","文月","葉月","長月","神無月","霜月","師走"],shortMonths:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}),koKR=locale$1({dateTime:"%Y/%m/%d %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["오전","오후"],days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],shortDays:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],shortMonths:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]}),mkMK=locale$1({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["недела","понеделник","вторник","среда","четврток","петок","сабота"],shortDays:["нед","пон","вто","сре","чет","пет","саб"],months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],shortMonths:["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек"]}),nlNL=locale$1({dateTime:"%a %e %B %Y %T",date:"%d-%m-%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],shortDays:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],shortMonths:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]}),plPL=locale$1({dateTime:"%A, %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],shortDays:["Niedz.","Pon.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],shortMonths:["Stycz.","Luty","Marz.","Kwie.","Maj","Czerw.","Lipc.","Sierp.","Wrz.","Paźdz.","Listop.","Grudz."]}),ptBR=locale$1({dateTime:"%A, %e de %B de %Y. %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],shortDays:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"]}),ruRU=locale$1({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],shortDays:["вс","пн","вт","ср","чт","пт","сб"],months:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],shortMonths:["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек"]}),svSE=locale$1({dateTime:"%A den %d %B %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["fm","em"],days:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],shortDays:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]}),zhCN=locale$1({dateTime:"%a %b %e %X %Y",date:"%Y/%-m/%-d",time:"%H:%M:%S",periods:["上午","下午"],days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],shortDays:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],shortMonths:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]}),isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ",formatIso=Date.prototype.toISOString?formatIsoNative:locale.utcFormat(isoSpecifier),parseIso=+new Date("2000-01-01T00:00:00.000Z")?parseIsoNative:locale.utcParse(isoSpecifier),timeFormat=locale.format,timeParse=locale.parse,utcFormat=locale.utcFormat,utcParse=locale.utcParse,version="0.3.1";exports.version=version,exports.timeFormat=timeFormat,exports.timeParse=timeParse,exports.utcFormat=utcFormat,exports.utcParse=utcParse,exports.timeFormatLocale=locale$1,exports.timeFormatCaEs=caES,exports.timeFormatDeCh=deCH,exports.timeFormatDeDe=deDE,exports.timeFormatEnCa=enCA,exports.timeFormatEnGb=enGB,exports.timeFormatEnUs=locale,exports.timeFormatEsEs=esES,exports.timeFormatFiFi=fiFI,exports.timeFormatFrCa=frCA,exports.timeFormatFrFr=frFR,exports.timeFormatHeIl=heIL,exports.timeFormatHuHu=huHU,exports.timeFormatItIt=itIT,exports.timeFormatJaJp=jaJP,exports.timeFormatKoKr=koKR,exports.timeFormatMkMk=mkMK,exports.timeFormatNlNl=nlNL,exports.timeFormatPlPl=plPL,exports.timeFormatPtBr=ptBR,exports.timeFormatRuRu=ruRU,exports.timeFormatSvSe=svSE,exports.timeFormatZhCn=zhCN,exports.isoFormat=formatIso,exports.isoParse=parseIso})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i=0&&"xmlns"!==(prefix=name.slice(0,i))&&(name=name.slice(i+1)),namespaces.hasOwnProperty(prefix)?{space:namespaces[prefix],local:name}:name}function creatorInherit(name){return function(){var document=this.ownerDocument,uri=this.namespaceURI;return uri===xhtml&&document.documentElement.namespaceURI===xhtml?document.createElement(name):document.createElementNS(uri,name)}}function creatorFixed(fullname){return function(){return this.ownerDocument.createElementNS(fullname.space,fullname.local)}}function creator(name){var fullname=namespace(name);return(fullname.local?creatorFixed:creatorInherit)(fullname)}function filterContextListener(listener,index,group){return listener=contextListener(listener,index,group),function(event){var related=event.relatedTarget;related&&(related===this||8&related.compareDocumentPosition(this))||listener.call(this,event)}}function contextListener(listener,index,group){return function(event1){var event0=exports.event;exports.event=event1;try{listener.call(this,this.__data__,index,group)}finally{exports.event=event0}}}function parseTypenames(typenames){return typenames.trim().split(/^|\s+/).map(function(t){var name="",i=t.indexOf(".");return i>=0&&(name=t.slice(i+1),t=t.slice(0,i)),{type:t,name:name}})}function onRemove(typename){return function(){var on=this.__on;if(on){for(var o,j=0,i=-1,m=on.length;m>j;++j)o=on[j],typename.type&&o.type!==typename.type||o.name!==typename.name?on[++i]=o:this.removeEventListener(o.type,o.listener,o.capture);++i?on.length=i:delete this.__on}}}function onAdd(typename,value,capture){var wrap=filterEvents.hasOwnProperty(typename.type)?filterContextListener:contextListener;return function(d,i,group){var o,on=this.__on,listener=wrap(value,i,group);if(on)for(var j=0,m=on.length;m>j;++j)if((o=on[j]).type===typename.type&&o.name===typename.name)return this.removeEventListener(o.type,o.listener,o.capture),this.addEventListener(o.type,o.listener=listener,o.capture=capture),void(o.value=value);this.addEventListener(typename.type,listener,capture),o={type:typename.type,name:typename.name,value:value,listener:listener,capture:capture},on?on.push(o):this.__on=[o]}}function selection_on(typename,value,capture){var i,t,typenames=parseTypenames(typename+""),n=typenames.length;{if(!(arguments.length<2)){for(on=value?onAdd:onRemove,null==capture&&(capture=!1),i=0;n>i;++i)this.each(on(typenames[i],value,capture));return this}var on=this.node().__on;if(on)for(var o,j=0,m=on.length;m>j;++j)for(i=0,o=on[j];n>i;++i)if((t=typenames[i]).type===o.type&&t.name===o.name)return o.value}}function sourceEvent(){for(var source,current=exports.event;source=current.sourceEvent;)current=source;return current}function defaultView(node){return node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView}function selector(selector){return function(){return this.querySelector(selector)}}function selection_select(select){"function"!=typeof select&&(select=selector(select));for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;m>j;++j)for(var node,subnode,group=groups[j],n=group.length,subgroup=subgroups[j]=new Array(n),i=0;n>i;++i)(node=group[i])&&(subnode=select.call(node,node.__data__,i,group))&&("__data__"in node&&(subnode.__data__=node.__data__),subgroup[i]=subnode);return new Selection(subgroups,this._parents)}function selectorAll(selector){return function(){return this.querySelectorAll(selector)}}function selection_selectAll(select){"function"!=typeof select&&(select=selectorAll(select));for(var groups=this._groups,m=groups.length,subgroups=[],parents=[],j=0;m>j;++j)for(var node,group=groups[j],n=group.length,i=0;n>i;++i)(node=group[i])&&(subgroups.push(select.call(node,node.__data__,i,group)),parents.push(node));return new Selection(subgroups,parents)}function selection_filter(match){"function"!=typeof match&&(match=matcher$1(match));for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;m>j;++j)for(var node,group=groups[j],n=group.length,subgroup=subgroups[j]=new Array(n),i=0;n>i;++i)(node=group[i])&&match.call(node,node.__data__,i,group)&&(subgroup[i]=node);return new Selection(subgroups,this._parents)}function constant(x){return function(){return x}}function bindIndex(parent,group,enter,update,exit,data){for(var node,i=0,groupLength=group.length,dataLength=data.length;dataLength>i;++i)(node=group[i])?(node.__data__=data[i],update[i]=node):enter[i]=new EnterNode(parent,data[i]);for(;groupLength>i;++i)(node=group[i])&&(exit[i]=node)}function bindKey(parent,group,enter,update,exit,data,key){var i,node,keyValue,nodeByKeyValue={},groupLength=group.length,dataLength=data.length,keyValues=new Array(groupLength);for(i=0;groupLength>i;++i)(node=group[i])&&(keyValues[i]=keyValue=keyPrefix+key.call(node,node.__data__,i,group),nodeByKeyValue[keyValue]||(nodeByKeyValue[keyValue]=node));for(i=0;dataLength>i;++i)keyValue=keyPrefix+key.call(parent,data[i],i,data),(node=nodeByKeyValue[keyValue])?node!==!0&&(update[i]=node,node.__data__=data[i]):enter[i]=new EnterNode(parent,data[i]),nodeByKeyValue[keyValue]=!0;for(i=0;groupLength>i;++i)(node=group[i])&&nodeByKeyValue[keyValues[i]]!==!0&&(exit[i]=node)}function selection_data(value,key){if(!value)return data=new Array(this.size()),j=-1,this.each(function(d){data[++j]=d}),data;var bind=key?bindKey:bindIndex,parents=this._parents,groups=this._groups;"function"!=typeof value&&(value=constant(value));for(var m=groups.length,update=new Array(m),enter=new Array(m),exit=new Array(m),j=0;m>j;++j){var parent=parents[j],group=groups[j],groupLength=group.length,data=value.call(parent,parent&&parent.__data__,j,parents),dataLength=data.length,enterGroup=enter[j]=new Array(dataLength),updateGroup=update[j]=new Array(dataLength),exitGroup=exit[j]=new Array(groupLength);bind(parent,group,enterGroup,updateGroup,exitGroup,data,key);for(var previous,next,i0=0,i1=0;dataLength>i0;++i0)if(previous=enterGroup[i0]){for(i0>=i1&&(i1=i0+1);!(next=updateGroup[i1])&&++i1j;++j)for(var node,group0=groups0[j],group1=groups1[j],n=group0.length,merge=merges[j]=new Array(n),i=0;n>i;++i)(node=group0[i]||group1[i])&&(merge[i]=node);for(;m0>j;++j)merges[j]=groups0[j];return new Selection(merges,this._parents)}function selection_order(){for(var groups=this._groups,j=-1,m=groups.length;++j=0;)(node=group[i])&&(next&&next!==node.nextSibling&&next.parentNode.insertBefore(node,next),next=node);return this}function selection_sort(compare){function compareNode(a,b){return a&&b?compare(a.__data__,b.__data__):!a-!b}compare||(compare=ascending);for(var groups=this._groups,m=groups.length,sortgroups=new Array(m),j=0;m>j;++j){for(var node,group=groups[j],n=group.length,sortgroup=sortgroups[j]=new Array(n),i=0;n>i;++i)(node=group[i])&&(sortgroup[i]=node);sortgroup.sort(compareNode)}return new Selection(sortgroups,this._parents).order()}function ascending(a,b){return b>a?-1:a>b?1:a>=b?0:NaN}function selection_call(){var callback=arguments[0];return arguments[0]=this,callback.apply(null,arguments),this}function selection_nodes(){var nodes=new Array(this.size()),i=-1;return this.each(function(){nodes[++i]=this}),nodes}function selection_node(){for(var groups=this._groups,j=0,m=groups.length;m>j;++j)for(var group=groups[j],i=0,n=group.length;n>i;++i){var node=group[i];if(node)return node}return null}function selection_size(){var size=0;return this.each(function(){++size}),size}function selection_empty(){return!this.node()}function selection_each(callback){for(var groups=this._groups,j=0,m=groups.length;m>j;++j)for(var node,group=groups[j],i=0,n=group.length;n>i;++i)(node=group[i])&&callback.call(node,node.__data__,i,group);return this}function attrRemove(name){return function(){this.removeAttribute(name)}}function attrRemoveNS(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant(name,value){return function(){this.setAttribute(name,value)}}function attrConstantNS(fullname,value){return function(){this.setAttributeNS(fullname.space,fullname.local,value)}}function attrFunction(name,value){return function(){var v=value.apply(this,arguments);null==v?this.removeAttribute(name):this.setAttribute(name,v)}}function attrFunctionNS(fullname,value){return function(){var v=value.apply(this,arguments);null==v?this.removeAttributeNS(fullname.space,fullname.local):this.setAttributeNS(fullname.space,fullname.local,v)}}function selection_attr(name,value){var fullname=namespace(name);if(arguments.length<2){var node=this.node();return fullname.local?node.getAttributeNS(fullname.space,fullname.local):node.getAttribute(fullname)}return this.each((null==value?fullname.local?attrRemoveNS:attrRemove:"function"==typeof value?fullname.local?attrFunctionNS:attrFunction:fullname.local?attrConstantNS:attrConstant)(fullname,value))}function styleRemove(name){return function(){this.style.removeProperty(name)}}function styleConstant(name,value,priority){return function(){this.style.setProperty(name,value,priority)}}function styleFunction(name,value,priority){return function(){var v=value.apply(this,arguments);null==v?this.style.removeProperty(name):this.style.setProperty(name,v,priority)}}function selection_style(name,value,priority){var node;return arguments.length>1?this.each((null==value?styleRemove:"function"==typeof value?styleFunction:styleConstant)(name,value,null==priority?"":priority)):defaultView(node=this.node()).getComputedStyle(node,null).getPropertyValue(name)}function propertyRemove(name){return function(){delete this[name]}}function propertyConstant(name,value){return function(){this[name]=value}}function propertyFunction(name,value){return function(){var v=value.apply(this,arguments);null==v?delete this[name]:this[name]=v}}function selection_property(name,value){return arguments.length>1?this.each((null==value?propertyRemove:"function"==typeof value?propertyFunction:propertyConstant)(name,value)):this.node()[name]}function classArray(string){return string.trim().split(/^|\s+/)}function classList(node){return node.classList||new ClassList(node)}function ClassList(node){this._node=node,this._names=classArray(node.getAttribute("class")||"")}function classedAdd(node,names){for(var list=classList(node),i=-1,n=names.length;++ibug44083){var window=defaultView(node);if(window.scrollX||window.scrollY){svg=select(window.document.body).append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var ctm=svg.node().getScreenCTM();bug44083=!(ctm.f||ctm.e),svg.remove()}}return bug44083?(point.x=event.pageX,point.y=event.pageY):(point.x=event.clientX,point.y=event.clientY),point=point.matrixTransform(node.getScreenCTM().inverse()),[point.x,point.y]}var rect=node.getBoundingClientRect();return[event.clientX-rect.left-node.clientLeft,event.clientY-rect.top-node.clientTop]}function mouse(node,event){return null==event&&(event=sourceEvent()),event.changedTouches&&(event=event.changedTouches[0]),point(node,event)}function selectAll(selector){return"string"==typeof selector?new Selection([document.querySelectorAll(selector)],[document.documentElement]):new Selection([selector],root)}function touch(node,touches,identifier){arguments.length<3&&(identifier=touches,touches=sourceEvent().changedTouches);for(var touch,i=0,n=touches?touches.length:0;n>i;++i)if((touch=touches[i]).identifier===identifier)return point(node,touch);return null}function touches(node,touches){null==touches&&(touches=sourceEvent().touches);for(var i=0,n=touches?touches.length:0,points=new Array(n);n>i;++i)points[i]=point(node,touches[i]);return points; -}var xhtml="http://www.w3.org/1999/xhtml",namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},matcher=function(selector){return function(){return this.matches(selector)}};if("undefined"!=typeof document){var element=document.documentElement;if(!element.matches){var vendorMatches=element.webkitMatchesSelector||element.msMatchesSelector||element.mozMatchesSelector||element.oMatchesSelector;matcher=function(selector){return function(){return vendorMatches.call(this,selector)}}}}var matcher$1=matcher,filterEvents={};if(exports.event=null,"undefined"!=typeof document){var element$1=document.documentElement;"onmouseenter"in element$1||(filterEvents={mouseenter:"mouseover",mouseleave:"mouseout"})}var keyPrefix="$";EnterNode.prototype={constructor:EnterNode,appendChild:function(child){return this._parent.insertBefore(child,this._next)},insertBefore:function(child,next){return this._parent.insertBefore(child,next)},querySelector:function(selector){return this._parent.querySelector(selector)},querySelectorAll:function(selector){return this._parent.querySelectorAll(selector)}},ClassList.prototype={add:function(name){var i=this._names.indexOf(name);0>i&&(this._names.push(name),this._node.setAttribute("class",this._names.join(" ")))},remove:function(name){var i=this._names.indexOf(name);i>=0&&(this._names.splice(i,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(name){return this._names.indexOf(name)>=0}};var root=[null];Selection.prototype=selection.prototype={constructor:Selection,select:selection_select,selectAll:selection_selectAll,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,merge:selection_merge,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,remove:selection_remove,datum:selection_datum,on:selection_on,dispatch:selection_dispatch};var bug44083="undefined"!=typeof navigator&&/WebKit/.test(navigator.userAgent)?-1:0,version="0.7.0";exports.version=version,exports.creator=creator,exports.matcher=matcher$1,exports.mouse=mouse,exports.namespace=namespace,exports.namespaces=namespaces,exports.select=select,exports.selectAll=selectAll,exports.selection=selection,exports.selector=selector,exports.selectorAll=selectorAll,exports.touch=touch,exports.touches=touches,exports.window=defaultView})},function(module,exports,__webpack_require__){var Element=__webpack_require__(20),Window=__webpack_require__(32),ReactFauxDOM={Element:Element,defaultView:Window,createElement:function(nodeName){return new Element(nodeName)},createElementNS:function(namespace,nodeName){return this.createElement(nodeName)},compareDocumentPosition:function(){return 8}};Element.prototype.ownerDocument=ReactFauxDOM,module.exports=ReactFauxDOM},function(module,exports,__webpack_require__){function Element(nodeName,parentNode){this.nodeName=nodeName,this.parentNode=parentNode,this.childNodes=[],this.eventListeners={},this.text="";var props=this.props={style:{setProperty:function(name,value){props.style[styleCamelCase(name)]=value},getProperty:function(name){return props.style[styleCamelCase(name)]},removeProperty:function(name){delete props.style[styleCamelCase(name)]}}};this.style=props.style}var React=__webpack_require__(2),styleAttr=__webpack_require__(21),querySelectorAll=__webpack_require__(22),camelCase=__webpack_require__(26),isString=__webpack_require__(27),isUndefined=__webpack_require__(28),assign=__webpack_require__(29),mapValues=__webpack_require__(30),styleCamelCase=__webpack_require__(31);Element.prototype.nodeType=1,Element.prototype.eventNameMappings={blur:"onBlur",change:"onChange",click:"onClick",contextmenu:"onContextMenu",copy:"onCopy",cut:"onCut",doubleclick:"onDoubleClick",drag:"onDrag",dragend:"onDragEnd",dragenter:"onDragEnter",dragexit:"onDragExit",dragleave:"onDragLeave",dragover:"onDragOver",dragstart:"onDragStart",drop:"onDrop",error:"onError",focus:"onFocus",input:"onInput",keydown:"onKeyDown",keypress:"onKeyPress",keyup:"onKeyUp",load:"onLoad",mousedown:"onMouseDown",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseover:"onMouseOver",mouseup:"onMouseUp",paste:"onPaste",scroll:"onScroll",submit:"onSubmit",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",wheel:"onWheel"},Element.prototype.skipNameTransformationExpressions=[/^data-/,/^aria-/],Element.prototype.attributeNameMappings={"class":"className"},Element.prototype.attributeToPropName=function(name){var skipTransformMatches=this.skipNameTransformationExpressions.map(function(expr){return expr.test(name)});return skipTransformMatches.some(Boolean)?name:this.attributeNameMappings[name]||camelCase(name)},Element.prototype.setAttribute=function(name,value){if("style"===name&&isString(value)){var styles=styleAttr.parse(value);for(var key in styles)this.style.setProperty(key,styles[key])}else this.props[this.attributeToPropName(name)]=value},Element.prototype.getAttribute=function(name){return this.props[this.attributeToPropName(name)]},Element.prototype.getAttributeNode=function(name){var value=this.getAttribute(name);return isUndefined(value)?void 0:{value:value,specified:!0}},Element.prototype.removeAttribute=function(name){delete this.props[this.attributeToPropName(name)]},Element.prototype.eventToPropName=function(name){return this.eventNameMappings[name]||name},Element.prototype.addEventListener=function(name,fn){var prop=this.eventToPropName(name);this.eventListeners[prop]=this.eventListeners[prop]||[],this.eventListeners[prop].push(fn)},Element.prototype.removeEventListener=function(name,fn){var listeners=this.eventListeners[this.eventToPropName(name)];if(listeners){var match=listeners.indexOf(fn);-1!==match&&listeners.splice(match,1)}},Element.prototype.appendChild=function(el){return el.parentNode=this,this.childNodes.push(el),el},Element.prototype.insertBefore=function(el,before){var index=this.childNodes.indexOf(before);return el.parentNode=this,-1!==index?this.childNodes.splice(index,0,el):this.childNodes.push(el),el},Element.prototype.removeChild=function(child){var target=this.childNodes.indexOf(child);this.childNodes.splice(target,1)},Element.prototype.querySelector=function(){return this.querySelectorAll.apply(this,arguments)[0]||null},Element.prototype.querySelectorAll=function(selector){if(!selector)throw new Error("Not enough arguments");return querySelectorAll(selector,this)},Element.prototype.getElementsByTagName=function(nodeName){var children=this.children;if(0===children.length)return[];var matches;matches="*"!==nodeName?children.filter(function(el){return el.nodeName===nodeName}):children;var childMatches=children.map(function(el){return el.getElementsByTagName(nodeName)});return matches.concat.apply(matches,childMatches)},Element.prototype.getElementById=function(id){var children=this.children;if(0===children.length)return null;var match=children.filter(function(el){return el.getAttribute("id")===id})[0];if(match)return match;var childMatches=children.map(function(el){return el.getElementById(id)});return childMatches.filter(function(match){return null!==match})[0]||null},Element.prototype.toReact=function(index){function uniqueKey(){return"faux-dom-"+index}index=index||0;var props=assign({},this.props);props.style=assign({},props.style);var originalElement=this;return isUndefined(props.key)&&(props.key=uniqueKey()),delete props.style.setProperty,delete props.style.getProperty,delete props.style.removeProperty,assign(props,mapValues(this.eventListeners,function(listeners){return function(syntheticEvent){var event;syntheticEvent&&(event=syntheticEvent.nativeEvent,event.syntheticEvent=syntheticEvent),mapValues(listeners,function(listener){listener.call(originalElement,event)})}})),React.createElement(this.nodeName,props,this.text||this.children.map(function(el,i){return el instanceof Element?el.toReact(i):el}))},Object.defineProperties(Element.prototype,{nextSibling:{get:function(){var siblings=this.parentNode.children,me=siblings.indexOf(this);return siblings[me+1]}},previousSibling:{get:function(){var siblings=this.parentNode.children,me=siblings.indexOf(this);return siblings[me-1]}},innerHTML:{get:function(){return this.text},set:function(text){this.text=text}},textContent:{get:function(){return this.text},set:function(text){this.text=text}},children:{get:function(){return this.childNodes.filter(function(el){return el.nodeType?1===el.nodeType:!0})}}});var namespaceMethods=["setAttribute","getAttribute","getAttributeNode","removeAttribute","getElementsByTagName","getElementById"];namespaceMethods.forEach(function(name){var fn=Element.prototype[name];Element.prototype[name+"NS"]=function(){return fn.apply(this,Array.prototype.slice.call(arguments,1))}}),module.exports=Element},function(module,exports){function parse(raw){var trim=function(s){return s.trim()},obj={};return getKeyValueChunks(raw).map(trim).filter(Boolean).forEach(function(item){var pos=item.indexOf(":"),key=item.substr(0,pos).trim(),val=item.substr(pos+1).trim();obj[key]=val}),obj}function getKeyValueChunks(raw){for(var nextSplit,chunks=[],offset=0,sep=";",hasUnclosedUrl=/url\([^\)]+$/,chunk="";offset=0&&(index-b)%a===0&&eq)return 1}function isXML(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?"html"!==documentElement.nodeName.toLowerCase():!1}function matches(str,seeds){return select(str,null,seeds)}function singleMatch(el,match){if(!match)return!0;if(!el)return!1;if(9===el.nodeType)return!1;var matchSuffixLen,matchSuffixIndex,matched=1,matchSuffix=match.suffix;if("tag"===match.t&&(matched&=matchExpr.tag(el,match.value)),matched&&matchSuffix)for(matchSuffixLen=matchSuffix.length,matchSuffixIndex=0;matched&&matchSuffixLen>matchSuffixIndex;matchSuffixIndex++){var singleMatchSuffix=matchSuffix[matchSuffixIndex],singleMatchSuffixType=singleMatchSuffix.t;matchExpr[singleMatchSuffixType]&&(matched&=matchExpr[singleMatchSuffixType](el,singleMatchSuffix.value))}return matched}function matchImmediate(el,match){var relativeOp,matched=1,startEl=el,startMatch=match;do{if(matched&=singleMatch(el,match),!matched)return relativeOp=relativeExpr[match.nextCombinator],relativeOp.immediate?{el:dir(startEl,relativeExpr[startMatch.nextCombinator].dir),match:startMatch}:{el:el&&dir(el,relativeOp.dir),match:match};if(match=match&&match.prev,!match)return!0;if(relativeOp=relativeExpr[match.nextCombinator],el=dir(el,relativeOp.dir),!relativeOp.immediate)return{el:el,match:match}}while(el);return{el:dir(startEl,relativeExpr[startMatch.nextCombinator].dir),match:startMatch}}function findFixedMatchFromHead(el,head){var relativeOp,cur=head;do{if(!singleMatch(el,cur))return null;if(cur=cur.prev,!cur)return!0;relativeOp=relativeExpr[cur.nextCombinator],el=dir(el,relativeOp.dir)}while(el&&relativeOp.immediate);return el?{el:el,match:cur}:null}function genId(el){var selectorId;return isContextXML?(selectorId=el.getAttribute(EXPANDO_SELECTOR_KEY))||el.setAttribute(EXPANDO_SELECTOR_KEY,selectorId=+new Date+"_"+ ++uuid):(selectorId=el[EXPANDO_SELECTOR_KEY])||(selectorId=el[EXPANDO_SELECTOR_KEY]=+new Date+"_"+ ++uuid),selectorId}function matchSub(el,match){var matchKey,selectorId=genId(el);return matchKey=selectorId+"_"+(match.order||0),matchKey in subMatchesCache?subMatchesCache[matchKey]:(subMatchesCache[matchKey]=matchSubInternal(el,match),subMatchesCache[matchKey])}function matchSubInternal(el,match){var matchImmediateRet=matchImmediate(el,match);if(matchImmediateRet===!0)return!0;for(el=matchImmediateRet.el,match=matchImmediateRet.match;el;){if(matchSub(el,match))return!0;el=dir(el,relativeExpr[match.nextCombinator].dir)}return!1}function select(str,context,seeds){caches[str]||(caches[str]=parser.parse(str));var contextDocument,group,selector=caches[str],groupIndex=0,groupLen=selector.length,ret=[];for(seeds&&(context=context||seeds[0].ownerDocument),contextDocument=context&&context.ownerDocument||"undefined"!=typeof document&&document,context&&9===context.nodeType&&!contextDocument&&(contextDocument=context),context=context||contextDocument,isContextXML=isXML(context);groupLen>groupIndex;groupIndex++){resetStatus(),group=selector[groupIndex];var suffixIndex,suffixLen,seedsIndex,seedsLen,suffix=group.suffix,mySeeds=seeds,id=null;if(!mySeeds){if(suffix&&!isContextXML)for(suffixIndex=0,suffixLen=suffix.length;suffixLen>suffixIndex;suffixIndex++){var singleSuffix=suffix[suffixIndex];if("id"===singleSuffix.t){id=singleSuffix.value;break}}if(id){var doesNotHasById=!context.getElementById,contextInDom=util.contains(contextDocument,context),tmp=doesNotHasById?contextInDom?contextDocument.getElementById(id):null:context.getElementById(id);if(!tmp&&doesNotHasById||tmp&&getAttr(tmp,"id")!==id){for(var tmps=util.getElementsByTagName("*",context),tmpLen=tmps.length,tmpI=0;tmpLen>tmpI;tmpI++)if(tmp=tmps[tmpI],getAttr(tmp,"id")===id){mySeeds=[tmp];break}tmpI===tmpLen&&(mySeeds=[])}else contextInDom&&tmp&&context!==contextDocument&&(tmp=util.contains(context,tmp)?tmp:null),mySeeds=tmp?[tmp]:[]}else mySeeds=util.getElementsByTagName(group.value||"*",context)}if(seedsIndex=0,seedsLen=mySeeds.length)for(;seedsLen>seedsIndex;seedsIndex++){var seed=mySeeds[seedsIndex],matchHead=findFixedMatchFromHead(seed,group);matchHead===!0?ret.push(seed):matchHead&&matchSub(matchHead.el,matchHead.match)&&ret.push(seed)}}return groupLen>1&&(ret=util.unique(ret)),ret}var isContextXML,matchExpr,util=__webpack_require__(24),parser=__webpack_require__(25),EXPANDO_SELECTOR_KEY="_ks_data_selector_id_",caches={},uuid=0,subMatchesCache={},getAttr=function(el,name){return isContextXML?util.getSimpleAttr(el,name):util.attr(el,name)},hasSingleClass=util.hasSingleClass,isTag=util.isTag,aNPlusB=/^(([+-]?(?:\d+)?)?n)?([+-]?\d+)?$/,unescape=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,unescapeFn=function(_,escaped){var high="0x"+escaped-65536;return isNaN(high)?escaped:0>high?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},pseudoFnExpr={"nth-child":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,count=0,len=childNodes.length;len>count;count++)if(child=childNodes[count],1===child.nodeType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},"nth-last-child":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,len=childNodes.length,count=len-1;count>=0;count--)if(child=childNodes[count],1===child.nodeType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},"nth-of-type":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,elType=el.tagName,count=0,len=childNodes.length;len>count;count++)if(child=childNodes[count],child.tagName===elType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},"nth-last-of-type":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,len=childNodes.length,elType=el.tagName,count=len-1;count>=0;count--)if(child=childNodes[count],child.tagName===elType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},lang:function(el,lang){var elLang;lang=unEscape(lang.toLowerCase());do if(elLang=isContextXML?el.getAttribute("xml:lang")||el.getAttribute("lang"):el.lang)return elLang=elLang.toLowerCase(),elLang===lang||0===elLang.indexOf(lang+"-");while((el=el.parentNode)&&1===el.nodeType);return!1},not:function(el,negationArg){return!matchExpr[negationArg.t](el,negationArg.value)}},pseudoIdentExpr={empty:function(el){for(var child,nodeType,childNodes=el.childNodes,index=0,len=childNodes.length-1;len>index;index++)if(child=childNodes[index],nodeType=child.nodeType,1===nodeType||3===nodeType||4===nodeType||5===nodeType)return 0;return 1},root:function(el){return 9===el.nodeType?!0:el.ownerDocument&&el===el.ownerDocument.documentElement},"first-child":function(el){return pseudoFnExpr["nth-child"](el,1)},"last-child":function(el){return pseudoFnExpr["nth-last-child"](el,1)},"first-of-type":function(el){return pseudoFnExpr["nth-of-type"](el,1)},"last-of-type":function(el){return pseudoFnExpr["nth-last-of-type"](el,1)},"only-child":function(el){return pseudoIdentExpr["first-child"](el)&&pseudoIdentExpr["last-child"](el)},"only-of-type":function(el){return pseudoIdentExpr["first-of-type"](el)&&pseudoIdentExpr["last-of-type"](el)},focus:function(el){var doc=el.ownerDocument;return doc&&el===doc.activeElement&&(!doc.hasFocus||doc.hasFocus())&&!!(el.type||el.href||el.tabIndex>=0)},target:function(el){var hash=location.hash;return hash&&hash.slice(1)===getAttr(el,"id")},enabled:function(el){return!el.disabled},disabled:function(el){return el.disabled},checked:function(el){var nodeName=el.nodeName.toLowerCase();return"input"===nodeName&&el.checked||"option"===nodeName&&el.selected}},attributeExpr={"~=":function(elValue,value){return!value||value.indexOf(" ")>-1?0:-1!==(" "+elValue+" ").indexOf(" "+value+" ")},"|=":function(elValue,value){return-1!==(" "+elValue).indexOf(" "+value+"-")},"^=":function(elValue,value){return value&&util.startsWith(elValue,value)},"$=":function(elValue,value){return value&&util.endsWith(elValue,value)},"*=":function(elValue,value){return value&&-1!==elValue.indexOf(value)},"=":function(elValue,value){return elValue===value}},relativeExpr={">":{dir:"parentNode",immediate:1}," ":{dir:"parentNode"},"+":{dir:"previousSibling",immediate:1},"~":{dir:"previousSibling"}};matchExpr={tag:isTag,cls:hasSingleClass,id:function(el,value){return getAttr(el,"id")===value},attrib:function(el,value){var name=value.ident;isContextXML||(name=name.toLowerCase());var elValue=getAttr(el,name),match=value.match;if(!match&&void 0!==elValue)return 1;if(match){if(void 0===elValue)return 0;var matchFn=attributeExpr[match];if(matchFn)return matchFn(elValue+"",value.value+"")}return 0},pseudo:function(el,value){var fn,fnStr,ident;if(fnStr=value.fn){if(!(fn=pseudoFnExpr[fnStr]))throw new SyntaxError("Syntax error: not support pseudo: "+fnStr);return fn(el,value.param)}if(ident=value.ident){if(!pseudoIdentExpr[ident])throw new SyntaxError("Syntax error: not support pseudo: "+ident);return pseudoIdentExpr[ident](el)}return 0}},parser.lexer.yy={trim:util.trim,unEscape:unEscape,unEscapeStr:function(str){return this.unEscape(str.slice(1,-1))}},module.exports=select,select.parse=function(str){return parser.parse(str)},select.matches=matches,select.util=util,select.version="@VERSION@"},function(module,exports){function numberify(s){var c=0;return parseFloat(s.replace(/\./g,function(){return 0===c++?".":""}))}function ieVersion(){var m,v;return(m=ua.match(/MSIE ([^;]*)|Trident.*; rv(?:\s|:)?([0-9.]+)/))&&(v=m[1]||m[2])?doc.documentMode||numberify(v):void 0}function mix(s,t){for(var p in t)s[p]=t[p]}function each(arr,fn){for(var i=0,l=arr.length;l>i&&fn(arr[i],i)!==!1;i++);}var propFix,R_BOOLEAN=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,R_FOCUSABLE=/^(?:button|input|object|select|textarea)$/i,R_CLICKABLE=/^a(?:rea)?$/i,R_INVALID_CHAR=/:|^on/,attrFix={},attrHooks={tabindex:{get:function(el){var attributeNode=el.getAttributeNode("tabindex");return attributeNode&&attributeNode.specified?parseInt(attributeNode.value,10):R_FOCUSABLE.test(el.nodeName)||R_CLICKABLE.test(el.nodeName)&&el.href?0:void 0}}},boolHook={get:function(elem,name){return elem[propFix[name]||name]?name.toLowerCase():void 0}},attrNodeHook={};attrHooks.style={get:function(el){return el.style.cssText}},propFix={hidefocus:"hideFocus",tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"};var ua="undefined"!=typeof navigator?navigator.userAgent:"",doc="undefined"!=typeof document?document:{},ie=ieVersion();if(ie&&8>ie&&(attrHooks.style.set=function(el,val){el.style.cssText=val},mix(attrNodeHook,{get:function(elem,name){var ret=elem.getAttributeNode(name);return ret&&(ret.specified||ret.nodeValue)?ret.nodeValue:void 0}}),mix(attrFix,propFix),attrHooks.tabIndex=attrHooks.tabindex,each(["href","src","width","height","colSpan","rowSpan"],function(name){attrHooks[name]={get:function(elem){var ret=elem.getAttribute(name,2);return null===ret?void 0:ret}}}),attrHooks.placeholder={get:function(elem,name){return elem[name]||attrNodeHook.get(elem,name)}}),ie){var hrefFix=attrHooks.href=attrHooks.href||{};hrefFix.set=function(el,val,name){var b,childNodes=el.childNodes,len=childNodes.length,allText=len>0;for(len-=1;len>=0;len--)3!==childNodes[len].nodeType&&(allText=0);allText&&(b=el.ownerDocument.createElement("b"),b.style.display="none",el.appendChild(b)),el.setAttribute(name,""+val),b&&el.removeChild(b)}}var getElementsByTagName,RE_TRIM=/^[\s\xa0]+|[\s\xa0]+$/g,trim=String.prototype.trim,SPACE=" ";if(getElementsByTagName=function(name,context){return context.getElementsByTagName(name)},doc.createElement){var div=doc.createElement("div");div.appendChild(document.createComment("")),div.getElementsByTagName("*").length&&(getElementsByTagName=function(name,context){var nodes=context.getElementsByTagName(name),needsFilter="*"===name;if(needsFilter||"number"!=typeof nodes.length){for(var el,ret=[],i=0;el=nodes[i++];)needsFilter&&1!==el.nodeType||ret.push(el);return ret}return nodes})}var compareNodeOrder="sourceIndex"in(doc&&doc.documentElement||{})?function(a,b){return a.sourceIndex-b.sourceIndex}:function(a,b){if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;var bit=4&a.compareDocumentPosition(b);return bit?-1:1},util=module.exports={ie:ie,unique:function(){function sortOrder(a,b){return a===b?(hasDuplicate=!0,0):compareNodeOrder(a,b)}var hasDuplicate,baseHasDuplicate=!0;return[0,0].sort(function(){return baseHasDuplicate=!1,0}),function(elements){if(hasDuplicate=baseHasDuplicate,elements.sort(sortOrder),hasDuplicate)for(var i=1,len=elements.length;len>i;)elements[i]===elements[i-1]?(elements.splice(i,1),--len):i++;return elements}}(),getElementsByTagName:getElementsByTagName,getSimpleAttr:function(el,name){var ret=el&&el.getAttributeNode(name);return ret&&ret.specified?"value"in ret?ret.value:ret.nodeValue:void 0},contains:ie?function(a,b){return 9===a.nodeType&&(a=a.documentElement),b=b.parentNode,a===b?!0:b&&1===b.nodeType?a.contains&&a.contains(b):!1}:function(a,b){return!!(16&a.compareDocumentPosition(b))},isTag:function(el,value){return"*"===value||el.nodeName.toLowerCase()===value.toLowerCase()},hasSingleClass:function(el,cls){var className=el&&util.getSimpleAttr(el,"class");return className&&(className=className.replace(/[\r\t\n]/g,SPACE))&&(SPACE+className+SPACE).indexOf(SPACE+cls+SPACE)>-1},startsWith:function(str,prefix){return 0===str.lastIndexOf(prefix,0)},endsWith:function(str,suffix){var ind=str.length-suffix.length;return ind>=0&&str.indexOf(suffix,ind)===ind},trim:trim?function(str){return null==str?"":trim.call(str)}:function(str){return null==str?"":(str+"").replace(RE_TRIM,"")},attr:function(el,name){var attrNormalizer,ret;if(name=name.toLowerCase(),name=attrFix[name]||name,attrNormalizer=R_BOOLEAN.test(name)?boolHook:R_INVALID_CHAR.test(name)?attrNodeHook:attrHooks[name],el&&1===el.nodeType){if("form"===el.nodeName.toLowerCase()&&(attrNormalizer=attrNodeHook),attrNormalizer&&attrNormalizer.get)return attrNormalizer.get(el,name);if(ret=el.getAttribute(name),""===ret){var attrNode=el.getAttributeNode(name);if(!attrNode||!attrNode.specified)return}return null===ret?void 0:ret}}}},function(module,exports,__webpack_require__){var parser=function(undefined){function mix(to,from){for(var f in from)to[f]=from[f]}function isArray(obj){return"[object Array]"===Object.prototype.toString.call(obj)}function each(object,fn,context){if(object){var key,val,length,i=0;if(context=context||null,isArray(object))for(length=object.length,val=object[0];length>i&&fn.call(context,val,i,object)!==!1;val=object[++i]);else for(key in object)if(fn.call(context,object[key],key,object)===!1)break}}function inArray(item,arr){for(var i=0,l=arr.length;l>i;i++)if(arr[i]===item)return!0;return!1}var parser={},GrammarConst={SHIFT_TYPE:1,REDUCE_TYPE:2,ACCEPT_TYPE:0,TYPE_INDEX:0,PRODUCTION_INDEX:1,TO_INDEX:2},Lexer=function(cfg){var self=this;self.rules=[],mix(self,cfg),self.resetInput(self.input)};Lexer.prototype={resetInput:function(input){mix(this,{input:input,matched:"",stateStack:[Lexer.STATIC.INITIAL],match:"",text:"",firstLine:1,lineNumber:1,lastLine:1,firstColumn:1,lastColumn:1})},getCurrentRules:function(){var self=this,currentState=self.stateStack[self.stateStack.length-1],rules=[];return self.mapState&&(currentState=self.mapState(currentState)),each(self.rules,function(r){var state=r.state||r[3];state?inArray(currentState,state)&&rules.push(r):currentState===Lexer.STATIC.INITIAL&&rules.push(r)}),rules},pushState:function(state){this.stateStack.push(state)},popState:function(num){num=num||1;for(var ret;num--;)ret=this.stateStack.pop();return ret},showDebugInfo:function(){var self=this,DEBUG_CONTEXT_LIMIT=Lexer.STATIC.DEBUG_CONTEXT_LIMIT,matched=self.matched,match=self.match,input=self.input;matched=matched.slice(0,matched.length-match.length);var past=(matched.length>DEBUG_CONTEXT_LIMIT?"...":"")+matched.slice(0-DEBUG_CONTEXT_LIMIT).replace(/\n/," "),next=match+input;return next=next.slice(0,DEBUG_CONTEXT_LIMIT)+(next.length>DEBUG_CONTEXT_LIMIT?"...":""),past+next+"\n"+new Array(past.length+1).join("-")+"^"},mapSymbol:function(t){return this.symbolMap[t]},mapReverseSymbol:function(rs){var i,self=this,symbolMap=self.symbolMap,reverseSymbolMap=self.reverseSymbolMap;if(!reverseSymbolMap&&symbolMap){reverseSymbolMap=self.reverseSymbolMap={};for(i in symbolMap)reverseSymbolMap[symbolMap[i]]=i}return reverseSymbolMap?reverseSymbolMap[rs]:rs},lex:function(){var i,rule,m,ret,lines,self=this,input=self.input,rules=self.getCurrentRules();if(self.match=self.text="",!input)return self.mapSymbol(Lexer.STATIC.END_TAG);for(i=0;i(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["v",/^(?:[\t\r\n\f\x20]*)~(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["w",/^\*/,0],["x",/^(?:[\t\r\n\f\x20]+)/,0],["y",/^./,0]]});return parser.lexer=lexer,lexer.symbolMap={$EOF:"a",LEFT_BRACKET:"b",RIGHT_BRACKET:"c",INCLUDES:"d",DASH_MATCH:"e",PREFIX_MATCH:"f",SUFFIX_MATCH:"g",SUBSTRING_MATCH:"h",ALL_MATCH:"i",FUNCTION:"j",PARAMETER:"k",RIGHT_PARENTHESES:"l",NOT:"m",IDENT:"n",STRING:"o",HASH:"p",CLASS:"q",COMMA:"r",COLON:"s",PLUS:"t",GREATER:"u",TILDE:"v",UNIVERSAL:"w",S:"x",INVALID:"y",$START:"z",selectors_group:"aa",selector:"ab",simple_selector_sequence:"ac",combinator:"ad",type_selector:"ae",id_selector:"af",class_selector:"ag",attrib_match:"ah",attrib:"ai",attrib_val:"aj",pseudo:"ak",negation:"al",negation_arg:"am",suffix_selector:"an",suffix_selectors:"ao"},parser.productions=[["z",["aa"]],["aa",["ab"],function(){return[this.$1]}],["aa",["aa","r","ab"],function(){this.$1.push(this.$3)}],["ab",["ac"]],["ab",["ab","ad","ac"],function(){this.$1.nextCombinator=this.$3.prevCombinator=this.$2;var order;return order=this.$1.order=this.$1.order||0,this.$3.order=order+1,this.$3.prev=this.$1,this.$1.next=this.$3,this.$3; -}],["ad",["t"]],["ad",["u"]],["ad",["v"]],["ad",["x"],function(){return" "}],["ae",["n"],function(){return{t:"tag",value:this.$1}}],["ae",["w"],function(){return{t:"tag",value:this.$1}}],["af",["p"],function(){return{t:"id",value:this.$1}}],["ag",["q"],function(){return{t:"cls",value:this.$1}}],["ah",["f"]],["ah",["g"]],["ah",["h"]],["ah",["i"]],["ah",["d"]],["ah",["e"]],["ai",["b","n","c"],function(){return{t:"attrib",value:{ident:this.$2}}}],["aj",["n"]],["aj",["o"]],["ai",["b","n","ah","aj","c"],function(){return{t:"attrib",value:{ident:this.$2,match:this.$3,value:this.$4}}}],["ak",["s","j","k","l"],function(){return{t:"pseudo",value:{fn:this.$2.toLowerCase(),param:this.$3}}}],["ak",["s","n"],function(){return{t:"pseudo",value:{ident:this.$2.toLowerCase()}}}],["al",["m","am","l"],function(){return{t:"pseudo",value:{fn:"not",param:this.$2}}}],["am",["ae"]],["am",["af"]],["am",["ag"]],["am",["ai"]],["am",["ak"]],["an",["af"]],["an",["ag"]],["an",["ai"]],["an",["ak"]],["an",["al"]],["ao",["an"],function(){return[this.$1]}],["ao",["ao","an"],function(){this.$1.push(this.$2)}],["ac",["ae"]],["ac",["ao"],function(){return{suffix:this.$1}}],["ac",["ae","ao"],function(){return{t:"tag",value:this.$1.value,suffix:this.$2}}]],parser.table={gotos:{0:{aa:8,ab:9,ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:18},2:{ae:20,af:21,ag:22,ai:23,ak:24,am:25},9:{ad:33},10:{af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:34},17:{af:11,ag:12,ai:13,ak:14,al:15,an:35},19:{ah:43},28:{ab:46,ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:18},33:{ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:47},34:{af:11,ag:12,ai:13,ak:14,al:15,an:35},43:{aj:50},46:{ad:33}},action:{0:{b:[1,undefined,1],m:[1,undefined,2],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},1:{n:[1,undefined,19]},2:{b:[1,undefined,1],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},3:{a:[2,9],r:[2,9],t:[2,9],u:[2,9],v:[2,9],x:[2,9],p:[2,9],q:[2,9],b:[2,9],s:[2,9],m:[2,9],l:[2,9]},4:{a:[2,11],r:[2,11],t:[2,11],u:[2,11],v:[2,11],x:[2,11],p:[2,11],q:[2,11],b:[2,11],s:[2,11],m:[2,11],l:[2,11]},5:{a:[2,12],r:[2,12],t:[2,12],u:[2,12],v:[2,12],x:[2,12],p:[2,12],q:[2,12],b:[2,12],s:[2,12],m:[2,12],l:[2,12]},6:{j:[1,undefined,26],n:[1,undefined,27]},7:{a:[2,10],r:[2,10],t:[2,10],u:[2,10],v:[2,10],x:[2,10],p:[2,10],q:[2,10],b:[2,10],s:[2,10],m:[2,10],l:[2,10]},8:{a:[0],r:[1,undefined,28]},9:{a:[2,1],r:[2,1],t:[1,undefined,29],u:[1,undefined,30],v:[1,undefined,31],x:[1,undefined,32]},10:{a:[2,38],r:[2,38],t:[2,38],u:[2,38],v:[2,38],x:[2,38],b:[1,undefined,1],m:[1,undefined,2],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6]},11:{a:[2,31],r:[2,31],t:[2,31],u:[2,31],v:[2,31],x:[2,31],p:[2,31],q:[2,31],b:[2,31],s:[2,31],m:[2,31]},12:{a:[2,32],r:[2,32],t:[2,32],u:[2,32],v:[2,32],x:[2,32],p:[2,32],q:[2,32],b:[2,32],s:[2,32],m:[2,32]},13:{a:[2,33],r:[2,33],t:[2,33],u:[2,33],v:[2,33],x:[2,33],p:[2,33],q:[2,33],b:[2,33],s:[2,33],m:[2,33]},14:{a:[2,34],r:[2,34],t:[2,34],u:[2,34],v:[2,34],x:[2,34],p:[2,34],q:[2,34],b:[2,34],s:[2,34],m:[2,34]},15:{a:[2,35],r:[2,35],t:[2,35],u:[2,35],v:[2,35],x:[2,35],p:[2,35],q:[2,35],b:[2,35],s:[2,35],m:[2,35]},16:{a:[2,36],r:[2,36],t:[2,36],u:[2,36],v:[2,36],x:[2,36],p:[2,36],q:[2,36],b:[2,36],s:[2,36],m:[2,36]},17:{a:[2,39],r:[2,39],t:[2,39],u:[2,39],v:[2,39],x:[2,39],b:[1,undefined,1],m:[1,undefined,2],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6]},18:{a:[2,3],r:[2,3],t:[2,3],u:[2,3],v:[2,3],x:[2,3]},19:{c:[1,undefined,36],d:[1,undefined,37],e:[1,undefined,38],f:[1,undefined,39],g:[1,undefined,40],h:[1,undefined,41],i:[1,undefined,42]},20:{l:[2,26]},21:{l:[2,27]},22:{l:[2,28]},23:{l:[2,29]},24:{l:[2,30]},25:{l:[1,undefined,44]},26:{k:[1,undefined,45]},27:{a:[2,24],r:[2,24],t:[2,24],u:[2,24],v:[2,24],x:[2,24],p:[2,24],q:[2,24],b:[2,24],s:[2,24],m:[2,24],l:[2,24]},28:{b:[1,undefined,1],m:[1,undefined,2],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},29:{n:[2,5],w:[2,5],p:[2,5],q:[2,5],b:[2,5],s:[2,5],m:[2,5]},30:{n:[2,6],w:[2,6],p:[2,6],q:[2,6],b:[2,6],s:[2,6],m:[2,6]},31:{n:[2,7],w:[2,7],p:[2,7],q:[2,7],b:[2,7],s:[2,7],m:[2,7]},32:{n:[2,8],w:[2,8],p:[2,8],q:[2,8],b:[2,8],s:[2,8],m:[2,8]},33:{b:[1,undefined,1],m:[1,undefined,2],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},34:{a:[2,40],r:[2,40],t:[2,40],u:[2,40],v:[2,40],x:[2,40],b:[1,undefined,1],m:[1,undefined,2],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6]},35:{a:[2,37],r:[2,37],t:[2,37],u:[2,37],v:[2,37],x:[2,37],p:[2,37],q:[2,37],b:[2,37],s:[2,37],m:[2,37]},36:{a:[2,19],r:[2,19],t:[2,19],u:[2,19],v:[2,19],x:[2,19],p:[2,19],q:[2,19],b:[2,19],s:[2,19],m:[2,19],l:[2,19]},37:{n:[2,17],o:[2,17]},38:{n:[2,18],o:[2,18]},39:{n:[2,13],o:[2,13]},40:{n:[2,14],o:[2,14]},41:{n:[2,15],o:[2,15]},42:{n:[2,16],o:[2,16]},43:{n:[1,undefined,48],o:[1,undefined,49]},44:{a:[2,25],r:[2,25],t:[2,25],u:[2,25],v:[2,25],x:[2,25],p:[2,25],q:[2,25],b:[2,25],s:[2,25],m:[2,25]},45:{l:[1,undefined,51]},46:{a:[2,2],r:[2,2],t:[1,undefined,29],u:[1,undefined,30],v:[1,undefined,31],x:[1,undefined,32]},47:{a:[2,4],r:[2,4],t:[2,4],u:[2,4],v:[2,4],x:[2,4]},48:{c:[2,20]},49:{c:[2,21]},50:{c:[1,undefined,52]},51:{a:[2,23],r:[2,23],t:[2,23],u:[2,23],v:[2,23],x:[2,23],p:[2,23],q:[2,23],b:[2,23],s:[2,23],m:[2,23],l:[2,23]},52:{a:[2,22],r:[2,22],t:[2,22],u:[2,22],v:[2,22],x:[2,22],p:[2,22],q:[2,22],b:[2,22],s:[2,22],m:[2,22],l:[2,22]}}},parser.parse=function(input,filename){var state,symbol,action,self=this,lexer=self.lexer,table=self.table,gotos=table.gotos,tableAction=table.action,productions=self.productions,valueStack=[null],prefix=filename?"in file: "+filename+" ":"",stack=[0];for(lexer.resetInput(input);;){if(state=stack[stack.length-1],symbol||(symbol=lexer.lex()),action=symbol?tableAction[state]&&tableAction[state][symbol]:null,!action){var error,expected=[];if(tableAction[state])for(var symbolForState in tableAction[state])expected.push(self.lexer.mapReverseSymbol(symbolForState));throw error=prefix+"syntax error at line "+lexer.lineNumber+":\n"+lexer.showDebugInfo()+"\nexpect "+expected.join(", "),new Error(error)}switch(action[GrammarConst.TYPE_INDEX]){case GrammarConst.SHIFT_TYPE:stack.push(symbol),valueStack.push(lexer.text),stack.push(action[GrammarConst.TO_INDEX]),symbol=null;break;case GrammarConst.REDUCE_TYPE:var ret,production=productions[action[GrammarConst.PRODUCTION_INDEX]],reducedSymbol=production.symbol||production[0],reducedAction=production.action||production[2],reducedRhs=production.rhs||production[1],len=reducedRhs.length,i=0,$$=valueStack[valueStack.length-len];for(ret=undefined,self.$$=$$;len>i;i++)self["$"+(len-i)]=valueStack[valueStack.length-1-i];reducedAction&&(ret=reducedAction.call(self)),$$=ret!==undefined?ret:self.$$,stack=stack.slice(0,-1*len*2),valueStack=valueStack.slice(0,-1*len),stack.push(reducedSymbol),valueStack.push($$);var newState=gotos[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case GrammarConst.ACCEPT_TYPE:return $$}}},parser}();module.exports=parser},function(module,exports){function upperCaseFirstMatch(match,c,offset){return 0!==offset?c.toUpperCase():c}function camelCase(str){var camelCased=str.replace(hyphenExpression,upperCaseFirstMatch);return hyphenExpression.lastIndex=0,camelCased}var hyphenExpression=/\-+([a-z])/gi;module.exports=camelCase},function(module,exports){function isString(value){return"string"==typeof value}module.exports=isString},function(module,exports){function isUndefined(value){return"undefined"==typeof value}module.exports=isUndefined},function(module,exports){function assign(dest){for(var source,args=arguments,i=1;i0?totalTop+=x(d[field]):d[field]<0&&(totalBottom+=x(d[field]))}),totalTop>max&&(max=totalTop),min>totalBottom&&(min=totalBottom)}),[min,max]}var domainArr=chartSeries.map(function(d){var field=d.field,extent=_d3Array2["default"].extent(data,function(dt){return x(dt[field])});return extent});return _d3Array2["default"].extent([].concat.apply([],domainArr))}return"ordinal"===xScale?data.map(function(d){return x(d)}):_d3Array2["default"].extent(data,function(d){return x(d)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.xDomain=xDomain;var _d3Array=__webpack_require__(8),_d3Array2=_interopRequireDefault(_d3Array)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function yDomain(props,stack,horizonal){var data=props.data,chartSeries=props.chartSeries,y=props.y,yDomain=props.yDomain,yScale=props.yScale;if(yDomain)return yDomain;if(horizonal)return"ordinal"===yScale?data.map(function(d){return y(d)}):_d3Array2["default"].extent(data,function(d){return y(d)});if(stack){var max=0,min=0;return data.forEach(function(d){var totalTop=0,totalBottom=0;chartSeries.forEach(function(sd){var field=sd.field;d[field]>0?totalTop+=y(d[field]):d[field]<0&&(totalBottom+=y(d[field]))}),totalTop>max&&(max=totalTop),min>totalBottom&&(min=totalBottom)}),[min,max]}var domainArr=chartSeries.map(function(d){var field=d.field,extent=_d3Array2["default"].extent(data,function(dt){return y(dt[field])});return extent}),extentArr=_d3Array2["default"].extent([].concat.apply([],domainArr));return extentArr[0]*extentArr[1]>=0?[0,extentArr[1]]:extentArr}Object.defineProperty(exports,"__esModule",{value:!0}),exports.yDomain=yDomain;var _d3Array=__webpack_require__(8),_d3Array2=_interopRequireDefault(_d3Array)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _series=__webpack_require__(44);Object.defineProperty(exports,"series",{enumerable:!0,get:function(){return _series.series}});var _chart=__webpack_require__(46);Object.defineProperty(exports,"Chart",{enumerable:!0,get:function(){return _interopRequireDefault(_chart)["default"]}});var _chartpie=__webpack_require__(48);Object.defineProperty(exports,"ChartPie",{enumerable:!0,get:function(){return _interopRequireDefault(_chartpie)["default"]}});var _line=__webpack_require__(49);Object.defineProperty(exports,"Line",{enumerable:!0,get:function(){return _interopRequireDefault(_line)["default"]}});var _area=__webpack_require__(52);Object.defineProperty(exports,"Area",{enumerable:!0,get:function(){return _interopRequireDefault(_area)["default"]}});var _area_stack=__webpack_require__(53);Object.defineProperty(exports,"AreaStack",{enumerable:!0,get:function(){return _interopRequireDefault(_area_stack)["default"]}});var _bar=__webpack_require__(54);Object.defineProperty(exports,"Bar",{enumerable:!0,get:function(){return _interopRequireDefault(_bar)["default"]}});var _bar_horizontal=__webpack_require__(55);Object.defineProperty(exports,"BarHorizontal",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_horizontal)["default"]}});var _bar_group=__webpack_require__(56);Object.defineProperty(exports,"BarGroup",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_group)["default"]}});var _bar_group_horizontal=__webpack_require__(57);Object.defineProperty(exports,"BarGroupHorizontal",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_group_horizontal)["default"]}});var _bar_stack=__webpack_require__(58);Object.defineProperty(exports,"BarStack",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_stack)["default"]}});var _bar_stack_horizontal=__webpack_require__(59);Object.defineProperty(exports,"BarStackHorizontal",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_stack_horizontal)["default"]}});var _pie=__webpack_require__(60);Object.defineProperty(exports,"Pie",{enumerable:!0,get:function(){return _interopRequireDefault(_pie)["default"]}});var _scatter=__webpack_require__(61);Object.defineProperty(exports,"Scatter",{enumerable:!0,get:function(){return _interopRequireDefault(_scatter)["default"]}})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function series(props,horizontal){var data=props.data,chartSeries=props.chartSeries,x=props.x,y=props.y,categoricalColors=props.categoricalColors;categoricalColors=categoricalColors||_d2["default"].scale.category10();var chartSeriesData=chartSeries.map(function(f,i){f.color=f.color||categoricalColors(i),f.name=f.name||f.field;var mapping=data.map(function(d){return d._style||(d._style={}),horizontal?{y:y(d),x:x(d[f.field]),color:f.color,name:f.name,field:f.field,_style:d._style}:{x:x(d),y:y(d[f.field]),color:f.color,name:f.name,field:f.field,_style:d._style}});return Object.assign(f,{data:mapping})});return chartSeriesData}Object.defineProperty(exports,"__esModule",{value:!0}),exports.series=series;var _d=__webpack_require__(45),_d2=_interopRequireDefault(_d)},function(module,exports){module.exports=d3},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i=1?halfPi:-1>=x?-halfPi:Math.asin(x)}function intersect(x0,y0,x1,y1,x2,y2,x3,y3){var x10=x1-x0,y10=y1-y0,x32=x3-x2,y32=y3-y2,t=(x32*(y0-y2)-y32*(x0-x2))/(y32*x10-x32*y10);return[x0+t*x10,y0+t*y10]}function cornerTangents(x0,y0,x1,y1,r1,rc,cw){var x01=x0-x1,y01=y0-y1,lo=(cw?rc:-rc)/Math.sqrt(x01*x01+y01*y01),ox=lo*y01,oy=-lo*x01,x11=x0+ox,y11=y0+oy,x10=x1+ox,y10=y1+oy,x00=(x11+x10)/2,y00=(y11+y10)/2,dx=x10-x11,dy=y10-y11,d2=dx*dx+dy*dy,r=r1-rc,D=x11*y10-x10*y11,d=(0>dy?-1:1)*Math.sqrt(Math.max(0,r*r*d2-D*D)),cx0=(D*dy-dx*d)/d2,cy0=(-D*dx-dy*d)/d2,cx1=(D*dy+dx*d)/d2,cy1=(-D*dx+dy*d)/d2,dx0=cx0-x00,dy0=cy0-y00,dx1=cx1-x00,dy1=cy1-y00;return dx0*dx0+dy0*dy0>dx1*dx1+dy1*dy1&&(cx0=cx1,cy0=cy1),{cx:cx0,cy:cy0,x01:-ox,y01:-oy,x11:cx0*(r1/r-1),y11:cy0*(r1/r-1)}}function arc(){function arc(){var buffer,r,r0=+innerRadius.apply(this,arguments),r1=+outerRadius.apply(this,arguments),a0=startAngle.apply(this,arguments)-halfPi,a1=endAngle.apply(this,arguments)-halfPi,da=Math.abs(a1-a0),cw=a1>a0;if(context||(context=buffer=d3Path.path()),r0>r1&&(r=r1,r1=r0,r0=r),r1>epsilon)if(da>tau-epsilon)context.moveTo(r1*Math.cos(a0),r1*Math.sin(a0)),context.arc(0,0,r1,a0,a1,!cw),r0>epsilon&&(context.moveTo(r0*Math.cos(a1),r0*Math.sin(a1)),context.arc(0,0,r0,a1,a0,cw));else{var t0,t1,a01=a0,a11=a1,a00=a0,a10=a1,da0=da,da1=da,ap=padAngle.apply(this,arguments)/2,rp=ap>epsilon&&(padRadius?+padRadius.apply(this,arguments):Math.sqrt(r0*r0+r1*r1)),rc=Math.min(Math.abs(r1-r0)/2,+cornerRadius.apply(this,arguments)),rc0=rc,rc1=rc;if(rp>epsilon){var p0=asin(rp/r0*Math.sin(ap)),p1=asin(rp/r1*Math.sin(ap));(da0-=2*p0)>epsilon?(p0*=cw?1:-1,a00+=p0,a10-=p0):(da0=0,a00=a10=(a0+a1)/2),(da1-=2*p1)>epsilon?(p1*=cw?1:-1,a01+=p1,a11-=p1):(da1=0,a01=a11=(a0+a1)/2)}var x01=r1*Math.cos(a01),y01=r1*Math.sin(a01),x10=r0*Math.cos(a10),y10=r0*Math.sin(a10);if(rc>epsilon){var x11=r1*Math.cos(a11),y11=r1*Math.sin(a11),x00=r0*Math.cos(a00),y00=r0*Math.sin(a00);if(pi>da){var oc=da0>epsilon?intersect(x01,y01,x00,y00,x11,y11,x10,y10):[x10,y10],ax=x01-oc[0],ay=y01-oc[1],bx=x11-oc[0],by=y11-oc[1],kc=1/Math.sin(Math.acos((ax*bx+ay*by)/(Math.sqrt(ax*ax+ay*ay)*Math.sqrt(bx*bx+by*by)))/2),lc=Math.sqrt(oc[0]*oc[0]+oc[1]*oc[1]);rc0=Math.min(rc,(r0-lc)/(kc-1)),rc1=Math.min(rc,(r1-lc)/(kc+1))}}da1>epsilon?rc1>epsilon?(t0=cornerTangents(x00,y00,x01,y01,r1,rc1,cw),t1=cornerTangents(x11,y11,x10,y10,r1,rc1,cw),context.moveTo(t0.cx+t0.x01,t0.cy+t0.y01),rc>rc1?context.arc(t0.cx,t0.cy,rc1,Math.atan2(t0.y01,t0.x01),Math.atan2(t1.y01,t1.x01),!cw):(context.arc(t0.cx,t0.cy,rc1,Math.atan2(t0.y01,t0.x01),Math.atan2(t0.y11,t0.x11),!cw),context.arc(0,0,r1,Math.atan2(t0.cy+t0.y11,t0.cx+t0.x11),Math.atan2(t1.cy+t1.y11,t1.cx+t1.x11),!cw),context.arc(t1.cx,t1.cy,rc1,Math.atan2(t1.y11,t1.x11),Math.atan2(t1.y01,t1.x01),!cw))):(context.moveTo(x01,y01),context.arc(0,0,r1,a01,a11,!cw)):context.moveTo(x01,y01),r0>epsilon&&da0>epsilon?rc0>epsilon?(t0=cornerTangents(x10,y10,x11,y11,r0,-rc0,cw),t1=cornerTangents(x01,y01,x00,y00,r0,-rc0,cw),context.lineTo(t0.cx+t0.x01,t0.cy+t0.y01),rc>rc0?context.arc(t0.cx,t0.cy,rc0,Math.atan2(t0.y01,t0.x01),Math.atan2(t1.y01,t1.x01),!cw):(context.arc(t0.cx,t0.cy,rc0,Math.atan2(t0.y01,t0.x01),Math.atan2(t0.y11,t0.x11),!cw),context.arc(0,0,r0,Math.atan2(t0.cy+t0.y11,t0.cx+t0.x11),Math.atan2(t1.cy+t1.y11,t1.cx+t1.x11),cw),context.arc(t1.cx,t1.cy,rc0,Math.atan2(t1.y11,t1.x11),Math.atan2(t1.y01,t1.x01),!cw))):context.arc(0,0,r0,a10,a00,cw):context.lineTo(x10,y10)}else context.moveTo(0,0);return context.closePath(),buffer?(context=null,buffer+""||null):void 0}var innerRadius=arcInnerRadius,outerRadius=arcOuterRadius,cornerRadius=constant(0),padRadius=null,startAngle=arcStartAngle,endAngle=arcEndAngle,padAngle=arcPadAngle,context=null;return arc.centroid=function(){var r=(+innerRadius.apply(this,arguments)+ +outerRadius.apply(this,arguments))/2,a=(+startAngle.apply(this,arguments)+ +endAngle.apply(this,arguments))/2-pi/2;return[Math.cos(a)*r,Math.sin(a)*r]},arc.innerRadius=function(_){return arguments.length?(innerRadius="function"==typeof _?_:constant(+_),arc):innerRadius},arc.outerRadius=function(_){return arguments.length?(outerRadius="function"==typeof _?_:constant(+_),arc):outerRadius},arc.cornerRadius=function(_){return arguments.length?(cornerRadius="function"==typeof _?_:constant(+_),arc):cornerRadius},arc.padRadius=function(_){return arguments.length?(padRadius=null==_?null:"function"==typeof _?_:constant(+_),arc):padRadius},arc.startAngle=function(_){return arguments.length?(startAngle="function"==typeof _?_:constant(+_),arc):startAngle},arc.endAngle=function(_){return arguments.length?(endAngle="function"==typeof _?_:constant(+_),arc):endAngle},arc.padAngle=function(_){return arguments.length?(padAngle="function"==typeof _?_:constant(+_),arc):padAngle},arc.context=function(_){return arguments.length?(context=null==_?null:_,arc):context},arc}function bind(curve,args){return args.length<2?curve:(args=slice.call(args),args[0]=null,function(context){return args[0]=context,curve.apply(null,args)})}function Linear(context){this._context=context}function curveLinear(context){return new Linear(context)}function x(p){return p[0]}function y(p){return p[1]}function area(){function area(data){var i,j,k,d,buffer,n=data.length,defined0=!1,x0z=new Array(n),y0z=new Array(n);for(context||(output=curve(buffer=d3Path.path())),i=0;n>=i;++i){if(!(n>i&&defined(d=data[i],i,data))===defined0)if(defined0=!defined0)j=i,output.areaStart(),output.lineStart();else{for(output.lineEnd(),output.lineStart(),k=i-1;k>=j;--k)output.point(x0z[k],y0z[k]); -output.lineEnd(),output.areaEnd()}defined0&&(x0z[i]=+x0(d,i,data),y0z[i]=+y0(d,i,data),output.point(x1?+x1(d,i,data):x0z[i],y1?+y1(d,i,data):y0z[i]))}return buffer?(output=null,buffer+""||null):void 0}var x0=x,x1=null,y0=constant(0),y1=y,defined=constant(!0),context=null,curve=curveLinear,output=null;return area.x=function(_){return arguments.length?(x0="function"==typeof _?_:constant(+_),x1=null,area):x0},area.x0=function(_){return arguments.length?(x0="function"==typeof _?_:constant(+_),area):x0},area.x1=function(_){return arguments.length?(x1=null==_?null:"function"==typeof _?_:constant(+_),area):x1},area.y=function(_){return arguments.length?(y0="function"==typeof _?_:constant(+_),y1=null,area):y0},area.y0=function(_){return arguments.length?(y0="function"==typeof _?_:constant(+_),area):y0},area.y1=function(_){return arguments.length?(y1=null==_?null:"function"==typeof _?_:constant(+_),area):y1},area.defined=function(_){return arguments.length?(defined="function"==typeof _?_:constant(!!_),area):defined},area.curve=function(_){return arguments.length?(curve=bind(_,arguments),null!=context&&(output=curve(context)),area):curve},area.context=function(_){return arguments.length?(null==_?context=output=null:output=curve(context=_),area):context},area}function line(){function line(data){var i,d,buffer,n=data.length,defined0=!1;for(context||(output=curve(buffer=d3Path.path())),i=0;n>=i;++i)!(n>i&&defined(d=data[i],i,data))===defined0&&((defined0=!defined0)?output.lineStart():output.lineEnd()),defined0&&output.point(+x$$(d,i,data),+y$$(d,i,data));return buffer?(output=null,buffer+""||null):void 0}var x$$=x,y$$=y,defined=constant(!0),context=null,curve=curveLinear,output=null;return line.x=function(_){return arguments.length?(x$$="function"==typeof _?_:constant(+_),line):x$$},line.y=function(_){return arguments.length?(y$$="function"==typeof _?_:constant(+_),line):y$$},line.defined=function(_){return arguments.length?(defined="function"==typeof _?_:constant(!!_),line):defined},line.curve=function(_){return arguments.length?(curve=bind(_,arguments),null!=context&&(output=curve(context)),line):curve},line.context=function(_){return arguments.length?(null==_?context=output=null:output=curve(context=_),line):context},line}function descending$1(a,b){return a>b?-1:b>a?1:b>=a?0:NaN}function identity(d){return d}function pie(){function pie(data){var i,j,k,a1,v,n=data.length,sum=0,index=new Array(n),arcs=new Array(n),a0=+startAngle.apply(this,arguments),da=Math.min(tau,Math.max(-tau,endAngle.apply(this,arguments)-a0)),p=Math.min(Math.abs(da)/n,padAngle.apply(this,arguments)),pa=p*(0>da?-1:1);for(i=0;n>i;++i)(v=arcs[index[i]=i]=+value(data[i],i,data))>0&&(sum+=v);for(null!=sortValues?index.sort(function(i,j){return sortValues(arcs[i],arcs[j])}):null!==sort&&index.sort(function(i,j){return sort(data[i],data[j])}),i=0,k=sum?(da-n*pa)/sum:0;n>i;++i,a0=a1)j=index[i],v=arcs[j],a1=a0+(v>0?v*k:0)+pa,arcs[j]={data:data[j],index:i,value:v,startAngle:a0,endAngle:a1,padAngle:p};return arcs}var value=identity,sortValues=descending$1,sort=null,startAngle=constant(0),endAngle=constant(tau),padAngle=constant(0);return pie.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),pie):value},pie.sortValues=function(_){return arguments.length?(sortValues=_,sort=null,pie):sortValues},pie.sort=function(_){return arguments.length?(sort=_,sortValues=null,pie):sort},pie.startAngle=function(_){return arguments.length?(startAngle="function"==typeof _?_:constant(+_),pie):startAngle},pie.endAngle=function(_){return arguments.length?(endAngle="function"==typeof _?_:constant(+_),pie):endAngle},pie.padAngle=function(_){return arguments.length?(padAngle="function"==typeof _?_:constant(+_),pie):padAngle},pie}function Radial(curve){this._curve=curve}function curveRadial(curve,args){function radial(context){return new Radial(curve(context))}return curve=bind(curve,args),radial._curve=curve,radial}function radialArea(){var a=area(),c=a.curve;return a.angle=a.x,delete a.x,a.startAngle=a.x0,delete a.x0,a.endAngle=a.x1,delete a.x1,a.radius=a.y,delete a.y,a.innerRadius=a.y0,delete a.y0,a.outerRadius=a.y1,delete a.y1,a.curve=function(_){return arguments.length?c(curveRadial(_,arguments)):c()._curve},a.curve(curveLinear)}function radialLine(){var l=line(),c=l.curve;return l.angle=l.x,delete l.x,l.radius=l.y,delete l.y,l.curve=function(_){return arguments.length?c(curveRadial(_,arguments)):c()._curve},l.curve(curveLinear)}function symbol(){function symbol(){var buffer;return context||(context=buffer=d3Path.path()),type.apply(this,arguments).draw(context,+size.apply(this,arguments)),buffer?(context=null,buffer+""||null):void 0}var type=constant(circle),size=constant(64),context=null;return symbol.type=function(_){return arguments.length?(type="function"==typeof _?_:constant(_),symbol):type},symbol.size=function(_){return arguments.length?(size="function"==typeof _?_:constant(+_),symbol):size},symbol.context=function(_){return arguments.length?(context=null==_?null:_,symbol):context},symbol}function noop(){}function point(that,x,y){that._context.bezierCurveTo((2*that._x0+that._x1)/3,(2*that._y0+that._y1)/3,(that._x0+2*that._x1)/3,(that._y0+2*that._y1)/3,(that._x0+4*that._x1+x)/6,(that._y0+4*that._y1+y)/6)}function Basis(context){this._context=context}function basis(context){return new Basis(context)}function BasisClosed(context){this._context=context}function basisClosed(context){return new BasisClosed(context)}function BasisOpen(context){this._context=context}function basisOpen(context){return new BasisOpen(context)}function Bundle(context,beta){this._basis=basis(context),this._beta=beta}function bundle(context,beta){return null==beta?new Bundle(context,.85):1===(beta=+beta)?basis(context):new Bundle(context,beta)}function point$1(that,x,y){that._context.bezierCurveTo(that._x1+that._k*(that._x2-that._x0),that._y1+that._k*(that._y2-that._y0),that._x2+that._k*(that._x1-x),that._y2+that._k*(that._y1-y),that._x2,that._y2)}function Cardinal(context,k){this._context=context,this._k=k}function cardinal(context,tension){return new Cardinal(context,(null==tension?1:1-tension)/6)}function CardinalClosed(context,k){this._context=context,this._k=k}function cardinalClosed(context,tension){return new CardinalClosed(context,(null==tension?1:1-tension)/6)}function CardinalOpen(context,k){this._context=context,this._k=k}function cardinalOpen(context,tension){return new CardinalOpen(context,(null==tension?1:1-tension)/6)}function point$2(that,x,y){var x1=that._x1,y1=that._y1,x2=that._x2,y2=that._y2;if(that._l01_a>epsilon){var a=2*that._l01_2a+3*that._l01_a*that._l12_a+that._l12_2a,n=3*that._l01_a*(that._l01_a+that._l12_a);x1=(x1*a-that._x0*that._l12_2a+that._x2*that._l01_2a)/n,y1=(y1*a-that._y0*that._l12_2a+that._y2*that._l01_2a)/n}if(that._l23_a>epsilon){var b=2*that._l23_2a+3*that._l23_a*that._l12_a+that._l12_2a,m=3*that._l23_a*(that._l23_a+that._l12_a);x2=(x2*b+that._x1*that._l23_2a-x*that._l12_2a)/m,y2=(y2*b+that._y1*that._l23_2a-y*that._l12_2a)/m}that._context.bezierCurveTo(x1,y1,x2,y2,that._x2,that._y2)}function CatmullRom(context,alpha){this._context=context,this._alpha=alpha}function catmullRom(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRom(context,alpha):cardinal(context,0)}function CatmullRomClosed(context,alpha){this._context=context,this._alpha=alpha}function catmullRomClosed(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRomClosed(context,alpha):cardinalClosed(context,0)}function CatmullRomOpen(context,alpha){this._context=context,this._alpha=alpha}function catmullRomOpen(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRomOpen(context,alpha):cardinalOpen(context,0)}function LinearClosed(context){this._context=context}function linearClosed(context){return new LinearClosed(context)}function sign(x){return 0>x?-1:1}function slope3(that,x2,y2){var h0=that._x1-that._x0,h1=x2-that._x1,s0=(that._y1-that._y0)/(h0||0>h1&&-0),s1=(y2-that._y1)/(h1||0>h0&&-0),p=(s0*h1+s1*h0)/(h0+h1);return(sign(s0)+sign(s1))*Math.min(Math.abs(s0),Math.abs(s1),.5*Math.abs(p))||0}function slope2(that,t){var h=that._x1-that._x0;return h?(3*(that._y1-that._y0)/h-t)/2:t}function point$3(that,t0,t1){var x0=that._x0,y0=that._y0,x1=that._x1,y1=that._y1,dx=(x1-x0)/3;that._context.bezierCurveTo(x0+dx,y0+dx*t0,x1-dx,y1-dx*t1,x1,y1)}function MonotoneX(context){this._context=context}function MonotoneY(context){this._context=new ReflectContext(context)}function ReflectContext(context){this._context=context}function monotoneX(context){return new MonotoneX(context)}function monotoneY(context){return new MonotoneY(context)}function Natural(context){this._context=context}function controlPoints(x){var i,m,n=x.length-1,a=new Array(n),b=new Array(n),r=new Array(n);for(a[0]=0,b[0]=2,r[0]=x[0]+2*x[1],i=1;n-1>i;++i)a[i]=1,b[i]=4,r[i]=4*x[i]+2*x[i+1];for(a[n-1]=2,b[n-1]=7,r[n-1]=8*x[n-1]+x[n],i=1;n>i;++i)m=a[i]/b[i-1],b[i]-=m,r[i]-=m*r[i-1];for(a[n-1]=r[n-1]/b[n-1],i=n-2;i>=0;--i)a[i]=(r[i]-a[i+1])/b[i];for(b[n-1]=(x[n]+a[n-1])/2,i=0;n-1>i;++i)b[i]=2*x[i+1]-a[i+1];return[a,b]}function natural(context){return new Natural(context)}function Step(context,t){this._context=context,this._t=t}function step(context){return new Step(context,.5)}function stepBefore(context){return new Step(context,0)}function stepAfter(context){return new Step(context,1)}function none(series,order){if((n=series.length)>1)for(var s0,n,i=1,s1=series[order[0]],m=s1.length;n>i;++i){s0=s1,s1=series[order[i]];for(var j=0;m>j;++j)s1[j][1]+=s1[j][0]=isNaN(s0[j][1])?s0[j][0]:s0[j][1]}}function none$1(series){for(var n=series.length,o=new Array(n);--n>=0;)o[n]=n;return o}function stackValue(d,key){return d[key]}function stack(){function stack(data){var i,oz,kz=keys.apply(this,arguments),m=data.length,n=kz.length,sz=new Array(n);for(i=0;n>i;++i){for(var sij,ki=kz[i],si=sz[i]=new Array(m),j=0;m>j;++j)si[j]=sij=[0,+value(data[j],ki,j,data)],sij.data=data[j];si.key=ki}for(i=0,oz=order(sz);n>i;++i)sz[oz[i]].index=i;return offset(sz,oz),sz}var keys=constant([]),order=none$1,offset=none,value=stackValue;return stack.keys=function(_){return arguments.length?(keys="function"==typeof _?_:constant(slice$1.call(_)),stack):keys},stack.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),stack):value},stack.order=function(_){return arguments.length?(order=null==_?none$1:"function"==typeof _?_:constant(slice$1.call(_)),stack):order},stack.offset=function(_){return arguments.length?(offset=null==_?none:_,stack):offset},stack}function expand(series,order){if((n=series.length)>0){for(var i,n,y,j=0,m=series[0].length;m>j;++j){for(y=i=0;n>i;++i)y+=series[i][j][1]||0;if(y)for(i=0;n>i;++i)series[i][j][1]/=y}none(series,order)}}function silhouette(series,order){if((n=series.length)>0){for(var n,j=0,s0=series[order[0]],m=s0.length;m>j;++j){for(var i=0,y=0;n>i;++i)y+=series[i][j][1]||0;s0[j][1]+=s0[j][0]=-y/2}none(series,order)}}function wiggle(series,order){if((n=series.length)>0&&(m=(s0=series[order[0]]).length)>0){for(var s0,m,n,y=0,j=1;m>j;++j){for(var i=0,s1=0,s2=0;n>i;++i){for(var si=series[order[i]],sij0=si[j][1]||0,sij1=si[j-1][1]||0,s3=(sij0-sij1)/2,k=0;i>k;++k){var sk=series[order[k]],skj0=sk[j][1]||0,skj1=sk[j-1][1]||0;s3+=skj0-skj1}s1+=sij0,s2+=s3*sij0}s0[j-1][1]+=s0[j-1][0]=y,s1&&(y-=s2/s1)}s0[j-1][1]+=s0[j-1][0]=y,none(series,order)}}function ascending(series){var sums=series.map(sum);return none$1(series).sort(function(a,b){return sums[a]-sums[b]})}function sum(series){for(var v,s=0,i=-1,n=series.length;++ii;++i)j=order[i],bottom>top?(top+=sums[j],tops.push(j)):(bottom+=sums[j],bottoms.push(j));return bottoms.reverse().concat(tops)}function reverse(series){return none$1(series).reverse()}var epsilon=1e-12,pi=Math.PI,halfPi=pi/2,tau=2*pi,slice=Array.prototype.slice;Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:this._context.lineTo(x,y)}}},Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(a,r){a-=halfPi,this._curve.point(r*Math.cos(a),r*Math.sin(a))}};var circle={draw:function(context,size){var r=Math.sqrt(size/pi);context.moveTo(r,0),context.arc(0,0,r,0,tau)}},cross={draw:function(context,size){var r=Math.sqrt(size/5)/2;context.moveTo(-3*r,-r),context.lineTo(-r,-r),context.lineTo(-r,-3*r),context.lineTo(r,-3*r),context.lineTo(r,-r),context.lineTo(3*r,-r),context.lineTo(3*r,r),context.lineTo(r,r),context.lineTo(r,3*r),context.lineTo(-r,3*r),context.lineTo(-r,r),context.lineTo(-3*r,r),context.closePath()}},tan30=Math.sqrt(1/3),tan30_2=2*tan30,diamond={draw:function(context,size){var y=Math.sqrt(size/tan30_2),x=y*tan30;context.moveTo(0,-y),context.lineTo(x,0),context.lineTo(0,y),context.lineTo(-x,0),context.closePath()}},ka=.8908130915292852,kr=Math.sin(pi/10)/Math.sin(7*pi/10),kx=Math.sin(tau/10)*kr,ky=-Math.cos(tau/10)*kr,star={draw:function(context,size){var r=Math.sqrt(size*ka),x=kx*r,y=ky*r;context.moveTo(0,-r),context.lineTo(x,y);for(var i=1;5>i;++i){var a=tau*i/5,c=Math.cos(a),s=Math.sin(a);context.lineTo(s*r,-c*r),context.lineTo(c*x-s*y,s*x+c*y)}context.closePath()}},square={draw:function(context,size){var w=Math.sqrt(size),x=-w/2;context.rect(x,x,w,w)}},sqrt3=Math.sqrt(3),triangle={draw:function(context,size){var y=-Math.sqrt(size/(3*sqrt3));context.moveTo(0,2*y),context.lineTo(-sqrt3*y,-y),context.lineTo(sqrt3*y,-y),context.closePath()}},c=-.5,s=Math.sqrt(3)/2,k=1/Math.sqrt(12),a=3*(k/2+1),wye={draw:function(context,size){var r=Math.sqrt(size/a),x0=r/2,y0=r*k,x1=x0,y1=r*k+r,x2=-x1,y2=y1;context.moveTo(x0,y0),context.lineTo(x1,y1),context.lineTo(x2,y2),context.lineTo(c*x0-s*y0,s*x0+c*y0),context.lineTo(c*x1-s*y1,s*x1+c*y1),context.lineTo(c*x2-s*y2,s*x2+c*y2),context.lineTo(c*x0+s*y0,c*y0-s*x0),context.lineTo(c*x1+s*y1,c*y1-s*x1),context.lineTo(c*x2+s*y2,c*y2-s*x2),context.closePath()}},symbols=[circle,cross,diamond,square,star,triangle,wye];Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:point(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point(this,x,y)}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y}},BasisClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._x2=x,this._y2=y;break;case 1:this._point=2,this._x3=x,this._y3=y;break;case 2:this._point=3,this._x4=x,this._y4=y,this._context.moveTo((this._x0+4*this._x1+x)/6,(this._y0+4*this._y1+y)/6);break;default:point(this,x,y)}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y}},BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var x0=(this._x0+4*this._x1+x)/6,y0=(this._y0+4*this._y1+y)/6;this._line?this._context.lineTo(x0,y0):this._context.moveTo(x0,y0);break;case 3:this._point=4;default:point(this,x,y)}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y}},Bundle.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var x=this._x,y=this._y,j=x.length-1;if(j>0)for(var t,x0=x[0],y0=y[0],dx=x[j]-x0,dy=y[j]-y0,i=-1;++i<=j;)t=i/j,this._basis.point(this._beta*x[i]+(1-this._beta)*(x0+t*dx),this._beta*y[i]+(1-this._beta)*(y0+t*dy));this._x=this._y=null,this._basis.lineEnd()},point:function(x,y){this._x.push(+x),this._y.push(+y)}},Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$1(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2,this._x1=x,this._y1=y;break;case 2:this._point=3;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CardinalClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._x3=x,this._y3=y;break;case 1:this._point=2,this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3,this._x5=x,this._y5=y;break;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this,this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRomClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=x,this._y3=y;break;case 1:this._point=2,this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3,this._x5=x,this._y5=y;break;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},LinearClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(x,y){x=+x,y=+y,this._point?this._context.lineTo(x,y):(this._point=1,this._context.moveTo(x,y))}},MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point$3(this,this._t0,slope2(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){var t1=NaN;if(x=+x,y=+y,x!==this._x1||y!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3,point$3(this,slope2(this,t1=slope3(this,x,y)),t1);break;default:point$3(this,this._t0,t1=slope3(this,x,y))}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y,this._t0=t1}}},(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(x,y){MonotoneX.prototype.point.call(this,y,x)},ReflectContext.prototype={moveTo:function(x,y){this._context.moveTo(y,x)},closePath:function(){this._context.closePath()},lineTo:function(x,y){this._context.lineTo(y,x)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._context.bezierCurveTo(y1,x1,y2,x2,y,x)}},Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var x=this._x,y=this._y,n=x.length;if(n)if(this._line?this._context.lineTo(x[0],y[0]):this._context.moveTo(x[0],y[0]),2===n)this._context.lineTo(x[1],y[1]);else for(var px=controlPoints(x),py=controlPoints(y),i0=0,i1=1;n>i1;++i0,++i1)this._context.bezierCurveTo(px[0][i0],py[0][i0],px[1][i0],py[1][i0],x[i1],y[i1]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(x,y){this._x.push(+x),this._y.push(+y)}},Step.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0this._x?this._t:1-this._t;if(0>=t)this._context.lineTo(this._x,y),this._context.lineTo(x,y);else if(t>=1)this._context.lineTo(x,this._y),this._context.lineTo(x,y);else{var x1=(this._x+x)*t;this._context.lineTo(x1,this._y),this._context.lineTo(x1,y)}}this._x=x,this._y=y}};var slice$1=Array.prototype.slice,version="0.5.1";exports.version=version,exports.arc=arc,exports.area=area,exports.line=line,exports.pie=pie,exports.radialArea=radialArea,exports.radialLine=radialLine,exports.symbol=symbol,exports.symbols=symbols,exports.symbolCircle=circle,exports.symbolCross=cross,exports.symbolDiamond=diamond,exports.symbolSquare=square,exports.symbolStar=star,exports.symbolTriangle=triangle,exports.symbolWye=wye,exports.curveBasisClosed=basisClosed,exports.curveBasisOpen=basisOpen,exports.curveBasis=basis,exports.curveBundle=bundle,exports.curveCardinalClosed=cardinalClosed,exports.curveCardinalOpen=cardinalOpen,exports.curveCardinal=cardinal,exports.curveCatmullRomClosed=catmullRomClosed,exports.curveCatmullRomOpen=catmullRomOpen,exports.curveCatmullRom=catmullRom,exports.curveLinearClosed=linearClosed,exports.curveLinear=curveLinear,exports.curveMonotoneX=monotoneX,exports.curveMonotoneY=monotoneY,exports.curveNatural=natural,exports.curveStep=step,exports.curveStepAfter=stepAfter,exports.curveStepBefore=stepBefore,exports.stack=stack,exports.stackOffsetExpand=expand,exports.stackOffsetNone=none,exports.stackOffsetSilhouette=silhouette,exports.stackOffsetWiggle=wiggle,exports.stackOrderAscending=ascending,exports.stackOrderDescending=descending,exports.stackOrderInsideOut=insideOut,exports.stackOrderNone=none$1,exports.stackOrderReverse=reverse})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function Path(){this._x0=this._y0=this._x1=this._y1=null,this._=[]}function path(){return new Path}var pi=Math.PI,tau=2*pi,epsilon=1e-6,tauEpsilon=tau-epsilon;Path.prototype=path.prototype={constructor:Path,moveTo:function(x,y){this._.push("M",this._x0=this._x1=+x,",",this._y0=this._y1=+y)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._.push("Z"))},lineTo:function(x,y){this._.push("L",this._x1=+x,",",this._y1=+y)},quadraticCurveTo:function(x1,y1,x,y){this._.push("Q",+x1,",",+y1,",",this._x1=+x,",",this._y1=+y)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._.push("C",+x1,",",+y1,",",+x2,",",+y2,",",this._x1=+x,",",this._y1=+y)},arcTo:function(x1,y1,x2,y2,r){x1=+x1,y1=+y1,x2=+x2,y2=+y2,r=+r;var x0=this._x1,y0=this._y1,x21=x2-x1,y21=y2-y1,x01=x0-x1,y01=y0-y1,l01_2=x01*x01+y01*y01;if(0>r)throw new Error("negative radius: "+r);if(null===this._x1)this._.push("M",this._x1=x1,",",this._y1=y1);else if(l01_2>epsilon)if(Math.abs(y01*x21-y21*x01)>epsilon&&r){var x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;Math.abs(t01-1)>epsilon&&this._.push("L",x1+t01*x01,",",y1+t01*y01),this._.push("A",r,",",r,",0,0,",+(y01*x20>x01*y20),",",this._x1=x1+t21*x21,",",this._y1=y1+t21*y21)}else this._.push("L",this._x1=x1,",",this._y1=y1);else;},arc:function(x,y,r,a0,a1,ccw){x=+x,y=+y,r=+r;var dx=r*Math.cos(a0),dy=r*Math.sin(a0),x0=x+dx,y0=y+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;if(0>r)throw new Error("negative radius: "+r);null===this._x1?this._.push("M",x0,",",y0):(Math.abs(this._x1-x0)>epsilon||Math.abs(this._y1-y0)>epsilon)&&this._.push("L",x0,",",y0),r&&(da>tauEpsilon?this._.push("A",r,",",r,",0,1,",cw,",",x-dx,",",y-dy,"A",r,",",r,",0,1,",cw,",",this._x1=x0,",",this._y1=y0):(0>da&&(da=da%tau+tau),this._.push("A",r,",",r,",0,",+(da>=pi),",",cw,",",this._x1=x+r*Math.cos(a1),",",this._y1=y+r*Math.sin(a1))))},rect:function(x,y,w,h){this._.push("M",this._x0=this._x1=+x,",",this._y0=this._y1=+y,"h",+w,"v",+h,"h",-w,"Z")},toString:function(){return this._.join("")}};var version="0.1.5";exports.version=version,exports.path=path})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i=0&&domain[0]>=0?yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0?yScaleSet.range()[1]:void 0}).y1(function(d){return yScaleSet(d.y)});return area.call(this,data)}},{key:"render",value:function(){var area=this._mkArea();return _react2["default"].createElement("g",null,area)}}]),Area}(_react.Component);Area.defaultProps=_extends({areaClassName:"react-d3-basic__area"},_commonProps2["default"]),exports["default"]=Area},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i=0?(d.y0=currentXOffsets[1],d.y=y,currentXOffsets[1]+=y):(d.y0=currentXOffsets[0]+y,d.y=-y,currentXOffsets[0]+=y)}};return d3.layout.stack().values(function(d){return d.data}).out(buildOut(chartSeries.length))}},{key:"_setAxes",value:function(){var _props=this.props,xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet;return _d3Shape2["default"].area().x(function(d){return xScaleSet(d.x)}).y0(function(d){return yScaleSet(d.y0)}).y1(function(d){return yScaleSet(d.y0+d.y)})}},{key:"render",value:function(){var area=this._mkStack();return _react2["default"].createElement("g",null,area)}}]),AreaStack}(_react.Component);AreaStack.defaultProps=_extends({areaClass:"react-d3-basics__area_stack",areaClassName:"react-d3-basic__area_stack"},_commonProps2["default"]),exports["default"]=AreaStack},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),_react2["default"].createElement("g",null,dataset.data.map(function(bar){return _react2["default"].createElement("rect",{className:barClassName+" bar",x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x):-1e4,y:bar.y<0?zeroBase:yScaleSet(bar.y),width:xScaleSet.bandwidth(),height:bar.y=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),_react2["default"].createElement("g",null,dataset.data.map(function(bar){return _react2["default"].createElement("rect",{className:barClassName+" bar",y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y):-1e4,x:bar.x>0?zeroBase:zeroBase-Math.abs(zeroBase-xScaleSet(bar.x)),height:yScaleSet.bandwidth(),width:bar.x=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),dataset.map(function(barGroup,i){return _react2["default"].createElement("g",{className:"bargroup"},barGroup.data.map(function(bar){return _react2["default"].createElement("rect",{className:barClassName+" bar",width:x1.bandwidth(),x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x)+x1.bandwidth()*i:-1e4,y:bar.y<0?zeroBase:yScaleSet(bar.y),height:bar.y=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),_react2["default"].createElement("g",null,dataset.map(function(barGroup,i){return _react2["default"].createElement("g",{className:"bargroup"},barGroup.data.map(function(bar){return _react2["default"].createElement("rect",{className:barClassName+" bar",height:y1.bandwidth(),y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y)+y1.bandwidth()*i:-1e4,x:bar.x>0?zeroBase:zeroBase-Math.abs(zeroBase-xScaleSet(bar.x)),width:bar.x=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),_react2["default"].createElement("g",null,_setStack(dataset).map(function(barGroup){return _react2["default"].createElement("g",{className:"barGroup",fill:barGroup.color,style:barGroup.style},barGroup.data.map(function(bar){return _react2["default"].createElement("rect",{className:barClassName+" bar",width:xScaleSet.bandwidth(),x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x):-1e4,y:yScaleSet(bar.y0+bar.y),height:Math.abs(yScaleSet(bar.y)-yScaleSet(0)),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar)})}))}))}},{key:"_setStack",value:function(){var chartSeries=this.props.chartSeries,buildOut=function(len){var currentXOffsets=[],currentXIndex=0;return function(d,y0,y){currentXIndex++%len===0&&(currentXOffsets=[0,0]),y>=0?(d.y0=currentXOffsets[1],d.y=y,currentXOffsets[1]+=y):(d.y0=currentXOffsets[0]+y,d.y=-y,currentXOffsets[0]+=y)}};return _d2["default"].layout.stack().values(function(d){return d.data}).out(buildOut(chartSeries.length))}},{key:"render",value:function(){var bar=this._mkBarStack();return _react2["default"].createElement("g",null,bar)}}]),BarStack}(_react.Component);BarStack.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_stack"},exports["default"]=BarStack},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),_react2["default"].createElement("g",null,_setStack(dataset).map(function(barGroup){return _react2["default"].createElement("g",{className:"barGroup",fill:barGroup.color,style:barGroup.style},barGroup.data.map(function(bar){return _react2["default"].createElement("rect",{className:barClassName+" bar",height:yScaleSet.bandwidth(),y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y):-1e4,x:xScaleSet(bar.x0),width:Math.abs(xScaleSet(bar.x)-xScaleSet(0)),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar)})}))}))}},{key:"_setStack",value:function(){var chartSeries=this.props.chartSeries,buildOut=function(len){var currentXOffsets=[],currentXIndex=0;return function(d,x0,x){currentXIndex++%len===0&&(currentXOffsets=[0,0]),x>=0?(d.x0=currentXOffsets[1],d.x=x,currentXOffsets[1]+=x):(d.x0=currentXOffsets[0]+x,d.x=-x,currentXOffsets[0]+=x)}};return _d2["default"].layout.stack().values(function(d){return d.data}).y(function(d){return d.x}).out(buildOut(chartSeries.length))}},{key:"render",value:function(){var bar=this._mkBarStack();return _react2["default"].createElement("g",null,bar)}}]),BarStackHorizontal}(_react.Component);BarStackHorizontal.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_stack_horizontal"},exports["default"]=BarStackHorizontal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;iMath.PI?"end":"start"};return _react2["default"].createElement("g",{key:i},_react2["default"].createElement("path",{d:arc(slice),style:_extends({fill:slice.data.color,stroke:"#FFF"},slice.data.style),onMouseOut:that.triggerOut.bind(_this2,slice),onMouseOver:that.triggerOver.bind(_this2,slice)}),pieTextShow?_react2["default"].createElement("text",{transform:textTransform(slice),dy:".35em",textAnchor:textAnchor(slice)},slice.data.name):null)}))}},{key:"render",value:function(){var _props3=this.props,width=_props3.width,height=_props3.height,margins=_props3.margins,t="translate("+(width-margins.left-margins.right)/2+", "+(height-margins.top-margins.bottom)/2+")",pie=this._mkPie();return _react2["default"].createElement("g",{transform:t},pie)}}]),Pie}(_react.Component);Pie.defaultProps=_extends({onMouseOver:function(d){},onMouseOut:function(d){}},_commonProps.pieProps),exports["default"]=Pie},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i=b?1:d(x)}}}function reinterpolateClamp(reinterpolate){return function(a,b){var r=reinterpolate(a=+a,b=+b);return function(t){return t<=0?a:t>=1?b:r(t)}}}function bimap(domain,range,deinterpolate,reinterpolate){var d0=domain[0],d1=domain[1],r0=range[0],r1=range[1];return d12?polymap:bimap;return output=map(domain,range,clamp?deinterpolateClamp(deinterpolate$$):deinterpolate$$,interpolate),input=map(range,domain,deinterpolate,clamp?reinterpolateClamp(reinterpolate):reinterpolate),scale}function scale(x){return output(+x)}var output,input,domain=unit,range=unit,interpolate=d3Interpolate.interpolate,clamp=!1;return scale.invert=function(y){return input(+y)},scale.domain=function(_){return arguments.length?(domain=map$1.call(_,number),rescale()):domain.slice()},scale.range=function(_){return arguments.length?(range=slice.call(_),rescale()):range.slice()},scale.rangeRound=function(_){return range=slice.call(_),interpolate=d3Interpolate.interpolateRound,rescale()},scale.clamp=function(_){return arguments.length?(clamp=!!_,rescale()):clamp},scale.interpolate=function(_){return arguments.length?(interpolate=_,rescale()):interpolate},rescale()}function tickFormat(domain,count,specifier){var precision,start=domain[0],stop=domain[domain.length-1],step=d3Array.tickStep(start,stop,null==count?10:count);switch(specifier=d3Format.formatSpecifier(null==specifier?",f":specifier),specifier.type){case"s":var value=Math.max(Math.abs(start),Math.abs(stop));return null!=specifier.precision||isNaN(precision=d3Format.precisionPrefix(step,value))||(specifier.precision=precision),d3Format.formatPrefix(specifier,value);case"":case"e":case"g":case"p":case"r":null!=specifier.precision||isNaN(precision=d3Format.precisionRound(step,Math.max(Math.abs(start),Math.abs(stop))))||(specifier.precision=precision-("e"===specifier.type));break;case"f":case"%":null!=specifier.precision||isNaN(precision=d3Format.precisionFixed(step))||(specifier.precision=precision-2*("%"===specifier.type))}return d3Format.format(specifier)}function linearish(scale){var domain=scale.domain;return scale.ticks=function(count){var d=domain();return d3Array.ticks(d[0],d[d.length-1],null==count?10:count)},scale.tickFormat=function(count,specifier){return tickFormat(domain(),count,specifier)},scale.nice=function(count){var d=domain(),i=d.length-1,n=null==count?10:count,start=d[0],stop=d[i],step=d3Array.tickStep(start,stop,n);return step&&(step=d3Array.tickStep(Math.floor(start/step)*step,Math.ceil(stop/step)*step,n),d[0]=Math.floor(start/step)*step,d[i]=Math.ceil(stop/step)*step,domain(d)),scale},scale}function linear(){var scale=continuous(deinterpolate,d3Interpolate.interpolateNumber);return scale.copy=function(){return copy(scale,linear())},linearish(scale)}function identity(){function scale(x){return+x}var domain=[0,1];return scale.invert=scale,scale.domain=scale.range=function(_){return arguments.length?(domain=map$1.call(_,number),scale):domain.slice()},scale.copy=function(){return identity().domain(domain)},linearish(scale)}function nice(domain,interval){domain=domain.slice();var t,i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1];return x10){for(;iv)break;z.push(t)}}else for(;i=1;--k)if(!((t=p*k)v)break;z.push(t)}r&&z.reverse()}else z=d3Array.ticks(i,j,Math.min(j-i,n)).map(pows);return z},scale.tickFormat=function(count,specifier){if(null==specifier&&(specifier=10===base?".0e":","),"function"!=typeof specifier&&(specifier=d3Format.format(specifier)),count===1/0)return specifier;null==count&&(count=10);var k=Math.max(1,base*count/scale.ticks().length);return function(d){var i=d/pows(Math.round(logs(d)));return i*base0?thresholds[i-1]:domain[0],i=n?[domain[n-1],x1]:[domain[i-1],domain[i]]},scale.copy=function(){return quantize().domain([x0,x1]).range(range)},linearish(scale)}function threshold(){function scale(x){if(x<=x)return range[d3Array.bisect(domain,x,0,n)]}var domain=[.5],range=[0,1],n=1;return scale.domain=function(_){return arguments.length?(domain=slice.call(_),n=Math.min(domain.length,range.length-1),scale):domain.slice()},scale.range=function(_){return arguments.length?(range=slice.call(_),n=Math.min(domain.length,range.length-1),scale):range.slice()},scale.invertExtent=function(y){var i=range.indexOf(y);return[domain[i-1],domain[i]]},scale.copy=function(){return threshold().domain(domain).range(range)},scale}function newDate(t){return new Date(t)}function calendar(year,month,week,day,hour,minute,second,millisecond,format){function tickFormat(date){return(second(date)1)&&(t-=Math.floor(t));var ts=Math.abs(t-.5);return rainbow.h=360*t-100,rainbow.s=1.5-1.5*ts,rainbow.l=.8-.9*ts,rainbow+""})}function ramp(range){var s=sequential(function(t){return range[Math.round(t*range.length-t)]}).clamp(!0);return delete s.clamp,s}function viridis(){return ramp(rangeViridis)}function magma(){return ramp(rangeMagma)}function inferno(){return ramp(rangeInferno)}function plasma(){return ramp(rangePlasma)}var array=Array.prototype,map$1=array.map,slice=array.slice,implicit={name:"implicit"},unit=[0,1],durationSecond=1e3,durationMinute=60*durationSecond,durationHour=60*durationMinute,durationDay=24*durationHour,durationWeek=7*durationDay,durationMonth=30*durationDay,durationYear=365*durationDay,colors10=colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),colors20b=colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),colors20c=colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),colors20=colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),rangeViridis=colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"),rangeMagma=colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"),rangeInferno=colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"),rangePlasma=colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921");exports.version="0.6.4",exports.scaleBand=band,exports.scalePoint=point,exports.scaleIdentity=identity,exports.scaleLinear=linear,exports.scaleLog=log,exports.scaleOrdinal=ordinal,exports.scaleImplicit=implicit,exports.scalePow=pow,exports.scaleSqrt=sqrt,exports.scaleQuantile=quantile$1,exports.scaleQuantize=quantize,exports.scaleThreshold=threshold,exports.scaleTime=time,exports.scaleUtc=utcTime,exports.scaleCategory10=category10,exports.scaleCategory20b=category20b,exports.scaleCategory20c=category20c,exports.scaleCategory20=category20,exports.scaleCubehelix=cubehelix$1,exports.scaleRainbow=rainbow,exports.scaleWarm=warm,exports.scaleCool=cool,exports.scaleViridis=viridis,exports.scaleMagma=magma,exports.scaleInferno=inferno,exports.scalePlasma=plasma})},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.pieProps=void 0;var _d3Scale=__webpack_require__(15),_d3Scale2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_d3Scale),margins={top:80,right:100,bottom:80,left:100};exports.default={width:960,height:500,margins:margins,y:function(d){return+d},xScale:"linear",yScale:"linear",showXGrid:!0,showYGrid:!0};exports.pieProps={width:960,height:500,margins:margins,innerRadius:0,categoricalColors:_d3Scale2.default.scaleCategory10(),pieSort:function(){},pieTextShow:!0}},function(module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(fun){if(cachedSetTimeout===setTimeout)return setTimeout(fun,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(fun,0);try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout)return clearTimeout(marker);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(marker);try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var timeout=runTimeout(cleanUpNextTick);draining=!0;for(var len=queue.length;len;){for(currentQueue=queue,queue=[];++queueIndex1)for(var i=1;i=1?halfPi:x<=-1?-halfPi:Math.asin(x)}function intersect(x0,y0,x1,y1,x2,y2,x3,y3){var x10=x1-x0,y10=y1-y0,x32=x3-x2,y32=y3-y2,t=(x32*(y0-y2)-y32*(x0-x2))/(y32*x10-x32*y10);return[x0+t*x10,y0+t*y10]}function cornerTangents(x0,y0,x1,y1,r1,rc,cw){var x01=x0-x1,y01=y0-y1,lo=(cw?rc:-rc)/Math.sqrt(x01*x01+y01*y01),ox=lo*y01,oy=-lo*x01,x11=x0+ox,y11=y0+oy,x10=x1+ox,y10=y1+oy,x00=(x11+x10)/2,y00=(y11+y10)/2,dx=x10-x11,dy=y10-y11,d2=dx*dx+dy*dy,r=r1-rc,D=x11*y10-x10*y11,d=(dy<0?-1:1)*Math.sqrt(Math.max(0,r*r*d2-D*D)),cx0=(D*dy-dx*d)/d2,cy0=(-D*dx-dy*d)/d2,cx1=(D*dy+dx*d)/d2,cy1=(-D*dx+dy*d)/d2,dx0=cx0-x00,dy0=cy0-y00,dx1=cx1-x00,dy1=cy1-y00;return dx0*dx0+dy0*dy0>dx1*dx1+dy1*dy1&&(cx0=cx1,cy0=cy1),{cx:cx0,cy:cy0,x01:-ox,y01:-oy,x11:cx0*(r1/r-1),y11:cy0*(r1/r-1)}}function arc(){function arc(){var buffer,r,r0=+innerRadius.apply(this,arguments),r1=+outerRadius.apply(this,arguments),a0=startAngle.apply(this,arguments)-halfPi,a1=endAngle.apply(this,arguments)-halfPi,da=Math.abs(a1-a0),cw=a1>a0;if(context||(context=buffer=d3Path.path()),r1epsilon)if(da>tau-epsilon)context.moveTo(r1*Math.cos(a0),r1*Math.sin(a0)),context.arc(0,0,r1,a0,a1,!cw),r0>epsilon&&(context.moveTo(r0*Math.cos(a1),r0*Math.sin(a1)),context.arc(0,0,r0,a1,a0,cw));else{var t0,t1,a01=a0,a11=a1,a00=a0,a10=a1,da0=da,da1=da,ap=padAngle.apply(this,arguments)/2,rp=ap>epsilon&&(padRadius?+padRadius.apply(this,arguments):Math.sqrt(r0*r0+r1*r1)),rc=Math.min(Math.abs(r1-r0)/2,+cornerRadius.apply(this,arguments)),rc0=rc,rc1=rc;if(rp>epsilon){var p0=asin(rp/r0*Math.sin(ap)),p1=asin(rp/r1*Math.sin(ap));(da0-=2*p0)>epsilon?(p0*=cw?1:-1,a00+=p0,a10-=p0):(da0=0,a00=a10=(a0+a1)/2),(da1-=2*p1)>epsilon?(p1*=cw?1:-1,a01+=p1,a11-=p1):(da1=0,a01=a11=(a0+a1)/2)}var x01=r1*Math.cos(a01),y01=r1*Math.sin(a01),x10=r0*Math.cos(a10),y10=r0*Math.sin(a10);if(rc>epsilon){var x11=r1*Math.cos(a11),y11=r1*Math.sin(a11),x00=r0*Math.cos(a00),y00=r0*Math.sin(a00);if(daepsilon?intersect(x01,y01,x00,y00,x11,y11,x10,y10):[x10,y10],ax=x01-oc[0],ay=y01-oc[1],bx=x11-oc[0],by=y11-oc[1],kc=1/Math.sin(Math.acos((ax*bx+ay*by)/(Math.sqrt(ax*ax+ay*ay)*Math.sqrt(bx*bx+by*by)))/2),lc=Math.sqrt(oc[0]*oc[0]+oc[1]*oc[1]);rc0=Math.min(rc,(r0-lc)/(kc-1)),rc1=Math.min(rc,(r1-lc)/(kc+1))}}da1>epsilon?rc1>epsilon?(t0=cornerTangents(x00,y00,x01,y01,r1,rc1,cw),t1=cornerTangents(x11,y11,x10,y10,r1,rc1,cw),context.moveTo(t0.cx+t0.x01,t0.cy+t0.y01),rc1epsilon&&da0>epsilon?rc0>epsilon?(t0=cornerTangents(x10,y10,x11,y11,r0,-rc0,cw),t1=cornerTangents(x01,y01,x00,y00,r0,-rc0,cw),context.lineTo(t0.cx+t0.x01,t0.cy+t0.y01),rc0=j;--k)output.point(x0z[k],y0z[k]);output.lineEnd(),output.areaEnd()}defined0&&(x0z[i]=+x0(d,i,data),y0z[i]=+y0(d,i,data),output.point(x1?+x1(d,i,data):x0z[i],y1?+y1(d,i,data):y0z[i]))}if(buffer)return output=null,buffer+""||null}var x0=x,x1=null,y0=constant(0),y1=y,defined=constant(!0),context=null,curve=curveLinear,output=null;return area.x=function(_){return arguments.length?(x0="function"==typeof _?_:constant(+_),x1=null,area):x0},area.x0=function(_){return arguments.length?(x0="function"==typeof _?_:constant(+_),area):x0},area.x1=function(_){return arguments.length?(x1=null==_?null:"function"==typeof _?_:constant(+_),area):x1},area.y=function(_){return arguments.length?(y0="function"==typeof _?_:constant(+_),y1=null,area):y0},area.y0=function(_){return arguments.length?(y0="function"==typeof _?_:constant(+_),area):y0},area.y1=function(_){return arguments.length?(y1=null==_?null:"function"==typeof _?_:constant(+_),area):y1},area.defined=function(_){return arguments.length?(defined="function"==typeof _?_:constant(!!_),area):defined},area.curve=function(_){return arguments.length?(curve=bind(_,arguments),null!=context&&(output=curve(context)),area):curve},area.context=function(_){return arguments.length?(null==_?context=output=null:output=curve(context=_),area):context},area}function line(){function line(data){var i,d,buffer,n=data.length,defined0=!1;for(context||(output=curve(buffer=d3Path.path())),i=0;i<=n;++i)!(ia?1:b>=a?0:NaN}function identity(d){return d}function pie(){function pie(data){var i,j,k,a1,v,n=data.length,sum=0,index=new Array(n),arcs=new Array(n),a0=+startAngle.apply(this,arguments),da=Math.min(tau,Math.max(-tau,endAngle.apply(this,arguments)-a0)),p=Math.min(Math.abs(da)/n,padAngle.apply(this,arguments)),pa=p*(da<0?-1:1);for(i=0;i0&&(sum+=v);for(null!=sortValues?index.sort(function(i,j){return sortValues(arcs[i],arcs[j])}):null!==sort&&index.sort(function(i,j){return sort(data[i],data[j])}),i=0,k=sum?(da-n*pa)/sum:0;i0?v*k:0)+pa,arcs[j]={data:data[j],index:i,value:v,startAngle:a0,endAngle:a1,padAngle:p};return arcs}var value=identity,sortValues=descending$1,sort=null,startAngle=constant(0),endAngle=constant(tau),padAngle=constant(0);return pie.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),pie):value},pie.sortValues=function(_){return arguments.length?(sortValues=_,sort=null,pie):sortValues},pie.sort=function(_){return arguments.length?(sort=_,sortValues=null,pie):sort},pie.startAngle=function(_){return arguments.length?(startAngle="function"==typeof _?_:constant(+_),pie):startAngle},pie.endAngle=function(_){return arguments.length?(endAngle="function"==typeof _?_:constant(+_),pie):endAngle},pie.padAngle=function(_){return arguments.length?(padAngle="function"==typeof _?_:constant(+_),pie):padAngle},pie}function Radial(curve){this._curve=curve}function curveRadial(curve,args){function radial(context){return new Radial(curve(context))}return curve=bind(curve,args),radial._curve=curve,radial}function radialArea(){var a=area(),c=a.curve;return a.angle=a.x,delete a.x,a.startAngle=a.x0,delete a.x0,a.endAngle=a.x1,delete a.x1,a.radius=a.y,delete a.y,a.innerRadius=a.y0,delete a.y0,a.outerRadius=a.y1,delete a.y1,a.curve=function(_){return arguments.length?c(curveRadial(_,arguments)):c()._curve},a.curve(curveLinear)}function radialLine(){var l=line(),c=l.curve;return l.angle=l.x,delete l.x,l.radius=l.y,delete l.y,l.curve=function(_){return arguments.length?c(curveRadial(_,arguments)):c()._curve},l.curve(curveLinear)}function symbol(){function symbol(){var buffer;if(context||(context=buffer=d3Path.path()),type.apply(this,arguments).draw(context,+size.apply(this,arguments)),buffer)return context=null,buffer+""||null}var type=constant(circle),size=constant(64),context=null;return symbol.type=function(_){return arguments.length?(type="function"==typeof _?_:constant(_),symbol):type},symbol.size=function(_){return arguments.length?(size="function"==typeof _?_:constant(+_),symbol):size},symbol.context=function(_){return arguments.length?(context=null==_?null:_,symbol):context},symbol}function noop(){}function point(that,x,y){that._context.bezierCurveTo((2*that._x0+that._x1)/3,(2*that._y0+that._y1)/3,(that._x0+2*that._x1)/3,(that._y0+2*that._y1)/3,(that._x0+4*that._x1+x)/6,(that._y0+4*that._y1+y)/6)}function Basis(context){this._context=context}function basis(context){return new Basis(context)}function BasisClosed(context){this._context=context}function basisClosed(context){return new BasisClosed(context)}function BasisOpen(context){this._context=context}function basisOpen(context){return new BasisOpen(context)}function Bundle(context,beta){this._basis=basis(context),this._beta=beta}function bundle(context,beta){return null==beta?new Bundle(context,.85):1==(beta=+beta)?basis(context):new Bundle(context,beta)}function point$1(that,x,y){that._context.bezierCurveTo(that._x1+that._k*(that._x2-that._x0),that._y1+that._k*(that._y2-that._y0),that._x2+that._k*(that._x1-x),that._y2+that._k*(that._y1-y),that._x2,that._y2)}function Cardinal(context,k){this._context=context,this._k=k}function cardinal(context,tension){return new Cardinal(context,(null==tension?1:1-tension)/6)}function CardinalClosed(context,k){this._context=context,this._k=k}function cardinalClosed(context,tension){return new CardinalClosed(context,(null==tension?1:1-tension)/6)}function CardinalOpen(context,k){this._context=context,this._k=k}function cardinalOpen(context,tension){return new CardinalOpen(context,(null==tension?1:1-tension)/6)}function point$2(that,x,y){var x1=that._x1,y1=that._y1,x2=that._x2,y2=that._y2;if(that._l01_a>epsilon){var a=2*that._l01_2a+3*that._l01_a*that._l12_a+that._l12_2a,n=3*that._l01_a*(that._l01_a+that._l12_a);x1=(x1*a-that._x0*that._l12_2a+that._x2*that._l01_2a)/n,y1=(y1*a-that._y0*that._l12_2a+that._y2*that._l01_2a)/n}if(that._l23_a>epsilon){var b=2*that._l23_2a+3*that._l23_a*that._l12_a+that._l12_2a,m=3*that._l23_a*(that._l23_a+that._l12_a);x2=(x2*b+that._x1*that._l23_2a-x*that._l12_2a)/m,y2=(y2*b+that._y1*that._l23_2a-y*that._l12_2a)/m}that._context.bezierCurveTo(x1,y1,x2,y2,that._x2,that._y2)}function CatmullRom(context,alpha){this._context=context,this._alpha=alpha}function catmullRom(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRom(context,alpha):cardinal(context,0)}function CatmullRomClosed(context,alpha){this._context=context,this._alpha=alpha}function catmullRomClosed(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRomClosed(context,alpha):cardinalClosed(context,0)}function CatmullRomOpen(context,alpha){this._context=context,this._alpha=alpha}function catmullRomOpen(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRomOpen(context,alpha):cardinalOpen(context,0)}function LinearClosed(context){this._context=context}function linearClosed(context){return new LinearClosed(context)}function sign(x){return x<0?-1:1}function slope3(that,x2,y2){var h0=that._x1-that._x0,h1=x2-that._x1,s0=(that._y1-that._y0)/(h0||h1<0&&-0),s1=(y2-that._y1)/(h1||h0<0&&-0),p=(s0*h1+s1*h0)/(h0+h1);return(sign(s0)+sign(s1))*Math.min(Math.abs(s0),Math.abs(s1),.5*Math.abs(p))||0}function slope2(that,t){var h=that._x1-that._x0;return h?(3*(that._y1-that._y0)/h-t)/2:t}function point$3(that,t0,t1){var x0=that._x0,y0=that._y0,x1=that._x1,y1=that._y1,dx=(x1-x0)/3;that._context.bezierCurveTo(x0+dx,y0+dx*t0,x1-dx,y1-dx*t1,x1,y1)}function MonotoneX(context){this._context=context}function MonotoneY(context){this._context=new ReflectContext(context)}function ReflectContext(context){this._context=context}function monotoneX(context){return new MonotoneX(context)}function monotoneY(context){return new MonotoneY(context)}function Natural(context){this._context=context}function controlPoints(x){var i,m,n=x.length-1,a=new Array(n),b=new Array(n),r=new Array(n);for(a[0]=0,b[0]=2,r[0]=x[0]+2*x[1],i=1;i=0;--i)a[i]=(r[i]-a[i+1])/b[i];for(b[n-1]=(x[n]+a[n-1])/2,i=0;i1)for(var s0,n,i=1,s1=series[order[0]],m=s1.length;i=0;)o[n]=n;return o}function stackValue(d,key){return d[key]}function stack(){function stack(data){var i,oz,kz=keys.apply(this,arguments),m=data.length,n=kz.length,sz=new Array(n);for(i=0;i0){for(var i,n,y,j=0,m=series[0].length;j0){for(var n,j=0,s0=series[order[0]],m=s0.length;j0&&(m=(s0=series[order[0]]).length)>0){for(var s0,m,n,y=0,j=1;j0)for(var t,x0=x[0],y0=y[0],dx=x[j]-x0,dy=y[j]-y0,i=-1;++i<=j;)t=i/j,this._basis.point(this._beta*x[i]+(1-this._beta)*(x0+t*dx),this._beta*y[i]+(1-this._beta)*(y0+t*dy));this._x=this._y=null,this._basis.lineEnd()},point:function(x,y){this._x.push(+x),this._y.push(+y)}},Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$1(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2,this._x1=x,this._y1=y;break;case 2:this._point=3;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CardinalClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._x3=x,this._y3=y;break;case 1:this._point=2,this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3,this._x5=x,this._y5=y;break;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this,this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRomClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=x,this._y3=y;break;case 1:this._point=2,this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3,this._x5=x,this._y5=y;break;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},LinearClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(x,y){x=+x,y=+y,this._point?this._context.lineTo(x,y):(this._point=1,this._context.moveTo(x,y))}},MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point$3(this,this._t0,slope2(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){var t1=NaN;if(x=+x,y=+y,x!==this._x1||y!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3,point$3(this,slope2(this,t1=slope3(this,x,y)),t1);break;default:point$3(this,this._t0,t1=slope3(this,x,y))}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y,this._t0=t1}}},(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(x,y){MonotoneX.prototype.point.call(this,y,x)},ReflectContext.prototype={moveTo:function(x,y){this._context.moveTo(y,x)},closePath:function(){this._context.closePath()},lineTo:function(x,y){this._context.lineTo(y,x)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._context.bezierCurveTo(y1,x1,y2,x2,y,x)}},Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var x=this._x,y=this._y,n=x.length;if(n)if(this._line?this._context.lineTo(x[0],y[0]):this._context.moveTo(x[0],y[0]),2===n)this._context.lineTo(x[1],y[1]);else for(var px=controlPoints(x),py=controlPoints(y),i0=0,i1=1;i1this._x?this._t:1-this._t;if(t<=0)this._context.lineTo(this._x,y),this._context.lineTo(x,y);else if(t>=1)this._context.lineTo(x,this._y),this._context.lineTo(x,y);else{var x1=(this._x+x)*t;this._context.lineTo(x1,this._y),this._context.lineTo(x1,y)}}this._x=x,this._y=y}};var slice$1=Array.prototype.slice;exports.version="0.5.1",exports.arc=arc,exports.area=area,exports.line=line,exports.pie=pie,exports.radialArea=radialArea,exports.radialLine=radialLine,exports.symbol=symbol,exports.symbols=symbols,exports.symbolCircle=circle,exports.symbolCross=cross,exports.symbolDiamond=diamond,exports.symbolSquare=square,exports.symbolStar=star,exports.symbolTriangle=triangle,exports.symbolWye=wye,exports.curveBasisClosed=basisClosed,exports.curveBasisOpen=basisOpen,exports.curveBasis=basis,exports.curveBundle=bundle,exports.curveCardinalClosed=cardinalClosed,exports.curveCardinalOpen=cardinalOpen,exports.curveCardinal=cardinal,exports.curveCatmullRomClosed=catmullRomClosed,exports.curveCatmullRomOpen=catmullRomOpen,exports.curveCatmullRom=catmullRom,exports.curveLinearClosed=linearClosed,exports.curveLinear=curveLinear,exports.curveMonotoneX=monotoneX,exports.curveMonotoneY=monotoneY,exports.curveNatural=natural,exports.curveStep=step,exports.curveStepAfter=stepAfter,exports.curveStepBefore=stepBefore,exports.stack=stack,exports.stackOffsetExpand=expand,exports.stackOffsetNone=none,exports.stackOffsetSilhouette=silhouette,exports.stackOffsetWiggle=wiggle,exports.stackOrderAscending=ascending,exports.stackOrderDescending=descending,exports.stackOrderInsideOut=insideOut,exports.stackOrderNone=none$1,exports.stackOrderReverse=reverse})},function(module,exports,__webpack_require__){function ListCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++indexb?1:a>=b?0:NaN}function bisector(compare){return 1===compare.length&&(compare=ascendingComparator(compare)),{left:function(a,x,lo,hi){for(null==lo&&(lo=0),null==hi&&(hi=a.length);lo>>1;compare(a[mid],x)<0?lo=mid+1:hi=mid}return lo},right:function(a,x,lo,hi){for(null==lo&&(lo=0),null==hi&&(hi=a.length);lo>>1;compare(a[mid],x)>0?hi=mid:lo=mid+1}return lo}}}function ascendingComparator(f){return function(d,x){return ascending(f(d),x)}}function descending(a,b){return ba?1:b>=a?0:NaN}function number$1(x){return null===x?NaN:+x}function variance(array,f){var a,d,n=array.length,m=0,s=0,i=-1,j=0;if(null==f)for(;++i1)return s/(j-1)}function deviation(array,f){var v=variance(array,f);return v?Math.sqrt(v):v}function extent(array,f){var a,b,c,i=-1,n=array.length;if(null==f){for(;++i=b){a=c=b;break}for(;++ib&&(a=b),c=b){a=c=b;break}for(;++ib&&(a=b),c=e10?step1*=10:error>=e5?step1*=5:error>=e2&&(step1*=2),stop=x1;)tz.pop(),--m;var bin,bins=new Array(m+1);for(i=0;i<=m;++i)bin=bins[i]=[],bin.x0=i>0?tz[i-1]:x0,bin.x1=i=1)return+f(array[n-1],n-1,array);var n,h=(n-1)*p,i=Math.floor(h),a=+f(array[i],i,array);return a+(+f(array[i+1],i+1,array)-a)*(h-i)}}function freedmanDiaconis(values,min,max){return values.sort(ascending),Math.ceil((max-min)/(2*(quantile(values,.75)-quantile(values,.25))*Math.pow(values.length,-1/3)))}function scott(values,min,max){return Math.ceil((max-min)/(3.5*deviation(values)*Math.pow(values.length,-1/3)))}function max(array,f){var a,b,i=-1,n=array.length;if(null==f){for(;++i=b){a=b;break}for(;++ia&&(a=b)}else{for(;++i=b){a=b;break}for(;++ia&&(a=b)}return a}function mean(array,f){var a,s=0,n=array.length,i=-1,j=n;if(null==f)for(;++i=0;)for(array=arrays[n],m=array.length;--m>=0;)merged[--j]=array[m];return merged}function min(array,f){var a,b,i=-1,n=array.length;if(null==f){for(;++i=b){a=b;break}for(;++ib&&(a=b)}else{for(;++i=b){a=b;break}for(;++ib&&(a=b)}return a}function pairs(array){for(var i=0,n=array.length-1,p=array[0],pairs=new Array(n<0?0:n);i-1&&value%1==0&&value-1&&value%1==0&&value<=MAX_SAFE_INTEGER}var MAX_SAFE_INTEGER=9007199254740991;module.exports=isLength},function(module,exports,__webpack_require__){function isKey(value,object){if(isArray(value))return!1;var type=typeof value;return!("number"!=type&&"symbol"!=type&&"boolean"!=type&&null!=value&&!isSymbol(value))||(reIsPlainProp.test(value)||!reIsDeepProp.test(value)||null!=object&&value in Object(object))}var isArray=__webpack_require__(11),isSymbol=__webpack_require__(29),reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;module.exports=isKey},function(module,exports){function identity(value){return value}module.exports=identity},function(module,exports,__webpack_require__){"use strict";function scale(props){var func,scale=(props.type,props.scale);return"linear"===scale?func=_d3Scale2.default.scaleLinear():"identity"===scale?func=_d3Scale2.default.scaleIdentity():"sqrt"===scale?func=_d3Scale2.default.scaleSqrt():"pow"===scale?func=_d3Scale2.default.scalePow():"log"===scale?func=_d3Scale2.default.scaleLog():"quantize"===scale?func=_d3Scale2.default.scaleQuantize():"quantile"===scale?func=_d3Scale2.default.scaleQuantile():"ordinal"===scale?func=_d3Scale2.default.scaleOrdinal():"band"===scale?func=_d3Scale2.default.scaleBand():"time"===scale?func=_d3Scale2.default.scaleTime():new Error('Please check your axis scale setting. "'+scale+'" scale is invalid. '),func=_mkScaleSettings(props,func)}function _mkScaleSettings(props,func){var range=(props.type,props.range),domain=props.domain,scale=props.scale,bandPaddingInner=props.bandPaddingInner,bandPaddingOuter=props.bandPaddingOuter;return range&&func.range(range),domain&&func.domain(domain),"band"===scale&&(func.round(!0),bandPaddingInner?func.paddingInner(bandPaddingInner):func.paddingInner(.1),bandPaddingOuter?func.paddingOuter(bandPaddingOuter):func.paddingOuter(.1)),func}Object.defineProperty(exports,"__esModule",{value:!0}),exports.scale=scale;var _d3Scale=__webpack_require__(15),_d3Scale2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_d3Scale)},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(0,function(exports){"use strict";function namespace(name){var prefix=name+="",i=prefix.indexOf(":");return i>=0&&"xmlns"!==(prefix=name.slice(0,i))&&(name=name.slice(i+1)),namespaces.hasOwnProperty(prefix)?{space:namespaces[prefix],local:name}:name}function creatorInherit(name){return function(){var document=this.ownerDocument,uri=this.namespaceURI;return uri===xhtml&&document.documentElement.namespaceURI===xhtml?document.createElement(name):document.createElementNS(uri,name)}}function creatorFixed(fullname){return function(){return this.ownerDocument.createElementNS(fullname.space,fullname.local)}}function creator(name){var fullname=namespace(name);return(fullname.local?creatorFixed:creatorInherit)(fullname)}function filterContextListener(listener,index,group){return listener=contextListener(listener,index,group),function(event){var related=event.relatedTarget;related&&(related===this||8&related.compareDocumentPosition(this))||listener.call(this,event)}}function contextListener(listener,index,group){return function(event1){var event0=exports.event;exports.event=event1;try{listener.call(this,this.__data__,index,group)}finally{exports.event=event0}}}function parseTypenames(typenames){return typenames.trim().split(/^|\s+/).map(function(t){var name="",i=t.indexOf(".");return i>=0&&(name=t.slice(i+1),t=t.slice(0,i)),{type:t,name:name}})}function onRemove(typename){return function(){var on=this.__on;if(on){for(var o,j=0,i=-1,m=on.length;j=i1&&(i1=i0+1);!(next=updateGroup[i1])&&++i1=0;)(node=group[i])&&(next&&next!==node.nextSibling&&next.parentNode.insertBefore(node,next),next=node);return this}function selection_sort(compare){function compareNode(a,b){return a&&b?compare(a.__data__,b.__data__):!a-!b}compare||(compare=ascending);for(var groups=this._groups,m=groups.length,sortgroups=new Array(m),j=0;jb?1:a>=b?0:NaN}function selection_call(){var callback=arguments[0];return arguments[0]=this,callback.apply(null,arguments),this}function selection_nodes(){var nodes=new Array(this.size()),i=-1;return this.each(function(){nodes[++i]=this}),nodes}function selection_node(){for(var groups=this._groups,j=0,m=groups.length;j1?this.each((null==value?styleRemove:"function"==typeof value?styleFunction:styleConstant)(name,value,null==priority?"":priority)):defaultView(node=this.node()).getComputedStyle(node,null).getPropertyValue(name)}function propertyRemove(name){return function(){delete this[name]}}function propertyConstant(name,value){return function(){this[name]=value}}function propertyFunction(name,value){return function(){var v=value.apply(this,arguments);null==v?delete this[name]:this[name]=v}}function selection_property(name,value){return arguments.length>1?this.each((null==value?propertyRemove:"function"==typeof value?propertyFunction:propertyConstant)(name,value)):this.node()[name]}function classArray(string){return string.trim().split(/^|\s+/)}function classList(node){return node.classList||new ClassList(node)}function ClassList(node){this._node=node,this._names=classArray(node.getAttribute("class")||"")}function classedAdd(node,names){for(var list=classList(node),i=-1,n=names.length;++i=0&&(this._names.splice(i,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(name){return this._names.indexOf(name)>=0}};var root=[null];Selection.prototype=selection.prototype={constructor:Selection,select:selection_select,selectAll:selection_selectAll,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,merge:selection_merge,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,remove:selection_remove,datum:selection_datum,on:selection_on,dispatch:selection_dispatch},exports.version="0.7.3",exports.creator=creator,exports.matcher=matcher$1,exports.mouse=mouse,exports.namespace=namespace,exports.namespaces=namespaces,exports.select=select,exports.selectAll=selectAll,exports.selection=selection,exports.selector=selector,exports.selectorAll=selectorAll,exports.touch=touch,exports.touches=touches,exports.window=defaultView,exports.customEvent=customEvent})},function(module,exports,__webpack_require__){var Element=__webpack_require__(81),Window=__webpack_require__(215),core=__webpack_require__(216),anim=__webpack_require__(217),ReactFauxDOM={Element:Element,defaultView:Window,mixins:{core:core,anim:anim},createElement:function(nodeName){return new Element(nodeName)},createElementNS:function(namespace,nodeName){return this.createElement(nodeName)},compareDocumentPosition:function(){return 8}};Element.prototype.ownerDocument=ReactFauxDOM,module.exports=ReactFauxDOM},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];var argIndex=0,message="Warning: "+format.replace(/%s/g,function(){return args[argIndex++]});"undefined"!=typeof console&&console.error(message);try{throw new Error(message)}catch(x){}};warning=function(condition,format){if(void 0===format)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(0!==format.indexOf("Failed Composite propType: ")&&!condition){for(var _len2=arguments.length,args=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++)args[_key2-2]=arguments[_key2];printWarning.apply(void 0,[format].concat(args))}}}module.exports=warning}).call(exports,__webpack_require__(17))},function(module,exports,__webpack_require__){"use strict";function toObject(val){if(null===val||void 0===val)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(val)}/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +var getOwnPropertySymbols=Object.getOwnPropertySymbols,hasOwnProperty=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;module.exports=function(){try{if(!Object.assign)return!1;var test1=new String("abc");if(test1[5]="de","5"===Object.getOwnPropertyNames(test1)[0])return!1;for(var test2={},i=0;i<10;i++)test2["_"+String.fromCharCode(i)]=i;if("0123456789"!==Object.getOwnPropertyNames(test2).map(function(n){return test2[n]}).join(""))return!1;var test3={};return"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},test3)).join("")}catch(err){return!1}}()?Object.assign:function(target,source){for(var from,symbols,to=toObject(target),s=1;sarrLength))return!1;var stacked=stack.get(array);if(stacked&&stack.get(other))return stacked==other;var index=-1,result=!0,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache:void 0;for(stack.set(array,other),stack.set(other,array);++index>8&15|m>>4&240,m>>4&15|240&m,(15&m)<<4|15&m,1)):(m=reHex6.exec(format))?rgbn(parseInt(m[1],16)):(m=reRgbInteger.exec(format))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format))?new Rgb(255*m[1]/100,255*m[2]/100,255*m[3]/100,1):(m=reRgbaInteger.exec(format))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format))?rgba(255*m[1]/100,255*m[2]/100,255*m[3]/100,m[4]):(m=reHslPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format)?rgbn(named[format]):"transparent"===format?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,255&n,1)}function rgba(r,g,b,a){return a<=0&&(r=g=b=NaN),new Rgb(r,g,b,a)}function rgbConvert(o){return o instanceof Color||(o=color(o)),o?(o=o.rgb(),new Rgb(o.r,o.g,o.b,o.opacity)):new Rgb}function rgb(r,g,b,opacity){return 1===arguments.length?rgbConvert(r):new Rgb(r,g,b,null==opacity?1:opacity)}function Rgb(r,g,b,opacity){this.r=+r,this.g=+g,this.b=+b,this.opacity=+opacity}function hsla(h,s,l,a){return a<=0?h=s=l=NaN:l<=0||l>=1?h=s=NaN:s<=0&&(h=NaN),new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(o instanceof Color||(o=color(o)),!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min=Math.min(r,g,b),max=Math.max(r,g,b),h=NaN,s=max-min,l=(max+min)/2;return s?(h=r===max?(g-b)/s+6*(g0&&l<1?0:h,new Hsl(h,s,l,o.opacity)}function hsl(h,s,l,opacity){return 1===arguments.length?hslConvert(h):new Hsl(h,s,l,null==opacity?1:opacity)}function Hsl(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}function hsl2rgb(h,m1,m2){return 255*(h<60?m1+(m2-m1)*h/60:h<180?m2:h<240?m1+(m2-m1)*(240-h)/60:m1)}function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl){var h=o.h*deg2rad;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}o instanceof Rgb||(o=rgbConvert(o));var b=rgb2xyz(o.r),a=rgb2xyz(o.g),l=rgb2xyz(o.b),x=xyz2lab((.4124564*b+.3575761*a+.1804375*l)/Xn),y=xyz2lab((.2126729*b+.7151522*a+.072175*l)/Yn);return new Lab(116*y-16,500*(x-y),200*(y-xyz2lab((.0193339*b+.119192*a+.9503041*l)/Zn)),o.opacity)}function lab(l,a,b,opacity){return 1===arguments.length?labConvert(l):new Lab(l,a,b,null==opacity?1:opacity)}function Lab(l,a,b,opacity){this.l=+l,this.a=+a,this.b=+b,this.opacity=+opacity}function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0}function lab2xyz(t){return t>t1?t*t*t:t2*(t-t0)}function xyz2rgb(x){return 255*(x<=.0031308?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2xyz(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);o instanceof Lab||(o=labConvert(o));var h=Math.atan2(o.b,o.a)*rad2deg;return new Hcl(h<0?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function hcl(h,c,l,opacity){return 1===arguments.length?hclConvert(h):new Hcl(h,c,l,null==opacity?1:opacity)}function Hcl(h,c,l,opacity){this.h=+h,this.c=+c,this.l=+l,this.opacity=+opacity}function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);o instanceof Rgb||(o=rgbConvert(o));var r=o.r/255,g=o.g/255,b=o.b/255,l=(BC_DA*b+ED*r-EB*g)/(BC_DA+ED-EB),bl=b-l,k=(E*(g-l)-C*bl)/D,s=Math.sqrt(k*k+bl*bl)/(E*l*(1-l)),h=s?Math.atan2(k,bl)*rad2deg-120:NaN;return new Cubehelix(h<0?h+360:h,s,l,o.opacity)}function cubehelix(h,s,l,opacity){return 1===arguments.length?cubehelixConvert(h):new Cubehelix(h,s,l,null==opacity?1:opacity)}function Cubehelix(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}var reHex3=/^#([0-9a-f]{3})$/,reHex6=/^#([0-9a-f]{6})$/,reRgbInteger=/^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/,reRgbPercent=/^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,reRgbaInteger=/^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,reRgbaPercent=/^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,reHslPercent=/^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,reHslaPercent=/^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};define(Color,color,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),define(Rgb,rgb,extend(Color,{brighter:function(k){return k=null==k?1/.7:Math.pow(1/.7,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker:function(k){return k=null==k?.7:Math.pow(.7,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var a=this.opacity;return a=isNaN(a)?1:Math.max(0,Math.min(1,a)),(1===a?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===a?")":", "+a+")")}})),define(Hsl,hsl,extend(Color,{brighter:function(k){return k=null==k?1/.7:Math.pow(1/.7,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},darker:function(k){return k=null==k?.7:Math.pow(.7,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=this.h%360+360*(this.h<0),s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(l<.5?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(h<120?h+240:h-120,m1,m2),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var deg2rad=Math.PI/180,rad2deg=180/Math.PI,Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;define(Lab,lab,extend(Color,{brighter:function(k){return new Lab(this.l+18*(null==k?1:k),this.a,this.b,this.opacity)},darker:function(k){return new Lab(this.l-18*(null==k?1:k),this.a,this.b,this.opacity)},rgb:function(){var y=(this.l+16)/116,x=isNaN(this.a)?y:y+this.a/500,z=isNaN(this.b)?y:y-this.b/200;return y=Yn*lab2xyz(y),x=Xn*lab2xyz(x),z=Zn*lab2xyz(z),new Rgb(xyz2rgb(3.2404542*x-1.5371385*y-.4985314*z),xyz2rgb(-.969266*x+1.8760108*y+.041556*z),xyz2rgb(.0556434*x-.2040259*y+1.0572252*z),this.opacity)}})),define(Hcl,hcl,extend(Color,{brighter:function(k){return new Hcl(this.h,this.c,this.l+18*(null==k?1:k),this.opacity)},darker:function(k){return new Hcl(this.h,this.c,this.l-18*(null==k?1:k),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;define(Cubehelix,cubehelix,extend(Color,{brighter:function(k){return k=null==k?1/.7:Math.pow(1/.7,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},darker:function(k){return k=null==k?.7:Math.pow(.7,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=isNaN(this.h)?0:(this.h+120)*deg2rad,l=+this.l,a=isNaN(this.s)?0:this.s*l*(1-l),cosh=Math.cos(h),sinh=Math.sin(h);return new Rgb(255*(l+a*(A*cosh+B*sinh)),255*(l+a*(C*cosh+D*sinh)),255*(l+a*(E*cosh)),this.opacity)}}));exports.version="0.4.2",exports.color=color,exports.rgb=rgb,exports.hsl=hsl,exports.lab=lab,exports.hcl=hcl,exports.cubehelix=cubehelix})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(0,function(exports){"use strict";function newInterval(floori,offseti,count,field){function interval(date){return floori(date=new Date(+date)),date}return interval.floor=interval,interval.ceil=function(date){return floori(date=new Date(date-1)),offseti(date,1),floori(date),date},interval.round=function(date){var d0=interval(date),d1=interval.ceil(date);return date-d00))return range;do{range.push(new Date(+start))}while(offseti(start,step),floori(start),start=0;)for(;offseti(date,1),!test(date););})},count&&(interval.count=function(start,end){return t0.setTime(+start),t1.setTime(+end),floori(t0),floori(t1),Math.floor(count(t0,t1))},interval.every=function(step){return step=Math.floor(step),isFinite(step)&&step>0?step>1?interval.filter(field?function(d){return field(d)%step==0}:function(d){return interval.count(0,d)%step==0}):interval:null}),interval}function weekday(i){return newInterval(function(date){date.setHours(0,0,0,0),date.setDate(date.getDate()-(date.getDay()+7-i)%7)},function(date,step){date.setDate(date.getDate()+7*step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*minute)/week})}function utcWeekday(i){return newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCDate(date.getUTCDate()-(date.getUTCDay()+7-i)%7)},function(date,step){date.setUTCDate(date.getUTCDate()+7*step)},function(start,end){return(end-start)/week})}var t0=new Date,t1=new Date,millisecond=newInterval(function(){},function(date,step){date.setTime(+date+step)},function(start,end){return end-start});millisecond.every=function(k){return k=Math.floor(k),isFinite(k)&&k>0?k>1?newInterval(function(date){date.setTime(Math.floor(date/k)*k)},function(date,step){date.setTime(+date+step*k)},function(start,end){return(end-start)/k}):millisecond:null};var minute=6e4,week=6048e5,second=newInterval(function(date){date.setTime(1e3*Math.floor(date/1e3))},function(date,step){date.setTime(+date+1e3*step)},function(start,end){return(end-start)/1e3},function(date){return date.getUTCSeconds()}),minute$1=newInterval(function(date){date.setTime(Math.floor(date/minute)*minute)},function(date,step){date.setTime(+date+step*minute)},function(start,end){return(end-start)/minute},function(date){return date.getMinutes()}),hour$1=newInterval(function(date){var offset=date.getTimezoneOffset()*minute%36e5;offset<0&&(offset+=36e5),date.setTime(36e5*Math.floor((+date-offset)/36e5)+offset)},function(date,step){date.setTime(+date+36e5*step)},function(start,end){return(end-start)/36e5},function(date){return date.getHours()}),day$1=newInterval(function(date){date.setHours(0,0,0,0)},function(date,step){date.setDate(date.getDate()+step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*minute)/864e5},function(date){return date.getDate()-1}),sunday=weekday(0),monday=weekday(1),tuesday=weekday(2),wednesday=weekday(3),thursday=weekday(4),friday=weekday(5),saturday=weekday(6),month=newInterval(function(date){date.setHours(0,0,0,0),date.setDate(1)},function(date,step){date.setMonth(date.getMonth()+step)},function(start,end){return end.getMonth()-start.getMonth()+12*(end.getFullYear()-start.getFullYear())},function(date){return date.getMonth()}),year=newInterval(function(date){date.setHours(0,0,0,0),date.setMonth(0,1)},function(date,step){date.setFullYear(date.getFullYear()+step)},function(start,end){return end.getFullYear()-start.getFullYear()},function(date){return date.getFullYear()}),utcMinute=newInterval(function(date){date.setUTCSeconds(0,0)},function(date,step){date.setTime(+date+step*minute)},function(start,end){return(end-start)/minute},function(date){return date.getUTCMinutes()}),utcHour=newInterval(function(date){date.setUTCMinutes(0,0,0)},function(date,step){date.setTime(+date+36e5*step)},function(start,end){return(end-start)/36e5},function(date){return date.getUTCHours()}),utcDay=newInterval(function(date){date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCDate(date.getUTCDate()+step)},function(start,end){return(end-start)/864e5},function(date){return date.getUTCDate()-1}),utcSunday=utcWeekday(0),utcMonday=utcWeekday(1),utcTuesday=utcWeekday(2),utcWednesday=utcWeekday(3),utcThursday=utcWeekday(4),utcFriday=utcWeekday(5),utcSaturday=utcWeekday(6),utcMonth=newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCDate(1)},function(date,step){date.setUTCMonth(date.getUTCMonth()+step)},function(start,end){return end.getUTCMonth()-start.getUTCMonth()+12*(end.getUTCFullYear()-start.getUTCFullYear())},function(date){return date.getUTCMonth()}),utcYear=newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCMonth(0,1)},function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step)},function(start,end){return end.getUTCFullYear()-start.getUTCFullYear()},function(date){return date.getUTCFullYear()}),timeMilliseconds=millisecond.range,timeSeconds=second.range,timeMinutes=minute$1.range,timeHours=hour$1.range,timeDays=day$1.range,timeSundays=sunday.range,timeMondays=monday.range,timeTuesdays=tuesday.range,timeWednesdays=wednesday.range,timeThursdays=thursday.range,timeFridays=friday.range,timeSaturdays=saturday.range,timeWeeks=sunday.range,timeMonths=month.range,timeYears=year.range,utcMilliseconds=timeMilliseconds,utcSeconds=timeSeconds,utcMinutes=utcMinute.range,utcHours=utcHour.range,utcDays=utcDay.range,utcSundays=utcSunday.range,utcMondays=utcMonday.range,utcTuesdays=utcTuesday.range,utcWednesdays=utcWednesday.range,utcThursdays=utcThursday.range,utcFridays=utcFriday.range,utcSaturdays=utcSaturday.range,utcWeeks=utcSunday.range,utcMonths=utcMonth.range,utcYears=utcYear.range;exports.timeMilliseconds=timeMilliseconds,exports.timeSeconds=timeSeconds,exports.timeMinutes=timeMinutes,exports.timeHours=timeHours,exports.timeDays=timeDays,exports.timeSundays=timeSundays,exports.timeMondays=timeMondays,exports.timeTuesdays=timeTuesdays,exports.timeWednesdays=timeWednesdays,exports.timeThursdays=timeThursdays,exports.timeFridays=timeFridays,exports.timeSaturdays=timeSaturdays,exports.timeWeeks=timeWeeks,exports.timeMonths=timeMonths,exports.timeYears=timeYears,exports.utcMilliseconds=utcMilliseconds,exports.utcSeconds=utcSeconds,exports.utcMinutes=utcMinutes,exports.utcHours=utcHours,exports.utcDays=utcDays,exports.utcSundays=utcSundays,exports.utcMondays=utcMondays,exports.utcTuesdays=utcTuesdays,exports.utcWednesdays=utcWednesdays,exports.utcThursdays=utcThursdays,exports.utcFridays=utcFridays,exports.utcSaturdays=utcSaturdays,exports.utcWeeks=utcWeeks,exports.utcMonths=utcMonths,exports.utcYears=utcYears,exports.timeMillisecond=millisecond,exports.timeSecond=second,exports.timeMinute=minute$1,exports.timeHour=hour$1,exports.timeDay=day$1,exports.timeSunday=sunday,exports.timeMonday=monday,exports.timeTuesday=tuesday,exports.timeWednesday=wednesday,exports.timeThursday=thursday,exports.timeFriday=friday,exports.timeSaturday=saturday,exports.timeWeek=sunday,exports.timeMonth=month,exports.timeYear=year,exports.utcMillisecond=millisecond,exports.utcSecond=second,exports.utcMinute=utcMinute,exports.utcHour=utcHour,exports.utcDay=utcDay,exports.utcSunday=utcSunday,exports.utcMonday=utcMonday,exports.utcTuesday=utcTuesday,exports.utcWednesday=utcWednesday,exports.utcThursday=utcThursday,exports.utcFriday=utcFriday,exports.utcSaturday=utcSaturday,exports.utcWeek=utcSunday,exports.utcMonth=utcMonth,exports.utcYear=utcYear,exports.version="0.2.6",exports.timeInterval=newInterval,Object.defineProperty(exports,"__esModule",{value:!0})})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i-1&&(line=line.replace(/eval code/g,"eval").replace(/(\(eval at [^\()]*)|(\)\,.*$)/g,""));var tokens=line.replace(/^\s+/,"").replace(/\(eval code/g,"(").split(/\s+/).slice(1),locationParts=this.extractLocation(tokens.pop()),functionName=tokens.join(" ")||void 0,fileName=_indexOf(["eval",""],locationParts[0])>-1?void 0:locationParts[0];return new StackFrame(functionName,void 0,fileName,locationParts[1],locationParts[2],line)},this)},parseFFOrSafari:function(error){return _map(_filter(error.stack.split("\n"),function(line){return!line.match(SAFARI_NATIVE_CODE_REGEXP)},this),function(line){if(line.indexOf(" > eval")>-1&&(line=line.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g,":$1")),-1===line.indexOf("@")&&-1===line.indexOf(":"))return new StackFrame(line);var tokens=line.split("@"),locationParts=this.extractLocation(tokens.pop()),functionName=tokens.join("@")||void 0;return new StackFrame(functionName,void 0,locationParts[0],locationParts[1],locationParts[2],line)},this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var lineRE=/Line (\d+).*script (?:in )?(\S+)/i,lines=e.message.split("\n"),result=[],i=2,len=lines.length;i/,"$2").replace(/\([^\)]*\)/g,"")||void 0;functionCall.match(/\(([^\)]*)\)/)&&(argsRaw=functionCall.replace(/^[^\(]+\(([^\)]*)\)$/,"$1"));var args=void 0===argsRaw||"[arguments not available]"===argsRaw?void 0:argsRaw.split(",");return new StackFrame(functionName,args,locationParts[0],locationParts[1],locationParts[2],line)},this)}}})},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;!function(root,factory){"use strict";__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_FACTORY__=factory,void 0!==(__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof __WEBPACK_AMD_DEFINE_FACTORY__?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__):__WEBPACK_AMD_DEFINE_FACTORY__)&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(0,function(){"use strict";function _isNumber(n){return!isNaN(parseFloat(n))&&isFinite(n)}function StackFrame(functionName,args,fileName,lineNumber,columnNumber,source){void 0!==functionName&&this.setFunctionName(functionName),void 0!==args&&this.setArgs(args),void 0!==fileName&&this.setFileName(fileName),void 0!==lineNumber&&this.setLineNumber(lineNumber),void 0!==columnNumber&&this.setColumnNumber(columnNumber),void 0!==source&&this.setSource(source)}return StackFrame.prototype={getFunctionName:function(){return this.functionName},setFunctionName:function(v){this.functionName=String(v)},getArgs:function(){return this.args},setArgs:function(v){if("[object Array]"!==Object.prototype.toString.call(v))throw new TypeError("Args must be an Array");this.args=v},getFileName:function(){return this.fileName},setFileName:function(v){this.fileName=String(v)},getLineNumber:function(){return this.lineNumber},setLineNumber:function(v){if(!_isNumber(v))throw new TypeError("Line Number must be a Number");this.lineNumber=Number(v)},getColumnNumber:function(){return this.columnNumber},setColumnNumber:function(v){if(!_isNumber(v))throw new TypeError("Column Number must be a Number");this.columnNumber=Number(v)},getSource:function(){return this.source},setSource:function(v){this.source=String(v)},toString:function(){return(this.getFunctionName()||"{anonymous}")+"("+(this.getArgs()||[]).join(",")+")"+(this.getFileName()?"@"+this.getFileName():"")+(_isNumber(this.getLineNumber())?":"+this.getLineNumber():"")+(_isNumber(this.getColumnNumber())?":"+this.getColumnNumber():"")}},StackFrame})},function(module,exports,__webpack_require__){"use strict";function _get__(variableName){if(void 0===_RewiredData__||void 0===_RewiredData__[variableName])return _get_original__(variableName);var value=_RewiredData__[variableName];return value===INTENTIONAL_UNDEFINED?void 0:value}function _get_original__(variableName){switch(variableName){case"filenameWithoutLoaders":return filenameWithoutLoaders;case"filenameHasSchema":return filenameHasSchema}}function _set__(variableName,value){if("object"!==(void 0===variableName?"undefined":_typeof(variableName)))return _RewiredData__[variableName]=void 0===value?INTENTIONAL_UNDEFINED:value,function(){_reset__(variableName)};Object.keys(variableName).forEach(function(name){_RewiredData__[name]=variableName[name]})}function _reset__(variableName){delete _RewiredData__[variableName]}function _with__(object){function reset(){rewiredVariableNames.forEach(function(variableName){_RewiredData__[variableName]=previousValues[variableName]})}var rewiredVariableNames=Object.keys(object),previousValues={};return function(callback){rewiredVariableNames.forEach(function(variableName){previousValues[variableName]=_RewiredData__[variableName],_RewiredData__[variableName]=object[variableName]});var result=callback();return result&&"function"==typeof result.then?result.then(reset).catch(reset):reset(),result}}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},filenameWithoutLoaders=exports.filenameWithoutLoaders=function(){var filename=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",index=filename.lastIndexOf("!");return index<0?filename:filename.substr(index+1)},filenameHasSchema=(exports.filenameHasLoaders=function(filename){return _get__("filenameWithoutLoaders")(filename)!==filename},exports.filenameHasSchema=function(filename){return/^[\w]+\:/.test(filename)}),_RewiredData__=(exports.isFilenameAbsolute=function(filename){return 0===_get__("filenameWithoutLoaders")(filename).indexOf("/")},exports.makeUrl=function(filename,scheme,line,column){var actualFilename=_get__("filenameWithoutLoaders")(filename);if(_get__("filenameHasSchema")(filename))return actualFilename;var url="file://"+actualFilename;return"vscode"===scheme?(url=scheme+"://file/"+url,url=url.replace(/file:\/\/\//,""),line&&actualFilename===filename&&(url=url+":"+line,column&&(url=url+":"+column))):scheme&&(url=scheme+"://open?url="+url,line&&actualFilename===filename&&(url=url+"&line="+line,column&&(url=url+"&column="+column))),url},exports.makeLinkText=function(filename,line,column){var text=_get__("filenameWithoutLoaders")(filename);return line&&text===filename&&(text=text+":"+line,column&&(text=text+":"+column)),text},Object.create(null)),INTENTIONAL_UNDEFINED="__INTENTIONAL_UNDEFINED__",_RewireAPI__={};!function(){function addPropertyToAPIObject(name,value){Object.defineProperty(_RewireAPI__,name,{value:value,enumerable:!1,configurable:!0})}addPropertyToAPIObject("__get__",_get__),addPropertyToAPIObject("__GetDependency__",_get__),addPropertyToAPIObject("__Rewire__",_set__),addPropertyToAPIObject("__set__",_set__),addPropertyToAPIObject("__reset__",_reset__),addPropertyToAPIObject("__ResetDependency__",_reset__),addPropertyToAPIObject("__with__",_with__)}(),exports.__get__=_get__,exports.__GetDependency__=_get__,exports.__Rewire__=_set__,exports.__set__=_set__,exports.__ResetDependency__=_reset__,exports.__RewireAPI__=_RewireAPI__,exports.default=_RewireAPI__},function(module,exports,__webpack_require__){!function(root,factory){module.exports=factory()}(0,function(){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;__WEBPACK_AMD_DEFINE_ARRAY__=[__webpack_require__(1)],void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(source_map_consumer){function origName(origLine){var match=String(origLine).match(isChromeOrEdge()||isIE11Plus()?/ +at +([^ ]*).*/:/([^@]*)@.*/);return match&&match[1]}function createXMLHTTPObject(){for(var xmlhttp=!1,i=0;i/)||fetcher.fetchScript(uri));0===fetcher.sem&&fetcher.done(fetcher.mapForUri)},isChromeOrEdge=function(){return navigator.userAgent.toLowerCase().indexOf("chrome")>-1},isFirefox=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},isSafari=function(){return navigator.userAgent.toLowerCase().indexOf("safari")>-1},isIE11Plus=function(){return document.documentMode&&document.documentMode>=11},Fetcher=function(done,opts){this.sem=0,this.mapForUri=opts&&opts.cacheGlobally?global_mapForUri:{},this.done=done};Fetcher.prototype.fetchScript=function(uri){if(!(uri in this.mapForUri)){this.sem++,this.mapForUri[uri]=null;var xhr=createXMLHTTPObject(),that=this;xhr.onreadystatechange=function(e){that.onScriptLoad.call(that,e,uri)},xhr.open("GET",uri,!0),xhr.send()}};var absUrlRegex=new RegExp("^(?:[a-z]+:)?//","i");Fetcher.prototype.onScriptLoad=function(e,uri){if(4===e.target.readyState){if(200===e.target.status||"file://"===uri.slice(0,7)&&0===e.target.status){var match=e.target.responseText.match("//# [s]ourceMappingURL=(.*)[\\s]*$","m");if(match&&2===match.length){var mapUri=match[1],embeddedSourceMap=mapUri.match("data:application/json;(charset=[^;]+;)?base64,(.*)");if(embeddedSourceMap&&embeddedSourceMap[2])this.mapForUri[uri]=new source_map_consumer.SourceMapConsumer(atob(embeddedSourceMap[2])),this.done(this.mapForUri);else{if(!absUrlRegex.test(mapUri)){var origin,lastSlash=uri.lastIndexOf("/");-1!==lastSlash&&(origin=uri.slice(0,lastSlash+1),mapUri=origin+mapUri)}var xhrMap=createXMLHTTPObject(),that=this;xhrMap.onreadystatechange=function(){4===xhrMap.readyState&&(that.sem--,(200===xhrMap.status||"file://"===mapUri.slice(0,7)&&0===xhrMap.status)&&(that.mapForUri[uri]=new source_map_consumer.SourceMapConsumer(xhrMap.responseText)),0===that.sem&&that.done(that.mapForUri))},xhrMap.open("GET",mapUri,!0),xhrMap.send()}}else this.sem--}else this.sem--;0===this.sem&&this.done(this.mapForUri)}};var processSourceMaps=function(lines,rows,mapForUri){for(var map,result=[],i=0;i=0){var mapping=this._originalMappings[index];if(void 0===aArgs.column)for(var originalLine=mapping.originalLine;mapping&&mapping.originalLine===originalLine;)mappings.push({line:util.getArg(mapping,"generatedLine",null),column:util.getArg(mapping,"generatedColumn",null),lastColumn:util.getArg(mapping,"lastGeneratedColumn",null)}),mapping=this._originalMappings[++index];else for(var originalColumn=mapping.originalColumn;mapping&&mapping.originalLine===line&&mapping.originalColumn==originalColumn;)mappings.push({line:util.getArg(mapping,"generatedLine",null),column:util.getArg(mapping,"generatedColumn",null),lastColumn:util.getArg(mapping,"lastGeneratedColumn",null)}),mapping=this._originalMappings[++index]}return mappings},exports.SourceMapConsumer=SourceMapConsumer,BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype),BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer,BasicSourceMapConsumer.fromSourceMap=function(aSourceMap){var smc=Object.create(BasicSourceMapConsumer.prototype),names=smc._names=ArraySet.fromArray(aSourceMap._names.toArray(),!0),sources=smc._sources=ArraySet.fromArray(aSourceMap._sources.toArray(),!0);smc.sourceRoot=aSourceMap._sourceRoot,smc.sourcesContent=aSourceMap._generateSourcesContent(smc._sources.toArray(),smc.sourceRoot),smc.file=aSourceMap._file;for(var generatedMappings=aSourceMap._mappings.toArray().slice(),destGeneratedMappings=smc.__generatedMappings=[],destOriginalMappings=smc.__originalMappings=[],i=0,length=generatedMappings.length;i1&&(mapping.source=previousSource+segment[1],previousSource+=segment[1],mapping.originalLine=previousOriginalLine+segment[2],previousOriginalLine=mapping.originalLine,mapping.originalLine+=1,mapping.originalColumn=previousOriginalColumn+segment[3],previousOriginalColumn=mapping.originalColumn,segment.length>4&&(mapping.name=previousName+segment[4],previousName+=segment[4])),generatedMappings.push(mapping),"number"==typeof mapping.originalLine&&originalMappings.push(mapping)}quickSort(generatedMappings,util.compareByGeneratedPositionsDeflated),this.__generatedMappings=generatedMappings,quickSort(originalMappings,util.compareByOriginalPositions),this.__originalMappings=originalMappings},BasicSourceMapConsumer.prototype._findMapping=function(aNeedle,aMappings,aLineName,aColumnName,aComparator,aBias){if(aNeedle[aLineName]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+aNeedle[aLineName]);if(aNeedle[aColumnName]<0)throw new TypeError("Column must be greater than or equal to 0, got "+aNeedle[aColumnName]);return binarySearch.search(aNeedle,aMappings,aComparator,aBias)},BasicSourceMapConsumer.prototype.computeColumnSpans=function(){for(var index=0;index=0){var mapping=this._generatedMappings[index];if(mapping.generatedLine===needle.generatedLine){var source=util.getArg(mapping,"source",null);null!==source&&(source=this._sources.at(source),null!=this.sourceRoot&&(source=util.join(this.sourceRoot,source)));var name=util.getArg(mapping,"name",null);return null!==name&&(name=this._names.at(name)),{source:source,line:util.getArg(mapping,"originalLine",null),column:util.getArg(mapping,"originalColumn",null),name:name}}}return{source:null,line:null,column:null,name:null}},BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(sc){return null==sc}))},BasicSourceMapConsumer.prototype.sourceContentFor=function(aSource,nullOnMissing){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(aSource=util.relative(this.sourceRoot,aSource)),this._sources.has(aSource))return this.sourcesContent[this._sources.indexOf(aSource)];var url;if(null!=this.sourceRoot&&(url=util.urlParse(this.sourceRoot))){var fileUriAbsPath=aSource.replace(/^file:\/\//,"");if("file"==url.scheme&&this._sources.has(fileUriAbsPath))return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)];if((!url.path||"/"==url.path)&&this._sources.has("/"+aSource))return this.sourcesContent[this._sources.indexOf("/"+aSource)]}if(nullOnMissing)return null;throw new Error('"'+aSource+'" is not in the SourceMap.')},BasicSourceMapConsumer.prototype.generatedPositionFor=function(aArgs){var source=util.getArg(aArgs,"source");if(null!=this.sourceRoot&&(source=util.relative(this.sourceRoot,source)),!this._sources.has(source))return{line:null,column:null,lastColumn:null};source=this._sources.indexOf(source);var needle={source:source,originalLine:util.getArg(aArgs,"line"),originalColumn:util.getArg(aArgs,"column")},index=this._findMapping(needle,this._originalMappings,"originalLine","originalColumn",util.compareByOriginalPositions,util.getArg(aArgs,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(index>=0){var mapping=this._originalMappings[index];if(mapping.source===needle.source)return{line:util.getArg(mapping,"generatedLine",null),column:util.getArg(mapping,"generatedColumn",null),lastColumn:util.getArg(mapping,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},exports.BasicSourceMapConsumer=BasicSourceMapConsumer,IndexedSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype),IndexedSourceMapConsumer.prototype.constructor=SourceMapConsumer,IndexedSourceMapConsumer.prototype._version=3,Object.defineProperty(IndexedSourceMapConsumer.prototype,"sources",{get:function(){for(var sources=[],i=0;i=0;i--)part=parts[i],"."===part?parts.splice(i,1):".."===part?up++:up>0&&(""===part?(parts.splice(i+1,up),up=0):(parts.splice(i,2),up--));return path=parts.join("/"),""===path&&(path=isAbsolute?"/":"."),url?(url.path=path,urlGenerate(url)):path}function join(aRoot,aPath){""===aRoot&&(aRoot="."),""===aPath&&(aPath=".");var aPathUrl=urlParse(aPath),aRootUrl=urlParse(aRoot);if(aRootUrl&&(aRoot=aRootUrl.path||"/"),aPathUrl&&!aPathUrl.scheme)return aRootUrl&&(aPathUrl.scheme=aRootUrl.scheme),urlGenerate(aPathUrl);if(aPathUrl||aPath.match(dataUrlRegexp))return aPath;if(aRootUrl&&!aRootUrl.host&&!aRootUrl.path)return aRootUrl.host=aPath,urlGenerate(aRootUrl);var joined="/"===aPath.charAt(0)?aPath:normalize(aRoot.replace(/\/+$/,"")+"/"+aPath);return aRootUrl?(aRootUrl.path=joined,urlGenerate(aRootUrl)):joined}function relative(aRoot,aPath){""===aRoot&&(aRoot="."),aRoot=aRoot.replace(/\/$/,"");for(var level=0;0!==aPath.indexOf(aRoot+"/");){var index=aRoot.lastIndexOf("/");if(index<0)return aPath;if(aRoot=aRoot.slice(0,index),aRoot.match(/^([^\/]+:\/)?\/*$/))return aPath;++level}return Array(level+1).join("../")+aPath.substr(aRoot.length+1)}function identity(s){return s}function toSetString(aStr){return isProtoString(aStr)?"$"+aStr:aStr}function fromSetString(aStr){return isProtoString(aStr)?aStr.slice(1):aStr}function isProtoString(s){if(!s)return!1;var length=s.length;if(length<9)return!1;if(95!==s.charCodeAt(length-1)||95!==s.charCodeAt(length-2)||111!==s.charCodeAt(length-3)||116!==s.charCodeAt(length-4)||111!==s.charCodeAt(length-5)||114!==s.charCodeAt(length-6)||112!==s.charCodeAt(length-7)||95!==s.charCodeAt(length-8)||95!==s.charCodeAt(length-9))return!1;for(var i=length-10;i>=0;i--)if(36!==s.charCodeAt(i))return!1;return!0}function compareByOriginalPositions(mappingA,mappingB,onlyCompareOriginal){var cmp=mappingA.source-mappingB.source;return 0!==cmp?cmp:0!==(cmp=mappingA.originalLine-mappingB.originalLine)?cmp:0!==(cmp=mappingA.originalColumn-mappingB.originalColumn)||onlyCompareOriginal?cmp:0!==(cmp=mappingA.generatedColumn-mappingB.generatedColumn)?cmp:(cmp=mappingA.generatedLine-mappingB.generatedLine,0!==cmp?cmp:mappingA.name-mappingB.name)}function compareByGeneratedPositionsDeflated(mappingA,mappingB,onlyCompareGenerated){var cmp=mappingA.generatedLine-mappingB.generatedLine;return 0!==cmp?cmp:0!==(cmp=mappingA.generatedColumn-mappingB.generatedColumn)||onlyCompareGenerated?cmp:0!==(cmp=mappingA.source-mappingB.source)?cmp:0!==(cmp=mappingA.originalLine-mappingB.originalLine)?cmp:(cmp=mappingA.originalColumn-mappingB.originalColumn,0!==cmp?cmp:mappingA.name-mappingB.name)}function strcmp(aStr1,aStr2){return aStr1===aStr2?0:aStr1>aStr2?1:-1}function compareByGeneratedPositionsInflated(mappingA,mappingB){var cmp=mappingA.generatedLine-mappingB.generatedLine;return 0!==cmp?cmp:0!==(cmp=mappingA.generatedColumn-mappingB.generatedColumn)?cmp:0!==(cmp=strcmp(mappingA.source,mappingB.source))?cmp:0!==(cmp=mappingA.originalLine-mappingB.originalLine)?cmp:(cmp=mappingA.originalColumn-mappingB.originalColumn,0!==cmp?cmp:strcmp(mappingA.name,mappingB.name))}exports.getArg=getArg;var urlRegexp=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,dataUrlRegexp=/^data:.+\,.+$/;exports.urlParse=urlParse,exports.urlGenerate=urlGenerate,exports.normalize=normalize,exports.join=join,exports.isAbsolute=function(aPath){return"/"===aPath.charAt(0)||!!aPath.match(urlRegexp)},exports.relative=relative;var supportsNullProto=function(){return!("__proto__"in Object.create(null))}();exports.toSetString=supportsNullProto?identity:toSetString,exports.fromSetString=supportsNullProto?identity:fromSetString,exports.compareByOriginalPositions=compareByOriginalPositions,exports.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated,exports.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated},function(module,exports){function recursiveSearch(aLow,aHigh,aNeedle,aHaystack,aCompare,aBias){var mid=Math.floor((aHigh-aLow)/2)+aLow,cmp=aCompare(aNeedle,aHaystack[mid],!0);return 0===cmp?mid:cmp>0?aHigh-mid>1?recursiveSearch(mid,aHigh,aNeedle,aHaystack,aCompare,aBias):aBias==exports.LEAST_UPPER_BOUND?aHigh1?recursiveSearch(aLow,mid,aNeedle,aHaystack,aCompare,aBias):aBias==exports.LEAST_UPPER_BOUND?mid:aLow<0?-1:aLow}exports.GREATEST_LOWER_BOUND=1,exports.LEAST_UPPER_BOUND=2,exports.search=function(aNeedle,aHaystack,aCompare,aBias){if(0===aHaystack.length)return-1;var index=recursiveSearch(-1,aHaystack.length,aNeedle,aHaystack,aCompare,aBias||exports.GREATEST_LOWER_BOUND);if(index<0)return-1;for(;index-1>=0&&0===aCompare(aHaystack[index],aHaystack[index-1],!0);)--index;return index}},function(module,exports,__webpack_require__){function ArraySet(){this._array=[],this._set=Object.create(null)}var util=__webpack_require__(2),has=Object.prototype.hasOwnProperty;ArraySet.fromArray=function(aArray,aAllowDuplicates){for(var set=new ArraySet,i=0,len=aArray.length;i=0&&aIdx>1;return isNegative?-shifted:shifted}var base64=__webpack_require__(6);exports.encode=function(aValue){var digit,encoded="",vlq=toVLQSigned(aValue);do{digit=31&vlq,vlq>>>=5,vlq>0&&(digit|=32),encoded+=base64.encode(digit)}while(vlq>0);return encoded},exports.decode=function(aStr,aIndex,aOutParam){var continuation,digit,strLen=aStr.length,result=0,shift=0;do{if(aIndex>=strLen)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(digit=base64.decode(aStr.charCodeAt(aIndex++))))throw new Error("Invalid base64 digit: "+aStr.charAt(aIndex-1));continuation=!!(32&digit),digit&=31,result+=digit<-1||(context[key]=instance[key])})}()}}function update(NextComponent){if("function"!=typeof NextComponent)throw new Error("Expected a constructor.");var existingProxy=findProxy(NextComponent);if(existingProxy)return update(existingProxy.__getCurrent());CurrentComponent=NextComponent;var mountedInstances=prototypeProxy.update(NextComponent.prototype);return ProxyComponent.prototype.constructor=ProxyComponent,ProxyComponent.__proto__=NextComponent.__proto__,Object.getOwnPropertyNames(NextComponent).forEach(function(key){if(!(RESERVED_STATICS.indexOf(key)>-1)){var staticDescriptor=_extends({},Object.getOwnPropertyDescriptor(NextComponent,key),{configurable:!0});wasStaticModifiedByUser(key)||(Object.defineProperty(ProxyComponent,key,staticDescriptor),staticDescriptors[key]=staticDescriptor)}}),Object.getOwnPropertyNames(ProxyComponent).forEach(function(key){if(!(RESERVED_STATICS.indexOf(key)>-1||NextComponent.hasOwnProperty(key))){var descriptor=Object.getOwnPropertyDescriptor(ProxyComponent,key);descriptor&&!descriptor.configurable||wasStaticModifiedByUser(key)||(delete ProxyComponent[key],delete staticDescriptors[key])}}),ProxyComponent.displayName=NextComponent.displayName||NextComponent.name,mountedInstances.forEach(_bindAutoBindMethods2.default),mountedInstances.forEach(_deleteUnknownAutoBindMethods2.default),mountedInstances}function get(){return ProxyComponent}function getCurrent(){return CurrentComponent}var existingProxy=findProxy(InitialComponent);if(existingProxy)return existingProxy;var prototypeProxy=(0,_createPrototypeProxy2.default)(),CurrentComponent=void 0,ProxyComponent=void 0,staticDescriptors={};try{ProxyComponent=new Function("factory","instantiate","return function "+(InitialComponent.name||"ProxyComponent")+"() {\n return instantiate(factory, this, arguments);\n }")(function(){return CurrentComponent},instantiate)}catch(err){ProxyComponent=function(){return instantiate(function(){return CurrentComponent},this,arguments)}}ProxyComponent.prototype=prototypeProxy.get(),ProxyComponent.toString=function(){return CurrentComponent.toString()},update(InitialComponent);var proxy={get:get,update:update};return addProxy(ProxyComponent,proxy),Object.defineProperty(proxy,"__getCurrent",{configurable:!1,writable:!1,enumerable:!1,value:getCurrent}),proxy}function createFallback(Component){var CurrentComponent=Component;return{get:function(){return CurrentComponent},update:function(NextComponent){CurrentComponent=NextComponent}}}function createClassProxy(Component){return Component.__proto__&&(0,_supportsProtoAssignment2.default)()?proxyClass(Component):createFallback(Component)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i-1?iterable[iteratee?collection[index]:index]:void 0}}var baseIteratee=__webpack_require__(52),isArrayLike=__webpack_require__(21),keys=__webpack_require__(28);module.exports=createFind},function(module,exports,__webpack_require__){function baseMatches(source){var matchData=getMatchData(source);return 1==matchData.length&&matchData[0][2]?matchesStrictComparable(matchData[0][0],matchData[0][1]):function(object){return object===source||baseIsMatch(object,source,matchData)}}var baseIsMatch=__webpack_require__(100),getMatchData=__webpack_require__(157),matchesStrictComparable=__webpack_require__(68);module.exports=baseMatches},function(module,exports,__webpack_require__){function baseIsMatch(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(null==object)return!length;for(object=Object(object);index--;){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object))return!1}for(;++index-1}var assocIndexOf=__webpack_require__(24);module.exports=listCacheHas},function(module,exports,__webpack_require__){function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this}var assocIndexOf=__webpack_require__(24);module.exports=listCacheSet},function(module,exports,__webpack_require__){function stackClear(){this.__data__=new ListCache,this.size=0}var ListCache=__webpack_require__(23);module.exports=stackClear},function(module,exports){function stackDelete(key){var data=this.__data__,result=data.delete(key);return this.size=data.size,result}module.exports=stackDelete},function(module,exports){function stackGet(key){return this.__data__.get(key)}module.exports=stackGet},function(module,exports){function stackHas(key){return this.__data__.has(key)}module.exports=stackHas},function(module,exports,__webpack_require__){function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map||pairs.length"}}function proxyMethod(name){var proxiedMethod=function(){if("function"==typeof current[name])return current[name].apply(this,arguments)};return(0,_assign2.default)(proxiedMethod,current[name]),proxiedMethod.toString=proxyToString(name),proxiedMethod}function proxiedComponentDidMount(){if(mountedInstances.push(this),"function"==typeof current.componentDidMount)return current.componentDidMount.apply(this,arguments)}function proxiedComponentWillUnmount(){var index=mountedInstances.indexOf(this);if(-1!==index&&mountedInstances.splice(index,1),"function"==typeof current.componentWillUnmount)return current.componentWillUnmount.apply(this,arguments)}function defineProxyProperty(name,descriptor){Object.defineProperty(proxy,name,descriptor)}function defineProxyPropertyWithValue(name,value){var _ref=Object.getOwnPropertyDescriptor(current,name)||{},_ref$enumerable=_ref.enumerable,enumerable=void 0!==_ref$enumerable&&_ref$enumerable,_ref$writable=_ref.writable;defineProxyProperty(name,{configurable:!0,enumerable:enumerable,writable:void 0===_ref$writable||_ref$writable,value:value})}function createAutoBindMap(){if(current.__reactAutoBindMap){var __reactAutoBindMap={};for(var name in current.__reactAutoBindMap)"function"==typeof proxy[name]&¤t.__reactAutoBindMap.hasOwnProperty(name)&&(__reactAutoBindMap[name]=proxy[name]);return __reactAutoBindMap}}function createAutoBindPairs(){for(var __reactAutoBindPairs=[],i=0;i1?sources[length-1]:void 0,guard=length>2?sources[2]:void 0;for(customizer=assigner.length>3&&"function"==typeof customizer?(length--,customizer):void 0,guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=length<3?void 0:customizer,length=1),object=Object(object);++index0){if(++count>=HOT_COUNT)return arguments[0]}else count=0;return func.apply(void 0,arguments)}}var HOT_COUNT=800,HOT_SPAN=16,nativeNow=Date.now;module.exports=shortOut},function(module,exports,__webpack_require__){function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;return!!("number"==type?isArrayLike(object)&&isIndex(index,object.length):"string"==type&&index in object)&&eq(object[index],value)}var eq=__webpack_require__(25),isArrayLike=__webpack_require__(21),isIndex=__webpack_require__(39),isObject=__webpack_require__(20);module.exports=isIterateeCall},function(module,exports,__webpack_require__){var baseDifference=__webpack_require__(187),baseFlatten=__webpack_require__(193),baseRest=__webpack_require__(76),isArrayLikeObject=__webpack_require__(195),difference=baseRest(function(array,values){return isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0)):[]});module.exports=difference},function(module,exports,__webpack_require__){function baseDifference(array,values,iteratee,comparator){var index=-1,includes=arrayIncludes,isCommon=!0,length=array.length,result=[],valuesLength=values.length;if(!length)return result;iteratee&&(values=arrayMap(values,baseUnary(iteratee))),comparator?(includes=arrayIncludesWith,isCommon=!1):values.length>=LARGE_ARRAY_SIZE&&(includes=cacheHas,isCommon=!1,values=new SetCache(values));outer:for(;++index-1}var baseIndexOf=__webpack_require__(189);module.exports=arrayIncludes},function(module,exports,__webpack_require__){function baseIndexOf(array,value,fromIndex){return value===value?strictIndexOf(array,value,fromIndex):baseFindIndex(array,baseIsNaN,fromIndex)}var baseFindIndex=__webpack_require__(72),baseIsNaN=__webpack_require__(190),strictIndexOf=__webpack_require__(191);module.exports=baseIndexOf},function(module,exports){function baseIsNaN(value){return value!==value}module.exports=baseIsNaN},function(module,exports){function strictIndexOf(array,value,fromIndex){for(var index=fromIndex-1,length=array.length;++index0&&predicate(value)?depth>1?baseFlatten(value,depth-1,predicate,isStrict,result):arrayPush(result,value):isStrict||(result[result.length]=value)}return result}var arrayPush=__webpack_require__(62),isFlattenable=__webpack_require__(194);module.exports=baseFlatten},function(module,exports,__webpack_require__){function isFlattenable(value){return isArray(value)||isArguments(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}var Symbol=__webpack_require__(19),isArguments=__webpack_require__(38),isArray=__webpack_require__(11),spreadableSymbol=Symbol?Symbol.isConcatSpreadable:void 0;module.exports=isFlattenable},function(module,exports,__webpack_require__){function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}var isArrayLike=__webpack_require__(21),isObjectLike=__webpack_require__(14);module.exports=isArrayLikeObject},function(module,exports,__webpack_require__){"use strict";function bindAutoBindMethod(component,method){var boundMethod=method.bind(component);boundMethod.__reactBoundContext=component,boundMethod.__reactBoundMethod=method,boundMethod.__reactBoundArguments=null;var componentName=component.constructor.displayName,_bind=boundMethod.bind;return boundMethod.bind=function(newThis){var args=Array.prototype.slice.call(arguments,1);if(newThis!==component&&null!==newThis)console.warn("bind(): React component methods may only be bound to the component instance. See "+componentName);else if(!args.length)return console.warn("bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See "+componentName),boundMethod;var reboundMethod=_bind.apply(boundMethod,arguments);return reboundMethod.__reactBoundContext=component,reboundMethod.__reactBoundMethod=method,reboundMethod.__reactBoundArguments=args,reboundMethod},boundMethod}function bindAutoBindMethodsFromMap(component){for(var autoBindKey in component.__reactAutoBindMap){if(!component.__reactAutoBindMap.hasOwnProperty(autoBindKey))return;if(!component.hasOwnProperty(autoBindKey)||component[autoBindKey].__reactBoundContext!==component){var method=component.__reactAutoBindMap[autoBindKey];component[autoBindKey]=bindAutoBindMethod(component,method)}}}function bindAutoBindMethods(component){component.__reactAutoBindPairs?bindAutoBindMethodsFromArray(component):component.__reactAutoBindMap&&bindAutoBindMethodsFromMap(component)}function bindAutoBindMethodsFromArray(component){var pairs=component.__reactAutoBindPairs;if(pairs)for(var i=0;i=0)&&null===component[name].__reactBoundArguments)}function shouldDeleteModernInstanceMethod(component,name){var prototype=component.constructor.prototype,prototypeDescriptor=Object.getOwnPropertyDescriptor(prototype,name);return!(!prototypeDescriptor||!prototypeDescriptor.get)&&prototypeDescriptor.get().length===component[name].length}function shouldDeleteInstanceMethod(component,name){if("function"==typeof Object.getOwnPropertyDescriptor(component,name).value)return component.__reactAutoBindMap||component.__reactAutoBindPairs?shouldDeleteClassicInstanceMethod(component,name):shouldDeleteModernInstanceMethod(component,name)}function deleteUnknownAutoBindMethods(component){Object.getOwnPropertyNames(component).forEach(function(name){shouldDeleteInstanceMethod(component,name)&&delete component[name]})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=deleteUnknownAutoBindMethods},function(module,exports,__webpack_require__){"use strict";function traverseRenderedChildren(internalInstance,callback,argument){if(callback(internalInstance,argument),internalInstance._renderedComponent)traverseRenderedChildren(internalInstance._renderedComponent,callback,argument);else for(var key in internalInstance._renderedChildren)internalInstance._renderedChildren.hasOwnProperty(key)&&traverseRenderedChildren(internalInstance._renderedChildren[key],callback,argument)}function setPendingForceUpdate(internalInstance){!1===internalInstance._pendingForceUpdate&&(internalInstance._pendingForceUpdate=!0)}function forceUpdateIfPending(internalInstance,React){if(!0===internalInstance._pendingForceUpdate){var publicInstance=internalInstance._instance;React.Component.prototype.forceUpdate.call(publicInstance)}}function deepForceUpdateStack(instance,React){var internalInstance=instance._reactInternalInstance;traverseRenderedChildren(internalInstance,setPendingForceUpdate),traverseRenderedChildren(internalInstance,forceUpdateIfPending,React)}function deepForceUpdate(instance,React){var root=instance._reactInternalFiber||instance._reactInternalInstance;if("number"!=typeof root.tag)return deepForceUpdateStack(instance,React);for(var node=root;;){if(node.tag===ReactClassComponent){var publicInstance=node.stateNode,updater=publicInstance.updater;"function"==typeof publicInstance.forceUpdate?publicInstance.forceUpdate():updater&&"function"==typeof updater.enqueueForceUpdate&&updater.enqueueForceUpdate(publicInstance)}if(node.child)node.child.return=node,node=node.child;else{if(node===root)return;for(;!node.sibling;){if(!node.return||node.return===root)return;node=node.return}node.sibling.return=node.return,node=node.sibling}}}function getForceUpdate(React){return function(instance){deepForceUpdate(instance,React)}}exports.__esModule=!0,exports.default=getForceUpdate;var ReactClassComponent=2;module.exports=exports.default},function(module,exports,__webpack_require__){(function(global){var win;win="undefined"!=typeof window?window:void 0!==global?global:"undefined"!=typeof self?self:{},module.exports=win}).call(exports,__webpack_require__(56))},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(0,function(exports){"use strict";function Map(){}function map(object,f){var map=new Map;if(object instanceof Map)object.each(function(value,key){map.set(key,value)});else if(Array.isArray(object)){var o,i=-1,n=object.length;if(null==f)for(;++i=keys.length)return rollup?rollup(array):sortValues?array.sort(sortValues):array;for(var keyValue,value,values,i=-1,n=array.length,key=keys[depth++],valuesByKey=map(),result=createResult();++i=keys.length)return map;var array=[],sortKey=sortKeys[depth++];return map.each(function(value,key){array.push({key:key,values:entries(value,depth)})}),sortKey?array.sort(function(a,b){return sortKey(a.key,b.key)}):array}var sortValues,rollup,nest,keys=[],sortKeys=[];return nest={object:function(array){return apply(array,0,createObject,setObject)},map:function(array){return apply(array,0,createMap,setMap)},entries:function(array){return entries(apply(array,0,createMap,setMap),0)},key:function(d){return keys.push(d),nest},sortKeys:function(order){return sortKeys[keys.length-1]=order,nest},sortValues:function(order){return sortValues=order,nest},rollup:function(f){return rollup=f,nest}}}function createObject(){return{}}function setObject(object,key,value){object[key]=value}function createMap(){return map()}function setMap(map,key,value){map.set(key,value)}function Set(){}function set(object,f){var set=new Set;if(object instanceof Set)object.each(function(value){set.add(value)});else if(object){var i=-1,n=object.length;if(null==f)for(;++i180||d<-180?d-360*Math.round(d/360):d):constant(isNaN(a)?b:a)}function gamma(y){return 1==(y=+y)?nogamma:function(a,b){return b-a?exponential(a,b,y):constant(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear(a,d):constant(isNaN(a)?b:a)}function array(a,b){var i,x=[],c=[],na=a?a.length:0,nb=b?b.length:0,n0=Math.min(na,nb);for(i=0;ibi&&(bs=b.slice(bi,bs),s[i]?s[i]+=bs:s[++i]=bs),(am=am[0])===(bm=bm[0])?s[i]?s[i]+=bm:s[++i]=bm:(s[++i]=null,q.push({i:i,x:number(am,bm)})),bi=reB.lastIndex;return bi180?b+=360:b-a>180&&(a+=360),q.push({i:s.push(pop(s)+"rotate(",null,degParen)-2,x:number(a,b)})):b&&s.push(pop(s)+"rotate("+b+degParen)}function skewX(a,b,s,q){a!==b?q.push({i:s.push(pop(s)+"skewX(",null,degParen)-2,x:number(a,b)}):b&&s.push(pop(s)+"skewX("+b+degParen)}function scale(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push(pop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else 1===xb&&1===yb||s.push(pop(s)+"scale("+xb+","+yb+")")}return function(a,b){var s=[],q=[];return a=parse(a),b=parse(b),translate(a.translateX,a.translateY,b.translateX,b.translateY,s,q),rotate(a.rotate,b.rotate,s,q),skewX(a.skewX,b.skewX,s,q),scale(a.scaleX,a.scaleY,b.scaleX,b.scaleY,s,q),a=b=null,function(t){for(var o,i=-1,n=q.length;++i1?coefficient[0]+coefficient.slice(2):coefficient,+x.slice(i+1)]}function exponent(x){return x=formatDecimal(Math.abs(x)),x?x[1]:NaN}function formatGroup(grouping,thousands){return function(value,width){for(var i=value.length,t=[],j=0,g=grouping[0],length=0;i>0&&g>0&&(length+g+1>width&&(g=Math.max(1,width-length)),t.push(value.substring(i-=g,i+g)),!((length+=g+1)>width));)g=grouping[j=(j+1)%grouping.length];return t.reverse().join(thousands)}}function formatDefault(x,p){x=x.toPrecision(p);out:for(var i1,n=x.length,i=1,i0=-1;i0&&(i0=0)}return i0>0?x.slice(0,i0)+x.slice(i1+1):x}function formatPrefixAuto(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1],i=exponent-(prefixExponent=3*Math.max(-8,Math.min(8,Math.floor(exponent/3))))+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+new Array(i-n+1).join("0"):i>0?coefficient.slice(0,i)+"."+coefficient.slice(i):"0."+new Array(1-i).join("0")+formatDecimal(x,Math.max(0,p+i-1))[0]}function formatRounded(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1];return exponent<0?"0."+new Array(-exponent).join("0")+coefficient:coefficient.length>exponent+1?coefficient.slice(0,exponent+1)+"."+coefficient.slice(exponent+1):coefficient+new Array(exponent-coefficient.length+2).join("0")}function formatSpecifier(specifier){return new FormatSpecifier(specifier)}function FormatSpecifier(specifier){if(!(match=re.exec(specifier)))throw new Error("invalid format: "+specifier);var match,fill=match[1]||" ",align=match[2]||">",sign=match[3]||"-",symbol=match[4]||"",zero=!!match[5],width=match[6]&&+match[6],comma=!!match[7],precision=match[8]&&+match[8].slice(1),type=match[9]||"";"n"===type?(comma=!0,type="g"):formatTypes[type]||(type=""),(zero||"0"===fill&&"="===align)&&(zero=!0,fill="0",align="="),this.fill=fill,this.align=align,this.sign=sign,this.symbol=symbol,this.zero=zero,this.width=width,this.comma=comma,this.precision=precision,this.type=type}function identity(x){return x}function locale(locale){function newFormat(specifier){function format(value){var i,n,c,valuePrefix=prefix,valueSuffix=suffix;if("c"===type)valueSuffix=formatType(value)+valueSuffix,value="";else{value=+value;var valueNegative=(value<0||1/value<0)&&(value*=-1,!0);if(value=formatType(value,precision),valueNegative)for(i=-1,n=value.length,valueNegative=!1;++i(c=value.charCodeAt(i))||c>57){valueSuffix=(46===c?decimal+value.slice(i+1):value.slice(i))+valueSuffix,value=value.slice(0,i);break}}comma&&!zero&&(value=group(value,1/0));var length=valuePrefix.length+value.length+valueSuffix.length,padding=length>1)+valuePrefix+value+valueSuffix+padding.slice(length)}return padding+valuePrefix+value+valueSuffix}specifier=formatSpecifier(specifier);var fill=specifier.fill,align=specifier.align,sign=specifier.sign,symbol=specifier.symbol,zero=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,type=specifier.type,prefix="$"===symbol?currency[0]:"#"===symbol&&/[boxX]/.test(type)?"0"+type.toLowerCase():"",suffix="$"===symbol?currency[1]:/[%p]/.test(type)?"%":"",formatType=formatTypes[type],maybeSuffix=!type||/[defgprs%]/.test(type);return precision=null==precision?type?6:12:/[gprs]/.test(type)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision)),format.toString=function(){return specifier+""},format}function formatPrefix(specifier,value){var f=newFormat((specifier=formatSpecifier(specifier),specifier.type="f",specifier)),e=3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3))),k=Math.pow(10,-e),prefix=prefixes[8+e/3];return function(value){return f(k*value)+prefix}}var group=locale.grouping&&locale.thousands?formatGroup(locale.grouping,locale.thousands):identity,currency=locale.currency,decimal=locale.decimal;return{format:newFormat,formatPrefix:formatPrefix}}function precisionFixed(step){return Math.max(0,-exponent(Math.abs(step)))}function precisionPrefix(step,value){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))-exponent(Math.abs(step)))}function precisionRound(step,max){return step=Math.abs(step),max=Math.abs(max)-step,Math.max(0,exponent(max)-exponent(step))+1}var prefixExponent,formatTypes={"":formatDefault,"%":function(x,p){return(100*x).toFixed(p)},b:function(x){return Math.round(x).toString(2)},c:function(x){return x+""},d:function(x){return Math.round(x).toString(10)},e:function(x,p){return x.toExponential(p)},f:function(x,p){return x.toFixed(p)},g:function(x,p){return x.toPrecision(p)},o:function(x){return Math.round(x).toString(8)},p:function(x,p){return formatRounded(100*x,p)},r:formatRounded,s:formatPrefixAuto,X:function(x){return Math.round(x).toString(16).toUpperCase()},x:function(x){return Math.round(x).toString(16)}},re=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],defaultLocale=locale({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),caES=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),csCZ=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," Kč"]}),deCH=locale({decimal:",",thousands:"'",grouping:[3],currency:[""," CHF"]}),deDE=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),enCA=locale({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),enGB=locale({decimal:".",thousands:",",grouping:[3],currency:["£",""]}),esES=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),fiFI=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," €"]}),frCA=locale({decimal:",",thousands:" ",grouping:[3],currency:["","$"]}),frFR=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),heIL=locale({decimal:".",thousands:",",grouping:[3],currency:["₪",""]}),huHU=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," Ft"]}),itIT=locale({decimal:",",thousands:".",grouping:[3],currency:["€",""]}),jaJP=locale({decimal:".",thousands:",",grouping:[3],currency:["","円"]}),koKR=locale({decimal:".",thousands:",",grouping:[3],currency:["₩",""]}),mkMK=locale({decimal:",",thousands:".",grouping:[3],currency:[""," ден."]}),nlNL=locale({decimal:",",thousands:".",grouping:[3],currency:["€ ",""]}),plPL=locale({decimal:",",thousands:".",grouping:[3],currency:["","zł"]}),ptBR=locale({decimal:",",thousands:".",grouping:[3],currency:["R$",""]}),ruRU=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," руб."]}),svSE=locale({decimal:",",thousands:" ",grouping:[3],currency:["","SEK"]}),zhCN=locale({decimal:".",thousands:",",grouping:[3],currency:["¥",""]}),format=defaultLocale.format,formatPrefix=defaultLocale.formatPrefix;exports.version="0.5.1",exports.format=format,exports.formatPrefix=formatPrefix,exports.formatLocale=locale,exports.formatCaEs=caES,exports.formatCsCz=csCZ,exports.formatDeCh=deCH,exports.formatDeDe=deDE,exports.formatEnCa=enCA,exports.formatEnGb=enGB,exports.formatEnUs=defaultLocale,exports.formatEsEs=esES,exports.formatFiFi=fiFI,exports.formatFrCa=frCA,exports.formatFrFr=frFR,exports.formatHeIl=heIL,exports.formatHuHu=huHU,exports.formatItIt=itIT,exports.formatJaJp=jaJP,exports.formatKoKr=koKR,exports.formatMkMk=mkMK,exports.formatNlNl=nlNL,exports.formatPlPl=plPL,exports.formatPtBr=ptBR,exports.formatRuRu=ruRU,exports.formatSvSe=svSE,exports.formatZhCn=zhCN,exports.formatSpecifier=formatSpecifier,exports.precisionFixed=precisionFixed,exports.precisionPrefix=precisionPrefix,exports.precisionRound=precisionRound})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(79))}(0,function(exports,d3Time){"use strict";function localDate(d){if(0<=d.y&&d.y<100){var date=new Date(-1,d.m,d.d,d.H,d.M,d.S,d.L);return date.setFullYear(d.y),date}return new Date(d.y,d.m,d.d,d.H,d.M,d.S,d.L)}function utcDate(d){if(0<=d.y&&d.y<100){var date=new Date(Date.UTC(-1,d.m,d.d,d.H,d.M,d.S,d.L));return date.setUTCFullYear(d.y),date}return new Date(Date.UTC(d.y,d.m,d.d,d.H,d.M,d.S,d.L))}function newYear(y){return{y:y,m:0,d:1,H:0,M:0,S:0,L:0}}function locale$1(locale){function newFormat(specifier,formats){return function(date){var c,pad,format,string=[],i=-1,j=0,n=specifier.length;for(date instanceof Date||(date=new Date(+date));++i=m)return-1;if(37===(c=specifier.charCodeAt(i++))){if(c=specifier.charAt(i++),!(parse=parses[c in pads?specifier.charAt(i++):c])||(j=parse(d,string,j))<0)return-1}else if(c!=string.charCodeAt(j++))return-1}return j}function parsePeriod(d,string,i){var n=periodRe.exec(string.slice(i));return n?(d.p=periodLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortWeekday(d,string,i){var n=shortWeekdayRe.exec(string.slice(i));return n?(d.w=shortWeekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseWeekday(d,string,i){var n=weekdayRe.exec(string.slice(i));return n?(d.w=weekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortMonth(d,string,i){var n=shortMonthRe.exec(string.slice(i));return n?(d.m=shortMonthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseMonth(d,string,i){var n=monthRe.exec(string.slice(i));return n?(d.m=monthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseLocaleDateTime(d,string,i){return parseSpecifier(d,locale_dateTime,string,i)}function parseLocaleDate(d,string,i){return parseSpecifier(d,locale_date,string,i)}function parseLocaleTime(d,string,i){return parseSpecifier(d,locale_time,string,i)}function formatShortWeekday(d){return locale_shortWeekdays[d.getDay()]}function formatWeekday(d){return locale_weekdays[d.getDay()]}function formatShortMonth(d){return locale_shortMonths[d.getMonth()]}function formatMonth(d){return locale_months[d.getMonth()]}function formatPeriod(d){return locale_periods[+(d.getHours()>=12)]}function formatUTCShortWeekday(d){return locale_shortWeekdays[d.getUTCDay()]}function formatUTCWeekday(d){return locale_weekdays[d.getUTCDay()]}function formatUTCShortMonth(d){return locale_shortMonths[d.getUTCMonth()]}function formatUTCMonth(d){return locale_months[d.getUTCMonth()]}function formatUTCPeriod(d){return locale_periods[+(d.getUTCHours()>=12)]}var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_weekdays=locale.days,locale_shortWeekdays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths,periodRe=formatRe(locale_periods),periodLookup=formatLookup(locale_periods),weekdayRe=formatRe(locale_weekdays),weekdayLookup=formatLookup(locale_weekdays),shortWeekdayRe=formatRe(locale_shortWeekdays),shortWeekdayLookup=formatLookup(locale_shortWeekdays),monthRe=formatRe(locale_months),monthLookup=formatLookup(locale_months),shortMonthRe=formatRe(locale_shortMonths),shortMonthLookup=formatLookup(locale_shortMonths),formats={a:formatShortWeekday,A:formatWeekday,b:formatShortMonth,B:formatMonth,c:null,d:formatDayOfMonth,e:formatDayOfMonth,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:formatPeriod,S:formatSeconds,U:formatWeekNumberSunday,w:formatWeekdayNumber,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent},utcFormats={a:formatUTCShortWeekday,A:formatUTCWeekday,b:formatUTCShortMonth,B:formatUTCMonth,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:formatUTCPeriod,S:formatUTCSeconds,U:formatUTCWeekNumberSunday,w:formatUTCWeekdayNumber,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent},parses={a:parseShortWeekday,A:parseWeekday,b:parseShortMonth,B:parseMonth,c:parseLocaleDateTime,d:parseDayOfMonth,e:parseDayOfMonth,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:parsePeriod,S:parseSeconds,U:parseWeekNumberSunday,w:parseWeekdayNumber,W:parseWeekNumberMonday,x:parseLocaleDate,X:parseLocaleTime,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};return formats.x=newFormat(locale_date,formats),formats.X=newFormat(locale_time,formats),formats.c=newFormat(locale_dateTime,formats),utcFormats.x=newFormat(locale_date,utcFormats),utcFormats.X=newFormat(locale_time,utcFormats),utcFormats.c=newFormat(locale_dateTime,utcFormats),{format:function(specifier){var f=newFormat(specifier+="",formats);return f.toString=function(){return specifier},f},parse:function(specifier){var p=newParse(specifier+="",localDate);return p.toString=function(){return specifier},p},utcFormat:function(specifier){var f=newFormat(specifier+="",utcFormats);return f.toString=function(){return specifier},f},utcParse:function(specifier){var p=newParse(specifier,utcDate);return p.toString=function(){return specifier},p}}}function pad(value,fill,width){var sign=value<0?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(length68?1900:2e3),i+n[0].length):-1}function parseZone(d,string,i){var n=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i,i+6));return n?(d.Z=n[1]?0:-(n[2]+(n[3]||"00")),i+n[0].length):-1}function parseMonthNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.m=n[0]-1,i+n[0].length):-1}function parseDayOfMonth(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.d=+n[0],i+n[0].length):-1}function parseDayOfYear(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.m=0,d.d=+n[0],i+n[0].length):-1}function parseHour24(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.H=+n[0],i+n[0].length):-1}function parseMinutes(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.M=+n[0],i+n[0].length):-1}function parseSeconds(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.S=+n[0],i+n[0].length):-1}function parseMilliseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.L=+n[0],i+n[0].length):-1}function parseLiteralPercent(d,string,i){var n=percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function formatDayOfMonth(d,p){return pad(d.getDate(),p,2)}function formatHour24(d,p){return pad(d.getHours(),p,2)}function formatHour12(d,p){return pad(d.getHours()%12||12,p,2)}function formatDayOfYear(d,p){return pad(1+d3Time.timeDay.count(d3Time.timeYear(d),d),p,3)}function formatMilliseconds(d,p){return pad(d.getMilliseconds(),p,3)}function formatMonthNumber(d,p){return pad(d.getMonth()+1,p,2)}function formatMinutes(d,p){return pad(d.getMinutes(),p,2)}function formatSeconds(d,p){return pad(d.getSeconds(),p,2)}function formatWeekNumberSunday(d,p){return pad(d3Time.timeSunday.count(d3Time.timeYear(d),d),p,2)}function formatWeekdayNumber(d){return d.getDay()}function formatWeekNumberMonday(d,p){return pad(d3Time.timeMonday.count(d3Time.timeYear(d),d),p,2)}function formatYear(d,p){return pad(d.getFullYear()%100,p,2)}function formatFullYear(d,p){return pad(d.getFullYear()%1e4,p,4)}function formatZone(d){var z=d.getTimezoneOffset();return(z>0?"-":(z*=-1,"+"))+pad(z/60|0,"0",2)+pad(z%60,"0",2)}function formatUTCDayOfMonth(d,p){return pad(d.getUTCDate(),p,2)}function formatUTCHour24(d,p){return pad(d.getUTCHours(),p,2)}function formatUTCHour12(d,p){return pad(d.getUTCHours()%12||12,p,2)}function formatUTCDayOfYear(d,p){return pad(1+d3Time.utcDay.count(d3Time.utcYear(d),d),p,3)}function formatUTCMilliseconds(d,p){return pad(d.getUTCMilliseconds(),p,3)}function formatUTCMonthNumber(d,p){return pad(d.getUTCMonth()+1,p,2)}function formatUTCMinutes(d,p){return pad(d.getUTCMinutes(),p,2)}function formatUTCSeconds(d,p){return pad(d.getUTCSeconds(),p,2)}function formatUTCWeekNumberSunday(d,p){return pad(d3Time.utcSunday.count(d3Time.utcYear(d),d),p,2)}function formatUTCWeekdayNumber(d){return d.getUTCDay()}function formatUTCWeekNumberMonday(d,p){return pad(d3Time.utcMonday.count(d3Time.utcYear(d),d),p,2)}function formatUTCYear(d,p){return pad(d.getUTCFullYear()%100,p,2)}function formatUTCFullYear(d,p){return pad(d.getUTCFullYear()%1e4,p,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatIsoNative(date){return date.toISOString()}function parseIsoNative(string){var date=new Date(string);return isNaN(date)?null:date}var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,locale=locale$1({dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),caES=locale$1({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],shortDays:["dg.","dl.","dt.","dc.","dj.","dv.","ds."],months:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],shortMonths:["gen.","febr.","març","abr.","maig","juny","jul.","ag.","set.","oct.","nov.","des."]}),deCH=locale$1({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),deDE=locale$1({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),enCA=locale$1({dateTime:"%a %b %e %X %Y",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),enGB=locale$1({dateTime:"%a %e %b %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),esES=locale$1({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],shortDays:["dom","lun","mar","mié","jue","vie","sáb"],months:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],shortMonths:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"]}),fiFI=locale$1({dateTime:"%A, %-d. %Bta %Y klo %X",date:"%-d.%-m.%Y",time:"%H:%M:%S",periods:["a.m.","p.m."],days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],shortDays:["Su","Ma","Ti","Ke","To","Pe","La"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],shortMonths:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"]}),frCA=locale$1({dateTime:"%a %e %b %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["",""],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim","lun","mar","mer","jeu","ven","sam"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["jan","fév","mar","avr","mai","jui","jul","aoû","sep","oct","nov","déc"]}),frFR=locale$1({dateTime:"%A, le %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."]}),heIL=locale$1({dateTime:"%A, %e ב%B %Y %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],shortDays:["א׳","ב׳","ג׳","ד׳","ה׳","ו׳","ש׳"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],shortMonths:["ינו׳","פבר׳","מרץ","אפר׳","מאי","יוני","יולי","אוג׳","ספט׳","אוק׳","נוב׳","דצמ׳"]}),huHU=locale$1({dateTime:"%Y. %B %-e., %A %X",date:"%Y. %m. %d.",time:"%H:%M:%S",periods:["de.","du."],days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],shortDays:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],shortMonths:["jan.","feb.","már.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."]}),itIT=locale$1({dateTime:"%A %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],shortDays:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],shortMonths:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"]}),jaJP=locale$1({dateTime:"%Y %b %e %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["AM","PM"],days:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],shortDays:["日","月","火","水","木","金","土"],months:["睦月","如月","弥生","卯月","皐月","水無月","文月","葉月","長月","神無月","霜月","師走"],shortMonths:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}),koKR=locale$1({dateTime:"%Y/%m/%d %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["오전","오후"],days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],shortDays:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],shortMonths:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]}),mkMK=locale$1({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["недела","понеделник","вторник","среда","четврток","петок","сабота"],shortDays:["нед","пон","вто","сре","чет","пет","саб"],months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],shortMonths:["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек"]}),nlNL=locale$1({dateTime:"%a %e %B %Y %T",date:"%d-%m-%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],shortDays:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],shortMonths:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]}),plPL=locale$1({dateTime:"%A, %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],shortDays:["Niedz.","Pon.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],shortMonths:["Stycz.","Luty","Marz.","Kwie.","Maj","Czerw.","Lipc.","Sierp.","Wrz.","Paźdz.","Listop.","Grudz."]}),ptBR=locale$1({dateTime:"%A, %e de %B de %Y. %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],shortDays:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"]}),ruRU=locale$1({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],shortDays:["вс","пн","вт","ср","чт","пт","сб"],months:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],shortMonths:["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек"]}),svSE=locale$1({dateTime:"%A den %d %B %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["fm","em"],days:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],shortDays:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]}),zhCN=locale$1({dateTime:"%x %A %X",date:"%Y年%-m月%-d日",time:"%H:%M:%S",periods:["上午","下午"],days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],shortDays:["周日","周一","周二","周三","周四","周五","周六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],shortMonths:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]}),formatIso=Date.prototype.toISOString?formatIsoNative:locale.utcFormat("%Y-%m-%dT%H:%M:%S.%LZ"),parseIso=+new Date("2000-01-01T00:00:00.000Z")?parseIsoNative:locale.utcParse("%Y-%m-%dT%H:%M:%S.%LZ"),timeFormat=locale.format,timeParse=locale.parse,utcFormat=locale.utcFormat,utcParse=locale.utcParse;exports.timeFormat=timeFormat,exports.timeParse=timeParse,exports.utcFormat=utcFormat,exports.utcParse=utcParse,exports.version="0.3.2",exports.timeFormatLocale=locale$1,exports.timeFormatCaEs=caES,exports.timeFormatDeCh=deCH,exports.timeFormatDeDe=deDE,exports.timeFormatEnCa=enCA,exports.timeFormatEnGb=enGB,exports.timeFormatEnUs=locale,exports.timeFormatEsEs=esES,exports.timeFormatFiFi=fiFI,exports.timeFormatFrCa=frCA,exports.timeFormatFrFr=frFR,exports.timeFormatHeIl=heIL,exports.timeFormatHuHu=huHU,exports.timeFormatItIt=itIT,exports.timeFormatJaJp=jaJP,exports.timeFormatKoKr=koKR,exports.timeFormatMkMk=mkMK,exports.timeFormatNlNl=nlNL,exports.timeFormatPlPl=plPL,exports.timeFormatPtBr=ptBR,exports.timeFormatRuRu=ruRU,exports.timeFormatSvSe=svSE,exports.timeFormatZhCn=zhCN,exports.isoFormat=formatIso,exports.isoParse=parseIso})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i=0&&(index-b)%a==0&&eq)return 1}function isXML(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return!!documentElement&&"html"!==documentElement.nodeName.toLowerCase()}function matches(str,seeds){return select(str,null,seeds)}function singleMatch(el,match){if(!match)return!0;if(!el)return!1;if(9===el.nodeType)return!1;var matchSuffixLen,matchSuffixIndex,matched=1,matchSuffix=match.suffix;if("tag"===match.t&&(matched&=matchExpr.tag(el,match.value)),matched&&matchSuffix)for(matchSuffixLen=matchSuffix.length,matchSuffixIndex=0;matched&&matchSuffixIndex1&&(ret=util.unique(ret)),ret}var isContextXML,matchExpr,util=__webpack_require__(209),parser=__webpack_require__(210),EXPANDO_SELECTOR_KEY="_ks_data_selector_id_",caches={},uuid=0,subMatchesCache={},getAttr=function(el,name){return isContextXML?util.getSimpleAttr(el,name):util.attr(el,name)},hasSingleClass=util.hasSingleClass,isTag=util.isTag,aNPlusB=/^(([+-]?(?:\d+)?)?n)?([+-]?\d+)?$/,unescape=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,unescapeFn=function(_,escaped){var high="0x"+escaped-65536;return isNaN(high)?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},pseudoFnExpr={"nth-child":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,count=0,len=childNodes.length;count=0;count--)if(child=childNodes[count],1===child.nodeType&&(index++,void 0!==(ret=matchIndexByAb(index,a,b,child===el))))return ret;return 0},"nth-of-type":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,elType=el.tagName,count=0,len=childNodes.length;count=0;count--)if(child=childNodes[count],child.tagName===elType&&(index++,void 0!==(ret=matchIndexByAb(index,a,b,child===el))))return ret;return 0},lang:function(el,lang){var elLang;lang=unEscape(lang.toLowerCase());do{if(elLang=isContextXML?el.getAttribute("xml:lang")||el.getAttribute("lang"):el.lang)return(elLang=elLang.toLowerCase())===lang||0===elLang.indexOf(lang+"-")}while((el=el.parentNode)&&1===el.nodeType);return!1},not:function(el,negationArg){return!matchExpr[negationArg.t](el,negationArg.value)}},pseudoIdentExpr={empty:function(el){for(var child,nodeType,childNodes=el.childNodes,index=0,len=childNodes.length-1;index=0)},target:function(el){var hash=location.hash;return hash&&hash.slice(1)===getAttr(el,"id")},enabled:function(el){return!el.disabled},disabled:function(el){return el.disabled},checked:function(el){var nodeName=el.nodeName.toLowerCase();return"input"===nodeName&&el.checked||"option"===nodeName&&el.selected}},attributeExpr={"~=":function(elValue,value){return!value||value.indexOf(" ")>-1?0:-1!==(" "+elValue+" ").indexOf(" "+value+" ")},"|=":function(elValue,value){return-1!==(" "+elValue).indexOf(" "+value+"-")},"^=":function(elValue,value){return value&&util.startsWith(elValue,value)},"$=":function(elValue,value){return value&&util.endsWith(elValue,value)},"*=":function(elValue,value){return value&&-1!==elValue.indexOf(value)},"=":function(elValue,value){return elValue===value}},relativeExpr={">":{dir:"parentNode",immediate:1}," ":{dir:"parentNode"},"+":{dir:"previousSibling",immediate:1},"~":{dir:"previousSibling"}};matchExpr={tag:isTag,cls:hasSingleClass,id:function(el,value){return getAttr(el,"id")===value},attrib:function(el,value){var name=value.ident;isContextXML||(name=name.toLowerCase());var elValue=getAttr(el,name),match=value.match;if(!match&&void 0!==elValue)return 1;if(match){if(void 0===elValue)return 0;var matchFn=attributeExpr[match];if(matchFn)return matchFn(elValue+"",value.value+"")}return 0},pseudo:function(el,value){var fn,fnStr,ident;if(fnStr=value.fn){if(!(fn=pseudoFnExpr[fnStr]))throw new SyntaxError("Syntax error: not support pseudo: "+fnStr);return fn(el,value.param)}if(ident=value.ident){if(!pseudoIdentExpr[ident])throw new SyntaxError("Syntax error: not support pseudo: "+ident);return pseudoIdentExpr[ident](el)}return 0}},parser.lexer.yy={trim:util.trim,unEscape:unEscape,unEscapeStr:function(str){return this.unEscape(str.slice(1,-1))}},module.exports=select,select.parse=function(str){return parser.parse(str)},select.matches=matches,select.util=util,select.version="@VERSION@"},function(module,exports){function numberify(s){var c=0;return parseFloat(s.replace(/\./g,function(){return 0==c++?".":""}))}function mix(s,t){for(var p in t)s[p]=t[p]}var propFix,R_BOOLEAN=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,R_FOCUSABLE=/^(?:button|input|object|select|textarea)$/i,R_CLICKABLE=/^a(?:rea)?$/i,R_INVALID_CHAR=/:|^on/,attrFix={},attrHooks={tabindex:{get:function(el){var attributeNode=el.getAttributeNode("tabindex");return attributeNode&&attributeNode.specified?parseInt(attributeNode.value,10):R_FOCUSABLE.test(el.nodeName)||R_CLICKABLE.test(el.nodeName)&&el.href?0:void 0}}},boolHook={get:function(elem,name){return elem[propFix[name]||name]?name.toLowerCase():void 0}},attrNodeHook={};attrHooks.style={get:function(el){return el.style.cssText}},propFix={hidefocus:"hideFocus",tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"};var ua="undefined"!=typeof navigator?navigator.userAgent:"",doc="undefined"!=typeof document?document:{},ie=function(){var m,v;if((m=ua.match(/MSIE ([^;]*)|Trident.*; rv(?:\s|:)?([0-9.]+)/))&&(v=m[1]||m[2]))return doc.documentMode||numberify(v)}();if(ie&&ie<8&&(attrHooks.style.set=function(el,val){el.style.cssText=val},mix(attrNodeHook,{get:function(elem,name){var ret=elem.getAttributeNode(name);return ret&&(ret.specified||ret.nodeValue)?ret.nodeValue:void 0}}),mix(attrFix,propFix),attrHooks.tabIndex=attrHooks.tabindex,function(arr,fn){for(var i=0,l=arr.length;i0;for(len-=1;len>=0;len--)3!==childNodes[len].nodeType&&(allText=0);allText&&(b=el.ownerDocument.createElement("b"),b.style.display="none",el.appendChild(b)),el.setAttribute(name,""+val),b&&el.removeChild(b)}}var getElementsByTagName,RE_TRIM=/^[\s\xa0]+|[\s\xa0]+$/g,trim=String.prototype.trim;if(getElementsByTagName=function(name,context){return context.getElementsByTagName(name)},doc.createElement){var div=doc.createElement("div");div.appendChild(document.createComment("")),div.getElementsByTagName("*").length&&(getElementsByTagName=function(name,context){var nodes=context.getElementsByTagName(name),needsFilter="*"===name;if(needsFilter||"number"!=typeof nodes.length){for(var el,ret=[],i=0;el=nodes[i++];)needsFilter&&1!==el.nodeType||ret.push(el);return ret}return nodes})}var compareNodeOrder="sourceIndex"in(doc&&doc.documentElement||{})?function(a,b){return a.sourceIndex-b.sourceIndex}:function(a,b){return a.compareDocumentPosition&&b.compareDocumentPosition?4&a.compareDocumentPosition(b)?-1:1:a.compareDocumentPosition?-1:1},util=module.exports={ie:ie,unique:function(){function sortOrder(a,b){return a===b?(hasDuplicate=!0,0):compareNodeOrder(a,b)}var hasDuplicate,baseHasDuplicate=!0;return[0,0].sort(function(){return baseHasDuplicate=!1,0}),function(elements){if(hasDuplicate=baseHasDuplicate,elements.sort(sortOrder),hasDuplicate)for(var i=1,len=elements.length;i-1},startsWith:function(str,prefix){return 0===str.lastIndexOf(prefix,0)},endsWith:function(str,suffix){var ind=str.length-suffix.length;return ind>=0&&str.indexOf(suffix,ind)===ind},trim:trim?function(str){return null==str?"":trim.call(str)}:function(str){return null==str?"":(str+"").replace(RE_TRIM,"")},attr:function(el,name){var attrNormalizer,ret;if(name=name.toLowerCase(),name=attrFix[name]||name,attrNormalizer=R_BOOLEAN.test(name)?boolHook:R_INVALID_CHAR.test(name)?attrNodeHook:attrHooks[name],el&&1===el.nodeType){if("form"===el.nodeName.toLowerCase()&&(attrNormalizer=attrNodeHook),attrNormalizer&&attrNormalizer.get)return attrNormalizer.get(el,name);if(""===(ret=el.getAttribute(name))){var attrNode=el.getAttributeNode(name);if(!attrNode||!attrNode.specified)return}return null===ret?void 0:ret}}}},function(module,exports,__webpack_require__){var parser=function(undefined){function mix(to,from){for(var f in from)to[f]=from[f]}function isArray(obj){return"[object Array]"===Object.prototype.toString.call(obj)}function each(object,fn,context){if(object){var key,val,length,i=0;if(context=context||null,isArray(object))for(length=object.length,val=object[0];iDEBUG_CONTEXT_LIMIT?"...":"")+matched.slice(0-DEBUG_CONTEXT_LIMIT).replace(/\n/," "),next=match+input;return next=next.slice(0,DEBUG_CONTEXT_LIMIT)+(next.length>DEBUG_CONTEXT_LIMIT?"...":""),past+next+"\n"+new Array(past.length+1).join("-")+"^"},mapSymbol:function(t){return this.symbolMap[t]},mapReverseSymbol:function(rs){var i,self=this,symbolMap=self.symbolMap,reverseSymbolMap=self.reverseSymbolMap;if(!reverseSymbolMap&&symbolMap){reverseSymbolMap=self.reverseSymbolMap={};for(i in symbolMap)reverseSymbolMap[symbolMap[i]]=i}return reverseSymbolMap?reverseSymbolMap[rs]:rs},lex:function(){var i,rule,m,ret,lines,self=this,input=self.input,rules=self.getCurrentRules();if(self.match=self.text="",!input)return self.mapSymbol(Lexer.STATIC.END_TAG);for(i=0;i(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["v",/^(?:[\t\r\n\f\x20]*)~(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["w",/^\*/,0],["x",/^(?:[\t\r\n\f\x20]+)/,0],["y",/^./,0]]});return parser.lexer=lexer,lexer.symbolMap={$EOF:"a",LEFT_BRACKET:"b",RIGHT_BRACKET:"c",INCLUDES:"d",DASH_MATCH:"e",PREFIX_MATCH:"f",SUFFIX_MATCH:"g",SUBSTRING_MATCH:"h",ALL_MATCH:"i",FUNCTION:"j",PARAMETER:"k",RIGHT_PARENTHESES:"l",NOT:"m",IDENT:"n",STRING:"o",HASH:"p",CLASS:"q",COMMA:"r",COLON:"s",PLUS:"t",GREATER:"u",TILDE:"v",UNIVERSAL:"w",S:"x",INVALID:"y",$START:"z",selectors_group:"aa",selector:"ab",simple_selector_sequence:"ac",combinator:"ad",type_selector:"ae",id_selector:"af",class_selector:"ag",attrib_match:"ah",attrib:"ai",attrib_val:"aj",pseudo:"ak",negation:"al",negation_arg:"am",suffix_selector:"an",suffix_selectors:"ao"},parser.productions=[["z",["aa"]],["aa",["ab"],function(){return[this.$1]}],["aa",["aa","r","ab"],function(){this.$1.push(this.$3)}],["ab",["ac"]],["ab",["ab","ad","ac"],function(){this.$1.nextCombinator=this.$3.prevCombinator=this.$2;var order;return order=this.$1.order=this.$1.order||0,this.$3.order=order+1,this.$3.prev=this.$1,this.$1.next=this.$3,this.$3}],["ad",["t"]],["ad",["u"]],["ad",["v"]],["ad",["x"],function(){return" "}],["ae",["n"],function(){return{t:"tag",value:this.$1}}],["ae",["w"],function(){return{t:"tag",value:this.$1}}],["af",["p"],function(){return{t:"id",value:this.$1}}],["ag",["q"],function(){return{t:"cls",value:this.$1}}],["ah",["f"]],["ah",["g"]],["ah",["h"]],["ah",["i"]],["ah",["d"]],["ah",["e"]],["ai",["b","n","c"],function(){return{t:"attrib",value:{ident:this.$2}}}],["aj",["n"]],["aj",["o"]],["ai",["b","n","ah","aj","c"],function(){return{t:"attrib",value:{ident:this.$2,match:this.$3,value:this.$4}}}],["ak",["s","j","k","l"],function(){return{t:"pseudo",value:{fn:this.$2.toLowerCase(),param:this.$3}}}],["ak",["s","n"],function(){return{t:"pseudo",value:{ident:this.$2.toLowerCase()}}}],["al",["m","am","l"],function(){return{t:"pseudo",value:{fn:"not",param:this.$2}}}],["am",["ae"]],["am",["af"]],["am",["ag"]],["am",["ai"]],["am",["ak"]],["an",["af"]],["an",["ag"]],["an",["ai"]],["an",["ak"]],["an",["al"]],["ao",["an"],function(){return[this.$1]}],["ao",["ao","an"],function(){this.$1.push(this.$2)}],["ac",["ae"]],["ac",["ao"],function(){return{suffix:this.$1}}],["ac",["ae","ao"],function(){return{t:"tag",value:this.$1.value,suffix:this.$2}}]],parser.table={gotos:{0:{aa:8,ab:9,ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:18},2:{ae:20,af:21,ag:22,ai:23,ak:24,am:25},9:{ad:33},10:{af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:34},17:{af:11,ag:12,ai:13,ak:14,al:15,an:35},19:{ah:43},28:{ab:46,ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:18},33:{ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:47},34:{af:11,ag:12,ai:13,ak:14,al:15,an:35},43:{aj:50},46:{ad:33}},action:{0:{b:[1,void 0,1],m:[1,void 0,2],n:[1,void 0,3],p:[1,void 0,4],q:[1,void 0,5],s:[1,void 0,6],w:[1,void 0,7]},1:{n:[1,void 0,19]},2:{b:[1,void 0,1],n:[1,void 0,3],p:[1,void 0,4],q:[1,void 0,5],s:[1,void 0,6],w:[1,void 0,7]},3:{a:[2,9],r:[2,9],t:[2,9],u:[2,9],v:[2,9],x:[2,9],p:[2,9],q:[2,9],b:[2,9],s:[2,9],m:[2,9],l:[2,9]},4:{a:[2,11],r:[2,11],t:[2,11],u:[2,11],v:[2,11],x:[2,11],p:[2,11],q:[2,11],b:[2,11],s:[2,11],m:[2,11],l:[2,11]},5:{a:[2,12],r:[2,12],t:[2,12],u:[2,12],v:[2,12],x:[2,12],p:[2,12],q:[2,12],b:[2,12],s:[2,12],m:[2,12],l:[2,12]},6:{j:[1,void 0,26],n:[1,void 0,27]},7:{a:[2,10],r:[2,10],t:[2,10],u:[2,10],v:[2,10],x:[2,10],p:[2,10],q:[2,10],b:[2,10],s:[2,10],m:[2,10],l:[2,10]},8:{a:[0],r:[1,void 0,28]},9:{a:[2,1],r:[2,1],t:[1,void 0,29],u:[1,void 0,30],v:[1,void 0,31],x:[1,void 0,32]},10:{a:[2,38],r:[2,38],t:[2,38],u:[2,38],v:[2,38],x:[2,38],b:[1,void 0,1],m:[1,void 0,2],p:[1,void 0,4],q:[1,void 0,5],s:[1,void 0,6]},11:{a:[2,31],r:[2,31],t:[2,31],u:[2,31],v:[2,31],x:[2,31],p:[2,31],q:[2,31],b:[2,31],s:[2,31],m:[2,31]},12:{a:[2,32],r:[2,32],t:[2,32],u:[2,32],v:[2,32],x:[2,32],p:[2,32],q:[2,32],b:[2,32],s:[2,32],m:[2,32]},13:{a:[2,33],r:[2,33],t:[2,33],u:[2,33],v:[2,33],x:[2,33],p:[2,33],q:[2,33],b:[2,33],s:[2,33],m:[2,33]},14:{a:[2,34],r:[2,34],t:[2,34],u:[2,34],v:[2,34],x:[2,34],p:[2,34],q:[2,34],b:[2,34],s:[2,34],m:[2,34]},15:{a:[2,35],r:[2,35],t:[2,35],u:[2,35],v:[2,35],x:[2,35],p:[2,35],q:[2,35],b:[2,35],s:[2,35],m:[2,35]},16:{a:[2,36],r:[2,36],t:[2,36],u:[2,36],v:[2,36],x:[2,36],p:[2,36],q:[2,36],b:[2,36],s:[2,36],m:[2,36]},17:{a:[2,39],r:[2,39],t:[2,39],u:[2,39],v:[2,39],x:[2,39],b:[1,void 0,1],m:[1,void 0,2],p:[1,void 0,4],q:[1,void 0,5],s:[1,void 0,6]},18:{a:[2,3],r:[2,3],t:[2,3],u:[2,3],v:[2,3],x:[2,3]},19:{c:[1,void 0,36],d:[1,void 0,37],e:[1,void 0,38],f:[1,void 0,39],g:[1,void 0,40],h:[1,void 0,41],i:[1,void 0,42]},20:{l:[2,26]},21:{l:[2,27]},22:{l:[2,28]},23:{l:[2,29]},24:{l:[2,30]},25:{l:[1,void 0,44]},26:{k:[1,void 0,45]},27:{a:[2,24],r:[2,24],t:[2,24],u:[2,24],v:[2,24],x:[2,24],p:[2,24],q:[2,24],b:[2,24],s:[2,24],m:[2,24],l:[2,24]},28:{b:[1,void 0,1],m:[1,void 0,2],n:[1,void 0,3],p:[1,void 0,4],q:[1,void 0,5],s:[1,void 0,6],w:[1,void 0,7]},29:{n:[2,5],w:[2,5],p:[2,5],q:[2,5],b:[2,5],s:[2,5],m:[2,5]},30:{n:[2,6],w:[2,6],p:[2,6],q:[2,6],b:[2,6],s:[2,6],m:[2,6]},31:{n:[2,7],w:[2,7],p:[2,7],q:[2,7],b:[2,7],s:[2,7],m:[2,7]},32:{n:[2,8],w:[2,8],p:[2,8],q:[2,8],b:[2,8],s:[2,8],m:[2,8]},33:{b:[1,void 0,1],m:[1,void 0,2],n:[1,void 0,3],p:[1,void 0,4],q:[1,void 0,5],s:[1,void 0,6],w:[1,void 0,7]},34:{a:[2,40],r:[2,40],t:[2,40],u:[2,40],v:[2,40],x:[2,40],b:[1,void 0,1],m:[1,void 0,2],p:[1,void 0,4],q:[1,void 0,5],s:[1,void 0,6]},35:{a:[2,37],r:[2,37],t:[2,37],u:[2,37],v:[2,37],x:[2,37],p:[2,37],q:[2,37],b:[2,37],s:[2,37],m:[2,37]},36:{a:[2,19],r:[2,19],t:[2,19],u:[2,19],v:[2,19],x:[2,19],p:[2,19],q:[2,19],b:[2,19],s:[2,19],m:[2,19],l:[2,19]},37:{n:[2,17],o:[2,17]},38:{n:[2,18],o:[2,18]},39:{n:[2,13],o:[2,13]},40:{n:[2,14],o:[2,14]},41:{n:[2,15],o:[2,15]},42:{n:[2,16],o:[2,16]},43:{n:[1,void 0,48],o:[1,void 0,49]},44:{a:[2,25],r:[2,25],t:[2,25],u:[2,25],v:[2,25],x:[2,25],p:[2,25],q:[2,25],b:[2,25],s:[2,25],m:[2,25]},45:{l:[1,void 0,51]},46:{a:[2,2],r:[2,2],t:[1,void 0,29],u:[1,void 0,30],v:[1,void 0,31],x:[1,void 0,32]},47:{a:[2,4],r:[2,4],t:[2,4],u:[2,4],v:[2,4],x:[2,4]},48:{c:[2,20]},49:{c:[2,21]},50:{c:[1,void 0,52]},51:{a:[2,23],r:[2,23],t:[2,23],u:[2,23],v:[2,23],x:[2,23],p:[2,23],q:[2,23],b:[2,23],s:[2,23],m:[2,23],l:[2,23]},52:{a:[2,22],r:[2,22],t:[2,22],u:[2,22],v:[2,22],x:[2,22],p:[2,22],q:[2,22],b:[2,22],s:[2,22],m:[2,22],l:[2,22]}}},parser.parse=function(input,filename){var state,symbol,action,self=this,lexer=self.lexer,table=self.table,gotos=table.gotos,tableAction=table.action,productions=self.productions,valueStack=[null],prefix=filename?"in file: "+filename+" ":"",stack=[0];for(lexer.resetInput(input);;){if(state=stack[stack.length-1],symbol||(symbol=lexer.lex()),!(action=symbol?tableAction[state]&&tableAction[state][symbol]:null)){var error,expected=[];if(tableAction[state])for(var symbolForState in tableAction[state])expected.push(self.lexer.mapReverseSymbol(symbolForState));throw error=prefix+"syntax error at line "+lexer.lineNumber+":\n"+lexer.showDebugInfo()+"\nexpect "+expected.join(", "),new Error(error)}switch(action[GrammarConst.TYPE_INDEX]){case GrammarConst.SHIFT_TYPE:stack.push(symbol),valueStack.push(lexer.text),stack.push(action[GrammarConst.TO_INDEX]),symbol=null;break;case GrammarConst.REDUCE_TYPE:var ret,production=productions[action[GrammarConst.PRODUCTION_INDEX]],reducedSymbol=production.symbol||production[0],reducedAction=production.action||production[2],reducedRhs=production.rhs||production[1],len=reducedRhs.length,i=0,$$=valueStack[valueStack.length-len];for(ret=void 0,self.$$=$$;i0?totalTop+=x(d[field]):d[field]<0&&(totalBottom+=x(d[field]))}),totalTop>max&&(max=totalTop),totalBottom0?totalTop+=y(d[field]):d[field]<0&&(totalBottom+=y(d[field]))}),totalTop>max&&(max=totalTop),totalBottom=0?[0,extentArr[1]]:extentArr}Object.defineProperty(exports,"__esModule",{value:!0}),exports.yDomain=yDomain;var _d3Array=__webpack_require__(31),_d3Array2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_d3Array)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i1e-6)if(Math.abs(y01*x21-y21*x01)>1e-6&&r){var x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;Math.abs(t01-1)>1e-6&&this._.push("L",x1+t01*x01,",",y1+t01*y01),this._.push("A",r,",",r,",0,0,",+(y01*x20>x01*y20),",",this._x1=x1+t21*x21,",",this._y1=y1+t21*y21)}else this._.push("L",this._x1=x1,",",this._y1=y1);else;},arc:function(x,y,r,a0,a1,ccw){x=+x,y=+y,r=+r;var dx=r*Math.cos(a0),dy=r*Math.sin(a0),x0=x+dx,y0=y+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._.push("M",x0,",",y0):(Math.abs(this._x1-x0)>1e-6||Math.abs(this._y1-y0)>1e-6)&&this._.push("L",x0,",",y0),r&&(da>tauEpsilon?this._.push("A",r,",",r,",0,1,",cw,",",x-dx,",",y-dy,"A",r,",",r,",0,1,",cw,",",this._x1=x0,",",this._y1=y0):(da<0&&(da=da%tau+tau),this._.push("A",r,",",r,",0,",+(da>=pi),",",cw,",",this._x1=x+r*Math.cos(a1),",",this._y1=y+r*Math.sin(a1))))},rect:function(x,y,w,h){this._.push("M",this._x0=this._x1=+x,",",this._y0=this._y1=+y,"h",+w,"v",+h,"h",-w,"Z")},toString:function(){return this._.join("")}};exports.version="0.1.5",exports.path=path})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i=0&&domain[0]>=0?yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0?yScaleSet.range()[1]:void 0}).y1(function(d){return yScaleSet(d.y)}).call(this,data)}},{key:"render",value:function(){var area=this._mkArea();return _react2.default.createElement("g",null,area)}}]),Area}(_react.Component);Area.defaultProps=_extends({areaClassName:"react-d3-basic__area"},_commonProps2.default),exports.default=Area},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i=0?(d.y0=currentXOffsets[1],d.y=y,currentXOffsets[1]+=y):(d.y0=currentXOffsets[0]+y,d.y=-y,currentXOffsets[0]+=y)}}(chartSeries.length))}},{key:"_setAxes",value:function(){var _props=this.props,xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet;return _d3Shape2.default.area().x(function(d){return xScaleSet(d.x)}).y0(function(d){return yScaleSet(d.y0)}).y1(function(d){return yScaleSet(d.y0+d.y)})}},{key:"render",value:function(){var area=this._mkStack();return _react2.default.createElement("g",null,area)}}]),AreaStack}(_react.Component);AreaStack.defaultProps=_extends({areaClass:"react-d3-basics__area_stack",areaClassName:"react-d3-basic__area_stack"},_commonProps2.default),exports.default=AreaStack},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),_react2.default.createElement("g",null,dataset.data.map(function(bar,i){return _react2.default.createElement("rect",{className:barClassName+" bar",x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x):-1e4,y:bar.y<0?zeroBase:yScaleSet(bar.y),width:xScaleSet.bandwidth(),height:bar.y=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),_react2.default.createElement("g",null,dataset.data.map(function(bar,i){return _react2.default.createElement("rect",{className:barClassName+" bar",y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y):-1e4,x:bar.x>0?zeroBase:zeroBase-Math.abs(zeroBase-xScaleSet(bar.x)),height:yScaleSet.bandwidth(),width:bar.x=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),dataset.map(function(barGroup,i){return _react2.default.createElement("g",{className:"bargroup",key:i},barGroup.data.map(function(bar,j){return _react2.default.createElement("rect",{key:j,className:barClassName+" bar",width:x1.bandwidth(),x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x)+x1.bandwidth()*i:-1e4,y:bar.y<0?zeroBase:yScaleSet(bar.y),height:bar.y=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),_react2.default.createElement("g",null,dataset.map(function(barGroup,i){return _react2.default.createElement("g",{className:"bargroup",key:i},barGroup.data.map(function(bar,j){return _react2.default.createElement("rect",{className:barClassName+" bar",height:y1.bandwidth(),y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y)+y1.bandwidth()*i:-1e4,x:bar.x>0?zeroBase:zeroBase-Math.abs(zeroBase-xScaleSet(bar.x)),width:bar.x=0&&domain[0]>=0?yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&yScaleSet.range()[1],_react2.default.createElement("g",null,_setStack(dataset).map(function(barGroup,i){return _react2.default.createElement("g",{key:i,className:"barGroup",fill:barGroup.color,style:barGroup.style},barGroup.data.map(function(bar,j){return _react2.default.createElement("rect",{className:barClassName+" bar",width:xScaleSet.bandwidth(),x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x):-1e4,y:yScaleSet(bar.y0+bar.y),height:Math.abs(yScaleSet(bar.y)-yScaleSet(0)),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),onClick:that.triggerClick.bind(_this2,bar),key:j})}))}))}},{key:"_setStack",value:function(){var chartSeries=this.props.chartSeries;return _d2.default.layout.stack().values(function(d){return d.data}).out(function(len){var currentXOffsets=[],currentXIndex=0;return function(d,y0,y){currentXIndex++%len==0&&(currentXOffsets=[0,0]),y>=0?(d.y0=currentXOffsets[1],d.y=y,currentXOffsets[1]+=y):(d.y0=currentXOffsets[0]+y,d.y=-y,currentXOffsets[0]+=y)}}(chartSeries.length))}},{key:"render",value:function(){var bar=this._mkBarStack();return _react2.default.createElement("g",null,bar)}}]),BarStack}(_react.Component);BarStack.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},onClick:function(d){},barClassName:"react-d3-basic__bar_stack"},exports.default=BarStack},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i=0&&domain[0]>=0?xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&xScaleSet.range()[1],_react2.default.createElement("g",null,_setStack(dataset).map(function(barGroup,i){return _react2.default.createElement("g",{className:"barGroup",fill:barGroup.color,style:barGroup.style,key:i},barGroup.data.map(function(bar,j){return _react2.default.createElement("rect",{className:barClassName+" bar",height:yScaleSet.bandwidth(),y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y):-1e4,x:xScaleSet(bar.x0),width:Math.abs(xScaleSet(bar.x)-xScaleSet(0)),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),key:j})}))}))}},{key:"_setStack",value:function(){var chartSeries=this.props.chartSeries;return _d2.default.layout.stack().values(function(d){return d.data}).y(function(d){return d.x}).out(function(len){var currentXOffsets=[],currentXIndex=0;return function(d,x0,x){currentXIndex++%len==0&&(currentXOffsets=[0,0]),x>=0?(d.x0=currentXOffsets[1],d.x=x,currentXOffsets[1]+=x):(d.x0=currentXOffsets[0]+x,d.x=-x,currentXOffsets[0]+=x)}}(chartSeries.length))}},{key:"render",value:function(){var bar=this._mkBarStack();return _react2.default.createElement("g",null,bar)}}]),BarStackHorizontal}(_react.Component);BarStackHorizontal.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_stack_horizontal"},exports.default=BarStackHorizontal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;iMath.PI?"end":"start"}(slice)},slice.data.name):null)}))}},{key:"render",value:function(){var _props3=this.props,width=_props3.width,height=_props3.height,margins=_props3.margins,t="translate("+(width-margins.left-margins.right)/2+", "+(height-margins.top-margins.bottom)/2+")",pie=this._mkPie();return _react2.default.createElement("g",{transform:t},pie)}}]),Pie}(_react.Component);Pie.defaultProps=_extends({onMouseOver:function(d){},onMouseOut:function(d){}},_commonProps.pieProps),exports.default=Pie},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i