From cd1ff104e5acf90b374b42773f4dacc6d3c84a26 Mon Sep 17 00:00:00 2001 From: yuriy0803 <68668177+yuriy0803@users.noreply.github.com> Date: Sat, 27 Feb 2021 21:20:50 +0100 Subject: [PATCH] New Update Network setting (classic|mordor) --- .travis.yml | 2 +- Makefile | 9 +- README.md | 305 +- api.json | 120 + api/server.go | 19 +- build/env.sh | 2 +- configs/api.json | 113 - configs/nginx.default.example | 18 - configs/payout.json | 113 - configs/stratum2b.json | 109 - configs/stratum4b.json | 114 - configs/stratum8b.json | 114 - configs/stratum9b.json | 114 - configs/unlocker.json | 113 - docs/PAYOUTS.md | 16 +- docs/STRATUM.md | 4 +- go.mod | 21 + go.sum | 563 + main.go | 10 +- misc/nginx-default.conf | 19 + misc/upstart.conf | 26 + payouts/payer.go | 14 +- payouts/unlocker.go | 174 +- payouts/unlocker_test.go | 133 +- policy/policy.go | 4 +- proxy/blocks.go | 4 +- proxy/config.go | 25 +- proxy/handlers.go | 25 +- proxy/miner.go | 37 +- proxy/proto.go | 6 + proxy/proxy.go | 23 +- proxy/stratum.go | 21 +- rpc/rpc.go | 4 +- scripts/start_2_bil.sh | 2 - service_installer.sh | 108 - storage/redis.go | 240 +- util/util.go | 2 +- www/.gitignore | 2 + www/README.md | 1 - www/app/.watchmanconfig | 0 www/app/adapters/chart.js | 58 + www/app/components/chart-diff.js | 94 + www/app/controllers/account.js | 69 +- www/app/controllers/account/index.js | 103 +- www/app/controllers/account/payouts.js | 50 +- www/app/controllers/application.js | 23 +- www/app/controllers/index.js | 41 +- www/app/helpers/equals.js | 5 + www/app/helpers/format-difficulty.js | 8 - www/app/helpers/worker-colorizer.js | 30 - www/app/helpers/worker-earnperday.js | 9 - www/app/index.html | 33 +- www/app/models/block.js | 18 + www/app/models/chart.js | 21 + www/app/router.js | 3 +- www/app/routes/application.js | 72 +- www/app/routes/chart.js | 7 + www/app/serializers/chart.js | 8 + www/app/styles/app.css | 355 +- www/app/templates/account.hbs | 55 +- www/app/templates/account/index.hbs | 31 +- www/app/templates/account/payouts.hbs | 14 +- www/app/templates/account/rewards.hbs | 4 +- www/app/templates/application-error.hbs | 4 +- www/app/templates/application.hbs | 91 +- www/app/templates/blocks.hbs | 19 +- www/app/templates/blocks/block.hbs | 17 +- www/app/templates/blocks/immature.hbs | 40 +- www/app/templates/blocks/index.hbs | 39 +- www/app/templates/blocks/pending.hbs | 12 +- www/app/templates/components/chart-diff.hbs | 3 + www/app/templates/help.hbs | 131 +- www/app/templates/index.hbs | 198 +- www/app/templates/luck.hbs | 8 +- www/app/templates/miners.hbs | 16 +- www/app/templates/payments.hbs | 22 +- www/build.sh | 6 +- www/config/ember-intl.js | 53 - www/config/environment.js | 70 - www/fix/intl-format-cache/lib/es5.js | 80 + www/fix/intl-format-cache/lib/es5.js.map | 1 + www/fix/intl-format-cache/lib/memoizer.js | 83 + www/fix/intl-format-cache/lib/memoizer.js.map | 1 + www/fix/intl-format-cache/src/es5.js | 76 + www/fix/intl-format-cache/src/memoizer.js | 81 + www/package-lock.json | 18792 ++++++++-------- www/package.json | 17 +- www/public/bg_legacy.png | Bin 0 -> 191 bytes www/public/escheresque.png | Bin 0 -> 395 bytes www/public/escheresque_ste.png | Bin 0 -> 493 bytes www/public/etc.svg | 1 + www/public/favicon.ico | Bin 370070 -> 0 bytes www/public/favicon.png | Bin 0 -> 191285 bytes www/public/sayagata-400px.png | Bin 0 -> 17147 bytes www/tests/unit/adapters/application-test.js | 12 + .../unit/helpers/format-difficulty-test.js | 12 - .../unit/helpers/worker-colorizer-test.js | 12 - .../unit/helpers/worker-earnperday-test.js | 12 - www/tests/unit/serializers/chart-test.js | 15 + www/tests/units/charts/difficulty-test.js | 20 + www/translations/ar-sa.yaml | 159 - www/translations/en-us.yaml | 164 +- 102 files changed, 11300 insertions(+), 12827 deletions(-) create mode 100644 api.json delete mode 100644 configs/api.json delete mode 100644 configs/nginx.default.example delete mode 100644 configs/payout.json delete mode 100644 configs/stratum2b.json delete mode 100644 configs/stratum4b.json delete mode 100644 configs/stratum8b.json delete mode 100644 configs/stratum9b.json delete mode 100644 configs/unlocker.json create mode 100644 go.mod create mode 100644 go.sum create mode 100644 misc/nginx-default.conf create mode 100644 misc/upstart.conf delete mode 100644 scripts/start_2_bil.sh delete mode 100644 service_installer.sh create mode 100644 www/app/.watchmanconfig create mode 100644 www/app/adapters/chart.js create mode 100644 www/app/components/chart-diff.js create mode 100644 www/app/helpers/equals.js delete mode 100644 www/app/helpers/format-difficulty.js delete mode 100644 www/app/helpers/worker-colorizer.js delete mode 100644 www/app/helpers/worker-earnperday.js create mode 100644 www/app/models/chart.js create mode 100644 www/app/routes/chart.js create mode 100644 www/app/serializers/chart.js create mode 100644 www/app/templates/components/chart-diff.hbs delete mode 100644 www/config/ember-intl.js delete mode 100644 www/config/environment.js create mode 100644 www/fix/intl-format-cache/lib/es5.js create mode 100644 www/fix/intl-format-cache/lib/es5.js.map create mode 100644 www/fix/intl-format-cache/lib/memoizer.js create mode 100644 www/fix/intl-format-cache/lib/memoizer.js.map create mode 100644 www/fix/intl-format-cache/src/es5.js create mode 100644 www/fix/intl-format-cache/src/memoizer.js create mode 100644 www/public/bg_legacy.png create mode 100644 www/public/escheresque.png create mode 100644 www/public/escheresque_ste.png create mode 100644 www/public/etc.svg delete mode 100644 www/public/favicon.ico create mode 100644 www/public/favicon.png create mode 100644 www/public/sayagata-400px.png create mode 100644 www/tests/unit/adapters/application-test.js delete mode 100644 www/tests/unit/helpers/format-difficulty-test.js delete mode 100644 www/tests/unit/helpers/worker-colorizer-test.js delete mode 100644 www/tests/unit/helpers/worker-earnperday-test.js create mode 100644 www/tests/unit/serializers/chart-test.js create mode 100644 www/tests/units/charts/difficulty-test.js delete mode 100644 www/translations/ar-sa.yaml diff --git a/.travis.yml b/.travis.yml index cd665b3..8cd9853 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: go go: - - "1.10" + - 1.9 - tip services: diff --git a/Makefile b/Makefile index 8062f50..ad84df6 100644 --- a/Makefile +++ b/Makefile @@ -4,13 +4,16 @@ .PHONY: all test clean -GOBIN = build/bin +GOBIN = ./build/bin +GOGET = env GO111MODULE=on go get +GOTEST = env GO111MODULE=on go test all: - build/env.sh go get -v ./... + build/env.sh $(GOGET) -v ./... test: all - build/env.sh go test -v ./... + build/env.sh $(GOTEST) -v ./... clean: + env GO111MODULE=on go clean -cache rm -fr build/_workspace/pkg/ $(GOBIN)/* diff --git a/README.md b/README.md index d06144e..fa63873 100644 --- a/README.md +++ b/README.md @@ -1,97 +1,122 @@ -## Open Source Perkle (ETC 2021) Mining Pool +## Open Source Ethereum Classic Mining Pool +Donations +ETC: 0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6 -### Features +### WARNING: This code is currently configured for the Ethereum Classic main network + +### Features Telegram https://t.me/poolnode -**This pool is being further developed to provide an easy to use pool for Perkle miners. Testing and bug submissions are welcome!** +**This pool is being further developed to provide an easy to use pool for Ethereum Classic miners. This software is functional however an optimised release of the pool is expected soon. Testing and bug submissions are welcome!** -* Updated to work with Perkle 0.2.1 * Support for HTTP and Stratum mining * Detailed block stats with luck percentage and full reward * Failover geth instances: geth high availability built in * Modern beautiful Ember.js frontend * Separate stats for workers: can highlight timed-out workers so miners can perform maintenance of rigs * JSON-API for stats -* PPLNS block reward -* Multi-tx payout at once -* Beautiful front-end highcharts embedded - -#### Proxies - -* [Ether-Proxy](https://github.com/sammy007/ether-proxy) HTTP proxy with web interface -* [Stratum Proxy](https://github.com/Atrides/eth-proxy) for Ethereum - -## Guide to make your very own Perkle mining pool ### Building on Linux Dependencies: - * go >= 1.10 + * go >= 1.13 + * core-geth * redis-server >= 2.8.0 * nodejs >= 4 LTS * nginx - * geth (core-geth) -**I highly recommend to use Ubuntu 16.04 LTS.** +**I highly recommend to use Ubuntu 20.04 LTS.** + +First install [core-geth](https://github.com/etclabscore/core-geth/releases). + +Clone & compile: + + git config --global http.https://gopkg.in.followRedirects true + git clone https://github.com/yuriy0803/open-etc-pool-friends.git + cd open-etc-pool + make + +Install redis-server. + +### Running Pool + + ./build/bin/open-etc-pool-friends config.json + +You can use Ubuntu upstart - check for sample config in upstart.conf. -### Install go lang +### Building Frontend - $ sudo apt-get install -y build-essential golang-1.10-go unzip - $ sudo ln -s /usr/lib/go-1.10/bin/go /usr/local/bin/go +Install nodejs. I suggest using LTS version >= 4.x from https://github.com/nodesource/distributions or from your Linux distribution or simply install nodejs on Ubuntu Xenial 16.04. -### Install redis-server +> NOTE: at this point keep your nodejs version <= 10.x. - $ sudo apt-get install redis-server +The frontend is a single-page Ember.js application that polls the pool API to render miner stats. + + cd www -It is recommended to bind your DB address on 127.0.0.1 or on internal ip. Also, please set up the password for advanced security!!! +Change ApiUrl: '//example.net/' in www/config/environment.js to match your domain name. Also don't forget to adjust other options. -### Install nginx +Install deps - $ sudo apt-get install nginx + sudo npm install -g ember-cli@2.13 + npm install -g bower + sudo chown -R $USER:$GROUP ~/.npm + sudo chown -R $USER:$GROUP ~/.config + npm install + bower install -sample config located at configs/nginx.default.example (HINT, edit and move to /etc/nginx/sites-available/default) +Build. -### Install NODE + ./build.sh -This will install the latest nodejs +Configure nginx to serve API on /api subdirectory. +Configure nginx to serve www/dist as static website. - $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - - $ sudo apt-get install -y nodejs +#### Serving API using nginx -### Install Perkle Node -See https://github.com/esprezzo/perkle +Create an upstream for API: -### Install Perkle Pool + upstream api { + server 127.0.0.1:8080; + } - $ git clone https://github.com/yuriy0803/open-etc-pool-friends - $ cd open-etc-pool-friends - $ make all +and add this setting after location /: -If you see open-perkle-pool after ls ~/open-etc-pool-friends/build/bin/, the installation has completed. + location /api { + proxy_pass http://api; + } - $ ls ~/open-etc-pool-friends/build/bin/ +#### Customization -### Set up Perkle pool +You can customize the layout using built-in web server with live reload: - $ mv config.example.json config.json - $ nano config.json + ember server --port 8082 --environment development -Set up based on commands below. +**Don't use built-in web server in production**. + +Check out www/app/templates directory and edit these templates +in order to customise the frontend. + +### Configuration + +Configuration is actually simple, just read it twice and think twice before changing defaults. + +**Don't copy config directly from this manual. Use the example config from the package, +otherwise you will get errors on start because of JSON comments.** ```javascript { - // The number of cores of CPU. + // Set to the number of CPU cores of your server "threads": 2, // Prefix for keys in redis store "coin": "etc", // Give unique name to each instance "name": "main", - // PPLNS rounds - "pplns": 9000, - + // mordor OR classic + "network": "classic", "proxy": { "enabled": true, @@ -120,7 +145,7 @@ Set up based on commands below. // Try to get new job from geth in this interval "blockRefreshInterval": "120ms", "stateUpdateInterval": "3s", - // If there are many rejects because of heavy hash, difficulty should be increased properly. + // Require this share difficulty from miners "difficulty": 2000000000, /* Reply error to miner instead of job if redis is unavailable. @@ -182,11 +207,6 @@ Set up based on commands below. "payments": 50, // Max numbers of blocks to display in frontend "blocks": 50, - // Frontend Chart related settings - "poolCharts":"0 */20 * * * *", - "poolChartsNum":74, - "minerCharts":"0 */20 * * * *", - "minerChartsNum":74 /* If you are running API node on a different server where this module is reading data from redis writeable slave, you must run an api instance with this option enabled in order to purge hashrate stats from main redis node. @@ -206,12 +226,12 @@ Set up based on commands below. "upstream": [ { "name": "main", - "url": "http://127.0.0.1:8501", + "url": "http://127.0.0.1:8545", "timeout": "10s" }, { "name": "backup", - "url": "http://127.0.0.2:8501", + "url": "http://127.0.0.2:8545", "timeout": "10s" } ], @@ -219,10 +239,9 @@ Set up based on commands below. // This is standard redis connection options "redis": { // Where your redis instance is listening for commands - // NOTE THAT THE POOL IS CONFIGURED FOR Redis database "1" "endpoint": "127.0.0.1:6379", "poolSize": 10, - "database": 1, + "database": 0, "password": "" }, @@ -231,9 +250,9 @@ Set up based on commands below. "enabled": false, // Pool fee percentage "poolFee": 1.0, - // the address is for pool fee. Personal wallet is recommended to prevent from server hacking. + // Pool fees beneficiary address (leave it blank to disable fee withdrawals) "poolFeeAddress": "", - // Amount of donation to a pool maker. 10 percent of pool fee is donated to a pool maker now. If pool fee is 1 percent, 0.1 percent which is 10 percent of pool fee should be donated to a pool maker. + // Donate 10% from pool fees to developers "donate": true, // Unlock only if this number of blocks mined back "depth": 120, @@ -244,34 +263,33 @@ Set up based on commands below. // Run unlocker in this interval "interval": "10m", // Geth instance node rpc endpoint for unlocking blocks - "daemon": "http://127.0.0.1:8501", + "daemon": "http://127.0.0.1:8545", // Rise error if can't reach geth in this amount of time "timeout": "10s" }, // Pay out miners using this module "payouts": { - "enabled": true, + "enabled": false, // Require minimum number of peers on node - "requirePeers": 5, + "requirePeers": 25, // Run payouts in this interval "interval": "12h", // Geth instance node rpc endpoint for payouts processing - "daemon": "http://127.0.0.1:8501", + "daemon": "http://127.0.0.1:8545", // Rise error if can't reach geth in this amount of time "timeout": "10s", - // Address with pool coinbase wallet address. + // Address with pool balance "address": "0x0", // Let geth to determine gas and gasPrice "autoGas": true, // Gas amount and price for payout tx (advanced users only) "gas": "21000", "gasPrice": "50000000000", - // The minimum distribution of mining reward. It is 1 CLO now. - "threshold": 1000000000, + // Send payment only if miner's balance is >= 0.5 Ether + "threshold": 500000000, // Perform BGSAVE on Redis after successful payouts session "bgsave": false - "concurrentTx": 10 } } ``` @@ -285,142 +303,6 @@ I recommend this deployment strategy: * Unlocker and payouts instance - 1x each (strict!) * API instance - 1x - -### Run Pool -It is required to run pool by serviced. If it is not, the terminal could be stopped, and pool doesn’t work. - - $ sudo nano /etc/systemd/system/etherpool.service - -Copy the following example - -``` -[Unit] -Description=Etherpool -After=perkle.target - -[Service] -Type=simple -ExecStart=/home//open-etc-pool-friends/build/bin/open-etc-pool-friends /home//open-etc-pool-friends/config.json - -[Install] -WantedBy=multi-user.target -``` - -Then run pool by the following commands - - $ sudo systemctl enable etherpool - $ sudo systemctl start etherpool - -If you want to debug the node command - - $ sudo systemctl status etherpool - -Backend operation has completed so far. - -### Open Firewall - -Firewall should be opened to operate this service. Whether Ubuntu firewall is basically opened or not, the firewall should be opened based on your situation. -You can open firewall by opening 80,443,8080,8888,8008. - -## Install Frontend - -### Modify configuration file - - $ nano ~/open-etc-pool-friends/www/config/environment.js - -Make some modifications in these settings. - - BrowserTitle: 'Perkle Mining Pool', - ApiUrl: '//your-pool-domain/', - HttpHost: 'http://your-pool-domain', - StratumHost: 'your-pool-domain', - PoolFee: '1%', - -The frontend is a single-page Ember.js application that polls the pool API to render miner stats. - - $ cd ~/open-etc-pool-friends/www - $ sudo npm install -g ember-cli@2.9.1 - $ sudo npm install -g bower - $ sudo chown -R $USER:$GROUP ~/.npm - $ sudo chown -R $USER:$GROUP ~/.config - $ npm install - $ bower install - $ ./build.sh - $ cp -R ~/open-etc-pool-friends/www/dist ~/www - -As you can see above, the frontend of the pool homepage is created. Then, move to the directory, www, which services the file. - -Set up nginx. - - $ sudo nano /etc/nginx/sites-available/default - -Modify based on configuration file. - - # Default server configuration - # nginx example - - upstream api { - server 127.0.0.1:8080; - } - - server { - listen 80 default_server; - listen [::]:80 default_server; - root /home//www; - - # Add index.php to the list if you are using PHP - index index.html index.htm index.nginx-debian.html; - - server_name _; - - location / { - # First attempt to serve request as file, then - # as directory, then fall back to displaying a 404. - try_files $uri $uri/ =404; - } - - location /api { - proxy_pass http://api; - } - - } - -After setting nginx is completed, run the command below. - - $ sudo service nginx restart - -Type your homepage address or IP address on the web. -If you face screen without any issues, pool installation has completed. - -### Extra) How To Secure the pool frontend with Let's Encrypt (https) - -This guide was originally referred from [digitalocean - How To Secure Nginx with Let's Encrypt on Ubuntu 16.04](https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04) - -First, install the Certbot's Nginx package with apt-get - -``` -$ sudo add-apt-repository ppa:certbot/certbot -$ sudo apt-get update -$ sudo apt-get install python-certbot-nginx -``` - -And then open your nginx setting file, make sure the server name is configured! - -``` -$ sudo nano /etc/nginx/sites-available/default -. . . -server_name ; -. . . -``` - -Change the _ to your pool domain, and now you can obtain your auto-renewaled ssl certificate for free! - -``` -$ sudo certbot --nginx -d -``` - -Now you can access your pool's frontend via https! Share your pool link! - ### Notes * Unlocking and payouts are sequential, 1st tx go, 2nd waiting for 1st to confirm and so on. You can disable that in code. Carefully read `docs/PAYOUTS.md`. @@ -428,21 +310,12 @@ Now you can access your pool's frontend via https! Share your pool link! * You must restart module if you see errors with the word *suspended*. * Don't run payouts and unlocker modules as part of mining node. Create separate configs for both, launch independently and make sure you have a single instance of each module running. * If `poolFeeAddress` is not specified all pool profit will remain on coinbase address. If it specified, make sure to periodically send some dust back required for payments. -* DO NOT OPEN YOUR RPC OR REDIS ON 0.0.0.0!!! It will eventually cause coin theft. - -### Credits - -Made by sammy007. Licensed under GPLv3. -Modified by Akira Takizawa & The Ellaism Project & The Esprezzo Team. - -#### Contributors - -[Alex Leverington](https://github.com/subtly) -### Donations +### Mordor -ETH/ETC/ETSC/CLO: 0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6 +To use this pool on the mordor testnet two settings require changing to "mordor" -![](https://cdn.pbrd.co/images/GP5tI1D.png) +network in your config.json (this sets backend (validation,unlocker) to mordor paramaters) +APP.Network in your www/config/environment.js (this sets the frontend to mordor paramaters) +rerun ./build.sh -Highly appreciated. diff --git a/api.json b/api.json new file mode 100644 index 0000000..284b10e --- /dev/null +++ b/api.json @@ -0,0 +1,120 @@ +{ + "threads": 2, + "coin": "etc", + "name": "main", + "pplns": 9000, + "network": "classic", + + "proxy": { + "enabled": true, + "listen": "0.0.0.0:8888", + "limitHeadersSize": 1024, + "limitBodySize": 256, + "behindReverseProxy": false, + "blockRefreshInterval": "120ms", + "stateUpdateInterval": "3s", + "difficulty": 2000000000, + "hashrateExpiration": "3h", + + "healthCheck": true, + "maxFails": 100, + + "stratum": { + "enabled": true, + "listen": "0.0.0.0:8008", + "timeout": "120s", + "maxConn": 8192 + }, + + "policy": { + "workers": 8, + "resetInterval": "60m", + "refreshInterval": "1m", + + "banning": { + "enabled": false, + "ipset": "blacklist", + "timeout": 1800, + "invalidPercent": 30, + "checkThreshold": 30, + "malformedLimit": 5 + }, + "limits": { + "enabled": false, + "limit": 30, + "grace": "5m", + "limitJump": 10 + } + } + }, + + "api": { + "enabled": true, + "purgeOnly": false, + "purgeInterval": "10m", + "listen": "0.0.0.0:8080", + "statsCollectInterval": "5s", + "hashrateWindow": "30m", + "hashrateLargeWindow": "3h", + "luckWindow": [64, 128, 256], + "payments": 30, + "blocks": 50, + "poolCharts":"*/20 * * * *", + "poolChartsNum":74, + "minerCharts":"*/20 * * * *", + "minerChartsNum":74 + }, + + "upstreamCheckInterval": "5s", + "upstream": [ + { + "name": "main", + "url": "http://192.168.178.26:8545", + "timeout": "10s" + }, + { + "name": "backup", + "url": "http://127.0.0.2:8545", + "timeout": "10s" + } + ], + + "redis": { + "endpoint": "127.0.0.1:6379", + "poolSize": 10, + "database": 0, + "password": "" + }, + + "unlocker": { + "enabled": true, + "poolFee": 1.0, + "poolFeeAddress": "", + "depth": 120, + "immatureDepth": 20, + "keepTxFees": false, + "interval": "1m", + "daemon": "http://192.168.178.26:8545", + "timeout": "10s" + }, + + "payouts": { + "enabled": false, + "requirePeers": 25, + "interval": "20m", + "daemon": "http://192.168.178.26:8545", + "timeout": "10s", + "address": "0xf8d10632dedf8cb9033b1438187a618d08734cc8", + "gas": "21000", + "gasPrice": "50000000000", + "autoGas": true, + "threshold": 500000000, + "bgsave": false, + "concurrentTx": 10 + }, + + "newrelicEnabled": false, + "newrelicName": "MyEtherProxy", + "newrelicKey": "SECRET_KEY", + "newrelicVerbose": false +} diff --git a/api/server.go b/api/server.go index aaca1d2..6f4cf00 100644 --- a/api/server.go +++ b/api/server.go @@ -2,7 +2,7 @@ package api import ( "encoding/json" - "fmt" + "fmt" "log" "net/http" "sort" @@ -12,10 +12,10 @@ import ( "time" "github.com/gorilla/mux" - "github.com/robfig/cron" + "github.com/robfig/cron" - "github.com/yuriy0803/open-etc-pool-friends/storage" - "github.com/yuriy0803/open-etc-pool-friends/util" + "github.com/etclabscore/open-etc-pool/storage" + "github.com/etclabscore/open-etc-pool/util" ) type ApiConfig struct { @@ -101,7 +101,7 @@ func (s *ApiServer) Start() { } } }() - + go func() { c := cron.New() @@ -230,7 +230,7 @@ func (s *ApiServer) StatsIndex(w http.ResponseWriter, r *http.Request) { if stats != nil { reply["now"] = util.MakeTimestamp() reply["stats"] = stats["stats"] - reply["poolCharts"] = stats["poolCharts"] + reply["poolCharts"] = stats["poolCharts"] reply["hashrate"] = stats["hashrate"] reply["minersTotal"] = stats["minersTotal"] reply["maturedTotal"] = stats["maturedTotal"] @@ -245,9 +245,6 @@ func (s *ApiServer) StatsIndex(w http.ResponseWriter, r *http.Request) { } func (s *ApiServer) MinersIndex(w http.ResponseWriter, r *http.Request) { - - // TODO: Want to get the most used server from workers, so it can be deisplayed in miners page - w.Header().Set("Content-Type", "application/json; charset=UTF-8") w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Cache-Control", "no-cache") @@ -352,8 +349,8 @@ func (s *ApiServer) AccountIndex(w http.ResponseWriter, r *http.Request) { stats[key] = value } stats["pageSize"] = s.config.Payments - stats["minerCharts"], err = s.backend.GetMinerCharts(s.config.MinerChartsNum, login) - stats["paymentCharts"], err = s.backend.GetPaymentCharts(login) + stats["minerCharts"], err = s.backend.GetMinerCharts(s.config.MinerChartsNum, login) + stats["paymentCharts"], err = s.backend.GetPaymentCharts(login) reply = &Entry{stats: stats, updatedAt: now} s.miners[login] = reply } diff --git a/build/env.sh b/build/env.sh index a7e58b0..4f58048 100644 --- a/build/env.sh +++ b/build/env.sh @@ -35,4 +35,4 @@ cd "$ethdir/open-etc-pool-friends" PWD="$ethdir/open-etc-pool-friends" # Launch the arguments with the configured environment. -exec "$@" +exec "$@" \ No newline at end of file diff --git a/configs/api.json b/configs/api.json deleted file mode 100644 index e869d31..0000000 --- a/configs/api.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "threads": 2, - "coin": "etc", - "name": "main", - "pplns": 9000, - "proxy": { - "enabled": false, - "listen": "0.0.0.0:8888", - "limitHeadersSize": 1024, - "limitBodySize": 256, - "behindReverseProxy": false, - "stratum": { - "enabled": true, - "listen": "0.0.0.0:8008", - "timeout": "120s", - "maxConn": 8192 - }, - - "blockRefreshInterval": "120ms", - "stateUpdateInterval": "3s", - "difficulty": 2000000000, - "healthCheck": true, - "maxFails": 100, - "hashrateExpiration": "3h", - "policy": { - "workers": 8, - "resetInterval": "60m", - "refreshInterval": "1m", - "banning": { - "enabled": false, - "ipset": "blacklist", - "timeout": 1800, - "invalidPercent": 30, - "checkThreshold": 30, - "malformedLimit": 5 - }, - "limits": { - "enabled": false, - "limit": 30, - "grace": "5m", - "limitJump": 10 - } - } - }, - - "api": { - "enabled": true, - "listen": "0.0.0.0:8080", - "statsCollectInterval": "5s", - "purgeInterval": "10m", - "hashrateWindow": "30m", - "hashrateLargeWindow": "3h", - "luckWindow": [64, 128, 256], - "payments": 50, - "blocks": 50, - "poolCharts":"*/20 * * * *", - "poolChartsNum":74, - "minerCharts":"*/20 * * * *", - "minerChartsNum":74, - "purgeOnly": false - }, - - "upstreamCheckInterval": "5s", - - "upstream": [ - { - "name": "main", - "url": "http://127.0.0.1:8545", - "timeout": "10s" - }, - { - "name": "backup", - "url": "http://127.0.0.2:8501", - "timeout": "10s" - } - ], - - "redis": { - "endpoint": "127.0.0.1:6379", - "poolSize": 10, - "database": 1, - "password": "" - }, - - "unlocker": { - "enabled": false, - "poolFee": 0.5, - "poolFeeAddress": "", - "donate": true, - "depth": 120, - "immatureDepth": 20, - "keepTxFees": false, - "interval": "10m", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "classic": true - }, - - "payouts": { - "enabled": false, - "requirePeers": 5, - "interval": "3h", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "address": "0x", - "autoGas": true, - "gas": "21000", - "gasPrice": "50000000000", - "threshold": 1000000000, - "bgsave": true, - "concurrentTx": 5 - } -} diff --git a/configs/nginx.default.example b/configs/nginx.default.example deleted file mode 100644 index a986720..0000000 --- a/configs/nginx.default.example +++ /dev/null @@ -1,18 +0,0 @@ -server { - listen 80; - listen [::]:80; - - root /var/www/etcpool; - index index.html index.htm index.nginx-debian.html; - - server_name etc.yourdomain.name; - - location / { - try_files $uri $uri/ =404; - } - - location /api { - proxy_pass http://127.0.0.1:8080/api; - } - -} diff --git a/configs/payout.json b/configs/payout.json deleted file mode 100644 index b1b9aa3..0000000 --- a/configs/payout.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "threads": 2, - "coin": "etc", - "name": "main", - "pplns": 9000, - "proxy": { - "enabled": false, - "listen": "0.0.0.0:8888", - "limitHeadersSize": 1024, - "limitBodySize": 256, - "behindReverseProxy": false, - "stratum": { - "enabled": true, - "listen": "0.0.0.0:8008", - "timeout": "120s", - "maxConn": 8192 - }, - - "blockRefreshInterval": "120ms", - "stateUpdateInterval": "3s", - "difficulty": 2000000000, - "healthCheck": true, - "maxFails": 100, - "hashrateExpiration": "3h", - "policy": { - "workers": 8, - "resetInterval": "60m", - "refreshInterval": "1m", - "banning": { - "enabled": false, - "ipset": "blacklist", - "timeout": 1800, - "invalidPercent": 30, - "checkThreshold": 30, - "malformedLimit": 5 - }, - "limits": { - "enabled": false, - "limit": 30, - "grace": "5m", - "limitJump": 10 - } - } - }, - - "api": { - "enabled": false, - "listen": "0.0.0.0:8080", - "statsCollectInterval": "5s", - "purgeInterval": "10m", - "hashrateWindow": "30m", - "hashrateLargeWindow": "3h", - "luckWindow": [64, 128, 256], - "payments": 50, - "blocks": 50, - "poolCharts":"0 */20 * * * *", - "poolChartsNum":74, - "minerCharts":"0 */20 * * * *", - "minerChartsNum":74, - "purgeOnly": false - }, - - "upstreamCheckInterval": "5s", - - "upstream": [ - { - "name": "main", - "url": "http://127.0.0.1:8545", - "timeout": "10s" - }, - { - "name": "backup", - "url": "http://127.0.0.1:8501", - "timeout": "10s" - } - ], - - "redis": { - "endpoint": "127.0.0.1:6379", - "poolSize": 10, - "database": 1, - "password": "" - }, - - "unlocker": { - "enabled": false, - "poolFee": 0.5, - "poolFeeAddress": "0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6", - "donate": true, - "depth": 120, - "immatureDepth": 20, - "keepTxFees": false, - "interval": "10m", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "classic": true - }, - - "payouts": { - "enabled": true, - "requirePeers": 4, - "interval": "1h", - "daemon": "http://127.0.0.1:8545", - "timeout": "120s", - "address": "0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6", - "autoGas": true, - "gas": "21000", - "gasPrice": "50000000000", - "threshold": 1000000000, - "bgsave": true, - "concurrentTx": 5 - } -} diff --git a/configs/stratum2b.json b/configs/stratum2b.json deleted file mode 100644 index 5b82654..0000000 --- a/configs/stratum2b.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "threads": 2, - "coin": "etc", - "name": "main", - "pplns": 9000, - "proxy": { - "enabled": true, - "listen": "0.0.0.0:8882", - "limitHeadersSize": 1024, - "limitBodySize": 256, - "behindReverseProxy": false, - "stratum": { - "enabled": true, - "listen": "0.0.0.0:8002", - "timeout": "120s", - "maxConn": 8192 - }, - - "blockRefreshInterval": "120ms", - "stateUpdateInterval": "3s", - "difficulty": 2000000000, - "stratumHostname": "Domain name", - "healthCheck": true, - "maxFails": 100, - "hashrateExpiration": "3h", - "policy": { - "workers": 8, - "resetInterval": "60m", - "refreshInterval": "1m", - "banning": { - "enabled": false, - "ipset": "blacklist", - "timeout": 1800, - "invalidPercent": 30, - "checkThreshold": 30, - "malformedLimit": 5 - }, - "limits": { - "enabled": false, - "limit": 30, - "grace": "5m", - "limitJump": 10 - } - } - }, - - "api": { - "enabled": false, - "listen": "0.0.0.0:8080", - "statsCollectInterval": "5s", - "purgeInterval": "10m", - "hashrateWindow": "30m", - "hashrateLargeWindow": "3h", - "luckWindow": [64, 128, 256], - "payments": 50, - "blocks": 50, - "poolCharts":"0 */20 * * * *", - "poolChartsNum":74, - "minerCharts":"0 */20 * * * *", - "minerChartsNum":74, - "purgeOnly": false - }, - - "upstreamCheckInterval": "5s", - - "upstream": [ - { - "name": "backup", - "url": "http://127.0.0.1:8545", - "timeout": "10s" - } - ], - - "redis": { - "endpoint": "127.0.0.1:6379", - "poolSize": 10, - "database": 1, - "password": "" - }, - - "unlocker": { - "enabled": false, - "poolFee": 0.5, - "poolFeeAddress": "", - "donate": true, - "depth": 120, - "immatureDepth": 20, - "keepTxFees": false, - "interval": "10m", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "classic": true - }, - - "payouts": { - "enabled": false, - "requirePeers": 5, - "interval": "3h", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "address": "0x", - "autoGas": true, - "gas": "21000", - "gasPrice": "50000000000", - "threshold": 1000000000, - "bgsave": true, - "concurrentTx": 5 - } -} diff --git a/configs/stratum4b.json b/configs/stratum4b.json deleted file mode 100644 index cd62eee..0000000 --- a/configs/stratum4b.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "threads": 4, - "coin": "etc", - "name": "main", - "pplns": 9000, - "proxy": { - "enabled": true, - "listen": "0.0.0.0:8884", - "limitHeadersSize": 1024, - "limitBodySize": 256, - "behindReverseProxy": false, - "stratum": { - "enabled": true, - "listen": "0.0.0.0:8004", - "timeout": "120s", - "maxConn": 8192 - }, - - "blockRefreshInterval": "120ms", - "stateUpdateInterval": "3s", - "difficulty": 4000000000, - "stratumHostname": "Domain name", - "healthCheck": true, - "maxFails": 100, - "hashrateExpiration": "3h", - "policy": { - "workers": 8, - "resetInterval": "60m", - "refreshInterval": "1m", - "banning": { - "enabled": false, - "ipset": "blacklist", - "timeout": 1800, - "invalidPercent": 30, - "checkThreshold": 30, - "malformedLimit": 5 - }, - "limits": { - "enabled": false, - "limit": 30, - "grace": "5m", - "limitJump": 10 - } - } - }, - - "api": { - "enabled": false, - "listen": "0.0.0.0:8080", - "statsCollectInterval": "5s", - "purgeInterval": "10m", - "hashrateWindow": "30m", - "hashrateLargeWindow": "3h", - "luckWindow": [64, 128, 256], - "payments": 50, - "blocks": 50, - "poolCharts":"0 */20 * * * *", - "poolChartsNum":74, - "minerCharts":"0 */20 * * * *", - "minerChartsNum":74, - "purgeOnly": false - }, - - "upstreamCheckInterval": "5s", - - "upstream": [ - { - "name": "main", - "url": "http://127.0.0.1:8545", - "timeout": "10s" - }, - { - "name": "backup", - "url": "http://127.0.0.2:8501", - "timeout": "10s" - } - ], - - "redis": { - "endpoint": "127.0.0.1:6379", - "poolSize": 10, - "database": 1, - "password": "" - }, - - "unlocker": { - "enabled": false, - "poolFee": 0.5, - "poolFeeAddress": "", - "donate": true, - "depth": 120, - "immatureDepth": 20, - "keepTxFees": false, - "interval": "10m", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "classic": true - }, - - "payouts": { - "enabled": false, - "requirePeers": 5, - "interval": "3h", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "address": "0x", - "autoGas": true, - "gas": "21000", - "gasPrice": "50000000000", - "threshold": 1000000000, - "bgsave": true, - "concurrentTx": 5 - } -} diff --git a/configs/stratum8b.json b/configs/stratum8b.json deleted file mode 100644 index d6cc342..0000000 --- a/configs/stratum8b.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "threads": 8, - "coin": "etc", - "name": "main", - "pplns": 9000, - "proxy": { - "enabled": true, - "listen": "0.0.0.0:8888", - "limitHeadersSize": 1024, - "limitBodySize": 256, - "behindReverseProxy": false, - "stratum": { - "enabled": true, - "listen": "0.0.0.0:8008", - "timeout": "120s", - "maxConn": 8192 - }, - - "blockRefreshInterval": "120ms", - "stateUpdateInterval": "3s", - "difficulty": 8000000000, - "stratumHostname": "Domain name", - "healthCheck": true, - "maxFails": 100, - "hashrateExpiration": "3h", - "policy": { - "workers": 8, - "resetInterval": "60m", - "refreshInterval": "1m", - "banning": { - "enabled": false, - "ipset": "blacklist", - "timeout": 1800, - "invalidPercent": 30, - "checkThreshold": 30, - "malformedLimit": 5 - }, - "limits": { - "enabled": false, - "limit": 30, - "grace": "5m", - "limitJump": 10 - } - } - }, - - "api": { - "enabled": false, - "listen": "0.0.0.0:8080", - "statsCollectInterval": "5s", - "purgeInterval": "10m", - "hashrateWindow": "30m", - "hashrateLargeWindow": "3h", - "luckWindow": [64, 128, 256], - "payments": 50, - "blocks": 50, - "poolCharts":"0 */20 * * * *", - "poolChartsNum":74, - "minerCharts":"0 */20 * * * *", - "minerChartsNum":74, - "purgeOnly": false - }, - - "upstreamCheckInterval": "5s", - - "upstream": [ - { - "name": "main", - "url": "http://127.0.0.1:8545", - "timeout": "10s" - }, - { - "name": "backup", - "url": "http://127.0.0.2:8545", - "timeout": "10s" - } - ], - - "redis": { - "endpoint": "127.0.0.1:6379", - "poolSize": 15, - "database": 1, - "password": "" - }, - - "unlocker": { - "enabled": false, - "poolFee": 0.5, - "poolFeeAddress": "0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6", - "donate": true, - "depth": 120, - "immatureDepth": 20, - "keepTxFees": false, - "interval": "10m", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "classic": true - }, - - "payouts": { - "enabled": false, - "requirePeers": 5, - "interval": "3h", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "address": "0x", - "autoGas": true, - "gas": "21000", - "gasPrice": "50000000000", - "threshold": 1000000000, - "bgsave": true, - "concurrentTx": 5 - } -} diff --git a/configs/stratum9b.json b/configs/stratum9b.json deleted file mode 100644 index cf4168f..0000000 --- a/configs/stratum9b.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "threads": 8, - "coin": "etc", - "name": "main", - "pplns": 9000, - "proxy": { - "enabled": true, - "listen": "0.0.0.0:8889", - "limitHeadersSize": 1024, - "limitBodySize": 256, - "behindReverseProxy": false, - "stratum": { - "enabled": true, - "listen": "0.0.0.0:8009", - "timeout": "120s", - "maxConn": 8192 - }, - - "blockRefreshInterval": "120ms", - "stateUpdateInterval": "3s", - "difficulty": 9000000000, - "stratumHostname": "Domain name", - "healthCheck": true, - "maxFails": 100, - "hashrateExpiration": "3h", - "policy": { - "workers": 8, - "resetInterval": "60m", - "refreshInterval": "1m", - "banning": { - "enabled": false, - "ipset": "blacklist", - "timeout": 1800, - "invalidPercent": 30, - "checkThreshold": 30, - "malformedLimit": 5 - }, - "limits": { - "enabled": false, - "limit": 30, - "grace": "5m", - "limitJump": 10 - } - } - }, - - "api": { - "enabled": false, - "listen": "0.0.0.0:8080", - "statsCollectInterval": "5s", - "purgeInterval": "10m", - "hashrateWindow": "30m", - "hashrateLargeWindow": "3h", - "luckWindow": [64, 128, 256], - "payments": 50, - "blocks": 50, - "poolCharts":"0 */20 * * * *", - "poolChartsNum":74, - "minerCharts":"0 */20 * * * *", - "minerChartsNum":74, - "purgeOnly": false - }, - - "upstreamCheckInterval": "5s", - - "upstream": [ - { - "name": "main", - "url": "http://127.0.01:8545", - "timeout": "10s" - }, - { - "name": "backup", - "url": "http://127.0.0.2:8545", - "timeout": "10s" - } - ], - - "redis": { - "endpoint": "127.0.0.1:6379", - "poolSize": 15, - "database": 1, - "password": "" - }, - - "unlocker": { - "enabled": false, - "poolFee": 0.5, - "poolFeeAddress": "0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6", - "donate": true, - "depth": 120, - "immatureDepth": 20, - "keepTxFees": false, - "interval": "10m", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "classic": true - }, - - "payouts": { - "enabled": false, - "requirePeers": 5, - "interval": "3h", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "address": "0x", - "autoGas": true, - "gas": "21000", - "gasPrice": "50000000000", - "threshold": 1000000000, - "bgsave": true, - "concurrentTx": 5 - } -} diff --git a/configs/unlocker.json b/configs/unlocker.json deleted file mode 100644 index d22658c..0000000 --- a/configs/unlocker.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "threads": 2, - "coin": "etc", - "name": "main", - "pplns": 9000, - "proxy": { - "enabled": false, - "listen": "0.0.0.0:8888", - "limitHeadersSize": 1024, - "limitBodySize": 256, - "behindReverseProxy": false, - "stratum": { - "enabled": true, - "listen": "0.0.0.0:8008", - "timeout": "120s", - "maxConn": 8192 - }, - - "blockRefreshInterval": "120ms", - "stateUpdateInterval": "3s", - "difficulty": 2000000000, - "healthCheck": true, - "maxFails": 100, - "hashrateExpiration": "3h", - "policy": { - "workers": 8, - "resetInterval": "60m", - "refreshInterval": "1m", - "banning": { - "enabled": false, - "ipset": "blacklist", - "timeout": 1800, - "invalidPercent": 30, - "checkThreshold": 30, - "malformedLimit": 5 - }, - "limits": { - "enabled": false, - "limit": 30, - "grace": "5m", - "limitJump": 10 - } - } - }, - - "api": { - "enabled": false, - "listen": "0.0.0.0:8080", - "statsCollectInterval": "5s", - "purgeInterval": "10m", - "hashrateWindow": "30m", - "hashrateLargeWindow": "3h", - "luckWindow": [64, 128, 256], - "payments": 50, - "blocks": 50, - "poolCharts":"0 */20 * * * *", - "poolChartsNum":74, - "minerCharts":"0 */20 * * * *", - "minerChartsNum":74, - "purgeOnly": false - }, - - "upstreamCheckInterval": "5s", - - "upstream": [ - { - "name": "main", - "url": "http://127.0.0.1:8545", - "timeout": "10s" - }, - { - "name": "backup", - "url": "http://127.0.0.1:8545", - "timeout": "10s" - } - ], - - "redis": { - "endpoint": "127.0.0.1:6379", - "poolSize": 10, - "database": 1, - "password": "" - }, - - "unlocker": { - "enabled": true, - "poolFee": 0.5, - "poolFeeAddress": "0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6", - "donate": true, - "depth": 120, - "immatureDepth": 20, - "keepTxFees": false, - "interval": "10m", - "daemon": "http://127.0.0.1:8545", - "timeout": "120s", - "classic": true - }, - - "payouts": { - "enabled": false, - "requirePeers": 5, - "interval": "3h", - "daemon": "http://127.0.0.1:8545", - "timeout": "10s", - "address": "0x", - "autoGas": true, - "gas": "21000", - "gasPrice": "50000000000", - "threshold": 1000000000, - "bgsave": false, - "concurrentTx": 5 - } -} diff --git a/docs/PAYOUTS.md b/docs/PAYOUTS.md index c1c2329..cd52aef 100644 --- a/docs/PAYOUTS.md +++ b/docs/PAYOUTS.md @@ -38,7 +38,7 @@ After payout session, payment module will perform `BGSAVE` (background saving) o If your payout is not logged and not confirmed by Ethereum network you can resolve it automatically. You need to payouts in maintenance mode by setting up `RESOLVE_PAYOUT=1` or `RESOLVE_PAYOUT=True` environment variable: -`RESOLVE_PAYOUT=1 ./build/bin/open-ethereum-pool payouts.json`. +`RESOLVE_PAYOUT=1 ./build/bin/open-etc-pool payouts.json`. Payout module will fetch all rows from Redis with key `eth:payments:pending` and credit balance back to miners. Usually you will have only single entry there. @@ -48,13 +48,13 @@ If there was a debit operation performed which is not followed by actual money t ``` Will credit back following balances: -Address: 0x34AE12692BD4567A27e3E86411b58Ea6954BA773, Amount: 166798415 Shannon, 2016-05-11 08:14:34 +Address: 0xb85150eb365e7df0941f0cf08235f987ba91506a, Amount: 166798415 Shannon, 2016-05-11 08:14:34 ``` followed by ``` -Credited 166798415 Shannon back to 0x34AE12692BD4567A27e3E86411b58Ea6954BA773 +Credited 166798415 Shannon back to 0xb85150eb365e7df0941f0cf08235f987ba91506a ``` Usually every maintenance run ends with following message and halt: @@ -80,7 +80,7 @@ ZREVRANGE "eth:payments:pending" 0 -1 WITHSCORES Result will be like this: -> 1) "0x34AE12692BD4567A27e3E86411b58Ea6954BA773:25000000" +> 1) "0xb85150eb365e7df0941f0cf08235f987ba91506a:25000000" It's a pair of `LOGIN:AMOUNT`. @@ -95,7 +95,7 @@ It's a `UNIXTIME` ```javascript eth.sendTransaction({ from: eth.coinbase, - to: '0x34AE12692BD4567A27e3E86411b58Ea6954BA773', + to: '0xb85150eb365e7df0941f0cf08235f987ba91506a', value: web3.toWei(25000000, 'shannon') }) @@ -109,17 +109,17 @@ eth.sendTransaction({ Also usable for fixing missing payment entries. ``` -ZADD "eth:payments:all" 1462920526 0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331:0x34AE12692BD4567A27e3E86411b58Ea6954BA773:25000000 +ZADD "eth:payments:all" 1462920526 0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331:0xb85150eb365e7df0941f0cf08235f987ba91506a:25000000 ``` ``` -ZADD "eth:payments:0x34AE12692BD4567A27e3E86411b58Ea6954BA773" 1462920526 0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331:25000000 +ZADD "eth:payments:0xb85150eb365e7df0941f0cf08235f987ba91506a" 1462920526 0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331:25000000 ``` ### Delete Erroneous Payment Entry ``` -ZREM "eth:payments:pending" "0x34AE12692BD4567A27e3E86411b58Ea6954BA773:25000000" +ZREM "eth:payments:pending" "0xb85150eb365e7df0941f0cf08235f987ba91506a:25000000" ``` ### Update Internal Stats diff --git a/docs/STRATUM.md b/docs/STRATUM.md index 62c0195..4fa8bf0 100644 --- a/docs/STRATUM.md +++ b/docs/STRATUM.md @@ -19,7 +19,7 @@ Request looks like: "id": 1, "jsonrpc": "2.0", "method": "eth_submitLogin", - "params": ["0x34AE12692BD4567A27e3E86411b58Ea6954BA773"] + "params": ["0xb85150eb365e7df0941f0cf08235f987ba91506a"] } ``` @@ -30,7 +30,7 @@ Request can include additional 2nd param (email for example): "id": 1, "jsonrpc": "2.0", "method": "eth_submitLogin", - "params": ["0x34AE12692BD4567A27e3E86411b58Ea6954BA773", "admin@example.net"] + "params": ["0xb85150eb365e7df0941f0cf08235f987ba91506a", "admin@example.net"] } ``` diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..0941d0e --- /dev/null +++ b/go.mod @@ -0,0 +1,21 @@ +module github.com/etclabscore/open-etc-pool + +go 1.15 + +require ( + github.com/btcsuite/btcd v0.21.0-beta // indirect + github.com/edsrzf/mmap-go v1.0.0 + github.com/etclabscore/go-etchash v0.0.0-20201116172336-ee6bd2e29b29 + github.com/ethereum/go-ethereum v1.9.24 + github.com/garyburd/redigo v1.6.2 // indirect + github.com/gorilla/mux v1.8.0 + github.com/hashicorp/golang-lru v0.5.4 + github.com/robfig/cron v1.2.0 + github.com/yvasiyarov/go-metrics v0.0.0-20150112132944-c25f46c4b940 // indirect + github.com/yvasiyarov/gorelic v0.0.7 + github.com/yvasiyarov/newrelic_platform_go v0.0.0-20160601141957-9c099fbc30e9 // indirect + golang.org/x/crypto v0.0.0-20201116153603-4be66e5b6582 + golang.org/x/sys v0.0.0-20201109165425-215b40eba54c // indirect + gopkg.in/bsm/ratelimit.v1 v1.0.0-20160220154919-db14e161995a // indirect + gopkg.in/redis.v3 v3.6.4 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..847ec1c --- /dev/null +++ b/go.sum @@ -0,0 +1,563 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20200628203458-851255f7a67b/go.mod h1:jiUwifN9cRl/zmco43aAqh0aV+s9GbhG13KcD+gEpkU= +github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= +github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= +github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= +github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= +github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= +github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= +github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= +github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/VictoriaMetrics/fastcache v1.5.7 h1:4y6y0G8PRzszQUYIQHHssv/jgPHAb5qQuuDNdCbyAgw= +github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8= +github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= +github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847 h1:rtI0fD4oG/8eVokGVPYJEW1F88p1ZNgXiEIs9thEE4A= +github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6 h1:Eey/GGQ/E5Xp1P2Lyx1qj007hLZfbi0+CoVeJruGCtI= +github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= +github.com/btcsuite/btcd v0.20.1-beta h1:Ik4hyJqN8Jfyv3S4AGBOmyouMsYE3EdYODkMbQjwPGw= +github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= +github.com/btcsuite/btcd v0.21.0-beta h1:At9hIZdJW0s9E/fAz28nrz6AmcNlSVucCH796ZteX1M= +github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= +github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= +github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= +github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= +github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= +github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= +github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= +github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= +github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= +github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= +github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= +github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea h1:j4317fAZh7X6GqbFowYdYdI0L9bwxL07jyPZIdepyZ0= +github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= +github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= +github.com/dvyukov/go-fuzz v0.0.0-20200318091601-be3528f3a813/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= +github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c h1:JHHhtb9XWJrGNMcrVP6vyzO4dusgi/HnceHTgxSejUM= +github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/etclabscore/go-etchash v0.0.0-20201116172336-ee6bd2e29b29 h1:X/88sZQ3X0BrbYqDGR1U2K0mcz3+A3y8J6IoZMVX5Ds= +github.com/etclabscore/go-etchash v0.0.0-20201116172336-ee6bd2e29b29/go.mod h1:SxEttCWPN7KrSgmuR4mSOBBQjIR39RytnllrhQs2ubw= +github.com/ethereum/go-ethereum v1.9.23 h1:SIKhg/z4Q7AbvqcxuPYvMxf36che/Rq/Pp0IdYEkbtw= +github.com/ethereum/go-ethereum v1.9.23/go.mod h1:JIfVb6esrqALTExdz9hRYvrP0xBDf6wCncIu1hNwHpM= +github.com/ethereum/go-ethereum v1.9.24 h1:6AK+ORt3EMDO+FTjzXy/AQwHMbu52J2nYHIjyQX9azQ= +github.com/ethereum/go-ethereum v1.9.24/go.mod h1:JIfVb6esrqALTExdz9hRYvrP0xBDf6wCncIu1hNwHpM= +github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/garyburd/redigo v1.6.2 h1:yE/pwKCrbLpLpQICzYTeZ7JsTA/C53wFTJHaEtRqniM= +github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-latex/latex v0.0.0-20200518072620-0806b477ea35/go.mod h1:PNI+CcWytn/2Z/9f1SGOOYn0eILruVyp0v2/iAs8asQ= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= +github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= +github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= +github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-test/deep v1.0.5/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.2-0.20200707131729-196ae77b8a26 h1:lMm2hD9Fy0ynom5+85/pbdkiYcBqM1JWmhpAXLmy0fw= +github.com/golang/snappy v0.0.2-0.20200707131729-196ae77b8a26/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= +github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/iancoleman/strcase v0.0.0-20191112232945-16388991a334/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= +github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jung-kurt/gofpdf v1.16.2/go.mod h1:1hl7y57EsiPAkLbOwzpzqgx1A30nQCk/YmFV8S2vmK0= +github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/karalabe/xgo v0.0.0-20191115072854-c5ccff8648a7/go.mod h1:iYGcTYIPUvEWhFo6aKUuLchs+AV4ssYdyuBbQJZGcBk= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= +github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= +github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= +github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c h1:1RHs3tNxjXGHeul8z2t6H2N2TlAqpKe5yryJztRx4Jk= +github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= +github.com/phpdave11/gofpdi v1.0.7/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= +github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ= +github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/shirou/gopsutil v2.20.5+incompatible h1:tYH07UPoQt0OCQdgWWMgYHy3/a9bcxNpBIysykNIP7I= +github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= +github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570 h1:gIlAHnH1vJb5vwEjIp5kBj/eu99p/bl0Ay2goiPe5xE= +github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= +github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3 h1:njlZPzLwU639dk2kqnCPPv+wNjq7Xb6EfUxe/oX0/NM= +github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca h1:Ld/zXl5t4+D69SiV4JoN7kkfvJdOWlPpfxrzxpLMoUk= +github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= +github.com/tidwall/gjson v1.3.5 h1:2oW9FBNu8qt9jy5URgrzsVx/T/KSn3qn/smJQ0crlDQ= +github.com/tidwall/gjson v1.3.5/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls= +github.com/tidwall/match v1.0.1 h1:PnKP62LPNxHKTwvHHZZzdOAOCtsJTjo6dZLCwpKm5xc= +github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E= +github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yvasiyarov/go-metrics v0.0.0-20150112132944-c25f46c4b940 h1:p7OofyZ509h8DmPLh8Hn+EIIZm/xYhdZHJ9GnXHdr6U= +github.com/yvasiyarov/go-metrics v0.0.0-20150112132944-c25f46c4b940/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= +github.com/yvasiyarov/gorelic v0.0.7 h1:4DTF1WOM2ZZS/xMOkTFBOcb6XiHu/PKn3rVo6dbewQE= +github.com/yvasiyarov/gorelic v0.0.7/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20160601141957-9c099fbc30e9 h1:AsFN8kXcCVkUFHyuzp1FtYbzp1nCO/H6+1uPSGEyPzM= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20160601141957-9c099fbc30e9/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 h1:pLI5jrR7OSLijeIDcmRxNmw2api+jEfxLoykJVice/E= +golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201116153603-4be66e5b6582 h1:0WDrJ1E7UolDk1KhTXxxw3Fc8qtk5x7dHP431KHEJls= +golang.org/x/crypto v0.0.0-20201116153603-4be66e5b6582/go.mod h1:tCqSYrHVcf3i63Co2FzBkTCo2gdF6Zak62921dSfraU= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mobile v0.0.0-20200801112145-973feb4309de/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8 h1:AvbQYmiaaaza3cW3QXRyPo5kYgpFIzOAfeAAN7m3qQ4= +golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201109165425-215b40eba54c h1:+B+zPA6081G5cEb2triOIJpcvSW4AYzmIyWAqMn2JAc= +golang.org/x/sys v0.0.0-20201109165425-215b40eba54c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201113234701-d7a72108b828/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.1/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.8.0/go.mod h1:3GH8dTfoceRTELDnv+4HNwbvM/eMfdDUGHFG2bo3NeE= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/bsm/ratelimit.v1 v1.0.0-20160220154919-db14e161995a h1:stTHdEoWg1pQ8riaP5ROrjS6zy6wewH/Q2iwnLCQUXY= +gopkg.in/bsm/ratelimit.v1 v1.0.0-20160220154919-db14e161995a/go.mod h1:KF9sEfUPAXdG8Oev9e99iLGnl2uJMjc5B+4y3O7x610= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= +gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= +gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= +gopkg.in/redis.v3 v3.6.4 h1:u7XgPH1rWwsdZnR+azldXC6x9qDU2luydOIeU/l52fE= +gopkg.in/redis.v3 v3.6.4/go.mod h1:6XeGv/CrsUFDU9aVbUdNykN7k1zVmoeg83KC9RbQfiU= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/main.go b/main.go index e8921bc..8371566 100644 --- a/main.go +++ b/main.go @@ -13,10 +13,10 @@ import ( "github.com/yvasiyarov/gorelic" - "github.com/yuriy0803/open-etc-pool-friends/api" - "github.com/yuriy0803/open-etc-pool-friends/payouts" - "github.com/yuriy0803/open-etc-pool-friends/proxy" - "github.com/yuriy0803/open-etc-pool-friends/storage" + "github.com/etclabscore/open-etc-pool/api" + "github.com/etclabscore/open-etc-pool/payouts" + "github.com/etclabscore/open-etc-pool/proxy" + "github.com/etclabscore/open-etc-pool/storage" ) var cfg proxy.Config @@ -33,7 +33,7 @@ func startApi() { } func startBlockUnlocker() { - u := payouts.NewBlockUnlocker(&cfg.BlockUnlocker, backend) + u := payouts.NewBlockUnlocker(&cfg.BlockUnlocker, backend, &cfg.Network) u.Start() } diff --git a/misc/nginx-default.conf b/misc/nginx-default.conf new file mode 100644 index 0000000..4017ded --- /dev/null +++ b/misc/nginx-default.conf @@ -0,0 +1,19 @@ +upstream api { + server 127.0.0.1:8080; +} + +server { + listen 0.0.0.0:80; + root /path/to/pool/www/dist; + index index.html index.htm; + + server_name localhost; + + location /api { + proxy_pass http://api; + } + + location / { + try_files $uri $uri/ /index.html; + } +} diff --git a/misc/upstart.conf b/misc/upstart.conf new file mode 100644 index 0000000..15a6704 --- /dev/null +++ b/misc/upstart.conf @@ -0,0 +1,26 @@ +# open-etc-pool +description "open-etc-pool" + +env DAEMON=/home/main/src/open-etc-pool/build/bin/open-etc-pool +env CONFIG=/home/main/src/open-etc-pool/config.json + +start on filesystem or runlevel [2345] +stop on runlevel [!2345] + +setuid main +setgid main + +kill signal INT + +respawn +respawn limit 10 5 +umask 022 + +pre-start script + test -x $DAEMON || { stop; exit 0; } +end script + +# Start +script + exec $DAEMON $CONFIG +end script diff --git a/payouts/payer.go b/payouts/payer.go index 668ae8e..0c1cfd8 100644 --- a/payouts/payer.go +++ b/payouts/payer.go @@ -5,16 +5,16 @@ import ( "log" "math/big" "os" - "os/exec" + "os/exec" "strconv" "time" - "sync" + "sync" "github.com/ethereum/go-ethereum/common/hexutil" - "github.com/yuriy0803/open-etc-pool-friends/rpc" - "github.com/yuriy0803/open-etc-pool-friends/storage" - "github.com/yuriy0803/open-etc-pool-friends/util" + "github.com/etclabscore/open-etc-pool/rpc" + "github.com/etclabscore/open-etc-pool/storage" + "github.com/etclabscore/open-etc-pool/util" ) const txCheckInterval = 5 * time.Second @@ -108,7 +108,7 @@ func (u *PayoutsProcessor) Start() { func (u *PayoutsProcessor) process() { if u.halt { log.Println("Payments suspended due to last critical error:", u.lastFail) - os.Exit(1) + os.Exit(1) return } mustPay := 0 @@ -233,7 +233,7 @@ func (u *PayoutsProcessor) process() { break } } - wg.Done() + wg.Done() }(txHash, login, &wg) if waitingCount > u.config.ConcurrentTx { diff --git a/payouts/unlocker.go b/payouts/unlocker.go index 7d7a328..15cd5f0 100644 --- a/payouts/unlocker.go +++ b/payouts/unlocker.go @@ -3,43 +3,42 @@ package payouts import ( "fmt" "log" + "os" "math/big" - "os" "strconv" "strings" "time" "github.com/ethereum/go-ethereum/common/math" - "github.com/yuriy0803/open-etc-pool-friends/rpc" - "github.com/yuriy0803/open-etc-pool-friends/storage" - "github.com/yuriy0803/open-etc-pool-friends/util" + "github.com/etclabscore/open-etc-pool/rpc" + "github.com/etclabscore/open-etc-pool/storage" + "github.com/etclabscore/open-etc-pool/util" ) type UnlockerConfig struct { - Enabled bool `json:"enabled"` - PoolFee float64 `json:"poolFee"` - PoolFeeAddress string `json:"poolFeeAddress"` - Donate bool `json:"donate"` - Depth int64 `json:"depth"` - ImmatureDepth int64 `json:"immatureDepth"` - KeepTxFees bool `json:"keepTxFees"` - Interval string `json:"interval"` - Daemon string `json:"daemon"` - Timeout string `json:"timeout"` - Classic bool `json:"classic"` + Enabled bool `json:"enabled"` + PoolFee float64 `json:"poolFee"` + PoolFeeAddress string `json:"poolFeeAddress"` + Donate bool `json:"donate"` + Depth int64 `json:"depth"` + ImmatureDepth int64 `json:"immatureDepth"` + KeepTxFees bool `json:"keepTxFees"` + Interval string `json:"interval"` + Daemon string `json:"daemon"` + Timeout string `json:"timeout"` + Ecip1017FBlock int64 `json:"ecip1017FBlock"` + Ecip1017EraRounds *big.Int `json:"ecip1017EraRounds"` } const minDepth = 16 -const byzantiumHardForkHeight = 4370000 -var homesteadReward = math.MustParseBig256("5000000000000000000") -var byzantiumReward = math.MustParseBig256("3200000000000000000") -var classicReward = math.MustParseBig256("3200000000000000000") +var disinflationRateQuotient = big.NewInt(4) // Disinflation rate quotient for ECIP1017 +var disinflationRateDivisor = big.NewInt(5) // Disinflation rate divisor for ECIP1017 +var big32 = big.NewInt(32) +var big8 = big.NewInt(8) -// Donate 10% from pool fees to developers -const donationFee = 10 -const donationAccount = "0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6" +var homesteadReward = math.MustParseBig256("4000000000000000000") type BlockUnlocker struct { config *UnlockerConfig @@ -49,7 +48,17 @@ type BlockUnlocker struct { lastFail error } -func NewBlockUnlocker(cfg *UnlockerConfig, backend *storage.RedisClient) *BlockUnlocker { +func NewBlockUnlocker(cfg *UnlockerConfig, backend *storage.RedisClient, network *string) *BlockUnlocker { + if *network == "classic" { + cfg.Ecip1017FBlock = 5000000 + cfg.Ecip1017EraRounds = big.NewInt(5000000) + } else if *network == "mordor" { + cfg.Ecip1017FBlock = 0 + cfg.Ecip1017EraRounds = big.NewInt(2000000) + } else { + log.Fatalln("Invalid network set", network) + } + if len(cfg.PoolFeeAddress) != 0 && !util.IsValidHexAddress(cfg.PoolFeeAddress) { log.Fatalln("Invalid poolFeeAddress", cfg.PoolFeeAddress) } @@ -112,6 +121,11 @@ func (u *BlockUnlocker) unlockCandidates(candidates []*storage.BlockData) (*Unlo /* Search for a normal block with wrong height here by traversing 16 blocks back and forward. * Also we are searching for a block that can include this one as uncle. */ + if candidate.Height < minDepth { + orphan = false + // avoid scanning the first 16 blocks + continue + } for i := int64(minDepth * -1); i < minDepth; i++ { height := candidate.Height + i @@ -120,6 +134,7 @@ func (u *BlockUnlocker) unlockCandidates(candidates []*storage.BlockData) (*Unlo } block, err := u.rpc.GetBlockByHeight(height) + if err != nil { log.Printf("Error while retrieving block %v from node: %v", height, err) return nil, err @@ -162,7 +177,7 @@ func (u *BlockUnlocker) unlockCandidates(candidates []*storage.BlockData) (*Unlo orphan = false result.uncles++ - err := handleUncle(height, uncle, candidate, u.config.Classic) + err := handleUncle(height, uncle, candidate, u.config) if err != nil { u.halt = true u.lastFail = err @@ -212,7 +227,13 @@ func (u *BlockUnlocker) handleBlock(block *rpc.GetBlockReply, candidate *storage return err } candidate.Height = correctHeight - reward := getConstReward(candidate.Height, u.config.Classic) + era := GetBlockEra(big.NewInt(candidate.Height), u.config.Ecip1017EraRounds) + reward := getConstReward(era) + + // Add reward for including uncles + uncleReward := getRewardForUncle(reward) + rewardForUncles := big.NewInt(0).Mul(uncleReward, big.NewInt(int64(len(block.Uncles)))) + reward.Add(reward, rewardForUncles) // Add TX fees extraTxReward, err := u.getExtraRewardForTx(block) @@ -225,23 +246,19 @@ func (u *BlockUnlocker) handleBlock(block *rpc.GetBlockReply, candidate *storage reward.Add(reward, extraTxReward) } - // Add reward for including uncles - uncleReward := getRewardForUncle(candidate.Height, u.config.Classic) - rewardForUncles := big.NewInt(0).Mul(uncleReward, big.NewInt(int64(len(block.Uncles)))) - reward.Add(reward, rewardForUncles) - candidate.Orphan = false candidate.Hash = block.Hash candidate.Reward = reward return nil } -func handleUncle(height int64, uncle *rpc.GetBlockReply, candidate *storage.BlockData, isClassic bool) error { +func handleUncle(height int64, uncle *rpc.GetBlockReply, candidate *storage.BlockData, cfg *UnlockerConfig) error { uncleHeight, err := strconv.ParseInt(strings.Replace(uncle.Number, "0x", "", -1), 16, 64) if err != nil { return err } - reward := getUncleReward(uncleHeight, height, isClassic) + era := GetBlockEra(big.NewInt(height), cfg.Ecip1017EraRounds) + reward := getUncleReward(new(big.Int).SetInt64(uncleHeight), new(big.Int).SetInt64(height), era, getConstReward(era)) candidate.Height = height candidate.UncleHeight = uncleHeight candidate.Orphan = false @@ -253,7 +270,7 @@ func handleUncle(height int64, uncle *rpc.GetBlockReply, candidate *storage.Bloc func (u *BlockUnlocker) unlockPendingBlocks() { if u.halt { log.Println("Unlocking suspended due to last critical error:", u.lastFail) - os.Exit(1) + os.Exit(1) return } @@ -480,13 +497,6 @@ func (u *BlockUnlocker) calculateRewards(block *storage.BlockData) (*big.Rat, *b revenue.Add(revenue, extraReward) } - if u.config.Donate { - var donation = new(big.Rat) - poolProfit, donation = chargeFee(poolProfit, donationFee) - login := strings.ToLower(donationAccount) - rewards[login] += weiToShannonInt64(donation) - } - if len(u.config.PoolFeeAddress) != 0 { address := strings.ToLower(u.config.PoolFeeAddress) rewards[address] += weiToShannonInt64(poolProfit) @@ -495,9 +505,9 @@ func (u *BlockUnlocker) calculateRewards(block *storage.BlockData) (*big.Rat, *b return revenue, minersProfit, poolProfit, rewards, percents, nil } -func calculateRewardsForShares(shares map[string]int64, total int64, reward *big.Rat) (map[string]int64, map[string]*big.Rat) { +func calculateRewardsForShares(shares map[string]int64, total int64, reward *big.Rat)(map[string]int64, map[string]*big.Rat) { rewards := make(map[string]int64) - percents := make(map[string]*big.Rat) + percents := make(map[string]*big.Rat) for login, n := range shares { percents[login] = big.NewRat(n, total) @@ -521,35 +531,67 @@ func weiToShannonInt64(wei *big.Rat) int64 { return value } -func getConstReward(height int64, isClassic bool) *big.Int { - if !isClassic { - if height >= byzantiumHardForkHeight { - return new(big.Int).Set(byzantiumReward) - } - return new(big.Int).Set(homesteadReward) - } else { - return new(big.Int).Set(classicReward) +// GetRewardByEra gets a block reward at disinflation rate. +// Constants MaxBlockReward, DisinflationRateQuotient, and DisinflationRateDivisor assumed. +func GetBlockWinnerRewardByEra(era *big.Int, blockReward *big.Int) *big.Int { + if era.Cmp(big.NewInt(0)) == 0 { + return new(big.Int).Set(blockReward) + } + + // MaxBlockReward _r_ * (4/5)**era == MaxBlockReward * (4**era) / (5**era) + // since (q/d)**n == q**n / d**n + // qed + var q, d, r *big.Int = new(big.Int), new(big.Int), new(big.Int) + + q.Exp(disinflationRateQuotient, era, nil) + d.Exp(disinflationRateDivisor, era, nil) + + r.Mul(blockReward, q) + r.Div(r, d) + + return r +} + +// GetBlockEra gets which "Era" a given block is within, given an era length (ecip-1017 has era=5,000,000 blocks) +// Returns a zero-index era number, so "Era 1": 0, "Era 2": 1, "Era 3": 2 ... +func GetBlockEra(blockNum, eraLength *big.Int) *big.Int { + // If genesis block or impossible negative-numbered block, return zero-val. + if blockNum.Sign() < 1 { + return new(big.Int) } + + remainder := big.NewInt(0).Mod(big.NewInt(0).Sub(blockNum, big.NewInt(1)), eraLength) + base := big.NewInt(0).Sub(blockNum, remainder) + + d := big.NewInt(0).Div(base, eraLength) + dremainder := big.NewInt(0).Mod(d, big.NewInt(1)) + + return new(big.Int).Sub(d, dremainder) } -func getRewardForUncle(height int64, isClassic bool) *big.Int { - reward := getConstReward(height, isClassic) - return new(big.Int).Div(reward, new(big.Int).SetInt64(32)) +func getConstReward(era *big.Int) *big.Int { + var blockReward = homesteadReward + wr := GetBlockWinnerRewardByEra(era, blockReward) + return wr } -func getUncleReward(uHeight, height int64, isClassic bool) *big.Int { - if !isClassic { - reward := getConstReward(height, isClassic) - k := height - uHeight - reward.Mul(big.NewInt(8-k), reward) - reward.Div(reward, big.NewInt(8)) - return reward - } else { - reward := getConstReward(height, isClassic) - reward.Mul(reward, big.NewInt(3125)) - reward.Div(reward, big.NewInt(100000)) - return reward +func getRewardForUncle(blockReward *big.Int) *big.Int { + return new(big.Int).Div(blockReward, big32) //return new(big.Int).Div(reward, new(big.Int).SetInt64(32)) +} + +func getUncleReward(uHeight *big.Int, height *big.Int, era *big.Int, reward *big.Int) *big.Int { + // Era 1 (index 0): + // An extra reward to the winning miner for including uncles as part of the block, in the form of an extra 1/32 (0.15625ETC) per uncle included, up to a maximum of two (2) uncles. + if era.Cmp(big.NewInt(0)) == 0 { + r := new(big.Int) + r.Add(uHeight, big8) // 2,534,998 + 8 = 2,535,006 + r.Sub(r, height) // 2,535,006 - 2,534,999 = 7 + r.Mul(r, reward) // 7 * 5e+18 = 35e+18 + r.Div(r, big8) // 35e+18 / 8 = 7/8 * 5e+18 + + return r } + return getRewardForUncle(reward) } func (u *BlockUnlocker) getExtraRewardForTx(block *rpc.GetBlockReply) (*big.Int, error) { @@ -568,4 +610,4 @@ func (u *BlockUnlocker) getExtraRewardForTx(block *rpc.GetBlockReply) (*big.Int, } } return amount, nil -} \ No newline at end of file +} diff --git a/payouts/unlocker_test.go b/payouts/unlocker_test.go index 822425a..284b508 100644 --- a/payouts/unlocker_test.go +++ b/payouts/unlocker_test.go @@ -1,12 +1,11 @@ package payouts import ( + "github.com/etclabscore/open-etc-pool/rpc" + "github.com/etclabscore/open-etc-pool/storage" "math/big" "os" "testing" - - "github.com/yuriy0803/open-etc-pool-friends/rpc" - "github.com/yuriy0803/open-etc-pool-friends/storage" ) func TestMain(m *testing.M) { @@ -65,75 +64,77 @@ func TestWeiToShannonInt64(t *testing.T) { t.Error("Must charge original value") } } -func TestGetClassicUncleReward(t *testing.T) { - rewards := make(map[int64]string) - expectedRewards := map[int64]string{ - 1: "125000000000000000", - } - for i := int64(1); i < 2; i++ { - rewards[i] = getUncleReward(1, i+1, true).String() - } - for i, reward := range rewards { - if expectedRewards[i] != rewards[i] { - t.Errorf("Incorrect uncle reward for %v, expected %v vs %v", i, expectedRewards[i], reward) - } - } -} -func TestGetUncleReward(t *testing.T) { - rewards := make(map[int64]string) - expectedRewards := map[int64]string{ - 1: "4375000000000000000", - 2: "3750000000000000000", - 3: "3125000000000000000", - 4: "2500000000000000000", - 5: "1875000000000000000", - 6: "1250000000000000000", - 7: "625000000000000000", - } - for i := int64(1); i < 8; i++ { - rewards[i] = getUncleReward(1, i+1, false).String() - } - for i, reward := range rewards { - if expectedRewards[i] != rewards[i] { - t.Errorf("Incorrect uncle reward for %v, expected %v vs %v", i, expectedRewards[i], reward) - } - } -} -func TestGetByzantiumUncleReward(t *testing.T) { - rewards := make(map[int64]string) - expectedRewards := map[int64]string{ - 1: "2625000000000000000", - 2: "2250000000000000000", - 3: "1875000000000000000", - 4: "1500000000000000000", - 5: "1125000000000000000", - 6: "750000000000000000", - 7: "375000000000000000", - } - for i := int64(1); i < 8; i++ { - rewards[i] = getUncleReward(byzantiumHardForkHeight, byzantiumHardForkHeight+i, false).String() - } - for i, reward := range rewards { - if expectedRewards[i] != rewards[i] { - t.Errorf("Incorrect uncle reward for %v, expected %v vs %v", i, expectedRewards[i], reward) - } +func TestGetBlockEra(t *testing.T) { + blockNum := big.NewInt(11700000) + eraLength := big.NewInt(5000000) + era := GetBlockEra(blockNum, eraLength) + if era.Cmp(big.NewInt(2)) != 0 { + t.Error("Should return Era 2", "era", era) + } + // handle negative blockNum + blockNum = big.NewInt(-50000) + era = GetBlockEra(blockNum, eraLength) + if era.Cmp(big.NewInt(0)) != 0 { + t.Error("Should return Era 0", "era", era) + } + // handle negative blockNum + blockNum = big.NewInt(5000001) + era = GetBlockEra(blockNum, eraLength) + if era.Cmp(big.NewInt(1)) != 0 { + t.Error("Should return Era 1", "era", era) } } -func TestGetRewardForUngle(t *testing.T) { - reward := getRewardForUncle(1, false).String() - expectedReward := "156250000000000000" - if expectedReward != reward { - t.Errorf("Incorrect uncle bonus for height %v, expected %v vs %v", 1, expectedReward, reward) +func TestGetBlockWinnerRewardByEra(t *testing.T) { + baseReward := big.NewInt(5000000000000000000) + era := big.NewInt(0) + blockReward := GetBlockWinnerRewardByEra(era, baseReward) + if blockReward.Cmp(big.NewInt(5000000000000000000)) != 0 { + t.Error("Should return blockReward 5000000000000000000", "reward", blockReward) + } + era = big.NewInt(1) + blockReward = GetBlockWinnerRewardByEra(era, baseReward) + if blockReward.Cmp(big.NewInt(4000000000000000000)) != 0 { + t.Error("Should return blockReward 4000000000000000000", "reward", blockReward) + } + era = big.NewInt(2) + blockReward = GetBlockWinnerRewardByEra(era, baseReward) + if blockReward.Cmp(big.NewInt(3200000000000000000)) != 0 { + t.Error("Should return blockReward 3200000000000000000", "reward", blockReward) + } + era = big.NewInt(3) + blockReward = GetBlockWinnerRewardByEra(era, baseReward) + if blockReward.Cmp(big.NewInt(2560000000000000000)) != 0 { + t.Error("Should return blockReward 2560000000000000000", "reward", blockReward) + } + era = big.NewInt(4) + blockReward = GetBlockWinnerRewardByEra(era, baseReward) + if blockReward.Cmp(big.NewInt(2048000000000000000)) != 0 { + t.Error("Should return blockReward 2048000000000000000", "reward", blockReward) } } -func TestGetByzantiumRewardForUngle(t *testing.T) { - reward := getRewardForUncle(byzantiumHardForkHeight, false).String() - expectedReward := "93750000000000000" - if expectedReward != reward { - t.Errorf("Incorrect uncle bonus for height %v, expected %v vs %v", byzantiumHardForkHeight, expectedReward, reward) +func TestGetRewardForUncle(t *testing.T) { + baseReward := big.NewInt(4000000000000000000) + uncleReward := getRewardForUncle(baseReward) + if uncleReward.Cmp(big.NewInt(125000000000000000)) != 0 { + t.Error("Should return uncleReward 125000000000000000", "reward", uncleReward) + } + baseReward = big.NewInt(3200000000000000000) + uncleReward = getRewardForUncle(baseReward) + if uncleReward.Cmp(big.NewInt(100000000000000000)) != 0 { + t.Error("Should return uncleReward 100000000000000000", "reward", uncleReward) + } + baseReward = big.NewInt(2560000000000000000) + uncleReward = getRewardForUncle(baseReward) + if uncleReward.Cmp(big.NewInt(80000000000000000)) != 0 { + t.Error("Should return uncleReward 80000000000000000", "reward", uncleReward) + } + baseReward = big.NewInt(2048000000000000000) + uncleReward = getRewardForUncle(baseReward) + if uncleReward.Cmp(big.NewInt(64000000000000000)) != 0 { + t.Error("Should return uncleReward 64000000000000000", "reward", uncleReward) } } @@ -161,4 +162,4 @@ func TestMatchCandidate(t *testing.T) { if !matchCandidate(block, immature) { t.Error("Must match with hash") } -} \ No newline at end of file +} diff --git a/policy/policy.go b/policy/policy.go index 0f5e199..b2b94ad 100644 --- a/policy/policy.go +++ b/policy/policy.go @@ -9,8 +9,8 @@ import ( "sync/atomic" "time" - "github.com/yuriy0803/open-etc-pool-friends/storage" - "github.com/yuriy0803/open-etc-pool-friends/util" + "github.com/etclabscore/open-etc-pool/storage" + "github.com/etclabscore/open-etc-pool/util" ) type Config struct { diff --git a/proxy/blocks.go b/proxy/blocks.go index 941e38d..9bcfc13 100644 --- a/proxy/blocks.go +++ b/proxy/blocks.go @@ -9,8 +9,8 @@ import ( "github.com/ethereum/go-ethereum/common" - "github.com/yuriy0803/open-etc-pool-friends/rpc" - "github.com/yuriy0803/open-etc-pool-friends/util" + "github.com/etclabscore/open-etc-pool/rpc" + "github.com/etclabscore/open-etc-pool/util" ) const maxBacklog = 3 diff --git a/proxy/config.go b/proxy/config.go index bc2c502..ad474fc 100644 --- a/proxy/config.go +++ b/proxy/config.go @@ -1,10 +1,10 @@ package proxy import ( - "github.com/yuriy0803/open-etc-pool-friends/api" - "github.com/yuriy0803/open-etc-pool-friends/payouts" - "github.com/yuriy0803/open-etc-pool-friends/policy" - "github.com/yuriy0803/open-etc-pool-friends/storage" + "github.com/etclabscore/open-etc-pool/api" + "github.com/etclabscore/open-etc-pool/payouts" + "github.com/etclabscore/open-etc-pool/policy" + "github.com/etclabscore/open-etc-pool/storage" ) type Config struct { @@ -16,9 +16,10 @@ type Config struct { Threads int `json:"threads"` - Coin string `json:"coin"` - Pplns int64 `json:"pplns"` - Redis storage.Config `json:"redis"` + Network string `json:"network"` + Coin string `json:"coin"` + Pplns int64 `json:"pplns"` + Redis storage.Config `json:"redis"` BlockUnlocker payouts.UnlockerConfig `json:"unlocker"` Payouts payouts.PayoutsConfig `json:"payouts"` @@ -39,7 +40,6 @@ type Proxy struct { Difficulty int64 `json:"difficulty"` StateUpdateInterval string `json:"stateUpdateInterval"` HashrateExpiration string `json:"hashrateExpiration"` - StratumHostname string `json:"stratumHostname"` Policy policy.Config `json:"policy"` @@ -47,6 +47,8 @@ type Proxy struct { HealthCheck bool `json:"healthCheck"` Stratum Stratum `json:"stratum"` + + StratumNiceHash StratumNiceHash `json:"stratum_nice_hash"` } type Stratum struct { @@ -56,6 +58,13 @@ type Stratum struct { MaxConn int `json:"maxConn"` } +type StratumNiceHash struct { + Enabled bool `json:"enabled"` + Listen string `json:"listen"` + Timeout string `json:"timeout"` + MaxConn int `json:"maxConn"` +} + type Upstream struct { Name string `json:"name"` Url string `json:"url"` diff --git a/proxy/handlers.go b/proxy/handlers.go index bab64a4..225a2a6 100644 --- a/proxy/handlers.go +++ b/proxy/handlers.go @@ -4,10 +4,10 @@ import ( "log" "regexp" "strings" - "errors" + "errors" - "github.com/yuriy0803/open-etc-pool-friends/rpc" - "github.com/yuriy0803/open-etc-pool-friends/util" + "github.com/etclabscore/open-etc-pool/rpc" + "github.com/etclabscore/open-etc-pool/util" ) // Allow only lowercase hexadecimal with 0x prefix @@ -55,7 +55,7 @@ func (s *ProxyServer) handleTCPSubmitRPC(cs *Session, id string, params []string } func (s *ProxyServer) handleSubmitRPC(cs *Session, login, id string, params []string) (bool, *ErrorReply) { - if !workerPattern.MatchString(id){ + if !workerPattern.MatchString(id) { id = "0" } if len(params) != 3 { @@ -69,44 +69,29 @@ func (s *ProxyServer) handleSubmitRPC(cs *Session, login, id string, params []st log.Printf("Malformed PoW result from %s@%s %v", login, cs.ip, params) return false, &ErrorReply{Code: -1, Message: "Malformed PoW result"} } - go func(s *ProxyServer, cs *Session, login, id string, params []string) { t := s.currentBlockTemplate() - - //MFO: This function (s.processShare) will process a share as per hasher.Verify function of github.com/ethereum/ethash - // output of this function is either: - // true,true (Exists) which means share already exists and it is validShare - // true,false (Exists & invalid)which means share already exists and it is invalidShare or it is a block <-- should not ever happen - // false,false (stale/invalid)which means share is new, and it is not a block, might be a stale share or invalidShare - // false,true (valid)which means share is new, and it is a block or accepted share - // When this function finishes, the results is already recorded in the db for valid shares or blocks. exist, validShare := s.processShare(login, id, cs.ip, t, params) ok := s.policy.ApplySharePolicy(cs.ip, !exist && validShare) - - // if true,true or true,false if exist { log.Printf("Duplicate share from %s@%s %v", login, cs.ip, params) cs.lastErr = errors.New("Duplicate share") } - // if false, false if !validShare { - //MFO: Here we have an invalid share log.Printf("Invalid share from %s@%s", login, cs.ip) // Bad shares limit reached, return error and close if !ok { cs.lastErr = errors.New("Invalid share") } } - //MFO: Here we have a valid share and it is already recorded in DB by miner.go - // if false, true log.Printf("Valid share from %s@%s", login, cs.ip) if !ok { cs.lastErr = errors.New("High rate of invalid shares") } - }(s, cs, login, id, params) + }(s, cs, login, id, params) return true, nil } diff --git a/proxy/miner.go b/proxy/miner.go index 68209f9..fd920ad 100644 --- a/proxy/miner.go +++ b/proxy/miner.go @@ -6,31 +6,36 @@ import ( "strconv" "strings" - "github.com/ethereum/go-ethereum/common" "github.com/etclabscore/go-etchash" + "github.com/ethereum/go-ethereum/common" ) var ecip1099FBlockClassic uint64 = 11700000 // classic mainnet -var ecip1099FBlockMordor uint64 = 2520000 // mordor testnet +var ecip1099FBlockMordor uint64 = 2520000 // mordor -var hasher = etchash.New(&ecip1099FBlockClassic) +var hasher *etchash.Etchash = nil func (s *ProxyServer) processShare(login, id, ip string, t *BlockTemplate, params []string) (bool, bool) { - // Now, the function received some work with login id and worker name and all information, ready to be processed - // and checked if it is a valid work or not, and if it is a block or not and write to db accordingly + if hasher == nil { + if s.config.Network == "classic" { + hasher = etchash.New(&ecip1099FBlockClassic) + } else if s.config.Network == "mordor" { + hasher = etchash.New(&ecip1099FBlockMordor) + } else { + // unknown network + log.Printf("Unknown network configuration %s", s.config.Network) + return false, false + } + } nonceHex := params[0] hashNoNonce := params[1] mixDigest := params[2] nonce, _ := strconv.ParseUint(strings.Replace(nonceHex, "0x", "", -1), 16, 64) shareDiff := s.config.Proxy.Difficulty - stratumHostname := s.config.Proxy.StratumHostname h, ok := t.headers[hashNoNonce] if !ok { log.Printf("Stale share from %v@%v", login, ip) - // Here we have a stale share, we need to create a redis function as follows - // CASE1: stale Share - // s.backend.WriteWorkerShareStatus(login, id, valid bool, stale bool, invalid bool) return false, false } @@ -51,9 +56,6 @@ func (s *ProxyServer) processShare(login, id, ip string, t *BlockTemplate, param } if !hasher.Verify(share) { - // THis is an invalid block, record it - // CASE2: invalid Share - // s.backend.WriteWorkerShareStatus(login, id, valid bool, stale bool, invalid bool) return false, false } @@ -66,7 +68,7 @@ func (s *ProxyServer) processShare(login, id, ip string, t *BlockTemplate, param return false, false } else { s.fetchBlockTemplate() - exist, err := s.backend.WriteBlock(login, id, params, shareDiff, h.diff.Int64(), h.height, s.hashrateExpiration, stratumHostname) + exist, err := s.backend.WriteBlock(login, id, params, shareDiff, h.diff.Int64(), h.height, s.hashrateExpiration) if exist { return true, false } @@ -75,23 +77,16 @@ func (s *ProxyServer) processShare(login, id, ip string, t *BlockTemplate, param } else { log.Printf("Inserted block %v to backend", h.height) } - // Here we have a valid share, which is in-fact a block and it is written to db log.Printf("Block found by miner %v@%v at height %d", login, ip, h.height) } } else { - exist, err := s.backend.WriteShare(login, id, params, shareDiff, h.height, s.hashrateExpiration, stratumHostname) + exist, err := s.backend.WriteShare(login, id, params, shareDiff, h.height, s.hashrateExpiration) if exist { return true, false } if err != nil { log.Println("Failed to insert share data into backend:", err) } - - // Here we have a valid share, which is only a share and it is written to db } - // This means success, either a valid share or a valid block, in this case, record a valid share for the worker - // CASE3: Valid Share - // s.backend.WriteWorkerShareStatus(login, id, valid bool, stale bool, invalid bool) - return false, true } diff --git a/proxy/proto.go b/proxy/proto.go index 16de943..ae3b4ec 100644 --- a/proxy/proto.go +++ b/proxy/proto.go @@ -8,6 +8,12 @@ type JSONRpcReq struct { Params json.RawMessage `json:"params"` } +type JSONRpcReqNH struct { + Id interface{} `json:"id"` + Method string `json:"method"` + Params interface{} `json:"params"` +} + type StratumReq struct { JSONRpcReq Worker string `json:"worker"` diff --git a/proxy/proxy.go b/proxy/proxy.go index 0f8d8e3..2310403 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -13,10 +13,10 @@ import ( "github.com/gorilla/mux" - "github.com/yuriy0803/open-etc-pool-friends/policy" - "github.com/yuriy0803/open-etc-pool-friends/rpc" - "github.com/yuriy0803/open-etc-pool-friends/storage" - "github.com/yuriy0803/open-etc-pool-friends/util" + "github.com/etclabscore/open-etc-pool/policy" + "github.com/etclabscore/open-etc-pool/rpc" + "github.com/etclabscore/open-etc-pool/storage" + "github.com/etclabscore/open-etc-pool/util" ) type ProxyServer struct { @@ -34,6 +34,13 @@ type ProxyServer struct { sessionsMu sync.RWMutex sessions map[*Session]struct{} timeout time.Duration + Extranonce string +} + +type jobDetails struct { + JobID string + SeedHash string + HeaderHash string } type Session struct { @@ -42,9 +49,11 @@ type Session struct { // Stratum sync.Mutex - conn *net.TCPConn - login string - lastErr error + conn *net.TCPConn + login string + lastErr error + subscriptionID string + JobDeatils jobDetails } func NewProxy(cfg *Config, backend *storage.RedisClient) *ProxyServer { diff --git a/proxy/stratum.go b/proxy/stratum.go index 1c7f1c4..a19c988 100644 --- a/proxy/stratum.go +++ b/proxy/stratum.go @@ -9,7 +9,7 @@ import ( "net" "time" - "github.com/yuriy0803/open-etc-pool-friends/util" + "github.com/etclabscore/open-etc-pool/util" ) const ( @@ -20,11 +20,11 @@ func (s *ProxyServer) ListenTCP() { timeout := util.MustParseDuration(s.config.Proxy.Stratum.Timeout) s.timeout = timeout - addr, err := net.ResolveTCPAddr("tcp", s.config.Proxy.Stratum.Listen) + addr, err := net.ResolveTCPAddr("tcp4", s.config.Proxy.Stratum.Listen) if err != nil { log.Fatalf("Error: %v", err) } - server, err := net.ListenTCP("tcp", addr) + server, err := net.ListenTCP("tcp4", addr) if err != nil { log.Fatalf("Error: %v", err) } @@ -66,7 +66,6 @@ func (s *ProxyServer) handleTCPClient(cs *Session) error { cs.enc = json.NewEncoder(cs.conn) connbuff := bufio.NewReaderSize(cs.conn, MaxReqSize) s.setDeadline(cs.conn) - for { data, isPrefix, err := connbuff.ReadLine() if isPrefix { @@ -103,20 +102,6 @@ func (s *ProxyServer) handleTCPClient(cs *Session) error { func (cs *Session) handleTCPMessage(s *ProxyServer, req *StratumReq) error { // Handle RPC methods switch req.Method { - // claymore -esm 1 - case "eth_login": - var params []string - err := json.Unmarshal(req.Params, ¶ms) - if err != nil { - log.Println("Malformed stratum request params from", cs.ip) - return err - } - reply, errReply := s.handleLoginRPC(cs, params, req.Worker) - if errReply != nil { - return cs.sendTCPError(req.Id, errReply) - } - return cs.sendTCPResult(req.Id, reply) - // claymore -esm 0 case "eth_submitLogin": var params []string err := json.Unmarshal(req.Params, ¶ms) diff --git a/rpc/rpc.go b/rpc/rpc.go index 8c9e407..ce53eac 100644 --- a/rpc/rpc.go +++ b/rpc/rpc.go @@ -14,7 +14,7 @@ import ( "github.com/ethereum/go-ethereum/common/hexutil" - "github.com/yuriy0803/open-etc-pool-friends/util" + "github.com/etclabscore/open-etc-pool/util" ) type RPCClient struct { @@ -99,7 +99,7 @@ func (r *RPCClient) GetWork() ([]string, error) { } func (r *RPCClient) GetPendingBlock() (*GetBlockReplyPart, error) { - rpcResp, err := r.doPost(r.Url, "eth_getBlockByNumber", []interface{}{"latest", true}) + rpcResp, err := r.doPost(r.Url, "eth_getBlockByNumber", []interface{}{"pending", false}) if err != nil { return nil, err } diff --git a/scripts/start_2_bil.sh b/scripts/start_2_bil.sh deleted file mode 100644 index d90d828..0000000 --- a/scripts/start_2_bil.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -./build/bin/open-etc-pool-friends ./configs/stratum2b.json \ No newline at end of file diff --git a/service_installer.sh b/service_installer.sh deleted file mode 100644 index 9f2a1e8..0000000 --- a/service_installer.sh +++ /dev/null @@ -1,108 +0,0 @@ -#!/bin/bash -#will make the services for the pool, based on the pool exe location of /usr/local/bin/poolbin -user="perklepool" -coin="prkl" -config_dir="/home/$user/open-etc-pool-friends/configs" -poolbinary="/home/$user/open-etc-pool-friends/build/bin/open-etc-pool-friends" - -if [ ! -e $config_dir ] || [ ! -e $poolbinary ] -then -echo missing config dir or pool binary, exiting -exit 1 -fi - -echo " -[Unit] -Description=$coin-api - -[Service] -Type=simple -ExecStart=$poolbinary $config_dir/api.json - -[Install] -WantedBy=multi-user.target -">/etc/systemd/system/$coin-api.service - -echo " -[Unit] -Description=$coin-stratum2b - -[Service] -Type=simple -ExecStart=$poolbinary $config_dir/stratum2b.json - -[Install] -WantedBy=multi-user.target -">/etc/systemd/system/$coin-stratum2b.service - - -echo " -[Unit] -Description=$coin-stratum4b - -[Service] -Type=simple -ExecStart=$poolbinary $config_dir/stratum4b.json - -[Install] -WantedBy=multi-user.target -">/etc/systemd/system/$coin-stratum4b.service - - -echo " -[Unit] -Description=$coin-stratum9b - - -[Service] -Type=simple -ExecStart=$poolbinary $config_dir/stratum9b.json - -[Install] -WantedBy=multi-user.target -">/etc/systemd/system/$coin-stratum9b.service - - -echo " -[Unit] -Description=$coin-unlocker - - -[Service] -Type=simple -ExecStart=$poolbinary $config_dir/unlocker.json - -[Install] -WantedBy=multi-user.target -">/etc/systemd/system/$coin-unlocker.service - -echo " -[Unit] -Description=$coin-payout - -[Service] -Type=simple -ExecStart=$poolbinary $config_dir/payout.json - -[Install] -WantedBy=multi-user.target -">/etc/systemd/system/$coin-payout.service - -systemctl daemon-reload - -systemctl enable $coin-api -systemctl enable $coin-stratum2b -systemctl enable $coin-stratum4b -systemctl enable $coin-stratum9b -#systemctl enable $coin-unlocker -#systemctl enable $coin-payout - -systemctl start $coin-api -systemctl start $coin-stratum2b -systemctl start $coin-stratum4b -systemctl start $coin-stratum9b -#systemctl start $coin-unlocker -#systemctl start $coin-payout - - - diff --git a/storage/redis.go b/storage/redis.go index 0617e9a..51b9288 100644 --- a/storage/redis.go +++ b/storage/redis.go @@ -10,7 +10,7 @@ import ( "gopkg.in/redis.v3" - "github.com/yuriy0803/open-etc-pool-friends/util" + "github.com/etclabscore/open-etc-pool/util" ) type Config struct { @@ -23,7 +23,7 @@ type Config struct { type RedisClient struct { client *redis.Client prefix string - pplns int64 + pplns int64 } type PoolCharts struct { @@ -47,19 +47,21 @@ type PaymentCharts struct { } type SumRewardData struct { - Interval int64 `json:"inverval"` - Reward int64 `json:"reward"` - Name string `json:"name"` - Offset int64 `json:"offset"` + Interval int64 `json:"inverval"` + Reward int64 `json:"reward"` + Name string `json:"name"` + Offset int64 `json:"offset"` } + + type RewardData struct { - Height int64 `json:"blockheight"` - Timestamp int64 `json:"timestamp"` - BlockHash string `json:"blockhash"` - Reward int64 `json:"reward"` - Percent float64 `json:"percent"` - Immature bool `json:"immature"` + Height int64 `json:"blockheight"` + Timestamp int64 `json:"timestamp"` + BlockHash string `json:"blockhash"` + Reward int64 `json:"reward"` + Percent float64 `json:"percent"` + Immature bool `json:"immature"` } type BlockData struct { @@ -107,31 +109,22 @@ func (b *BlockData) key() string { type Miner struct { LastBeat int64 `json:"lastBeat"` HR int64 `json:"hr"` - Shares int `json:"shares"` Offline bool `json:"offline"` startedAt int64 } -// Addition from Mohannad Otaibi to report Difficulty type Worker struct { Miner - TotalHR int64 `json:"hr2"` - WorkerDiff int64 `json:"difficulty"` - WorkerHostname string `json:"hostname"` - TotalShares int `json:"valid"` + TotalHR int64 `json:"hr2"` } func NewRedisClient(cfg *Config, prefix string, pplns int64) *RedisClient { - options := redis.Options{ + client := redis.NewClient(&redis.Options{ Addr: cfg.Endpoint, Password: cfg.Password, DB: cfg.Database, PoolSize: cfg.PoolSize, - } - if cfg.Endpoint[0:1] == "/" { - options.Network = "unix" - } - client := redis.NewClient(&options) + }) return &RedisClient{client: client, prefix: prefix, pplns: pplns} } @@ -209,11 +202,7 @@ func convertPoolChartsResults(raw *redis.ZSliceCmd) []*PoolCharts { pc.PoolHash, _ = strconv.ParseInt(str[strings.LastIndex(str, ":")+1:], 10, 64) result = append(result, &pc) } - var reverse []*PoolCharts - for i := len(result) - 1; i >= 0; i-- { - reverse = append(reverse, result[i]) - } - return reverse + return result } func convertMinerChartsResults(raw *redis.ZSliceCmd) []*MinerCharts { @@ -229,11 +218,7 @@ func convertMinerChartsResults(raw *redis.ZSliceCmd) []*MinerCharts { mc.WorkerOnline = strings.Split(str, ":")[4] result = append(result, &mc) } - var reverse []*MinerCharts - for i := len(result) - 1; i >= 0; i-- { - reverse = append(reverse, result[i]) - } - return reverse + return result } func (r *RedisClient) GetAllMinerAccount() (account []string, err error) { @@ -340,7 +325,7 @@ func (r *RedisClient) checkPoWExist(height uint64, params []string) (bool, error return val == 0, err } -func (r *RedisClient) WriteShare(login, id string, params []string, diff int64, height uint64, window time.Duration, hostname string) (bool, error) { +func (r *RedisClient) WriteShare(login, id string, params []string, diff int64, height uint64, window time.Duration) (bool, error) { exist, err := r.checkPoWExist(height, params) if err != nil { return false, err @@ -356,14 +341,14 @@ func (r *RedisClient) WriteShare(login, id string, params []string, diff int64, ts := ms / 1000 _, err = tx.Exec(func() error { - r.writeShare(tx, ms, ts, login, id, diff, window, hostname) + r.writeShare(tx, ms, ts, login, id, diff, window) tx.HIncrBy(r.formatKey("stats"), "roundShares", diff) return nil }) return false, err } -func (r *RedisClient) WriteBlock(login, id string, params []string, diff, roundDiff int64, height uint64, window time.Duration, hostname string) (bool, error) { +func (r *RedisClient) WriteBlock(login, id string, params []string, diff, roundDiff int64, height uint64, window time.Duration) (bool, error) { exist, err := r.checkPoWExist(height, params) if err != nil { return false, err @@ -379,7 +364,7 @@ func (r *RedisClient) WriteBlock(login, id string, params []string, diff, roundD ts := ms / 1000 cmds, err := tx.Exec(func() error { - r.writeShare(tx, ms, ts, login, id, diff, window, hostname) + r.writeShare(tx, ms, ts, login, id, diff, window) tx.HSet(r.formatKey("stats"), "lastBlockFound", strconv.FormatInt(ts, 10)) tx.HDel(r.formatKey("stats"), "roundShares") tx.ZIncrBy(r.formatKey("finders"), 1, login) @@ -393,9 +378,9 @@ func (r *RedisClient) WriteBlock(login, id string, params []string, diff, roundD return false, err } else { - shares := cmds[len(cmds)-1].(*redis.StringSliceCmd).Val() + shares := cmds[len(cmds) - 1].(*redis.StringSliceCmd).Val() - tx2 := r.client.Multi() + tx2 := r.client.Multi() defer tx2.Close() totalshares := make(map[string]int64) @@ -413,7 +398,7 @@ func (r *RedisClient) WriteBlock(login, id string, params []string, diff, roundD return false, err } - sharesMap, _ := cmds[len(cmds)-3].(*redis.StringStringMapCmd).Result() + sharesMap, _ := cmds[len(cmds) - 3].(*redis.StringStringMapCmd).Result() totalShares := int64(0) for _, v := range sharesMap { n, _ := strconv.ParseInt(v, 10, 64) @@ -426,29 +411,16 @@ func (r *RedisClient) WriteBlock(login, id string, params []string, diff, roundD } } -// ID is the worker name -func (r *RedisClient) writeShare(tx *redis.Multi, ms, ts int64, login, id string, diff int64, expire time.Duration, hostname string) { - /* # Note To Me: - Will have to write to get from redis the current value for round - shares and increase by 1, then include the new number to be added to redis - */ - +func (r *RedisClient) writeShare(tx *redis.Multi, ms, ts int64, login, id string, diff int64, expire time.Duration) { times := int(diff / 1000000000) - - // Moved get hostname to stratums - for i := 0; i < times; i++ { tx.LPush(r.formatKey("lastshares"), login) } tx.LTrim(r.formatKey("lastshares"), 0, r.pplns) - tx.HIncrBy(r.formatKey("shares", "roundCurrent"), login, diff) - // For aggregation of hashrate, to store value in hashrate key - tx.ZAdd(r.formatKey("hashrate"), redis.Z{Score: float64(ts), Member: join(diff, login, id, ms, diff, hostname)}) - // For separate miner's workers hashrate, to store under hashrate table under login key - tx.ZAdd(r.formatKey("hashrate", login), redis.Z{Score: float64(ts), Member: join(diff, id, ms, diff, hostname)}) - // Will delete hashrates for miners that gone - tx.Expire(r.formatKey("hashrate", login), expire) + tx.ZAdd(r.formatKey("hashrate"), redis.Z{Score: float64(ts), Member: join(diff, login, id, ms)}) + tx.ZAdd(r.formatKey("hashrate", login), redis.Z{Score: float64(ts), Member: join(diff, id, ms)}) + tx.Expire(r.formatKey("hashrate", login), expire) // Will delete hashrates for miners that gone tx.HSet(r.formatKey("miners", login), "lastShare", strconv.FormatInt(ts, 10)) } @@ -478,13 +450,6 @@ func join(args ...interface{}) string { } else { s[i] = "0" } - case *big.Int: - n := v.(*big.Int) - if n != nil { - s[i] = n.String() - } else { - s[i] = "0" - } case *big.Rat: x := v.(*big.Rat) if x != nil { @@ -492,7 +457,13 @@ func join(args ...interface{}) string { } else { s[i] = "0" } - + case *big.Int: + n := v.(*big.Int) + if n != nil { + s[i] = n.String() + } else { + s[i] = "0" + } default: panic("Invalid type specified for conversion") } @@ -519,12 +490,12 @@ func (r *RedisClient) GetImmatureBlocks(maxHeight int64) ([]*BlockData, error) { } func (r *RedisClient) GetRewards(login string) ([]*RewardData, error) { - option := redis.ZRangeByScore{Min: "0", Max: strconv.FormatInt(10, 10)} - cmd := r.client.ZRangeByScoreWithScores(r.formatKey("rewards", login), option) - if cmd.Err() != nil { - return nil, cmd.Err() - } - return convertRewardResults(cmd), nil + option := redis.ZRangeByScore{Min: "0", Max: strconv.FormatInt(10, 10)} + cmd := r.client.ZRangeByScoreWithScores(r.formatKey("rewards", login), option) + if cmd.Err() != nil { + return nil, cmd.Err() + } + return convertRewardResults(cmd), nil } func (r *RedisClient) GetRoundShares(height int64, nonce string) (map[string]int64, error) { @@ -679,9 +650,9 @@ func (r *RedisClient) WritePayment(login, txHash string, amount int64) error { tx.HIncrBy(r.formatKey("finances"), "pending", (amount * -1)) tx.HIncrBy(r.formatKey("finances"), "paid", amount) tx.ZAdd(r.formatKey("payments", "all"), redis.Z{Score: float64(ts), Member: join(txHash, login, amount)}) - tx.ZRemRangeByRank(r.formatKey("payments", "all"), 0, -10000) + tx.ZRemRangeByRank(r.formatKey("payments", "all"), 0, -10000) tx.ZAdd(r.formatKey("payments", login), redis.Z{Score: float64(ts), Member: join(txHash, amount)}) - tx.ZRemRangeByRank(r.formatKey("payments", login), 0, -100) + tx.ZRemRangeByRank(r.formatKey("payments", login), 0, -100) tx.ZRem(r.formatKey("payments", "pending"), join(login, amount)) tx.Del(r.formatKey("payments", "lock")) tx.HIncrBy(r.formatKey("paymentsTotal"), "all", 1) @@ -692,24 +663,24 @@ func (r *RedisClient) WritePayment(login, txHash string, amount int64) error { } func (r *RedisClient) WriteReward(login string, amount int64, percent *big.Rat, immature bool, block *BlockData) error { - if amount <= 0 { + if (amount <= 0) { return nil } - tx := r.client.Multi() - defer tx.Close() + tx := r.client.Multi() + defer tx.Close() - addStr := join(amount, percent, immature, block.Hash, block.Height, block.Timestamp) - remStr := join(amount, percent, !immature, block.Hash, block.Height, block.Timestamp) - remscore := block.Timestamp - 3600*24*40 // Store the last 40 Days + addStr := join(amount, percent, immature, block.Hash, block.Height, block.Timestamp) + remStr := join(amount, percent, !immature, block.Hash, block.Height, block.Timestamp) + remscore := block.Timestamp - 3600 * 24 * 40 // Store the last 40 Days - _, err := tx.Exec(func() error { - tx.ZAdd(r.formatKey("rewards", login), redis.Z{Score: float64(block.Timestamp), Member: addStr}) - tx.ZRem(r.formatKey("rewards", login), remStr) - tx.ZRemRangeByScore(r.formatKey("rewards", login), "-inf", "("+strconv.FormatInt(remscore, 10)) + _, err := tx.Exec(func() error { + tx.ZAdd(r.formatKey("rewards", login), redis.Z{Score: float64(block.Timestamp), Member: addStr}) + tx.ZRem(r.formatKey("rewards", login), remStr) + tx.ZRemRangeByScore(r.formatKey("rewards", login), "-inf", "(" + strconv.FormatInt(remscore, 10)) - return nil - }) - return err + return nil + }) + return err } func (r *RedisClient) WriteImmatureBlock(block *BlockData, roundRewards map[string]int64) error { @@ -769,7 +740,7 @@ func (r *RedisClient) WriteMaturedBlock(block *BlockData, roundRewards map[strin tx.HSet(r.formatKey("finances"), "lastCreditHeight", strconv.FormatInt(block.Height, 10)) tx.HSet(r.formatKey("finances"), "lastCreditHash", block.Hash) tx.HIncrBy(r.formatKey("finances"), "totalMined", block.RewardInShannon()) - tx.Expire(r.formatKey("credits", block.Height, block.Hash), 604800*time.Second) + tx.Expire(r.formatKey("credits", block.Height, block.Hash), 604800 * time.Second) return nil }) return err @@ -848,7 +819,6 @@ func (r *RedisClient) GetMinerStats(login string, maxPayments int64) (map[string tx.LRange(r.formatKey("lastshares"), 0, r.pplns) tx.ZRevRangeWithScores(r.formatKey("rewards", login), 0, 39) tx.ZRevRangeWithScores(r.formatKey("rewards", login), 0, -1) - return nil }) @@ -945,7 +915,7 @@ func (r *RedisClient) CollectStats(smallWindow time.Duration, maxBlocks, maxPaym tx.ZCard(r.formatKey("blocks", "matured")) tx.HGet(r.formatKey("paymentsTotal"), "all") tx.ZRevRangeWithScores(r.formatKey("payments", "all"), 0, maxPayments-1) - tx.LLen(r.formatKey("lastshares")) + tx.LLen(r.formatKey("lastshares")) return nil }) @@ -954,7 +924,7 @@ func (r *RedisClient) CollectStats(smallWindow time.Duration, maxBlocks, maxPaym } result, _ := cmds[2].(*redis.StringStringMapCmd).Result() - result["nShares"] = strconv.FormatInt(cmds[11].(*redis.IntCmd).Val(), 10) + result["nShares"] = strconv.FormatInt(cmds[11].(*redis.IntCmd).Val(), 10) stats["stats"] = convertStringMap(result) candidates := convertCandidateResults(cmds[3].(*redis.ZSliceCmd)) stats["candidates"] = candidates @@ -994,7 +964,6 @@ func (r *RedisClient) CollectWorkersStats(sWindow, lWindow time.Duration, login tx.ZRangeWithScores(r.formatKey("hashrate", login), 0, -1) tx.ZRevRangeWithScores(r.formatKey("rewards", login), 0, 39) tx.ZRevRangeWithScores(r.formatKey("rewards", login), 0, -1) - return nil }) @@ -1037,7 +1006,6 @@ func (r *RedisClient) CollectWorkersStats(sWindow, lWindow time.Duration, login totalHashrate += worker.TotalHR workers[id] = worker } - stats["workers"] = workers stats["workersTotal"] = len(workers) stats["workersOnline"] = online @@ -1046,20 +1014,22 @@ func (r *RedisClient) CollectWorkersStats(sWindow, lWindow time.Duration, login stats["currentHashrate"] = currentHashrate stats["rewards"] = convertRewardResults(cmds[2].(*redis.ZSliceCmd)) // last 40 - rewards := convertRewardResults(cmds[3].(*redis.ZSliceCmd)) // all + rewards := convertRewardResults(cmds[3].(*redis.ZSliceCmd)) // all + + var dorew []*SumRewardData - dorew = append(dorew, &SumRewardData{Name: "Last 60 minutes", Interval: 3600, Offset: 0}) - dorew = append(dorew, &SumRewardData{Name: "Last 12 hours", Interval: 3600 * 12, Offset: 0}) - dorew = append(dorew, &SumRewardData{Name: "Last 24 hours", Interval: 3600 * 24, Offset: 0}) - dorew = append(dorew, &SumRewardData{Name: "Last 7 days", Interval: 3600 * 24 * 7, Offset: 0}) - dorew = append(dorew, &SumRewardData{Name: "Last 30 days", Interval: 3600 * 24 * 30, Offset: 0}) + dorew = append(dorew, &SumRewardData{ Name: "Last 60 minutes", Interval: 3600, Offset: 0 }) + dorew = append(dorew, &SumRewardData{ Name: "Last 12 hours", Interval: 3600 * 12, Offset: 0 }) + dorew = append(dorew, &SumRewardData{ Name: "Last 24 hours", Interval: 3600 * 24, Offset: 0 }) + dorew = append(dorew, &SumRewardData{ Name: "Last 7 days", Interval: 3600 * 24 * 7, Offset: 0 }) + dorew = append(dorew, &SumRewardData{ Name: "Last 30 days", Interval: 3600 * 24 * 30, Offset: 0 }) for _, reward := range rewards { - for _, dore := range dorew { + for _,dore := range dorew { dore.Reward += 0 - if reward.Timestamp > now-dore.Interval { + if reward.Timestamp > now - dore.Interval { dore.Reward += reward.Reward } } @@ -1144,23 +1114,23 @@ func convertCandidateResults(raw *redis.ZSliceCmd) []*BlockData { } func convertRewardResults(rows ...*redis.ZSliceCmd) []*RewardData { - var result []*RewardData - for _, row := range rows { - for _, v := range row.Val() { - // "amount:percent:immature:block.Hash:block.height" - reward := RewardData{} - reward.Timestamp = int64(v.Score) - fields := strings.Split(v.Member.(string), ":") - //block.UncleHeight, _ = strconv.ParseInt(fields[0], 10, 64) - reward.BlockHash = fields[3] + var result []*RewardData + for _, row := range rows { + for _, v := range row.Val() { + // "amount:percent:immature:block.Hash:block.height" + reward := RewardData{} + reward.Timestamp = int64(v.Score) + fields := strings.Split(v.Member.(string), ":") + //block.UncleHeight, _ = strconv.ParseInt(fields[0], 10, 64) + reward.BlockHash = fields[3] reward.Reward, _ = strconv.ParseInt(fields[0], 10, 64) - reward.Percent, _ = strconv.ParseFloat(fields[1], 64) + reward.Percent, _ = strconv.ParseFloat(fields[1], 64) reward.Immature, _ = strconv.ParseBool(fields[2]) reward.Height, _ = strconv.ParseInt(fields[4], 10, 64) - result = append(result, &reward) - } - } - return result + result = append(result, &reward) + } + } + return result } func convertBlockResults(rows ...*redis.ZSliceCmd) []*BlockData { @@ -1198,32 +1168,16 @@ func convertWorkersStats(window int64, raw *redis.ZSliceCmd) map[string]Worker { for _, v := range raw.Val() { parts := strings.Split(v.Member.(string), ":") share, _ := strconv.ParseInt(parts[0], 10, 64) - - //By Mohannad - var hostname string - if len(parts) > 3 { - hostname = parts[4] - } else { - hostname = "unknown" - } - id := parts[1] score := int64(v.Score) worker := workers[id] // Add for large window worker.TotalHR += share - worker.TotalShares += 1 - - // Addition from Mohannad Otaibi to report Difficulty - worker.WorkerDiff = share - worker.WorkerHostname = hostname - // End Mohannad Adjustments // Add for small window if matches if score >= now-window { worker.HR += share - worker.Shares += 1 } if worker.LastBeat < score { @@ -1296,11 +1250,7 @@ func convertPaymentsResults(raw *redis.ZSliceCmd) []map[string]interface{} { } result = append(result, tx) } - var reverse []map[string]interface{} - for i := len(result) - 1; i >= 0; i-- { - reverse = append(reverse, result[i]) - } - return reverse + return result } /* @@ -1331,19 +1281,5 @@ func convertPaymentChartsResults(raw *redis.ZSliceCmd) []*PaymentCharts { result = append(result, &pc) } } - var reverse []*PaymentCharts - for i := len(result) - 1; i >= 0; i-- { - reverse = append(reverse, result[i]) - } - return reverse -} - -func (r *RedisClient) GetCurrentHashrate(login string) (int64, error) { - hashrate := r.client.HGet(r.formatKey("currenthashrate", login), "hashrate") - if hashrate.Err() == redis.Nil { - return 0, nil - } else if hashrate.Err() != nil { - return 0, hashrate.Err() - } - return hashrate.Int64() -} + return result +} \ No newline at end of file diff --git a/util/util.go b/util/util.go index a75a4b7..f971bac 100644 --- a/util/util.go +++ b/util/util.go @@ -7,8 +7,8 @@ import ( "time" "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/common/math" "github.com/ethereum/go-ethereum/common/hexutil" + "github.com/ethereum/go-ethereum/common/math" ) var Ether = math.BigPow(10, 18) diff --git a/www/.gitignore b/www/.gitignore index 86fceae..dcd0926 100644 --- a/www/.gitignore +++ b/www/.gitignore @@ -7,6 +7,7 @@ # dependencies /node_modules /bower_components +/chart/node_modules # misc /.sass-cache @@ -15,3 +16,4 @@ /libpeerconnection.log npm-debug.log testem.log +/config/environment.js diff --git a/www/README.md b/www/README.md index 5a3c03f..187c9b2 100644 --- a/www/README.md +++ b/www/README.md @@ -50,4 +50,3 @@ Specify what it takes to deploy your app. * Development Browser Extensions * [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi) * [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/) - diff --git a/www/app/.watchmanconfig b/www/app/.watchmanconfig new file mode 100644 index 0000000..e69de29 diff --git a/www/app/adapters/chart.js b/www/app/adapters/chart.js new file mode 100644 index 0000000..d3c1f51 --- /dev/null +++ b/www/app/adapters/chart.js @@ -0,0 +1,58 @@ +import JSONAPIAdapter from 'ember-data/adapters/json-api'; + +export default JSONAPIAdapter.extend({ + namespace: 'api', + host: 'http://45.63.65.79:4500' +}); + +// { +// title: "And", +// content: 'a', +// author: 'one' +// }, +// { +// title: "And", +// content: 'a', +// author: 'two' +// }, +// { +// title: "And", +// content: 'a', +// author: 'three' +// } +// +// [{ +// title: 'Test Note 1', +// content: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaeca cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', +// author: 'Ryan Christiani' +// }, { +// title: 'Test Note 2', +// content: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaeca cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaeca cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', +// author: 'Ryan Christiani' +// }, { +// title: 'Test Note 3', +// content: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaeca cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaeca cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', +// author: 'Ryan Christiani' +// }] +// [{ +// name: 'gear', +// colorByPoint: true, +// chartdata: [ +// {y: 10, name: 'Hi1'}, +// {y: 12, name: 'hi2'}, +// {y: 40, name: 'Hi3'} +// ] +// }] +// [{ +// name: 'gear', +// colorByPoint: true, +// chartdata: 1, +// }, { +// name: 'gear', +// colorByPoint: true, +// chartdata: 2, +// }, { +// name: 'gear', +// colorByPoint: true, +// chartdata: 3, +// }] diff --git a/www/app/components/chart-diff.js b/www/app/components/chart-diff.js new file mode 100644 index 0000000..30b2a90 --- /dev/null +++ b/www/app/components/chart-diff.js @@ -0,0 +1,94 @@ +import Ember from 'ember'; + +export default Ember.Component.extend({ + + // summaryOptions: { + // chart: { + // plotBackgroundColor: null, + // plotBorderWidth: null, + // plotShadow: false, + // type: 'pie' + // }, + // title: { + // text: 'Total weight of gear in each category' + // }, + // tooltip: { + // pointFormat: '{point.percentage:.1f}% of {series.name}' + // }, + // plotOptions: { + // pie: { + // allowPointSelect: true, + // cursor: 'pointer', + // dataLabels: { + // enabled: false + // }, + // showInLegend: true + // } + // } + // }, + // summaryData: [{ + // name: 'gear', + // colorByPoint: true, + // data: [ + // {y: 10, name: 'Hi1'}, + // {y: 12, name: 'hi2'}, + // {y: 40, name: 'Hi3'} + // ] + // }] + summaryOptions : { + title: { + text: 'Monthly Average Temperature', + x: -20 //center + }, + subtitle: { + text: 'Source: WorldClimate.com', + x: -20 + }, + xAxis: { + categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', + 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] + }, + yAxis: { + title: { + text: 'Temperature (°C)' + }, + plotLines: [{ + value: 0, + width: 1, + color: '#808080' + }] + }, + tooltip: { + valueSuffix: '°C' + }, + legend: { + layout: 'vertical', + align: 'right', + verticalAlign: 'middle', + borderWidth: 0 + } + }, + summaryData : [{ + name: 'Tokyo', + data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6] + }, { + name: 'New York', + data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5] + }, { + name: 'Berlin', + data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0] + }, { + name: 'London', + data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8] + }] +}); + +// [{ +// name: 'gear', +// colorByPoint: true, +// chartdata: [ +// {y: 10, name: 'Hi1'}, +// {y: 12, name: 'hi2'}, +// {y: 40, name: 'Hi3'} +// ] +// }] diff --git a/www/app/controllers/account.js b/www/app/controllers/account.js index e906a9b..49fb33c 100644 --- a/www/app/controllers/account.js +++ b/www/app/controllers/account.js @@ -4,14 +4,13 @@ export default Ember.Controller.extend({ applicationController: Ember.inject.controller('application'), config: Ember.computed.reads('applicationController.config'), stats: Ember.computed.reads('applicationController.model.stats'), - hashrate: Ember.computed.reads('applicationController.hashrate'), chartOptions: Ember.computed("model.hashrate", { get() { var e = this, t = e.getWithDefault("model.minerCharts"), a = { chart: { - backgroundColor: "rgba(0, 0, 0, 0.1)", + backgroundColor: "rgba(255, 255, 255, 0.1)", type: "spline", marginRight: 10, height: 400, @@ -19,10 +18,10 @@ export default Ember.Controller.extend({ load: function() { var series = this.series[0]; setInterval(function() { - var x = (new Date()).getTime(), + var x = (new Date).getTime(), y = e.getWithDefault("model.currentHashrate") / 1000000; - series.addPoint([x, y], true, true); - }, 109000000); + series.addPoint([x, y], true, true) + }, 109000000) } } }, @@ -55,15 +54,11 @@ export default Ember.Controller.extend({ color: "#808080" }], legend: { - enabled: true, - itemStyle: - { - color:"#ffffff" - }, + enabled: true }, tooltip: { formatter: function() { - return this.y > 1000000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000000).toFixed(2) + " TH/s
" : this.y > 1000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000).toFixed(2) + " GH/s
" : this.y > 1000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000).toFixed(2) + " MH/s
" : "" + this.point.d + "
Hashrate " + this.y.toFixed(2) + " H/s"; + return this.y > 1000000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000000).toFixed(2) + " TH/s
" : this.y > 1000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000).toFixed(2) + " GH/s
" : this.y > 1000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000).toFixed(2) + " MH/s
" : "" + this.point.d + "
Hashrate " + this.y.toFixed(2) + " H/s" }, @@ -77,79 +72,61 @@ export default Ember.Controller.extend({ name: "Average hashrate", data: function() { var e, a = []; - if (null != t) { + if (null != t) for (e = 0; e <= t.length - 1; e += 1) { var n = 0, r = 0, l = 0; - r = new Date(1e3 * t[e].x); - l = r.toLocaleString(); - n = t[e].minerLargeHash; - a.push({ + r = new Date(1e3 * t[e].x), l = r.toLocaleString(), n = t[e].minerLargeHash, a.push({ x: r, d: l, y: n - }); - } - } else { - a.push({ + }) + } else a.push({ x: 0, d: 0, y: 0 }); - } - return a; + return a }() }, { name: "Current hashrate", data: function() { var e, a = []; - if (null != t) { + if (null != t) for (e = 0; e <= t.length - 1; e += 1) { var n = 0, r = 0, l = 0; - r = new Date(1e3 * t[e].x); - l = r.toLocaleString(); - n = t[e].minerHash; - a.push({ + r = new Date(1e3 * t[e].x), l = r.toLocaleString(), n = t[e].minerHash, a.push({ x: r, d: l, y: n - }); - } - } else { - a.push({ + }) + } else a.push({ x: 0, d: 0, y: 0 - }); - } - return a; + }); + return a }() }] }; - return a; + return a } }), + roundPercent: Ember.computed('stats', 'model', { get() { var percent = this.get('model.roundShares') / this.get('stats.nShares'); if (!percent) { return 0; } + if(percent>100){ + return 100; + } + return percent; } - }), - netHashrate: Ember.computed({ - get() { - return this.get('hashrate'); - } - }), - earnPerDay: Ember.computed('model', { - get() { - return 24 * 60 * 60 / this.get('config').BlockTime * this.get('config').BlockReward * - this.getWithDefault('model.hashrate') / this.get('hashrate'); - } }) }); diff --git a/www/app/controllers/account/index.js b/www/app/controllers/account/index.js index f16397c..c4fa2dd 100644 --- a/www/app/controllers/account/index.js +++ b/www/app/controllers/account/index.js @@ -2,29 +2,26 @@ import Ember from 'ember'; export default Ember.Controller.extend({ applicationController: Ember.inject.controller('application'), - netstats: Ember.computed.reads('applicationController'), - stats: Ember.computed.reads('applicationController.model.stats'), config: Ember.computed.reads('applicationController.config'), - + stats: Ember.computed.reads('applicationController.model.stats'), chartOptions: Ember.computed("model.hashrate", { get() { var e = this, t = e.getWithDefault("model.minerCharts"), a = { chart: { - backgroundColor: "rgba(0, 0, 0, 0.1)", - + backgroundColor: "rgba(255, 255, 255, 0.1)", type: "spline", marginRight: 10, - height: 200, + height: 400, events: { load: function() { var series = this.series[0]; setInterval(function() { - var x = (new Date()).getTime(), + var x = (new Date).getTime(), y = e.getWithDefault("model.currentHashrate") / 1000000; - series.addPoint([x, y], true, true); - }, 1090000000); + series.addPoint([x, y], true, true) + }, 109000000) } } }, @@ -33,11 +30,6 @@ export default Ember.Controller.extend({ }, xAxis: { ordinal: false, - labels: { - style: { - color: "#ccc" - } - }, type: "datetime", dateTimeLabelFormats: { millisecond: "%H:%M:%S", @@ -52,34 +44,21 @@ export default Ember.Controller.extend({ }, yAxis: { title: { - text: "Hashrate by Account", - style: { - color: "#ccc" - }, - }, - labels: { - style: { - color: "#ccc" - } + text: "HASHRATE" }, - //softMin: e.getWithDefault("model.currentHashrate") / 1000000, - //softMax: e.getWithDefault("model.currentHashrate") / 1000000, + min: 0 }, plotLines: [{ value: 0, width: 1, - color: "#aaaaaa" + color: "#808080" }], legend: { - enabled: true, - itemStyle: - { - color:"#ccc" - }, + enabled: true }, tooltip: { formatter: function() { - return this.y > 1000000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000000).toFixed(2) + " TH/s
" : this.y > 1000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000).toFixed(2) + " GH/s
" : this.y > 1000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000).toFixed(2) + " MH/s
" : "" + this.point.d + "
Hashrate " + this.y.toFixed(2) + " H/s"; + return this.y > 1000000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000000).toFixed(2) + " TH/s
" : this.y > 1000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000).toFixed(2) + " GH/s
" : this.y > 1000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000).toFixed(2) + " MH/s
" : "" + this.point.d + "
Hashrate " + this.y.toFixed(2) + " H/s" }, @@ -90,62 +69,60 @@ export default Ember.Controller.extend({ }, series: [{ color: "#E99002", - name: "3 hours average hashrate", + name: "Average hashrate", data: function() { var e, a = []; - if (null != t) { + if (null != t) for (e = 0; e <= t.length - 1; e += 1) { var n = 0, r = 0, l = 0; - r = new Date(1e3 * t[e].x); - l = r.toLocaleString(); - n = t[e].minerLargeHash; - a.push({ + r = new Date(1e3 * t[e].x), l = r.toLocaleString(), n = t[e].minerLargeHash, a.push({ x: r, d: l, y: n - }); - } - } else { - a.push({ + }) + } else a.push({ x: 0, d: 0, y: 0 - }); - } - return a; + }); + return a }() }, { - name: "30 minutes average hashrate", + name: "Current hashrate", data: function() { var e, a = []; - if (null != t) { + if (null != t) for (e = 0; e <= t.length - 1; e += 1) { var n = 0, r = 0, l = 0; - r = new Date(1e3 * t[e].x); - l = r.toLocaleString(); - n = t[e].minerHash; - a.push({ + r = new Date(1e3 * t[e].x), l = r.toLocaleString(), n = t[e].minerHash, a.push({ x: r, d: l, y: n - }); - } - } else { - a.push({ - x: 0, - d: 0, - y: 0 - }); - } - return a; + }) + } else a.push({ + x: 0, + d: 0, + y: 0 + }); + return a }() }] }; - return a; + return a } - }) + }), + + roundPercent: Ember.computed('stats', 'model', { + get() { + var percent = this.get('model.roundShares') / this.get('stats.nShares'); + if (!percent) { + return 0; + } + return percent; + } + }) }); diff --git a/www/app/controllers/account/payouts.js b/www/app/controllers/account/payouts.js index 85bffe5..96a9f9f 100644 --- a/www/app/controllers/account/payouts.js +++ b/www/app/controllers/account/payouts.js @@ -21,7 +21,7 @@ export default Ember.Controller.extend({ t = e.getWithDefault("model.paymentCharts"), a = { chart: { - backgroundColor: "rgba(0, 0, 0, 0.1)", + backgroundColor: "rgba(255, 255, 255, 0.1)", type: "column", marginRight: 10, height: 200, @@ -29,10 +29,10 @@ export default Ember.Controller.extend({ load: function() { var series = this.series[0]; setInterval(function() { - var x = (new Date()).getDate(), + var x = (new Date).getDate(), y = e.getWithDefault("model.paymentCharts"); - series.addPoint([x, y], true, true); - }, 1090000000); + series.addPoint([x, y], true, true) + }, 1090000000) } } }, @@ -60,15 +60,11 @@ export default Ember.Controller.extend({ color: "#808080" }], legend: { - enabled: true, - itemStyle: - { - color:"#ccc" - }, + enabled: true }, tooltip: { formatter: function() { - return "" + Highcharts.dateFormat('%Y-%m-%d', new Date(this.x)) + "
Payment " + this.y.toFixed(8) + " ETC"; + return "" + Highcharts.dateFormat('%Y-%m-%d', new Date(this.x)) + "
Payment " + this.y.toFixed(8) + " ESN" }, useHTML: true }, @@ -80,32 +76,28 @@ export default Ember.Controller.extend({ name: "Payment Series", data: function() { var e, a = []; - if (null != t) { + if (null != t) for (e = 0; e <= t.length - 1; e += 1) { var n = 0, r = 0, l = 0; - r = new Date(1e3 * t[e].x); - l = r.toLocaleString(); - n = t[e].amount / 1000000000; - a.push({ - x: r, - d: l, - y: n - }); - } - } else { - a.push({ - x: 0, - d: 0, - y: 0 - }); - } - return a; + r = new Date(1e3 * t[e].x), + l = r.toLocaleString(), + n = t[e].amount / 1000000000, a.push({ + x: r, + d: l, + y: n + }) + } else a.push({ + x: 0, + d: 0, + y: 0 + }); + return a }() }] }; - return a; + return a } }) }); diff --git a/www/app/controllers/application.js b/www/app/controllers/application.js index e52ecbf..f001c30 100644 --- a/www/app/controllers/application.js +++ b/www/app/controllers/application.js @@ -2,7 +2,6 @@ import Ember from 'ember'; import config from '../config/environment'; export default Ember.Controller.extend({ - intl: Ember.inject.service(), get config() { return config.APP; }, @@ -66,26 +65,6 @@ export default Ember.Controller.extend({ } }), - - languages: Ember.computed('model', { - get() { - return this.get('model.languages'); - } - }), - - selectedLanguage: Ember.computed({ - get() { - var langs = this.get('languages'); - var lang = Ember.$.cookie('lang'); - for (var i = 0; i < langs.length; i++) { - if (langs[i].value == lang) { - return langs[i].name; - } - } - return lang; - } - }), - roundVariance: Ember.computed('model', { get() { var percent = this.get('model.stats.roundShares') / this.get('difficulty'); @@ -98,7 +77,7 @@ export default Ember.Controller.extend({ nextEpoch: Ember.computed('height', { get() { - var epochOffset = (30000 - (this.getWithDefault('height', 1) % 30000)) * 1000 * this.get('config').BlockTime; + var epochOffset = (60000 - (this.getWithDefault('height', 1) % 60000)) * 1000 * this.get('config').BlockTime; return Date.now() + epochOffset; } }) diff --git a/www/app/controllers/index.js b/www/app/controllers/index.js index ace7784..e8db2f6 100644 --- a/www/app/controllers/index.js +++ b/www/app/controllers/index.js @@ -21,30 +21,24 @@ export default Ember.Controller.extend({ t = e.getWithDefault("stats.model.poolCharts"), a = { chart: { - backgroundColor: "rgba(0, 0, 0, 0.1)", + backgroundColor: "rgba(255, 255, 255, 0.1)", type: "spline", height: 300, marginRight: 10, events: { load: function() { var series = this.series[0]; - setInterval(function() { - var x = (new Date()).getTime(), y = e.getWithDefault("model.Hashrate") / 1000000; - series.addPoint([x, y], true, true); - }, 1090000000); + setInterval(function() {var x = (new Date).getTime(), y = e.getWithDefault("model.Hashrate") / 1000000; series.addPoint([x, y], true, true)}, 1090000000) } } }, title: { - text: "Our pool's hashrate", - style: { - color: "#ccc" - } + text: "Our pool's hashrate" }, xAxis: { labels: { style: { - color: "#ccc" + color: "#000" } }, ordinal: false, @@ -54,27 +48,27 @@ export default Ember.Controller.extend({ title: { text: "HASHRATE", style: { - color: "#ccc" + color: "#000" } }, min: 0, labels: { style: { - color: "#ccc" + color: "#000" } } }, plotLines: [{ value: 0, width: 1, - color: "#ccc" + color: "#000" }], legend: { enabled: false }, tooltip: { formatter: function() { - return this.y > 1000000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000000).toFixed(2) + " TH/s
" : this.y > 1000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000).toFixed(2) + " GH/s
" : this.y > 1000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000).toFixed(2) + " MH/s
" : "" + this.point.d + "
Hashrate " + this.y.toFixed(2) + " H/s"; + return this.y > 1000000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000000).toFixed(2) + " TH/s
" : this.y > 1000000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000000).toFixed(2) + " GH/s
" : this.y > 1000000 ? "" + this.point.d + "
Hashrate " + (this.y / 1000000).toFixed(2) + " MH/s
" : "" + this.point.d + "
Hashrate " + this.y.toFixed(2) + " H/s" }, useHTML: true }, @@ -86,31 +80,26 @@ export default Ember.Controller.extend({ name: "Hashrate", data: function() { var e, a = []; - if (null != t) { + if (null != t) for (e = 0; e <= t.length - 1; e += 1) { var n = 0, r = 0, l = 0; - r = new Date(1e3 * t[e].x); - l = r.toLocaleString(); - n = t[e].y; a.push({ + r = new Date(1e3 * t[e].x), l = r.toLocaleString(), n = t[e].y, a.push({ x: r, d: l, y: n - }); - } - } else { - a.push({ + }) + } else a.push({ x: 0, d: 0, y: 0 - }); - } - return a; + }); + return a }() }] }; - return a; + return a } }) }); diff --git a/www/app/helpers/equals.js b/www/app/helpers/equals.js new file mode 100644 index 0000000..6686275 --- /dev/null +++ b/www/app/helpers/equals.js @@ -0,0 +1,5 @@ +import Ember from 'ember'; + +export default Ember.Helper.helper(function equals(params) { + return params[0] === params[1]; +}); diff --git a/www/app/helpers/format-difficulty.js b/www/app/helpers/format-difficulty.js deleted file mode 100644 index bd33407..0000000 --- a/www/app/helpers/format-difficulty.js +++ /dev/null @@ -1,8 +0,0 @@ -import Ember from 'ember'; - -export function formatDifficulty(value) { - value = value / 1000000000 - return Ember.String.htmlSafe('' + value + 'b'); -} - -export default Ember.Helper.helper(formatDifficulty); diff --git a/www/app/helpers/worker-colorizer.js b/www/app/helpers/worker-colorizer.js deleted file mode 100644 index 2346582..0000000 --- a/www/app/helpers/worker-colorizer.js +++ /dev/null @@ -1,30 +0,0 @@ -import Ember from 'ember'; - -export function workerColorizer(value) { - let class_name; - let difference_seconds = (Date.now() / 1000) - value; - - if (difference_seconds >= (60 * 15)) { - class_name = "offline-1"; - } - - if (difference_seconds >= (60 * 17)) { - class_name = "offline-2"; - } - - if (difference_seconds >= (60 * 20)) { - class_name = "offline-3"; - } - - if (difference_seconds >= (60 * 25)) { - class_name = "offline-4"; - } - - if (difference_seconds >= (60 * 28)) { - class_name = "offline-5"; - } - - return class_name; -} - -export default Ember.Helper.helper(workerColorizer); diff --git a/www/app/helpers/worker-earnperday.js b/www/app/helpers/worker-earnperday.js deleted file mode 100644 index e6b9a2d..0000000 --- a/www/app/helpers/worker-earnperday.js +++ /dev/null @@ -1,9 +0,0 @@ -import Ember from 'ember'; -import config from '../config/environment'; - - -export function workerEarnperday(hashrates) { - return 24 * 60 * 60 / config.APP.BlockTime * (hashrates[0] / hashrates[1]) * config.APP.BlockReward; -} - -export default Ember.Helper.helper(workerEarnperday); diff --git a/www/app/index.html b/www/app/index.html index abf68ea..a29bfd5 100644 --- a/www/app/index.html +++ b/www/app/index.html @@ -4,22 +4,37 @@ - Official etc Pool | https://t.me/poolnode - - + ETC Mining Pool + + {{content-for "head"}} - - - - + + {{content-for "head-footer"}} - + {{content-for "body"}} + - + + {{content-for "body-footer"}} + + + diff --git a/www/app/models/block.js b/www/app/models/block.js index 7c7ee21..64b5c54 100644 --- a/www/app/models/block.js +++ b/www/app/models/block.js @@ -1,5 +1,23 @@ import Ember from 'ember'; +// { +// "candidatesTotal": 0, +// "hashrate": 0, +// "immatureTotal": 0, +// "maturedTotal": 11, +// "minersTotal": 0, +// "nodes": [{ +// "difficulty": "2735271", +// "height": "63151", +// "lastBeat": "1471098611", +// "name": "jee-test-pool" +// }], +// "now": 1471098614036, +// "stats": { +// "lastBlockFound": 1471052210 +// } +// } + var Block = Ember.Object.extend({ variance: Ember.computed('difficulty', 'shares', function() { var percent = this.get('shares') / this.get('difficulty'); diff --git a/www/app/models/chart.js b/www/app/models/chart.js new file mode 100644 index 0000000..125a6d4 --- /dev/null +++ b/www/app/models/chart.js @@ -0,0 +1,21 @@ +import DS from 'ember-data'; + +export default DS.Model.extend({ + name: DS.attr('string'), + chartdata: [DS.attr('number'), DS.attr('number'), DS.attr('number'), DS.attr('number'), DS.attr('number'), DS.attr('number'), DS.attr('number'), DS.attr('number'), DS.attr('number'), DS.attr('number'), DS.attr('number'), DS.attr('number')] +}); + +// { +// name: DS.attr('string'), +// colorByPoint: DS.attr('boolean'), +// chartdata: [ +// {y: DS.attr('number'), name: DS.attr('string')}, +// {y: DS.attr('number'), name: DS.attr('string')}, +// {y: DS.attr('number'), name: DS.attr('string')} +// ] +// } +// { +// title: DS.attr('string'), +// content: DS.attr('string'), +// author: DS.attr('string') +// } diff --git a/www/app/router.js b/www/app/router.js index afd25bb..1da5c8d 100644 --- a/www/app/router.js +++ b/www/app/router.js @@ -18,11 +18,10 @@ Router.map(function() { }); this.route('help'); - //this.route('help-ar'); this.route('payments'); this.route('miners'); this.route('about'); - //this.route('about-ar'); + this.route('chart'); }); export default Router; diff --git a/www/app/routes/application.js b/www/app/routes/application.js index 61bf196..293d5ce 100644 --- a/www/app/routes/application.js +++ b/www/app/routes/application.js @@ -1,77 +1,12 @@ import Ember from 'ember'; import config from '../config/environment'; -function selectLocale(selected) { - // FIXME - let supported = ['en', 'ar-sa', 'en-us']; - const language = navigator.languages[0] || navigator.language || navigator.userLanguage; - - let locale = selected; - - if (locale == null) { - // default locale - locale = language; - if (supported.indexOf(locale) < 0) { - locale = locale.replace(/\-[a-zA-Z]*$/, ''); - } - } - if (supported.indexOf(locale) >= 0) { - if (locale === 'en') { - locale = 'en-us'; - } - } else { - locale = 'en-us'; - } - return locale; -} - - export default Ember.Route.extend({ intl: Ember.inject.service(), - selectedLanguage: null, - languages: null, - beforeModel() { - let locale = this.get('selectedLanguage'); - if (!locale) { - // read cookie - locale = Ember.$.cookie('lang'); - // pick a locale - locale = selectLocale(locale); - - this.get('intl').setLocale(locale); - Ember.$.cookie('lang', locale); - console.log('INFO: locale selected - ' + locale); - this.set('selectedLanguage', locale); - } - let intl = this.get('intl'); - this.set('languages', [ - { name: intl.t('lang.arabic'), value: 'ar-sa'}, - { name: intl.t('lang.english'), value: 'en-us'} - ]); - }, - - actions: { - selectLanguage: function(lang) { - let selected = lang; - if (typeof selected === 'undefined') { - return true; - } - let locale = selectLocale(selected); - this.get('intl').setLocale(locale); - this.set('selectedLanguage', locale); - Ember.$.cookie('lang', locale); - let languages = this.get('languages'); - for (var i = 0; i < languages.length; i++) { - if (languages[i].value == locale) { - Ember.$('#selectedLanguage').html(languages[i].name + ''); - break; - } - } - - return true; - } - }, + beforeModel() { + this.get('intl').setLocale('en-us'); + }, model: function() { var url = config.APP.ApiUrl + 'api/stats'; @@ -83,6 +18,5 @@ export default Ember.Route.extend({ setupController: function(controller, model) { this._super(controller, model); Ember.run.later(this, this.refresh, 5000); - model.languages = this.get('languages'); } }); diff --git a/www/app/routes/chart.js b/www/app/routes/chart.js new file mode 100644 index 0000000..9a61f79 --- /dev/null +++ b/www/app/routes/chart.js @@ -0,0 +1,7 @@ +import Ember from 'ember'; + +export default Ember.Route.extend({ + model: function() { + return this.store.findAll('chart'); + } +}); diff --git a/www/app/serializers/chart.js b/www/app/serializers/chart.js new file mode 100644 index 0000000..8d24f17 --- /dev/null +++ b/www/app/serializers/chart.js @@ -0,0 +1,8 @@ +import DS from 'ember-data'; + +export default DS.RESTSerializer.extend({ + primaryKey: '_id', + serializeId: function(id) { + return id.toString(); + } +}); diff --git a/www/app/styles/app.css b/www/app/styles/app.css index 9b11c42..effff3e 100644 --- a/www/app/styles/app.css +++ b/www/app/styles/app.css @@ -5,13 +5,22 @@ html { min-height: 100%; } body { + /* Margin bottom by footer height */ + margin-bottom: 60px; background: url('/bg.png'); } - -caption, th { - text-align: inherit; +.footer { + position: absolute; + bottom: 0; + width: 100%; + /* Set the fixed height of the footer here */ + height: 60px; + background-color: #f5f5f5; +} +.center { + align-items: center; + display: flex; } - /* Custom page CSS -------------------------------------------------- */ @@ -19,16 +28,12 @@ caption, th { body { padding-top: 20px; - padding-bottom: 0px; - color: #ddd; + padding-bottom: 5px; } body > .container { padding: 0px 15px 0; } -.container .text-muted { - margin: 20px 0; -} /* doesn't work -------- */ #coin_calculator iframe form{ @@ -70,9 +75,14 @@ h1, h2, h3, h4, h5, h6 { color:#333; } -.space-medium { - padding-top: 40px; - padding-bottom: 40px; + +.container .text-muted { + margin: 20px 0; +} + +.footer > .container { + padding-right: 15px; + padding-left: 15px; } .jumbotron { @@ -81,53 +91,64 @@ h1, h2, h3, h4, h5, h6 { margin-bottom: 15px; } +.jumbotron-brand { + margin: 0; + padding: 40px 0 15px 0; + margin-bottom: 15px; + background-color: #e9ffee; +} code { font-size: 80%; } +.hash { + font-family: Courier, monospace; +} + .navbar-default { - background-color: #060820; - border-color: transparent; + background-color: #ffffff; + border-color: #61BD81; + border-bottom-width: 2px; } .navbar-default .navbar-brand { - color: #dadada; + color: #4A4A4A; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { - color: #ffffff; + color: #4A4A4A; } .navbar-default .navbar-text { - color: #dadada; + color: #4A4A4A; } .navbar-default .navbar-nav > li > a { - color: #dadada; + color: #4A4A4A; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { - color: #ffffff; + color: #61BD81; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #ffffff; - background-color: #0a6c9d; + background-color: #61BD81; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { color: #ffffff; background-color: #69102b; } .navbar-default .navbar-toggle { - border-color: #0a6c9d; + border-color: #2885da; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { - background-color: #0a6c9d; + background-color: #2885da; } .navbar-default .navbar-toggle .icon-bar { - background-color: #dadada; + background-color: #4A4A4A; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { - border-color: #00ff58; + border-color: #4A4A4A; } .navbar-default .navbar-link { - color: #dadada; + color: #4A4A4A; } .navbar-default .navbar-link:hover { color: #ffffff; @@ -135,54 +156,84 @@ code { @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #dadada; + color: #4A4A4A; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #ffffff; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #ffffff; - background-color: #0a6c9d; + background-color: #3f9ff7; } } span.logo-1 { font-weight: 700; - color: #53ad2d; + font-style: italic; + color: #61BD81; + padding: 0 7px 0 23px; } span.logo-2 { - font-weight: 500; - font-size:smaller; - color: #FFF; + font-weight: 700; + color: #4A4A4A; + padding: 0 23px 0 5px; } span.logo-3 { color: #FFF; font-weight: 100; + padding: 0 3px 0 3px; +} + +span.logo-gold { + color: #f2cf18; + font-weight: 700; + padding: 0 3px 0 3px; +} + +.etc { + height: 30px; + width: 30px; + pointer-events: none; } +.etc-green > object{ + float: left; +} + +.etc-green > strong{ + float: left; +} + + +/* That time i figured out how to do that thing to scale svg + + .etc-green { + transform: scale(0.4); + transform: translate(-200px, -50px); +} +*/ + .navbar-collapse { font-size: 14px; font-weight: 200; - background-color: rgb(0, 12, 34); } .note { margin: 0 0 20px 0; padding: 15px 30px 15px 15px; border-left: 5px solid #eee; - border-radius: 15px; + border-radius: 5px; } .note-info { background-color: #E8F6FC; border-color: #57b5e3; - color: #333333; } .note-danger { - background-color: #ff9999; + background-color: #fce8e8; border-color: #ff0000; } @@ -190,175 +241,171 @@ h4.note { margin-top: 0; font-weight: 300 !important; } +/*---------------------------------------------------------------------------------------------------*/ +/*----------------------------Bootstrap side notes for calling out things----------------------------*/ +/*---------------------------------------------------------------------------------------------------*/ -.hash { - font-family: 'Inconsolata', monospace; +/* Base styles (regardless of theme) */ +.bs-callout { + padding: 20px; + margin: 20px 0; + border: 1px solid #eee; + border-left-width: 5px; + border-radius: 3px; } - -/* Stats */ - -.stats-box { - padding: 24px 30px; - background: #0e102f; - border-radius: 15px; - margin-bottom: 6px; +.bs-callout h4 { + margin-top: 0; + margin-bottom: 5px; } - - - - -.stats-box > h3 > i { - width: 21px; +.bs-callout p:last-child { + margin-bottom: 0; } - -.stats-box > div > .fa { - width: 25px; +.bs-callout code { + border-radius: 3px; } -.stats-box > div > span:first-of-type{ - font-weight: bold; +.bs-callout+.bs-callout { + margin-top: -5px; } +/* Themes for different contexts */ -.bg-dark { - background-image: linear-gradient(to bottom, #0b0c22 0%, #0e122f 70%); +/* Default */ +.bs-callout-default { + background-color: #eeeeee; + border-left-color: #777; } - -.worker-class.warning.offline-1 > td{ - background-color: #ffd1d1; +.bs-callout-default h4 { + color: #777; } -.worker-class.warning.offline-2 > td{ - background-color: #f99393; +/* Primary */ +.bs-callout-primary { + background-color: #e8effc; + border-left-color: #428bca; } - -.worker-class.warning.offline-3 > td{ - background-color: #ff5959; - color:#ffffff; +.bs-callout-primary h4 { + color: #428bca; } -.worker-class.warning.offline-4 > td{ - background-color: #ff3e3e; - color:#ffffff; +/* Success */ +.bs-callout-success { + background-color: #eafce8; + border-left-color: #5cb85c; } - -.worker-class.warning.offline-5 > td{ - background-color: #ff1e1e; - color:#ffffff; +.bs-callout-success h4 { + color: #5cb85c; } - -.jumbotron{ - background: transparent; - color:#bbbbbb; +/* Danger */ +.bs-callout-danger { + background-color: #fce8e8; + border-left-color: #d9534f; } - -.jumbotron small{ - color:#919191; - margin-left:30px; +.bs-callout-danger h4 { + color: #d9534f; } -.alert{ - border-radius:20px; +/* Warning */ +.bs-callout-warning { + background-color: #fcfbe8; + border-left-color: #f0ad4e; } -.nav-tabs{ - margin-bottom:20px; -} -.nav-tabs>li>a { - border-radius: 15px 15px 0 0; +.bs-callout-warning h4 { + color: #f0ad4e; } -a { - color: #5ea2ff; +/* Info */ +.bs-callout-info { + background-color: #E8F6FC; + border-left-color: #5bc0de; +} +.bs-callout-info h4 { + color: #5bc0de; } -.table-striped>tbody>tr:nth-of-type(odd) { - background-color: rgba(0,0,0,0.5); +/*---------------------------------------------------------------------------------------------------*/ +/*----------------------------x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x----------------------------*/ +/*---------------------------------------------------------------------------------------------------*/ + +/* Stats */ +.stats { + margin-bottom: 10px; + margin-top: 5px; } -.table { - margin-bottom: 0px; +.stats:last-child{ + width: auto; } -.table-responsive { - color: #444; - background-color: rgba(255,255,255,0.9); - padding: 5px 5px 0px; - border-radius: 20px 20px 0px 0px; - margin-bottom:20px; +.stats > h3 > i { + width: 21px; } -.table-responsive a { - color: #004bb1; +.stats > div{ + padding: 5px 0; } - -.table-striped>tbody>tr:nth-of-type(odd) { - background-color: rgba(0,0,0,.2); +.stats > div > .fa { + width: 25px; } - -.highcharts-wrapper{ - margin-bottom:20px; +.stats > div > span:first-of-type{ + font-weight: bold; } +/*--------------------------------------| Bootstrap overrides |--------------------------------------*/ -.command_lines{ - margin: 15px 0; +.ul, .ul-link { + font-weight: 200; + text-align: center; } -.command_lines ul{ - margin-bottom:0px; +.ul-link:hover, .ul-link:focus { + color: inherit; + text-decoration: none; + opacity: .70; } -.command_lines h5{ - color: #333; -} -.command_lines .tab-content { - background-color: #E8F6FC; - border-left: 5px solid #eee; - border-color: #57b5e3; - color: #ddd; - border-radius: 0 0 15px 15px; +.ul-default { + color: #777; + border-bottom: 2px solid #777; } - - -.command_lines .nav-tabs { - border-bottom: 0; +.ul-primary { + color: #428bca; + border-bottom: 2px solid #428bca; } -.command_lines .nav-tabs>li.active>a, -.command_lines .nav-tabs>li.active>a:focus, -.command_lines .nav-tabs>li.active>a:hover { - border-left: 5px solid #eee; - border-color: #57b5e3; - border-bottom: 0px; +.ul-success { + color: #5cb85c; + border-bottom: 2px solid #5cb85c; } - -.command_lines .panel-group .panel+.panel { - margin-top: 0px; +.ul-danger { + color: #d9534f; + border-bottom: 2px solid #d9534f; } -.command_lines .panel-group .panel { - margin-bottom: 0; - border-radius: 0; +.ul-warning { + color: #f0ad4e; + border-bottom: 2px solid #f0ad4e; } -.command_lines .panel-default>.panel-heading { - color: #dddddd; - background-color: #0e102f; - border: 0px; +.ul-info { + color: #5bc0de; + border-bottom: 2px solid #5bc0de; } -.command_lines .panel-default { - border: 0px; +.ul-etc { + color: #61BD81; + border-bottom: 2px solid #61BD81; } -.join_telegram{ - border-radius: 5px; - font-size: x-large; -} +/*-----------------------------------------| Custom Classes |-----------------------------------------*/ +.btn-etc { + background-color: #61BD81; + border-color: #408c5a; +} -.footer { background: #020207;} -.footer-section { text-align: center; } -.footer-title { margin-bottom: 40px; } -.footer > .container { - padding-right: 15px; - padding-left: 15px; +.btn-etc:hover { + color: #fff; + background-color: #428359; + border-color: #2c623e; } + +/*--------------------------------------| x-x-x-x-x-x-x-x-x-x |--------------------------------------*/ diff --git a/www/app/templates/account.hbs b/www/app/templates/account.hbs index cb61d5f..5100098 100644 --- a/www/app/templates/account.hbs +++ b/www/app/templates/account.hbs @@ -1,75 +1,60 @@ {{outlet 'error' }} -
+
-
- {{t "account.immature.balance"}}: {{format-balance model.stats.immature}} {{config.Unit}}
- {{t "account.immature.description"}} + Immature Balance: {{format-balance model.stats.immature}}
+ Preliminary balance awaiting blocks to mature.
- {{t "account.pending.balance"}}: {{format-balance model.stats.balance}} {{config.Unit}}
- {{t "account.pending.description"}} + Pending Balance: {{format-balance model.stats.balance}}
+ Credited coins awaiting payout.
{{#if model.stats.pending}}
- {{t "account.current"}}: {{format-balance model.stats.pending}} {{config.Unit}}
+ Current Payment: {{format-balance model.stats.pending}}
{{/if}} -
{{t "account.total.paid"}}: {{format-balance model.stats.paid}} {{config.Unit}}
+
Total Paid: {{format-balance model.stats.paid}}
Last 24h Reward: {{format-balance model.24hreward}}
-
-
-
- {{#if model.stats.lastShare}} -
- {{t "account.last_share_submitted"}}: {{format-relative (seconds-to-ms (string-to-int model.stats.lastShare))}} +
+ Last Share Submitted: {{format-relative (seconds-to-ms (string-to-int model.stats.lastShare))}}
{{/if}} -
{{t "account.online"}}: {{format-number model.workersOnline}}
-
{{t "account.hashrate"}} ({{t "account.short_average_abbrv"}}): {{format-hashrate model.currentHashrate}}
-
{{t "account.hashrate"}} ({{t "account.long_average_abbrv"}}): {{format-hashrate model.hashrate}}
-
{{t "account.earnings.miner"}}: {{format-number earnPerDay}} {{config.Unit}}
- +
Workers Online: {{format-number model.workersOnline}}
+
Hashrate (30m): {{format-hashrate model.currentHashrate}}
+
Hashrate (3h): {{format-hashrate model.hashrate}}
-
-
-
- -
{{t "account.blocks.found"}}: {{format-number model.stats.blocksFound fallback='0'}}
-
{{t "account.total.payments"}}: {{format-number model.paymentsTotal}}
+
Blocks Found: {{format-number model.stats.blocksFound fallback='0'}}
+
Total Payments: {{format-number model.paymentsTotal}}
- {{t "account.round_share"}}: {{format-number roundPercent style='percent' maximumFractionDigits='6'}}
- {{t "account.round_share_description"}} + Your Round Share: {{format-number roundPercent style='percent' maximumFractionDigits='6'}}
+ Percent of your contribution to current round.
- - {{t "account.epoch_switch"}}: {{format-relative applicationController.nextEpoch units="hour"}} + + Epoch Switch: {{format-relative applicationController.nextEpoch units="hour"}}
- -
-
diff --git a/www/app/templates/account/index.hbs b/www/app/templates/account/index.hbs index c15b85d..81c6164 100644 --- a/www/app/templates/account/index.hbs +++ b/www/app/templates/account/index.hbs @@ -1,29 +1,23 @@
{{high-charts mode=chartMode chartOptions=chartOptions content=chartData}} {{#if model.workers}} -

{{t "account.your_workers"}}

+

Your Workers

- - - - - - + + + {{#each-in model.workers as |k v|}} - + - - - - - + + {{/each-in}} @@ -31,13 +25,16 @@
ID{{t "account.hashrate"}} ({{t "account.short_average_abbrv"}} / {{t "account.short_average_abbrv"}}){{t "account.earnings.worker"}}{{t "account.difficulty"}}{{t "account.server"}}{{t "account.valid"}}{{t "account.last_share"}}Hashrate (rough, short average)Hashrate (accurate, long average)Last Share
{{k}}{{format-hashrate v.hr}} / {{format-hashrate v.hr2}}{{format-number (worker-earnperday v.hr netstats.hashrate)}} {{config.Unit}}{{format-difficulty v.difficulty}}{{v.hostname}}{{v.valid}}{{format-hashrate v.hr}}{{format-hashrate v.hr2}} {{format-relative (seconds-to-ms v.lastBeat)}}
{{else}} -

{{t "account.no_workers_online"}}

+

No workers online

{{/if}}
diff --git a/www/app/templates/account/payouts.hbs b/www/app/templates/account/payouts.hbs index 859ae39..78c5c30 100644 --- a/www/app/templates/account/payouts.hbs +++ b/www/app/templates/account/payouts.hbs @@ -1,14 +1,14 @@
- {{high-charts mode=chartMode chartOptions=chartPayment content=chartData}} + {{high-charts mode=chartMode chartOptions=chartPayment content=chartData}} {{#if model.payments}} -

{{t "payout.latest_payouts"}}

+

Your Latest Payouts

- - - + + + @@ -16,7 +16,7 @@ @@ -25,6 +25,6 @@
{{t "payout.time"}}{{t "payout.txid"}}{{t "payout.amount"}} {{config.Unit}}TimeTx IDAmount
{{format-date-locale tx.timestamp}} - {{tx.tx}} + {{tx.tx}} {{format-balance tx.amount}}
{{else}} -

{{t "payout.no_payouts_yet"}}

+

No payouts yet

{{/if}}
diff --git a/www/app/templates/account/rewards.hbs b/www/app/templates/account/rewards.hbs index 5fea5e7..dd35e1b 100644 --- a/www/app/templates/account/rewards.hbs +++ b/www/app/templates/account/rewards.hbs @@ -14,6 +14,7 @@ Block Height + Time Found Reward Round Share @@ -22,6 +23,7 @@ {{#each model.rewards as |tx|}} {{format-number tx.blockheight}} + {{format-date-locale tx.timestamp}} {{#if tx.immature}} {{format-balance tx.reward}} @@ -37,4 +39,4 @@ {{else}}

No rewards yet

{{/if}} -
+
\ No newline at end of file diff --git a/www/app/templates/application-error.hbs b/www/app/templates/application-error.hbs index c8eda5c..753f7b9 100644 --- a/www/app/templates/application-error.hbs +++ b/www/app/templates/application-error.hbs @@ -1,6 +1,6 @@
diff --git a/www/app/templates/application.hbs b/www/app/templates/application.hbs index 9a68604..f1e2b6b 100644 --- a/www/app/templates/application.hbs +++ b/www/app/templates/application.hbs @@ -1,95 +1,54 @@ - -{{!-- --}} - -
- {{outlet}} - -
-
-
-

{{format-html-message "footer.copyrights"}}

-
-
diff --git a/www/app/templates/blocks.hbs b/www/app/templates/blocks.hbs index 3d7862a..b951828 100644 --- a/www/app/templates/blocks.hbs +++ b/www/app/templates/blocks.hbs @@ -1,24 +1,27 @@ -
+
-

{{t "block.pool_rewards"}}

- - {{format-html-message "block.pool_notice.html" success=520}} - +

Pool always pays full block rewards including TX fees and uncle rewards.

+ + Block maturity requires up to 520 blocks. + Usually it's less indeed. +
+
{{#if model.luck}} {{partial "luck"}} {{/if}} + {{outlet}} diff --git a/www/app/templates/blocks/block.hbs b/www/app/templates/blocks/block.hbs index f621757..c37e418 100644 --- a/www/app/templates/blocks/block.hbs +++ b/www/app/templates/blocks/block.hbs @@ -1,18 +1,18 @@ {{#if block.uncle}} - {{format-number block.height}} + {{format-number block.height}} {{else}} - {{format-number block.height}} + {{format-number block.height}} {{/if}} {{#if block.uncle}} - {{block.hash}} + {{block.hash}} {{else if block.orphan}} - {{t "block.orphan"}} + Orphan {{else}} - {{block.hash}} + {{block.hash}} {{/if}} {{format-date-locale block.timestamp}} @@ -30,4 +30,11 @@ {{block.formatReward}} {{/if}} + + {{#if block.uncle}} + Uncle + {{else if block.isOk}} + Block + {{/if}} + diff --git a/www/app/templates/blocks/immature.hbs b/www/app/templates/blocks/immature.hbs index 2784b78..ae7cab5 100644 --- a/www/app/templates/blocks/immature.hbs +++ b/www/app/templates/blocks/immature.hbs @@ -1,24 +1,22 @@ {{#if model.immature}} -

{{t "block.immature_blocks"}}

- -
- - - - - - - - - - - - {{#each model.immature as |block|}} - {{partial "blocks/block"}} - {{/each}} - -
{{t "block.height"}}{{t "block.hash"}}{{t "block.time_found"}}{{t "block.variance"}}{{t "block.reward"}}
-
+

Immature Blocks

+ + + + + + + + + + + + + {{#each model.immature as |block|}} + {{partial "blocks/block"}} + {{/each}} + +
HeightBlock HashTime FoundVarianceRewardType
{{else}} -

{{t "block.no_immature_blocks_yet"}}

+

No immature blocks yet

{{/if}} diff --git a/www/app/templates/blocks/index.hbs b/www/app/templates/blocks/index.hbs index 6b49fb3..b607536 100644 --- a/www/app/templates/blocks/index.hbs +++ b/www/app/templates/blocks/index.hbs @@ -1,23 +1,22 @@ {{#if model.matured}} -

{{t "block.matured"}}

-
- - - - - - - - - - - - {{#each model.matured as |block|}} - {{partial "blocks/block"}} - {{/each}} - -
{{t "block.height"}}{{t "block.hash"}}{{t "block.time_found"}}{{t "block.variance"}}{{t "block.reward"}}
-
+

Matured Blocks

+ + + + + + + + + + + + + {{#each model.matured as |block|}} + {{partial "blocks/block"}} + {{/each}} + +
HeightBlock HashTime FoundVarianceRewardType
{{else}} -

{{t "block.no_matured_blocks_yet"}}

+

No matured blocks yet

{{/if}} diff --git a/www/app/templates/blocks/pending.hbs b/www/app/templates/blocks/pending.hbs index 3871ead..74a64db 100644 --- a/www/app/templates/blocks/pending.hbs +++ b/www/app/templates/blocks/pending.hbs @@ -1,18 +1,18 @@ {{#if model.candidates}} -

{{t "block.recently_found_blocks"}}

+

Recently Found Blocks

- - - + + + {{#each model.candidates as |block|}} - +
{{t "block.height"}}{{t "block.time_found"}}{{t "block.variance"}}HeightTime FoundVariance
{{format-number block.height}}{{format-number block.height}} {{format-date-locale block.timestamp}} {{#if block.isLucky}} @@ -27,5 +27,5 @@
{{else}} -

{{t "block.no_new_blocks_yet"}}

+

No new blocks yet

{{/if}} diff --git a/www/app/templates/components/chart-diff.hbs b/www/app/templates/components/chart-diff.hbs new file mode 100644 index 0000000..a1887b1 --- /dev/null +++ b/www/app/templates/components/chart-diff.hbs @@ -0,0 +1,3 @@ +{{!-- {{log "COMPONENT TEST SUMMARYDATA"}} +{{log summaryData summaryOptions}} --}} +{{high-charts chartOptions=summaryOptions content=summaryData}} diff --git a/www/app/templates/help.hbs b/www/app/templates/help.hbs index c12d10e..bec9e42 100644 --- a/www/app/templates/help.hbs +++ b/www/app/templates/help.hbs @@ -1,95 +1,62 @@
+ -
-

GPU Miner Softwares

- -

Download one of the following GPU miners. -

-

-
+
+
+ +

In order to mine etchash you need + lolMiner v1.12+ +

+

./lolMiner --pool {{config.StratumHost}}:{{config.StratumPort}} --user [YOUR_ETC_ADDRESS] -c ETC {{if (equals config.Network 'mordor') "--ecip1099-activation 84"}} --ethstratum=ETHPROXY

+
+
YOUR_ETC_ADDRESS
+
This is your address for payouts, generate one with core-geth, or mine directly to exchange like + Bittrex.
+ Example: 0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6. +
+
+

+ Full example: + ./lolMiner --pool {{config.StratumHost}}:{{config.StratumPort}} --user 0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6 -c ETC {{if (equals config.Network 'mordor') "--ecip1099-activation 84"}} --ethstratum=ETHPROXY.
+

+
-
-

Prepare Wallet Address

-
-

Using geth

-
    -
  • Unix/Linux shell $ geth account new
  • -
  • Windows command line using cmd.exe (command shell) > geth account new
  • -
+
+ +

In order to mine etchash you need + nanominer v1.12.0+ +

+

example config

+
+; Address to send funds to. Change this address to yours!
+wallet = 0xd92fa5a9732a0aec36dc8d5a6a1305dc2d3e09e6
 
-      

Using online wallet

-
    -
  • {{format-html-message "wallet.online_html"}}
  • -
+; Coin to mine. +coin = ETC -

Wallet Dapp (aka. Mist)

-
    -
  • Wallet dapp: {{format-html-message "wallet.dapp_html"}}
  • -
+pool1={{config.StratumHost}}:{{config.StratumPort}} +
- - - -

Usage examples

-
-
0x0000000000000000000000000000000000000000
-
This is your address for payouts
- Example: 0x8b92c50e1c39466f900a578edb20a49356c4fe24. -
-
your-worker-1
your-worker-2
-
- ID of your PC/mining-rig to distinguish it from your other rigs. If you have just one rig, feel free to omit this param.
- This param must be short alphanumeric string with optional dashes and underscores.
- Example: worker-1 -
-
- -

Claymore Example

-

Download Claymore Dual Miner (AMD/NVIDIA): [ANN] Bitcointalk.org

-

- EthDcrMiner64 -epool {{config.StratumHost}}:{{config.StratumPort}} -esm 0 -ewal 0x0000000000000000000000000000000000000000 -eworker your-worker-1 -allcoins 1 -allpools 1 +

+
+

+

Advice

+

CPU mining is not recommended.

+

Terms of Service

+

By using the pool you accept all possible risks related to experimental software usage.
+ Pool owner can't compensate any irreversible losses, but will do his best to prevent worst case. +

-
    -
  • EthDcrMiner64 - executable name under Windows. use ./ethdcrminer64 under Linux/Ubuntu
  • -
  • {{config.StratumHost}} - Stratum Server name
  • -
  • use -esm 0 and {{config.StratumPort}} port number for Stratum Server.
  • -
  • 0x0000000000000000000000000000000000000000 - Your wallet address
  • -
  • your-worker-1 - Your worker name
  • -
+
+
-

Ethminer Examples

-

- Download Ethminer (AMD/NVIDIA): Ethminer source/binary at Github -

-
Stratum method
-

- ethminer -SP 1 -U -S {{config.StratumHost}}:{{config.StratumPort}} -O 0x0000000000000000000000000000000000000000.your-worker-1 --farm-recheck 2000 -

-
    -
  • -SP 1 - option for Stratum server
  • -
  • -U - NVIDIA GPU or -G for AMD GPU
  • -
  • -S {{config.StratumHost}}:{{config.StratumPort}} - stratum_server_name:stratum_port_number
  • -
  • -O 0x0000000000000000000000000000000000000000.your-worker-1 - your_wallet_address.your_worker_name
  • -
  • --farm-recheck 2000 - Leave 2000 ms between checks for changed work (default 500ms. use higher value to use stratum for stability)
  • -
-
Legacy HTTP method
-

- ethminer -U -F {{config.HttpHost}}:{{config.HttpPort}}/0x0000000000000000000000000000000000000000/your-worker-1 --farm-recheck 200 -

-
    -
  • -U - NVIDIA GPU or -G for AMD GPU
  • -
  • -F {{config.HttpHost}}:{{config.HttpPort}}/0x0000000000000000000000000000000000000000/your-worker-1 -
    • Legacy HTTP method. http_server_name:http_port_number
    • -
    • 0x0000000000000000000000000000000000000000/your-worker-1 - your_wallet_address.your_worker_name
    • -
    -
  • -
diff --git a/www/app/templates/index.hbs b/www/app/templates/index.hbs index 901e82b..f39bc28 100644 --- a/www/app/templates/index.hbs +++ b/www/app/templates/index.hbs @@ -1,169 +1,73 @@ -
+
-
-
- Telegram +
+
+

+
+ ETC Pool +
+

+
+
+ Min. payout threshold: {{config.PayoutThreshold}}, Payouts are continuos throughout the day. +
+ PPLNS Stable and profitable pool with regular payouts.
-
-
-
- {{t "home.min_payout_threshold"}}: {{config.PayoutThreshold}} {{config.Unit}} / {{t "home.payouts_run" interval=config.PayoutInterval}}
- PPLNS {{t "home.payout_scheme_detail"}} +
+
Miners Online: {{format-number stats.model.minersTotal}}
+
Pool Hash Rate: {{format-hashrate stats.model.hashrate}}
+
Pool Fee: {{config.PoolFee}}
+ {{#if stats.model.stats.lastBlockFound}} +
Last Block Found: {{format-relative (seconds-to-ms stats.model.stats.lastBlockFound)}}
+ {{/if}}
-
-
{{t "home.miners_online"}}: {{format-number stats.model.minersTotal}}
-
{{t "home.pool_hashrate"}}: {{format-hashrate stats.model.hashrate}}
-
{{t "home.pool_fee"}}: {{config.PoolFee}}
- {{#if stats.model.stats.lastBlockFound}} -
{{t "home.last_block_found"}}: {{format-relative (seconds-to-ms stats.model.stats.lastBlockFound)}}
- {{/if}} -
-
- -
-
-
{{t "home.network_difficulty"}}: {{with-metric-prefix stats.difficulty}}
-
{{t "home.network_hashrate"}}: {{format-hashrate stats.hashrate}}
-
{{t "home.blockchain_height"}}: {{format-number stats.height}}
-
{{t "home.current_round_variance"}}: {{format-number stats.roundVariance style='percent'}}
-
+
Network Difficulty: {{with-metric-prefix stats.difficulty}}
+
Network Hash Rate: {{format-hashrate stats.hashrate}}
+
Blockchain Height: {{format-number stats.height}}
+
Current Round Variance: {{format-number stats.roundVariance style='percent'}}
+
-
- {{high-charts mode=chartMode chartOptions=chartOptions content=chartData}} -
-

{{t "home.query_history"}}

+

Your Stats & Payment History

- {{input value=cachedLogin class="form-control" placeholder=(t "home.input.enter_your_wallet_address")}} + {{input value=cachedLogin class="form-control" placeholder="Enter Your Ethereum Classic Address"}} - +
-
-
-
-
- 2b {{t "home.settings.title" hashes="< 150"}} -
- {{t "home.settings.difficulty" diff="2"}} - -

- {{t "home.settings.stratum_mining"}}: -

- stratum+tcp://{{config.StratumHost}}:8002 -
-
-
-
- 4b {{t "home.settings.title" hashes="150 - 800"}} -
- {{t "home.settings.difficulty" diff="4"}} -

- {{t "home.settings.stratum_mining"}}: -

- stratum+tcp://{{config.StratumHost}}:8004 -
- -
-
-
- 9b {{t "home.settings.title" hashes="> 800"}} & NiceHash -
- {{t "home.settings.difficulty" diff="9"}} -

- {{t "home.settings.stratum_mining"}}: -

- stratum+tcp://{{config.StratumHost}}:8009 -
+
+ {{high-charts mode=chartMode chartOptions=chartOptions content=chartData}} +
+ {{#if (equals config.Network 'mordor')}} +
+

+ Warning +

+

This is an experimental pool running on the Mordor testnet! All mined coins are for testing purposes only.

-
-
- - - -
-
-
-
{{t "home.settings.commands.windows_instruction"}}
-
-
- -
-
- -
-
-
-
- -
-
- -
-
-
-
-
-
-
-
-
{{t "home.settings.commands.windows_instruction"}}
-
-
- -
-
- -
-
-
-
- -
-
- -
-
-
-
+ {{/if}} +
+ diff --git a/www/app/templates/luck.hbs b/www/app/templates/luck.hbs index 14e5ad0..56a1c82 100644 --- a/www/app/templates/luck.hbs +++ b/www/app/templates/luck.hbs @@ -2,10 +2,10 @@ - - - - + + + + diff --git a/www/app/templates/miners.hbs b/www/app/templates/miners.hbs index 1b2f524..4d3b956 100644 --- a/www/app/templates/miners.hbs +++ b/www/app/templates/miners.hbs @@ -1,19 +1,19 @@ -
+
-

{{t "miners.total_hashrate"}}: {{format-hashrate model.hashrate}}.

- {{t "miners.total_miners"}}: {{model.minersTotal}} +

Total hashrate: {{format-hashrate model.hashrate}}.

+ Total miners: {{model.minersTotal}}
{{#if model.miners}} -

{{t "miners.miners"}}

+

Miners

{{t "luck.blocks"}}{{t "luck.shares_diff"}}{{t "luck.uncle_rate"}}{{t "luck.orphan_rate"}}BlocksShares/DiffUncle RateOrphan Rate
- - - + + + @@ -28,6 +28,6 @@
{{t "miners.login"}}{{t "miners.hashrate"}}{{t "miners.last_beat"}}LoginHashrateLast Beat
{{else}} -

{{t "miners.no_miners"}}

+

No miners

{{/if}}
diff --git a/www/app/templates/payments.hbs b/www/app/templates/payments.hbs index d09182b..5a0edb3 100644 --- a/www/app/templates/payments.hbs +++ b/www/app/templates/payments.hbs @@ -1,20 +1,20 @@ -
+
-

{{t "payments.pay_tx"}}

- {{t "payments.total_payments_sent"}}: {{model.paymentsTotal}} +

Pool always pays tx fees from it's own pocket for now.

+ Total payments sent: {{model.paymentsTotal}}
{{#if model.payments}} -

{{t "payments.latest_payouts"}}

+

Latest Payouts

- - - - + + + + @@ -23,10 +23,10 @@ {{/each}} @@ -34,6 +34,6 @@
{{t "payments.time"}}{{t "payments.amount"}}{{t "payments.address"}}{{t "payments.txid"}}TimeAmountAddressTx ID
{{format-date-locale tx.timestamp}} {{format-number tx.formatAmount}} - {{tx.address}} + {{tx.address}} - {{format-tx tx.tx}} + {{format-tx tx.tx}}
{{else}} -

{{t "payments.no_payouts_yet"}}

+

No payouts yet

{{/if}}
diff --git a/www/build.sh b/www/build.sh index a85623d..1f31609 100644 --- a/www/build.sh +++ b/www/build.sh @@ -1,4 +1,8 @@ #!/bin/bash +# This is dirty af but will do for now. +cp fix/intl-format-cache/src/* node_modules/intl-format-cache/src/ +cp fix/intl-format-cache/lib/* node_modules/intl-format-cache/lib/ + ./node_modules/.bin/ember build --environment production -sudo rsync -a dist/* /var/www/etcpool/ --delete \ No newline at end of file +sudo rsync -a dist/* /var/www/etc2pool/ --delete diff --git a/www/config/ember-intl.js b/www/config/ember-intl.js deleted file mode 100644 index 311b581..0000000 --- a/www/config/ember-intl.js +++ /dev/null @@ -1,53 +0,0 @@ -/*jshint node:true*/ - -module.exports = function(environment) { - return { - /** - * The locales that are application supports. - * - * This is optional and is automatically set if project stores translations - * where ember-intl is able to look them up (/translations/). - * - * If the project relies on side-loading translations, then you must explicitly - * list out the locales. i.e: ['en-us', 'en-gb', 'fr-fr'] - * - * @property locales - * @type {Array?} - * @default "null" - */ - locales: ['en-us'], - - /** - * baseLocale is used to determine if translation keys are missing from other locales. - * This is property is optional, and if you rely on sideloading translations then - * this should be null - * - * @property baseLocale - * @type {String?} - * @default "null" - */ - baseLocale: "en-us", - - /** - * disablePolyfill prevents the polyfill from being bundled in the asset folder of the build - * - * @property disablePolyfill - * @type {Boolean} - * @default "false" - */ - disablePolyfill: false, - - /** - * prevents the translations from being bundled with the application code. - * This enables asynchronously loading the translations for the active locale - * by fetching them from the asset folder of the build. - * - * See: https://github.com/jasonmit/ember-intl/wiki/Asynchronously-loading-translations - * - * @property publicOnly - * @type {Boolean} - * @default "false" - */ - publicOnly: false - }; -}; diff --git a/www/config/environment.js b/www/config/environment.js deleted file mode 100644 index b9788b3..0000000 --- a/www/config/environment.js +++ /dev/null @@ -1,70 +0,0 @@ -/* jshint node: true */ - -module.exports = function(environment) { - var ENV = { - modulePrefix: 'open-social-pool', - environment: environment, - rootURL: '/', - locationType: 'hash', - EmberENV: { - FEATURES: { - // Here you can enable experimental features on an ember canary build - // e.g. 'with-controller': true - } - }, - - APP: { - // API host and port - ApiUrl: '//127.0.0.1/', - PoolName: 'yuriy0803', - CompanyName: '127.0.0.1', - // HTTP mining endpoint - HttpHost: 'https://127.0.0.1', - HttpPort: 8882, - - // Stratum mining endpoint - StratumHost: '127.0.0.1', - StratumPort: 8002, - - // Fee and payout details - PoolFee: '0.5%', - PayoutThreshold: '1.0', - PayoutInterval: '3h', - - // For network hashrate (change for your favourite fork) - BlockTime: 14.4, - BlockReward: 3.2, - Unit: 'ETC:', - - } - }; - - if (environment === 'development') { - /* Override ApiUrl just for development, while you are customizing - frontend markup and css theme on your workstation. - */ - ENV.APP.ApiUrl = 'http://localhost:8080/' - // ENV.APP.LOG_RESOLVER = true; - // ENV.APP.LOG_ACTIVE_GENERATION = true; - // ENV.APP.LOG_TRANSITIONS = true; - // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; - // ENV.APP.LOG_VIEW_LOOKUPS = true; - } - - if (environment === 'test') { - // Testem prefers this... - ENV.locationType = 'none'; - - // keep test console output quieter - ENV.APP.LOG_ACTIVE_GENERATION = false; - ENV.APP.LOG_VIEW_LOOKUPS = false; - - ENV.APP.rootElement = '#ember-testing'; - } - - if (environment === 'production') { - - } - - return ENV; -}; diff --git a/www/fix/intl-format-cache/lib/es5.js b/www/fix/intl-format-cache/lib/es5.js new file mode 100644 index 0000000..6342011 --- /dev/null +++ b/www/fix/intl-format-cache/lib/es5.js @@ -0,0 +1,80 @@ +/* +Copyright (c) 2014, Yahoo! Inc. All rights reserved. +Copyrights licensed under the New BSD License. +See the accompanying LICENSE file for terms. +*/ + +/* jslint esnext: true */ + +// Function.prototype.bind implementation from Mozilla Developer Network: +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill + +"use strict"; + +var bind = Function.prototype.bind || function (oThis) { + if (typeof this !== 'function') { + // closest thing possible to the ECMAScript 5 + // internal IsCallable function + throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); + } + + var aArgs = Array.prototype.slice.call(arguments, 1), + fToBind = this, + fNOP = function() {}, + fBound = function() { + return fToBind.apply(this instanceof fNOP + ? this + : oThis, + aArgs.concat(Array.prototype.slice.call(arguments))); + }; + + if (this.prototype) { + // native functions don't have a prototype + fNOP.prototype = this.prototype; + } + fBound.prototype = new fNOP(); + + return fBound; +}; + +// Purposely using the same implementation as the Intl.js `Intl` polyfill. +// Copyright 2013 Andy Earnshaw, MIT License + +var hop = Object.prototype.hasOwnProperty; + +var realDefineProp = (function () { + try { return !!Object.defineProperty({}, 'a', {}); } + catch (e) { return false; } +})(); + +var es3 = !realDefineProp && !Object.prototype.__defineGetter__; + +var defineProperty = realDefineProp ? Object.defineProperty : + function (obj, name, desc) { + + if ('get' in desc && obj.__defineGetter__) { + obj.__defineGetter__(name, desc.get); + } else if (!hop.call(obj, name) || 'value' in desc) { + obj[name] = desc.value; + } +}; + +var objCreate = Object.create || function (proto, props) { + var obj, k; + + function F() {} + F.prototype = proto; + obj = new F(); + + for (k in props) { + if (hop.call(props, k)) { + defineProperty(obj, k, props[k]); + } + } + + return obj; +}; + +exports.bind = bind, exports.defineProperty = defineProperty, exports.objCreate = objCreate; + +//# sourceMappingURL=es5.js.map \ No newline at end of file diff --git a/www/fix/intl-format-cache/lib/es5.js.map b/www/fix/intl-format-cache/lib/es5.js.map new file mode 100644 index 0000000..e8c5394 --- /dev/null +++ b/www/fix/intl-format-cache/lib/es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["src/es5.js"],"names":[],"mappings":";;;;;;;;;;;;;AAWA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACnD,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MAC9B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MAC5C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC9B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F;;IAEA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,C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AAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAE/D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;;IAE/B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B;AACJ,CAAC;;AAED,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACrD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;;IAEV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEb,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACb,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC;IACJ;;IAEA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACd,CAAC","file":"tmp/src/es5.js","sourceRoot":"/","sourcesContent":["/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n// Function.prototype.bind implementation from Mozilla Developer Network:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill\n\nvar bind = Function.prototype.bind || function (oThis) {\n if (typeof this !== 'function') {\n // closest thing possible to the ECMAScript 5\n // internal IsCallable function\n throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function() {},\n fBound = function() {\n return fToBind.apply(this instanceof fNOP\n ? this\n : oThis,\n aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n if (this.prototype) {\n // native functions don't have a prototype\n fNOP.prototype = this.prototype;\n }\n fBound.prototype = new fNOP();\n\n return fBound;\n};\n\n// Purposely using the same implementation as the Intl.js `Intl` polyfill.\n// Copyright 2013 Andy Earnshaw, MIT License\n\nvar hop = Object.prototype.hasOwnProperty;\n\nvar realDefineProp = (function () {\n try { return !!Object.defineProperty({}, 'a', {}); }\n catch (e) { return false; }\n})();\n\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\nvar defineProperty = realDefineProp ? Object.defineProperty :\n function (obj, name, desc) {\n\n if ('get' in desc && obj.__defineGetter__) {\n obj.__defineGetter__(name, desc.get);\n } else if (!hop.call(obj, name) || 'value' in desc) {\n obj[name] = desc.value;\n }\n};\n\nvar objCreate = Object.create || function (proto, props) {\n var obj, k;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (k in props) {\n if (hop.call(props, k)) {\n defineProperty(obj, k, props[k]);\n }\n }\n\n return obj;\n};\n\nexport {bind, defineProperty, objCreate};\n"]} \ No newline at end of file diff --git a/www/fix/intl-format-cache/lib/memoizer.js b/www/fix/intl-format-cache/lib/memoizer.js new file mode 100644 index 0000000..6731b6b --- /dev/null +++ b/www/fix/intl-format-cache/lib/memoizer.js @@ -0,0 +1,83 @@ +/* +Copyright (c) 2014, Yahoo! Inc. All rights reserved. +Copyrights licensed under the New BSD License. +See the accompanying LICENSE file for terms. +*/ + +/* jshint esnext: true */ + +"use strict"; +var src$es5$$ = require("./es5"); +exports["default"] = createFormatCache; + +// ----------------------------------------------------------------------------- + +function createFormatCache(FormatConstructor) { + var cache = src$es5$$.objCreate(null); + + return function () { + var args = Array.prototype.slice.call(arguments); + var cacheId = getCacheId(args); + var format = cacheId && cache[cacheId]; + + if (!format) { + format = new (src$es5$$.bind.apply(FormatConstructor, [null].concat(args)))(); + + if (cacheId) { + cache[cacheId] = format; + } + } + + return format; + }; +} + +// -- Utilities ---------------------------------------------------------------- + +function getCacheId(inputs) { + // When JSON is not available in the runtime, we will not create a cache id. + if (typeof JSON === 'undefined') { return; } + + var cacheId = []; + + var i, len, input; + + for (i = 0, len = inputs.length; i < len; i += 1) { + input = inputs[i]; + + if (input && typeof input === 'object') { + cacheId.push(orderedProps(input)); + } else { + cacheId.push(input); + } + } + + return JSON.stringify(cacheId); +} + +function orderedProps(obj) { + var props = [], + keys = []; + + var key, i, len, prop; + + for (key in obj) { + if (obj.hasOwnProperty(key)) { + keys.push(key); + } + } + + var orderedKeys = keys.sort(); + + for (i = 0, len = orderedKeys.length; i < len; i += 1) { + key = orderedKeys[i]; + prop = {}; + + prop[key] = obj[key]; + props[i] = prop; + } + + return props; +} + +//# sourceMappingURL=memoizer.js.map \ No newline at end of file diff --git a/www/fix/intl-format-cache/lib/memoizer.js.map b/www/fix/intl-format-cache/lib/memoizer.js.map new file mode 100644 index 0000000..6b55889 --- /dev/null +++ b/www/fix/intl-format-cache/lib/memoizer.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["src/memoizer.js"],"names":[],"mappings":"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","file":"tmp/src/memoizer.js","sourceRoot":"/","sourcesContent":["/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jshint esnext: true */\n\nimport {bind, objCreate} from './es5';\n\nexport default createFormatCache;\n\n// -----------------------------------------------------------------------------\n\nfunction createFormatCache(FormatConstructor) {\n var cache = objCreate(null);\n\n return function () {\n var args = Array.prototype.slice.call(arguments);\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n\n if (!format) {\n format = new (bind.apply(FormatConstructor, [null].concat(args)))();\n\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n\n return format;\n };\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction getCacheId(inputs) {\n // When JSON is not available in the runtime, we will not create a cache id.\n if (typeof JSON === 'undefined') { return; }\n\n var cacheId = [];\n\n var i, len, input;\n\n for (i = 0, len = inputs.length; i < len; i += 1) {\n input = inputs[i];\n\n if (input && typeof input === 'object') {\n cacheId.push(orderedProps(input));\n } else {\n cacheId.push(input);\n }\n }\n\n return JSON.stringify(cacheId);\n}\n\nfunction orderedProps(obj) {\n var props = [],\n keys = [];\n\n var key, i, len, prop;\n\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n\n var orderedKeys = keys.sort();\n\n for (i = 0, len = orderedKeys.length; i < len; i += 1) {\n key = orderedKeys[i];\n prop = {};\n\n prop[key] = obj[key];\n props[i] = prop;\n }\n\n return props;\n}\n"]} \ No newline at end of file diff --git a/www/fix/intl-format-cache/src/es5.js b/www/fix/intl-format-cache/src/es5.js new file mode 100644 index 0000000..54c94e5 --- /dev/null +++ b/www/fix/intl-format-cache/src/es5.js @@ -0,0 +1,76 @@ +/* +Copyright (c) 2014, Yahoo! Inc. All rights reserved. +Copyrights licensed under the New BSD License. +See the accompanying LICENSE file for terms. +*/ + +/* jslint esnext: true */ + +// Function.prototype.bind implementation from Mozilla Developer Network: +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill + +var bind = Function.prototype.bind || function (oThis) { + if (typeof this !== 'function') { + // closest thing possible to the ECMAScript 5 + // internal IsCallable function + throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); + } + + var aArgs = Array.prototype.slice.call(arguments, 1), + fToBind = this, + fNOP = function() {}, + fBound = function() { + return fToBind.apply(this instanceof fNOP + ? this + : oThis, + aArgs.concat(Array.prototype.slice.call(arguments))); + }; + + if (this.prototype) { + // native functions don't have a prototype + fNOP.prototype = this.prototype; + } + fBound.prototype = new fNOP(); + + return fBound; +}; + +// Purposely using the same implementation as the Intl.js `Intl` polyfill. +// Copyright 2013 Andy Earnshaw, MIT License + +var hop = Object.prototype.hasOwnProperty; + +var realDefineProp = (function () { + try { return !!Object.defineProperty({}, 'a', {}); } + catch (e) { return false; } +})(); + +var es3 = !realDefineProp && !Object.prototype.__defineGetter__; + +var defineProperty = realDefineProp ? Object.defineProperty : + function (obj, name, desc) { + + if ('get' in desc && obj.__defineGetter__) { + obj.__defineGetter__(name, desc.get); + } else if (!hop.call(obj, name) || 'value' in desc) { + obj[name] = desc.value; + } +}; + +var objCreate = Object.create || function (proto, props) { + var obj, k; + + function F() {} + F.prototype = proto; + obj = new F(); + + for (k in props) { + if (hop.call(props, k)) { + defineProperty(obj, k, props[k]); + } + } + + return obj; +}; + +export {bind, defineProperty, objCreate}; diff --git a/www/fix/intl-format-cache/src/memoizer.js b/www/fix/intl-format-cache/src/memoizer.js new file mode 100644 index 0000000..3627be2 --- /dev/null +++ b/www/fix/intl-format-cache/src/memoizer.js @@ -0,0 +1,81 @@ +/* +Copyright (c) 2014, Yahoo! Inc. All rights reserved. +Copyrights licensed under the New BSD License. +See the accompanying LICENSE file for terms. +*/ + +/* jshint esnext: true */ + +import {bind, objCreate} from './es5'; + +export default createFormatCache; + +// ----------------------------------------------------------------------------- + +function createFormatCache(FormatConstructor) { + var cache = objCreate(null); + + return function () { + var args = Array.prototype.slice.call(arguments); + var cacheId = getCacheId(args); + var format = cacheId && cache[cacheId]; + + if (!format) { + format = new (bind.apply(FormatConstructor, [null].concat(args)))(); + + if (cacheId) { + cache[cacheId] = format; + } + } + + return format; + }; +} + +// -- Utilities ---------------------------------------------------------------- + +function getCacheId(inputs) { + // When JSON is not available in the runtime, we will not create a cache id. + if (typeof JSON === 'undefined') { return; } + + var cacheId = []; + + var i, len, input; + + for (i = 0, len = inputs.length; i < len; i += 1) { + input = inputs[i]; + + if (input && typeof input === 'object') { + cacheId.push(orderedProps(input)); + } else { + cacheId.push(input); + } + } + + return JSON.stringify(cacheId); +} + +function orderedProps(obj) { + var props = [], + keys = []; + + var key, i, len, prop; + + for (key in obj) { + if (obj.hasOwnProperty(key)) { + keys.push(key); + } + } + + var orderedKeys = keys.sort(); + + for (i = 0, len = orderedKeys.length; i < len; i += 1) { + key = orderedKeys[i]; + prop = {}; + + prop[key] = obj[key]; + props[i] = prop; + } + + return props; +} diff --git a/www/package-lock.json b/www/package-lock.json index 89d7f59..48a8341 100644 --- a/www/package-lock.json +++ b/www/package-lock.json @@ -1,1592 +1,1700 @@ { - "name": "open-social-pool", + "name": "open-etc-pool", "version": "0.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/compat-data": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.8.tgz", + "integrity": "sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog==", + "dev": true + }, + "@babel/core": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.8.tgz", + "integrity": "sha512-oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.0", + "@babel/helper-compilation-targets": "^7.13.8", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helpers": "^7.13.0", + "@babel/parser": "^7.13.4", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "@babel/generator": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.0.tgz", + "integrity": "sha512-zBZfgvBB/ywjx0Rgc2+BwoH/3H+lDtlgD4hBOpEv5LxRnYsm/753iRuLepqnYlynpjC3AdQxtxsoeHJoEEwOAw==", "dev": true, "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "@babel/types": "^7.13.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + } } }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true + "@babel/helper-annotate-as-pure": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } }, - "after": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.1.tgz", - "integrity": "sha1-q11PuIP1loFtNRX495HAr0ht1ic=", - "dev": true + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" + } }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "@babel/helper-compilation-targets": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.8.tgz", + "integrity": "sha512-pBljUGC1y3xKLn1nrx2eAhurLMA8OqBtBP/JwG4U8skN7kf8/aqwwxpV1N6T0e7r6+7uNitIa/fUxPFagSXp3A==", "dev": true, - "optional": 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" + "@babel/compat-data": "^7.13.8", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" + }, + "dependencies": { + "browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + } + }, + "caniuse-lite": { + "version": "1.0.30001192", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz", + "integrity": "sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.675", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.675.tgz", + "integrity": "sha512-GEQw+6dNWjueXGkGfjgm7dAMtXfEqrfDG3uWcZdeaD4cZ3dKYdPRQVruVXQRXtPLtOr5GNVVlNLRMChOZ611pQ==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "align-text": { + "@babel/helper-create-class-features-plugin": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.8.tgz", + "integrity": "sha512-qioaRrKHQbn4hkRKDHbnuQ6kAxmmOF+kzKGnIfxPK4j2rckSJCpKzr/SSTlohSCiE3uAQpNDJ9FIh4baeE8W+w==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", + "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "regexpu-core": "^4.7.1" + }, + "dependencies": { + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", + "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "@babel/helper-define-polyfill-provider": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.4.tgz", + "integrity": "sha512-K5V2GaQZ1gpB+FTXM4AFVG2p1zzhm67n9wrQCJYNzvuLzQybhJyftW7qeDd2uUxPDNdl5Rkon1rOAeUeNDZ28Q==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", + "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "@babel/types": "^7.13.0" } }, - "alter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", - "integrity": "sha1-x1iICGF1cgNKrmJICvJrHU0cs80=", + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "dev": true, "requires": { - "stable": "~0.1.3" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, - "amd-name-resolver": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-0.0.6.tgz", - "integrity": "sha1-0+S6Lfyqsdggwb6d6UfGeCjP5ZU=", + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "requires": { - "ensure-posix-path": "^1.0.1" + "@babel/types": "^7.12.13" } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true + "@babel/helper-hoist-variables": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz", + "integrity": "sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==", + "dev": true, + "requires": { + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } }, - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true + "@babel/helper-member-expression-to-functions": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz", + "integrity": "sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ==", + "dev": true, + "requires": { + "@babel/types": "^7.13.0" + } }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-transforms": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz", + "integrity": "sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", "dev": true }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "@babel/helper-remap-async-to-generator": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", + "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz", + "integrity": "sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, - "ansicolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz", - "integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=", + "@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", "dev": true }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "@babel/helper-wrap-function": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", + "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helpers": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.0.tgz", + "integrity": "sha512-aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ==", + "dev": true, + "requires": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/highlight": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz", + "integrity": "sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, "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 + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "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" - } - } + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "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" - } - } - } - }, - "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-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" + "has-flag": "^3.0.0" } } } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "@babel/parser": { + "version": "7.13.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.4.tgz", + "integrity": "sha512-uvoOulWHhI+0+1f9L4BoozY7U5cIkZ9PgJqvb041d6vypgUmtVPG4vmGm4pSggjl8BELzvHyUeJSUyEMY6b+qA==", "dev": true }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz", + "integrity": "sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==", "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "http://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" - } - }, - "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" - } - } + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@babel/plugin-proposal-class-properties": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", + "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" - }, - "dependencies": { - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - } + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" } }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "@babel/plugin-proposal-decorators": { + "version": "7.13.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.13.5.tgz", + "integrity": "sha512-i0GDfVNuoapwiheevUOuSW67mInqJ8qw7uWfpjNVeHMn143kXblEy/bmL9AdZ/0yf/4BMQeWXezK0tQIvNPqag==", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-decorators": "^7.12.13" } }, - "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 + "@babel/plugin-proposal-dynamic-import": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", + "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } }, - "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 + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true + "@babel/plugin-proposal-json-strings": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", + "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", + "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } }, - "array-to-error": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-to-error/-/array-to-error-1.1.1.tgz", - "integrity": "sha1-1ogSkm0UCXogVXmmZ+6vGFakTAc=", + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", + "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", "dev": true, "requires": { - "array-to-sentence": "^1.1.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, - "array-to-sentence": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-to-sentence/-/array-to-sentence-1.1.0.tgz", - "integrity": "sha1-yASVba+lMjJJWyBalFJ1OiWNOfw=", - "dev": true + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", + "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.8", + "@babel/helper-compilation-targets": "^7.13.8", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.13.0" + } }, - "arraybuffer.slice": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", - "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", - "dev": true + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", + "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "@babel/plugin-proposal-optional-chaining": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz", + "integrity": "sha512-hpbBwbTgd7Cz1QryvwJZRo1U0k1q8uyBmeXOSQUjdg/A2TASkhR/rz7AyqZ/kS8kbpsNA80rOYbxySBJAqmhhQ==", "dev": true, - "optional": true, "requires": { - "safer-buffer": "~2.1.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "@babel/plugin-proposal-private-methods": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", + "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" + } }, - "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 + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "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 + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "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 + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "@babel/plugin-syntax-decorators": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", + "integrity": "sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==", "dev": true, "requires": { - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "^7.12.13" } }, - "async-disk-cache": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/async-disk-cache/-/async-disk-cache-1.3.3.tgz", - "integrity": "sha512-GyaWSbDAZCltxSobtj1m1ptXa0+zSdjWs3sM4IqnvhoRwMDHW5786sXQ1RiXbR3ZGuQe6NXMB4N0vUmW163cew==", + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "requires": { - "debug": "^2.1.3", - "heimdalljs": "^0.2.3", - "istextorbinary": "2.1.0", - "mkdirp": "^0.5.0", - "rimraf": "^2.5.3", - "rsvp": "^3.0.18", - "username-sync": "1.0.1" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "async-promise-queue": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/async-promise-queue/-/async-promise-queue-1.0.4.tgz", - "integrity": "sha512-GQ5X3DT+TefYuFPHdvIPXFTlKnh39U7dwtl+aUBGeKjMea9nBpv3c91DXgeyBQmY07vQ97f3Sr9XHqkamEameQ==", + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "requires": { - "async": "^2.4.1", - "debug": "^2.6.8" + "@babel/helper-plugin-utils": "^7.8.3" } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "optional": true + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "optional": true + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "optional": true + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } }, - "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=", + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - } + "@babel/helper-plugin-utils": "^7.8.0" } }, - "babel-core": { - "version": "5.8.38", - "resolved": "http://registry.npmjs.org/babel-core/-/babel-core-5.8.38.tgz", - "integrity": "sha1-H8ruedfmG3ULALjlT238nQr4ZVg=", + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "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" + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", + "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", + "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", + "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", + "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", + "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13", + "globals": "^11.1.0" }, "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "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" - } } } }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "@babel/plugin-transform-computed-properties": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", + "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", "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" - }, - "dependencies": { - "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" - } - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "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" - } - } + "@babel/helper-plugin-utils": "^7.13.0" } }, - "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=", + "@babel/plugin-transform-destructuring": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", + "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "@babel/helper-plugin-utils": "^7.13.0" } }, - "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=", + "@babel/plugin-transform-dotall-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", "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-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, - "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=", + "@babel/plugin-transform-duplicate-keys": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", "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-plugin-utils": "^7.12.13" } }, - "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=", + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", "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": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, - "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=", + "@babel/plugin-transform-for-of": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", + "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", "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-plugin-utils": "^7.13.0" } }, - "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=", + "@babel/plugin-transform-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", + "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, - "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=", + "@babel/plugin-transform-literals": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", + "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "@babel/helper-plugin-utils": "^7.12.13" } }, - "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=", + "@babel/plugin-transform-member-expression-literals": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "@babel/helper-plugin-utils": "^7.12.13" } }, - "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=", + "@babel/plugin-transform-modules-amd": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", + "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, - "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=", + "@babel/plugin-transform-modules-commonjs": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", + "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", "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-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, - "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=", + "@babel/plugin-transform-modules-systemjs": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", + "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", "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/helper-hoist-variables": "^7.13.0", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-identifier": "^7.12.11", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "@babel/plugin-transform-modules-umd": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", + "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/helper-create-regexp-features-plugin": "^7.12.13" } }, - "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=", + "@babel/plugin-transform-new-target": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", + "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/helper-plugin-utils": "^7.12.13" } }, - "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-debug-macros": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.2.0.tgz", - "integrity": "sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==", + "@babel/plugin-transform-object-super": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", + "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", "dev": true, "requires": { - "semver": "^5.3.0" + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" } }, - "babel-plugin-ember-modules-api-polyfill": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-ember-modules-api-polyfill/-/babel-plugin-ember-modules-api-polyfill-2.5.0.tgz", - "integrity": "sha512-o1rOgWFHR0IRBjC9Dvqc2V4MKE2UvdMv/fD/c5GUMAkS6DlTjQV54iMH9sdQ3TGfXPukPKBIOpoSoH/hdfGiMg==", + "@babel/plugin-transform-parameters": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", + "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", "dev": true, "requires": { - "ember-rfc176-data": "^0.3.5" + "@babel/helper-plugin-utils": "^7.13.0" } }, - "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-htmlbars-inline-precompile": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-htmlbars-inline-precompile/-/babel-plugin-htmlbars-inline-precompile-0.1.1.tgz", - "integrity": "sha512-uG5QNBSmVOXwgOKo1pHXxTS47GppolC9FOzpiAcU5BbD/P/SrJ08XUY6PBttul4DvfmyhdYdh6cTCBxDTB7Etw==", - "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-transform-property-literals": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "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-transform-regenerator": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", + "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + } + } }, - "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-transform-reserved-words": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "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=", + "@babel/plugin-transform-runtime": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.8.tgz", + "integrity": "sha512-6UbZ7P0FuuJiiUyRCfDgLw4PIG9bR2x6swHocv4qNZItkhXad0WsN6YX0deILuyZY2++meDKiDMuSVcejDZN0Q==", "dev": true, "requires": { - "lodash": "^3.9.3" + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "babel-plugin-polyfill-corejs2": "^0.1.4", + "babel-plugin-polyfill-corejs3": "^0.1.3", + "babel-plugin-polyfill-regenerator": "^0.1.2", + "semver": "^6.3.0" }, "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "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-transform-shorthand-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "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-transform-spread": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", + "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } }, - "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-transform-sticky-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "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-transform-template-literals": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", + "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true + "@babel/plugin-transform-typeof-symbol": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true + "@babel/plugin-transform-typescript": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz", + "integrity": "sha512-elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-typescript": "^7.12.13" + } }, - "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-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=", + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", "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/helper-plugin-utils": "^7.12.13" } }, - "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=", + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, - "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=", + "@babel/polyfill": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", + "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, - "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/preset-env": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.8.tgz", + "integrity": "sha512-Sso1xOpV4S3ofnxW2DsWTE5ziRk62jEAKLGuQ+EJHC+YHTbFG38QUTixO3JVa1cYET9gkJhO1pMu+/+2dDhKvw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.8", + "@babel/helper-compilation-targets": "^7.13.8", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-proposal-async-generator-functions": "^7.13.8", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-dynamic-import": "^7.13.8", + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", + "@babel/plugin-proposal-json-strings": "^7.13.8", + "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-numeric-separator": "^7.12.13", + "@babel/plugin-proposal-object-rest-spread": "^7.13.8", + "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.8", + "@babel/plugin-proposal-private-methods": "^7.13.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.12.13", + "@babel/plugin-transform-arrow-functions": "^7.13.0", + "@babel/plugin-transform-async-to-generator": "^7.13.0", + "@babel/plugin-transform-block-scoped-functions": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-classes": "^7.13.0", + "@babel/plugin-transform-computed-properties": "^7.13.0", + "@babel/plugin-transform-destructuring": "^7.13.0", + "@babel/plugin-transform-dotall-regex": "^7.12.13", + "@babel/plugin-transform-duplicate-keys": "^7.12.13", + "@babel/plugin-transform-exponentiation-operator": "^7.12.13", + "@babel/plugin-transform-for-of": "^7.13.0", + "@babel/plugin-transform-function-name": "^7.12.13", + "@babel/plugin-transform-literals": "^7.12.13", + "@babel/plugin-transform-member-expression-literals": "^7.12.13", + "@babel/plugin-transform-modules-amd": "^7.13.0", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/plugin-transform-modules-systemjs": "^7.13.8", + "@babel/plugin-transform-modules-umd": "^7.13.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", + "@babel/plugin-transform-new-target": "^7.12.13", + "@babel/plugin-transform-object-super": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.13.0", + "@babel/plugin-transform-property-literals": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.12.13", + "@babel/plugin-transform-reserved-words": "^7.12.13", + "@babel/plugin-transform-shorthand-properties": "^7.12.13", + "@babel/plugin-transform-spread": "^7.13.0", + "@babel/plugin-transform-sticky-regex": "^7.12.13", + "@babel/plugin-transform-template-literals": "^7.13.0", + "@babel/plugin-transform-typeof-symbol": "^7.12.13", + "@babel/plugin-transform-unicode-escapes": "^7.12.13", + "@babel/plugin-transform-unicode-regex": "^7.12.13", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.13.0", + "babel-plugin-polyfill-corejs2": "^0.1.4", + "babel-plugin-polyfill-corejs3": "^0.1.3", + "babel-plugin-polyfill-regenerator": "^0.1.2", + "core-js-compat": "^3.9.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "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=", + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", "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/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" } }, - "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=", + "@babel/runtime": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.8.tgz", + "integrity": "sha512-CwQljpw6qSayc0fRG1soxHAKs1CnQMOChm4mlQP6My0kf9upVGizj/KhlTTgyUnETmHpcUXjaluNAkteRFuafg==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, - "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=", + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, - "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=", + "@babel/traverse": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", + "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.0", + "@babel/types": "^7.13.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } } }, - "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=", + "@babel/types": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", + "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } } }, - "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" - } + "@ember-data/rfc395-data": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@ember-data/rfc395-data/-/rfc395-data-0.0.4.tgz", + "integrity": "sha512-tGRdvgC9/QMQSuSuJV45xoyhI0Pzjm7A9o/MVVA3HakXIImJbbzx/k/6dO9CUEQXIyS2y0fW6C1XaYOG7rY0FQ==", + "dev": true }, - "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=", + "@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" } }, - "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" - } + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true }, - "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==", + "@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", "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" + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.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=", + "@types/fs-extra": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.1.0.tgz", + "integrity": "sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "@types/node": "*" } }, - "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=", + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "@types/minimatch": "*", + "@types/node": "*" } }, - "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" - } + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true }, - "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" - } + "@types/node": { + "version": "14.14.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz", + "integrity": "sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==", + "dev": true }, - "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=", + "@types/rimraf": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.4.tgz", + "integrity": "sha512-8gBudvllD2A/c0CcEX/BivIDorHFt5UI5m46TsNj8DjWCCTTZT74kEe4g+QsY7P/B9WdO98d82zZgXO/RQzu2Q==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "@types/glob": "*", + "@types/node": "*" } }, - "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=", + "@types/symlink-or-copy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/symlink-or-copy/-/symlink-or-copy-1.2.0.tgz", + "integrity": "sha512-Lja2xYuuf2B3knEsga8ShbOdsfNOtzT73GyJmZyY7eGl2+ajOqrs8yM5ze0fsSoYwvA6bw7/Qr7OZ7PEEmYwWg==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" } }, - "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=", + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "after": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.1.tgz", + "integrity": "sha1-q11PuIP1loFtNRX495HAr0ht1ic=", + "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": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, - "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=", + "alter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", + "integrity": "sha1-x1iICGF1cgNKrmJICvJrHU0cs80=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "stable": "~0.1.3" } }, - "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=", + "amd-name-resolver": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-0.0.6.tgz", + "integrity": "sha1-0+S6Lfyqsdggwb6d6UfGeCjP5ZU=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "ensure-posix-path": "^1.0.1" } }, - "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-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-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" - } + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true }, - "babel-plugin-undeclared-variables-check": { - "version": "1.0.2", - "resolved": "http://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" - } + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true }, - "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=", + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "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 - } - } + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.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.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - } + "ansicolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz", + "integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=", + "dev": true }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "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" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" }, "dependencies": { - "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" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "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 }, - "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==", + "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 }, - "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=", + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "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" + } + } } }, - "json5": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "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==", + "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": { - "source-map": "^0.5.6" - } - } - } - }, - "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" - }, - "dependencies": { - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - } - } - }, - "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" - }, - "dependencies": { - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true + "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 + } + } }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - } - } - }, - "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": "5.8.38", - "resolved": "http://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz", - "integrity": "sha1-7JsSCxG/bM1Bc6GL8hfmC3mFn/0=", - "dev": true - }, - "backbone": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.3.3.tgz", - "integrity": "sha1-TMgOp8sWMaxHSInOQPL4vGg7KZk=", - "dev": true, - "requires": { - "underscore": ">=1.8.3" - } - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "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=", + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "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" + } + } } }, "is-accessor-descriptor": { @@ -1618,1777 +1726,1133 @@ "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 - } - } - }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64id": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz", - "integrity": "sha1-As4P3u4M709ACA4ec+g08LG/zj8=", + "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.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "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" + } + } + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, - "basic-auth": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", - "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + }, + "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" + } + } } }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + } } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "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": { - "callsite": "1.0.0" + "arr-flatten": "^1.0.1" } }, - "binaryextensions": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.1.tgz", - "integrity": "sha512-XBaoWE9RW8pPdPQNibZsW2zh8TW6gcarXp1FZPwT8Uop8ScSNldJEWf2k9l3HeTqdrEwsOsFcq74RiJECW34yA==", + "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 }, - "blank-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/blank-object/-/blank-object-1.0.2.tgz", - "integrity": "sha1-+ZB5P76ajI3QE/syGUIL7IHV9Lk=", + "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 }, - "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, - "bluebird": { - "version": "2.11.0", - "resolved": "http://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "array-to-error": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-to-error/-/array-to-error-1.1.1.tgz", + "integrity": "sha1-1ogSkm0UCXogVXmmZ+6vGFakTAc=", "dev": true, "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } + "array-to-sentence": "^1.1.0" } }, - "bower": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz", - "integrity": "sha1-54dqB23rgTf30GUl3F6MZtuC8oo=", + "array-to-sentence": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-to-sentence/-/array-to-sentence-1.1.0.tgz", + "integrity": "sha1-yASVba+lMjJJWyBalFJ1OiWNOfw=", "dev": true }, - "bower-config": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-1.4.1.tgz", - "integrity": "sha1-hf2d82fCuNu9DKpMXyutQM2Ewsw=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.3", - "mout": "^1.0.0", - "optimist": "^0.6.1", - "osenv": "^0.1.3", - "untildify": "^2.1.0" - } - }, - "bower-endpoint-parser": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz", - "integrity": "sha1-ALVlrb+rby01rd3pd+l5Yqy8s/Y=", + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "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" - } + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true }, - "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" - } + "arraybuffer.slice": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", + "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", + "dev": true }, - "breakable": { + "assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz", - "integrity": "sha1-eEp5eRWjjq0nutRWtVcstLuqeME=", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, - "broccoli-asset-rev": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/broccoli-asset-rev/-/broccoli-asset-rev-2.7.0.tgz", - "integrity": "sha512-GZ7gU3Qo6HMAUqDeh1q+4UVCQPJPjCyGcpIY5s9Qp58a244FT4nZSiy8qYkVC4LLIWTZt59G7jFFsUcj/13IPQ==", + "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": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "dev": true, "requires": { - "broccoli-asset-rewrite": "^1.1.0", - "broccoli-filter": "^1.2.2", - "broccoli-persistent-filter": "^1.4.3", - "json-stable-stringify": "^1.0.0", - "minimatch": "^3.0.4", - "rsvp": "^3.0.6" + "lodash": "^4.17.14" } }, - "broccoli-asset-rewrite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/broccoli-asset-rewrite/-/broccoli-asset-rewrite-1.1.0.tgz", - "integrity": "sha1-d6XaVhV6oxjFkRMkXouvtGF/iDA=", + "async-disk-cache": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/async-disk-cache/-/async-disk-cache-1.3.5.tgz", + "integrity": "sha512-VZpqfR0R7CEOJZ/0FOTgWq70lCrZyS1rkI8PXugDUkTKyyAUgZ2zQ09gLhMkEn+wN8LYeUTPxZdXtlX/kmbXKQ==", "dev": true, "requires": { - "broccoli-filter": "^1.2.3" + "debug": "^2.1.3", + "heimdalljs": "^0.2.3", + "istextorbinary": "2.1.0", + "mkdirp": "^0.5.0", + "rimraf": "^2.5.3", + "rsvp": "^3.0.18", + "username-sync": "^1.0.2" } }, - "broccoli-babel-transpiler": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-5.7.4.tgz", - "integrity": "sha512-gI14Pqc4qbmn5RW4SuAmybLiOoYW59D+HzQyhY6WdaGMAjikKBwJN0p17phyvafQ+kvG0mUiMd83lgHLeATnEA==", + "async-promise-queue": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/async-promise-queue/-/async-promise-queue-1.0.5.tgz", + "integrity": "sha512-xi0aQ1rrjPWYmqbwr18rrSKbSaXIeIwSd1J4KAgVfkq8utNbdZoht7GfvfY6swFUAMJ9obkc4WPJmtGwl+B8dw==", "dev": true, "requires": { - "babel-core": "^5.0.0", - "broccoli-funnel": "^1.0.0", - "broccoli-merge-trees": "^1.0.0", - "broccoli-persistent-filter": "^1.4.2", - "clone": "^0.2.0", - "hash-for-dep": "^1.0.2", - "heimdalljs-logger": "^0.1.7", - "json-stable-stringify": "^1.0.0", - "rsvp": "^3.5.0", - "workerpool": "^2.3.0" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - } + "async": "^2.4.1", + "debug": "^2.6.8" } }, - "broccoli-brocfile-loader": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/broccoli-brocfile-loader/-/broccoli-brocfile-loader-0.18.0.tgz", - "integrity": "sha1-LoYCHIBcNP/I0povtyHPJz6Bnks=", - "dev": true, - "requires": { - "findup-sync": "^0.4.2" - } + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true }, - "broccoli-builder": { - "version": "0.18.14", - "resolved": "https://registry.npmjs.org/broccoli-builder/-/broccoli-builder-0.18.14.tgz", - "integrity": "sha1-S3ni+ETeEaThuBbD9Jxt9HdsMS0=", + "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": { - "broccoli-node-info": "^1.1.0", - "heimdalljs": "^0.2.0", - "promise-map-series": "^0.2.1", - "quick-temp": "^0.1.2", - "rimraf": "^2.2.8", - "rsvp": "^3.0.17", - "silent-error": "^1.0.1" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + } } }, - "broccoli-caching-writer": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/broccoli-caching-writer/-/broccoli-caching-writer-2.3.1.tgz", - "integrity": "sha1-uTz1j5Jk8AMHWGjbBXdPTn8lvQc=", + "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": { - "broccoli-kitchen-sink-helpers": "^0.2.5", - "broccoli-plugin": "1.1.0", + "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", - "rimraf": "^2.2.8", - "rsvp": "^3.0.17", - "walk-sync": "^0.2.5" + "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" }, "dependencies": { - "broccoli-kitchen-sink-helpers": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/broccoli-kitchen-sink-helpers/-/broccoli-kitchen-sink-helpers-0.2.9.tgz", - "integrity": "sha1-peCYbtjXb7WYS2jD8EUNOpbjbsw=", - "dev": true, - "requires": { - "glob": "^5.0.10", - "mkdirp": "^0.5.1" - } - }, - "broccoli-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.1.0.tgz", - "integrity": "sha1-c+LPoF+OoeP8FCDEDD2efcckvwI=", - "dev": true, - "requires": { - "promise-map-series": "^0.2.1", - "quick-temp": "^0.1.3", - "rimraf": "^2.3.4", - "symlink-or-copy": "^1.0.1" - } + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true }, - "walk-sync": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.2.7.tgz", - "integrity": "sha1-tJvk7mhnZXrrc2l4tWop0Q+jmWk=", + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", "dev": true, "requires": { - "ensure-posix-path": "^1.0.0", - "matcher-collection": "^1.0.0" + "brace-expansion": "^1.0.0" } } } }, - "broccoli-cldr-data": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/broccoli-cldr-data/-/broccoli-cldr-data-0.4.2.tgz", - "integrity": "sha1-fM3Ae3J10icsIW5W2L22zV//2ho=", + "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": { - "broccoli-caching-writer": "^3.0.3", - "formatjs-extract-cldr-data": "^2.0.0", - "mkdirp": "^0.5.1", - "serialize-javascript": "^1.3.0" + "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" }, "dependencies": { - "broccoli-caching-writer": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/broccoli-caching-writer/-/broccoli-caching-writer-3.0.3.tgz", - "integrity": "sha1-C9LJapc41qarWQ8HujXFFX19tHY=", + "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": { - "broccoli-kitchen-sink-helpers": "^0.3.1", - "broccoli-plugin": "^1.2.1", - "debug": "^2.1.1", - "rimraf": "^2.2.8", - "rsvp": "^3.0.17", - "walk-sync": "^0.3.0" + "repeating": "^2.0.0" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "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" } } } }, - "broccoli-clean-css": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/broccoli-clean-css/-/broccoli-clean-css-1.1.0.tgz", - "integrity": "sha1-nbFD2a9+CuecJuOsWpuy1yDqGfo=", + "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": { - "broccoli-persistent-filter": "^1.1.6", - "clean-css-promise": "^0.1.0", - "inline-source-map-comment": "^1.0.5", - "json-stable-stringify": "^1.0.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, - "broccoli-concat": { - "version": "2.3.8", - "resolved": "http://registry.npmjs.org/broccoli-concat/-/broccoli-concat-2.3.8.tgz", - "integrity": "sha1-WQzcwCG7kFtsEh2HwtHVffRKKkg=", + "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": { - "broccoli-caching-writer": "^2.3.1", - "broccoli-kitchen-sink-helpers": "^0.3.1", - "broccoli-stew": "^1.3.3", - "fast-sourcemap-concat": "^1.0.1", - "fs-extra": "^0.30.0", - "lodash.merge": "^4.3.0", - "lodash.omit": "^4.1.0", - "lodash.uniq": "^4.2.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, - "broccoli-config-loader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/broccoli-config-loader/-/broccoli-config-loader-1.0.1.tgz", - "integrity": "sha512-MDKYQ50rxhn+g17DYdfzfEM9DjTuSGu42Db37A8TQHQe8geYEcUZ4SQqZRgzdAI3aRQNlA1yBHJfOeGmOjhLIg==", + "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": { - "broccoli-caching-writer": "^3.0.3" - }, - "dependencies": { - "broccoli-caching-writer": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/broccoli-caching-writer/-/broccoli-caching-writer-3.0.3.tgz", - "integrity": "sha1-C9LJapc41qarWQ8HujXFFX19tHY=", - "dev": true, - "requires": { - "broccoli-kitchen-sink-helpers": "^0.3.1", - "broccoli-plugin": "^1.2.1", - "debug": "^2.1.1", - "rimraf": "^2.2.8", - "rsvp": "^3.0.17", - "walk-sync": "^0.3.0" - } - } + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, - "broccoli-config-replace": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/broccoli-config-replace/-/broccoli-config-replace-1.1.2.tgz", - "integrity": "sha1-bqh52SpbrWNNETKbUfxfSq/anAA=", + "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": { - "broccoli-kitchen-sink-helpers": "^0.3.1", - "broccoli-plugin": "^1.2.0", - "debug": "^2.2.0", - "fs-extra": "^0.24.0" - }, - "dependencies": { - "fs-extra": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.24.0.tgz", - "integrity": "sha1-1OQ0KpZnXLeEZjOmCZJJMytTmVI=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, - "broccoli-debug": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/broccoli-debug/-/broccoli-debug-0.6.5.tgz", - "integrity": "sha512-RIVjHvNar9EMCLDW/FggxFRXqpjhncM/3qq87bn/y+/zR9tqEkHvTqbyOc4QnB97NO2m6342w4wGkemkaeOuWg==", + "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": { - "broccoli-plugin": "^1.2.1", - "fs-tree-diff": "^0.5.2", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "symlink-or-copy": "^1.1.8", - "tree-sync": "^1.2.2" + "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" } }, - "broccoli-filter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/broccoli-filter/-/broccoli-filter-1.3.0.tgz", - "integrity": "sha512-VXJXw7eBfG82CFxaBDjYmyN7V72D4In2zwLVQJd/h3mBfF3CMdRTsv2L20lmRTtCv1sAHcB+LgMso90e/KYiLw==", + "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": { - "broccoli-kitchen-sink-helpers": "^0.3.1", - "broccoli-plugin": "^1.0.0", - "copy-dereference": "^1.0.0", - "debug": "^2.2.0", - "mkdirp": "^0.5.1", - "promise-map-series": "^0.2.1", - "rsvp": "^3.0.18", - "symlink-or-copy": "^1.0.1", - "walk-sync": "^0.3.1" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, - "broccoli-funnel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", - "integrity": "sha1-zdw6/F/xaFqAI0iP/3TOb7WlEpY=", + "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": { - "array-equal": "^1.0.0", - "blank-object": "^1.0.1", - "broccoli-plugin": "^1.3.0", - "debug": "^2.2.0", - "exists-sync": "0.0.4", - "fast-ordered-set": "^1.0.0", - "fs-tree-diff": "^0.5.3", - "heimdalljs": "^0.2.0", - "minimatch": "^3.0.0", - "mkdirp": "^0.5.0", - "path-posix": "^1.0.0", - "rimraf": "^2.4.3", - "symlink-or-copy": "^1.0.0", - "walk-sync": "^0.3.1" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, - "broccoli-funnel-reducer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/broccoli-funnel-reducer/-/broccoli-funnel-reducer-1.0.0.tgz", - "integrity": "sha1-ETZbKnha7JsXlyo234fu8kxcwOo=", - "dev": true - }, - "broccoli-jshint": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/broccoli-jshint/-/broccoli-jshint-1.2.0.tgz", - "integrity": "sha1-jNVl0RoEv9MsuPhaD37eHlvnpqI=", + "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": { - "broccoli-persistent-filter": "^1.2.0", - "chalk": "~0.4.0", - "findup-sync": "^0.3.0", - "jshint": "^2.7.0", - "json-stable-stringify": "^1.0.0", - "mkdirp": "~0.4.0" - }, - "dependencies": { - "ansi-styles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", - "dev": true - }, - "chalk": { - "version": "0.4.0", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", - "dev": true, - "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" - } - }, - "findup-sync": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", - "dev": true, - "requires": { - "glob": "~5.0.0" - } - }, - "mkdirp": { - "version": "0.4.2", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.4.2.tgz", - "integrity": "sha1-QnyMGOzjmLky9vZm9OHlt3QOeMg=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "strip-ansi": { - "version": "0.1.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", - "dev": true - } + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, - "broccoli-kitchen-sink-helpers": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/broccoli-kitchen-sink-helpers/-/broccoli-kitchen-sink-helpers-0.3.1.tgz", - "integrity": "sha1-d8fBgZS5ZkFj7E/O4nk0RJJuDAY=", + "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": { - "glob": "^5.0.10", - "mkdirp": "^0.5.1" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, - "broccoli-merge-trees": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-1.2.4.tgz", - "integrity": "sha1-oAFRm7UGfwZYnZGvopQkRaLQ/bU=", + "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": { - "broccoli-plugin": "^1.3.0", - "can-symlink": "^1.0.0", - "fast-ordered-set": "^1.0.2", - "fs-tree-diff": "^0.5.4", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "rimraf": "^2.4.3", - "symlink-or-copy": "^1.0.0" + "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" } }, - "broccoli-middleware": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/broccoli-middleware/-/broccoli-middleware-0.18.1.tgz", - "integrity": "sha1-v1JVgcLetlLEJZQrGFgPdtN0gSI=", + "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": { - "handlebars": "^4.0.4", - "mime": "^1.2.11" + "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" } }, - "broccoli-node-info": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/broccoli-node-info/-/broccoli-node-info-1.1.0.tgz", - "integrity": "sha1-OqLjHgflvbUW3SUhT3xFuhxFlBI=", - "dev": true - }, - "broccoli-persistent-filter": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-1.4.6.tgz", - "integrity": "sha512-0RejLwoC95kv4kta8KAa+FmECJCK78Qgm8SRDEK7YyU0N9Cx6KpY3UCDy9WELl3mCXLN8TokNxc7/hp3lL4lfw==", + "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": { - "async-disk-cache": "^1.2.1", - "async-promise-queue": "^1.0.3", - "broccoli-plugin": "^1.0.0", - "fs-tree-diff": "^0.5.2", - "hash-for-dep": "^1.0.2", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "mkdirp": "^0.5.1", - "promise-map-series": "^0.2.1", - "rimraf": "^2.6.1", - "rsvp": "^3.0.18", - "symlink-or-copy": "^1.0.1", - "walk-sync": "^0.3.1" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, - "broccoli-plugin": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz", - "integrity": "sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==", + "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": { - "promise-map-series": "^0.2.1", - "quick-temp": "^0.1.3", - "rimraf": "^2.3.4", - "symlink-or-copy": "^1.1.8" + "babel-runtime": "^6.22.0" } }, - "broccoli-slow-trees": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/broccoli-slow-trees/-/broccoli-slow-trees-3.0.1.tgz", - "integrity": "sha1-m/Kp4vjrPtOj8qvd6YjaQ3zNybQ=", + "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": { - "heimdalljs": "^0.2.1" + "babel-runtime": "^6.22.0" } }, - "broccoli-source": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/broccoli-source/-/broccoli-source-1.1.0.tgz", - "integrity": "sha1-VPDoLItz9GWAy7xPV48LMvyo+Ak=", + "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 }, - "broccoli-sri-hash": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/broccoli-sri-hash/-/broccoli-sri-hash-2.1.2.tgz", - "integrity": "sha1-vGmQXtejga0yXMDQLe0HEyjr8/M=", + "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-debug-macros": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.2.0.tgz", + "integrity": "sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==", "dev": true, "requires": { - "broccoli-caching-writer": "^2.2.0", - "mkdirp": "^0.5.1", - "rsvp": "^3.1.0", - "sri-toolbox": "^0.2.0", - "symlink-or-copy": "^1.0.1" + "semver": "^5.3.0" } }, - "broccoli-stew": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/broccoli-stew/-/broccoli-stew-1.6.0.tgz", - "integrity": "sha512-sUwCJNnYH4Na690By5xcEMAZqKgquUQnMAEuIiL3Z2k63mSw9Xg+7Ew4wCrFrMmXMcLpWjZDOm6Yqnq268N+ZQ==", + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "requires": { - "broccoli-debug": "^0.6.1", - "broccoli-funnel": "^2.0.0", - "broccoli-merge-trees": "^2.0.0", - "broccoli-persistent-filter": "^1.1.6", - "broccoli-plugin": "^1.3.0", - "chalk": "^2.4.1", - "debug": "^3.1.0", - "ensure-posix-path": "^1.0.1", - "fs-extra": "^5.0.0", - "minimatch": "^3.0.4", - "resolve": "^1.8.1", - "rsvp": "^4.8.3", - "symlink-or-copy": "^1.2.0", - "walk-sync": "^0.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "broccoli-funnel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.1.tgz", - "integrity": "sha512-C8Lnp9TVsSSiZMGEF16C0dCiNg2oJqUKwuZ1K4kVC6qRPG/2Cj/rtB5kRCC9qEbwqhX71bDbfHROx0L3J7zXQg==", - "dev": true, - "requires": { - "array-equal": "^1.0.0", - "blank-object": "^1.0.1", - "broccoli-plugin": "^1.3.0", - "debug": "^2.2.0", - "fast-ordered-set": "^1.0.0", - "fs-tree-diff": "^0.5.3", - "heimdalljs": "^0.2.0", - "minimatch": "^3.0.0", - "mkdirp": "^0.5.0", - "path-posix": "^1.0.0", - "rimraf": "^2.4.3", - "symlink-or-copy": "^1.0.0", - "walk-sync": "^0.3.1" - }, - "dependencies": { - "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" - } - } - } - }, - "broccoli-merge-trees": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", - "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", - "dev": true, - "requires": { - "broccoli-plugin": "^1.3.0", - "merge-trees": "^1.0.1" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "rsvp": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", - "integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "object.assign": "^4.1.0" } }, - "broccoli-uglify-sourcemap": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/broccoli-uglify-sourcemap/-/broccoli-uglify-sourcemap-1.5.2.tgz", - "integrity": "sha1-BPhKsNtTkDH6hozPpWPJky1Qzts=", + "babel-plugin-ember-data-packages-polyfill": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-ember-data-packages-polyfill/-/babel-plugin-ember-data-packages-polyfill-0.1.2.tgz", + "integrity": "sha512-kTHnOwoOXfPXi00Z8yAgyD64+jdSXk3pknnS7NlqnCKAU6YDkXZ4Y7irl66kaZjZn0FBBt0P4YOZFZk85jYOww==", "dev": true, "requires": { - "broccoli-plugin": "^1.2.1", - "debug": "^2.2.0", - "lodash.merge": "^4.5.1", - "matcher-collection": "^1.0.0", - "mkdirp": "^0.5.0", - "source-map-url": "^0.3.0", - "symlink-or-copy": "^1.0.1", - "uglify-js": "^2.7.0", - "walk-sync": "^0.1.3" - }, - "dependencies": { - "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" - } - }, - "walk-sync": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.1.3.tgz", - "integrity": "sha1-igcmGgC9ps+xviXp8QD61XVG9YM=", - "dev": true - }, - "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": "http://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" - } - } + "@ember-data/rfc395-data": "^0.0.4" } }, - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "babel-plugin-ember-modules-api-polyfill": { + "version": "2.13.4", + "resolved": "https://registry.npmjs.org/babel-plugin-ember-modules-api-polyfill/-/babel-plugin-ember-modules-api-polyfill-2.13.4.tgz", + "integrity": "sha512-uxQPkEQAzCYdwhZk16O9m1R4xtCRNy4oEUTBrccOPfzlIahRZJic/JeP/ZEL0BC6Mfq6r55eOg6gMF/zdFoCvA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" + "ember-rfc176-data": "^0.3.13" } }, - "bser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", - "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "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-feature-flags": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-feature-flags/-/babel-plugin-feature-flags-0.2.3.tgz", + "integrity": "sha1-gdge13vaIBQJj6gkOrzwOlUcvU0=", "dev": true, "requires": { - "node-int64": "^0.4.0" + "json-stable-stringify": "^1.0.1" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "babel-plugin-filter-imports": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/babel-plugin-filter-imports/-/babel-plugin-filter-imports-0.2.1.tgz", + "integrity": "sha1-eE+WqJLy9+0szwlVaIvYkWzS4hI=", "dev": true, "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "json-stable-stringify": "^1.0.1" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "babel-plugin-htmlbars-inline-precompile": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-htmlbars-inline-precompile/-/babel-plugin-htmlbars-inline-precompile-0.1.1.tgz", + "integrity": "sha512-uG5QNBSmVOXwgOKo1pHXxTS47GppolC9FOzpiAcU5BbD/P/SrJ08XUY6PBttul4DvfmyhdYdh6cTCBxDTB7Etw==", "dev": true }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "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 }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "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 }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cache-base": { + "babel-plugin-member-expression-literals": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "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-module-resolver": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz", + "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==", "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" + "find-babel-config": "^1.1.0", + "glob": "^7.1.2", + "pkg-up": "^2.0.0", + "reselect": "^3.0.1", + "resolve": "^1.4.0" }, "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + } } } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "can-symlink": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/can-symlink/-/can-symlink-1.0.0.tgz", - "integrity": "sha1-l7YH2KhLtsbiKLkC2GTstZS50hk=", - "dev": true, - "requires": { - "tmp": "0.0.28" - } - }, - "caniuse-lite": { - "version": "1.0.30000893", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000893.tgz", - "integrity": "sha512-kOddHcTEef+NgN/fs0zmX2brHTNATVOWMEIhlZHCuwQRtXobjSw9pAECc44Op4bTBcavRjkLaPrGomknH7+Jvg==", - "dev": true - }, - "capture-exit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", - "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", - "dev": true, - "requires": { - "rsvp": "^3.3.3" - } - }, - "cardinal": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-0.5.0.tgz", - "integrity": "sha1-ANX2YdvUqr/ffUHOSKWlm8o1opE=", + "babel-plugin-polyfill-corejs2": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.8.tgz", + "integrity": "sha512-kB5/xNR9GYDuRmVlL9EGfdKBSUVI/9xAU7PCahA/1hbC2Jbmks9dlBBYjHF9IHMNY2jV/G2lIG7z0tJIW27Rog==", "dev": true, "requires": { - "ansicolors": "~0.2.1", - "redeyed": "~0.5.0" + "@babel/compat-data": "^7.13.0", + "@babel/helper-define-polyfill-provider": "^0.1.4", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true, - "optional": true - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "babel-plugin-polyfill-corejs3": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.6.tgz", + "integrity": "sha512-IkYhCxPrjrUWigEmkMDXYzM5iblzKCdCD8cZrSAkQOyhhJm26DcG+Mxbx13QT//Olkpkg/AlRdT2L+Ww4Ciphw==", "dev": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "@babel/helper-define-polyfill-provider": "^0.1.4", + "core-js-compat": "^3.8.1" } }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "babel-plugin-polyfill-regenerator": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.5.tgz", + "integrity": "sha512-EyhBA6uN94W97lR7ecQVTvH9F5tIIdEw3ZqHuU4zekMlW82k5cXNXniiB7PRxQm06BqAjVr4sDT1mOy4RcphIA==", "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" + "@babel/helper-define-polyfill-provider": "^0.1.4" } }, - "charm": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", - "integrity": "sha1-it02cVOm2aWBMxBSxAkJkdqZXjU=", - "dev": true, - "requires": { - "inherits": "^2.0.1" - } + "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 }, - "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==", + "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": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "lodash": "^3.9.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" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", "dev": true } } }, - "cldr-core": { - "version": "28.0.0", - "resolved": "http://registry.npmjs.org/cldr-core/-/cldr-core-28.0.0.tgz", - "integrity": "sha1-RttiCCktp/6fA7e3n4ypDOuExq0=", + "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 }, - "cldr-dates-full": { - "version": "28.0.0", - "resolved": "http://registry.npmjs.org/cldr-dates-full/-/cldr-dates-full-28.0.0.tgz", - "integrity": "sha1-pG5SzJIhxo6li2ZmSouYrmuo2WI=", + "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 }, - "cldr-numbers-full": { - "version": "28.0.0", - "resolved": "http://registry.npmjs.org/cldr-numbers-full/-/cldr-numbers-full-28.0.0.tgz", - "integrity": "sha1-SRM0whiKLRF2F1inVyw/UuH3f3o=", + "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 }, - "clean-base-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clean-base-url/-/clean-base-url-1.0.0.tgz", - "integrity": "sha1-yQHPCiC5ckNbDszVLQVoJKQ1G3s=", + "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 }, - "clean-css": { - "version": "3.4.28", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", - "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", + "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-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-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-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": { - "commander": "2.8.x", - "source-map": "0.4.x" - }, - "dependencies": { - "commander": { - "version": "2.8.1", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } - }, - "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" - } - } + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, - "clean-css-promise": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/clean-css-promise/-/clean-css-promise-0.1.1.tgz", - "integrity": "sha1-Q/PSyN/LK/BxSBJSzZt2QzwI7ss=", + "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": { - "array-to-error": "^1.0.0", - "clean-css": "^3.4.5", - "pinkie-promise": "^2.0.0" + "babel-runtime": "^6.22.0" } }, - "cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "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": { - "exit": "0.1.2", - "glob": "^7.1.1" - }, - "dependencies": { - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "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" - } - } + "babel-runtime": "^6.22.0" } }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "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": { - "restore-cursor": "^1.0.1" + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, - "cli-spinners": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", - "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", - "dev": true - }, - "cli-table": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", - "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", + "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": { - "colors": "1.0.3" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - } + "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" } }, - "cli-table2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/cli-table2/-/cli-table2-0.2.0.tgz", - "integrity": "sha1-LR738hig54biFFQFYtS9F3/jLZc=", + "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": { - "colors": "^1.1.2", - "lodash": "^3.10.1", - "string-width": "^1.0.1" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - } + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "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": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" + "babel-runtime": "^6.22.0" } }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "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, - "optional": true - }, - "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 + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "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": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "babel-runtime": "^6.22.0" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "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": { - "color-name": "1.1.3" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.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 - }, - "colors": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", - "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", + "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, - "optional": true + "requires": { + "babel-runtime": "^6.22.0" + } }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "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": { - "delayed-stream": "~1.0.0" + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "commoner": { - "version": "0.10.8", - "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", - "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", + "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": { - "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 - }, - "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" - } - } + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "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 - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, - "compressible": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", - "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", + "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": { - "mime-db": ">= 1.36.0 < 2" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, - "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "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": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.14", - "debug": "2.6.9", - "on-headers": "~1.0.1", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, - "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 - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "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": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "http://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" - } - }, - "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" - } - } + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" } }, - "configstore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz", - "integrity": "sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE=", + "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": { - "dot-prop": "^3.0.0", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "object-assign": "^4.0.1", - "os-tmpdir": "^1.0.0", - "osenv": "^0.1.0", - "uuid": "^2.0.1", - "write-file-atomic": "^1.1.2", - "xdg-basedir": "^2.0.0" + "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" } }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "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": { - "date-now": "^0.1.4" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "consolidate": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", - "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", + "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": { - "bluebird": "^3.1.1" - }, - "dependencies": { - "bluebird": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", - "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==", - "dev": true - } + "babel-runtime": "^6.22.0" } }, - "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.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "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": { - "safe-buffer": "~5.1.1" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, - "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-dereference": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/copy-dereference/-/copy-dereference-1.0.0.tgz", - "integrity": "sha1-axMYZUIP2BtBO6mUtE02VTERUrY=", - "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=", - "dev": true - }, - "core-object": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/core-object/-/core-object-2.1.1.tgz", - "integrity": "sha1-S3pfHt78sebQ3LWOqxufkL/GZqg=", + "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": { - "chalk": "^1.1.3" + "babel-runtime": "^6.22.0" } }, - "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 - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "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": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "babel-runtime": "^6.22.0" } }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "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, - "optional": true + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "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, - "optional": true, "requires": { - "assert-plus": "^1.0.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.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==", + "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": { - "ms": "2.0.0" + "regenerator-transform": "^0.10.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 + "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" + } }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "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": { - "object-keys": "^1.0.12" + "leven": "^1.0.2" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "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": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" }, "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" - } + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true }, - "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" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-file": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz", - "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", - "dev": true, - "requires": { - "fs-exists-sync": "^0.1.0" - } - }, - "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" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "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" - } - }, - "diff": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", - "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", - "dev": true - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "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 } } }, - "domelementtype": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.2.1.tgz", - "integrity": "sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA==", - "dev": true - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", - "dev": true, - "requires": { - "is-obj": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "editions": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", - "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==", - "dev": true - }, - "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.80", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.80.tgz", - "integrity": "sha512-WClidEWEUNx7OfwXehB0qaxCuetjbKjev2SmXWgybWPLKAThBiMTF/2Pd8GSUDtoGOavxVzdkKwfFAPRSWlkLw==", - "dev": true - }, - "ember-ajax": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/ember-ajax/-/ember-ajax-2.5.6.tgz", - "integrity": "sha1-p190PM8blel5pc+WATs9uo+mJeQ=", + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", "dev": true, "requires": { - "ember-cli-babel": "^5.1.5" + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^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.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" } }, - "ember-assign-polyfill": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ember-assign-polyfill/-/ember-assign-polyfill-2.5.0.tgz", - "integrity": "sha512-oRGPg/jeo4SAIJX56PYUDcVcjcfkuZe6j9umkuSkjwuduMBQNtmyoC8qhcCBrn+qqrtAG6g3iSAdEu8DkUBIiQ==", + "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": { - "ember-cli-babel": "^6.6.0", - "ember-cli-version-checker": "^2.0.0" + "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": { - "amd-name-resolver": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.2.0.tgz", - "integrity": "sha512-hlSTWGS1t6/xq5YCed7YALg7tKZL3rkl7UwEZ/eCIkn8JxmM6fU6Qs/1hwtjQqfuYxlffuUcgYEm0f5xP4YKaA==", - "dev": true, - "requires": { - "ensure-posix-path": "^1.0.1" - } - }, "babel-core": { "version": "6.26.3", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", @@ -3422,1181 +2886,938 @@ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "broccoli-babel-transpiler": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.0.tgz", - "integrity": "sha512-c5OLGY40Sdmv6rP230Jt8yoK49BHfOw1LXiDMu9EC9k2U6sqlpNRK78SzvByQ8IzKtBYUfeWCxeZHcvW+gH7VQ==", + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "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": { - "babel-core": "^6.26.0", - "broccoli-funnel": "^2.0.1", - "broccoli-merge-trees": "^2.0.0", - "broccoli-persistent-filter": "^1.4.3", - "clone": "^2.0.0", - "hash-for-dep": "^1.2.3", - "heimdalljs-logger": "^0.1.7", - "json-stable-stringify": "^1.0.0", - "rsvp": "^4.8.2", - "workerpool": "^2.3.0" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, - "broccoli-funnel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.1.tgz", - "integrity": "sha512-C8Lnp9TVsSSiZMGEF16C0dCiNg2oJqUKwuZ1K4kVC6qRPG/2Cj/rtB5kRCC9qEbwqhX71bDbfHROx0L3J7zXQg==", + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "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": { - "array-equal": "^1.0.0", - "blank-object": "^1.0.1", - "broccoli-plugin": "^1.3.0", - "debug": "^2.2.0", - "fast-ordered-set": "^1.0.0", - "fs-tree-diff": "^0.5.3", - "heimdalljs": "^0.2.0", - "minimatch": "^3.0.0", - "mkdirp": "^0.5.0", - "path-posix": "^1.0.0", - "rimraf": "^2.4.3", - "symlink-or-copy": "^1.0.0", - "walk-sync": "^0.3.1" - } - }, - "broccoli-merge-trees": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", - "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", - "dev": true, - "requires": { - "broccoli-plugin": "^1.3.0", - "merge-trees": "^1.0.1" - } - }, - "ember-cli-babel": { - "version": "6.17.2", - "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.17.2.tgz", - "integrity": "sha512-9KcCvF1PcelEFTSiJ/Ld20tfuW9acMkwHC/xINLsmwqJVDbm3oEqWtiFDZ5ebaC278O5I0GqNJWJLYNoWMNZ8g==", - "dev": true, - "requires": { - "amd-name-resolver": "1.2.0", - "babel-plugin-debug-macros": "^0.2.0-beta.6", - "babel-plugin-ember-modules-api-polyfill": "^2.5.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.0", - "babel-polyfill": "^6.26.0", - "babel-preset-env": "^1.7.0", - "broccoli-babel-transpiler": "^6.5.0", - "broccoli-debug": "^0.6.4", - "broccoli-funnel": "^2.0.0", - "broccoli-source": "^1.1.0", - "clone": "^2.0.0", - "ember-cli-version-checker": "^2.1.2", - "semver": "^5.5.0" - } - }, - "ember-cli-version-checker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.1.2.tgz", - "integrity": "sha512-sjkHGr4IGXnO3EUcY21380Xo9Qf6bC8HWH4D62bVnrQop/8uha5XgMQRoAflMCeH6suMrezQL287JUoYc2smEw==", - "dev": true, - "requires": { - "resolve": "^1.3.3", - "semver": "^5.3.0" + "source-map": "^0.5.6" } - }, - "json5": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "rsvp": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", - "integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==", + } + } + }, + "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.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", "dev": true } } }, - "ember-cli": { - "version": "2.9.1", - "resolved": "http://registry.npmjs.org/ember-cli/-/ember-cli-2.9.1.tgz", - "integrity": "sha1-2Q5ADcjts+/1IgckrHpJ4MRO17s=", + "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": { - "amd-name-resolver": "0.0.6", - "bower": "^1.3.12", - "bower-config": "^1.3.0", - "bower-endpoint-parser": "0.2.2", - "broccoli-babel-transpiler": "^5.4.5", - "broccoli-brocfile-loader": "^0.18.0", - "broccoli-builder": "^0.18.0", - "broccoli-concat": "^2.0.4", - "broccoli-config-loader": "^1.0.0", - "broccoli-config-replace": "^1.1.2", - "broccoli-funnel": "^1.0.6", - "broccoli-funnel-reducer": "^1.0.0", - "broccoli-merge-trees": "^1.1.3", - "broccoli-middleware": "^0.18.1", - "broccoli-source": "^1.1.0", - "broccoli-stew": "^1.2.0", - "chalk": "^1.1.3", - "clean-base-url": "^1.0.0", - "compression": "^1.4.4", - "configstore": "^2.0.0", - "core-object": "^2.0.2", - "diff": "^1.3.1", - "ember-cli-broccoli-sane-watcher": "^2.0.3", - "ember-cli-get-component-path-option": "^1.0.0", - "ember-cli-is-package-missing": "^1.0.0", - "ember-cli-legacy-blueprints": "^0.1.1", - "ember-cli-lodash-subset": "^1.0.1", - "ember-cli-normalize-entity-name": "^1.0.0", - "ember-cli-preprocess-registry": "^3.0.0", - "ember-cli-string-utils": "^1.0.0", - "ember-try": "^0.2.2", - "escape-string-regexp": "^1.0.3", - "exists-sync": "0.0.3", - "exit": "^0.1.2", - "express": "^4.12.3", - "filesize": "^3.1.3", - "find-up": "^1.1.2", - "fs-extra": "0.30.0", - "fs-tree-diff": "^0.5.2", - "get-caller-file": "^1.0.0", - "git-repo-info": "^1.0.4", - "glob": "7.0.6", - "heimdalljs-fs-monitor": "^0.0.3", - "heimdalljs-logger": "^0.1.7", - "http-proxy": "^1.9.0", - "inflection": "^1.7.0", - "inquirer": "^1.0.2", - "is-git-url": "^0.2.0", - "isbinaryfile": "^3.0.0", - "leek": "0.0.23", - "lodash.template": "^4.2.5", - "markdown-it": "7.0.1", - "markdown-it-terminal": "0.0.4", - "minimatch": "^3.0.0", - "morgan": "^1.5.2", - "node-modules-path": "^1.0.0", - "node-uuid": "^1.4.3", - "nopt": "^3.0.1", - "npm": "2.15.5", - "npm-package-arg": "^4.1.1", - "ora": "^0.2.0", - "portfinder": "^1.0.7", - "promise-map-series": "^0.2.1", - "quick-temp": "0.1.6", - "resolve": "^1.1.6", - "rsvp": "^3.0.17", - "sane": "^1.1.1", - "semver": "^5.1.1", - "silent-error": "^1.0.0", - "symlink-or-copy": "^1.0.1", - "temp": "0.8.3", - "testem": "^1.8.1", - "through": "^2.3.6", - "tiny-lr": "0.2.1", - "tree-sync": "^1.1.4", - "walk-sync": "^0.3.0", - "yam": "0.0.22" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" }, "dependencies": { - "exists-sync": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.3.tgz", - "integrity": "sha1-uRAAC+27ETs3i4L19adjgQdiLc8=", + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true - }, - "glob": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", - "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "quick-temp": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/quick-temp/-/quick-temp-0.1.6.tgz", - "integrity": "sha1-piQqFcup+c29NBKHtcVp4xjuwwc=", - "dev": true, - "requires": { - "mktemp": "~0.4.0", - "rimraf": "~2.2.6", - "underscore.string": "~2.3.3" - } - }, - "rimraf": { - "version": "2.2.8", - "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + } + } + }, + "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" + }, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "underscore.string": { - "version": "2.3.3", - "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", - "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true } } }, - "ember-cli-app-version": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ember-cli-app-version/-/ember-cli-app-version-2.1.0.tgz", - "integrity": "sha1-FJEB1P0Nl4deEuxeYf8QX1COXi0=", + "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": { - "ember-cli-babel": "^6.8.0", - "git-repo-version": "0.4.1" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babel5-plugin-strip-class-callcheck": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/babel5-plugin-strip-class-callcheck/-/babel5-plugin-strip-class-callcheck-5.1.0.tgz", + "integrity": "sha1-d9SkDIYU02e4ohpTkIFZgG26X5E=", + "dev": true + }, + "babel5-plugin-strip-heimdall": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/babel5-plugin-strip-heimdall/-/babel5-plugin-strip-heimdall-5.0.2.tgz", + "integrity": "sha1-4f4ZHDTeeWhlZNUKhvQhe432KcE=", + "dev": true + }, + "babylon": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz", + "integrity": "sha1-7JsSCxG/bM1Bc6GL8hfmC3mFn/0=", + "dev": true + }, + "backbone": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", + "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", + "dev": true, + "requires": { + "underscore": ">=1.8.3" + } + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "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": { - "amd-name-resolver": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.2.0.tgz", - "integrity": "sha512-hlSTWGS1t6/xq5YCed7YALg7tKZL3rkl7UwEZ/eCIkn8JxmM6fU6Qs/1hwtjQqfuYxlffuUcgYEm0f5xP4YKaA==", + "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": { - "ensure-posix-path": "^1.0.1" + "is-descriptor": "^1.0.0" } }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "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": { - "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" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "broccoli-babel-transpiler": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.0.tgz", - "integrity": "sha512-c5OLGY40Sdmv6rP230Jt8yoK49BHfOw1LXiDMu9EC9k2U6sqlpNRK78SzvByQ8IzKtBYUfeWCxeZHcvW+gH7VQ==", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "broccoli-funnel": "^2.0.1", - "broccoli-merge-trees": "^2.0.0", - "broccoli-persistent-filter": "^1.4.3", - "clone": "^2.0.0", - "hash-for-dep": "^1.2.3", - "heimdalljs-logger": "^0.1.7", - "json-stable-stringify": "^1.0.0", - "rsvp": "^4.8.2", - "workerpool": "^2.3.0" - } - }, - "broccoli-funnel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.1.tgz", - "integrity": "sha512-C8Lnp9TVsSSiZMGEF16C0dCiNg2oJqUKwuZ1K4kVC6qRPG/2Cj/rtB5kRCC9qEbwqhX71bDbfHROx0L3J7zXQg==", - "dev": true, - "requires": { - "array-equal": "^1.0.0", - "blank-object": "^1.0.1", - "broccoli-plugin": "^1.3.0", - "debug": "^2.2.0", - "fast-ordered-set": "^1.0.0", - "fs-tree-diff": "^0.5.3", - "heimdalljs": "^0.2.0", - "minimatch": "^3.0.0", - "mkdirp": "^0.5.0", - "path-posix": "^1.0.0", - "rimraf": "^2.4.3", - "symlink-or-copy": "^1.0.0", - "walk-sync": "^0.3.1" - } - }, - "broccoli-merge-trees": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", - "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", - "dev": true, - "requires": { - "broccoli-plugin": "^1.3.0", - "merge-trees": "^1.0.1" + "kind-of": "^6.0.0" } }, - "ember-cli-babel": { - "version": "6.17.2", - "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.17.2.tgz", - "integrity": "sha512-9KcCvF1PcelEFTSiJ/Ld20tfuW9acMkwHC/xINLsmwqJVDbm3oEqWtiFDZ5ebaC278O5I0GqNJWJLYNoWMNZ8g==", + "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": { - "amd-name-resolver": "1.2.0", - "babel-plugin-debug-macros": "^0.2.0-beta.6", - "babel-plugin-ember-modules-api-polyfill": "^2.5.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.0", - "babel-polyfill": "^6.26.0", - "babel-preset-env": "^1.7.0", - "broccoli-babel-transpiler": "^6.5.0", - "broccoli-debug": "^0.6.4", - "broccoli-funnel": "^2.0.0", - "broccoli-source": "^1.1.0", - "clone": "^2.0.0", - "ember-cli-version-checker": "^2.1.2", - "semver": "^5.5.0" + "kind-of": "^6.0.0" } }, - "ember-cli-version-checker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.1.2.tgz", - "integrity": "sha512-sjkHGr4IGXnO3EUcY21380Xo9Qf6bC8HWH4D62bVnrQop/8uha5XgMQRoAflMCeH6suMrezQL287JUoYc2smEw==", + "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": { - "resolve": "^1.3.3", - "semver": "^5.3.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, - "json5": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "rsvp": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", - "integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==", + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true } } }, - "ember-cli-babel": { - "version": "5.2.8", - "resolved": "http://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-5.2.8.tgz", - "integrity": "sha512-Mt9OOB5RaZwjde+LYef8EgwNVCAzsYDv4ktshblaXxr4m/Xm5/7/rxEu42RNrYkoy/qWpT9uhaD+JKK4riMf+w==", + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true + }, + "base64id": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz", + "integrity": "sha1-As4P3u4M709ACA4ec+g08LG/zj8=", + "dev": true + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", "dev": true, "requires": { - "broccoli-babel-transpiler": "^5.6.2", - "broccoli-funnel": "^1.0.0", - "clone": "^2.0.0", - "ember-cli-version-checker": "^1.0.2", - "resolve": "^1.1.2" + "safe-buffer": "5.1.2" } }, - "ember-cli-broccoli-sane-watcher": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ember-cli-broccoli-sane-watcher/-/ember-cli-broccoli-sane-watcher-2.2.2.tgz", - "integrity": "sha512-9OLy8x3pdNKC/6xR00IjTL8XyiQU3rb2HLyQSAqHuaZpZcSTKkbAse2ERTsELSINoo/zi/W7qPP5vd5SsHsraw==", + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", "dev": true, "requires": { - "broccoli-slow-trees": "^3.0.1", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "rsvp": "^3.0.18", - "sane": "^2.4.1" + "callsite": "1.0.0" + } + }, + "binaryextensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", + "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "blank-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/blank-object/-/blank-object-1.0.2.tgz", + "integrity": "sha1-+ZB5P76ajI3QE/syGUIL7IHV9Lk=", + "dev": true + }, + "blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "dev": true + }, + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "dev": true + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "dev": true, + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.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=", + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", "dev": true }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", "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" - } - } + "bytes": "1", + "string_decoder": "0.10" } + } + } + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + } + } + }, + "bower": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/bower/-/bower-1.8.8.tgz", + "integrity": "sha512-1SrJnXnkP9soITHptSO+ahx3QKp3cVzn8poI6ujqc5SeOkg5iqM1pK9H+DSc2OQ8SnO0jC/NG4Ur/UIwy7574A==", + "dev": true + }, + "bower-config": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-1.4.3.tgz", + "integrity": "sha512-MVyyUk3d1S7d2cl6YISViwJBc2VXCkxF5AUFykvN0PQj5FsUiMNSgAYTso18oRFfyZ6XEtjrgg9MAaufHbOwNw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.3", + "minimist": "^0.2.1", + "mout": "^1.0.0", + "osenv": "^0.1.3", + "untildify": "^2.1.0", + "wordwrap": "^0.0.3" + }, + "dependencies": { + "minimist": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.1.tgz", + "integrity": "sha512-GY8fANSrTMfBVfInqJAY41QkOM+upUTytK1jZ0c8+3HdHrJxBJ3rF5i9moClXTE8uUSnUo8cAsCoxDXvSY4DHg==", + "dev": true }, - "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" - } - } - } - }, - "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-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" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true - }, - "sane": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", - "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" - } } } }, - "ember-cli-cookie": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ember-cli-cookie/-/ember-cli-cookie-0.2.0.tgz", - "integrity": "sha1-Qosd6ng1cVKNgCwCDduWhp+gv7M=", + "bower-endpoint-parser": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz", + "integrity": "sha1-ALVlrb+rby01rd3pd+l5Yqy8s/Y=", + "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": { - "bower": "^1.3.9" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "ember-cli-dependency-checker": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ember-cli-dependency-checker/-/ember-cli-dependency-checker-1.4.0.tgz", - "integrity": "sha1-KxP5d+HuqEP8GiGgAb5spdTvGUI=", + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "chalk": "^0.5.1", - "is-git-url": "^0.2.0", - "semver": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "0.2.1", - "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", - "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", - "dev": true - }, - "ansi-styles": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", - "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", - "dev": true - }, - "chalk": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", - "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", - "dev": true, - "requires": { - "ansi-styles": "^1.1.0", - "escape-string-regexp": "^1.0.0", - "has-ansi": "^0.1.0", - "strip-ansi": "^0.3.0", - "supports-color": "^0.2.0" - } - }, - "has-ansi": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", - "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", - "dev": true, - "requires": { - "ansi-regex": "^0.2.0" - } - }, - "semver": { - "version": "4.3.6", - "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - }, - "strip-ansi": { - "version": "0.3.0", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", - "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", - "dev": true, - "requires": { - "ansi-regex": "^0.2.1" - } - }, - "supports-color": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", - "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", - "dev": true - } + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, - "ember-cli-get-component-path-option": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-get-component-path-option/-/ember-cli-get-component-path-option-1.0.0.tgz", - "integrity": "sha1-DXtZVVni+QUKvtgE8djv8bCLx3E=", - "dev": true - }, - "ember-cli-get-dependency-depth": { + "breakable": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-get-dependency-depth/-/ember-cli-get-dependency-depth-1.0.0.tgz", - "integrity": "sha1-4K/s+CotUvAPKKtGgpUoGuw2jRE=", + "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz", + "integrity": "sha1-eEp5eRWjjq0nutRWtVcstLuqeME=", "dev": true }, - "ember-cli-htmlbars": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-1.3.5.tgz", - "integrity": "sha512-Qur/anb0Vk57qmIhGLkSzl8X1QIMoae6pLa14MRQ8+YD2N5fNs3qdhEFf0SDBquPOH1QxQtraiNQvji47QBJyg==", + "broccoli-asset-rev": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/broccoli-asset-rev/-/broccoli-asset-rev-2.7.0.tgz", + "integrity": "sha512-GZ7gU3Qo6HMAUqDeh1q+4UVCQPJPjCyGcpIY5s9Qp58a244FT4nZSiy8qYkVC4LLIWTZt59G7jFFsUcj/13IPQ==", "dev": true, "requires": { - "broccoli-persistent-filter": "^1.0.3", - "ember-cli-version-checker": "^1.0.2", - "hash-for-dep": "^1.0.2", + "broccoli-asset-rewrite": "^1.1.0", + "broccoli-filter": "^1.2.2", + "broccoli-persistent-filter": "^1.4.3", "json-stable-stringify": "^1.0.0", - "strip-bom": "^2.0.0" + "minimatch": "^3.0.4", + "rsvp": "^3.0.6" } }, - "ember-cli-htmlbars-inline-precompile": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/ember-cli-htmlbars-inline-precompile/-/ember-cli-htmlbars-inline-precompile-0.3.13.tgz", - "integrity": "sha512-OfjM/0vX7C1FAZvyibkbh7oGHxDVRaLmEkIHcCLt4CLq/AbYptUYIL2dxFReFUfLDRxs92/+YP2tjP9jtkW40A==", + "broccoli-asset-rewrite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/broccoli-asset-rewrite/-/broccoli-asset-rewrite-1.1.0.tgz", + "integrity": "sha1-d6XaVhV6oxjFkRMkXouvtGF/iDA=", "dev": true, "requires": { - "babel-plugin-htmlbars-inline-precompile": "^0.1.0", - "ember-cli-babel": "^5.1.3", - "ember-cli-htmlbars": "^1.0.0", - "hash-for-dep": "^1.0.2", - "heimdalljs-logger": "^0.1.7", - "resolve": "^1.3.3", - "semver": "^5.3.0", - "silent-error": "^1.1.0" + "broccoli-filter": "^1.2.3" } }, - "ember-cli-inject-live-reload": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/ember-cli-inject-live-reload/-/ember-cli-inject-live-reload-1.10.2.tgz", - "integrity": "sha512-yFvZE4WFyWjzMJ6MTYIyjCXpcJNFMTaZP61JXITMkXhSkhuDkzMD/XfwR5+fr004TYcwrbNWpg1oGX5DbOgcaQ==", + "broccoli-babel-transpiler": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-5.7.4.tgz", + "integrity": "sha512-gI14Pqc4qbmn5RW4SuAmybLiOoYW59D+HzQyhY6WdaGMAjikKBwJN0p17phyvafQ+kvG0mUiMd83lgHLeATnEA==", "dev": true, "requires": { - "clean-base-url": "^1.0.0", - "ember-cli-version-checker": "^2.1.2" + "babel-core": "^5.0.0", + "broccoli-funnel": "^1.0.0", + "broccoli-merge-trees": "^1.0.0", + "broccoli-persistent-filter": "^1.4.2", + "clone": "^0.2.0", + "hash-for-dep": "^1.0.2", + "heimdalljs-logger": "^0.1.7", + "json-stable-stringify": "^1.0.0", + "rsvp": "^3.5.0", + "workerpool": "^2.3.0" }, "dependencies": { - "ember-cli-version-checker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.1.2.tgz", - "integrity": "sha512-sjkHGr4IGXnO3EUcY21380Xo9Qf6bC8HWH4D62bVnrQop/8uha5XgMQRoAflMCeH6suMrezQL287JUoYc2smEw==", - "dev": true, - "requires": { - "resolve": "^1.3.3", - "semver": "^5.3.0" - } + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true } } }, - "ember-cli-is-package-missing": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-is-package-missing/-/ember-cli-is-package-missing-1.0.0.tgz", - "integrity": "sha1-bmGEyvuSY13ZPKbJRrEEKS1OM5A=", - "dev": true + "broccoli-brocfile-loader": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/broccoli-brocfile-loader/-/broccoli-brocfile-loader-0.18.0.tgz", + "integrity": "sha1-LoYCHIBcNP/I0povtyHPJz6Bnks=", + "dev": true, + "requires": { + "findup-sync": "^0.4.2" + } }, - "ember-cli-jshint": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/ember-cli-jshint/-/ember-cli-jshint-1.0.5.tgz", - "integrity": "sha1-igGF8Zy9cTaZXuaskpQaVg4mW5E=", + "broccoli-builder": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/broccoli-builder/-/broccoli-builder-0.18.14.tgz", + "integrity": "sha1-S3ni+ETeEaThuBbD9Jxt9HdsMS0=", "dev": true, "requires": { - "broccoli-jshint": "^1.0.0" + "broccoli-node-info": "^1.1.0", + "heimdalljs": "^0.2.0", + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.2", + "rimraf": "^2.2.8", + "rsvp": "^3.0.17", + "silent-error": "^1.0.1" } }, - "ember-cli-legacy-blueprints": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/ember-cli-legacy-blueprints/-/ember-cli-legacy-blueprints-0.1.5.tgz", - "integrity": "sha1-k8FcokLsUQfWKor37DD2rFOPOtk=", + "broccoli-caching-writer": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/broccoli-caching-writer/-/broccoli-caching-writer-2.3.1.tgz", + "integrity": "sha1-uTz1j5Jk8AMHWGjbBXdPTn8lvQc=", "dev": true, "requires": { - "chalk": "^1.1.1", - "ember-cli-get-component-path-option": "^1.0.0", - "ember-cli-get-dependency-depth": "^1.0.0", - "ember-cli-is-package-missing": "^1.0.0", - "ember-cli-lodash-subset": "^1.0.7", - "ember-cli-normalize-entity-name": "^1.0.0", - "ember-cli-path-utils": "^1.0.0", - "ember-cli-string-utils": "^1.0.0", - "ember-cli-test-info": "^1.0.0", - "ember-cli-valid-component-name": "^1.0.0", - "ember-cli-version-checker": "^1.1.7", - "ember-router-generator": "^1.0.0", - "exists-sync": "0.0.3", - "fs-extra": "^0.24.0", - "inflection": "^1.7.1", + "broccoli-kitchen-sink-helpers": "^0.2.5", + "broccoli-plugin": "1.1.0", + "debug": "^2.1.1", + "rimraf": "^2.2.8", "rsvp": "^3.0.17", - "silent-error": "^1.0.0" + "walk-sync": "^0.2.5" }, "dependencies": { - "exists-sync": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.3.tgz", - "integrity": "sha1-uRAAC+27ETs3i4L19adjgQdiLc8=", - "dev": true + "broccoli-kitchen-sink-helpers": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/broccoli-kitchen-sink-helpers/-/broccoli-kitchen-sink-helpers-0.2.9.tgz", + "integrity": "sha1-peCYbtjXb7WYS2jD8EUNOpbjbsw=", + "dev": true, + "requires": { + "glob": "^5.0.10", + "mkdirp": "^0.5.1" + } }, - "fs-extra": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.24.0.tgz", - "integrity": "sha1-1OQ0KpZnXLeEZjOmCZJJMytTmVI=", + "broccoli-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.1.0.tgz", + "integrity": "sha1-c+LPoF+OoeP8FCDEDD2efcckvwI=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.0.1" } }, - "jsonfile": { - "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "walk-sync": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.2.7.tgz", + "integrity": "sha1-tJvk7mhnZXrrc2l4tWop0Q+jmWk=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "ensure-posix-path": "^1.0.0", + "matcher-collection": "^1.0.0" } } } }, - "ember-cli-lodash-subset": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/ember-cli-lodash-subset/-/ember-cli-lodash-subset-1.0.12.tgz", - "integrity": "sha1-ry5366XcsNd/MwjTpv19NFD25Tc=", - "dev": true - }, - "ember-cli-normalize-entity-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-normalize-entity-name/-/ember-cli-normalize-entity-name-1.0.0.tgz", - "integrity": "sha1-CxT3vLxZmqEXtf3cgeT9A8S61bc=", - "dev": true, - "requires": { - "silent-error": "^1.0.0" - } - }, - "ember-cli-path-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-path-utils/-/ember-cli-path-utils-1.0.0.tgz", - "integrity": "sha1-Tjmvi1UwHN3FAXc5t3qAT7ogce0=", - "dev": true - }, - "ember-cli-preprocess-registry": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/ember-cli-preprocess-registry/-/ember-cli-preprocess-registry-3.1.2.tgz", - "integrity": "sha512-YJfcDHMBEjtD505CIhM8dtu5FO2Ku+0OTs/0kdLlj9mhXlbzC+k0JAS5c/0AQ+Nh2f+qZZJ8G19ySdzWwTLSCQ==", + "broccoli-cldr-data": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/broccoli-cldr-data/-/broccoli-cldr-data-0.4.2.tgz", + "integrity": "sha1-fM3Ae3J10icsIW5W2L22zV//2ho=", "dev": true, "requires": { - "broccoli-clean-css": "^1.1.0", - "broccoli-funnel": "^1.0.0", - "broccoli-merge-trees": "^1.0.0", - "debug": "^2.2.0", - "ember-cli-lodash-subset": "^1.0.7", - "process-relative-require": "^1.0.0", - "silent-error": "^1.0.0" + "broccoli-caching-writer": "^3.0.3", + "formatjs-extract-cldr-data": "^2.0.0", + "mkdirp": "^0.5.1", + "serialize-javascript": "^1.3.0" + }, + "dependencies": { + "broccoli-caching-writer": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/broccoli-caching-writer/-/broccoli-caching-writer-3.0.3.tgz", + "integrity": "sha1-C9LJapc41qarWQ8HujXFFX19tHY=", + "dev": true, + "requires": { + "broccoli-kitchen-sink-helpers": "^0.3.1", + "broccoli-plugin": "^1.2.1", + "debug": "^2.1.1", + "rimraf": "^2.2.8", + "rsvp": "^3.0.17", + "walk-sync": "^0.3.0" + } + } } }, - "ember-cli-qunit": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/ember-cli-qunit/-/ember-cli-qunit-3.1.3.tgz", - "integrity": "sha1-G8bj/AC15QdTq0QyRr/BR6jSrLw=", + "broccoli-clean-css": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/broccoli-clean-css/-/broccoli-clean-css-1.1.0.tgz", + "integrity": "sha1-nbFD2a9+CuecJuOsWpuy1yDqGfo=", "dev": true, "requires": { - "broccoli-babel-transpiler": "^5.5.0", - "broccoli-funnel": "^1.0.1", - "broccoli-merge-trees": "^1.1.0", - "ember-cli-babel": "^5.1.5", - "ember-cli-test-loader": "^1.1.1", - "ember-cli-version-checker": "^1.1.4", - "ember-qunit": "^2.0.0-beta.1", - "qunit": "^2.4.1", - "qunit-notifications": "^0.1.1", - "resolve": "^1.1.6", - "silent-error": "^1.0.0" + "broccoli-persistent-filter": "^1.1.6", + "clean-css-promise": "^0.1.0", + "inline-source-map-comment": "^1.0.5", + "json-stable-stringify": "^1.0.0" } }, - "ember-cli-release": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/ember-cli-release/-/ember-cli-release-0.2.9.tgz", - "integrity": "sha1-Xo3j0DTGVZeTN0gCMFhHDsEjGts=", + "broccoli-concat": { + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/broccoli-concat/-/broccoli-concat-3.7.5.tgz", + "integrity": "sha512-rDs1Mej3Ej0Cy5yIO9oIQq5+BCv0opAwS2NW7M0BeCsAMeFM42Z/zacDUC6jKc5OV5wiHvGTyCPLnZkMe0h6kQ==", "dev": true, "requires": { - "chalk": "^1.0.0", - "git-tools": "^0.1.4", - "make-array": "^0.1.2", - "merge": "^1.2.0", - "moment-timezone": "^0.3.0", - "nopt": "^3.0.3", - "rsvp": "^3.0.17", - "semver": "^4.3.1", - "silent-error": "^1.0.0" + "broccoli-debug": "^0.6.5", + "broccoli-kitchen-sink-helpers": "^0.3.1", + "broccoli-plugin": "^1.3.0", + "ensure-posix-path": "^1.0.2", + "fast-sourcemap-concat": "^1.4.0", + "find-index": "^1.1.0", + "fs-extra": "^4.0.3", + "fs-tree-diff": "^0.5.7", + "lodash.merge": "^4.6.2", + "lodash.omit": "^4.1.0", + "lodash.uniq": "^4.2.0", + "walk-sync": "^0.3.2" }, "dependencies": { - "semver": { - "version": "4.3.6", - "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } } } }, - "ember-cli-sri": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ember-cli-sri/-/ember-cli-sri-2.1.1.tgz", - "integrity": "sha1-lxYgk0pLkYPPeSPMA+F4uDqpB/0=", + "broccoli-config-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/broccoli-config-loader/-/broccoli-config-loader-1.0.1.tgz", + "integrity": "sha512-MDKYQ50rxhn+g17DYdfzfEM9DjTuSGu42Db37A8TQHQe8geYEcUZ4SQqZRgzdAI3aRQNlA1yBHJfOeGmOjhLIg==", "dev": true, "requires": { - "broccoli-sri-hash": "^2.1.0" + "broccoli-caching-writer": "^3.0.3" + }, + "dependencies": { + "broccoli-caching-writer": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/broccoli-caching-writer/-/broccoli-caching-writer-3.0.3.tgz", + "integrity": "sha1-C9LJapc41qarWQ8HujXFFX19tHY=", + "dev": true, + "requires": { + "broccoli-kitchen-sink-helpers": "^0.3.1", + "broccoli-plugin": "^1.2.1", + "debug": "^2.1.1", + "rimraf": "^2.2.8", + "rsvp": "^3.0.17", + "walk-sync": "^0.3.0" + } + } } }, - "ember-cli-string-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz", - "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=", - "dev": true - }, - "ember-cli-test-info": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-test-info/-/ember-cli-test-info-1.0.0.tgz", - "integrity": "sha1-7U6WDySel1I8+JHkrtIHLOhFd7Q=", + "broccoli-config-replace": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/broccoli-config-replace/-/broccoli-config-replace-1.1.2.tgz", + "integrity": "sha1-bqh52SpbrWNNETKbUfxfSq/anAA=", "dev": true, "requires": { - "ember-cli-string-utils": "^1.0.0" + "broccoli-kitchen-sink-helpers": "^0.3.1", + "broccoli-plugin": "^1.2.0", + "debug": "^2.2.0", + "fs-extra": "^0.24.0" + }, + "dependencies": { + "fs-extra": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.24.0.tgz", + "integrity": "sha1-1OQ0KpZnXLeEZjOmCZJJMytTmVI=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + } } }, - "ember-cli-test-loader": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ember-cli-test-loader/-/ember-cli-test-loader-1.1.1.tgz", - "integrity": "sha1-MzMRIJsYGF0ODpX5GDSdoQys8LE=", + "broccoli-debug": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/broccoli-debug/-/broccoli-debug-0.6.5.tgz", + "integrity": "sha512-RIVjHvNar9EMCLDW/FggxFRXqpjhncM/3qq87bn/y+/zR9tqEkHvTqbyOc4QnB97NO2m6342w4wGkemkaeOuWg==", "dev": true, "requires": { - "ember-cli-babel": "^5.2.1" + "broccoli-plugin": "^1.2.1", + "fs-tree-diff": "^0.5.2", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "symlink-or-copy": "^1.1.8", + "tree-sync": "^1.2.2" } }, - "ember-cli-uglify": { + "broccoli-file-creator": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ember-cli-uglify/-/ember-cli-uglify-1.2.0.tgz", - "integrity": "sha1-MgjDK1S8J4MFbouw1c/pu68X/7I=", + "resolved": "https://registry.npmjs.org/broccoli-file-creator/-/broccoli-file-creator-1.2.0.tgz", + "integrity": "sha512-l9zthHg6bAtnOfRr/ieZ1srRQEsufMZID7xGYRW3aBDv3u/3Eux+Iawl10tAGYE5pL9YB4n5X4vxkp6iNOoZ9g==", "dev": true, "requires": { - "broccoli-uglify-sourcemap": "^1.0.0" + "broccoli-plugin": "^1.1.0", + "mkdirp": "^0.5.1" } }, - "ember-cli-valid-component-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-valid-component-name/-/ember-cli-valid-component-name-1.0.0.tgz", - "integrity": "sha1-cVUM44fgIzBl8wswsVEKot++h+8=", + "broccoli-filter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/broccoli-filter/-/broccoli-filter-1.3.0.tgz", + "integrity": "sha512-VXJXw7eBfG82CFxaBDjYmyN7V72D4In2zwLVQJd/h3mBfF3CMdRTsv2L20lmRTtCv1sAHcB+LgMso90e/KYiLw==", "dev": true, "requires": { - "silent-error": "^1.0.0" + "broccoli-kitchen-sink-helpers": "^0.3.1", + "broccoli-plugin": "^1.0.0", + "copy-dereference": "^1.0.0", + "debug": "^2.2.0", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rsvp": "^3.0.18", + "symlink-or-copy": "^1.0.1", + "walk-sync": "^0.3.1" } }, - "ember-cli-version-checker": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-1.3.1.tgz", - "integrity": "sha1-C8LRNMgwFC2mS/lieg7e0QthrnI=", + "broccoli-funnel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", + "integrity": "sha1-zdw6/F/xaFqAI0iP/3TOb7WlEpY=", "dev": true, "requires": { - "semver": "^5.3.0" + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "exists-sync": "0.0.4", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" } }, - "ember-export-application-global": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ember-export-application-global/-/ember-export-application-global-1.1.1.tgz", - "integrity": "sha1-8lfVJxJokyqJ1zkmec5NuJ1xVK8=", - "dev": true, - "requires": { - "ember-cli-babel": "^5.1.10" - } + "broccoli-funnel-reducer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/broccoli-funnel-reducer/-/broccoli-funnel-reducer-1.0.0.tgz", + "integrity": "sha1-ETZbKnha7JsXlyo234fu8kxcwOo=", + "dev": true }, - "ember-factory-for-polyfill": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/ember-factory-for-polyfill/-/ember-factory-for-polyfill-1.3.1.tgz", - "integrity": "sha512-y3iG2iCzH96lZMTWQw6LWNLAfOmDC4pXKbZP6FxG8lt7GGaNFkZjwsf+Z5GAe7kxfD7UG4lVkF7x37K82rySGA==", + "broccoli-jshint": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-jshint/-/broccoli-jshint-1.2.0.tgz", + "integrity": "sha1-jNVl0RoEv9MsuPhaD37eHlvnpqI=", "dev": true, "requires": { - "ember-cli-version-checker": "^2.1.0" + "broccoli-persistent-filter": "^1.2.0", + "chalk": "~0.4.0", + "findup-sync": "^0.3.0", + "jshint": "^2.7.0", + "json-stable-stringify": "^1.0.0", + "mkdirp": "~0.4.0" }, "dependencies": { - "ember-cli-version-checker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.1.2.tgz", - "integrity": "sha512-sjkHGr4IGXnO3EUcY21380Xo9Qf6bC8HWH4D62bVnrQop/8uha5XgMQRoAflMCeH6suMrezQL287JUoYc2smEw==", - "dev": true, - "requires": { - "resolve": "^1.3.3", - "semver": "^5.3.0" + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" + } + }, + "findup-sync": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "dev": true, + "requires": { + "glob": "~5.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.4.2.tgz", + "integrity": "sha1-QnyMGOzjmLky9vZm9OHlt3QOeMg=", + "dev": true, + "requires": { + "minimist": "0.0.8" } + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true } } }, - "ember-getowner-polyfill": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/ember-getowner-polyfill/-/ember-getowner-polyfill-1.2.5.tgz", - "integrity": "sha512-o8zK9AOfuW7CYS8CGKQG6miMj6I+sp/PeJmgfJyOoqT/24JYh4F0m8Fml4+Oljhc5BFihApnzGv++3FmL2CZwA==", + "broccoli-kitchen-sink-helpers": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/broccoli-kitchen-sink-helpers/-/broccoli-kitchen-sink-helpers-0.3.1.tgz", + "integrity": "sha1-d8fBgZS5ZkFj7E/O4nk0RJJuDAY=", "dev": true, "requires": { - "ember-cli-babel": "^5.1.6", - "ember-cli-version-checker": "^1.2.0", - "ember-factory-for-polyfill": "^1.1.0" + "glob": "^5.0.10", + "mkdirp": "^0.5.1" } }, - "ember-highcharts": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/ember-highcharts/-/ember-highcharts-0.6.0.tgz", - "integrity": "sha512-DV81yHC7a5vr9hK/b/AvXogRc1M1xqabIvGjgPz/GoZ7XYpNLM+46761csrgjmPZ1R5bjDbo7bg7k1ocYJ2Chg==", + "broccoli-merge-trees": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-1.2.4.tgz", + "integrity": "sha1-oAFRm7UGfwZYnZGvopQkRaLQ/bU=", "dev": true, "requires": { - "broccoli-funnel": "^2.0.1", - "broccoli-merge-trees": "^1.2.0", - "ember-assign-polyfill": "^2.2.0", - "ember-cli-babel": "^6.6.0", - "ember-cli-htmlbars": "^2.0.1", - "ember-getowner-polyfill": "^1.2.2" + "broccoli-plugin": "^1.3.0", + "can-symlink": "^1.0.0", + "fast-ordered-set": "^1.0.2", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + }, + "broccoli-middleware": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/broccoli-middleware/-/broccoli-middleware-1.2.1.tgz", + "integrity": "sha1-oh8lX4v+WiHC8PvyQXrd2dJMlDY=", + "dev": true, + "requires": { + "handlebars": "^4.0.4", + "mime-types": "^2.1.18" + } + }, + "broccoli-node-info": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/broccoli-node-info/-/broccoli-node-info-1.1.0.tgz", + "integrity": "sha1-OqLjHgflvbUW3SUhT3xFuhxFlBI=", + "dev": true + }, + "broccoli-persistent-filter": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-1.4.6.tgz", + "integrity": "sha512-0RejLwoC95kv4kta8KAa+FmECJCK78Qgm8SRDEK7YyU0N9Cx6KpY3UCDy9WELl3mCXLN8TokNxc7/hp3lL4lfw==", + "dev": true, + "requires": { + "async-disk-cache": "^1.2.1", + "async-promise-queue": "^1.0.3", + "broccoli-plugin": "^1.0.0", + "fs-tree-diff": "^0.5.2", + "hash-for-dep": "^1.0.2", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rimraf": "^2.6.1", + "rsvp": "^3.0.18", + "symlink-or-copy": "^1.0.1", + "walk-sync": "^0.3.1" + } + }, + "broccoli-plugin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz", + "integrity": "sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==", + "dev": true, + "requires": { + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.1.8" + } + }, + "broccoli-slow-trees": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/broccoli-slow-trees/-/broccoli-slow-trees-3.1.0.tgz", + "integrity": "sha512-FRI7mRTk2wjIDrdNJd6znS7Kmmne4VkAkl8Ix1R/VoePFMD0g0tEl671xswzFqaRjpT9Qu+CC4hdXDLDJBuzMw==", + "dev": true, + "requires": { + "heimdalljs": "^0.2.1" + } + }, + "broccoli-source": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/broccoli-source/-/broccoli-source-1.1.0.tgz", + "integrity": "sha1-VPDoLItz9GWAy7xPV48LMvyo+Ak=", + "dev": true + }, + "broccoli-sri-hash": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/broccoli-sri-hash/-/broccoli-sri-hash-2.1.2.tgz", + "integrity": "sha1-vGmQXtejga0yXMDQLe0HEyjr8/M=", + "dev": true, + "requires": { + "broccoli-caching-writer": "^2.2.0", + "mkdirp": "^0.5.1", + "rsvp": "^3.1.0", + "sri-toolbox": "^0.2.0", + "symlink-or-copy": "^1.0.1" + } + }, + "broccoli-stew": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/broccoli-stew/-/broccoli-stew-1.6.0.tgz", + "integrity": "sha512-sUwCJNnYH4Na690By5xcEMAZqKgquUQnMAEuIiL3Z2k63mSw9Xg+7Ew4wCrFrMmXMcLpWjZDOm6Yqnq268N+ZQ==", + "dev": true, + "requires": { + "broccoli-debug": "^0.6.1", + "broccoli-funnel": "^2.0.0", + "broccoli-merge-trees": "^2.0.0", + "broccoli-persistent-filter": "^1.1.6", + "broccoli-plugin": "^1.3.0", + "chalk": "^2.4.1", + "debug": "^3.1.0", + "ensure-posix-path": "^1.0.1", + "fs-extra": "^5.0.0", + "minimatch": "^3.0.4", + "resolve": "^1.8.1", + "rsvp": "^4.8.3", + "symlink-or-copy": "^1.2.0", + "walk-sync": "^0.3.0" }, "dependencies": { - "amd-name-resolver": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.2.0.tgz", - "integrity": "sha512-hlSTWGS1t6/xq5YCed7YALg7tKZL3rkl7UwEZ/eCIkn8JxmM6fU6Qs/1hwtjQqfuYxlffuUcgYEm0f5xP4YKaA==", - "dev": true, - "requires": { - "ensure-posix-path": "^1.0.1" - } - }, - "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" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "broccoli-babel-transpiler": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.0.tgz", - "integrity": "sha512-c5OLGY40Sdmv6rP230Jt8yoK49BHfOw1LXiDMu9EC9k2U6sqlpNRK78SzvByQ8IzKtBYUfeWCxeZHcvW+gH7VQ==", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "babel-core": "^6.26.0", - "broccoli-funnel": "^2.0.1", - "broccoli-merge-trees": "^2.0.0", - "broccoli-persistent-filter": "^1.4.3", - "clone": "^2.0.0", - "hash-for-dep": "^1.2.3", - "heimdalljs-logger": "^0.1.7", - "json-stable-stringify": "^1.0.0", - "rsvp": "^4.8.2", - "workerpool": "^2.3.0" - }, - "dependencies": { - "broccoli-merge-trees": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", - "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", - "dev": true, - "requires": { - "broccoli-plugin": "^1.3.0", - "merge-trees": "^1.0.1" - } - } + "color-convert": "^1.9.0" } }, "broccoli-funnel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.1.tgz", - "integrity": "sha512-C8Lnp9TVsSSiZMGEF16C0dCiNg2oJqUKwuZ1K4kVC6qRPG/2Cj/rtB5kRCC9qEbwqhX71bDbfHROx0L3J7zXQg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", "dev": true, "requires": { "array-equal": "^1.0.0", @@ -4612,930 +3833,861 @@ "rimraf": "^2.4.3", "symlink-or-copy": "^1.0.0", "walk-sync": "^0.3.1" + }, + "dependencies": { + "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" + } + } } }, - "ember-cli-babel": { - "version": "6.17.2", - "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.17.2.tgz", - "integrity": "sha512-9KcCvF1PcelEFTSiJ/Ld20tfuW9acMkwHC/xINLsmwqJVDbm3oEqWtiFDZ5ebaC278O5I0GqNJWJLYNoWMNZ8g==", - "dev": true, - "requires": { - "amd-name-resolver": "1.2.0", - "babel-plugin-debug-macros": "^0.2.0-beta.6", - "babel-plugin-ember-modules-api-polyfill": "^2.5.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.0", - "babel-polyfill": "^6.26.0", - "babel-preset-env": "^1.7.0", - "broccoli-babel-transpiler": "^6.5.0", - "broccoli-debug": "^0.6.4", - "broccoli-funnel": "^2.0.0", - "broccoli-source": "^1.1.0", - "clone": "^2.0.0", - "ember-cli-version-checker": "^2.1.2", - "semver": "^5.5.0" + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" } }, - "ember-cli-htmlbars": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-2.0.5.tgz", - "integrity": "sha512-3f3PAxdnQ/fhQa8XP/3z4RLRgLHxV8j4Ln75aHbRdemOCjBa048KxL9l+acRLhCulbGQCMnLiIUIC89PAzLrcA==", + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "broccoli-persistent-filter": "^1.4.3", - "hash-for-dep": "^1.2.3", - "json-stable-stringify": "^1.0.0", - "strip-bom": "^3.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "ember-cli-version-checker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.1.2.tgz", - "integrity": "sha512-sjkHGr4IGXnO3EUcY21380Xo9Qf6bC8HWH4D62bVnrQop/8uha5XgMQRoAflMCeH6suMrezQL287JUoYc2smEw==", + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "resolve": "^1.3.3", - "semver": "^5.3.0" + "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } } }, - "json5": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } }, "rsvp": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", - "integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "ember-intl": { - "version": "2.15.1", - "resolved": "http://registry.npmjs.org/ember-intl/-/ember-intl-2.15.1.tgz", - "integrity": "sha1-kWYVPVdT4HRdpq5090YmTaaen/s=", - "dev": true, - "requires": { - "broccoli-caching-writer": "^2.2.1", - "broccoli-cldr-data": "^0.4.2", - "broccoli-funnel": "^1.0.1", - "broccoli-merge-trees": "^1.1.1", - "broccoli-source": "^1.1.0", - "broccoli-stew": "^1.2.0", - "chalk": "^1.0.0", - "ember-cli-babel": "^5.1.6", - "ember-cli-lodash-subset": "^1.0.7", - "ember-getowner-polyfill": "^1.0.0", - "ember-intl-format-cache": "^2.4.0", - "ember-intl-messageformat": "^2.4.0", - "ember-intl-relativeformat": "^2.4.0", - "exists-sync": "0.0.3", - "extend": "^3.0.0", - "glob": "^5.0.3", - "intl": "1.0.1", - "js-yaml": "^3.3.1", - "json-stable-stringify": "^1.0.0", - "mkdirp": "^0.5.0", - "serialize-javascript": "^1.0.0", - "silent-error": "^1.0.0", - "walk-sync": "^0.2.6" - }, - "dependencies": { - "exists-sync": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.3.tgz", - "integrity": "sha1-uRAAC+27ETs3i4L19adjgQdiLc8=", + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true }, - "walk-sync": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.2.7.tgz", - "integrity": "sha1-tJvk7mhnZXrrc2l4tWop0Q+jmWk=", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "ensure-posix-path": "^1.0.0", - "matcher-collection": "^1.0.0" + "has-flag": "^3.0.0" } } } }, - "ember-intl-format-cache": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/ember-intl-format-cache/-/ember-intl-format-cache-2.6.0.tgz", - "integrity": "sha512-nPKQpfCYQw1oeMI7xyVsMzpEQ6ice8HFkI8Z+ASGcDB5cA7Prz9pHG4dgBq947pgCI93IjWcDSWklkU3NuIO1Q==", + "broccoli-uglify-sourcemap": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/broccoli-uglify-sourcemap/-/broccoli-uglify-sourcemap-1.5.2.tgz", + "integrity": "sha1-BPhKsNtTkDH6hozPpWPJky1Qzts=", "dev": true, "requires": { - "broccoli-merge-trees": "^1.0.0", - "broccoli-source": "^1.1.0", - "ember-cli-babel": "^6.7.1", - "intl-format-cache": "^2.0.5" + "broccoli-plugin": "^1.2.1", + "debug": "^2.2.0", + "lodash.merge": "^4.5.1", + "matcher-collection": "^1.0.0", + "mkdirp": "^0.5.0", + "source-map-url": "^0.3.0", + "symlink-or-copy": "^1.0.1", + "uglify-js": "^2.7.0", + "walk-sync": "^0.1.3" }, "dependencies": { - "amd-name-resolver": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.2.0.tgz", - "integrity": "sha512-hlSTWGS1t6/xq5YCed7YALg7tKZL3rkl7UwEZ/eCIkn8JxmM6fU6Qs/1hwtjQqfuYxlffuUcgYEm0f5xP4YKaA==", - "dev": true, - "requires": { - "ensure-posix-path": "^1.0.1" - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "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": { - "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" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" } }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "walk-sync": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.1.3.tgz", + "integrity": "sha1-igcmGgC9ps+xviXp8QD61XVG9YM=", "dev": true }, - "broccoli-babel-transpiler": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.0.tgz", - "integrity": "sha512-c5OLGY40Sdmv6rP230Jt8yoK49BHfOw1LXiDMu9EC9k2U6sqlpNRK78SzvByQ8IzKtBYUfeWCxeZHcvW+gH7VQ==", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "broccoli-funnel": "^2.0.1", - "broccoli-merge-trees": "^2.0.0", - "broccoli-persistent-filter": "^1.4.3", - "clone": "^2.0.0", - "hash-for-dep": "^1.2.3", - "heimdalljs-logger": "^0.1.7", - "json-stable-stringify": "^1.0.0", - "rsvp": "^4.8.2", - "workerpool": "^2.3.0" - }, - "dependencies": { - "broccoli-merge-trees": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", - "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", - "dev": true, - "requires": { - "broccoli-plugin": "^1.3.0", - "merge-trees": "^1.0.1" - } - } - } - }, - "broccoli-funnel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.1.tgz", - "integrity": "sha512-C8Lnp9TVsSSiZMGEF16C0dCiNg2oJqUKwuZ1K4kVC6qRPG/2Cj/rtB5kRCC9qEbwqhX71bDbfHROx0L3J7zXQg==", - "dev": true, - "requires": { - "array-equal": "^1.0.0", - "blank-object": "^1.0.1", - "broccoli-plugin": "^1.3.0", - "debug": "^2.2.0", - "fast-ordered-set": "^1.0.0", - "fs-tree-diff": "^0.5.3", - "heimdalljs": "^0.2.0", - "minimatch": "^3.0.0", - "mkdirp": "^0.5.0", - "path-posix": "^1.0.0", - "rimraf": "^2.4.3", - "symlink-or-copy": "^1.0.0", - "walk-sync": "^0.3.1" - } + "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 }, - "ember-cli-babel": { - "version": "6.17.2", - "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.17.2.tgz", - "integrity": "sha512-9KcCvF1PcelEFTSiJ/Ld20tfuW9acMkwHC/xINLsmwqJVDbm3oEqWtiFDZ5ebaC278O5I0GqNJWJLYNoWMNZ8g==", + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "requires": { - "amd-name-resolver": "1.2.0", - "babel-plugin-debug-macros": "^0.2.0-beta.6", - "babel-plugin-ember-modules-api-polyfill": "^2.5.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.0", - "babel-polyfill": "^6.26.0", - "babel-preset-env": "^1.7.0", - "broccoli-babel-transpiler": "^6.5.0", - "broccoli-debug": "^0.6.4", - "broccoli-funnel": "^2.0.0", - "broccoli-source": "^1.1.0", - "clone": "^2.0.0", - "ember-cli-version-checker": "^2.1.2", - "semver": "^5.5.0" + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" } - }, - "ember-cli-version-checker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.1.2.tgz", - "integrity": "sha512-sjkHGr4IGXnO3EUcY21380Xo9Qf6bC8HWH4D62bVnrQop/8uha5XgMQRoAflMCeH6suMrezQL287JUoYc2smEw==", - "dev": true, - "requires": { - "resolve": "^1.3.3", - "semver": "^5.3.0" - } - }, - "json5": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "rsvp": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", - "integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==", - "dev": true } } }, - "ember-intl-messageformat": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ember-intl-messageformat/-/ember-intl-messageformat-2.5.0.tgz", - "integrity": "sha1-QeT+7byNgW8eU5B5cQj+goqcDp8=", + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", "dev": true, "requires": { - "broccoli-funnel": "^1.0.0", - "broccoli-merge-trees": "^1.0.0", - "broccoli-source": "^1.1.0", - "ember-cli-babel": "^5.1.7", - "ember-intl-messageformat-parser": "^1.2.0", - "intl-messageformat": "^1.2.0" + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" } }, - "ember-intl-messageformat-parser": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ember-intl-messageformat-parser/-/ember-intl-messageformat-parser-1.3.0.tgz", - "integrity": "sha1-FUX3Xq0WrPV3AmimSzPRsT1PlNk=", + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { - "broccoli-funnel": "^1.0.0", - "broccoli-merge-trees": "^1.0.0", - "ember-cli-babel": "^5.1.0", - "intl-messageformat-parser": "^1.2.0" + "node-int64": "^0.4.0" } }, - "ember-intl-relativeformat": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/ember-intl-relativeformat/-/ember-intl-relativeformat-2.4.2.tgz", - "integrity": "sha1-t09FeSc1hMq5rGV6BSjr3Zyxoik=", + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "requires": { - "broccoli-funnel": "^1.0.0", - "broccoli-merge-trees": "^1.0.0", - "broccoli-source": "^1.1.0", - "ember-cli-babel": "^5.1.7", - "ember-intl-messageformat": "^2.4.0", - "intl-relativeformat": "^1.2.0" + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, - "ember-load-initializers": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/ember-load-initializers/-/ember-load-initializers-0.5.1.tgz", - "integrity": "sha1-duPbI8ER29zTrm9ocDa/C1a+DL4=", + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, - "ember-qunit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ember-qunit/-/ember-qunit-2.2.0.tgz", - "integrity": "sha512-iMQT1ZCgSQpiK/VTbJjeQWNzsi4742wmPe08pzgEAf9lCruy9s3tmviz4fF98jDlPdV8w5LMIkkXQX7L2eTp6g==", + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "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": { - "ember-test-helpers": "^0.6.3" + "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 + } } }, - "ember-resolver": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ember-resolver/-/ember-resolver-2.1.1.tgz", - "integrity": "sha1-Xkwf/+n19I/CGUrXWSJ07QzXT3I=", + "calculate-cache-key-for-tree": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/calculate-cache-key-for-tree/-/calculate-cache-key-for-tree-1.2.3.tgz", + "integrity": "sha512-PPQorvdNw8K8k7UftCeradwOmKDSDJs8wcqYTtJPEt3fHbZyK8QsorybJA+lOmk0dgE61vX6R+5Kd3W9h4EMGg==", "dev": true, "requires": { - "ember-cli-babel": "^5.1.6", - "ember-cli-version-checker": "^1.1.6" + "json-stable-stringify": "^1.0.1" } }, - "ember-rfc176-data": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/ember-rfc176-data/-/ember-rfc176-data-0.3.5.tgz", - "integrity": "sha512-5NfL1iTkIQDYs16/IZ7/jWCEglNsUrigLelBkBMsNcib9T3XzQwmhhVTjoSsk66s57LmWJ1bQu+2c1CAyYCV7A==", + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", "dev": true }, - "ember-router-generator": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/ember-router-generator/-/ember-router-generator-1.2.3.tgz", - "integrity": "sha1-jtLKhv8yM2MSD8FCeBkeno8TFe4=", + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "can-symlink": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/can-symlink/-/can-symlink-1.0.0.tgz", + "integrity": "sha1-l7YH2KhLtsbiKLkC2GTstZS50hk=", "dev": true, "requires": { - "recast": "^0.11.3" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "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" - } - } + "tmp": "0.0.28" } }, - "ember-test-helpers": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/ember-test-helpers/-/ember-test-helpers-0.6.3.tgz", - "integrity": "sha1-+GTN9vTnXz+HaNZTd4W1q26C2Qc=", + "caniuse-lite": { + "version": "1.0.30001157", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz", + "integrity": "sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA==", "dev": true }, - "ember-try": { - "version": "0.2.23", - "resolved": "https://registry.npmjs.org/ember-try/-/ember-try-0.2.23.tgz", - "integrity": "sha512-kmVNsSFFafGinFhERMox3SXHoU+V1td1538SbhpslPtf7S2BZYr7JdAwOCIRoRtpcWeNdYgdQGzJZxNvUc8aLg==", + "capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", + "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "dev": true, "requires": { - "chalk": "^1.0.0", - "cli-table2": "^0.2.0", - "core-object": "^1.1.0", - "debug": "^2.2.0", - "ember-try-config": "^2.2.0", - "extend": "^3.0.0", - "fs-extra": "^0.26.0", - "promise-map-series": "^0.2.1", - "resolve": "^1.1.6", - "rimraf": "^2.3.2", - "rsvp": "^3.0.17", - "semver": "^5.1.0" - }, - "dependencies": { - "core-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/core-object/-/core-object-1.1.0.tgz", - "integrity": "sha1-htY5GHM8+doaWq5ynmLAqI5mrQo=", - "dev": true - }, - "fs-extra": { - "version": "0.26.7", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", - "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } + "rsvp": "^3.3.3" } }, - "ember-try-config": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ember-try-config/-/ember-try-config-2.2.0.tgz", - "integrity": "sha1-a+CvbHGUmBPgKseTVk/dv4M2uAc=", + "cardinal": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-0.5.0.tgz", + "integrity": "sha1-ANX2YdvUqr/ffUHOSKWlm8o1opE=", "dev": true, "requires": { - "lodash": "^4.6.1", - "node-fetch": "^1.3.3", - "rsvp": "^3.2.1", - "semver": "^5.1.0" + "ansicolors": "~0.2.1", + "redeyed": "~0.5.0" } }, - "ember-welcome-page": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ember-welcome-page/-/ember-welcome-page-1.0.4.tgz", - "integrity": "sha1-sZsArJvYT1W2RwTS7Ptqo/gk0tg=", + "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": { - "broccoli-funnel": "^1.0.1", - "broccoli-merge-trees": "^1.1.1", - "ember-cli-babel": "^5.1.5", - "ember-cli-htmlbars": "^1.0.1", - "ember-cli-version-checker": "1.1.6", - "exists-sync": "0.0.3", - "lodash": "^4.7.0", - "walk-sync": "^0.2.6" - }, - "dependencies": { - "ember-cli-version-checker": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-1.1.6.tgz", - "integrity": "sha1-14lBi4o2J71DSG2kK509dtvMDh0=", - "dev": true, - "requires": { - "semver": "^4.2.2" - } - }, - "exists-sync": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.3.tgz", - "integrity": "sha1-uRAAC+27ETs3i4L19adjgQdiLc8=", - "dev": true - }, - "semver": { - "version": "4.3.6", - "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - }, - "walk-sync": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.2.7.tgz", - "integrity": "sha1-tJvk7mhnZXrrc2l4tWop0Q+jmWk=", - "dev": true, - "requires": { - "ensure-posix-path": "^1.0.0", - "matcher-collection": "^1.0.0" - } - } + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, - "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=", + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "iconv-lite": "~0.4.13" + "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" } }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "charm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", + "integrity": "sha1-it02cVOm2aWBMxBSxAkJkdqZXjU=", "dev": true, "requires": { - "once": "^1.4.0" + "inherits": "^2.0.1" } }, - "engine.io": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.0.tgz", - "integrity": "sha1-PutfJky3XbvsG6rqJtYfWk6s4qo=", + "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": { - "accepts": "1.3.3", - "base64id": "0.1.0", - "cookie": "0.3.1", - "debug": "2.3.3", - "engine.io-parser": "1.3.1", - "ws": "1.1.1" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { - "accepts": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", - "dev": true, - "requires": { - "mime-types": "~2.1.11", - "negotiator": "0.6.1" - } - }, - "debug": { - "version": "2.3.3", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "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": { - "ms": "0.7.2" + "is-descriptor": "^0.1.0" } }, - "ms": { - "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, - "engine.io-client": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.0.tgz", - "integrity": "sha1-e3MOQSdBQIdZbZvjyI0rxf22z1w=", + "cldr-core": { + "version": "28.0.0", + "resolved": "https://registry.npmjs.org/cldr-core/-/cldr-core-28.0.0.tgz", + "integrity": "sha1-RttiCCktp/6fA7e3n4ypDOuExq0=", + "dev": true + }, + "cldr-dates-full": { + "version": "28.0.0", + "resolved": "https://registry.npmjs.org/cldr-dates-full/-/cldr-dates-full-28.0.0.tgz", + "integrity": "sha1-pG5SzJIhxo6li2ZmSouYrmuo2WI=", + "dev": true + }, + "cldr-numbers-full": { + "version": "28.0.0", + "resolved": "https://registry.npmjs.org/cldr-numbers-full/-/cldr-numbers-full-28.0.0.tgz", + "integrity": "sha1-SRM0whiKLRF2F1inVyw/UuH3f3o=", + "dev": true + }, + "clean-base-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-base-url/-/clean-base-url-1.0.0.tgz", + "integrity": "sha1-yQHPCiC5ckNbDszVLQVoJKQ1G3s=", + "dev": true + }, + "clean-css": { + "version": "3.4.28", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", + "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", "dev": true, "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "2.3.3", - "engine.io-parser": "1.3.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parsejson": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "1.1.1", - "xmlhttprequest-ssl": "1.5.3", - "yeast": "0.1.2" + "commander": "2.8.x", + "source-map": "0.4.x" }, "dependencies": { - "debug": { - "version": "2.3.3", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", "dev": true, "requires": { - "ms": "0.7.2" + "graceful-readlink": ">= 1.0.0" } }, - "ms": { - "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "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" + } } } }, - "engine.io-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.1.tgz", - "integrity": "sha1-lVTxrjMQfW+9FwylRm0vgz9qB88=", + "clean-css-promise": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/clean-css-promise/-/clean-css-promise-0.1.1.tgz", + "integrity": "sha1-Q/PSyN/LK/BxSBJSzZt2QzwI7ss=", "dev": true, "requires": { - "after": "0.8.1", - "arraybuffer.slice": "0.0.6", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", - "has-binary": "0.1.6", - "wtf-8": "1.0.0" + "array-to-error": "^1.0.0", + "clean-css": "^3.4.5", + "pinkie-promise": "^2.0.0" + } + }, + "clean-up-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-up-path/-/clean-up-path-1.0.0.tgz", + "integrity": "sha512-PHGlEF0Z6976qQyN6gM7kKH6EH0RdfZcc8V+QhFe36eRxV0SMH5OUBZG7Bxa9YcreNzyNbK63cGiZxdSZgosRw==", + "dev": true + }, + "cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "^7.1.1" }, "dependencies": { - "has-binary": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz", - "integrity": "sha1-JTJvOc+k9hath4eJTjryz7x7bhA=", + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { - "isarray": "0.0.1" + "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" } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true } } }, - "ensure-posix-path": { + "cli-cursor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz", - "integrity": "sha1-pls+QtC3HPxYXrd0+ZQ8jZuRsMI=", - "dev": true - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, - "optional": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true + "requires": { + "restore-cursor": "^1.0.1" + } }, - "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=", + "cli-spinners": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", + "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", "dev": true }, - "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 + "cli-table": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.5.tgz", + "integrity": "sha512-7uo2+RMNQUZ13M199udxqwk1qxTOS53EUak4gmu/aioUpdH5RvBz0JkJslcWz6ABKedZNqXXzikMZgHh+qF16A==", + "dev": true, + "requires": { + "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } + } }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "cli-table2": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/cli-table2/-/cli-table2-0.2.0.tgz", + "integrity": "sha1-LR738hig54biFFQFYtS9F3/jLZc=", + "dev": true, + "requires": { + "colors": "^1.1.2", + "lodash": "^3.10.1", + "string-width": "^1.0.1" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } + } }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, - "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "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": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", "dev": true }, - "events-to-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", - "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", + "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 }, - "exec-sh": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", - "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "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": { - "merge": "^1.2.0" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "optional": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "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": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" } } } }, - "exists-stat": { + "component-bind": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/exists-stat/-/exists-stat-1.0.0.tgz", - "integrity": "sha1-BmDjUlouidnkRhKUQMJy7foktSk=", - "dev": true - }, - "exists-sync": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.4.tgz", - "integrity": "sha1-l0TCxCjMA7AQYNtFTUsS8O88iHk=", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", "dev": true }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", "dev": true }, - "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" - } - }, - "expand-tilde": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", - "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "requires": { - "os-homedir": "^1.0.1" + "mime-db": ">= 1.43.0 < 2" } }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, "requires": { "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", + "bytes": "3.0.0", + "compressible": "~2.0.16", "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.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", + "on-headers": "~1.0.2", "safe-buffer": "5.1.2", - "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" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "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 }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" }, "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==", + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "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" } - } - } - }, - "external-editor": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", - "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=", - "dev": true, - "requires": { - "extend": "^3.0.0", - "spawn-sync": "^1.0.15", - "tmp": "^0.0.29" - }, - "dependencies": { - "tmp": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", - "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", + }, + "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": { - "os-tmpdir": "~1.0.1" + "safe-buffer": "~5.1.0" } } } }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "configstore": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", + "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, - "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, - "optional": true, "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" + "date-now": "^0.1.4" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "console-ui": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/console-ui/-/console-ui-1.0.3.tgz", + "integrity": "sha1-McUkRhtjQidp+eicFzSV2ROTchw=", "dev": true, - "optional": true + "requires": { + "chalk": "^1.1.3", + "inquirer": "^1.2.3", + "ora": "^0.2.0", + "through": "^2.3.8" + } }, - "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=", + "consolidate": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", + "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", "dev": true, - "optional": true + "requires": { + "bluebird": "^3.1.1" + }, + "dependencies": { + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "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=", + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", "dev": true, - "optional": true + "requires": { + "safe-buffer": "5.1.2" + } }, - "fast-ordered-set": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-ordered-set/-/fast-ordered-set-1.0.3.tgz", - "integrity": "sha1-P7s2Y097555PftvbSjV97iXRhOs=", + "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 + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, "requires": { - "blank-object": "^1.0.1" + "safe-buffer": "~5.1.1" } }, - "fast-sourcemap-concat": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/fast-sourcemap-concat/-/fast-sourcemap-concat-1.4.0.tgz", - "integrity": "sha512-x90Wlx/2C83lfyg7h4oguTZN4MyaVfaiUSJQNpU+YEA0Odf9u659Opo44b0LfoVg9G/bOE++GdID/dkyja+XcA==", + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "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-dereference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/copy-dereference/-/copy-dereference-1.0.0.tgz", + "integrity": "sha1-axMYZUIP2BtBO6mUtE02VTERUrY=", + "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=", + "dev": true + }, + "core-js-compat": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.0.tgz", + "integrity": "sha512-YK6fwFjCOKWwGnjFUR3c544YsnA/7DoLL0ysncuOJ4pwbriAtOpvM2bygdlcXbvQCQZ7bBU9CL4t7tGl7ETRpQ==", "dev": true, "requires": { - "chalk": "^2.0.0", - "fs-extra": "^5.0.0", - "heimdalljs-logger": "^0.1.9", - "memory-streams": "^0.1.3", - "mkdirp": "^0.5.0", - "source-map": "^0.4.2", - "source-map-url": "^0.3.0", - "sourcemap-validator": "^1.1.0" + "browserslist": "^4.16.3", + "semver": "7.0.0" + }, + "dependencies": { + "browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + } + }, + "caniuse-lite": { + "version": "1.0.30001192", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz", + "integrity": "sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.675", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.675.tgz", + "integrity": "sha512-GEQw+6dNWjueXGkGfjgm7dAMtXfEqrfDG3uWcZdeaD4cZ3dKYdPRQVruVXQRXtPLtOr5GNVVlNLRMChOZ611pQ==", + "dev": true + }, + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-object": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/core-object/-/core-object-3.1.5.tgz", + "integrity": "sha512-sA2/4+/PZ/KV6CKgjrVrrUVBKCkdDO02CUlQ0YKTQoYUwPYNOtOAcWlbYhd5v/1JqYaA6oZ4sDlOU4ppVw6Wbg==", + "dev": true, + "requires": { + "chalk": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -5548,9 +4700,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -5558,26 +4710,6 @@ "supports-color": "^5.3.0" } }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "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" - } - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -5589,455 +4721,529 @@ } } }, - "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" - } - }, - "fb-watchman": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", - "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", - "dev": true, - "requires": { - "bser": "^2.0.0" - } + "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 }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, - "optional": true, "requires": { - "pend": "~1.2.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dag-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-2.0.2.tgz", + "integrity": "sha1-lxS0ct6CoYQ94vuptodpOMq0TGg=", "dev": true }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "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 }, - "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==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "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" + "ms": "2.0.0" } }, - "finalhandler": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "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 + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "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" + "object-keys": "^1.0.12" } }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "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": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "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": { - "pinkie-promise": "^2.0.0" + "kind-of": "^6.0.0" } - } - } - }, - "findup-sync": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", - "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", - "dev": true, - "requires": { - "detect-file": "^0.1.0", - "is-glob": "^2.0.1", - "micromatch": "^2.3.7", - "resolve-dir": "^0.1.0" - } - }, - "fireworm": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/fireworm/-/fireworm-0.7.1.tgz", - "integrity": "sha1-zPIPeUHxCIg/zduZOD2+bhhhx1g=", - "dev": true, - "requires": { - "async": "~0.2.9", - "is-type": "0.0.1", - "lodash.debounce": "^3.1.1", - "lodash.flatten": "^3.0.2", - "minimatch": "^3.0.2" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - } - } - }, - "follow-redirects": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", - "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", - "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==", + }, + "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": { - "ms": "2.0.0" + "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.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true } } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", "dev": true }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "defs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz", + "integrity": "sha1-siYJ8sehG6ej2xFoBcE5scr/qdI=", "dev": true, "requires": { - "for-in": "^1.0.1" + "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" } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "optional": true + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz", + "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", "dev": true, - "optional": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "fs-exists-sync": "^0.1.0" } }, - "formatjs-extract-cldr-data": { - "version": "2.0.0", - "resolved": "http://registry.npmjs.org/formatjs-extract-cldr-data/-/formatjs-extract-cldr-data-2.0.0.tgz", - "integrity": "sha1-NPlw+ljp9LTCuxvPNiAuOf0QCvs=", + "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": { - "cldr-core": "28.0.0", - "cldr-dates-full": "28.0.0", - "cldr-numbers-full": "28.0.0", - "glob": "^5.0.1", - "make-plural": "^2.1.3", - "object.assign": "^4.0.3", - "uglify-js": "^2.6.2" - }, - "dependencies": { - "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" - } - }, - "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": "http://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" - } - } + "get-stdin": "^4.0.1", + "minimist": "^1.1.0", + "repeating": "^1.1.0" } }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "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=", + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "dev": true, "requires": { - "map-cache": "^0.2.2" + "acorn": "^5.2.1", + "defined": "^1.0.0" } }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, - "fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", - "dev": true + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" + "domelementtype": "^2.0.1", + "entities": "^2.0.0" }, "dependencies": { - "jsonfile": { - "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } + "domelementtype": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", + "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==", + "dev": true + }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true } } }, - "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=", + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true }, - "fs-tree-diff": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-0.5.9.tgz", - "integrity": "sha512-872G8ax0kHh01m9n/2KDzgYwouKza0Ad9iFltBpNykvROvf2AGtoOzPJgGx125aolGPER3JuC7uZFrQ7bG1AZw==", + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", "dev": true, "requires": { - "heimdalljs-logger": "^0.1.7", - "object-assign": "^4.1.0", - "path-posix": "^1.0.0", - "symlink-or-copy": "^1.1.8" + "domelementtype": "1" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "editions": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", + "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==", "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==", + "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.592", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.592.tgz", + "integrity": "sha512-kGNowksvqQiPb1pUSQKpd8JFoGPLxYOwduNRCqCxGh/2Q1qE2JdmwouCW41lUzDxOb/2RIV4lR0tVIfboWlO9A==", + "dev": true + }, + "ember-ajax": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/ember-ajax/-/ember-ajax-2.5.6.tgz", + "integrity": "sha1-p190PM8blel5pc+WATs9uo+mJeQ=", "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, + "ember-cli-babel": "^5.1.5" + } + }, + "ember-assign-polyfill": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/ember-assign-polyfill/-/ember-assign-polyfill-2.7.2.tgz", + "integrity": "sha512-hDSaKIZyFS0WRQsWzxUgO6pJPFfmcpfdM7CbGoMgYGriYbvkKn+k8zTXSKpTFVGehhSmsLE9YPqisQ9QpPisfA==", + "dev": true, + "requires": { + "ember-cli-babel": "^7.20.5", + "ember-cli-version-checker": "^2.0.0" + }, + "dependencies": { + "amd-name-resolver": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.3.1.tgz", + "integrity": "sha512-26qTEWqZQ+cxSYygZ4Cf8tsjDBLceJahhtewxtKZA3SRa4PluuqYCuheemDQD+7Mf5B7sr+zhTDWAHDh02a1Dw==", "dev": true, - "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "ensure-posix-path": "^1.0.1", + "object-hash": "^1.3.1" } }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, + "babel-plugin-debug-macros": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.3.4.tgz", + "integrity": "sha512-wfel/vb3pXfwIDZUrkoDrn5FHmlWI96PCJ3UCDv2a86poJ3EQrnArNW5KfHSVJ9IOgxHbo748cQt7sDU+0KCEw==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "semver": "^5.3.0" } }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, + "babel-plugin-ember-modules-api-polyfill": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-ember-modules-api-polyfill/-/babel-plugin-ember-modules-api-polyfill-3.4.0.tgz", + "integrity": "sha512-nVu/LqbZBAup1zLij6xGvQwVLWVk4XYu2fl4vIOUR3S6ukdonMLhKAb0d4QXSzH30Pd7OczVTlPffWbiwahdJw==", "dev": true, - "optional": true, "requires": { - "ms": "2.0.0" + "ember-rfc176-data": "^0.3.16" } }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, + "broccoli-babel-transpiler": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-7.8.0.tgz", + "integrity": "sha512-dv30Td5uL7dO3NzQUqQKQs+Iq7JGKnCNtvc6GBO76uVPqGnRlsQZcYqdBVr33JrctR+ZrpTUf7TjsFKeDRFA8Q==", "dev": true, - "optional": true + "requires": { + "@babel/core": "^7.12.0", + "@babel/polyfill": "^7.11.5", + "broccoli-funnel": "^2.0.2", + "broccoli-merge-trees": "^3.0.2", + "broccoli-persistent-filter": "^2.2.1", + "clone": "^2.1.2", + "hash-for-dep": "^1.4.7", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.9", + "json-stable-stringify": "^1.0.1", + "rsvp": "^4.8.4", + "workerpool": "^3.1.1" + } }, - "delegates": { - "version": "1.0.0", - "bundled": true, + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", "dev": true, - "optional": true + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, + "broccoli-merge-trees": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-3.0.2.tgz", + "integrity": "sha512-ZyPAwrOdlCddduFbsMyyFzJUrvW6b04pMvDiAQZrCwghlvgowJDY+EfoXn+eR1RRA5nmGHJ+B68T63VnpRiT1A==", "dev": true, - "optional": true + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^2.0.0" + } }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, + "broccoli-persistent-filter": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-2.3.1.tgz", + "integrity": "sha512-hVsmIgCDrl2NFM+3Gs4Cr2TA6UPaIZip99hN8mtkaUPgM8UeVnCbxelCvBjUBHo0oaaqP5jzqqnRVvb568Yu5g==", "dev": true, - "optional": true, "requires": { - "minipass": "^2.2.1" + "async-disk-cache": "^1.2.1", + "async-promise-queue": "^1.0.3", + "broccoli-plugin": "^1.0.0", + "fs-tree-diff": "^2.0.0", + "hash-for-dep": "^1.5.0", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rimraf": "^2.6.1", + "rsvp": "^4.7.0", + "symlink-or-copy": "^1.0.1", + "sync-disk-cache": "^1.3.3", + "walk-sync": "^1.0.0" + }, + "dependencies": { + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dev": true, + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "walk-sync": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-1.1.4.tgz", + "integrity": "sha512-nowc9thB/Jg0KW4TgxoRjLLYRPvl3DB/98S89r4ZcJqq2B0alNcKDh6pzLkBSkPMzRSMsJghJHQi79qw0YWEkA==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^1.1.1" + } + } } }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true + "ember-cli-babel": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-7.23.1.tgz", + "integrity": "sha512-qYggmt3hRs6QJ6cRkww3ahMpyP8IEV2KFrIRO/Z6hu9MkE/8Y28Xd5NjQl6fPV3oLoG0vwuHzhNe3Jr7Wec8zw==", + "dev": true, + "requires": { + "@babel/core": "^7.12.0", + "@babel/helper-compilation-targets": "^7.12.0", + "@babel/plugin-proposal-class-properties": "^7.10.4", + "@babel/plugin-proposal-decorators": "^7.10.5", + "@babel/plugin-transform-modules-amd": "^7.10.5", + "@babel/plugin-transform-runtime": "^7.12.0", + "@babel/plugin-transform-typescript": "^7.12.0", + "@babel/polyfill": "^7.11.5", + "@babel/preset-env": "^7.12.0", + "@babel/runtime": "^7.12.0", + "amd-name-resolver": "^1.2.1", + "babel-plugin-debug-macros": "^0.3.3", + "babel-plugin-ember-data-packages-polyfill": "^0.1.2", + "babel-plugin-ember-modules-api-polyfill": "^3.2.1", + "babel-plugin-module-resolver": "^3.1.1", + "broccoli-babel-transpiler": "^7.8.0", + "broccoli-debug": "^0.6.4", + "broccoli-funnel": "^2.0.1", + "broccoli-source": "^1.1.0", + "clone": "^2.1.2", + "ember-cli-babel-plugin-helpers": "^1.1.1", + "ember-cli-version-checker": "^4.1.0", + "ensure-posix-path": "^1.0.2", + "fixturify-project": "^1.10.0", + "rimraf": "^3.0.1", + "semver": "^5.5.0" + }, + "dependencies": { + "ember-cli-version-checker": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-4.1.1.tgz", + "integrity": "sha512-bzEWsTMXUGEJfxcAGWPe6kI7oHEGD3jaxUWDYPTqzqGhNkgPwXTBgoWs9zG1RaSMaOPFnloWuxRcoHi4TrYS3Q==", + "dev": true, + "requires": { + "resolve-package-path": "^2.0.0", + "semver": "^6.3.0", + "silent-error": "^1.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + } + } }, - "gauge": { - "version": "2.7.4", - "bundled": true, + "ember-cli-version-checker": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", + "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", "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" + "resolve": "^1.3.3", + "semver": "^5.3.0" } }, "glob": { - "version": "7.1.2", - "bundled": true, + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, - "optional": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6047,676 +5253,658 @@ "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, + "merge-trees": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-2.0.0.tgz", + "integrity": "sha512-5xBbmqYBalWqmhYm51XlohhkmVOua3VAUrrWh8t9iOkaLpS6ifqm/UVuUjQCeDVJ9Vx3g2l6ihfkbLSTeKsHbw==", "dev": true, - "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "fs-updater": "^1.0.4", + "heimdalljs": "^0.2.5" } }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, + "resolve-package-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-2.0.0.tgz", + "integrity": "sha512-/CLuzodHO2wyyHTzls5Qr+EFeG6RcW4u6//gjYvUfcfyuplIX1SSccU+A5A9A78Gmezkl3NBkFAMxLbzTY9TJA==", "dev": true, - "optional": true, "requires": { - "minimatch": "^3.0.4" + "path-root": "^0.1.1", + "resolve": "^1.13.1" } }, - "inflight": { - "version": "1.0.6", - "bundled": true, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "glob": "^7.1.3" } }, - "inherits": { - "version": "2.0.3", - "bundled": true, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, + "workerpool": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-3.1.2.tgz", + "integrity": "sha512-WJFA0dGqIK7qj7xPTqciWBH5DlJQzoPjsANvc3Y4hNB0SScT+Emjvt0jPPkDBUjBNngX1q9hHgt1Gfwytu6pug==", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "@babel/core": "^7.3.4", + "object-assign": "4.1.1", + "rsvp": "^4.8.4" } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, + } + } + }, + "ember-cli": { + "version": "2.13.3", + "resolved": "https://registry.npmjs.org/ember-cli/-/ember-cli-2.13.3.tgz", + "integrity": "sha1-GRhQDmKApovgF6yptpk39ngqJLg=", + "dev": true, + "requires": { + "amd-name-resolver": "0.0.6", + "babel-plugin-transform-es2015-modules-amd": "^6.24.0", + "bower-config": "^1.3.0", + "bower-endpoint-parser": "0.2.2", + "broccoli-babel-transpiler": "^6.0.0", + "broccoli-brocfile-loader": "^0.18.0", + "broccoli-builder": "^0.18.3", + "broccoli-concat": "^3.2.2", + "broccoli-config-loader": "^1.0.0", + "broccoli-config-replace": "^1.1.2", + "broccoli-funnel": "^1.0.6", + "broccoli-funnel-reducer": "^1.0.0", + "broccoli-merge-trees": "^2.0.0", + "broccoli-middleware": "^1.0.0-beta.8", + "broccoli-source": "^1.1.0", + "broccoli-stew": "^1.2.0", + "calculate-cache-key-for-tree": "^1.0.0", + "capture-exit": "^1.1.0", + "chalk": "^1.1.3", + "clean-base-url": "^1.0.0", + "compression": "^1.4.4", + "configstore": "^3.0.0", + "console-ui": "^1.0.2", + "core-object": "^3.1.3", + "dag-map": "^2.0.2", + "diff": "^3.2.0", + "ember-cli-broccoli-sane-watcher": "^2.0.4", + "ember-cli-get-component-path-option": "^1.0.0", + "ember-cli-is-package-missing": "^1.0.0", + "ember-cli-legacy-blueprints": "^0.1.2", + "ember-cli-lodash-subset": "^1.0.11", + "ember-cli-normalize-entity-name": "^1.0.0", + "ember-cli-preprocess-registry": "^3.1.0", + "ember-cli-string-utils": "^1.0.0", + "ember-try": "^0.2.15", + "ensure-posix-path": "^1.0.2", + "escape-string-regexp": "^1.0.3", + "execa": "^0.6.0", + "exists-sync": "0.0.4", + "exit": "^0.1.2", + "express": "^4.12.3", + "filesize": "^3.1.3", + "find-up": "^2.1.0", + "fs-extra": "2.0.0", + "fs-tree-diff": "^0.5.2", + "get-caller-file": "^1.0.0", + "git-repo-info": "^1.4.1", + "glob": "7.1.1", + "heimdalljs": "^0.2.3", + "heimdalljs-fs-monitor": "^0.1.0", + "heimdalljs-graph": "^0.3.1", + "heimdalljs-logger": "^0.1.7", + "http-proxy": "^1.9.0", + "inflection": "^1.7.0", + "is-git-url": "^0.2.0", + "isbinaryfile": "^3.0.0", + "js-yaml": "^3.6.1", + "json-stable-stringify": "^1.0.1", + "leek": "0.0.24", + "lodash.template": "^4.2.5", + "markdown-it": "^8.3.0", + "markdown-it-terminal": "0.0.4", + "minimatch": "^3.0.0", + "morgan": "^1.8.1", + "node-modules-path": "^1.0.0", + "nopt": "^3.0.6", + "npm-package-arg": "^4.1.1", + "portfinder": "^1.0.7", + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.8", + "resolve": "^1.3.0", + "rsvp": "^3.3.3", + "sane": "^1.6.0", + "semver": "^5.1.1", + "silent-error": "^1.0.0", + "sort-package-json": "^1.4.0", + "symlink-or-copy": "^1.1.8", + "temp": "0.8.3", + "testem": "^1.15.0", + "tiny-lr": "^1.0.3", + "tree-sync": "^1.2.1", + "uuid": "^3.0.0", + "validate-npm-package-name": "^3.0.0", + "walk-sync": "^0.3.0", + "yam": "0.0.22" + }, + "dependencies": { + "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": { - "brace-expansion": "^1.1.7" + "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" } }, - "minimist": { - "version": "0.0.8", - "bundled": true, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "minipass": { - "version": "2.2.4", - "bundled": true, + "broccoli-babel-transpiler": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.1.tgz", + "integrity": "sha512-w6GcnkxvHcNCte5FcLGEG1hUdQvlfvSN/6PtGWU/otg69Ugk8rUk51h41R0Ugoc+TNxyeFG1opRt2RlA87XzNw==", "dev": true, "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "babel-core": "^6.26.0", + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^2.0.0", + "broccoli-persistent-filter": "^1.4.3", + "clone": "^2.0.0", + "hash-for-dep": "^1.2.3", + "heimdalljs-logger": "^0.1.7", + "json-stable-stringify": "^1.0.0", + "rsvp": "^4.8.2", + "workerpool": "^2.3.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + } } }, - "minizlib": { - "version": "1.1.0", - "bundled": true, + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", "dev": true, - "optional": true, "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": 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" + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" } }, - "npmlog": { - "version": "4.1.2", - "bundled": true, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", "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" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": 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, + } + } + }, + "ember-cli-app-version": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ember-cli-app-version/-/ember-cli-app-version-2.1.0.tgz", + "integrity": "sha1-FJEB1P0Nl4deEuxeYf8QX1COXi0=", + "dev": true, + "requires": { + "ember-cli-babel": "^6.8.0", + "git-repo-version": "0.4.1" + }, + "dependencies": { + "amd-name-resolver": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.2.0.tgz", + "integrity": "sha512-hlSTWGS1t6/xq5YCed7YALg7tKZL3rkl7UwEZ/eCIkn8JxmM6fU6Qs/1hwtjQqfuYxlffuUcgYEm0f5xP4YKaA==", "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" + "ensure-posix-path": "^1.0.1" } }, - "rimraf": { - "version": "2.6.2", - "bundled": true, + "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, - "optional": true, "requires": { - "glob": "^7.0.5" + "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" } }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "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, + "broccoli-babel-transpiler": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.1.tgz", + "integrity": "sha512-w6GcnkxvHcNCte5FcLGEG1hUdQvlfvSN/6PtGWU/otg69Ugk8rUk51h41R0Ugoc+TNxyeFG1opRt2RlA87XzNw==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "babel-core": "^6.26.0", + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^2.0.0", + "broccoli-persistent-filter": "^1.4.3", + "clone": "^2.0.0", + "hash-for-dep": "^1.2.3", + "heimdalljs-logger": "^0.1.7", + "json-stable-stringify": "^1.0.0", + "rsvp": "^4.8.2", + "workerpool": "^2.3.0" } }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", "dev": true, - "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" } }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" } }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, + "ember-cli-babel": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.18.0.tgz", + "integrity": "sha512-7ceC8joNYxY2wES16iIBlbPSxwKDBhYwC8drU3ZEvuPDMwVv1KzxCNu1fvxyFEBWhwaRNTUxSCsEVoTd9nosGA==", "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" + "amd-name-resolver": "1.2.0", + "babel-plugin-debug-macros": "^0.2.0-beta.6", + "babel-plugin-ember-modules-api-polyfill": "^2.6.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.0", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "^1.7.0", + "broccoli-babel-transpiler": "^6.5.0", + "broccoli-debug": "^0.6.4", + "broccoli-funnel": "^2.0.0", + "broccoli-source": "^1.1.0", + "clone": "^2.0.0", + "ember-cli-version-checker": "^2.1.2", + "semver": "^5.5.0" } }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, + "ember-cli-version-checker": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", + "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", "dev": true, - "optional": true, "requires": { - "string-width": "^1.0.2" + "resolve": "^1.3.3", + "semver": "^5.3.0" } }, - "wrappy": { - "version": "1.0.2", - "bundled": true, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, - "yallist": { - "version": "3.0.2", - "bundled": true, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true } } }, - "function-bind": { + "ember-cli-babel": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-5.2.8.tgz", + "integrity": "sha512-Mt9OOB5RaZwjde+LYef8EgwNVCAzsYDv4ktshblaXxr4m/Xm5/7/rxEu42RNrYkoy/qWpT9uhaD+JKK4riMf+w==", + "dev": true, + "requires": { + "broccoli-babel-transpiler": "^5.6.2", + "broccoli-funnel": "^1.0.0", + "clone": "^2.0.0", + "ember-cli-version-checker": "^1.0.2", + "resolve": "^1.1.2" + } + }, + "ember-cli-babel-plugin-helpers": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "resolved": "https://registry.npmjs.org/ember-cli-babel-plugin-helpers/-/ember-cli-babel-plugin-helpers-1.1.1.tgz", + "integrity": "sha512-sKvOiPNHr5F/60NLd7SFzMpYPte/nnGkq/tMIfXejfKHIhaiIkYFqX8Z9UFTKWLLn+V7NOaby6niNPZUdvKCRw==", "dev": true }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": 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" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "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-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "git-repo-info": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-1.4.1.tgz", - "integrity": "sha1-KgcoIyVKr2L88HZgB9e2ZRvUGUM=", - "dev": true - }, - "git-repo-version": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/git-repo-version/-/git-repo-version-0.4.1.tgz", - "integrity": "sha1-dfq5oKTshHB1Ww7qf9qm+dQUU78=", - "dev": true, - "requires": { - "git-repo-info": "~1.2.0" - }, - "dependencies": { - "git-repo-info": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-1.2.0.tgz", - "integrity": "sha1-Q9hRPgSiTdRBMwovfGZVpwn9uvI=", - "dev": true - } - } - }, - "git-tools": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/git-tools/-/git-tools-0.1.4.tgz", - "integrity": "sha1-XkPllEO4pd7bOdumY9pJ55+UOXg=", - "dev": true, - "requires": { - "spawnback": "~1.0.0" - } - }, - "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" - } - }, - "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-modules": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", - "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", - "dev": true, - "requires": { - "global-prefix": "^0.1.4", - "is-windows": "^0.2.0" - } - }, - "global-prefix": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", - "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.0", - "ini": "^1.3.4", - "is-windows": "^0.2.0", - "which": "^1.2.12" - } - }, - "globals": { - "version": "6.4.1", - "resolved": "http://registry.npmjs.org/globals/-/globals-6.4.1.tgz", - "integrity": "sha1-hJgDKzttHMge68X3lpDY/in6v08=", - "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 - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "handlebars": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", - "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", - "dev": true, - "requires": { - "async": "^2.5.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "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 - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "optional": true - }, - "har-validator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", - "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", - "dev": true, - "optional": true, - "requires": { - "ajv": "^5.3.0", - "har-schema": "^2.0.0" - } - }, - "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-binary": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", - "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", + "ember-cli-broccoli-sane-watcher": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ember-cli-broccoli-sane-watcher/-/ember-cli-broccoli-sane-watcher-2.2.2.tgz", + "integrity": "sha512-9OLy8x3pdNKC/6xR00IjTL8XyiQU3rb2HLyQSAqHuaZpZcSTKkbAse2ERTsELSINoo/zi/W7qPP5vd5SsHsraw==", "dev": true, "requires": { - "isarray": "0.0.1" + "broccoli-slow-trees": "^3.0.1", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rsvp": "^3.0.18", + "sane": "^2.4.1" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "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 - } - } - }, - "has-color": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", - "dev": true - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "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=", + }, + "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 - } - } - }, - "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": { + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -6737,4465 +5925,3865 @@ } } }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "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": { - "is-buffer": "^1.1.5" + "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" } - } - } - }, - "hash-for-dep": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/hash-for-dep/-/hash-for-dep-1.2.3.tgz", - "integrity": "sha512-NE//rDaCFpWHViw30YM78OAGBShU+g4dnUGY3UWGyEzPOGYg/ptOjk32nEc+bC1xz+RfK5UIs6lOL6eQdrV4Ow==", - "dev": true, - "requires": { - "broccoli-kitchen-sink-helpers": "^0.3.1", - "heimdalljs": "^0.2.3", - "heimdalljs-logger": "^0.1.7", - "resolve": "^1.4.0" + }, + "sane": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", + "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" + } + } } }, - "hasha": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", - "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "ember-cli-cookie": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-cookie/-/ember-cli-cookie-0.2.0.tgz", + "integrity": "sha1-Qosd6ng1cVKNgCwCDduWhp+gv7M=", "dev": true, - "optional": true, "requires": { - "is-stream": "^1.0.1", - "pinkie-promise": "^2.0.0" + "bower": "^1.3.9" } }, - "heimdalljs": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.2.6.tgz", - "integrity": "sha512-o9bd30+5vLBvBtzCPwwGqpry2+n0Hi6H1+qwt6y+0kwRHGGF8TFIhJPmnuM0xO97zaKrDZMwO/V56fAnn8m/tA==", + "ember-cli-dependency-checker": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ember-cli-dependency-checker/-/ember-cli-dependency-checker-1.4.0.tgz", + "integrity": "sha1-KxP5d+HuqEP8GiGgAb5spdTvGUI=", "dev": true, "requires": { - "rsvp": "~3.2.1" + "chalk": "^0.5.1", + "is-git-url": "^0.2.0", + "semver": "^4.1.0" }, "dependencies": { - "rsvp": { - "version": "3.2.1", - "resolved": "http://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz", - "integrity": "sha1-B8tKXfJa3Z6Cbrxn3Mn9idsn2Eo=", + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", "dev": true } } }, - "heimdalljs-fs-monitor": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/heimdalljs-fs-monitor/-/heimdalljs-fs-monitor-0.0.3.tgz", - "integrity": "sha1-Rooa+l0xulj7GZ/NtbAAfcpp5j0=", + "ember-cli-get-component-path-option": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-get-component-path-option/-/ember-cli-get-component-path-option-1.0.0.tgz", + "integrity": "sha1-DXtZVVni+QUKvtgE8djv8bCLx3E=", + "dev": true + }, + "ember-cli-get-dependency-depth": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-get-dependency-depth/-/ember-cli-get-dependency-depth-1.0.0.tgz", + "integrity": "sha1-4K/s+CotUvAPKKtGgpUoGuw2jRE=", + "dev": true + }, + "ember-cli-htmlbars": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-1.3.5.tgz", + "integrity": "sha512-Qur/anb0Vk57qmIhGLkSzl8X1QIMoae6pLa14MRQ8+YD2N5fNs3qdhEFf0SDBquPOH1QxQtraiNQvji47QBJyg==", "dev": true, "requires": { - "heimdalljs": "^0.2.0" + "broccoli-persistent-filter": "^1.0.3", + "ember-cli-version-checker": "^1.0.2", + "hash-for-dep": "^1.0.2", + "json-stable-stringify": "^1.0.0", + "strip-bom": "^2.0.0" } }, - "heimdalljs-logger": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/heimdalljs-logger/-/heimdalljs-logger-0.1.10.tgz", - "integrity": "sha512-pO++cJbhIufVI/fmB/u2Yty3KJD0TqNPecehFae0/eps0hkZ3b4Zc/PezUMOpYuHFQbA7FxHZxa305EhmjLj4g==", + "ember-cli-htmlbars-inline-precompile": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/ember-cli-htmlbars-inline-precompile/-/ember-cli-htmlbars-inline-precompile-0.3.13.tgz", + "integrity": "sha512-OfjM/0vX7C1FAZvyibkbh7oGHxDVRaLmEkIHcCLt4CLq/AbYptUYIL2dxFReFUfLDRxs92/+YP2tjP9jtkW40A==", "dev": true, "requires": { - "debug": "^2.2.0", - "heimdalljs": "^0.2.6" + "babel-plugin-htmlbars-inline-precompile": "^0.1.0", + "ember-cli-babel": "^5.1.3", + "ember-cli-htmlbars": "^1.0.0", + "hash-for-dep": "^1.0.2", + "heimdalljs-logger": "^0.1.7", + "resolve": "^1.3.3", + "semver": "^5.3.0", + "silent-error": "^1.1.0" } }, - "highcharts": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-6.2.0.tgz", - "integrity": "sha512-A4E89MA+kto8giic7zyLU6ZxfXnVeCUlKOyzFsah3+n4BROx4bgonl92KIBtwLud/mIWir8ahqhuhe2by9LakQ==", - "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=", + "ember-cli-inject-live-reload": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/ember-cli-inject-live-reload/-/ember-cli-inject-live-reload-1.10.2.tgz", + "integrity": "sha512-yFvZE4WFyWjzMJ6MTYIyjCXpcJNFMTaZP61JXITMkXhSkhuDkzMD/XfwR5+fr004TYcwrbNWpg1oGX5DbOgcaQ==", "dev": true, "requires": { - "os-tmpdir": "^1.0.1", - "user-home": "^1.1.1" + "clean-base-url": "^1.0.0", + "ember-cli-version-checker": "^2.1.2" + }, + "dependencies": { + "ember-cli-version-checker": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", + "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", + "dev": true, + "requires": { + "resolve": "^1.3.3", + "semver": "^5.3.0" + } + } } }, - "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "ember-cli-is-package-missing": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-is-package-missing/-/ember-cli-is-package-missing-1.0.0.tgz", + "integrity": "sha1-bmGEyvuSY13ZPKbJRrEEKS1OM5A=", + "dev": true + }, + "ember-cli-jshint": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/ember-cli-jshint/-/ember-cli-jshint-1.0.5.tgz", + "integrity": "sha1-igGF8Zy9cTaZXuaskpQaVg4mW5E=", "dev": true, "requires": { - "parse-passwd": "^1.0.0" + "broccoli-jshint": "^1.0.0" } }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "ember-cli-legacy-blueprints": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/ember-cli-legacy-blueprints/-/ember-cli-legacy-blueprints-0.1.5.tgz", + "integrity": "sha1-k8FcokLsUQfWKor37DD2rFOPOtk=", "dev": true, "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" + "chalk": "^1.1.1", + "ember-cli-get-component-path-option": "^1.0.0", + "ember-cli-get-dependency-depth": "^1.0.0", + "ember-cli-is-package-missing": "^1.0.0", + "ember-cli-lodash-subset": "^1.0.7", + "ember-cli-normalize-entity-name": "^1.0.0", + "ember-cli-path-utils": "^1.0.0", + "ember-cli-string-utils": "^1.0.0", + "ember-cli-test-info": "^1.0.0", + "ember-cli-valid-component-name": "^1.0.0", + "ember-cli-version-checker": "^1.1.7", + "ember-router-generator": "^1.0.0", + "exists-sync": "0.0.3", + "fs-extra": "^0.24.0", + "inflection": "^1.7.1", + "rsvp": "^3.0.17", + "silent-error": "^1.0.0" }, "dependencies": { - "entities": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "exists-sync": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.3.tgz", + "integrity": "sha1-uRAAC+27ETs3i4L19adjgQdiLc8=", "dev": true }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true + "fs-extra": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.24.0.tgz", + "integrity": "sha1-1OQ0KpZnXLeEZjOmCZJJMytTmVI=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } }, - "readable-stream": { - "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "graceful-fs": "^4.1.6" } } } }, - "http-errors": { - "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "ember-cli-lodash-subset": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/ember-cli-lodash-subset/-/ember-cli-lodash-subset-1.0.12.tgz", + "integrity": "sha1-ry5366XcsNd/MwjTpv19NFD25Tc=", + "dev": true + }, + "ember-cli-normalize-entity-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-normalize-entity-name/-/ember-cli-normalize-entity-name-1.0.0.tgz", + "integrity": "sha1-CxT3vLxZmqEXtf3cgeT9A8S61bc=", "dev": true, "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "silent-error": "^1.0.0" } }, - "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "ember-cli-path-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-path-utils/-/ember-cli-path-utils-1.0.0.tgz", + "integrity": "sha1-Tjmvi1UwHN3FAXc5t3qAT7ogce0=", "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-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "ember-cli-preprocess-registry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ember-cli-preprocess-registry/-/ember-cli-preprocess-registry-3.3.0.tgz", + "integrity": "sha512-60GYpw7VPeB7TvzTLZTuLTlHdOXvayxjAQ+IxM2T04Xkfyu75O2ItbWlftQW7NZVGkaCsXSRAmn22PG03VpLMA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "broccoli-clean-css": "^1.1.0", + "broccoli-funnel": "^2.0.1", + "debug": "^3.0.1", + "process-relative-require": "^1.0.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + }, + "dependencies": { + "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" + } + } + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + } } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "inflection": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", - "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "ember-cli-qunit": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/ember-cli-qunit/-/ember-cli-qunit-3.1.3.tgz", + "integrity": "sha1-G8bj/AC15QdTq0QyRr/BR6jSrLw=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "broccoli-babel-transpiler": "^5.5.0", + "broccoli-funnel": "^1.0.1", + "broccoli-merge-trees": "^1.1.0", + "ember-cli-babel": "^5.1.5", + "ember-cli-test-loader": "^1.1.1", + "ember-cli-version-checker": "^1.1.4", + "ember-qunit": "^2.0.0-beta.1", + "qunit": "^2.4.1", + "qunit-notifications": "^0.1.1", + "resolve": "^1.1.6", + "silent-error": "^1.0.0" } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inline-source-map-comment": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/inline-source-map-comment/-/inline-source-map-comment-1.0.5.tgz", - "integrity": "sha1-UKikTCp5DfrEQbXJTszVRiY1+vY=", + "ember-cli-release": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/ember-cli-release/-/ember-cli-release-0.2.9.tgz", + "integrity": "sha1-Xo3j0DTGVZeTN0gCMFhHDsEjGts=", "dev": true, "requires": { "chalk": "^1.0.0", - "get-stdin": "^4.0.1", - "minimist": "^1.1.1", - "sum-up": "^1.0.1", - "xtend": "^4.0.0" + "git-tools": "^0.1.4", + "make-array": "^0.1.2", + "merge": "^1.2.0", + "moment-timezone": "^0.3.0", + "nopt": "^3.0.3", + "rsvp": "^3.0.17", + "semver": "^4.3.1", + "silent-error": "^1.0.0" }, "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", "dev": true } } }, - "inquirer": { - "version": "1.2.3", - "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", - "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", + "ember-cli-sri": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ember-cli-sri/-/ember-cli-sri-2.1.1.tgz", + "integrity": "sha1-lxYgk0pLkYPPeSPMA+F4uDqpB/0=", "dev": true, "requires": { - "ansi-escapes": "^1.1.0", - "chalk": "^1.0.0", - "cli-cursor": "^1.0.1", - "cli-width": "^2.0.0", - "external-editor": "^1.1.0", - "figures": "^1.3.5", - "lodash": "^4.3.0", - "mute-stream": "0.0.6", - "pinkie-promise": "^2.0.0", - "run-async": "^2.2.0", - "rx": "^4.1.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" + "broccoli-sri-hash": "^2.1.0" } }, - "intl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/intl/-/intl-1.0.1.tgz", - "integrity": "sha1-pqVmql7jc4ycF7RL+hL6TsJiP3g=", - "dev": true - }, - "intl-format-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.1.0.tgz", - "integrity": "sha1-BKNp/sv61tpgBbrh8UMzMy3PkxY=", + "ember-cli-string-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz", + "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=", "dev": true }, - "intl-messageformat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-1.3.0.tgz", - "integrity": "sha1-99kmre16OrGbLcYB79VOmaS9Tq4=", + "ember-cli-test-info": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-test-info/-/ember-cli-test-info-1.0.0.tgz", + "integrity": "sha1-7U6WDySel1I8+JHkrtIHLOhFd7Q=", "dev": true, "requires": { - "intl-messageformat-parser": "1.2.0" - }, - "dependencies": { - "intl-messageformat-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.2.0.tgz", - "integrity": "sha1-WQa3+VOrdHDg3IVJCXtki5kYkv8=", - "dev": true - } + "ember-cli-string-utils": "^1.0.0" } }, - "intl-messageformat-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz", - "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=", - "dev": true - }, - "intl-relativeformat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-1.3.0.tgz", - "integrity": "sha1-iT3HB2/M04DPCRojAMOA+les5Fs=", + "ember-cli-test-loader": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ember-cli-test-loader/-/ember-cli-test-loader-1.1.1.tgz", + "integrity": "sha1-MzMRIJsYGF0ODpX5GDSdoQys8LE=", "dev": true, "requires": { - "intl-messageformat": "1.3.0" + "ember-cli-babel": "^5.2.1" } }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "ember-cli-uglify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-uglify/-/ember-cli-uglify-1.2.0.tgz", + "integrity": "sha1-MgjDK1S8J4MFbouw1c/pu68X/7I=", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "broccoli-uglify-sourcemap": "^1.0.0" } }, - "invert-kv": { + "ember-cli-valid-component-name": { "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.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", - "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=", + "resolved": "https://registry.npmjs.org/ember-cli-valid-component-name/-/ember-cli-valid-component-name-1.0.0.tgz", + "integrity": "sha1-cVUM44fgIzBl8wswsVEKot++h+8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "silent-error": "^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-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "ember-cli-version-checker": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-1.3.1.tgz", + "integrity": "sha1-C8LRNMgwFC2mS/lieg7e0QthrnI=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "semver": "^5.3.0" } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "ember-data": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/ember-data/-/ember-data-2.10.0.tgz", + "integrity": "sha1-nW4juiGrJCr8A6Ksd+gHG8UaXGI=", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "amd-name-resolver": "0.0.5", + "babel-plugin-feature-flags": "^0.2.1", + "babel-plugin-filter-imports": "^0.2.0", + "babel5-plugin-strip-class-callcheck": "^5.1.0", + "babel5-plugin-strip-heimdall": "^5.0.2", + "broccoli-babel-transpiler": "^5.5.0", + "broccoli-file-creator": "^1.0.0", + "broccoli-merge-trees": "^1.0.0", + "chalk": "^1.1.1", + "ember-cli-babel": "^5.1.6", + "ember-cli-path-utils": "^1.0.0", + "ember-cli-string-utils": "^1.0.0", + "ember-cli-test-info": "^1.0.0", + "ember-cli-version-checker": "^1.1.4", + "ember-inflector": "^1.9.4", + "ember-runtime-enumerable-includes-polyfill": "^1.0.0", + "exists-sync": "0.0.3", + "git-repo-info": "^1.1.2", + "heimdalljs": "^0.3.0", + "inflection": "^1.8.0", + "npm-git-info": "^1.0.0", + "semver": "^5.1.0", + "silent-error": "^1.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==", + "amd-name-resolver": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-0.0.5.tgz", + "integrity": "sha1-dpYtrIdu0zEbBdKcaljBTh7zMEs=", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.1" + } + }, + "exists-sync": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.3.tgz", + "integrity": "sha1-uRAAC+27ETs3i4L19adjgQdiLc8=", + "dev": true + }, + "heimdalljs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.3.3.tgz", + "integrity": "sha1-6S0sb3f9RtW/ULYQ0orTF1UFTQs=", + "dev": true, + "requires": { + "rsvp": "~3.2.1" + } + }, + "rsvp": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz", + "integrity": "sha1-B8tKXfJa3Z6Cbrxn3Mn9idsn2Eo=", "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-git-url": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/is-git-url/-/is-git-url-0.2.3.tgz", - "integrity": "sha1-RFIA1vvW2gKPteAUQNmvyT88y2Q=", - "dev": true - }, - "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=", + "ember-export-application-global": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ember-export-application-global/-/ember-export-application-global-1.1.1.tgz", + "integrity": "sha1-8lfVJxJokyqJ1zkmec5NuJ1xVK8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "ember-cli-babel": "^5.1.10" } }, - "is-obj": { - "version": "1.0.1", - "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "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==", + "ember-factory-for-polyfill": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ember-factory-for-polyfill/-/ember-factory-for-polyfill-1.3.1.tgz", + "integrity": "sha512-y3iG2iCzH96lZMTWQw6LWNLAfOmDC4pXKbZP6FxG8lt7GGaNFkZjwsf+Z5GAe7kxfD7UG4lVkF7x37K82rySGA==", "dev": true, "requires": { - "isobject": "^3.0.1" + "ember-cli-version-checker": "^2.1.0" }, "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "ember-cli-version-checker": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", + "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", + "dev": true, + "requires": { + "resolve": "^1.3.3", + "semver": "^5.3.0" + } } } }, - "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-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-type": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/is-type/-/is-type-0.0.1.tgz", - "integrity": "sha1-9lHYXDZdRJVdFKUdjXBh8/a0d5w=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true, - "optional": true - }, - "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": "0.2.0", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", - "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "dev": true, - "requires": { - "buffer-alloc": "^1.2.0" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "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" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istextorbinary": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.1.0.tgz", - "integrity": "sha1-2+0qb1G+L3R1to+JRlgRFBt1iHQ=", + "ember-getowner-polyfill": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/ember-getowner-polyfill/-/ember-getowner-polyfill-1.2.5.tgz", + "integrity": "sha512-o8zK9AOfuW7CYS8CGKQG6miMj6I+sp/PeJmgfJyOoqT/24JYh4F0m8Fml4+Oljhc5BFihApnzGv++3FmL2CZwA==", "dev": true, "requires": { - "binaryextensions": "1 || 2", - "editions": "^1.1.1", - "textextensions": "1 || 2" + "ember-cli-babel": "^5.1.6", + "ember-cli-version-checker": "^1.2.0", + "ember-factory-for-polyfill": "^1.1.0" } }, - "js-reporters": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/js-reporters/-/js-reporters-1.2.1.tgz", - "integrity": "sha1-+IxgjjJKM3OpW8xFrTBeXJecRZs=", - "dev": true - }, - "js-tokens": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz", - "integrity": "sha1-zENaXIuUrRWst5gxQPyAGCyJrq4=", - "dev": true - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "ember-highcharts": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/ember-highcharts/-/ember-highcharts-0.6.0.tgz", + "integrity": "sha512-DV81yHC7a5vr9hK/b/AvXogRc1M1xqabIvGjgPz/GoZ7XYpNLM+46761csrgjmPZ1R5bjDbo7bg7k1ocYJ2Chg==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^1.2.0", + "ember-assign-polyfill": "^2.2.0", + "ember-cli-babel": "^6.6.0", + "ember-cli-htmlbars": "^2.0.1", + "ember-getowner-polyfill": "^1.2.2" }, "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "amd-name-resolver": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.2.0.tgz", + "integrity": "sha512-hlSTWGS1t6/xq5YCed7YALg7tKZL3rkl7UwEZ/eCIkn8JxmM6fU6Qs/1hwtjQqfuYxlffuUcgYEm0f5xP4YKaA==", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.1" + } + }, + "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" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "broccoli-babel-transpiler": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.1.tgz", + "integrity": "sha512-w6GcnkxvHcNCte5FcLGEG1hUdQvlfvSN/6PtGWU/otg69Ugk8rUk51h41R0Ugoc+TNxyeFG1opRt2RlA87XzNw==", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^2.0.0", + "broccoli-persistent-filter": "^1.4.3", + "clone": "^2.0.0", + "hash-for-dep": "^1.2.3", + "heimdalljs-logger": "^0.1.7", + "json-stable-stringify": "^1.0.0", + "rsvp": "^4.8.2", + "workerpool": "^2.3.0" + }, + "dependencies": { + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" + } + } + } + }, + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "ember-cli-babel": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.18.0.tgz", + "integrity": "sha512-7ceC8joNYxY2wES16iIBlbPSxwKDBhYwC8drU3ZEvuPDMwVv1KzxCNu1fvxyFEBWhwaRNTUxSCsEVoTd9nosGA==", + "dev": true, + "requires": { + "amd-name-resolver": "1.2.0", + "babel-plugin-debug-macros": "^0.2.0-beta.6", + "babel-plugin-ember-modules-api-polyfill": "^2.6.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.0", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "^1.7.0", + "broccoli-babel-transpiler": "^6.5.0", + "broccoli-debug": "^0.6.4", + "broccoli-funnel": "^2.0.0", + "broccoli-source": "^1.1.0", + "clone": "^2.0.0", + "ember-cli-version-checker": "^2.1.2", + "semver": "^5.5.0" + } + }, + "ember-cli-htmlbars": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-2.0.5.tgz", + "integrity": "sha512-3f3PAxdnQ/fhQa8XP/3z4RLRgLHxV8j4Ln75aHbRdemOCjBa048KxL9l+acRLhCulbGQCMnLiIUIC89PAzLrcA==", + "dev": true, + "requires": { + "broccoli-persistent-filter": "^1.4.3", + "hash-for-dep": "^1.2.3", + "json-stable-stringify": "^1.0.0", + "strip-bom": "^3.0.0" + } + }, + "ember-cli-version-checker": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", + "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", + "dev": true, + "requires": { + "resolve": "^1.3.3", + "semver": "^5.3.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true } } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "jshint": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.6.tgz", - "integrity": "sha512-KO9SIAKTlJQOM4lE64GQUtGBRpTOuvbrRrSZw3AhUxMNG266nX9hK2cKA4SBhXOj0irJGyNyGSLT62HGOVDEOA==", - "dev": true, - "requires": { - "cli": "~1.0.0", - "console-browserify": "1.1.x", - "exit": "0.1.x", - "htmlparser2": "3.8.x", - "lodash": "~4.17.10", - "minimatch": "~3.0.2", - "phantom": "~4.0.1", - "phantomjs-prebuilt": "~2.1.7", - "shelljs": "0.3.x", - "strip-json-comments": "1.0.x", - "unicode-5.2.0": "^0.7.5" - } - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true, - "optional": 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, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "ember-inflector": { + "version": "1.9.6", + "resolved": "https://registry.npmjs.org/ember-inflector/-/ember-inflector-1.9.6.tgz", + "integrity": "sha1-V0sJNmSt5sZuhBhdeI7JntKXQa8=", "dev": true, "requires": { - "jsonify": "~0.0.0" + "ember-cli-babel": "^5.1.6" } }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true, - "optional": 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.4.0", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.4.0.tgz", - "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "ember-intl": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/ember-intl/-/ember-intl-2.15.1.tgz", + "integrity": "sha1-kWYVPVdT4HRdpq5090YmTaaen/s=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "broccoli-caching-writer": "^2.2.1", + "broccoli-cldr-data": "^0.4.2", + "broccoli-funnel": "^1.0.1", + "broccoli-merge-trees": "^1.1.1", + "broccoli-source": "^1.1.0", + "broccoli-stew": "^1.2.0", + "chalk": "^1.0.0", + "ember-cli-babel": "^5.1.6", + "ember-cli-lodash-subset": "^1.0.7", + "ember-getowner-polyfill": "^1.0.0", + "ember-intl-format-cache": "^2.4.0", + "ember-intl-messageformat": "^2.4.0", + "ember-intl-relativeformat": "^2.4.0", + "exists-sync": "0.0.3", + "extend": "^3.0.0", + "glob": "^5.0.3", + "intl": "1.0.1", + "js-yaml": "^3.3.1", + "json-stable-stringify": "^1.0.0", + "mkdirp": "^0.5.0", + "serialize-javascript": "^1.0.0", + "silent-error": "^1.0.0", + "walk-sync": "^0.2.6" + }, + "dependencies": { + "exists-sync": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.3.tgz", + "integrity": "sha1-uRAAC+27ETs3i4L19adjgQdiLc8=", + "dev": true + }, + "walk-sync": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.2.7.tgz", + "integrity": "sha1-tJvk7mhnZXrrc2l4tWop0Q+jmWk=", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.0", + "matcher-collection": "^1.0.0" + } + } } }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "ember-intl-format-cache": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/ember-intl-format-cache/-/ember-intl-format-cache-2.6.0.tgz", + "integrity": "sha512-nPKQpfCYQw1oeMI7xyVsMzpEQ6ice8HFkI8Z+ASGcDB5cA7Prz9pHG4dgBq947pgCI93IjWcDSWklkU3NuIO1Q==", "dev": true, - "optional": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "kew": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", - "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", - "dev": true, - "optional": 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" + "broccoli-merge-trees": "^1.0.0", + "broccoli-source": "^1.1.0", + "ember-cli-babel": "^6.7.1", + "intl-format-cache": "^2.0.5" + }, + "dependencies": { + "amd-name-resolver": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.2.0.tgz", + "integrity": "sha512-hlSTWGS1t6/xq5YCed7YALg7tKZL3rkl7UwEZ/eCIkn8JxmM6fU6Qs/1hwtjQqfuYxlffuUcgYEm0f5xP4YKaA==", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.1" + } + }, + "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" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "broccoli-babel-transpiler": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.1.tgz", + "integrity": "sha512-w6GcnkxvHcNCte5FcLGEG1hUdQvlfvSN/6PtGWU/otg69Ugk8rUk51h41R0Ugoc+TNxyeFG1opRt2RlA87XzNw==", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^2.0.0", + "broccoli-persistent-filter": "^1.4.3", + "clone": "^2.0.0", + "hash-for-dep": "^1.2.3", + "heimdalljs-logger": "^0.1.7", + "json-stable-stringify": "^1.0.0", + "rsvp": "^4.8.2", + "workerpool": "^2.3.0" + }, + "dependencies": { + "broccoli-merge-trees": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", + "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^1.0.1" + } + } + } + }, + "broccoli-funnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz", + "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "ember-cli-babel": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.18.0.tgz", + "integrity": "sha512-7ceC8joNYxY2wES16iIBlbPSxwKDBhYwC8drU3ZEvuPDMwVv1KzxCNu1fvxyFEBWhwaRNTUxSCsEVoTd9nosGA==", + "dev": true, + "requires": { + "amd-name-resolver": "1.2.0", + "babel-plugin-debug-macros": "^0.2.0-beta.6", + "babel-plugin-ember-modules-api-polyfill": "^2.6.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.0", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "^1.7.0", + "broccoli-babel-transpiler": "^6.5.0", + "broccoli-debug": "^0.6.4", + "broccoli-funnel": "^2.0.0", + "broccoli-source": "^1.1.0", + "clone": "^2.0.0", + "ember-cli-version-checker": "^2.1.2", + "semver": "^5.5.0" + } + }, + "ember-cli-version-checker": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", + "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", + "dev": true, + "requires": { + "resolve": "^1.3.3", + "semver": "^5.3.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + } } }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "ember-intl-messageformat": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ember-intl-messageformat/-/ember-intl-messageformat-2.5.0.tgz", + "integrity": "sha1-QeT+7byNgW8eU5B5cQj+goqcDp8=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "broccoli-funnel": "^1.0.0", + "broccoli-merge-trees": "^1.0.0", + "broccoli-source": "^1.1.0", + "ember-cli-babel": "^5.1.7", + "ember-intl-messageformat-parser": "^1.2.0", + "intl-messageformat": "^1.2.0" } }, - "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=", + "ember-intl-messageformat-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ember-intl-messageformat-parser/-/ember-intl-messageformat-parser-1.3.0.tgz", + "integrity": "sha1-FUX3Xq0WrPV3AmimSzPRsT1PlNk=", "dev": true, "requires": { - "invert-kv": "^1.0.0" + "broccoli-funnel": "^1.0.0", + "broccoli-merge-trees": "^1.0.0", + "ember-cli-babel": "^5.1.0", + "intl-messageformat-parser": "^1.2.0" } }, - "leek": { - "version": "0.0.23", - "resolved": "https://registry.npmjs.org/leek/-/leek-0.0.23.tgz", - "integrity": "sha1-1EufVbJ+IpAqZgPq7sGT8MMB0l8=", + "ember-intl-relativeformat": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/ember-intl-relativeformat/-/ember-intl-relativeformat-2.4.2.tgz", + "integrity": "sha1-t09FeSc1hMq5rGV6BSjr3Zyxoik=", "dev": true, "requires": { - "debug": "^2.1.0", - "lodash.assign": "^3.2.0", - "rsvp": "^3.0.21" + "broccoli-funnel": "^1.0.0", + "broccoli-merge-trees": "^1.0.0", + "broccoli-source": "^1.1.0", + "ember-cli-babel": "^5.1.7", + "ember-intl-messageformat": "^2.4.0", + "intl-relativeformat": "^1.2.0" } }, - "leven": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz", - "integrity": "sha1-kUS27ryl8dBoAWnxpncNzqYLdcM=", + "ember-load-initializers": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/ember-load-initializers/-/ember-load-initializers-0.5.1.tgz", + "integrity": "sha1-duPbI8ER29zTrm9ocDa/C1a+DL4=", "dev": true }, - "linkify-it": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", - "integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=", + "ember-qunit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-qunit/-/ember-qunit-2.2.0.tgz", + "integrity": "sha512-iMQT1ZCgSQpiK/VTbJjeQWNzsi4742wmPe08pzgEAf9lCruy9s3tmviz4fF98jDlPdV8w5LMIkkXQX7L2eTp6g==", "dev": true, "requires": { - "uc.micro": "^1.0.1" + "ember-test-helpers": "^0.6.3" } }, - "livereload-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz", - "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==", - "dev": true - }, - "loader.js": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/loader.js/-/loader.js-4.7.0.tgz", - "integrity": "sha512-9M2KvGT6duzGMgkOcTkWb+PR/Q2Oe54df/tLgHGVmFpAmtqJ553xJh6N63iFYI2yjo2PeJXbS5skHi/QpJq4vA==", - "dev": true - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "lodash._arraycopy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", - "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=", - "dev": true + "ember-resolver": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ember-resolver/-/ember-resolver-2.1.1.tgz", + "integrity": "sha1-Xkwf/+n19I/CGUrXWSJ07QzXT3I=", + "dev": true, + "requires": { + "ember-cli-babel": "^5.1.6", + "ember-cli-version-checker": "^1.1.6" + } }, - "lodash._arrayeach": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", - "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=", + "ember-rfc176-data": { + "version": "0.3.16", + "resolved": "https://registry.npmjs.org/ember-rfc176-data/-/ember-rfc176-data-0.3.16.tgz", + "integrity": "sha512-IYAzffS90r2ybAcx8c2qprYfkxa70G+/UPkxMN1hw55DU5S2aLOX6v3umKDZItoRhrvZMCnzwsdfKSrKdC9Wbg==", "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=", + "ember-router-generator": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/ember-router-generator/-/ember-router-generator-1.2.3.tgz", + "integrity": "sha1-jtLKhv8yM2MSD8FCeBkeno8TFe4=", "dev": true, "requires": { - "lodash._basecopy": "^3.0.0", - "lodash.keys": "^3.0.0" + "recast": "^0.11.3" }, "dependencies": { - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", "dev": true, "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + } } } }, - "lodash._basebind": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.3.0.tgz", - "integrity": "sha1-K1vEUqDhBhQ7IYafIzvbWHQX0kg=", - "dev": true, - "requires": { - "lodash._basecreate": "~2.3.0", - "lodash._setbinddata": "~2.3.0", - "lodash.isobject": "~2.3.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._basecreate": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.3.0.tgz", - "integrity": "sha1-m4ioak3P97fzxh2Dovz8BnHsneA=", - "dev": true, - "requires": { - "lodash._renative": "~2.3.0", - "lodash.isobject": "~2.3.0", - "lodash.noop": "~2.3.0" - } - }, - "lodash._basecreatecallback": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.3.0.tgz", - "integrity": "sha1-N7KrF1kaM56YjbMln81GAZ16w2I=", - "dev": true, - "requires": { - "lodash._setbinddata": "~2.3.0", - "lodash.bind": "~2.3.0", - "lodash.identity": "~2.3.0", - "lodash.support": "~2.3.0" - } - }, - "lodash._basecreatewrapper": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.3.0.tgz", - "integrity": "sha1-qgxhrZYETDkzN2ExSDqXWcNlEkc=", - "dev": true, - "requires": { - "lodash._basecreate": "~2.3.0", - "lodash._setbinddata": "~2.3.0", - "lodash._slice": "~2.3.0", - "lodash.isobject": "~2.3.0" - } - }, - "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._createwrapper": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.3.0.tgz", - "integrity": "sha1-0arhEC2t9EDo4G/BM6bt1/4UYHU=", - "dev": true, - "requires": { - "lodash._basebind": "~2.3.0", - "lodash._basecreatewrapper": "~2.3.0", - "lodash.isfunction": "~2.3.0" - } - }, - "lodash._escapehtmlchar": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.3.0.tgz", - "integrity": "sha1-0D2mvYLu3zjcCltQPXQOzQ6JRZI=", + "ember-runtime-enumerable-includes-polyfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ember-runtime-enumerable-includes-polyfill/-/ember-runtime-enumerable-includes-polyfill-1.0.4.tgz", + "integrity": "sha1-FqdhLjR6Lt8H2osvLwnb/ucN66A=", "dev": true, "requires": { - "lodash._htmlescapes": "~2.3.0" + "ember-cli-babel": "^5.1.6", + "ember-cli-version-checker": "^1.1.6" } }, - "lodash._escapestringchar": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.3.0.tgz", - "integrity": "sha1-zOc65g/G2lXSv4oGecI8orqxSfw=", - "dev": true - }, - "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._htmlescapes": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.3.0.tgz", - "integrity": "sha1-HKmIY8rfH6HYLITzXzHkBVagTzo=", - "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._objecttypes": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.3.0.tgz", - "integrity": "sha1-aj6jmH3W7rgCGy1cnDA1Scwrrh4=", - "dev": true - }, - "lodash._reinterpolate": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.3.0.tgz", - "integrity": "sha1-A+6dhcDlXL1ZDXFgiilb3aURKOw=", - "dev": true - }, - "lodash._renative": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._renative/-/lodash._renative-2.3.0.tgz", - "integrity": "sha1-d9jt1M7SbdWXH54Vpfdy5OMX+9M=", + "ember-test-helpers": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/ember-test-helpers/-/ember-test-helpers-0.6.3.tgz", + "integrity": "sha1-+GTN9vTnXz+HaNZTd4W1q26C2Qc=", "dev": true }, - "lodash._reunescapedhtml": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.3.0.tgz", - "integrity": "sha1-25ILVax/P/glk5rOubosIxcT0k0=", - "dev": true, - "requires": { - "lodash._htmlescapes": "~2.3.0", - "lodash.keys": "~2.3.0" - } - }, - "lodash._setbinddata": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.3.0.tgz", - "integrity": "sha1-5WEEkKzRMnfVmFjZW18nJ/FQjwQ=", + "ember-try": { + "version": "0.2.23", + "resolved": "https://registry.npmjs.org/ember-try/-/ember-try-0.2.23.tgz", + "integrity": "sha512-kmVNsSFFafGinFhERMox3SXHoU+V1td1538SbhpslPtf7S2BZYr7JdAwOCIRoRtpcWeNdYgdQGzJZxNvUc8aLg==", "dev": true, "requires": { - "lodash._renative": "~2.3.0", - "lodash.noop": "~2.3.0" + "chalk": "^1.0.0", + "cli-table2": "^0.2.0", + "core-object": "^1.1.0", + "debug": "^2.2.0", + "ember-try-config": "^2.2.0", + "extend": "^3.0.0", + "fs-extra": "^0.26.0", + "promise-map-series": "^0.2.1", + "resolve": "^1.1.6", + "rimraf": "^2.3.2", + "rsvp": "^3.0.17", + "semver": "^5.1.0" + }, + "dependencies": { + "core-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/core-object/-/core-object-1.1.0.tgz", + "integrity": "sha1-htY5GHM8+doaWq5ynmLAqI5mrQo=", + "dev": true + }, + "fs-extra": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + } } }, - "lodash._shimkeys": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.3.0.tgz", - "integrity": "sha1-YR+TFJ4+bHIQlrSHae8pU3rai6k=", + "ember-try-config": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-try-config/-/ember-try-config-2.2.0.tgz", + "integrity": "sha1-a+CvbHGUmBPgKseTVk/dv4M2uAc=", "dev": true, "requires": { - "lodash._objecttypes": "~2.3.0" + "lodash": "^4.6.1", + "node-fetch": "^1.3.3", + "rsvp": "^3.2.1", + "semver": "^5.1.0" } }, - "lodash._slice": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.3.0.tgz", - "integrity": "sha1-FHGYEyhZly5GgMoppZkshVZpqlw=", - "dev": true - }, - "lodash.assign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", - "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", + "ember-welcome-page": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ember-welcome-page/-/ember-welcome-page-1.0.4.tgz", + "integrity": "sha1-sZsArJvYT1W2RwTS7Ptqo/gk0tg=", "dev": true, "requires": { - "lodash._baseassign": "^3.0.0", - "lodash._createassigner": "^3.0.0", - "lodash.keys": "^3.0.0" + "broccoli-funnel": "^1.0.1", + "broccoli-merge-trees": "^1.1.1", + "ember-cli-babel": "^5.1.5", + "ember-cli-htmlbars": "^1.0.1", + "ember-cli-version-checker": "1.1.6", + "exists-sync": "0.0.3", + "lodash": "^4.7.0", + "walk-sync": "^0.2.6" }, "dependencies": { - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "ember-cli-version-checker": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-1.1.6.tgz", + "integrity": "sha1-14lBi4o2J71DSG2kK509dtvMDh0=", "dev": true, "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" + "semver": "^4.2.2" + } + }, + "exists-sync": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.3.tgz", + "integrity": "sha1-uRAAC+27ETs3i4L19adjgQdiLc8=", + "dev": true + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + }, + "walk-sync": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.2.7.tgz", + "integrity": "sha1-tJvk7mhnZXrrc2l4tWop0Q+jmWk=", + "dev": true, + "requires": { + "ensure-posix-path": "^1.0.0", + "matcher-collection": "^1.0.0" } } } }, - "lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=", - "dev": true - }, - "lodash.bind": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.3.0.tgz", - "integrity": "sha1-wqjhi2jl7MFS4rFoJmEW/qWwFsw=", - "dev": true, - "requires": { - "lodash._createwrapper": "~2.3.0", - "lodash._renative": "~2.3.0", - "lodash._slice": "~2.3.0" - } - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, - "lodash.debounce": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz", - "integrity": "sha1-gSIRw3ipTMKdWqTjNGzwv846ffU=", - "dev": true, - "requires": { - "lodash._getnative": "^3.0.0" - } - }, - "lodash.defaults": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.3.0.tgz", - "integrity": "sha1-qDKwAfE487uXIcKBmip8xa4h7SU=", + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, "requires": { - "lodash._objecttypes": "~2.3.0", - "lodash.keys": "~2.3.0" + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } } }, - "lodash.escape": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.3.0.tgz", - "integrity": "sha1-hEw4xY+EThNi6+lnJhWbYs9fKlg=", + "engine.io": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.0.tgz", + "integrity": "sha1-PutfJky3XbvsG6rqJtYfWk6s4qo=", "dev": true, "requires": { - "lodash._escapehtmlchar": "~2.3.0", - "lodash._reunescapedhtml": "~2.3.0", - "lodash.keys": "~2.3.0" + "accepts": "1.3.3", + "base64id": "0.1.0", + "cookie": "0.3.1", + "debug": "2.3.3", + "engine.io-parser": "1.3.1", + "ws": "1.1.1" + }, + "dependencies": { + "accepts": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "dev": true, + "requires": { + "mime-types": "~2.1.11", + "negotiator": "0.6.1" + } + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "debug": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + } } }, - "lodash.find": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", - "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=", - "dev": true - }, - "lodash.flatten": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-3.0.2.tgz", - "integrity": "sha1-3hz1d1j49EeTGdNcPpzGDEUBk4w=", + "engine.io-client": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.0.tgz", + "integrity": "sha1-e3MOQSdBQIdZbZvjyI0rxf22z1w=", "dev": true, "requires": { - "lodash._baseflatten": "^3.0.0", - "lodash._isiterateecall": "^3.0.0" + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "2.3.3", + "engine.io-parser": "1.3.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parsejson": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "1.1.1", + "xmlhttprequest-ssl": "1.5.3", + "yeast": "0.1.2" + }, + "dependencies": { + "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 + }, + "debug": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", + "dev": true, + "requires": { + "ms": "0.7.2" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", + "dev": true + } } }, - "lodash.foreach": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.3.0.tgz", - "integrity": "sha1-CDQEyR6EbudyRf3512UZxosq8Wg=", + "engine.io-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.1.tgz", + "integrity": "sha1-lVTxrjMQfW+9FwylRm0vgz9qB88=", "dev": true, "requires": { - "lodash._basecreatecallback": "~2.3.0", - "lodash.forown": "~2.3.0" + "after": "0.8.1", + "arraybuffer.slice": "0.0.6", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary": "0.1.6", + "wtf-8": "1.0.0" + }, + "dependencies": { + "has-binary": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz", + "integrity": "sha1-JTJvOc+k9hath4eJTjryz7x7bhA=", + "dev": true, + "requires": { + "isarray": "0.0.1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } } }, - "lodash.forown": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.3.0.tgz", - "integrity": "sha1-JPtKr4ANRfwtxgv+w84EyDajrX8=", + "ensure-posix-path": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.1.1.tgz", + "integrity": "sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==", + "dev": true + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "error": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", "dev": true, "requires": { - "lodash._basecreatecallback": "~2.3.0", - "lodash._objecttypes": "~2.3.0", - "lodash.keys": "~2.3.0" + "string-template": "~0.2.1" } }, - "lodash.identity": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.3.0.tgz", - "integrity": "sha1-awGiEMlIU1XCqRO0i2cRIZoXPe0=", + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "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 }, - "lodash.isfunction": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.3.0.tgz", - "integrity": "sha1-aylz5HpkfPEucNZ2rqE2Q3BuUmc=", + "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 }, - "lodash.isobject": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.3.0.tgz", - "integrity": "sha1-LhbT/Fg9qYMZaJU/LY5tc0NPZ5k=", - "dev": true, - "requires": { - "lodash._objecttypes": "~2.3.0" - } + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, - "lodash.isplainobject": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz", - "integrity": "sha1-moI4rhayAEMpYM1zRlEtASP79MU=", - "dev": true, - "requires": { - "lodash._basefor": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.keysin": "^3.0.0" - } + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true }, - "lodash.istypedarray": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz", - "integrity": "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=", + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, - "lodash.keys": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.3.0.tgz", - "integrity": "sha1-s1D0+Syqn0WkouzwGEVM8vKK4lM=", + "events-to-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", + "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", + "dev": true + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "dev": true, "requires": { - "lodash._renative": "~2.3.0", - "lodash._shimkeys": "~2.3.0", - "lodash.isobject": "~2.3.0" + "merge": "^1.2.0" } }, - "lodash.keysin": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-3.0.8.tgz", - "integrity": "sha1-IsRJPrvtsUJ5YqVLRFssinZ/tH8=", + "execa": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.6.3.tgz", + "integrity": "sha1-V7aaWU8IF1nGnlNw8NF7nLEWWP4=", "dev": true, "requires": { - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, - "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", - "dev": true - }, - "lodash.noop": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.3.0.tgz", - "integrity": "sha1-MFnWKNUbv5N80qC2/Dp/ISpmnCw=", + "exists-sync": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.4.tgz", + "integrity": "sha1-l0TCxCjMA7AQYNtFTUsS8O88iHk=", "dev": true }, - "lodash.omit": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=", + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", "dev": true }, - "lodash.support": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.3.0.tgz", - "integrity": "sha1-fq8DivTw1qq3drRKptz8gDNMm/0=", + "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": { - "lodash._renative": "~2.3.0" + "is-posix-bracket": "^0.1.0" } }, - "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "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": { - "lodash._reinterpolate": "~3.0.0", - "lodash.templatesettings": "^4.0.0" - }, - "dependencies": { - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", - "dev": true, - "requires": { - "lodash._reinterpolate": "~3.0.0" - } - } + "fill-range": "^2.1.0" } }, - "lodash.templatesettings": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.3.0.tgz", - "integrity": "sha1-MD0TLDQnEAQNWhjvqi1XL9A/jNw=", + "expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", "dev": true, "requires": { - "lodash._reinterpolate": "~2.3.0", - "lodash.escape": "~2.3.0" + "os-homedir": "^1.0.1" } }, - "lodash.toplainobject": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz", - "integrity": "sha1-KHkK2ULSk9eKpmOgfs9/UsoEGY0=", - "dev": true, - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash.keysin": "^3.0.0" - } - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "lodash.uniqby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", - "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=", - "dev": true - }, - "lodash.values": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.3.0.tgz", - "integrity": "sha1-ypb75gogsLDsK6K6X8anZb0Uo7o=", + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "dev": true, "requires": { - "lodash.keys": "~2.3.0" + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "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.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" } }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "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": { - "js-tokens": "^3.0.0 || ^4.0.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "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" + } } } }, - "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-array": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/make-array/-/make-array-0.1.2.tgz", - "integrity": "sha1-M14267DFpDFU0hIToeyuriobs+8=", - "dev": true - }, - "make-plural": { - "version": "2.1.3", - "resolved": "http://registry.npmjs.org/make-plural/-/make-plural-2.1.3.tgz", - "integrity": "sha1-L4UgjDf6fujF42u1psBcXgCkTjE=", - "dev": true - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "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=", + "external-editor": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", + "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=", "dev": true, "requires": { - "object-visit": "^1.0.0" + "extend": "^3.0.0", + "spawn-sync": "^1.0.15", + "tmp": "^0.0.29" + }, + "dependencies": { + "tmp": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", + "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.1" + } + } } }, - "markdown-it": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-7.0.1.tgz", - "integrity": "sha1-8S2LiKk+ZCVDSN/Rg71wv2BWekI=", + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.1" + "is-extglob": "^1.0.0" } }, - "markdown-it-terminal": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/markdown-it-terminal/-/markdown-it-terminal-0.0.4.tgz", - "integrity": "sha1-PyzmJLosqWSni4s4jWBe4zDenO0=", + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", "dev": true, "requires": { - "ansi-styles": "^2.1.0", - "cardinal": "^0.5.0", - "cli-table": "^0.3.1", - "lodash.merge": "^3.3.2", - "markdown-it": "^4.4.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" }, "dependencies": { - "linkify-it": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-1.2.4.tgz", - "integrity": "sha1-B3NSbDF8j9E71TTuHRgP+Iq/iBo=", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "uc.micro": "^1.0.1" + "fill-range": "^7.0.1" } }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" + "to-regex-range": "^5.0.1" } }, - "lodash.merge": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-3.3.2.tgz", - "integrity": "sha1-DZDZPtY3sYeEN7s+IWASYNev6ZQ=", + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, "requires": { - "lodash._arraycopy": "^3.0.0", - "lodash._arrayeach": "^3.0.0", - "lodash._createassigner": "^3.0.0", - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0", - "lodash.isplainobject": "^3.0.0", - "lodash.istypedarray": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.keysin": "^3.0.0", - "lodash.toplainobject": "^3.0.0" + "is-glob": "^4.0.1" } }, - "markdown-it": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-4.4.0.tgz", - "integrity": "sha1-PfNz2+pYepp/7z5WMRtokI91xBQ=", + "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.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { - "argparse": "~1.0.2", - "entities": "~1.1.1", - "linkify-it": "~1.2.0", - "mdurl": "~1.0.0", - "uc.micro": "^1.0.0" + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" } } } }, - "matcher-collection": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.0.5.tgz", - "integrity": "sha512-nUCmzKipcJEwYsBVAFh5P+d7JBuhJaW1xs85Hara9xuMLqtCVUrW6DSC0JVIkluxEH2W45nPBM/wjHtBXa/tYA==", - "dev": true, - "requires": { - "minimatch": "^3.0.2" - } - }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", - "dev": true - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "memory-streams": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/memory-streams/-/memory-streams-0.1.3.tgz", - "integrity": "sha512-qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==", + "fast-ordered-set": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-ordered-set/-/fast-ordered-set-1.0.3.tgz", + "integrity": "sha1-P7s2Y097555PftvbSjV97iXRhOs=", "dev": true, "requires": { - "readable-stream": "~1.0.2" + "blank-object": "^1.0.1" } }, - "merge": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", - "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", - "dev": true - }, - "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 - }, - "merge-trees": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", - "integrity": "sha1-zL5nRWl4f53vF/1G5lJfVwC70j4=", + "fast-sourcemap-concat": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/fast-sourcemap-concat/-/fast-sourcemap-concat-1.4.0.tgz", + "integrity": "sha512-x90Wlx/2C83lfyg7h4oguTZN4MyaVfaiUSJQNpU+YEA0Odf9u659Opo44b0LfoVg9G/bOE++GdID/dkyja+XcA==", "dev": true, "requires": { - "can-symlink": "^1.0.0", - "fs-tree-diff": "^0.5.4", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "rimraf": "^2.4.3", - "symlink-or-copy": "^1.0.0" + "chalk": "^2.0.0", + "fs-extra": "^5.0.0", + "heimdalljs-logger": "^0.1.9", + "memory-streams": "^0.1.3", + "mkdirp": "^0.5.0", + "source-map": "^0.4.2", + "source-map-url": "^0.3.0", + "sourcemap-validator": "^1.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "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" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "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=", + "fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", "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" + "reusify": "^1.0.4" } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "dev": true - }, - "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "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": { - "mime-db": "~1.37.0" + "websocket-driver": ">=0.5.1" } }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "bser": "2.1.1" } }, - "minimist": { - "version": "0.0.8", - "resolved": "http://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==", + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "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" - } - } + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } }, - "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, - "requires": { - "minimist": "0.0.8" - } + "optional": true }, - "mktemp": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/mktemp/-/mktemp-0.4.0.tgz", - "integrity": "sha1-bQUVYRyKjITkhKogABKbmOmB/ws=", + "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 }, - "moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=", + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", "dev": true }, - "moment-timezone": { - "version": "0.3.1", - "resolved": "http://registry.npmjs.org/moment-timezone/-/moment-timezone-0.3.1.tgz", - "integrity": "sha1-PvR4VrAtU7cYoQpewgI6opnge/U=", + "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": { - "moment": ">= 2.6.0" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, - "morgan": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", - "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { - "basic-auth": "~2.0.0", "debug": "2.6.9", - "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "on-headers": "~1.0.1" + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" } }, - "mout": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mout/-/mout-1.1.0.tgz", - "integrity": "sha512-XsP0vf4As6BfqglxZqbqQ8SR6KQot2AgxvR0gG+WtUkf90vUXchMOZQtPf/Hml1rEffJupqL/tIrU6EYhsUQjw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "mustache": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz", - "integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==", - "dev": true - }, - "mute-stream": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", - "integrity": "sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s=", - "dev": true - }, - "nan": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", - "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", "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-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" + "json5": "^0.5.1", + "path-exists": "^3.0.0" }, "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 - }, - "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==", + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "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==", + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "find-index": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-1.1.1.tgz", + "integrity": "sha512-XYKutXMrIK99YMUPf91KX5QVJoG31/OsgftD6YoTPAObfQIxM4ziA9f0J1AsqKhJmo+IeaIPP0CFopTD4bdUBw==", "dev": true }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "findup-sync": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", + "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", "dev": true, "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "detect-file": "^0.1.0", + "is-glob": "^2.0.1", + "micromatch": "^2.3.7", + "resolve-dir": "^0.1.0" } }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-modules-path": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/node-modules-path/-/node-modules-path-1.0.2.tgz", - "integrity": "sha512-6Gbjq+d7uhkO7epaKi5DNgUJn7H0gEyA4Jg0Mo1uQOi3Rk50G83LtmhhFyw0LxnAFhtlspkiiw52ISP13qzcBg==", - "dev": true - }, - "node-notifier": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.3.0.tgz", - "integrity": "sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "fireworm": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/fireworm/-/fireworm-0.7.1.tgz", + "integrity": "sha1-zPIPeUHxCIg/zduZOD2+bhhhx1g=", "dev": true, "requires": { - "abbrev": "1" + "async": "~0.2.9", + "is-type": "0.0.1", + "lodash.debounce": "^3.1.1", + "lodash.flatten": "^3.0.2", + "minimatch": "^3.0.2" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + } } }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "fixturify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fixturify/-/fixturify-1.3.0.tgz", + "integrity": "sha512-tL0svlOy56pIMMUQ4bU1xRe6NZbFSa/ABTWMxW2mH38lFGc9TrNAKWcMBQ7eIjo3wqSS8f2ICabFaatFyFmrVQ==", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm": { - "version": "2.15.5", - "resolved": "http://registry.npmjs.org/npm/-/npm-2.15.5.tgz", - "integrity": "sha1-X81xmZw9VLqg4cJ6xE+EobgrRVk=", - "dev": true, - "requires": { - "abbrev": "~1.0.7", - "ansi": "~0.3.1", - "ansi-regex": "*", - "ansicolors": "~0.3.2", - "ansistyles": "~0.1.3", - "archy": "~1.0.0", - "async-some": "~1.0.2", - "block-stream": "0.0.9", - "char-spinner": "~1.0.1", - "chmodr": "~1.0.2", - "chownr": "~1.0.1", - "cmd-shim": "~2.0.2", - "columnify": "~1.5.4", - "config-chain": "~1.1.10", - "dezalgo": "~1.0.3", - "editor": "~1.0.0", - "fs-vacuum": "~1.2.9", - "fs-write-stream-atomic": "~1.0.8", - "fstream": "~1.0.8", - "fstream-npm": "~1.0.7", - "github-url-from-git": "~1.4.0", - "github-url-from-username-repo": "~1.0.2", - "glob": "~7.0.3", - "graceful-fs": "~4.1.4", - "hosted-git-info": "~2.1.4", - "imurmurhash": "*", - "inflight": "~1.0.4", - "inherits": "~2.0.1", - "ini": "~1.3.4", - "init-package-json": "~1.9.3", - "lockfile": "~1.0.1", - "lru-cache": "~4.0.1", - "minimatch": "~3.0.0", - "mkdirp": "~0.5.1", - "node-gyp": "~3.3.1", - "nopt": "~3.0.6", - "normalize-git-url": "~3.0.2", - "normalize-package-data": "~2.3.5", - "npm-cache-filename": "~1.0.2", - "npm-install-checks": "~1.0.7", - "npm-package-arg": "~4.1.0", - "npm-registry-client": "~7.1.0", - "npm-user-validate": "~0.1.2", - "npmlog": "~2.0.3", - "once": "~1.3.3", - "opener": "~1.4.1", - "osenv": "~0.1.3", - "path-is-inside": "~1.0.0", - "read": "~1.0.7", - "read-installed": "~4.0.3", - "read-package-json": "~2.0.4", - "readable-stream": "~2.1.2", - "realize-package-specifier": "~3.0.3", - "request": "~2.72.0", - "retry": "~0.9.0", - "rimraf": "~2.5.2", - "semver": "~5.1.0", - "sha": "~2.0.1", - "slide": "~1.1.6", - "sorted-object": "~2.0.0", - "spdx-license-ids": "~1.2.1", - "strip-ansi": "~3.0.1", - "tar": "~2.2.1", - "text-table": "~0.2.0", - "uid-number": "0.0.6", - "umask": "~1.1.0", - "validate-npm-package-license": "~3.0.1", - "validate-npm-package-name": "~2.2.2", - "which": "~1.2.8", - "wrappy": "~1.0.1", - "write-file-atomic": "~1.1.4" - }, - "dependencies": { - "abbrev": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "ansi": { - "version": "0.3.1", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "async-some": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "dezalgo": "^1.0.2" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, - "char-spinner": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "chmodr": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "cmd-shim": { - "version": "2.0.2", - "bundled": true, + "@types/fs-extra": "^5.0.5", + "@types/minimatch": "^3.0.3", + "@types/rimraf": "^2.0.2", + "fs-extra": "^7.0.1", + "matcher-collection": "^2.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "mkdirp": "~0.5.0" + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "columnify": { - "version": "1.5.4", - "bundled": true, + "matcher-collection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz", + "integrity": "sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==", "dev": true, "requires": { - "strip-ansi": "^3.0.0", - "wcwidth": "^1.0.0" - }, - "dependencies": { - "wcwidth": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "defaults": "^1.0.0" - }, - "dependencies": { - "defaults": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "clone": "^1.0.2" - }, - "dependencies": { - "clone": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - } + "@types/minimatch": "^3.0.3", + "minimatch": "^3.0.2" } - }, - "config-chain": { - "version": "1.1.10", - "bundled": true, + } + } + }, + "fixturify-project": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fixturify-project/-/fixturify-project-1.10.0.tgz", + "integrity": "sha512-L1k9uiBQuN0Yr8tA9Noy2VSQ0dfg0B8qMdvT7Wb5WQKc7f3dn3bzCbSrqlb+etLW+KDV4cBC7R1OvcMg3kcxmA==", + "dev": true, + "requires": { + "fixturify": "^1.2.0", + "tmp": "^0.0.33" + }, + "dependencies": { + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - }, - "dependencies": { - "proto-list": { - "version": "1.2.4", - "bundled": true, - "dev": true - } + "os-tmpdir": "~1.0.2" } - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, + } + } + }, + "follow-redirects": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", + "dev": true + }, + "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" + } + }, + "formatjs-extract-cldr-data": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/formatjs-extract-cldr-data/-/formatjs-extract-cldr-data-2.0.0.tgz", + "integrity": "sha1-NPlw+ljp9LTCuxvPNiAuOf0QCvs=", + "dev": true, + "requires": { + "cldr-core": "28.0.0", + "cldr-dates-full": "28.0.0", + "cldr-numbers-full": "28.0.0", + "glob": "^5.0.1", + "make-plural": "^2.1.3", + "object.assign": "^4.0.3", + "uglify-js": "^2.6.2" + }, + "dependencies": { + "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": { - "asap": "^2.0.0", - "wrappy": "1" - }, - "dependencies": { - "asap": { - "version": "2.0.3", - "bundled": true, - "dev": true - } + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" } }, - "editor": { - "version": "1.0.0", - "bundled": true, + "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 }, - "fs-vacuum": { - "version": "1.2.9", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "path-is-inside": "^1.0.1", - "rimraf": "^2.5.2" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.8", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - } - } - }, - "fstream": { - "version": "1.0.8", - "bundled": true, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" } - }, - "fstream-npm": { - "version": "1.0.7", - "bundled": true, + } + } + }, + "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-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", + "dev": true + }, + "fs-extra": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.0.0.tgz", + "integrity": "sha1-M3NSve1KC3FPPrhN6M6nZenTdgA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0" + }, + "dependencies": { + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { - "fstream-ignore": "^1.0.0", - "inherits": "2" - }, - "dependencies": { - "fstream-ignore": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "fstream": "^1.0.0", - "inherits": "2", - "minimatch": "^3.0.0" - } - } + "graceful-fs": "^4.1.6" } - }, - "github-url-from-git": { - "version": "1.4.0", - "bundled": true, - "dev": true - }, - "github-url-from-username-repo": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "glob": { - "version": "7.0.3", - "bundled": true, - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.4", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "2.1.4", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, + } + } + }, + "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 + }, + "fs-tree-diff": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-0.5.9.tgz", + "integrity": "sha512-872G8ax0kHh01m9n/2KDzgYwouKza0Ad9iFltBpNykvROvf2AGtoOzPJgGx125aolGPER3JuC7uZFrQ7bG1AZw==", + "dev": true, + "requires": { + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "fs-updater": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fs-updater/-/fs-updater-1.0.4.tgz", + "integrity": "sha512-0pJX4mJF/qLsNEwTct8CdnnRdagfb+LmjRPJ8sO+nCnAZLW0cTmz4rTgU25n+RvTuWSITiLKrGVJceJPBIPlKg==", + "dev": true, + "requires": { + "can-symlink": "^1.0.0", + "clean-up-path": "^1.0.0", + "heimdalljs": "^0.2.5", + "heimdalljs-logger": "^0.1.9", + "rimraf": "^2.6.2" + } + }, + "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.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": 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" + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "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-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "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 + }, + "git-hooks-list": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-1.0.3.tgz", + "integrity": "sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==", + "dev": true + }, + "git-repo-info": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-1.4.1.tgz", + "integrity": "sha1-KgcoIyVKr2L88HZgB9e2ZRvUGUM=", + "dev": true + }, + "git-repo-version": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/git-repo-version/-/git-repo-version-0.4.1.tgz", + "integrity": "sha1-dfq5oKTshHB1Ww7qf9qm+dQUU78=", + "dev": true, + "requires": { + "git-repo-info": "~1.2.0" + }, + "dependencies": { + "git-repo-info": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-1.2.0.tgz", + "integrity": "sha1-Q9hRPgSiTdRBMwovfGZVpwn9uvI=", "dev": true - }, - "inflight": { - "version": "1.0.4", - "bundled": true, + } + } + }, + "git-tools": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/git-tools/-/git-tools-0.1.4.tgz", + "integrity": "sha1-XkPllEO4pd7bOdumY9pJ55+UOXg=", + "dev": true, + "requires": { + "spawnback": "~1.0.0" + } + }, + "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" + } + }, + "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-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", + "dev": true, + "requires": { + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" + } + }, + "global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.0", + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "which": "^1.2.12" + } + }, + "globals": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz", + "integrity": "sha1-hJgDKzttHMge68X3lpDY/in6v08=", + "dev": true + }, + "globalyzer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.4.tgz", + "integrity": "sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA==", + "dev": true + }, + "globby": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz", + "integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", "once": "^1.3.0", - "wrappy": "1" + "path-is-absolute": "^1.0.0" } }, - "inherits": { - "version": "2.0.1", - "bundled": true, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, + } + } + }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "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 }, - "init-package-json": { - "version": "1.9.3", - "bundled": true, - "dev": true, - "requires": { - "glob": "^6.0.0", - "npm-package-arg": "^4.0.0", - "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "1 || 2", - "semver": "2.x || 3.x || 4 || 5", - "validate-npm-package-license": "^3.0.1", - "validate-npm-package-name": "^2.0.1" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "promzard": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "read": "1" - } - } - } - }, - "lockfile": { - "version": "1.0.1", - "bundled": true, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true - }, - "lru-cache": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "^1.0.1", - "yallist": "^2.0.0" - }, - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "minimatch": { + } + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "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-binary": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", + "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "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", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "brace-expansion": "^1.0.0" + "kind-of": "^3.0.2" }, "dependencies": { - "brace-expansion": { - "version": "1.1.1", - "bundled": 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": { - "balanced-match": "^0.2.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "0.2.1", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } + "is-buffer": "^1.1.5" } } } }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, + "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": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - } + "is-buffer": "^1.1.5" } + } + } + }, + "hash-for-dep": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/hash-for-dep/-/hash-for-dep-1.5.1.tgz", + "integrity": "sha512-/dQ/A2cl7FBPI2pO0CANkvuuVi/IFS5oTyJ0PsOb6jW6WbVW1js5qJXMJTNbWHXBIPdFTWFbabjB+mE0d+gelw==", + "dev": true, + "requires": { + "broccoli-kitchen-sink-helpers": "^0.3.1", + "heimdalljs": "^0.2.3", + "heimdalljs-logger": "^0.1.7", + "path-root": "^0.1.1", + "resolve": "^1.10.0", + "resolve-package-path": "^1.0.11" + } + }, + "heimdalljs": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.2.6.tgz", + "integrity": "sha512-o9bd30+5vLBvBtzCPwwGqpry2+n0Hi6H1+qwt6y+0kwRHGGF8TFIhJPmnuM0xO97zaKrDZMwO/V56fAnn8m/tA==", + "dev": true, + "requires": { + "rsvp": "~3.2.1" + }, + "dependencies": { + "rsvp": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz", + "integrity": "sha1-B8tKXfJa3Z6Cbrxn3Mn9idsn2Eo=", + "dev": true + } + } + }, + "heimdalljs-fs-monitor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/heimdalljs-fs-monitor/-/heimdalljs-fs-monitor-0.1.1.tgz", + "integrity": "sha512-ZGBhHnA8av9fUwJNscuRXkAHC/T4a3glLDrv/vT973J8Yk0QHGzK/4vpnky9u+t4au3ogI9SWBk45ydk4F9iuw==", + "dev": true, + "requires": { + "heimdalljs": "^0.2.0", + "heimdalljs-logger": "^0.1.7" + } + }, + "heimdalljs-graph": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/heimdalljs-graph/-/heimdalljs-graph-0.3.5.tgz", + "integrity": "sha512-szOy9WZUc7eUInEBQEsoa1G2d+oYHrn6ndZPf76eh8A9ID1zWUCEEsxP3F+CvQx9+EDrg1srdyLUmfVAr8EB4g==", + "dev": true + }, + "heimdalljs-logger": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/heimdalljs-logger/-/heimdalljs-logger-0.1.10.tgz", + "integrity": "sha512-pO++cJbhIufVI/fmB/u2Yty3KJD0TqNPecehFae0/eps0hkZ3b4Zc/PezUMOpYuHFQbA7FxHZxa305EhmjLj4g==", + "dev": true, + "requires": { + "debug": "^2.2.0", + "heimdalljs": "^0.2.6" + } + }, + "highcharts": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-6.2.0.tgz", + "integrity": "sha512-A4E89MA+kto8giic7zyLU6ZxfXnVeCUlKOyzFsah3+n4BROx4bgonl92KIBtwLud/mIWir8ahqhuhe2by9LakQ==", + "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" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + }, + "dependencies": { + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true }, - "node-gyp": { - "version": "3.3.1", - "bundled": true, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "fstream": "^1.0.0", - "glob": "3 || 4", - "graceful-fs": "^4.1.2", - "minimatch": "1", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2", - "osenv": "0", - "path-array": "^1.0.0", - "request": "2", - "rimraf": "2", - "semver": "2.x || 3.x || 4 || 5", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "glob": { - "version": "4.5.3", - "bundled": true, - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^2.0.1", - "once": "^1.3.0" - }, - "dependencies": { - "minimatch": { - "version": "2.0.10", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^0.3.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "0.3.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "minimatch": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "2", - "sigmund": "~1.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "2.7.3", - "bundled": true, - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "path-array": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "array-index": "^1.0.0" - }, - "dependencies": { - "array-index": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "debug": "^2.2.0", - "es6-symbol": "^3.0.2" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "0.7.1" - }, - "dependencies": { - "ms": { - "version": "0.7.1", - "bundled": true, - "dev": true - } - } - }, - "es6-symbol": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "d": "~0.1.1", - "es5-ext": "~0.10.10" - }, - "dependencies": { - "d": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "requires": { - "es5-ext": "~0.10.2" - } - }, - "es5-ext": { - "version": "0.10.11", - "bundled": true, - "dev": true, - "requires": { - "es6-iterator": "2", - "es6-symbol": "~3.0.2" - }, - "dependencies": { - "es6-iterator": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "d": "^0.1.1", - "es5-ext": "^0.10.7", - "es6-symbol": "3" - } - } - } - } - } - } - } - } - } - } - } - }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-git-url": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "normalize-package-data": { - "version": "2.3.5", - "bundled": true, - "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" - }, - "dependencies": { - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - }, - "dependencies": { - "builtin-modules": { - "version": "1.1.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "npm-install-checks": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "npmlog": "0.1 || 1 || 2", - "semver": "^2.3.0 || 3.x || 4 || 5" - } - }, - "npm-package-arg": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "semver": "4 || 5" - } - }, - "npm-registry-client": { - "version": "7.1.0", - "bundled": true, - "dev": true, - "requires": { - "chownr": "^1.0.1", - "concat-stream": "^1.4.6", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "normalize-package-data": "~1.0.1 || ^2.0.0", - "npm-package-arg": "^3.0.0 || ^4.0.0", - "npmlog": "~2.0.0", - "once": "^1.3.0", - "request": "^2.47.0", - "retry": "^0.8.0", - "rimraf": "2", - "semver": "2 >=2.2.1 || 3.x || 4 || 5", - "slide": "^1.1.3" - }, - "dependencies": { - "concat-stream": { - "version": "1.5.1", - "bundled": true, - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~2.0.0", - "typedarray": "~0.0.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.6", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - }, - "retry": { - "version": "0.8.0", - "bundled": true, - "dev": true - } - } - }, - "npm-user-validate": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "requires": { - "ansi": "~0.3.1", - "are-we-there-yet": "~1.1.2", - "gauge": "~1.2.5" - }, - "dependencies": { - "are-we-there-yet": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.0 || ^1.1.13" - }, - "dependencies": { - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "gauge": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" - }, - "dependencies": { - "has-unicode": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "lodash.pad": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "lodash.repeat": "^4.0.0", - "lodash.tostring": "^4.0.0" - } - }, - "lodash.padend": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "lodash.repeat": "^4.0.0", - "lodash.tostring": "^4.0.0" - } - }, - "lodash.padstart": { - "version": "4.2.0", - "bundled": true, - "dev": true, - "requires": { - "lodash.repeat": "^4.0.0", - "lodash.tostring": "^4.0.0" - } - }, - "lodash.repeat": { - "version": "4.0.2", - "bundled": true, - "dev": true, - "requires": { - "lodash.tostring": "^4.0.0" - } - }, - "lodash.tostring": { - "version": "4.1.2", - "bundled": true, - "dev": true - } - } - } - } - }, - "once": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "opener": { - "version": "1.4.1", - "bundled": true, - "dev": true - }, - "osenv": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - }, - "dependencies": { - "os-homedir": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "os-tmpdir": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "path-is-inside": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "mute-stream": "~0.0.4" - }, - "dependencies": { - "mute-stream": { - "version": "0.0.5", - "bundled": true, - "dev": true - } - } - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "^1.0.1", - "graceful-fs": "^4.1.2", - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "slide": "~1.1.3", - "util-extend": "^1.0.1" - }, - "dependencies": { - "debuglog": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "readdir-scoped-modules": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "util-extend": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "read-package-json": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "glob": "^6.0.0", - "graceful-fs": "^4.1.2", - "json-parse-helpfulerror": "^1.0.2", - "normalize-package-data": "^2.0.0" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "json-parse-helpfulerror": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "jju": "^1.1.0" - }, - "dependencies": { - "jju": { - "version": "1.3.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "readable-stream": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "realize-package-specifier": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "requires": { - "dezalgo": "^1.0.1", - "npm-package-arg": "^4.1.1" - }, - "dependencies": { - "npm-package-arg": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "semver": "4 || 5" - } - } - } - }, - "request": { - "version": "2.72.0", - "bundled": true, - "dev": true, - "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "bl": "~1.1.2", - "caseless": "~0.11.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~1.0.0-rc3", - "har-validator": "~2.0.6", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "node-uuid": "~1.4.7", - "oauth-sign": "~0.8.1", - "qs": "~6.1.0", - "stringstream": "~0.0.4", - "tough-cookie": "~2.2.0", - "tunnel-agent": "~0.4.1" - }, - "dependencies": { - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.3.2", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "^4.0.0" - } - }, - "bl": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "~2.0.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - }, - "caseless": { - "version": "0.11.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - }, - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "extend": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "1.0.0-rc4", - "bundled": true, - "dev": true, - "requires": { - "async": "^1.5.2", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.10" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "bundled": true, - "dev": true - } - } - }, - "har-validator": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "requires": { - "chalk": "^1.1.1", - "commander": "^2.9.0", - "is-my-json-valid": "^2.12.4", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "bundled": true, - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "commander": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - }, - "dependencies": { - "graceful-readlink": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "is-my-json-valid": { - "version": "2.13.1", - "bundled": true, - "dev": true, - "requires": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "jsonpointer": "2.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "generate-function": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "is-property": "^1.0.0" - }, - "dependencies": { - "is-property": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "jsonpointer": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "pinkie-promise": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "pinkie": "^2.0.0" - }, - "dependencies": { - "pinkie": { - "version": "2.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" - }, - "dependencies": { - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.x.x" - } - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.x.x" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.x.x" - } - } - } - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "jsprim": { - "version": "1.2.2", - "bundled": true, - "dev": true, - "requires": { - "extsprintf": "1.0.2", - "json-schema": "0.2.2", - "verror": "1.3.6" - }, - "dependencies": { - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "json-schema": { - "version": "0.2.2", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "requires": { - "extsprintf": "1.0.2" - } - } - } - }, - "sshpk": { - "version": "1.8.3", - "bundled": true, - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jodid25519": "^1.0.0", - "jsbn": "~0.1.0", - "tweetnacl": "~0.13.0" - }, - "dependencies": { - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "dashdash": { - "version": "1.13.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "getpass": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "jsbn": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.13.3", - "bundled": true, - "dev": true, - "optional": true - } - } - } - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.11", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "~1.23.0" - }, - "dependencies": { - "mime-db": { - "version": "1.23.0", - "bundled": true, - "dev": true - } - } - }, - "node-uuid": { - "version": "1.4.7", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true - }, - "qs": { - "version": "6.1.0", - "bundled": true, - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true - }, - "tough-cookie": { - "version": "2.2.2", - "bundled": true, - "dev": true - }, - "tunnel-agent": { - "version": "0.4.3", - "bundled": true, - "dev": true - } - } - }, - "retry": { - "version": "0.9.0", - "bundled": true, - "dev": true - }, - "rimraf": { - "version": "2.5.2", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.0.0" - }, - "dependencies": { - "glob": { - "version": "7.0.0", - "bundled": true, - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "semver": { - "version": "5.1.0", - "bundled": true, - "dev": true - }, - "sha": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "process-nextick-args": "~1.0.0", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "sorted-object": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.1", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } - }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, + } + } + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true - }, - "umask": { - "version": "1.1.0", - "bundled": true, + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflection": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", + "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=", + "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.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inline-source-map-comment": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/inline-source-map-comment/-/inline-source-map-comment-1.0.5.tgz", + "integrity": "sha1-UKikTCp5DfrEQbXJTszVRiY1+vY=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "get-stdin": "^4.0.1", + "minimist": "^1.1.1", + "sum-up": "^1.0.1", + "xtend": "^4.0.0" + } + }, + "inquirer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", + "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", + "dev": true, + "requires": { + "ansi-escapes": "^1.1.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "external-editor": "^1.1.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "mute-stream": "0.0.6", + "pinkie-promise": "^2.0.0", + "run-async": "^2.2.0", + "rx": "^4.1.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "intl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/intl/-/intl-1.0.1.tgz", + "integrity": "sha1-pqVmql7jc4ycF7RL+hL6TsJiP3g=", + "dev": true + }, + "intl-format-cache": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.2.9.tgz", + "integrity": "sha512-Zv/u8wRpekckv0cLkwpVdABYST4hZNTDaX7reFetrYTJwxExR2VyTqQm+l0WmL0Qo8Mjb9Tf33qnfj0T7pjxdQ==", + "dev": true + }, + "intl-messageformat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-1.3.0.tgz", + "integrity": "sha1-99kmre16OrGbLcYB79VOmaS9Tq4=", + "dev": true, + "requires": { + "intl-messageformat-parser": "1.2.0" + }, + "dependencies": { + "intl-messageformat-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.2.0.tgz", + "integrity": "sha1-WQa3+VOrdHDg3IVJCXtki5kYkv8=", "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" - }, - "dependencies": { - "spdx-correct": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "spdx-license-ids": "^1.0.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "^1.0.4", - "spdx-license-ids": "^1.0.0" - }, - "dependencies": { - "spdx-exceptions": { - "version": "1.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "validate-npm-package-name": { - "version": "2.2.2", - "bundled": true, - "dev": true, - "requires": { - "builtins": "0.0.7" - }, - "dependencies": { - "builtins": { - "version": "0.0.7", - "bundled": true, - "dev": true - } - } - }, - "which": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "requires": { - "is-absolute": "^0.1.7", - "isexe": "^1.1.1" - }, - "dependencies": { - "is-absolute": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "requires": { - "is-relative": "^0.1.0" - }, - "dependencies": { - "is-relative": { - "version": "0.1.3", - "bundled": true, - "dev": true - } - } - }, - "isexe": { - "version": "1.1.2", - "bundled": true, - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.1", - "bundled": true, + } + } + }, + "intl-messageformat-parser": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.8.1.tgz", + "integrity": "sha512-IMSCKVf0USrM/959vj3xac7s8f87sc+80Y/ipBzdKy4ifBv5Gsj2tZ41EAaURVg01QU71fYr77uA8Meh6kELbg==", + "dev": true + }, + "intl-relativeformat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-1.3.0.tgz", + "integrity": "sha1-iT3HB2/M04DPCRojAMOA+les5Fs=", + "dev": true, + "requires": { + "intl-messageformat": "1.3.0" + } + }, + "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.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "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-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-core-module": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", + "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "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 - }, - "write-file-atomic": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" - } } } }, - "npm-package-arg": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.2.1.tgz", - "integrity": "sha1-WTMD/eqF98Qid18X+et2cPaA4+w=", + "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": { - "hosted-git-info": "^2.1.5", - "semver": "^5.1.0" + "is-primitive": "^2.0.0" } }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "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.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "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": { - "path-key": "^2.0.0" + "number-is-nan": "^1.0.0" } }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "is-git-url": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/is-git-url/-/is-git-url-0.2.3.tgz", + "integrity": "sha1-RFIA1vvW2gKPteAUQNmvyT88y2Q=", + "dev": true + }, + "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": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "is-extglob": "^1.0.0" } }, - "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 + "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" + } }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, - "optional": true + "requires": { + "kind-of": "^3.0.2" + } }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "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": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "isobject": "^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" - } + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true } } }, - "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "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=", + "dev": true + }, + "is-type": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/is-type/-/is-type-0.0.1.tgz", + "integrity": "sha1-9lHYXDZdRJVdFKUdjXBh8/a0d5w=", + "dev": true, + "requires": { + "core-util-is": "~1.0.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": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "dev": true, + "requires": { + "buffer-alloc": "^1.2.0" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "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" + } + }, + "istextorbinary": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.1.0.tgz", + "integrity": "sha1-2+0qb1G+L3R1to+JRlgRFBt1iHQ=", + "dev": true, + "requires": { + "binaryextensions": "1 || 2", + "editions": "^1.1.1", + "textextensions": "1 || 2" + } + }, + "js-reporters": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/js-reporters/-/js-reporters-1.2.3.tgz", + "integrity": "sha512-2YzWkHbbRu6LueEs5ZP3P1LqbECvAeUJYrjw3H4y1ofW06hqCS0AbzBtLwbr+Hke51bt9CUepJ/Fj1hlCRIF6A==", "dev": true }, - "object-visit": { + "js-tokens": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz", + "integrity": "sha1-zENaXIuUrRWst5gxQPyAGCyJrq4=", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "requires": { - "isobject": "^3.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true } } }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "jshint": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.12.0.tgz", + "integrity": "sha512-TwuuaUDmra0JMkuqvqy+WGo2xGHSNjv1BA1nTIgtH2K5z1jHuAEeAgp7laaR+hLRmajRjcrM71+vByBDanCyYA==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.19", + "minimatch": "~3.0.2", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x" } }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "jsonify": "~0.0.0" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", + "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "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 - } + "graceful-fs": "^4.1.6" } }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "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": { - "ee-first": "1.1.1" + "is-buffer": "^1.1.5" } }, - "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=", + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { - "wrappy": "1" + "graceful-fs": "^4.1.9" } }, - "onetime": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "invert-kv": "^1.0.0" } }, - "options": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", - "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", - "dev": true - }, - "ora": { - "version": "0.2.3", - "resolved": "http://registry.npmjs.org/ora/-/ora-0.2.3.tgz", - "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", + "leek": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/leek/-/leek-0.0.24.tgz", + "integrity": "sha1-5ADlfw5g2O8r1NBo3EKKVDRdvNo=", "dev": true, "requires": { - "chalk": "^1.1.1", - "cli-cursor": "^1.0.2", - "cli-spinners": "^0.1.2", - "object-assign": "^4.0.1" + "debug": "^2.1.0", + "lodash.assign": "^3.2.0", + "rsvp": "^3.0.21" } }, - "os-homedir": { + "leven": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz", + "integrity": "sha1-kUS27ryl8dBoAWnxpncNzqYLdcM=", "dev": true }, - "os-locale": { - "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", "dev": true, "requires": { - "lcid": "^1.0.0" + "uc.micro": "^1.0.1" } }, - "os-shim": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "livereload-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", "dev": true }, - "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=", + "loader.js": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/loader.js/-/loader.js-4.7.0.tgz", + "integrity": "sha512-9M2KvGT6duzGMgkOcTkWb+PR/Q2Oe54df/tLgHGVmFpAmtqJ553xJh6N63iFYI2yjo2PeJXbS5skHi/QpJq4vA==", "dev": true }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "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" - } + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "lodash._arraycopy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", + "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=", "dev": true }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "lodash._arrayeach": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", + "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=", + "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": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" } }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", "dev": true }, - "parsejson": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", - "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", + "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": { - "better-assert": "~1.0.0" + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" } }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "~1.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 }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "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": { - "better-assert": "~1.0.0" + "lodash._bindcallback": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash.restparam": "^3.0.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-exists": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz", - "integrity": "sha1-1aiZjrce83p0w06w2eum6HjuoIE=", + "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 }, - "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=", + "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 }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", "dev": true }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true + "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" + } }, - "path-posix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz", - "integrity": "sha1-BrJhE/Vr6rBCVFojv6iAA8ysJg8=", + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=", "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=", + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "lodash.debounce": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz", + "integrity": "sha1-gSIRw3ipTMKdWqTjNGzwv846ffU=", "dev": true, - "optional": true + "requires": { + "lodash._getnative": "^3.0.0" + } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true, - "optional": true + "lodash.find": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", + "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=", + "dev": true }, - "phantom": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/phantom/-/phantom-4.0.12.tgz", - "integrity": "sha512-Tz82XhtPmwCk1FFPmecy7yRGZG2btpzY2KI9fcoPT7zT9det0CcMyfBFPp1S8DqzsnQnm8ZYEfdy528mwVtksA==", + "lodash.flatten": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-3.0.2.tgz", + "integrity": "sha1-3hz1d1j49EeTGdNcPpzGDEUBk4w=", "dev": true, - "optional": true, "requires": { - "phantomjs-prebuilt": "^2.1.16", - "split": "^1.0.1", - "winston": "^2.4.0" + "lodash._baseflatten": "^3.0.0", + "lodash._isiterateecall": "^3.0.0" } }, - "phantomjs-prebuilt": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", - "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=", + "dev": true + }, + "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.isplainobject": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz", + "integrity": "sha1-moI4rhayAEMpYM1zRlEtASP79MU=", "dev": true, - "optional": true, "requires": { - "es6-promise": "^4.0.3", - "extract-zip": "^1.6.5", - "fs-extra": "^1.0.0", - "hasha": "^2.2.0", - "kew": "^0.7.0", - "progress": "^1.1.8", - "request": "^2.81.0", - "request-progress": "^2.0.1", - "which": "^1.2.10" - }, - "dependencies": { - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } + "lodash._basefor": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.keysin": "^3.0.0" } }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "lodash.istypedarray": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz", + "integrity": "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=", "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=", + "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": { - "pinkie": "^2.0.0" + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" } }, - "portfinder": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.18.tgz", - "integrity": "sha512-KanzLOERzKoX3En5yTiV8K/arnU1ykYVokmtEn0PgCzqKZG9489tqW8ifp9+v3/VJZ5YDjvDt/PAP5WaPgk7FA==", + "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": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - } + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.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 - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "printf": { - "version": "0.2.5", - "resolved": "http://registry.npmjs.org/printf/-/printf-0.2.5.tgz", - "integrity": "sha1-xDjKLKM+OSdnHbSracDlL5NqTw8=", + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "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==", + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=", "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==", + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", "dev": true }, - "process-relative-require": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-relative-require/-/process-relative-require-1.0.0.tgz", - "integrity": "sha1-FZDfz1uPKYO6U+OYRGtoJAtMxoo=", + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "dev": true, "requires": { - "node-modules-path": "^1.0.0" + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" } }, - "progress": { - "version": "1.1.8", - "resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", - "dev": true, - "optional": true - }, - "promise-map-series": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.2.3.tgz", - "integrity": "sha1-wtN3r8kyU/a9A9u3d1XriKsgqEc=", + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", "dev": true, "requires": { - "rsvp": "^3.0.14" + "lodash._reinterpolate": "^3.0.0" } }, - "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "lodash.toplainobject": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz", + "integrity": "sha1-KHkK2ULSk9eKpmOgfs9/UsoEGY0=", "dev": true, "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" + "lodash._basecopy": "^3.0.0", + "lodash.keysin": "^3.0.0" } }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, - "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", - "dev": true, - "optional": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true, - "optional": true + "lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=", + "dev": true }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + } + } }, - "quick-temp": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/quick-temp/-/quick-temp-0.1.8.tgz", - "integrity": "sha1-urAqJCq4+w3XWKPJd2sy+aXZRAg=", + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { - "mktemp": "~0.4.0", - "rimraf": "^2.5.4", - "underscore.string": "~3.3.4" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "qunit": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.7.1.tgz", - "integrity": "sha512-ePeNs/CVL8coOWxnjxQAp9mCvRJybEQw3rwJe1TUClL+WrIcaZkLeW7VxHWtshn0L0ZtY0y80JqC7+po7330Ng==", + "make-array": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/make-array/-/make-array-0.1.2.tgz", + "integrity": "sha1-M14267DFpDFU0hIToeyuriobs+8=", + "dev": true + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "commander": "2.12.2", - "exists-stat": "1.0.0", - "findup-sync": "2.0.0", - "js-reporters": "1.2.1", - "resolve": "1.5.0", - "sane": "^4.0.0", - "walk-sync": "0.3.2" - }, - "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 - }, - "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" - } - } - } - }, - "commander": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", - "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", - "dev": true - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "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 - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "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" - } - } - } - }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "pify": "^3.0.0" + } + }, + "make-plural": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-2.1.3.tgz", + "integrity": "sha1-L4UgjDf6fujF42u1psBcXgCkTjE=", + "dev": true + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "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" + } + }, + "markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + }, + "markdown-it-terminal": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/markdown-it-terminal/-/markdown-it-terminal-0.0.4.tgz", + "integrity": "sha1-PyzmJLosqWSni4s4jWBe4zDenO0=", + "dev": true, + "requires": { + "ansi-styles": "^2.1.0", + "cardinal": "^0.5.0", + "cli-table": "^0.3.1", + "lodash.merge": "^3.3.2", + "markdown-it": "^4.4.0" + }, + "dependencies": { + "linkify-it": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-1.2.4.tgz", + "integrity": "sha1-B3NSbDF8j9E71TTuHRgP+Iq/iBo=", "dev": true, "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "uc.micro": "^1.0.1" } }, - "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==", + "lodash.merge": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-3.3.2.tgz", + "integrity": "sha1-DZDZPtY3sYeEN7s+IWASYNev6ZQ=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "lodash._arraycopy": "^3.0.0", + "lodash._arrayeach": "^3.0.0", + "lodash._createassigner": "^3.0.0", + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0", + "lodash.isplainobject": "^3.0.0", + "lodash.istypedarray": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.keysin": "^3.0.0", + "lodash.toplainobject": "^3.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==", + "markdown-it": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-4.4.0.tgz", + "integrity": "sha1-PfNz2+pYepp/7z5WMRtokI91xBQ=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "argparse": "~1.0.2", + "entities": "~1.1.1", + "linkify-it": "~1.2.0", + "mdurl": "~1.0.0", + "uc.micro": "^1.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==", + } + } + }, + "matcher-collection": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.1.2.tgz", + "integrity": "sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==", + "dev": true, + "requires": { + "minimatch": "^3.0.2" + } + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, + "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-streams": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/memory-streams/-/memory-streams-0.1.3.tgz", + "integrity": "sha512-qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==", + "dev": true, + "requires": { + "readable-stream": "~1.0.2" + } + }, + "merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", + "dev": true + }, + "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 + }, + "merge-trees": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", + "integrity": "sha1-zL5nRWl4f53vF/1G5lJfVwC70j4=", + "dev": true, + "requires": { + "can-symlink": "^1.0.0", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "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" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "dev": true, + "requires": { + "mime-db": "1.46.0" + } + }, + "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": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "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-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-plain-object": "^2.0.4" } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mktemp": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/mktemp/-/mktemp-0.4.0.tgz", + "integrity": "sha1-bQUVYRyKjITkhKogABKbmOmB/ws=", + "dev": true + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", + "dev": true + }, + "moment-timezone": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.3.1.tgz", + "integrity": "sha1-PvR4VrAtU7cYoQpewgI6opnge/U=", + "dev": true, + "requires": { + "moment": ">= 2.6.0" + } + }, + "morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dev": true, + "requires": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + } + } + }, + "mout": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/mout/-/mout-1.2.2.tgz", + "integrity": "sha512-w0OUxFEla6z3d7sVpMZGBCpQvYh8PHS1wZ6Wu9GNKHMpAHWJ0if0LsQZh3DlOqw55HlhJEOMLpFnwtxp99Y5GA==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mustache": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz", + "integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==", + "dev": true + }, + "mute-stream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", + "integrity": "sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s=", + "dev": true + }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "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-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 }, - "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-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" - } - } - } + "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 }, "is-windows": { "version": "1.0.2", @@ -11203,90 +9791,661 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "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==", + "dev": true, + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-modules-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/node-modules-path/-/node-modules-path-1.0.2.tgz", + "integrity": "sha512-6Gbjq+d7uhkO7epaKi5DNgUJn7H0gEyA4Jg0Mo1uQOi3Rk50G83LtmhhFyw0LxnAFhtlspkiiw52ISP13qzcBg==", + "dev": true + }, + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true + }, + "node-watch": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.7.0.tgz", + "integrity": "sha512-OOBiglke5SlRQT5WYfwXTmYqTfXjcTNBHpalyHLtLxDpQYVpVRkJqabcch1kmwJsjV/J4OZuzEafeb4soqtFZA==", + "dev": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "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" + } + }, + "npm-git-info": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/npm-git-info/-/npm-git-info-1.0.3.tgz", + "integrity": "sha1-qTPELsMh6A02RuDW6ESv6UYw4dU=", + "dev": true + }, + "npm-package-arg": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.2.1.tgz", + "integrity": "sha1-WTMD/eqF98Qid18X+et2cPaA4+w=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.5", + "semver": "^5.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": 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", + "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=", + "dev": true + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "dev": true + }, + "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-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "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.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "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 - }, - "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" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + } + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "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" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "dev": true + }, + "ora": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz", + "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "cli-cursor": "^1.0.2", + "cli-spinners": "^0.1.2", + "object-assign": "^4.0.1" + } + }, + "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-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "dev": true + }, + "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 + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "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" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "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-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parsejson": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", + "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "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-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-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-posix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz", + "integrity": "sha1-BrJhE/Vr6rBCVFojv6iAA8ysJg8=", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "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": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "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-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "locate-path": "^2.0.0" } - }, - "sane": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.0.1.tgz", - "integrity": "sha512-12M/pR2HqW0aPKBAnwBerocN/6BbdAydw/gzGouHOeOpLmam46uS2xwtI+Yl5ZRqPDaakEsYtXkW9q/D5aJSdQ==", + } + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "ms": "^2.1.1" } }, - "walk-sync": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.2.tgz", - "integrity": "sha512-FMB5VqpLqOCcqrzA9okZFc0wq0Qbmdm396qJxvQZhDpyu0W95G9JCmp74tx7iyYnyOcBtUuKJsgIKAqjozvmmQ==", - "dev": true, - "requires": { - "ensure-posix-path": "^1.0.0", - "matcher-collection": "^1.0.0" - } + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "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 + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "printf": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/printf/-/printf-0.2.5.tgz", + "integrity": "sha1-xDjKLKM+OSdnHbSracDlL5NqTw8=", + "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-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "process-relative-require": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-relative-require/-/process-relative-require-1.0.0.tgz", + "integrity": "sha1-FZDfz1uPKYO6U+OYRGtoJAtMxoo=", + "dev": true, + "requires": { + "node-modules-path": "^1.0.0" + } + }, + "promise-map-series": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.2.3.tgz", + "integrity": "sha1-wtN3r8kyU/a9A9u3d1XriKsgqEc=", + "dev": true, + "requires": { + "rsvp": "^3.0.14" + } + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "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.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz", + "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==", + "dev": true + }, + "quick-temp": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/quick-temp/-/quick-temp-0.1.8.tgz", + "integrity": "sha1-urAqJCq4+w3XWKPJd2sy+aXZRAg=", + "dev": true, + "requires": { + "mktemp": "~0.4.0", + "rimraf": "^2.5.4", + "underscore.string": "~3.3.4" + } + }, + "qunit": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.12.0.tgz", + "integrity": "sha512-Lu3tbKziVzXTfseoEtTiiSAbSPB6SGU4Emc2uo8n+fbsXuRCLzfqPwJfAVJwKu9NdukX1V/L0qWf2UvmPX+QeA==", + "dev": true, + "requires": { + "commander": "6.2.0", + "js-reporters": "1.2.3", + "node-watch": "0.7.0", + "tiny-glob": "0.2.6" + }, + "dependencies": { + "commander": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", + "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", + "dev": true } } }, @@ -11297,9 +10456,9 @@ "dev": true }, "randomatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", - "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, "requires": { "is-number": "^4.0.0", @@ -11314,45 +10473,42 @@ "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==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true } } }, "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "dependencies": { - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true } } }, "readable-stream": { "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -11372,7 +10528,7 @@ }, "recast": { "version": "0.10.33", - "resolved": "http://registry.npmjs.org/recast/-/recast-0.10.33.tgz", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz", "integrity": "sha1-lCgI96oBbx+nFCxGHX5XBKqo1pc=", "dev": true, "requires": { @@ -11384,7 +10540,7 @@ "dependencies": { "ast-types": { "version": "0.8.12", - "resolved": "http://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz", "integrity": "sha1-oNkOQ1G7iHcWyD/WN+v4GK9K38w=", "dev": true } @@ -11408,11 +10564,20 @@ } }, "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, "regenerator": { "version": "0.8.40", "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz", @@ -11537,67 +10702,26 @@ "is-finite": "^1.0.0" } }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true, - "optional": true - } - } - }, - "request-progress": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", - "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", - "dev": true, - "optional": true, - "requires": { - "throttleit": "^1.0.0" - } - }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, + "reselect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", + "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=", + "dev": true + }, "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", + "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" } }, "resolve-dir": { @@ -11610,6 +10734,16 @@ "global-modules": "^0.2.3" } }, + "resolve-package-path": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-1.2.7.tgz", + "integrity": "sha512-fVEKHGeK85bGbVFuwO9o1aU0n3vqQGrezPc51JGu9UTXpFQfWq5qCeKxyaRUSvephs+06c5j5rPq/dzHGEo8+Q==", + "dev": true, + "requires": { + "path-root": "^0.1.1", + "resolve": "^1.10.0" + } + }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -11632,6 +10766,12 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -11642,18 +10782,18 @@ } }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" }, "dependencies": { "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -11673,12 +10813,18 @@ "dev": true }, "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { - "is-promise": "^2.1.0" + "queue-microtask": "^1.2.2" } }, "rx": { @@ -11693,6 +10839,12 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", + "dev": true + }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -11733,12 +10885,6 @@ "normalize-path": "^2.0.0" } }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, "watch": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", @@ -11748,15 +10894,15 @@ } }, "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "dev": true, "requires": { "debug": "2.6.9", @@ -11766,38 +10912,38 @@ "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", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "range-parser": "~1.2.1", + "statuses": "~1.5.0" }, "dependencies": { - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true } } }, "serialize-javascript": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", - "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", "dev": true }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.17.1" } }, "set-blocking": { @@ -11807,9 +10953,9 @@ "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==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -11830,9 +10976,9 @@ } }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, "shebang-command": { @@ -11863,9 +11009,9 @@ "dev": true }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "silent-error": { @@ -11895,12 +11041,6 @@ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", - "dev": true - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -11993,9 +11133,9 @@ "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==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true } } @@ -12026,7 +11166,7 @@ "dependencies": { "debug": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", "dev": true, "requires": { @@ -12035,7 +11175,7 @@ }, "ms": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", "dev": true }, @@ -12059,7 +11199,7 @@ "dependencies": { "debug": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", "dev": true, "requires": { @@ -12068,7 +11208,7 @@ }, "ms": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", "dev": true } @@ -12093,9 +11233,15 @@ "to-array": "0.1.4" }, "dependencies": { + "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 + }, "debug": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", "dev": true, "requires": { @@ -12104,7 +11250,7 @@ }, "ms": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", "dev": true } @@ -12130,7 +11276,7 @@ }, "debug": { "version": "2.2.0", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", "dev": true, "requires": { @@ -12145,12 +11291,40 @@ }, "ms": { "version": "0.7.1", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", "dev": true } } }, + "sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true + }, + "sort-package-json": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.49.0.tgz", + "integrity": "sha512-3YuqFGThwc9X0TZLYohOUJJ/P6uJIVcTeuJOc6ZWw4f1fHpTHIfVysKer4qXtrZ2zvwwU2aEcb555Bo+2fwIgQ==", + "dev": true, + "requires": { + "detect-indent": "^6.0.0", + "detect-newline": "3.1.0", + "git-hooks-list": "1.0.3", + "globby": "10.0.0", + "is-plain-obj": "2.1.0", + "sort-object-keys": "^1.1.3" + }, + "dependencies": { + "detect-indent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", + "dev": true + } + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -12158,12 +11332,12 @@ "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==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { - "atob": "^2.1.1", + "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", @@ -12171,9 +11345,9 @@ }, "dependencies": { "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=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true } } @@ -12205,14 +11379,14 @@ "dev": true }, "sourcemap-validator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/sourcemap-validator/-/sourcemap-validator-1.1.0.tgz", - "integrity": "sha512-Hmdu39KL+EoAAZ69OTk7RXXJdPRRizJvOZOWhCW9jLGfEQflCNPTlSoCXFPdKWFwwf0uzLcGR/fc7EP/PT8vRQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sourcemap-validator/-/sourcemap-validator-1.1.1.tgz", + "integrity": "sha512-pq6y03Vs6HUaKo9bE0aLoksAcpeOo9HZd7I8pI6O480W/zxNZ9U32GfzgtPP0Pgc/K1JHna569nAbOk3X8/Qtw==", "dev": true, "requires": { "jsesc": "~0.3.x", - "lodash.foreach": "~2.3.x", - "lodash.template": "~2.3.x", + "lodash.foreach": "^4.5.0", + "lodash.template": "^4.5.0", "source-map": "~0.1.x" }, "dependencies": { @@ -12222,21 +11396,6 @@ "integrity": "sha1-G/XuY7RTn+LibQwemcJAuXpFeXI=", "dev": true }, - "lodash.template": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.3.0.tgz", - "integrity": "sha1-Tj4pxDO0z+pnXsg15vEjkcYf0is=", - "dev": true, - "requires": { - "lodash._escapestringchar": "~2.3.0", - "lodash._reinterpolate": "~2.3.0", - "lodash.defaults": "~2.3.0", - "lodash.escape": "~2.3.0", - "lodash.keys": "~2.3.0", - "lodash.templatesettings": "~2.3.0", - "lodash.values": "~2.3.0" - } - }, "source-map": { "version": "0.1.43", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", @@ -12265,20 +11424,10 @@ } }, "spawnback": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.0.tgz", - "integrity": "sha1-9zZi9+VNlTZ+ynTWQmxnfdfqaG8=", - "dev": true - }, - "split": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "optional": true, - "requires": { - "through": "2" - } + "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.1.tgz", + "integrity": "sha512-340ZqtqJzWAZtHwaCC2gx4mdQOnkUWAWNDp7y0bCEatdjmgQ4j7b0qQ7qO5WIJWx/luNrKcrYzpKbH3NTR030A==", + "dev": true }, "split-string": { "version": "3.1.0", @@ -12290,9 +11439,9 @@ } }, "sprintf-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz", - "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", "dev": true }, "sri-toolbox": { @@ -12301,37 +11450,12 @@ "integrity": "sha1-p/6lw/3lXmdc8cjAbz67XCk1g14=", "dev": true }, - "sshpk": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.1.tgz", - "integrity": "sha512-mSdgNUaidk+dRU5MhYtN9zebdzF2iG0cNPWy8HG+W8y+fT1JnSkh0fzzpjOa0L7P8i1Rscz38t0h4gPcKz43xA==", - "dev": true, - "optional": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "dev": true }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true, - "optional": true - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -12354,9 +11478,15 @@ } }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", "dev": true }, "string-width": { @@ -12390,7 +11520,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -12440,11 +11570,24 @@ "dev": true }, "symlink-or-copy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symlink-or-copy/-/symlink-or-copy-1.2.0.tgz", - "integrity": "sha512-W31+GLiBmU/ZR02Ii0mVZICuNEN9daZ63xZMPDsYgPgNjMtg+atqLEGI7PPI936jYSQZxoLb/63xos8Adrx4Eg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/symlink-or-copy/-/symlink-or-copy-1.3.1.tgz", + "integrity": "sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA==", "dev": true }, + "sync-disk-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/sync-disk-cache/-/sync-disk-cache-1.3.4.tgz", + "integrity": "sha512-GlkGeM81GPPEKz/lH7QUTbvqLq7K/IUTuaKDSMulP9XQ42glqNJIN/RKgSOw4y8vxL1gOVvj+W7ruEO4s36eCw==", + "dev": true, + "requires": { + "debug": "^2.1.3", + "heimdalljs": "^0.2.3", + "mkdirp": "^0.5.0", + "rimraf": "^2.2.8", + "username-sync": "^1.0.2" + } + }, "tap-parser": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", @@ -12457,9 +11600,9 @@ }, "dependencies": { "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "optional": true, "requires": { @@ -12496,7 +11639,7 @@ "dependencies": { "rimraf": { "version": "2.2.8", - "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", "dev": true } @@ -12537,15 +11680,15 @@ }, "dependencies": { "bluebird": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", - "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -12559,125 +11702,55 @@ } }, "textextensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz", - "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.6.0.tgz", + "integrity": "sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ==", "dev": true }, - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", - "dev": true, - "optional": true - }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, + "tiny-glob": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.6.tgz", + "integrity": "sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw==", + "dev": true, + "requires": { + "globalyzer": "^0.1.0", + "globrex": "^0.1.1" + } + }, "tiny-lr": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", - "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", "dev": true, "requires": { - "body-parser": "~1.14.0", - "debug": "~2.2.0", + "body": "^5.1.0", + "debug": "^3.1.0", "faye-websocket": "~0.10.0", - "livereload-js": "^2.2.0", - "parseurl": "~1.3.0", - "qs": "~5.1.0" - }, - "dependencies": { - "body-parser": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", - "integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=", - "dev": true, - "requires": { - "bytes": "2.2.0", - "content-type": "~1.0.1", - "debug": "~2.2.0", - "depd": "~1.1.0", - "http-errors": "~1.3.1", - "iconv-lite": "0.4.13", - "on-finished": "~2.3.0", - "qs": "5.2.0", - "raw-body": "~2.1.5", - "type-is": "~1.6.10" - }, - "dependencies": { - "qs": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", - "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=", - "dev": true - } - } - }, - "bytes": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", - "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=", - "dev": true - }, + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + }, + "dependencies": { "debug": { - "version": "2.2.0", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "http-errors": { - "version": "1.3.1", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", - "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "inherits": "~2.0.1", - "statuses": "1" + "ms": "^2.1.1" } }, - "iconv-lite": { - "version": "0.4.13", - "resolved": "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", - "dev": true - }, "ms": { - "version": "0.7.1", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true - }, - "qs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz", - "integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=", - "dev": true - }, - "raw-body": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", - "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", - "dev": true, - "requires": { - "bytes": "2.4.0", - "iconv-lite": "0.4.13", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", - "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", - "dev": true - } - } } } }, @@ -12750,40 +11823,23 @@ } } }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "optional": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true }, "tree-sync": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-sync/-/tree-sync-1.2.2.tgz", - "integrity": "sha1-LPdrhYn1n/7bWNtaOsfLAT0BWLc=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/tree-sync/-/tree-sync-1.4.0.tgz", + "integrity": "sha512-YvYllqh3qrR5TAYZZTXdspnIhlKAYezPYw11ntmweoceu4VK+keN356phHRIIo1d+RDmLpHZrUlmxga2gc9kSQ==", "dev": true, "requires": { "debug": "^2.2.0", "fs-tree-diff": "^0.5.6", "mkdirp": "^0.5.1", "quick-temp": "^0.1.5", - "walk-sync": "^0.2.7" - }, - "dependencies": { - "walk-sync": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.2.7.tgz", - "integrity": "sha1-tJvk7mhnZXrrc2l4tWop0Q+jmWk=", - "dev": true, - "requires": { - "ensure-posix-path": "^1.0.0", - "matcher-collection": "^1.0.0" - } - } + "walk-sync": "^0.3.3" } }, "trim-right": { @@ -12804,30 +11860,14 @@ "integrity": "sha1-gUXkynyv9ArN48z5Rui4u3W0Fys=", "dev": true }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "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==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" } }, "typedarray": { @@ -12837,37 +11877,17 @@ "dev": true }, "uc.micro": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", - "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "version": "3.12.8", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.8.tgz", + "integrity": "sha512-fvBeuXOsvqjecUtF/l1dwsrrf5y2BCUk9AOJGzGcm6tE7vegku5u/YvqjyDaAGr422PLoLnrxg3EnRvTqsdC1w==", "dev": true, - "optional": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true, - "optional": true - }, - "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, - "optional": true - } - } + "optional": true }, "uglify-to-browserify": { "version": "1.0.2", @@ -12883,9 +11903,9 @@ "dev": true }, "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz", + "integrity": "sha512-21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==", "dev": true }, "underscore.string": { @@ -12898,45 +11918,53 @@ "util-deprecate": "^1.0.2" } }, - "unicode-5.2.0": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/unicode-5.2.0/-/unicode-5.2.0-0.7.5.tgz", - "integrity": "sha512-KVGLW1Bri30x00yv4HNM8kBxoqFXr0Sbo55735nvrlsx4PYBZol3UtoWgO492fSwmsetzPEZzy73rbU8OGXJcA==", + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "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" - } - } + "set-value": "^2.0.1" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" } }, "universalify": { @@ -13025,9 +12053,9 @@ "dev": true }, "username-sync": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/username-sync/-/username-sync-1.0.1.tgz", - "integrity": "sha1-HN6H7vz5S4gimE2Ti6K3l0Jtrh8=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/username-sync/-/username-sync-1.0.2.tgz", + "integrity": "sha512-ayNkOJdoNSGNDBE46Nkc+l6IXmeugbzahZLSMkwvgRWv5y5ZqNY2IrzcgmkR4z32sj1W3tM3TuTUMqkqBzO+RA==", "dev": true }, "util-deprecate": { @@ -13043,33 +12071,30 @@ "dev": true }, "uuid": { - "version": "2.0.3", - "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "walk-sync": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.3.tgz", - "integrity": "sha512-jQgTHmCazUngGqvHZFlr30u2VLKEKErBMLFe+fBl5mn4rh9aI/QVRog8PT1hv2vaOu4EBwigfmpRTyZrbnpRVA==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.4.tgz", + "integrity": "sha512-ttGcuHA/OBnN2pcM6johpYlEms7XpO5/fyKIr48541xXedan4roO8cS1Q2S/zbbjGH/BarYDAMeS2Mi9HE5Tig==", "dev": true, "requires": { "ensure-posix-path": "^1.0.0", @@ -13093,30 +12118,23 @@ "requires": { "exec-sh": "^0.2.0", "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } } }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.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==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, "which": { @@ -13143,37 +12161,6 @@ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", "dev": true }, - "winston": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.4.tgz", - "integrity": "sha512-NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==", - "dev": true, - "optional": true, - "requires": { - "async": "~1.0.0", - "colors": "1.0.x", - "cycle": "1.0.x", - "eyes": "0.1.x", - "isstream": "0.1.x", - "stack-trace": "0.0.x" - }, - "dependencies": { - "async": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", - "dev": true, - "optional": true - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true, - "optional": true - } - } - }, "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", @@ -13196,19 +12183,19 @@ "dev": true }, "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, "requires": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "signal-exit": "^3.0.2" } }, "ws": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/ws/-/ws-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.1.tgz", "integrity": "sha1-CC3bbGQehdS7RR8D1S8G6r2x8Bg=", "dev": true, "requires": { @@ -13223,18 +12210,15 @@ "dev": true }, "xdg-basedir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", - "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true }, "xmldom": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", - "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=", + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", + "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", "dev": true }, "xmlhttprequest-ssl": { @@ -13244,9 +12228,9 @@ "dev": true }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { @@ -13269,11 +12253,35 @@ "requires": { "fs-extra": "^0.30.0", "lodash.merge": "^4.4.0" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + } } }, "yargs": { "version": "3.27.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz", "integrity": "sha1-ISBUaTFuk5Ex1Z8toMbX+YIh6kA=", "dev": true, "requires": { @@ -13285,16 +12293,6 @@ "y18n": "^3.2.0" } }, - "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", - "dev": true, - "optional": true, - "requires": { - "fd-slicer": "~1.0.1" - } - }, "yeast": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", diff --git a/www/package.json b/www/package.json index 5601d90..26f028c 100644 --- a/www/package.json +++ b/www/package.json @@ -1,7 +1,8 @@ { - "name": "open-social-pool", + "name": "open-etc-pool", "version": "0.0.0", - "description": "Ethereum Social Pool", + "description": "Open ETC Pool", + "private": true, "directories": { "doc": "doc", "test": "tests" @@ -13,7 +14,7 @@ }, "repository": "", "engines": { - "node": "8.11.1" + "node": ">= 0.12.0" }, "author": "", "license": "MIT", @@ -21,9 +22,10 @@ "broccoli-asset-rev": "^2.4.5", "broccoli-funnel": "^1.0.9", "ember-ajax": "^2.4.1", - "ember-cli": "2.9.1", + "ember-cli": "2.13", "ember-cli-app-version": "^2.0.0", "ember-cli-babel": "^5.1.7", + "ember-cli-cookie": "^0.2.0", "ember-cli-dependency-checker": "^1.3.0", "ember-cli-htmlbars": "^1.0.10", "ember-cli-htmlbars-inline-precompile": "^0.3.3", @@ -34,14 +36,15 @@ "ember-cli-sri": "^2.1.0", "ember-cli-test-loader": "^1.1.0", "ember-cli-uglify": "^1.2.0", + "ember-data": "2.10.0", "ember-export-application-global": "^1.0.5", "ember-highcharts": "0.6.0", + "ember-inflector": "1.9.6", + "ember-intl": "2.15.1", "ember-load-initializers": "^0.5.1", "ember-resolver": "^2.0.3", "ember-welcome-page": "^1.0.3", "highcharts": "^6.0.7", - "loader.js": "^4.0.10", - "ember-intl": "2.15.1", - "ember-cli-cookie": "^0.2.0" + "loader.js": "^4.0.10" } } diff --git a/www/public/bg_legacy.png b/www/public/bg_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..6736f3912ed241841773ee992f9529af992bc8bf GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8W8Axtq{F(=(*aCb)T>t<7|KY<2Pxj6HK#>wp z7srr_xVPsG`CJ?rS|5fhMJsTy_$8YJ8B*Q?Pu_G^>bP0l+XkKIvPh? literal 0 HcmV?d00001 diff --git a/www/public/escheresque.png b/www/public/escheresque.png new file mode 100644 index 0000000000000000000000000000000000000000..a1a4638a48986625af5bae1477fd181f0650b991 GIT binary patch literal 395 zcmV;60d)R}P)lqx-rnNk;@{rh-{0SUTv@jO00AFKL_t(|+I7?m z4uc>N1kgbg7WDq-E$+0P@H5d=d9r{*fpGkfc;ZSaw_m{@=aep-Q6NCvGD_stc`V4r z>w*XGmo;)l&E79-gpu2go1GAVFRQKR8KqqXQUf{)^1zcyjz?&1BQI9)*aF*w);96u zs43M+^WlmgcA@kItl+X^#d&}FD78ck?px=XPWn(YoUui!@yZs z8Sr}!NGW*l$(gSA6bK3`Gxnb3o*+&wE_meBT{Zr2PT%C(z>PWnuD}D1N@cC%rXg~M zId%bYCLYkmC}If6#QPYL>+?@sQ4m+SCa%pYu7FHjF%oA$He7(5+iuIX1)XbXJFfpB pR84%#wRB)m^yD`27L=~9SU!1{4@>r} z#!FJ|8MtPzh{Y%j!*C~pr5Tc6`A^4t3?A=QXfYc4{REbLRspx@#Qj(A{)~Q_Mfo#7 z^}yXY7GP!o+<9c5j{O3-?>r8XpRDZ|Z-R5$d3k*V&V?pGDCjT1c`ueNoB_4KJ+&pr zz1#cJDLM92djNMqW%nhK2LVSy%kHnh^8&|$vp-V(BU;kHBT` zl9vl#yusE|VM?P7gFAG733BZO8D(Zlvo|mU=l781eCERgeNhAaU)=-XaJ1I|XDPto zC1R=~IDdCCIO~i0;H-N9oW=bs;LPCQ@QL;UIDgU^IIOR?!TEokpfo^5e*n%qTLAq* jPFy)MxcWn|Sl9dj8dV9uJ$I&+00000NkvXXu0mjfk#psi literal 0 HcmV?d00001 diff --git a/www/public/etc.svg b/www/public/etc.svg new file mode 100644 index 0000000..789e6e2 --- /dev/null +++ b/www/public/etc.svg @@ -0,0 +1 @@ +e \ No newline at end of file diff --git a/www/public/favicon.ico b/www/public/favicon.ico deleted file mode 100644 index 63d3fa5878c02887ba8e37a217bed309c8ce450f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370070 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 diff --git a/www/public/favicon.png b/www/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..3029812f2124a502883fe749f46d7f3336d1d59b GIT binary patch literal 191285 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 literal 0 HcmV?d00001 diff --git a/www/public/sayagata-400px.png b/www/public/sayagata-400px.png new file mode 100644 index 0000000000000000000000000000000000000000..3ad3035659d6ba3b985327db03db87cc4da791d7 GIT binary patch literal 17147 zcmX7P2Uru$_ca}qk_1#hAV5Iy6{RY5>7l4JD@B@u6h*p_(2Ga_Aq1pX1qGF&fYN(O z=vAo_AR$Ok2tAZP-}l>Rc4zkP-Tv&%J?EZ{F*7mXJb(E-9UUF#ZA18dIy(Bq|2MNS zo>{7&cAcD6HfBZ-^)@!iWXcwGduMxR_pJKg>i^oCWXhTSZ27;&ncJD;SvfPFd7c^1 z+GobI@;`^Oz0TTaoBro^w#tu_JUu&+uRcS~Tzq+oJ$r0Io~lt2J2B12qZ;7oku6*AQ=$-#+9kZ~_mQd^`-c8zW-#8l#ccC5 zvr-S_05jLxc2i zGKlx4eXvz8QIP`-xU!{OShIX*X~=;R2B4I?|H*C6TV0y$lU)B}`$jx6X_sq1Y%3VjK*^TNo!k#WlloO`n?1Y@G*Jy&6|9`{tr_sQ zP{Ky*p+YPe|3*i}6^t*^Wc6rnffP^j>#p*)^&A(})4y*MZjTuzc6QrRWd z7#8&Mw!7BvKZOp*ebu`=h+8wk_#744zgDDYG%vYX<6CFmp!1s1<~1buVA@7=yrMt zMJ4;0yilEiM?Bx_My;U338Y2JQO5L64m6f%I!+)N$F(oLM9<7rMmI;JwL{dgv{6Z@ zbQ-nj7c_gh;+=Znd+5Mk=gpH((M>mAw^Xtsug5%yq#~))@xjO%z7*9>;cBS+_7Scq zdVT`Ac(h&I7;Sc-tL8*jjd7-&L`STN3ewv8A6Z~&dV|Q*) zyKt9BLx699r&TO3L;Yq$-m!&@EfZoUD9wPIA9(tiYN#GzSX9^=8HAh)j9A~GWL1S& zLN#X3ojgIO+vC?wt+rZv!@AT0vqRszBk3k)eczEnNWIPj>^p47f zM4{PPbUw;x2A3nS#mvN+Bffj6CE8|LT3TgZ{tJ?UV1t_b2Go zkwXo~*NWR{N=LIs035e@?xTSwf^Q^;Fxk#@&T2sLDHCltgFk9 zaz*fg#M07(=V(E9=pPw|oQ3!tta2b6!mfWDx0;NzU=NctBrCHJ$RE8A&;r3E+py+6 zGooZb-_~S6$7$QD zU^fTtwo7yM$Zc_unQ8;m$sNv!?2{Y=|0<3pyodU~g#OWe4|QwK!@#!5_Fb+p?8O0E z=*j-5^igp1k?@}l`0W7!%R#d6gCylbCr$Pdx{XuCb;7Q%$oqi(TNB<`D{d+FmbhEy z0uS9ccKxm%j(!3?Nclgy zmMdtv?E-@;(p`&LLZ1p#e;0cpBlsJLb`b9KOm3qM&^PARrm3Q}p`#{6!qjw<7gN>k z1}N)8U%F;m%}%`qI14D0o(7r5#+;Lc#y2x6I17J&0zD>qaZJ(_fP^chKLa)IiF)I9 zHtIwl0Ph6)?Y8iVPAFo+|3;k%K)gF(InyY0)NpF)d%mQe14e`zW(1HJ_e(mck!}6sl&hs2!wq^$tfXtRw7Asp420bPwMl~~X+`RV^ z|DCar;LRIzeP2AA63QB}(|UWf3r?9({@x(@foC-qtB!e%WqdgW|8o&!qVnXY8romv zzmS>1`@UEB5}#SjM>Mpw!`*h930|g5fb!PkJ0fn4lzk;|$GH7Rhw)kxhV!)d@859N zOL`)}vMtaK*RmA^vw+GWznG{5PPPS_0k2$Y^m#z=dyX;d>rRIk-)3MHqS92<2e-kS z=mtAx*fe0W#V=v(lXV{cnMeA@q}pSNB;=gzcG=HXu?h2W3uM>3mr$~XxpEy+Fc2k} z`9ael?uXBKOV>@Am@w>ygZ!)JJvtOCS8+~bihc&`;zdH#4;HV}kj5*rk^10ki%~vw zK&nD&d@Q~9WCQ)rt^v3{kv@uaHG~Nx3LSKa1OdLo_|X{|v;)ItjB?9ulonIgfc;T) zGJ~HE->@rmJy`E$q#xT8rME=mqC$sI&_;81)rTU3KObK=5*GfMTw5eDV=f|$ww1vu zIoa0k-wad~JCa|P$;zKzs@g#1Hz)tn>QFhSigLU5zKf)A4?fkTI+4t*ZY{O|@uzg&VX&XNmqaBRCkO@_vxo+N}tY5n_KTlg~ASnjG;j@-CG5ETLb_f8meE z4{k!^5xB|1{lnjD&c^v=ey@67r&)CDO%%Pc%3ZlFi)k5|vOEflvTyAU#O6`PkvCy+ z@Q9io`pwDzh}X=-xWfTP6#;VHpj0T2mqr&e1}WyTWxEPkjc-XjFnMy@2kQ`v8ojP3 zQrUR4;sduIa$(ajAOdEGC=WK|2Ox=E$h;Q#V? z`F)ahV1}jVaisL|&kDZt4I6Xmo6i+O5m}#{A0lgPZtu4vY~DmKY9ORhuAj14M=Cd@ z-EXyTrqGt@x7LqDHkS~dZs3f%Acs~Jhw^gRu76LgHn07UruK96MvnT+rpt7SBSyrX zqu2}FuR!%zxO~B zyevl0)$cOHN)M*Wk?s@a}7Wyfed13@2>HL;>RV;IGD(QjJ;;yI)kY z(6>6;Gylc8ZADa4HX}eZfw3Qf;xTNnl36DA?m!vAo*LntjMz~Iw46pswviv>OtFTL+Px<{aPl2{pN5KV6|Oa2NX-M4=jc) zoR3~mglNX72!|J|e`(eTr9c;!%1w8T9GOkaU+Z2uBNuv59kdl;@0A9r-qkUU!YqbU#BWh`9uq0ubDjO#1Bj# z9@)-#aMF}S#GRaA&B5BYLqimyJdfs+>;u20zj%>p=s6_I5DW-Lc3p&9X$IY&c%(qw zDk=U&kEVVao>ky2gE@rS&DX;)>o|8R`J?B=6)FDKfuG)2sqz@#LmO__zDBzoyKLUh z9naJ+%n~2*0|VpizS(YFJJ0ed%_3W)R1n_%Rk9ppyXL2?S`!rc%OV3Ok2dN6X_Vr7 znBA^5h1?HMes+vKd#t6D*9={1FqZ_OS?ktMEueGFi5|=j;!HfHX>uaqdyRV%G6vbI zV%Xah^Xh{+M$9sk@9TSJ!MiHsF-9&XUX_jg2P~SQ8``O?$%`1?9PrgSqi~+>No39J z!Y$0-M>^8Q?pZm1#+sHOsBCmXHOZF?E|IO;qAR3`@fT5)$--WQ7+8-yBs6$Mjs;Bj ziba4vA8g={u&{o@3s^e!LWLhpzg%;;@5 zJ3RY3=awYhBEz2#4N7CGrvWGDpuix-G2!CYuSZ!(wY%`g#Cwe6!L<@$tW(%SbWO|P z^d_j7Q=7Q7v{Xk7pTC9Kh6>7&t?C931<_)j2xH+{cQB!n5wmj+3iBT894Ja0oxb;_ zmJuCyxH~wP;+18Pz*iVI{Y!mpJuY_3Ac^GG(}ac!Q_`(ZHVw=FjjLW~cI zaRYR$l}D#cl!N|mxlI2>xQUkuFN&%ki$>6d5yj9>dCYvomkg}x+=V@N=u*KZPg%pb zqP>T#z>;P%b7@z5Q;9~|9ZPj6jVC`ap7l}nRkHlBE#>=*6C|m|>l-0(@J9nD5AwRL zbDUG))9H8}E^rheht5G>_i*P4TP|=8{>gc*<}5@+ZQOaz0p^9e_rUhl2^{qxCHTBN{1$6LaqK1LRqX!}Vk5ooXu=q;*|{(uLx)>XiItM&~V zDN8h3erW^4DVo=qb~Eob-X2i0553;~^4NyU`F>#0lv3R>DJVqUF1fRcC4P6_!-nDl zzmwGG5Qja08_Pv#m^n_nbf`+>IR7 zdq-uq*iuwo?fwBSx)inzcIb8Cd8>qp6JB&(uM0~XtlW40 z9i@JM1MAU9wU5eSN9sLUW&pja<`rXu7GwSK1PS|y%|35$7b{!go%#J+gPmx^+9dI{ z$I4uoxJ+|nJEM;tRGKbxVZ0Y;z$41>>suUAp>@K2P5Vxp9@KT4Vx@+Q9_vA+cV}S@ zWx_fNfb2MWYr-I#_=p%zZ(Y1sM)vG|a)?*MO`B3fG@0_DMG;_jMXG0Pl%R+MH6qd# zQa&^#fXEM)6W!{JRO&Dgll{S8tT^B!B3zq$ht!I)EH||Dt<^Qb7gHHq_5F&?z_PsT zvNS{Teg;-8k!Qp&B$yR8%A5oP1;lJTfs(&Ro&J#r^%+cjyQSweH_whgSjis<2c~=j z)QuVaR@~EZBIwTbxuI!mN51CW+HAFt#H{<~Kz6$Sx4w;r`FpvV$?&N-9T2HGJerXc zy~sk~WpB9g`-6`9>o5MULC(C5) zV(^#DDbTL|7pYARW+`_ReAWcXdG?);Ht!V_ItX^aRh=r{j% z{6gB29@IcfY$P42Vqr(-2TmW6Z>O~@_FF?#N>Qf=Z>q(p@PdXHg`go#189QE$Op8+j>nyaC&2MKRc zlFi8d->WBoe9q6r8Dy~O4=p|6Is(Bf)S;m@#)B5jruWTxZa?sZT?YS}Dp47deR5jsWMZq$C4SU@hb;$dQZUQL zm4)XA@)*Pf{u)p1!o4Eqa5h8({egU5;(e*{XHL9vhg*v$|3cPSF_P~HcHDD2g2?T` zNr|LyRU|rIE8!r|#@tg4nQL)|0uoM!2gmzsTJS|y2Q3bi5zkY)hhO*8cLsM&`=GvY z@D{?@17RxcZf4ONWPZ5p?QqnwumfA(1HX6Y0jGze&tang`AuF1Ds=5tFvnF}aRzu$ z$o4g^EI7*+pK7u9fQ4pGhB)gVDowL0>E}6erl7U7W%nZStH5`zXfUc<^_L_U9iZQz zt=KX>#&MuIL_D@C`iVgeKn{3Ke8F%DBc2BbW{-{jqEry7 zB|(6I!Iu}9d*%Y%_zWB!hKgbBte!naTv&JM14UotxL#wd7Dl@x^U#d+>_oecHzP7i zdPT&h470pl)x68(^pr{ICD|0r2q~^)JtvGrrg;M@Tg76d5-1p*4M6)_(rnhq?wyv~ zw?`es7w)efiuEs>IEpp3>ans`M(r(`X*9YeYS?+I??}jk?;ZPK%cWk{4E9e# z_nVC)YE?n~%iB#8!l}v?#?$=0FLpg+W40!6Dr@|!0V|jIP;WeAIiU}4Sbegow7xOL zWtD*|9aWHiDdBBXb`(zHZuqY-_!hX8&DPhy>uT)baKK8zVPZ;N;W(%DeLxRZ+q_tV zJqPSD*mTWHzbo{2%VHye!bE0gGL2V%NJ~910Z+ylf}*DHOHaT#9}Uf?2fo((rFR_+uU>Jk-_s(Nk7Ynj4S@mvWbC zIxWZ)A_=1`AkmfM&PrVkkf$|BoB<~c*|j#?bosv-rz{-(eJ;t}DD{1XnDk9-+^!4Q ztEO^Y_hQV$MC_3eEfdGF0oOo$npM_13DCdGa)swdr$7PP=1TFk;F6a5A_(;YJx0uy zewlBmRA;nt&H@` z@rD^F-YVO7xAL(Hn9vWwOCiwguR=@@{F*Hy85A(CP?P(*VsqYA0g1c?D9M`)0)X#J z1f0pelYLce$>t9HPhCi=vggzKJNP=J#MkiOF@1ND67pXmweS5+9iJmJQ0#g74dFNz zOb&7mh7ItG-rLz19hTpAOd%X7KrWtN0lbf?f_EM+K(bVm<^6RrUi23FxIknE+n?-% zkZXJMko~1i?1S;j2e-s?q}By4zK>6Xp9h(U7dZZOWyQk$C65|=I>UOK1U0TLCFaIY z{kyOJdQ3A{!XuC{Y8zhcr8?S(C+})~AS*RYPDp zb9Fw9ZH@V;xy;T1mcjtbOSIp}MBS=QN9$<#y3{s^%KH|OWl-8hx=^1wRc{Gygou;? zDlv`yNWJOkv&!Re0|yD%Xkb#LMs*VD)*I>Ml>h~{>10lhuzrUhN4jWf`$Qs1xA@qZ z$1*ca*DibUbcWu3*m$YhMr33oBBG(600W0A_f0Cj>+wg=X)oX1cgNE~(&mq#pfuQL zv0z=mW^hNA{rDo$0C2zm=)KgVbc3zvo|Mr`$hqA>6x?P%(elN@)f(|<(3;C44=K)* zbp4U=f52#f8omzNhRXWh2r8IcO7o^MH6LSe!%blY{(jU~Vzl z=nmt;!m<4=q{zsbht$6jCzBiVp*M40NP;uWs_!*!)=zKiylB@!{plov7kWnggwL&)VZ|(^hp@3ds0i&*eTa^d#+y*|5^uqH!G&u*(#`V|j4m*o~Hc}1V zBHvj{d%rCSQKMdUHvK+wQH`su=Cz2*Fk8pujo{Z%pW>byNQ>nuWF%^}?l&hov6}dC z_U51@k1M{0M49bux*_D1NLQ3Inh1j!DK|y(nLLG&M3JwQ)34~#AiKPj-EO=ZAc~*d zy9C;}3sugqGRuofbRf4Ns)RLG_WHy~D_{qTh563p*~K+SAn5|@W0;_u4E^o!T+^+V z*^_eroqDCP?2G-D^6tnvg_+l$IqblY9#N)m zS2Fiix)dJY!MK?+iRGa`p8K%$p&Vc1L14%rxNbX!noB3JpAl<;IE|w(Td{VmP0~Otf-Q?{$?1uGhp*- zk$N^(b@~n4dy?I&K9Ns$Qzr!CgGaIGa-V24(Q==0@ zyoh&Qz;Q6r9iiO#CChnpM6pharyEH0aC{C6kEYgIk2}kdwcZW}w!I2A+G;WEAc>xu ztTv%$s4WMGyTs4Hh<jK_Lm ziMQI+wkF*3WU6LB9pm~_Yl#lfS4ThW^Ny!?C=DWLz@+J#$sN-)3z>i+Ce?liS(@DR z(v=2z&_=#m75est0@|3e=J@A174D`6#tfwmDQT?iwK5qh+iiOm#Cv2-@XUq2_T&C7 zr${0492$lG_h4voAO{DpkRb%Glq;C*0n(}s*5B7Enseoz0BuN2jNsVSe+y576H&3ikoz}n$nP(<`%DY)FLzu>E; zx-{b9d)9Dlif?F#gUoNn!No(#s=Xck4H$4zWJ!+g`jpu=@n>Eufj|Rf`xtIX* zf^CjVh?a?y=(%(8MFNKY>53x35u^BPRQrv4Mr_74oKUm$*3;gdu~2UGDAocr!h226 zg8_K#-Yp(3#tHsF)(9OM101xCU-0V;o7`WpBw>q8M zCI&1@$bV>MqT6zT;bU<4PZUo^V@D`b`WyG`C=YzazK-ank>-8>o#|GX%oT3=bgax- zpI@h?7n&*dp~~M8dTV6IkiQ3^Ej{s)TsyWO7ZF->5{GM{i^WnSf^}|`%mac{*mYw# zv5CMxKROAYLo)&k^S8XG{0GHqz8P>5H5Ti;3*t%)cE%*Tk^#Y8UI6!a;VBF;*yn~0 zxI}x&+|GoKKrl*~v>-Kdw*D>*4+MQne8JK6B^Q0(YgEa)VodmxuAi3|k!pV|a!2b< z*z)^Tl6KlB{hC)8gX08JEw{y{{D#6l%J@xOG5K+;0a&ieN>mf23fQpIL&FuwV0+fz zrDB`K_*>>^oOMd^uo7B}iI80|Xz1A4(-Cga8R}eVHRqMl^V(weUUOFTt}&0-J=RlM zA!e*lwOe>BT=BtD%nWLgLk_=Reje_K@{@=bvmGcB<8BRogc!MwYd5pmvS2j-VShNC z0Dbi1+xg|!KZFtuIE8OXcq6jiw8(juDCk89#f+|h*-M0B5sDO1iD_C(9$Lw~h!Q-o zKHc`8!r-<~j#!9!CTIGW$e6W(NR_^d(@`#fZ0iE|rd=Ya=qHWS)kehQrM4ua`~hUP z_r;*6OHk^b&A@=Mya;uO{TY@P@@M?%-G^`L=;wM}yv5{)f^VJXZCb8808g2~C6HH( zzka;qP_%uuFY%0X&Dj!uryP;;qGUvUBc`)txkC1M7b#;d_q$Ev9<8eXkwfem&Y0Dq z{$q^~yq*$J5GV;eOIt^m;*fLsA6Qf;U<5->;sR&#qd^+CBd^^gy~` zU;D-F8Wzk&h!~L}CWt!|wc4w;`f3j% zEB{Jm-mYJh#Ip|1r#YrkyP}eQ;~RV8=}{;0-?C$@m7lY>-h>=~32vHm;Hh`P*GRT$ z*3d;7j;Jg#>{V(QcN~|#)+QRXF{~LZ1$J}>eR+5~gYu#MQ%pe-8TQtR@m5hYO$R5N z8m1lL3gYte7)Q@cjNxKWVDMZ@_oW!6uZ&-wL&s~mqrY|Dn_pim#o(+r$~WHTM%GrW zwT8)YW9|V{-_5keuP&j(Ut}4Gj9gxOHn3e}JJuD+CT(u@Ir-6j%DIDgKNIyubOML` zZY;%IDh!Zf#hD$|W!ZN^pzqP^SInb6_%`B6UiWSzS{kBG6ss*=9+A7(efslf@Tyw2 zm13LxExVi;A(NEhCnc8xx?QqvX#Vp)W}55!T_)+G?Bn z+dI+TD(Ft#s{14DPoYc9=VAXm#43VU@6!$yZ`E8mc5e8^0vjTXziMdc&%{v!n6R4f zL`+Pq>tq&dlgQ$r(+swc*`Jv+4TrK*I0Hiyah03Gv12{HuwdI`ZJ6c-JQu8zN2MSl z=Toq4INR4j%URce%?~J%#*OH&vHU3O3v)8u-Md*Sod7Yt}wedH<~%ex9&%au6g`tqxXM&PYG`Y4PtC4?lCLBJZ2< zTn@O?owUM3kix&ukkg86&2EagWn4v_H$RDEdnpK5&hP}U+&*_4a?NvL&z=@^ria39 zSo^_oa0wag;CcONc9@i{J0$7n^Kdo1CbP{U%wPM6nk*4<<;wD`u3^U&1hM z+Po0P2^-|bh?VP{G`|JILxMwYG#zw1oW;$O3xDiNAzj6jq2ARVLzVUc@g~EU#VZ6L zwIdgJB)A~1JTux0B(JHkY1xEuu}^E$)zV|uA`uMixXo)y(-NC*4t_MR2?8@Fprask zJ{N_|mZQgj(`)+);#c{kkgAcmOXx2Kw`Rhg%*Km(&i$4ZdW$7Ns~yCxHS@KYmM(3% z#$c~t{JiV(dq;+wJWw1IzL}-O7`obD(F^f+?!-#L6#u3+i)?;60dN$h4Ac`g=pwJs z85tcn$J8!|_@wlmLZ{nIPJP%vi(+h}9(WAONIZjbfd=5*XfYEw5D^Iows`SxUTFJp zMJo%21+mFv96*-56f=>J|5c^uwgU3^HQ6MQC9CHPqzwy#rf8-3#rmvJ&ly*pAZpoGSB%T*y#M7#qv`9TRyF z*wqdOy1pM|DK!T6r0<_&rl0%f?@=N#xGTVU-=A^e_$DhVYx)Z4d{|~AFqFV|K6dvC zR0Q@j=Em~_;Xkq%t`5Rdk19-F0aPW!W9k1^KFo(y$&c_{;pI^N$5$tXd>L$pL->n8 zHOF)1F)yK5r9TXY9e~8|WzlzQso0I#DYqA+7y z((u@x+1s@aho|qdrET7{I^2XB>i>=r6q)m~0*@_;a34q@GjIVeNDx+dp?h2%#9Lz> z`<7023$bgkm=uBx=?0vjvx!4q&d@A^GmLm|cd4@T9()%>)k5*DnEPm?A;NH&A2P`7 z!3;Je9q$-LWJ?8VAc#sd;OhMp<8UGeg+-hbg_@10qSj2wIg)nYZ^i5RJSWLLHU!IR zwicwm3*)J-8)#oiZ!~g@WZexcq>{4`;jG&Z*9M=%a-!8QgJo7!7pR%hy>G*CD?n}^ zAqWkBy!4|6U(guBQ+~UN`Vp8hW9NM@>>@m--n2P*nRkixkxW+gBRexE(vMOk{F*`#qrQB#i&jFcq zgTCA&By=E!7(sbFc&PkpXY2to`oBtNv$TzdS!6}1P?Uuy-6 zdqllJd^hOR$Yo_)K`TNNEsk4zH>bVmdA?=|U(hV1Vx9h#>Cez*Bl1OV|8$A(l61Uu z`F%Bi#OsyltIA@9OyyCTWwqINZZ6kZ=P;X)|6SXhT)cH0Od8e)Q?|~sRY=3xsl+|5 z!ZV3bO{qB-G{LSeQIdYnOG<`nkyKq#7zlO1_tL&>ZW1wLqzo(={Tna32fW3zXUpX+ zdGQ-CyzcY-Q%tK%%)p8U-gdm-h*|w|>IMB}8kCF80fL%?X8!Jt183Y{;T6#Ee*J7= zptZvlXj5w$ZK{lR7_tZ{QQ1VwKCWQhc82W|Gr{0f@4br zbGZjSjhx8*50<=JpqYox#7E^tGfR&7u%I37Dt})9u4Q?6Bm7D8knK0mQxmP%B@RDp z$_zSpJQ;|FOXUdrfu7QtN)Hjp?7U&y2^Ad<4CZBnC+`YnZh=0JJ}V(pM+FiiqgzJ} z7RGX|2a24a174z^#{uw17MMRUMST%HG)@nF0)XYl4?P{r$EmS^Rit%eeT#$YQmk;; zVJc!DsHZoN>yG8WmR^@K>C_KNaZ+bFRFEX7-A~DgO;-+#&#v z%ZhCOpzra*VI~~GXOM@7{tP8POs-ag;OBya?}s%8^PF%x{+C+$JBzD`CW2lQ9*d3Y zKY31JI|+9rTn)#q5I73hI|s|Odj+M-uKYI8rEF> zQib2c3-m5$@d>Y3abDHpSrA<_Tj1Sv3%dX%mlTAsf}W%|(yQ1y70lh1Jva4fP?Oa@ z08FmLkN=?ai)Uwjo5T42J*A&|(D~;LN9P9(FXFsp1)_u<+8yl~6dV0gA_;4Da$_$#Y{RiVaxeFD0Kl3Gyc78)f?e`!X zg+HOW!mh1hPVPZ)(rCghYnS6Qxun%7ZxTCnml~AH!>1!0_jef11!^|zZ;z2MX+UBO z%4~n~X*PKvWNULdJEPy(Z3CM6Y~n7!E+@LXdbDNs74tbnKDMC#$)u*0CCS*K&#k$g|^ulh^j>#?z+q6jkT=l58jS;+{C$8S202<``?|UcXzHuRE z;!6GL?Qu18(NE#_*4RyV2tPBUIcfeBZ6raQCk(Fi{duagl*QVf!s3zjtrWe)Oml!$ zRD_=gv^qdT@w90PP~H$v9&d=yVIbIY7W{aOcau-+Eu(8Sb;e+n3?4gRv0*zmDo z)C!kXTVWVdkoS1!fX3AUzzgM?NM3eDc6309$cRQ{w1yLG-+6K>$g~i&CIIF%QsIn= zA<7e>{M_^)kWn++MCE?!8J9u^$t1|J%AwD_uJ~40*Gu~G;KZ)Jz_KNP z-0+uoU}28JQkYvjq}lM1W-PgXlR-M&1oi+Z*&KxTIs9lq{Dn{$!Jwoor*>JDAoPPd zTWGt~`2D*8abDIV#!wx@em;S(wH!z#^I3{;Z{0PHmO<$0&R#$(i8Sj(KZR|`Qt9dV zQJz|oeVPu|ka@ObtW#gm8IgOH1o;VrCU)f)aK`U7n!=7Do)=>5ug_*> z#V}o&@SE9v_+?H2#_p@1A_ZBc_h-2ctgN21|DL15^P?{4zrot|hU2Zeb**DjjJALz zq9IgJL|%{SAmWErYK%))whbL%qUkrV|7bv|Mp4K_!x;`nGp>BoHQN`V|s*cD)S6aqr0L z%bVi?IA1d}Agvj0qrayc!UAc?9lbrTF3R)cFsJ_sYy=Rp(3p=Kj4>isd0v>=TNiF9 zN4@_^K}EZC^uizi3N_jrgil?56zWj-Qy;Fd;vpG6*^TRB!59vvsb%Rba-?M?nzsEW z3hgv7ju{Nee#t#dZMTvbVJU8`$qH;?#^m1jIF;zMiyw%5Wc=u)Ei`NA*Q+WXNLqnU zFj@dsnOVb}Hee(^j@|^4IDhF&-miRkL)DSvsvwU7WEoH_Z#B;sT$8Md0_LtE*Fe*~(^Sz^fZUSWOm=);rs*UYe62KQ`hp!%@D;4~}< zto;>IwW$E#trYa@n3y-Kn-?d@Y|RPOLnfCPBc8Ul!{4&Z;hu2yi(#(7j=lAuoPOdF z|EvUO`81oMk7e*SByE^87cB7ojBeSH+Ge}!+F;I4+IfShFt~UYrBU+`azd82GKfh*aH-DMpcegLj2RD=rA5 zS*D-x!)=F8WY6>NYdID}>sP;(FTG{^co8fk9E*6|=iDGF0|&uhYA^0@Q)a*io0U2x z#nZF9UVjBkkQqGBr1Y$~=!8>4iShr!<5okR?%Pz{&5=Wn&y42*2FQW*_zq|KRG#yhqpLf zh;Halx@_%}5ZVZ9OQzb|VhqLls@RqJs@QdY#L#*hzRr5BiK=I}1KuGee7W;y61`4b zZy-{QhrdDn?VC0!o*!GnfILR^Qu~MVd%8QVI}6|Q+=Ok>_!|&1m7!7WBd;>j`uS05 zc;w&3KMEM05yb&sU!*}S#kw7V4upzVsA1TlrPvG{6Z+w%`qGh5gUin6FvGy4y!=6- zGqs1v$GltUw|fz6D@7M<){U5A8-x294YdpFfagK1knQGL`tWFjfMnE3#%D6k7B&7JXY<}9dxVkYKs zdBIo04H;q3(cj{Ty>#jE`N614QJxG|SwzX_a}8=QbsT5(<+xNI&Y!qC$L)xoY3f`O z8`m_Hm;Dy#k^b=Sb8DM08k@8!Qquf*KT@m6;p@}d;VJUM(QeR>7VD-zO=8!Vco8>| z=oqpV0~#_bRg)dfn~Cl`aD*)$rL+cpq(3|iVg_-f_lDA0{-EatNXaqj(M6HBnD+Tr z)V)--2+gwUjG%{tKbf5t=@md={?~&Juc7m0KVhKp%HeDw(!Hm^pnvpVEf1tyv{aZO zW4_ol?KkcFHnhCYAq$)SOE$Q#eNvYC>?}a+|}OB3Zpv@ec&!%8N7*d zP+9FG)W6nYM4JtK30=3z?&TEy%kIup#mI}8SQI+IJV)fwl2}#g9<4Slh7)?>7U<`p zxPm|pK}zI7o_yYK^FN~8NWoZ(P@zThMb$}@rDgws*0=gl#=qF(H$N|Ian`T7FEsKx zw>B)zFT9@GY>8wX$}Pd?dK7@>n9y^ab^~Q~^5_-7i9;BbSttsXQdiW#ig9-XNvb}- z0#;tPi!C}@G&bIM1~qT2xfhbxkb5k92Mc>}(o-Y~+dNO%K7KA5f!i4y)^Ksl(&9T} z08LCNp7)(4=|0v@{r!z!bD{ zz2Yu(jqIw>cJW2(&LmNEuhNxw?jrC9(<_?%nE zEb`?){qGgZWUZ5*^`ztW!)KaG`p2j99}N4RK+8^t$9Ha^Z$nqh`oyJYh;l;yM3T)` z&6Ndj*eltH8a=4gAF0dCW*^?W%nd_l3qtEBnlMNs1KZ3^PPEW<{WD<|8X1&^3))3f z*?x`u?b15=1sXl~+jDKv1h}*Ht6$RjNEMwYRd1(UFIldz2N*f#mb0Fr3PZ=eebiY1 zcgQ<`erR73ikGbTRDN9aSOGD?aPdN7FW^ht2F;d$_+Mp(cLHlVhKr%nY!!X&jjn^t zM{#-g$`}|PL>+zEdqDC+y*DKbK(9+yxUgcGXQp?q-mn1EqeY=p`0r7I^r6AF7=vkD zyhaudj5darw*7~4gx1U!W{X8eK|354aC8v$n!bW+rwiCk4*N5bolB}q_&8-HiB(!V zSHUKKAxUzvR;wPVrT*rwFls{k;-R0WnHOhHQEq_8jWe(kydMi}^jeyqWoNOg3u(vW ze*dIVbI&1d8XHdA8arc*XTQD;3X?GSUut?fi<&8ngMd2YD zkj9N>sR5Vg0W(fZ!_!Lv+quK#OCH}tXRS(PkX2m1bH*)Aa}c4qxM8W~BQj`##jDk! zEu)+H)KxyH^<@3Vi1Z^lyKM-oe!+~L)2EpEe`*YM3!=QO79!>HpetPc;U&E*d!tWT zu7qJ5=6+ZQm#cz0SZhyi^hRAUcOm^S0lN#!^SZKtnCNRzC+CrG1ua4}HgyZ-G=RFB zH$!i|RVoTyz+&3WK!vbiCh-9Si4T3vQG4+x7CdqyXF*+jg; z;#crP(uYu&md6&ull~F7un0PV_id>!Y6A2)UEQ!znlHuLp566BdCxKx!P0-&J4IE# zgF6uhju;kKIQoJXQqqz6&CVN2&^!38IK)lZ(&?1_(rTKW{{Wo?RO;MSZX^tp^Rslv zSObx-otyi_u1hKN90~bUrENNwS!G+~Ca79?yx=ZWM1Jla2wLOj1dB&548M>JV>1$e z6%5Fb=^&Z;q9NMNA8ueRRRd@jJFdokV_Y$}8sHfo{O&)Yn*dz42W!)&n9|FaoOm1~z9KK(s5Nm9@9EYkm z11J!7$@N^1={HtK3GT7KC{TKmM<64@B6pSZ<5@VdyY>WTF#99g5msAu85xv|>IVgg zt;W+sMwBuPJwTcxNpsmr8My6NN~;b7XUA>j)m+I=e1yv<(C7%A@3SiSvKF=gZ;67pE7uILGCq=3%rDJ zKP1#6#&>jJI6?`TCob;_ZCyO~R{qu3ERu}Sar_K7hQB9J2sTz}$!fMh`5ENCCIBO~ z_L_(-^k7@9pTkn}UOaujfvVb^!ef8cnlPF3O8nX9sn4sttzy}zc;90!Aw(7wLJwy_ zWwU&Ur1HQ=eC%x@83UR@f3Vax6q0GcnO6A<`Cvj5bq4sc-=dEiz#yNvT+>z3@w$!6 zhv4=>A)b4?#WJP2hj5)mL&vMOLX-&{LKg0L;rzcAQLc3{jL^01cV&+lF~rt7s~YUT zlMr6G{)5D-3!ym%7776s<+*vks5PPtX%;o_J_hT-F1E3Mp7Pi2*oxgDq-E>aRJi;q zDKv9i4RME=Q<}uM&so{Lym#9%6K728x(O+-r4`fheE2-9H4x+8{+c;P1qdPqBk|bi zZzo8TQU7rbL8f?IojX2V3I3RA#KS@?THgs~)*6c{S2d^X1fw=$ii58f0@A3lJ;Z(# zO1YDzFcmpe{XlXVelv_X@2(4*rW^)zT##9s%>C69R9T+OCj7jfGee|8$Nd}6_sUx# zek57QAE{~p5-u-PMmP7g|D&BiYSEi#yzqRty{v#N+{Xrf_hVOC-`J z^f#w#MSS(hL>{cl5H6wgQy{WJ`lX=<7l=R`4*N*8&q$C7!ex1gzhAaytTTKkUlzA@ z^?)mWzRGS1Kl`!OvEwX1Kfs0GWzRjWP?T<8F7Vr+2YS){3VMS`~I|yOcuA9WB~PJ Zdw*$6`q77AS%Clm002ovPDHLkV1g}6_Ll$v literal 0 HcmV?d00001 diff --git a/www/tests/unit/adapters/application-test.js b/www/tests/unit/adapters/application-test.js new file mode 100644 index 0000000..f0a2101 --- /dev/null +++ b/www/tests/unit/adapters/application-test.js @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('adapter:application', 'Unit | Adapter | application', { + // Specify the other units that are required for this test. + // needs: ['serializer:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + let adapter = this.subject(); + assert.ok(adapter); +}); diff --git a/www/tests/unit/helpers/format-difficulty-test.js b/www/tests/unit/helpers/format-difficulty-test.js deleted file mode 100644 index 6f8f57c..0000000 --- a/www/tests/unit/helpers/format-difficulty-test.js +++ /dev/null @@ -1,12 +0,0 @@ - -import { formatDifficulty } from 'open-social-pool/helpers/format-difficulty'; -import { module, test } from 'qunit'; - -module('Unit | Helper | format difficulty'); - -// Replace this with your real tests. -test('it works', function(assert) { - let result = formatDifficulty([42]); - assert.ok(result); -}); - diff --git a/www/tests/unit/helpers/worker-colorizer-test.js b/www/tests/unit/helpers/worker-colorizer-test.js deleted file mode 100644 index 4fa1d37..0000000 --- a/www/tests/unit/helpers/worker-colorizer-test.js +++ /dev/null @@ -1,12 +0,0 @@ - -import { workerColorizer } from 'open-social-pool/helpers/worker-colorizer'; -import { module, test } from 'qunit'; - -module('Unit | Helper | worker colorizer'); - -// Replace this with your real tests. -test('it works', function(assert) { - let result = workerColorizer([42]); - assert.ok(result); -}); - diff --git a/www/tests/unit/helpers/worker-earnperday-test.js b/www/tests/unit/helpers/worker-earnperday-test.js deleted file mode 100644 index 224ebbb..0000000 --- a/www/tests/unit/helpers/worker-earnperday-test.js +++ /dev/null @@ -1,12 +0,0 @@ - -import { workerEarnperday } from 'open-social-pool/helpers/worker-earnperday'; -import { module, test } from 'qunit'; - -module('Unit | Helper | worker earnperday'); - -// Replace this with your real tests. -test('it works', function(assert) { - let result = workerEarnperday([42]); - assert.ok(result); -}); - diff --git a/www/tests/unit/serializers/chart-test.js b/www/tests/unit/serializers/chart-test.js new file mode 100644 index 0000000..d6cbad0 --- /dev/null +++ b/www/tests/unit/serializers/chart-test.js @@ -0,0 +1,15 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('chart', 'Unit | Serializer | chart', { + // Specify the other units that are required for this test. + needs: ['serializer:chart'] +}); + +// Replace this with your real tests. +test('it serializes records', function(assert) { + let record = this.subject(); + + let serializedRecord = record.serialize(); + + assert.ok(serializedRecord); +}); diff --git a/www/tests/units/charts/difficulty-test.js b/www/tests/units/charts/difficulty-test.js new file mode 100644 index 0000000..b702ff3 --- /dev/null +++ b/www/tests/units/charts/difficulty-test.js @@ -0,0 +1,20 @@ +import { + moduleForComponent, + test +} from 'ember-qunit'; + +moduleForComponent('difficulty', 'difficulty', { + needs: [ 'component:high-charts' ] +}); + +test('it renders', function(assert) { + assert.expect(2); + + // creates the component instance + let component = this.subject(); + assert.equal(component._state, 'preRender'); + + // appends the component to the page + this.render(assert); + assert.equal(component._state, 'inDOM'); +}); diff --git a/www/translations/ar-sa.yaml b/www/translations/ar-sa.yaml deleted file mode 100644 index c2c0ed0..0000000 --- a/www/translations/ar-sa.yaml +++ /dev/null @@ -1,159 +0,0 @@ -general: - direction: rtl -calculator: - title: كم ممكن تربح? - close: سكر الباب وراك -menu: - home: الرئيسية - help: مساعدة - calculator: الحاسبة - pool_blocks: حزم المجمع - payments: المدفوعات - miners: المعدنين - about: حول - i18n: - about: about - help: help - language: اللغة - -lang: - arabic: عربي - english: English - -home: - min_payout_threshold: الحد الأدنى للدفع - payouts_run: كل {interval}. - payout_scheme_detail: دفع فوري بنظام PPLNS. - miners_online: معدنين متصلين - pool_hashrate: سرعة معالجة المجمع - pool_fee: رسوم المجمع - last_block_found: آخر حزمة تم إيجادها - network_difficulty: صعوبة الشبكة - network_hashrate: سرعة معالجة الشبكة - blockchain_height: إرتفاع سلسلة الحزم - current_round_variance: تباين الجولة الحالية - query_history: إحصائياتك وسجل مدفوعاتك - input: - enter_your_wallet_address: أدخل رقم محفظتك - button: - lookup: بحث - help: - minimal: help-minimal - settings: - difficulty: (الصعوبة {diff} بليون) - help: إضغط للمساعدة - title: جهاز {hashes} MH/s - stratum_mining: رابط الـStratum - commands: - windows: Windows - smos: SimpleMining - windows_instruction: أضف هذا لملف الـbat الخاص بك - smos_instruction: أضف هذه الإعدادات لـ Rig Group - -account: - immature: - balance: الرصيد الغير جاهز - description: رصيد مبدئي بإنتظار تأكيد الحزمة - pending: - balance: الرصيد المعلق - description: رصيد بإنتظار عملية الدفع. - current: الدفع الحالي - last_share_submitted: آخر حصة مرسلة - online: أجهزة متصلة - hashrate: سرعة المعالجة - earnings: - miner: الأرباح اليومية (3h معدل) - worker: أرباح / يوم (معدل قصير) - blocks: - found: الحزم المعدنة - total: - payments: إجمالي المدفوعات - paid: إجمالي ماتم دفعه - round_share: حصتك في الجولة - round_share_description: نسبة مشاركتك في مجمع التعدين. - epoch_switch: تبديل العهد - workers: أجهزة - payouts: مدفوعات - - your_workers: الأجهزة - server: الخادم - difficulty: الصعوبة - last_share: آخر ظهور - short_average: غير دقيق, معدل قصير - short_average_abbrv: 30m - long_average: دقيق, معدل طويل - long_average_abbrv: 3h - no_workers_online: لايوجد أجهزة متصلة - notice: تنويه - notice_html: سيتم إعادة ضبط سرعة معالجتك بسلاسة إلى أن يكون لديك حصص كافية لتدقيق الحساب.
هناك فترتين حساب, قصيرة, وطويلة, القصيرة مدتها 30 دقيقة تقريبا, والطويلة 3 ساعات.
الأجهزة الميتة (الغير متصلة) سيتم تمييزها في الجدول إذا لم تقم بإرسال حصص خلال نصف وقت المدة القصيرة, أي 15 دقيقة, لتسهل عليك صيانتها - json_api_url: رابط إحصائياتك بصيغة JSON - -payout: - latest_payouts: آخر مدفوعاتك - time: الوقت - txid: رقم العملية - amount: القيمة - no_payouts_yet: لايوجد مدفوعات حتى الآن - -block: - pool_rewards: يقوم المجمع دائماً بدفع مكافأة الحزمة كاملة شاملة رسوم الحوالة ومكافأة uncle - pool_notice: - html: يتطلب تأكيد الحزمةحتى {success} حزمة. وبالعادة أقل من ذلك. - blocks: الحزم - immature: غير مؤكدة - new: الحزم الجديدة - orphan: غير محسوبة - no_matured_blocks_yet: لايوجد حزم مؤكدة حتى الآن - reward: المكافأة - height: الإرتفاع - hash: هاش - time_found: وقت الإيجاد - variance: تباين الحصص (حصة/صعوبة) - matured: حزم مؤكدة - immature_blocks: حزم غير مؤكدة - no_immature_blocks_yet: لايوجد حزم غير مؤكدة حتى الآن - no_new_blocks_yet: لايوجد حزم حتى الآن - recently_found_blocks: الحزم التي تم إيجادها مؤخراً - -luck: - blocks: الحزم - shares_diff: الحصة/الصعوبة - uncle_rate: معدل Uncle - orphan_rate: معدل الغير محسوب - -payments: - pay_tx: يقوم المجمع بدفع رسوم الحوالة من رصيده الخاص. - total_payments_sent: إجمالي المدفوعات المرسلة - latest_payouts: آخر المدفوعات - time: الوقت - amount: المبلغ - address: العنوان - txid: رقم الحوالة - no_payouts_yet: لايوجد مدفوعات حتى الآن - -miners: - total_hashrate: إجمالي سرعة معالجة المجمع - total_miners: إجمالي المعدنين - login: العنوان - hashrate: سرعة المعالجة - last_beat: آخر ظهور - no_miners: لايوجد معدنين - miners: المعدنين - -wallet: - dapp_html:
https://ethereum.org/ - online_html: https://www.myetherwallet.com Online wallet at myetherwallet.com - -errors: - header: الموقع متوقف مؤقتاً - message: بالعادة هذه مشكلة مؤقتة والتعدين لا يتأثر. - -links: - blockExplorerLink: 'https://etc1.trezor.io/' - blockExplorerLink_tx: 'https://etc1.trezor.io/tx/' - blockExplorerLink_uncle: 'https://etc1.trezor.io/uncle/' - blockExplorerLink_block: 'https://etc1.trezor.io/block/' - blockExplorerLink_address: 'https://etc1.trezor.io/address/' - -footer: - copyrights: '© Brought to you.' diff --git a/www/translations/en-us.yaml b/www/translations/en-us.yaml index 709a349..5c7ef82 100644 --- a/www/translations/en-us.yaml +++ b/www/translations/en-us.yaml @@ -1,159 +1,5 @@ -general: - direction: ltr -calculator: - title: How much are you gonna earn? - close: Close the door behind -menu: - home: Home - help: Help - pool_blocks: Blocks - calculator: Calculator - payments: Payments - miners: Miners - about: About - i18n: - about: about - help: help - language: language - -lang: - english: English - -home: - min_payout_threshold: Min. payout threshold - payouts_run: every {interval}. - payout_scheme_detail: Real time PPLNS payout scheme. - miners_online: Miners Online - pool_hashrate: Pool Hash Rate - pool_fee: Pool Fee - last_block_found: Last Block Found - network_difficulty: Network Difficulty - network_hashrate: Network Hash Rate - blockchain_height: Blockchain Height - current_round_variance: Current Round Variance - query_history: Your Stats and Payment History - input: - enter_your_wallet_address: Enter Your Wallet Address - button: - lookup: Lookup - help: - minimal: help-minimal - settings: - difficulty: (difficulty {diff} billion) - help: CLICK FOR HELP - title: WORKER {hashes} MH/s - stratum_mining: Stratum Mining - commands: - windows: Windows - smos: SimpleMining - windows_instruction: Add this to your bat file - smos_instruction: Add this into your new Rig Group - -account: - immature: - balance: Immature Balance - description: Preliminary balance awaiting blocks to mature. - pending: - balance: Pending Balance - description: Credited coins awaiting payout. - current: Current Payment - last_share_submitted: Last Share Submitted - online: Workers Online - hashrate: Hashrate - earnings: - miner: Earnings per day (3h avg) - worker: Earnings / day (short avg) - blocks: - found: Blocks Found - total: - payments: Total Payments - paid: Total Paid - round_share: Your Round Share - round_share_description: Percent of your contribution to current round. - epoch_switch: Epoch Switch - workers: Workers - payouts: Payouts - - your_workers: Workers - server: Server - valid: valid - difficulty: Difficulty - last_share: Last Seen - short_average: rough, short average - short_average_abbrv: 30m - long_average: accurate, long average - long_average_abbrv: 3h - no_workers_online: No workers online - notice: Notice - notice_html: Your average hashrate will be smoothly adjusted until you have shares to fullfill estimation window.
There are two windows, long and short, first is equal to about 30 minutes and long window is usually equal to 3 hours.
Dead (sick) workers will be highlighted in a table of workers if they didn't submit a share for 1/2 of short window, so you can perform maintenance of your rigs. - json_api_url: Your bulk stats JSON API URL - -payout: - latest_payouts: Your Latest Payouts - time: Time - txid: Tx ID - amount: Amount - no_payouts_yet: No payouts yet - -block: - pool_rewards: This pool always pays the full block reward including TX fees and uncle rewards. - pool_notice: - html: Block maturity requires up to {success} blocks. Usually it's less indeed. - blocks: Blocks - immature: Immature - new: New Blocks - orphan: Orphan - no_matured_blocks_yet: No matured blocks yet - reward: Reward - height: Height - hash: Hash - time_found: Time Found - variance: Share Variance (Shares/Diff) - matured: Matured Blocks - immature_blocks: Immature Blocks - no_immature_blocks_yet: No immature blocks yet - no_new_blocks_yet: No new blocks yet - recently_found_blocks: Recently Found Blocks - -luck: - blocks: Blocks - shares_diff: Shares/Diff - uncle_rate: Uncle Rate - orphan_rate: Orphan Rate - -payments: - pay_tx: This pool pays transaction fees from it's own pocket! - total_payments_sent: Total payments sent - latest_payouts: Latest Payouts - time: Time - amount: Amount - address: Address - txid: Tx ID - no_payouts_yet: No payouts yet - -miners: - total_hashrate: Total pool hashrate - total_miners: Total miners - login: Login - hashrate: Hashrate - last_beat: Last beat - no_miners: No miners - miners: Miners - -wallet: - dapp_html: https://ethereum.org/ - online_html: https://www.myetherwallet.com Online wallet at myetherwallet.com - -errors: - header: Stats API Temporarily Down - message: Usually it's just a temporal issue and mining is not affected. - -links: - blockExplorerLink: 'https://etc1.trezor.io/' - blockExplorerLink_tx: 'https://etc1.trezor.io/tx/' - blockExplorerLink_uncle: 'https://etc1.trezor.io/uncle/' - blockExplorerLink_block: 'https://etc1.trezor.io/block/' - blockExplorerLink_address: 'https://etc1.trezor.io/address/' - -footer: - copyrights: '© Brought to you by Esprezzo.io' +product: + info: '{product} will cost {price, number, USD} if ordered by {deadline, date, time}' + title: 'Hello world!' + html: + info: '{product} will cost {price, number, USD} if ordered by {deadline, date, time}'