From dac0f40296a8de6d85101346666ccdd39723b203 Mon Sep 17 00:00:00 2001 From: "Juhil Dungrani (dungranij)" Date: Sat, 26 Dec 2020 19:40:27 +0000 Subject: [PATCH] Shifted to private accounts --- README.md | 4 +- index.js | 34 + jsdoc.conf | 22 + modules/accounts.js | 74 + modules/newsinfo.js | 58 + package-lock.json | 9676 ++++++++++++++++++++++++++++++++++++ package.json | 46 + public/avatars/avatar.jpg | Bin 0 -> 23711 bytes public/avatars/avatar.png | Bin 0 -> 56968 bytes public/favicon.ico | Bin 0 -> 15406 bytes public/favicon1.ico | Bin 0 -> 5430 bytes public/images/1.jpg | Bin 0 -> 3525 bytes public/images/11.jpg | Bin 0 -> 24481 bytes public/images/avatar.jpg | Bin 0 -> 23711 bytes public/main.js | 22 + public/style.css | 249 + routes/news.js | 48 + routes/public.js | 87 + routes/routes.js | 15 + setup.sh | 46 + unitTests/test-accounts.js | 112 + views/details.handlebars | 32 + views/error.handlebars | 20 + views/index.handlebars | 45 + views/login.handlebars | 39 + views/news.handlebars | 41 + views/register.handlebars | 40 + 27 files changed, 10708 insertions(+), 2 deletions(-) create mode 100644 index.js create mode 100644 jsdoc.conf create mode 100644 modules/accounts.js create mode 100644 modules/newsinfo.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/avatars/avatar.jpg create mode 100644 public/avatars/avatar.png create mode 100644 public/favicon.ico create mode 100644 public/favicon1.ico create mode 100644 public/images/1.jpg create mode 100644 public/images/11.jpg create mode 100644 public/images/avatar.jpg create mode 100644 public/main.js create mode 100644 public/style.css create mode 100644 routes/news.js create mode 100644 routes/public.js create mode 100644 routes/routes.js create mode 100644 setup.sh create mode 100644 unitTests/test-accounts.js create mode 100644 views/details.handlebars create mode 100644 views/error.handlebars create mode 100644 views/index.handlebars create mode 100644 views/login.handlebars create mode 100644 views/news.handlebars create mode 100644 views/register.handlebars diff --git a/README.md b/README.md index 21a80b7..b253cc7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# BlogSpot -This is 5001 CEM Coursework +# dungranij-sem1 +my topic is news (SID - 9963148) diff --git a/index.js b/index.js new file mode 100644 index 0000000..8daa529 --- /dev/null +++ b/index.js @@ -0,0 +1,34 @@ + +import Koa from 'koa' +import serve from 'koa-static' +import views from 'koa-views' +import session from 'koa-session' + +import router from './routes/routes.js' + +const app = new Koa() +app.keys = ['darkSecret'] + +const defaultPort = 8080 +const port = process.env.PORT || defaultPort + +async function getHandlebarData(ctx, next) { + console.log(`${ctx.method} ${ctx.path}`) + ctx.hbs = { + authorised: ctx.session.authorised, + host: `https://${ctx.host}` + } + for(const key in ctx.query) ctx.hbs[key] = ctx.query[key] + await next() +} + +app.use(serve('public')) +app.use(session(app)) +app.use(views('views', { extension: 'handlebars' }, {map: { handlebars: 'handlebars' }})) + +app.use(getHandlebarData) + +app.use(router.routes()) +app.use(router.allowedMethods()) + +app.listen(port, async() => console.log(`listening on port ${port}`)) diff --git a/jsdoc.conf b/jsdoc.conf new file mode 100644 index 0000000..663da37 --- /dev/null +++ b/jsdoc.conf @@ -0,0 +1,22 @@ + +{ + "tags": { + "allowUnknownTags": true, + "dictionaries": ["jsdoc","closure"] + }, + "source": { + "include": [ "." ], + "exclude": [ "node_modules", "routes" ], + "includePattern": ".+\\.js(doc|x)?$", + "excludePattern": "(^|\\/|\\\\)_" + }, + "plugins": ["jsdoc-route-plugin"], + "templates": { + "cleverLinks": false, + "monospaceLinks": false + }, + "opts": { + "destination": "docs/jsdoc", + "recurse": true + } +} diff --git a/modules/accounts.js b/modules/accounts.js new file mode 100644 index 0000000..812a588 --- /dev/null +++ b/modules/accounts.js @@ -0,0 +1,74 @@ + +/** @module Accounts */ + +import bcrypt from 'bcrypt-promise' +import sqlite from 'sqlite-async' + +const saltRounds = 10 + +/** + * Accounts + * ES6 module that handles registering accounts and logging in. + */ +class Accounts { + /** + * Create an account object + * @param {String} [dbName=":memory:"] - The name of the database file to use. + */ + constructor(dbName = ':memory:') { + return (async() => { + this.db = await sqlite.open(dbName) + // we need this table to store the user accounts + const sql = 'CREATE TABLE IF NOT EXISTS users\ + (id INTEGER PRIMARY KEY AUTOINCREMENT, user TEXT, pass TEXT, email TEXT);' + await this.db.run(sql) + return this + })() + } + + /** + * registers a new user + * @param {String} user the chosen username + * @param {String} pass the chosen password + * @param {String} email the chosen email + * @returns {Boolean} returns true if the new user has been added + */ + async register(user, pass, email) { + Array.from(arguments).forEach( val => { + if(val.length === 0) throw new Error('missing field') + }) + let sql = `SELECT COUNT(id) as records FROM users WHERE user="${user}";` + const data = await this.db.get(sql) + if(data.records !== 0) throw new Error(`username "${user}" already in use`) + sql = `SELECT COUNT(id) as records FROM users WHERE email="${email}";` + const emails = await this.db.get(sql) + if(emails.records !== 0) throw new Error(`email address "${email}" is already in use`) + pass = await bcrypt.hash(pass, saltRounds) + sql = `INSERT INTO users(user, pass, email) VALUES("${user}", "${pass}", "${email}")` + await this.db.run(sql) + return true + } + + /** + * checks to see if a set of login credentials are valid + * @param {String} username the username to check + * @param {String} password the password to check + * @returns {Boolean} returns true if credentials are valid + */ + async login(username, password) { + let sql = `SELECT count(id) AS count FROM users WHERE user="${username}";` + const records = await this.db.get(sql) + if(!records.count) throw new Error(`username "${username}" not found`) + sql = `SELECT pass FROM users WHERE user = "${username}";` + const record = await this.db.get(sql) + const valid = await bcrypt.compare(password, record.pass) + if(valid === false) throw new Error(`invalid password for account "${username}"`) + return true + } + + async close() { + await this.db.close() + } +} + +export default Accounts diff --git a/modules/newsinfo.js b/modules/newsinfo.js new file mode 100644 index 0000000..688aab9 --- /dev/null +++ b/modules/newsinfo.js @@ -0,0 +1,58 @@ + + +import sqlite from 'sqlite-async' + + +class newsinfo { + + + constructor(dbName = ':memory:') { + return (async() => { + this.db = await sqlite.open(dbName) + //table to store user account + const sql ='CREATE TABLE IF NOT EXISTS newsinfo(\ + id INTEGER PRIMARY KEY AUTOINCREMENT,\ + userid INTEGER,\ + title TEXT,\ + headline TEXT,\ + lastAdded INTEGER,\ + FOREIGN KEY(userid) REFERENCES users(id)\ + );' + await this.db.run(sql) + return this + })() + } + + + async all() { + const sql ='SELECT users.user, newsinfo.* FROM newsinfo, users\ + WHERE newsinfo.userid = users.id;' + const newsinfo = await this.db.all(sql) + for (const index in newsinfo) { + if (newsinfo[index].photo === null ) newsinfo[index].photo === 'avatar.jpg' + const dateTime = new Date(newsinfo[index].lastAdded) + const date = `${dateTime.getDate()}/${dateTime.getMonth()+1}/${dateTime.getFullYear()}` + newsinfo[index].lastAdded = date + } + return newsinfo + } + async getByID(id) { + try{ + const sql = `SELECT users.user, newsinfo.* FROM newsinfo, users\ + WHERE newsinfo.userid = users.id AND newsinfo.id = ${id};` + console.log(sql) + const newsinfo =await this.db.get(sql) + if(newsinfo.photo === null) newsinfo.photo = 'avatar.jpg' + const dateTime = new Date(newsinfo.lastAdded ) + const date = `${dateTime.getDate()}/${dateTime.getMonth()+1}/${dateTime.getFullYear()}` + newsinfo.lastAdded = date + return newsinfo + } catch(err) { + console.log(err) + throw err + } + } + +} + +export default newsinfo diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..bea618b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,9676 @@ +{ + "name": "10_auth", + "version": "1.1.3", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", + "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", + "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", + "dev": true, + "requires": { + "@babel/types": "^7.12.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dev": true, + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz", + "integrity": "sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==", + "dev": true, + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", + "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "dev": true + }, + "@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/highlight": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", + "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.9.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz", + "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==", + "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" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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/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.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", + "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", + "dev": true + } + } + }, + "@babel/traverse": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz", + "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", + "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", + "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + } + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@concordance/react": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@concordance/react/-/react-2.0.0.tgz", + "integrity": "sha512-huLSkUuM2/P+U0uy2WwlKuixMsTODD8p4JVQBI4VKeopkiN0C7M3N9XYVawb4M+4spN5RrO/eLhk7KoQX6nsfA==", + "dev": true, + "requires": { + "arrify": "^1.0.1" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + } + } + }, + "@eslint/eslintrc": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz", + "integrity": "sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, + "@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + } + } + }, + "@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "dependencies": { + "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 + } + } + }, + "@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + }, + "dependencies": { + "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 + } + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + } + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/babel__core": { + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", + "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.16", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.16.tgz", + "integrity": "sha512-S63Dt4CZOkuTmpLGGWtT/mQdVORJOpx6SZWGVaP56dda/0Nx5nEe82K7/LAm8zYr6SfMq+1N2OreIOrHAx656w==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "@types/formidable": { + "version": "1.0.31", + "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.31.tgz", + "integrity": "sha512-dIhM5t8lRP0oWe2HF8MuPvdd1TpPTjhDMAqemcq6oIZQCBQTovhBAdTQ5L5veJB4pdQChadmHuxtB0YzqvfU3Q==", + "requires": { + "@types/events": "*", + "@types/node": "*" + } + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@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 + }, + "@types/node": { + "version": "13.13.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.2.tgz", + "integrity": "sha512-LB2R1Oyhpg8gu4SON/mfforE525+Hi/M1ineICEDftqNVTyFg1aRIeGuTvXAoWHc4nbrFncWtJgMmoyRvuGh7A==" + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/prettier": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz", + "integrity": "sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.10", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.10.tgz", + "integrity": "sha512-z8PNtlhrj7eJNLmrAivM7rjBESG6JwC5xP3RVk12i/8HVP7Xnx/sEmERnRImyEuUaJfO942X0qMOYsoupaJbZQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "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==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", + "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", + "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "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" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "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==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "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 + }, + "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 + }, + "arrgv": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arrgv/-/arrgv-1.0.2.tgz", + "integrity": "sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==", + "dev": true + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "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 + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "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 + }, + "ava": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/ava/-/ava-3.13.0.tgz", + "integrity": "sha512-yzky+gark5PdsFFlZ4CnBVxm/OgBUWtn9vAsSSnuooVJNOk5ER17HJXVeUzy63LIt06Zy34oThcn+2ZqgMs7SA==", + "dev": true, + "requires": { + "@concordance/react": "^2.0.0", + "acorn": "^8.0.1", + "acorn-walk": "^8.0.0", + "ansi-styles": "^4.2.1", + "arrgv": "^1.0.2", + "arrify": "^2.0.1", + "callsites": "^3.1.0", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "chunkd": "^2.0.1", + "ci-info": "^2.0.0", + "ci-parallel-vars": "^1.0.1", + "clean-yaml-object": "^0.1.0", + "cli-cursor": "^3.1.0", + "cli-truncate": "^2.1.0", + "code-excerpt": "^3.0.0", + "common-path-prefix": "^3.0.0", + "concordance": "^5.0.1", + "convert-source-map": "^1.7.0", + "currently-unhandled": "^0.4.1", + "debug": "^4.2.0", + "del": "^6.0.0", + "emittery": "^0.7.1", + "equal-length": "^1.0.0", + "figures": "^3.2.0", + "globby": "^11.0.1", + "ignore-by-default": "^2.0.0", + "import-local": "^3.0.2", + "indent-string": "^4.0.0", + "is-error": "^2.2.2", + "is-plain-object": "^5.0.0", + "is-promise": "^4.0.0", + "lodash": "^4.17.20", + "matcher": "^3.0.0", + "md5-hex": "^3.0.1", + "mem": "^6.1.1", + "ms": "^2.1.2", + "ora": "^5.1.0", + "p-event": "^4.2.0", + "p-map": "^4.0.0", + "picomatch": "^2.2.2", + "pkg-conf": "^3.1.0", + "plur": "^4.0.0", + "pretty-ms": "^7.0.1", + "read-pkg": "^5.2.0", + "resolve-cwd": "^3.0.0", + "slash": "^3.0.0", + "source-map-support": "^0.5.19", + "stack-utils": "^2.0.2", + "strip-ansi": "^6.0.0", + "supertap": "^1.0.0", + "temp-dir": "^2.0.0", + "trim-off-newlines": "^1.0.1", + "update-notifier": "^4.1.1", + "write-file-atomic": "^3.0.3", + "yargs": "^16.0.3" + }, + "dependencies": { + "acorn": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", + "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", + "dev": true + }, + "acorn-walk": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.0.tgz", + "integrity": "sha512-oZRad/3SMOI/pxbbmqyurIx7jHw1wZDcR9G44L8pUVFEomX/0dH89SrM1KaDXuv1NpzAXz6Op/Xu/Qd5XXzdEA==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.1.tgz", + "integrity": "sha512-rcvHOWyGyid6I1WjT/3NatKj2kDt9OdSHSXpyLXaMWFbKpGACNW8pRhhdPUq9MWUOdwn8Rz9AVETjF4105rZZQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.2.tgz", + "integrity": "sha512-CkwaeZw6dQgqgPGeTWKMXCRmMcBgETFlTml1+ZOO+q7kGst8NREJ+eWwFNPVUQ4QGdAaklbqCZHH6Zuep1RjiA==", + "dev": true + }, + "yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-6+nLw8xa9uK1BOEOykaiYAJVh6/CjxWXK/q9b5FpRgNslt8s22F2xMBqVIKgCRjNgGvGPBy8Vog7WN7yh4amtA==", + "dev": true, + "requires": { + "cliui": "^7.0.0", + "escalade": "^3.0.2", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.1", + "yargs-parser": "^20.0.0" + } + }, + "yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-yYsjuSkjbLMBp16eaOt7/siKTjNVjMm3SoJnIg3sEh/JsvqVVDyjRKmaJV4cl+lNIgq6QEco2i3gDebJl7/vLA==", + "dev": true + } + } + }, + "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=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + } + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz", + "integrity": "sha512-mGkvkpocWJes1CmMKtgGUwCeeq0pOhALyymozzDWYomHTbDLwueDYG6p4TK1YOeYHCzBzYPsWkgTto10JubI1Q==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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.8.3" + } + }, + "babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "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 + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "bcrypt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.0.tgz", + "integrity": "sha512-jB0yCBl4W/kVHM2whjfyqnxTmOHkCX4kHEa5nYKSoGeYe8YrjTYTc87/6bwt1g8cmV0QrbhKriETg9jWtcREhg==", + "requires": { + "node-addon-api": "^3.0.0", + "node-pre-gyp": "0.15.0" + }, + "dependencies": { + "node-pre-gyp": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.15.0.tgz", + "integrity": "sha512-7QcZa8/fpaU/BKenjcaeFF9hLz2+7S9AqyXFhlH/rilsQ/hPZKK32RtR5EQHJElgu+q5RfbJ34KriI79UWaorA==", + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.3", + "needle": "^2.5.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + } + }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bcrypt-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bcrypt-promise/-/bcrypt-promise-2.0.0.tgz", + "integrity": "sha1-oLaD6UNCEArubuaXF0Oj4Xna4nw=" + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "blueimp-md5": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.18.0.tgz", + "integrity": "sha512-vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q==", + "dev": true + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "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==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "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": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "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 + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-content-type": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", + "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", + "requires": { + "mime-types": "^2.1.18", + "ylru": "^1.2.0" + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "catharsis": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.11.tgz", + "integrity": "sha512-a+xUyMV7hD1BrDQA/3iPV7oc+6W26BgVJO05PGEoatMyIuPScQKsde6i3YorWX1qs+AZjnJ18NqdKoCtKiNh1g==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "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" + }, + "dependencies": { + "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 + }, + "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" + } + } + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chokidar": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", + "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "chunkd": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz", + "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "ci-parallel-vars": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ci-parallel-vars/-/ci-parallel-vars-1.0.1.tgz", + "integrity": "sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==", + "dev": true + }, + "cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "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==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "clean-yaml-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", + "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", + "dev": true + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.4.0.tgz", + "integrity": "sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA==", + "dev": true + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "co-body": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz", + "integrity": "sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==", + "requires": { + "inflation": "^2.0.0", + "qs": "^6.4.0", + "raw-body": "^2.2.0", + "type-is": "^1.6.14" + } + }, + "code-excerpt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-3.0.0.tgz", + "integrity": "sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==", + "dev": true, + "requires": { + "convert-to-spaces": "^1.0.1" + } + }, + "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=" + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-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": { + "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 + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "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==" + }, + "common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, + "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 + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concordance": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.1.tgz", + "integrity": "sha512-TbNtInKVElgEBnJ1v2Xg+MFX2lvFLbmlv3EuSC5wTfCwpB8kC3w3mffF6cKuUhkn475Ym1f1I4qmuXzx2+uXpw==", + "dev": true, + "requires": { + "date-time": "^3.1.0", + "esutils": "^2.0.3", + "fast-diff": "^1.2.0", + "js-string-escape": "^1.0.1", + "lodash": "^4.17.15", + "md5-hex": "^3.0.1", + "semver": "^7.3.2", + "well-known-symbols": "^2.0.0" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "condense-newlines": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", + "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", + "requires": { + "extend-shallow": "^2.0.1", + "is-whitespace": "^0.3.0", + "kind-of": "^3.0.2" + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "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=" + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "requires": { + "bluebird": "^3.1.1" + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "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==" + }, + "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": { + "safe-buffer": "~5.1.1" + } + }, + "convert-to-spaces": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", + "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=", + "dev": true + }, + "cookies": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz", + "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==", + "requires": { + "depd": "~2.0.0", + "keygrip": "~1.1.0" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } + } + }, + "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-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "requires": { + "buffer": "^5.1.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "date-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz", + "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==", + "dev": true, + "requires": { + "time-zone": "^1.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "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 + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "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 + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "dependencies": { + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "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 + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "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=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "dependency-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dependency-check/-/dependency-check-4.1.0.tgz", + "integrity": "sha512-nlw+PvhVQwg0gSNNlVUiuRv0765gah9pZEXdQlIFzeSnD85Eex0uM0bkrAWrHdeTzuMGZnR9daxkup/AqqgqzA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "detective": "^5.0.2", + "globby": "^10.0.1", + "is-relative": "^1.0.0", + "micromatch": "^4.0.2", + "minimist": "^1.2.0", + "pkg-up": "^3.1.0", + "read-package-json": "^2.0.10", + "resolve": "^1.1.7" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, + "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 + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "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" + }, + "dependencies": { + "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 + } + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "emittery": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.1.tgz", + "integrity": "sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + }, + "equal-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/equal-length/-/equal-length-1.0.1.tgz", + "integrity": "sha1-IcoRLUirJLTh5//A5TOdMf38J0w=", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + }, + "escalade": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.0.tgz", + "integrity": "sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig==", + "dev": true + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "eslint": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.14.0.tgz", + "integrity": "sha512-5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.2.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true + }, + "espree": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", + "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "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 + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "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" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "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": { + "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" + } + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "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" + } + }, + "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" + } + }, + "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 + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", + "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", + "dev": true, + "requires": { + "@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" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz", + "integrity": "sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "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": { + "bser": "2.1.1" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "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 + } + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "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": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "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 + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "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==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "formidable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz", + "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==" + }, + "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=" + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.2.1.tgz", + "integrity": "sha512-bTLYHSeC0UH/EFXS9KqWnXuOl/wHK5Z/d+ghd5AsFMYN7wIGkUCOJyzy88+wJKkZPGON8u4Z9f6U4FdgURE9qA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "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": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-paths": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/get-paths/-/get-paths-0.0.7.tgz", + "integrity": "sha512-0wdJt7C1XKQxuCgouqd+ZvLJ56FQixKoki9MrFaO4EriqzXOiH9gbukaDE1ou08S8Ns3/yDzoBAISNPqj6e6tA==", + "requires": { + "pify": "^4.0.1" + } + }, + "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, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-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": { + "is-glob": "^4.0.1" + } + }, + "global-dirs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", + "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", + "dev": true, + "requires": { + "ini": "^1.3.5" + } + }, + "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 + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "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" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "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, + "optional": true + }, + "handlebars": { + "version": "4.7.6", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", + "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "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-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "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=" + }, + "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" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, + "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 + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz", + "integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==", + "requires": { + "deep-equal": "~1.0.1", + "http-errors": "~1.7.2" + }, + "dependencies": { + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + } + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-errors": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", + "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "dev": true + }, + "ignore-by-default": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-2.0.0.tgz", + "integrity": "sha512-+mQSgMRiFD3L3AOxLYOCxjIq4OnAmo5CIuC+lj5ehCJcPtV++QacEV7FdpzvYxH6DaOySWzQU6RR0lPLy37ckA==", + "dev": true + }, + "ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "requires": { + "minimatch": "^3.0.4" + } + }, + "import-fresh": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", + "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflation": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz", + "integrity": "sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "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==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "irregular-plurals": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.2.0.tgz", + "integrity": "sha512-YqTdPLfwP7YFN0SsD3QUVCkm9ZG2VzOXv3DOrw5G5mkMbVwptTwVcFv7/C0vOpBmgTxAeTG19XpUs1E522LW9Q==", + "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-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.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==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-class-hotfix": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz", + "integrity": "sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ==" + }, + "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 + } + } + }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, + "optional": true + }, + "is-error": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", + "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "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-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=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-generator-function": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz", + "integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==" + }, + "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": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dev": true, + "requires": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "dev": true + }, + "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 + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", + "dev": true + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "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-of": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-type-of/-/is-type-of-1.2.1.tgz", + "integrity": "sha512-uK0kyX9LZYhSDS7H2sVJQJop1UnWPWmo5RvR3q2kFH6AUHYs7sOrVg0b4nyBHw29kRRNFofYN/JbHZDlHiItTA==", + "requires": { + "core-util-is": "^1.0.2", + "is-class-hotfix": "~0.0.6", + "isstream": "~0.1.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-whitespace": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", + "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "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": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.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 + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + }, + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + } + } + } + }, + "jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + } + } + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + } + }, + "jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "dependencies": { + "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 + } + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "dev": true, + "requires": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + } + } + }, + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + } + }, + "jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + } + } + }, + "jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + } + } + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "dependencies": { + "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 + } + } + }, + "jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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 + } + } + }, + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "js-beautify": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.13.0.tgz", + "integrity": "sha512-/Tbp1OVzZjbwzwJQFIlYLm9eWQ+3aYbBXLSaqb1mEJzhcQAfrqMMQYtjb6io+U6KpD0ID4F+Id3/xcjH3l/sqA==", + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "mkdirp": "^1.0.4", + "nopt": "^5.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + } + } + }, + "js-string-escape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", + "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", + "dev": true + }, + "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 + }, + "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": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "js2xmlparser": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.1.tgz", + "integrity": "sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw==", + "dev": true, + "requires": { + "xmlcreate": "^2.0.3" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdoc": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.5.tgz", + "integrity": "sha512-SbY+i9ONuxSK35cgVHaI8O9senTE4CDYAmGSDJ5l3+sfe62Ff4gy96osy6OW84t4K4A8iGnMrlRrsSItSNp3RQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.9.4", + "bluebird": "^3.7.2", + "catharsis": "^0.8.11", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.1", + "klaw": "^3.0.0", + "markdown-it": "^10.0.0", + "markdown-it-anchor": "^5.2.7", + "marked": "^0.8.2", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "taffydb": "2.6.2", + "underscore": "~1.10.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + } + } + }, + "jsdoc-route-plugin": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jsdoc-route-plugin/-/jsdoc-route-plugin-0.1.0.tgz", + "integrity": "sha1-ItFnqSuEwRr9VwgTeUokFEp4kuA=", + "dev": true + }, + "jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "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 + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keygrip": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", + "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", + "requires": { + "tsscmp": "1.0.6" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "koa": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.0.tgz", + "integrity": "sha512-i/XJVOfPw7npbMv67+bOeXr3gPqOAw6uh5wFyNs3QvJ47tUx3M3V9rIE0//WytY42MKz4l/MXKyGkQ2LQTfLUQ==", + "requires": { + "accepts": "^1.3.5", + "cache-content-type": "^1.0.0", + "content-disposition": "~0.5.2", + "content-type": "^1.0.4", + "cookies": "~0.8.0", + "debug": "~3.1.0", + "delegates": "^1.0.0", + "depd": "^1.1.2", + "destroy": "^1.0.4", + "encodeurl": "^1.0.2", + "escape-html": "^1.0.3", + "fresh": "~0.5.2", + "http-assert": "^1.3.0", + "http-errors": "^1.6.3", + "is-generator-function": "^1.0.7", + "koa-compose": "^4.1.0", + "koa-convert": "^1.2.0", + "on-finished": "^2.3.0", + "only": "~0.0.2", + "parseurl": "^1.3.2", + "statuses": "^1.5.0", + "type-is": "^1.6.16", + "vary": "^1.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "koa-body": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/koa-body/-/koa-body-4.2.0.tgz", + "integrity": "sha512-wdGu7b9amk4Fnk/ytH8GuWwfs4fsB5iNkY8kZPpgQVb04QZSv85T0M8reb+cJmvLE8cjPYvBzRikD3s6qz8OoA==", + "requires": { + "@types/formidable": "^1.0.31", + "co-body": "^5.1.1", + "formidable": "^1.1.1" + } + }, + "koa-compose": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", + "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==" + }, + "koa-convert": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz", + "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=", + "requires": { + "co": "^4.6.0", + "koa-compose": "^3.0.0" + }, + "dependencies": { + "koa-compose": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz", + "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=", + "requires": { + "any-promise": "^1.1.0" + } + } + } + }, + "koa-router": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/koa-router/-/koa-router-9.4.0.tgz", + "integrity": "sha512-RO/Y8XqSNM2J5vQeDaBI/7iRpL50C9QEudY4d3T4D1A2VMKLH0swmfjxDFPiIpVDLuNN6mVD9zBI1eFTHB6QaA==", + "requires": { + "debug": "^4.1.1", + "http-errors": "^1.7.3", + "koa-compose": "^4.1.0", + "methods": "^1.1.2", + "path-to-regexp": "^6.1.0" + } + }, + "koa-send": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz", + "integrity": "sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==", + "requires": { + "debug": "^4.1.1", + "http-errors": "^1.7.3", + "resolve-path": "^1.4.0" + } + }, + "koa-session": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/koa-session/-/koa-session-6.0.0.tgz", + "integrity": "sha512-mEj2ximzLqoypk0Q+/JLu0j7fuMk/fL+yiBM0RKmxBqdImKxq3hfnpHLwpMhwya05z/W8i7vawpFl+lsYTZbAg==", + "requires": { + "crc": "^3.4.4", + "debug": "^3.1.0", + "is-type-of": "^1.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "koa-static": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz", + "integrity": "sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==", + "requires": { + "debug": "^3.1.0", + "koa-send": "^5.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "koa-views": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/koa-views/-/koa-views-6.3.0.tgz", + "integrity": "sha512-6FEN3z9B/PSay4XDAqzNBEAxfrQRhgoepoL5XKFkiMYToxTZnbirSt1qJb18YUpmHtbMdTdB4IUHFn1tyQ3SIA==", + "requires": { + "consolidate": "0.15.1", + "debug": "^4.1.0", + "get-paths": "0.0.7", + "koa-send": "^5.0.0", + "mz": "^2.4.0", + "pretty": "^2.0.0" + } + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "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": { + "uc.micro": "^1.0.1" + } + }, + "load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "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==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.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 + } + } + }, + "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-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + }, + "markdown-it-anchor": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", + "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", + "dev": true + }, + "marked": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz", + "integrity": "sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==", + "dev": true + }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "requires": { + "escape-string-regexp": "^4.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + } + } + }, + "md5-hex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", + "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==", + "dev": true, + "requires": { + "blueimp-md5": "^2.10.0" + } + }, + "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=" + }, + "mem": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-6.1.1.tgz", + "integrity": "sha512-Ci6bIfq/UgcxPTYa8dQQ5FY3BzKkT894bwXWXxC/zqs0XgMO2cT20CGkOqda7gZNkmK5VP4x89IGZ6K7hfbn3Q==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^3.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", + "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "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" + } + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "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==" + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "requires": { + "minipass": "^2.9.0" + } + }, + "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-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "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==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" + }, + "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": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "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" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "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 + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "needle": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.2.tgz", + "integrity": "sha512-LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ==", + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "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==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-addon-api": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.0.2.tgz", + "integrity": "sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg==" + }, + "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-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.0.tgz", + "integrity": "sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA==", + "dev": true, + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "optional": true + }, + "uuid": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", + "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==", + "dev": true, + "optional": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "node-pre-gyp": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", + "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + }, + "dependencies": { + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "dev": true + }, + "npm-bundled": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + }, + "npm-packlist": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "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" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + } + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "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=" + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "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" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "only": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", + "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=" + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.1.0.tgz", + "integrity": "sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.4.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "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=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dev": true, + "requires": { + "p-timeout": "^3.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": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.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 + } + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "dev": true + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "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": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "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=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "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-to-regexp": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.1.0.tgz", + "integrity": "sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "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": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-conf": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", + "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "load-json-file": "^5.2.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "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 + } + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "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 + } + } + }, + "plur": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz", + "integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==", + "dev": true, + "requires": { + "irregular-plurals": "^3.2.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 + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "pretty": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", + "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", + "requires": { + "condense-newlines": "^0.2.1", + "extend-shallow": "^2.0.1", + "js-beautify": "^1.6.12" + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "pretty-ms": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", + "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "dev": true, + "requires": { + "parse-ms": "^2.1.0" + } + }, + "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==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": 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": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "pupa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", + "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, + "qs": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", + "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==" + }, + "raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + }, + "read-package-json": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", + "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "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==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "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" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, + "registry-auth-token": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.0.tgz", + "integrity": "sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": 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.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "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 + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requizzle": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz", + "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-path": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz", + "integrity": "sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=", + "requires": { + "http-errors": "~1.6.2", + "path-is-absolute": "1.0.1" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "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" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "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-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" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "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" + } + }, + "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" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "save-dev": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/save-dev/-/save-dev-0.0.1-security.tgz", + "integrity": "sha512-k6knZTDNK8PKKbIqnvxiOveJinuw2LcQjqDoaorZWP9M5AR2EPsnpDeSbeoZZ0pHr5ze1uoaKdK8NBGQrJ34Uw==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "requires": { + "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 + } + } + }, + "serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "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", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "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 + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-resolve": { + "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.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "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" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sqlite-async": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/sqlite-async/-/sqlite-async-1.1.0.tgz", + "integrity": "sha512-yPCgZZPkccMcvU8J4Hrt96nSXOEv6UuBLd9KGFdUR9VVkE7voXkWrV2UWODfNbxdDyviS/a+eFWDn86mfBgyJw==", + "requires": { + "sqlite3": "^4.2.0" + } + }, + "sqlite3": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz", + "integrity": "sha512-roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==", + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.11.0" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": 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" + } + }, + "stack-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz", + "integrity": "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "string-length": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", + "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "supertap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supertap/-/supertap-1.0.0.tgz", + "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "indent-string": "^3.2.0", + "js-yaml": "^3.10.0", + "serialize-error": "^2.1.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + } + } + }, + "supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true + }, + "term-size": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", + "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", + "dev": true + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "time-zone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", + "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", + "dev": true + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "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 + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "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" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "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" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true + }, + "tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": 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-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uc.micro": { + "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.10.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.4.tgz", + "integrity": "sha512-kBFT3U4Dcj4/pJ52vfjCSfyLyvG9VYYuGYPmrPvAxRw/i7xHiT4VvCev+uiEMcEEiu6UNB6KgWmGtSUYIWScbw==", + "optional": true + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "underscore": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz", + "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==", + "dev": true + }, + "union-value": { + "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": "^2.0.1" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "update-notifier": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", + "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", + "dev": true, + "requires": { + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "dev": true + }, + "v8-to-istanbul": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz", + "integrity": "sha512-fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "well-known-symbols": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz", + "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", + "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==", + "dev": true + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "xmlcreate": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.3.tgz", + "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "ylru": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", + "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..bda3684 --- /dev/null +++ b/package.json @@ -0,0 +1,46 @@ +{ + "name": "10_auth", + "version": "1.1.3", + "description": "A simple dynamic website template to be used as the base for various projects", + "main": "index.js", + "engines": { + "node": "12.x" + }, + "type": "module", + "ava": { + "verbose": true, + "require": [ + "esm" + ] + }, + "scripts": { + "start": "node index.js", + "jsdoc": "node_modules/.bin/jsdoc -c jsdoc.conf", + "linter": "node_modules/.bin/eslint .", + "test": "ava" + }, + "author": "", + "license": "ISC", + "dependencies": { + "bcrypt": "^5.0.0", + "bcrypt-promise": "^2.0.0", + "handlebars": "^4.7.6", + "koa": "^2.13.0", + "koa-body": "^4.2.0", + "koa-router": "^9.4.0", + "koa-session": "^6.0.0", + "koa-static": "^5.0.0", + "koa-views": "^6.3.0", + "save-dev": "0.0.1-security", + "sqlite-async": "^1.1.0" + }, + "devDependencies": { + "ava": "^3.13.0", + "dependency-check": "^4.1.0", + "eslint": "^7.14.0", + "esm": "^3.2.25", + "jest": "^26.6.3", + "jsdoc": "^3.6.5", + "jsdoc-route-plugin": "^0.1.0" + } +} diff --git a/public/avatars/avatar.jpg b/public/avatars/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba2c6661a4000fd80cd74a9f45a0674bec7a547a GIT binary patch literal 23711 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 T#XL}^TZE;ds;g3^WE=560vv@b literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..178e418cfd26dbd88a298bdc6e11876ad9ac39e0 GIT binary patch literal 15406 zcmeHO3v^V)8D6w+wbiP%+8&#>YQ?q!0rB11)0f&}t7ey%2z^CFY^$d##Rsv9(4)mu z70CjH0tK@7?j|JJY!V(WA|Z)+5DZCxJgAC5Aj#%QvLR&peX~28yEnVZh9KZM-E-#L zxpQac|Nj5}^Z)<+bJt=SVL8`w;e{4l<18~jWwDI6SS)dIf%|JOvRGE2ZS?5i^J^@Y z9hX`x*P;)GU__uDmtp;`PZeK@*F|!?Q!E}E}TevB^eLV0kkQ|!V#PZ;Mo znsQ%!^MeOzBB7Sy+oafy4_=ZKzgyDx1@Yv=ZPq9rRa$vBR6P1DZh zH7RZ9g+J8W7lDuT_!Kb`d=xfm*4vs=C%4J5oeiP14&z0ZmfV%? zuutcl826_!nz(L^Q_ShgOPbZFbtVW*n>P9h?6A+XmgX zxVAjssm2+v`}gmpIt}=%tt@)gI3`ptFIeM)JO&($hqYBDZ-mAK@spPZ*QAZ)t;5^* zUd(f4YRkua^rhaN`5QxglNZW^V<}t882T~KJeK$AjwQDSWV}@DDa%W#1}~IH*jVTX z-*qHCO-f2S$KzP?2e%`6otmFA<$IBIgJY?u)OFQouq)p!^`rBh=LGeXx<1$#^Yaeq z80gkf*Uis{drvzPhjIrB?bGT0U9X96Vm7*a;5)-kOg`sqg)y02C zJH^$f1IMUTX@mX^oB9$kEJ3LYVmSsJzds!q!e}Ikb0Cu$z~I9>>5WenkA*!y#W$dn zgK`M8wxGK^?o`+)Xd6d!4uWv=*Ew3|0f6J0xA5dMOfo;S{~>agt#gMQdg z44P*DlE-0xHA}az$<~v9%zlvdAA&M?GzDtw=(>~BCQ@R$FZ_sX&w5_7idB0q{`>S@w z)$S=BS6yB3MbO`Dps!+*1&TJWSG^`a3;laKUK3aGe$0At1@!>5@9ipB&=a6NUA}Ab z9+G(&ZR_4c-UV?r6-A!9s*>J7OifWBTz(GFN=p z>ywWh+4#iOHI+qPb1YK5yHIS}@NdPp@d^ydF=1%Z6DEQF@o>IpOL=^xPZyi@*F{xX zUbUIFy5F;Fhj`1qw$~(wX6WVvgYmDPH@T)xfu8sHrOX4g8=Mp0-=e?KU0&qvi=PZJ zq@vGjU1f1c&W05~$#f*o%yKNTrLBB*(AZGXR@d%=m!`GlJ}TcuqcdUO(X7X>+4o*y zsgce=_3DauzpLgt*{d(jI@+fvJb1v9^mW9ZTLz+Mde&Q0v+FA-OV>E=!w+|SzNVu1 zEz|r1z612%V4Pz(b?Et%L!|xI!AXfp!h_3kSo%b-}e+@0@&uv}rH6e&{cJ8>T%MD?MXB>`Oo6aVAg5OqTAS7N9r-PW$&1=j`FChbFj_Uw?%72k?B{R-o#)|{D7MxocQ*}eA7 zZyD)lX-j)yTgTQ_l+4Atc!Fz__9154h~*eh_9GOf!SmW{pM~FW0K;D5a69ZJ=B_@? zI+}J;=~_77Gen4Q&rIc0v&?f0cAujy|1$i?YnfW|&5`=jR?}Y$Mw{^!Sm1C6KeZqE44aY?%Xy5@N(DD#BUkBe_J9_Yao#!-s)$0>6& zZFTQ+KXf17MHyq-)5W)<{YkwtPcj;12FjVplYnf@zdKfn&y7zN7t1_rrnp4zU*Rue zp5P32j879|vHw|ueNZ-X5pQGfvl)BBRVYv4{wD5E&LF%&Nn`KilKaO%KEaqb8h)sTI~IG5aiA4HoUMe%bm-XSJX&(09c=wzYi%%6;f-e0GQ z&wSr4E*hta@!;h#;NOnI_dq_HkmGq=<(#5Vc$Pc?U(_4u4|9dbf;_Z>uf($ip=DgE z_#SX=L#dPNHdQ>&Jlglyii<4D{%GP{T7N1$cb!sO0L;w&DA@*dT^H?WOOts>#RINrn~Bnh!hV%1Ulk3$$ei#6#27m5i(WVZyGmi+}w}X#-tly>}Ho<%v>J8AHXYNQ6IBm38sP}05 z2MX6i56VKWm(XN}3bFfK3G)!E$oLIs5u#)392v`F|Mr5&{mXfV?x&92MG_ALO$=<8hW?CVn6lxmw-!N+0&ALF@|xdy#jZYi~)Pk#u*@dc`vqw$S4PbJ@XQtandvw${j1%Tb2+fle#$k0 zdMJN!W4gEu?b0`ZhxLkv(i!0H31ElLc!N4a>^Kh#U=QSt*{9KEn|C-yU1IJQ`@QWr zmtCH^>WzN;hHTA#8}?+(uXbf>_SqJk@5yt901v%mQUZB?;srm<@shV1-ZLhK%wKNO z74~qQA$IOzh}l?LvL9~e9$M^rc|ctf!ZO0G+vju7h~jsrBroS4j`|!hfvMX|n-$cL2M=&P34}=swP19u8thJ_mV(w%l30u(eY;ccdTA(SHDp^#=Up zqX(r7rA5{q_J3;HB6%LA=75dA6xh8%{JZ14f%r$YVQp7JXWUBe0UH^xGtqQLV&|C! z_zPgi*#XYE8+GdzMb~_FJC^($=O_)pspN0I)@G(8%X2K_SlIXTfzb}U$GKLOFQDB) zdj{Umv}UJuZGWAahqd}Zn68t@KAoXGV(w;^#Lj08dP2xX)K>1ix~`(wTDQ9>fpw2- z*-gkD9gKz_yuBOgI|;@Jw*H+F1&>Z2~;kv8(3XZvG! z_177RJ-D8cuc~iwPP*~G`$|S4kK{ozsWdWU0zU(bA;At_=EbhERtPPn4?`q zvHjDXIOpgtTzI$>*qN83JdGuq&ajWnts<{my}R@};NE7!9?DUc=H-}m#(eM3a@d!- z-EZOxrJ?=ELs$L__xREuXgA_!y)EaF&{{R?%u(m0wmK~_aeq~QTy0hHE?_@_62fe( z<7`Q6-{dl5Hs5niJ9D%}A=^3>P7rI}&3vHbLF$aMkyxt*^8@-Gd^h#ZDPo5OT;a?cTU#fUdb-CvUL9!X#2Nwa@DZT*rs>OH>+ ziUDFwUHm&WZp~i5t``0XdlTAL z`iD&VX~r6im!#aKotZ874+H2-;Cl@0|Ja9XgSiCej4{v8j4~Z+J;!B_H{%Z8_qtOS zk35X;qH1;*-CA8)aMOXR!i%YQjF*7@1LBuDgZ+cV4qGYpJ+jUi0_9dB%RmI%7V@t&F`R+L5TU&DR*L*`EQ&* z@C?N`_i*Z&nf5OrNBkpvyZbY9uFO0y_Yd3yaUU01XCQavRh8U3OxSt;aH{-(8QW0q zxfc!P1cG|QJT`Oj3OoO+LVXYDOhOmWAI=8s6gs&;d>z1nYn$~W$r%V<+DX+ yqT!co8o5g7%)vf=XYM}X3$g6n=;X+3|<}Oe_lM4}(N0C5Rv{W&J^*wo?RyAcBe}5&;u}0*OVy7L=Ay zXf2DCb|BCKWlMolQL5~P(pm(H?9=IVT4p+(_4u9l<_-5P?F_|ulQZ|;bI*6abC-9Q zk)%%2V^W_!67o1{&f}6aK$4`mIHg_yeFk(dLWd$O6g@IYf<9UzqCvr6a2=!u;tfkR z^2|^uG_Wl^+PcCf8~An;Y_eeRr06G%J;p#^&`W#&+C~cwO(V;@`5-Yh&vvE5}7=D}8hx zzSiZsXwv%)bp1v^?_?0K0r<(~hP$>PS!Oz9AM8gja~C)xcwp8umJ^iSP?sl_;1=C2bSk~ zIqV~QVl4FGK3B%d6U`1WoP*7Cv2eqV&l#JUPn+vD?W*2P%gW}`tm3iqo|;^kKr@RH zY4PD%lwX-eR~DX!e8cgN$vb75Ey(67=P7uRfkXkImj>G|>W zXT}Kf9?R3aA>af^1Lr9{g9Fh;$_Uj zO$l^k#i+>nrk<;6AmH+WGxBYsuGwFCoxNu==CgNCpi{TXRX2vbuCbO1if2-j?re3h zNurQfd;WoQ1CIgX=!LSTaoLI0hQ7}~IF*{c56&3_xvB{G$g^!>r0?n(@2eryDTfPDUI#V#9aW zg7STZ?<{>w_Rz$F;Z%C1NHmG5>^o7Q;pZ4a&N~_`xcMwODJn;w2}JlghJocb$*)|6 zM6;;npzW%G-(M|XWg}Q{^O>a?*k{U>`xbMvSSk&7lL(#*;uuFO`zov&EV%jH)Lg2% zgzt+g|Kh(*E?9z>Xq;lZelGwwpWpu*zwftvA#(Y?#rzGTQa}Ew7yi5P_g5Visdyjc z@z<=s#M9dK*LSCv{F%%UeQ!jK5^1Z6D)T6KJ>Z&m?k z4s&xt950}*S?DE)JO+L>j?`HWTD#FjJNJ5MSBZx*QRcUd+Rk}eMzi`HHqe9156*rH zyYdU2@^}@jH*Irke2V^KDKA~wEO>iR1lLNDo6Cr&JM>i#tdtUu!-(<5xroL;azZ^F zI@+pt$MaqZF3lTHjRpDvXs_3UZruscS4*2{$lJ!Zr#=q0S@2C0F-D)@+om6Pm0Qix z&hJD+4D5^7IInszx)luL5ipH6y6yLO$P{`yU3 zo6RjOtsJ&FIyt*+cipx7CvTrUzIzWH4h#wo2@N|I8yBCDn3ViWMrKy_$x}InMd!|6 zD85*7=~~708H8wu+@zW&x zGk0!&VUf4Q|GNB*3kKkS$NHV@U$`)0E(vj35Xf&_Fo^`Q!!Za+O%o{vdrxFQG*-(r zO&Yhg;A&NijP^z^j^e?XK9rKqrcqt)H?-f#{u)^Ne?|5?*gv@#Ko$-YCl8JRwt(N2 zqgO8RfB#Jbw6CzR(V#rBXDqj96av`L&RguFmY9CK?hci^8(wtfClWLsEy+@AqMF}V zgz9h%uU(UP`J6Wbkh?_HO%}pT()jp8qh($L1p3f^6;`u?G$RO1G2DfSUSv0!lYP7$ zKfgHABfwK3pm9ID4KGOz%ELaNOFXu%*DNz{_Ojst-^Z!(UD14c7pWTAikBtsdnd3D zWQCXhD7`Qh5|}ZthuKHwv9nKA#fueNWAnBZC%`bvI2BW z*vXx};-5yoxTY6LCvjf+A#5kNK7v5=3$n=4&rmc(UM*1M%+0szj|`ygVTSeVVYX62H7y|Jq=NUE#jRa3_^j};D87E4Amaxa2>eW;Uctc_ zqHbG><5+&hNO6{#Fr|gJRDXWrjx}xOm{oCr_LZHh*P zYHpc^sNv7^+YZB34eC9w9QJWv(S|^0U81?DkqH5(r^HzZNN#{Y!Q~e6;-@$WTy3}0 zC!qk?U%|N7jx;Q{AR8ErmtheMIxC_mM~#gf1~rL_12H!_sreo z-47o=$PAuem30Q&_hYZ!bV713@=h4JCZWY5cJTHgj_$AZTc>Z%6t9uLiJ$9lG7#ny zbw`=s5yNVFiJp~}H!3@WqqXhktR%WhcAY11Ql}PbeIbxfjtmdbC-l8;)It3Mq#x!I=!)mT1qSTlJ4x3kE&!l zkx+EuuQrBx8BBEMOpfE`r?*`q7T%Am{^V~u_uz{>rah+13hQSnP!*OE-MG1m{L@@F z8smyLqj=WvjXXU;e_+YjK#deDX{ioWI*^s@VMXED#Z^}$!p$>YULQfe3p#_H-s`bC z;R3TJule#V1=e88=8X=74~5RDN4whIVAigVPQE!E$f;+&Y(I3HU)VK<-#`t^wI_R3 z+K?m+ZV8K<6I(+S))ITB*>(YBa56V;(~i`>L>ipZ=DCs5%(uY z)`?oFb1{3Bg(>?XFquv1D@_pD6+>WgW}PTKeEu>|5duYpz0@g&xT>~UA3rliokNJb zkP>RUfVIPyFl&PHxCwjSnq3qrgax&Jw$L`G{j9SuziRMBZc>lyFt_KIru70F?uAmW z@)$Bphnsq4V|l@sM|hjHgb7TEjNZmxV}`qmurpIwtcqI_Xq>OYP$Mc9#`- z_@M;R6+}nQW-{xQ?2|_gUTXR_0#p6A=ffj;H2>Vy#M|NyF%j2QcAD+f`K9^vr>}Vq z93={8Y2@jJB8q1AuEr;Y%PBE25ie#?*&o*5w#g`9G#ZIehajMdmLSm$W;gldcPQ~|C=flDDh7uh4dkTdqz=&f1`-2@!hWdp>=|o$@TDRC8fS zi}5uoa-9e9#$3LRhqkDNP9>`;2k@c0yoRY+CPok&%_^y+qYkLqYunjJpL({Ftk^)WNOqT1*N-+`uV zzK69XI}6v-U|

_V6mJmAp0@rgHE9{)}^^|$DKKfwF{+&$*bnCo%CF6;CZVM*hTWr!g;^T z3m!-&lk=1mNLfaNlKDFzz^m`=gFq;L;I&hHDn97SwDGI(tDCk7MYI^X6(;~Ik zBNQPr4lPjH2>}}YmF?s9XCx`2M+4_>8M^67{eG)0H|pji$_y(Vls-hlZKLabx???% zADA_>GwK{l3sXv9K6)>~=V`XrgU2CXFdKB^yiGSAZT9Cl#;MU~bXTmVqSjn`_i8%} z;Y3fyzVy&2k95cpaIc-Pfq;7+zM5qb+aLSZKSrAKPFk#1T(A9#4^ci{H%mQ;r`H?c zxv9?1a}pddm`~3ELbW&4FtM!jY`Ss#{V>V#%(u?GBSS6((rRMLieBPi8wAiz#*D-w z+LGxYyKk>M_J^Ynvya_Zo;Z+9FY2?yU-#p@BTJGdx7;F)R7Z){-kS1z$eb45+bb;c ztxI)fTF%{H@YUTRRCS?r*XzM&Q_yE^t1~m3pH%m5IvtwUQE0R((?9iOZv8po-6ol9 znfoJ!yJf+q&Ih(!hJbnPg!KxqpIKy1hEj1384q1_ZA?bqcTcU5Ebd5paBw!h!8?3 zDj-M|LkPViHKB$U%0JAUd&apl-+BJu^PKxV_q%sCB-z<@y=(34z1I4zz2Cb(3LL+A z?Z!2Ljt&6mXn(-|7$B(|=;{OjH*QD*hk%1(IXZfPg_h%^y$+I|x3{y0BdzT?>*kHC zS8Z-{8RW^N(E(g!dA`~Wv_1`xKj_wzYu^PduJ z?*B;ZJqMHk0ABjw{rslpaLEd!IPjNk&Zh!`q|T{)}gftvZGB-%YUHd zx$KO8zDmn?1Hhr94xSDU0C0GeRvzvAYnvl32W^~xXyXy!=?VZxLJ!J49c}$+`6sme z89R3$e_HprGfHZIkPzKb2%YZI$6EFmf z0dv3_um@ZKPXGoWfKcEb@DPXto&ZTe8juaV1`2>;;2nSgs)3KdXP_1M3J`z+U=)}F z=7A+(9iY!RzU8>5@0TcO*gXP`ey&qXgtFHSE@uR?!?{uaG4J(S*= z-j_a@{ulaq`V{&c`a=2&`j7Oj^aT1*`gwW^1Hiz_z{7BwL7G8@;VOe6g9U>V1B@Y@ zA(r6eRLlr|41D;`&VS!(+egfQ#n&36M<=pX`PvwnTJ_|S(*7dvpKUH za|rVz=1k@i<`2wW%oEHM78aIMEK)3*EQTz$EdDGHSyEXFS?XB6u}raS9%4NteCX1l zYlkcjc^$fc=*1z_q1r>=4ox4T9zK5f>|wRThKC&v2OUm0{Q7X!;m*TThp9(6jz}EQ zJYsyr?Z~|&DMyNrG#(i|vdYTJD$1(LYQ*ZwdY3hY^(|{N>lo|S(Gy1{k6t}$bu{2; z{L#FlACC4NU1eiq6KA{3X2Isq7SC3|R?jxfwt0;6n9Q*o#~hAD97{h|aqQbMGW%in zv+P&ct=WUwU$B?4cd{=WKYU#L_|@aK$HR}OAIBai9;a|{a>#KQa(Hq);y`hH;g~tW zazgxs?g@tzznsWDQGa5BlYvu=^D3u3XC&uq&PL8DE@mzXt{Yr#Tyb1QTpe6X+$Xpd zxJ|eNxzo98xJP*yc*J>b@Obbf@Vw*c;o0UDtTtE6gdZCG0BvT)0knPJ~i*CKuZjsV>_pP&i7o-x$g7K=T*+TpU*u1Rgzv( zQPM>+U9wY(UP?*IRVq`e>jKjS)eBx1axM_1k4j&WhD)QR$7Fb9^kweLU}VU$XJjp8 z6J?uZ_bw`4^tkx?;(*)!sGH_GxWf?Huj#%VL)uE+a2bUparp z?MmSl@=q6kg8fwf)5cY`t6^6^=rHK$>BQ=E=$_Dp=%(ooUlYCNd<}hVNl#HPMDN3O zrt7z^CtfGs5WHc3qu|EUP34CNc57T;QXi&Y1)>Mt1U&-{8k{xoGQb!D zhBpkK84lf+xb1rzXT)rD+bG@W`_FPehyL6I<^?T$w z1tuG&I;KxeN6lo-!pvID`OIC-D=k8aC< zv!?Si=UEqRmlrMzu2)^tT$kOhyJfp=xEs3Xx$k?JdX#t`^1S1T^*Z6@?$zKebQlF&mq`9OK(tk=X$q>kh$=Jwr$o!UdIjcBZFgq@L`=#s4-dB3B zDssegUgR?8!gIgBHhJCjM&(Tbk`Eb&+|BdK8_oYYzo9_6pa3O+N81>Od{oh!Xl+Vk$#yH8~*WySB$zRxJaWc5P>eJQfHQY4`wMS}ysok#&uA_YL`LOWO`QyYVn@MWq7`wp*P(Z&&!ca-AKp(LxI4%+7&~-)=*6(WaL&m2 zk&;oR(V8)xv9@vW_`rny#Qdb+Ncn7K4lJ$r5T>zw7>)V$9;b>Sh2 zgOou&M}EI}d9iKDY-ws4w!FXcX!X=;-kQSNC(3Qg@Ve(Zbt883)Moyc%2w01>Gm`g zvBR>HvU`5FYVX$G;J)Yn{tvo|3{5Q&`CTv3adff`@bDKoP*|>ddw2)HM8H0__KqUb zA_q#$Zwkb}?frK>#V!>9Fb@FWWdHAFv}tbtHq~!>+pqZ_^vgexLH~O{1|9%lkf&*{ zuYWJ|&H(@w3a$K!pR2RTLC>o{8;ktF2kD<3og86~UbIIwadkwvdO6dc-^;<(-__eo z#MSFSd;6VDf0+5-@a1!-o&kGqbWCImE_%=2KA+Xry2@BW% zjM8x8+Z7KZBF>4#wK~;-&hyOVe6I}KCWW`@}RX{C`%HFji8Bi()}jB%5NC=MZ3H@AY-@rxhT0)Vi-QiN#n z8M#_}9Ne26E>}QG~g0`QeoXml-t~@1Me1CLL$C4GeSx&4)s^ z_`C!mhNjWfcWF*j122$X`e3dmRm%AUbGnM~UH9$g-Fy#*-lnxDOUhIp#O5>Hm8U`h z>(lS~gg>4Xy1ZI~(R}%J@6d-8)|ad{nPFHGbJWr`mM0qXq)rzF?fVxs?$6K@r)|7K zuDsgexHrkJM)m7wV;_CQE>Z=QZxIKwzPdy(-U(vps2yC7yt*mI&@6LTI{d%c1PqKg znPBn6dtI`Z_IQ$zw!`rv<6vH2A34`7h=C47->Te8{Ct+t_VGB=A;{PkIH50mE!T-U zX1iDYTmZ5G2@Jn&G!Uq#tE}>-K1~XlHd7L6hlgZW=mn#}I@y-=zhoHpJ4_-dC}t|Hu(w-3B5`JKO36LqFho36$@b-yz-=%3tV`pQ)D zJ41gL*A;&{_unPP^80X5z+&g061(@ixOgxBx0v8`dYRO{2lu{-MXkT}mGdDHKCvni zyg7y1<>aT6VMaZuI0YRL)WS7BV&Rkf?XtdCYmH0P;o#0ittrOvyGK_S)b7~237*|x z%2?2_YBl;aKxr(j4uLeO^t?}r9gpj7)3w5GMDV$Yxsy7K_5mN4utm3vn%;BAJ9}N$ zI=qB~ar=Pa?D@j@wLq=QmcOs<|9+hMx5>J6F${w#@?>j=^6|uh{7Hi`NY`&ZVIX!I ze`eJ0*Vpa?sRP+72(fWZ9X_04!Kjf%jUh|(%YVHWX)Ww-6Df(*+r2EM3A3k1z1J@+ zE=$16_sTZrZF=-bSMLaY)_xszudcVOt|7Dk=<5TFkQgu|<}tIKHA9zSSg-37Qd&m1@6%~W$%-QXq#dybuDx<2VljNr3gee5QbM671AGgK6 zt8QxRgnsBF>P+YzR=&_>Ff#5`-{WN}=;kp?#a%`fFUo+|wbM9EW&DKlP-Lzl3{-&# z@>MVum?`Pbstzbf57;QyX(}WH_vli2&*AK*Ok@VoMP8&V<2HQ+Du+}VgA8T&7~=(5 zKNH~mQfl2YjvOn|#{|nj2XN2CtE=6{Q=&<{K9pcITBx(X3D$0G=vO!N#KT97n&a#k z6%}gUf`{wzzx7cuuUVDKV>cY+x#XUyEQu=vRY{vBCYjo}I}+jf(K!o5Jp>M>-nI{5 zU~$j!(5iys*xVuzjSNEzQIuP3!D0hmPGcW9sdbmO1en>^ZEDW-)oz+al$>SZ4kK6# zC#mcvFWyx0uH_M)|8k|#Ccrdmib)Xni|_*j{ynH&Xh8Iw%+M$HPkC(nfJ~{DS_5;Z z+z7gUM*;O3F}Ji2uu0wpj=gCRy0A3zKqWXlf&-H^(pPCwY&_=Lr?wZyGd=|`A_Px8 z3PvM?H$(~Y8g-l%xrSxl9DBDmr8RQ1w=UNRZ0Vt2I{GbskmuiW@VD9s7^~ZO*!k?Y z1!Mi&f>FX$?+E8;+5akWwkLJJE~bCf$^Y2PJ>*9LD}!cTyYfuxPWEbekCo385TdDr zn+p5Dd^0K~;oD-`v3;PInunftN07oka_=^!q(|x1bUyb>K|VU#|J`j$lMI567bMK= z1-ow9c6?K2#=dmy%6{d}mlcz)vzjZb*V$TT72upH58BnDaO*VeUG$XY25UBFEy{$M zFK&dHBSYS9Uq&!cB{I)dY9~fUp~xXt;Qo|V5Dpg--la(78c3P%LXtJYi+1!=qZ2SV zWjpO$jj0QnT-$y=-fyfkPlh;O+UpxXCM4WvL1afTwHgIyy{U3*Ztc31pH)2etspgf z^*O9qG%LVJ2XQ4aCs9tWL;Y<&P1uLb7rt)WZH6ssI&Wmdkg2SiX~Oz8>^0Mcd#mKz zdNV+0ZM`1S&xcAF*<8EX`tQ~w4w7o1rNy?ZcLZoA6RH}%LG zA*FpFOGt82Q`_63#>*YAkmg28Rh2iiNh;#kZJPFz%{11Be~HF$YWBYrN|xu~l$YZW z+)CZ`lM%`*oK;hj4(hLX6N$7PAQO}GzuQ~ps5WW&JxhhBsls+#9!_jH8AjuxB($%M z^5F67;xRqxC#jf#eoSJz6~Zo~5GonF_xWpyVgK$MXkE<+`K?X#p#KC5ul(Yi#`STf zg`vJvoO`eyGn`|c>d*cJfXSXxk zVsSNdo?Wl(t>d1JCMV5nCJjIA*QLIY_6B_^Y~*Z_of)`lgi76k&$Sc}wuL*eQRZUi z!J6iae!0)XzbHaX;ZDx=@+ zQ`E3Qnikjy5WU`thUzHV^H z_Xq)plaIx*`>gj@RgmtGJ!Pb_*8K9=WkutX^i<<1TIjE$q^g40oXR=K5E8p+XrYQ% zFx6}sx9@SQaTeWEY(0eOt}Bw4Q^ICkglV%>N6 z^iF2;W`YrOF(EjMJyF+7%=J+u$C zt;rusCCS4?)q2P}cy7aUS<~l&C+ZlKr}e_c+%*)(d6-UC)ux(y)pseu zEW1{`jD#IrH(ZcGep7M^5KfMZ?3ytti(w(98c0pE>ElW9jR=FsHYVNgJ09(r5$3z4 zY7+WY46y+M#R0VKbb$!}-rW68me47lP+HV(B9)qk9Y_xw_HWZw8^e_E+PJ${U7P$W zUox9E99dvg=&JTm`b%ulARZLXeU4dY7%b^oa3e^;jjMm$V1j^DKw z9(!{epySI-kNAjS3R{v5z4H9&dpEe}KEO1{z44)DnfbQpp+k#%-eXTx1GV)-r)61Y z6EZb-j|HnON%^f=jw;oaEG6G@>+dP5*YFrJ1a}SuDq7*7gV#xY=H|S1PV2f5Jylf5 zs;tA_&0T@rMiuwnZhYMgb9pHUf;f+K+XvuUj{JONp~zh>W!O-&13iK2^r`Yu)zn1D#^BW32Z0zqckndHHg!tHJ_`=Y-{;r`+!E;%)p>dTRcD6${Z^PGA6sP z7tRpf<2S5(Ch~5TWNbet2o+W^<^TI2F+_% zQw_Y32{;jsu)daZzV2{ z;EV~u6jMo*Q$cEKYWU@2UNNuc)t{Ms_*$|4tiV032mS11u+y{GwhmAn9GC5z5cMF& z3$@~Hh#rm{$5VtqXZmh~psAQhs44RFKzZ|ws~X2mrnOWqIE z^LWTY6JtGJdT0jP5Z}X|E(zj3(3s0C89&*HVzYBf%Mo=F7Y)J7X|GTksLNud54t#` zRW|H-qwsG7_-0cv1q*_D62eIk-7rgxKXnyO*bXLaxXv{gnszU~Eqe@oD09Yh{!|)< zabq~K;ix4SXu#4Q)|bmEQ@jh!Wl>5`8vi~RZ&gKfFYind^Gt_E2gX*}xPnawK>Q5y zXhj`_YHukg7esD7anvq~qY~T@e!?B2G;#uNGTs;5&J9wqbMN=u7Of@9flS{ov=oqn zk;n!%(X}j?Q>vFqiG}!hUGxyGr zd+K`r+UNEBE&ymm{lx+O@C#IC_kyNK*!Obbp|*;OvXPyUGr)_zPs*!e@!Cn1BiubP zjF@$fx>Nz*oubd1#cyvk17gBu?(g2mrE^AVT!}L>z}~C&TENzEb#I&76{?V(xT||tO5ZQbipHwd!Gx_g`f%#WRC876(LikzeS)GzY4T(5BKZv! zT!~THV~);UAw1|pVW9UdgX`>~rFaslf6CwkDR3Fu-M!q-Tx2d-!|2hrUr z$XnHHrZMrP_MiM*#uI-s{GM~c$;ZRFRlK(XVwQWv@^Oem+D9^!cd8mT=a2JiG=-P2 zFMUHL{$}d|fEc*UdsAk#q?Tzh`qERA#|G_nqqzIEo4mCmEsR&B3?o(}j^-C>?gQ;R zm)IU{vu)qrRuAbO-v>xSGfTCR;m@_=hbby`RJ|%-3oGaz&=ee8Js!%@k($uN*}A5c zow+?8XDXSN6CE2;4jGQ09wKPH;TTEXxqR39%jbq~aAAEdvED8Z^M+4@l|9N20t43z zkZDpqZ_ni#k^GH@(^Gqs7xnjnTQW$=cM|XD8XwC(f=UJERw)Ri`6=yX=7ZnAx2kfD zhjdl=dd~KlbLoezv|E((J;xg(X49Mr_HWg-Sxbf+$4%KU`6BJbgu}*0N)-r#lwPHS zDi_TMwtC7*ZVR2;3ivm(ec;YzrJH5?U@uWo(G)V6gJwlohSrV7URkG!>_JvLJ5n}k zc(o@YXhYKV$)9{>)CGlLXJz&p=spm?_Pj?gn5F`AQQ3r2+v^uiBPMFjDkcsmurwdJ zpQI1wlpl_s)=m*J`W6}AudF9?)NAj&+p^m(NsMy=REM-eC-T7UuCqIV6L>MgoNx@?T1LUDSX7mjmvpDwPynn%7G~dtVCCCYAhb-WY_s$t&QA}; z5Tx{gV-ugWIKAVQy?5*C!-ZyupgZyW{MaN|v$r@l$Ik4_N13K;Z8P)V z)L9-4$_!#FsW*%25_6|LJP{SpVuD3coPt?Ru6t=q;iKzVT`SUXbef&|GqBv{pHrql za`Sq!T}SS+9;5C#dqsR1Oo*m%Z`qDSw2?Zu)DxG5a@e4#1G^}eFc+w$OQZ8&B)Sdf z#h$vtg#L#gG#^FWU}uOZb&iNpFE63|W~Qy$wIUl!z%vzJg zB@YNJ-NMm-sOGV^Og^cnpyauJ6Z%{g-Mi|wmouvz@_UvlrY&L_`@rUe4n@7TIbf&> zACdF0r=cbZwLJeYU>z0Q75AEKr5{%gn_92%QRpZ~oGmu}zUzEZUs+iFl7Pb3_thk+ zySNbW2!A{!rYsJtEY7{-p)Rios%&|zwzHdvCK#%q(t^OcP=iI7kzxbQwS}w9tqve< z)s`0)eXK%=`_J(e7o-~dp}b(R()}1iKYpG#<1SsL*(s31Ky)-&ZHYlzT?oof34dB` zhF5G4xm71{x;HJ8uXv@~yC2K5;?`K4Q7D)m6_R}6QAXU08B(S>^_JB%R{mB;mDJKk zZt>o5Pid8oZ-~T0OK*P3v?AN_8LZ#Bjq3bRQ}d7<$OPUa5D;7rfpQu*Mz|}q`57)U z`Ny9i4GVhKaNd7TiVM}iFNqFE@f*tWOr;)p{(=<0PYj}9tHp!UP=r^fbrsSns9C)o z?Qf0&;r#KsTwp>@tevRnIpq1ASl4K(S*&QvPUlZoxSSf-qWV*)mY0pS1yo(Rch8+E3ge+w@}VP$ zkjALye5uq|s#$M}>X2Aq)Eg*1pr$i-E3y8u*zKk?FN@C|s3DS`-=rB%Ps8d_m1jT3 zOZ{0tauU0%<`&LywBJ*~*l1PwJPkty+e ze)Zsdq5FgL&lrE&x$Np}+}K7nC3`rm<bKF6hkxba%A8xiNT z+t~c8^cHur&Mi;JrLT&K7N!hZQY9pgR3S^MC){}7DyUn{Wl{L9DG3Vi1D5RsRKbBw zl7`9(&~Mua+Hi7muG8pdsrBa`V=Gqj&l&UT==_Y9_^Gi+gW{!jo_1Ip5OV@7W^f>* z7BsK?!l-#l*7OCehf#u8oQdZEM#nNIP1VRNCEkdGgNv3AdEN!m$Pw#79`EZl8-SNp zPB-kf!-&@8d-dA#zT_2Zwuahw?$(UFZWKx(CZYX&@;|p$x*s>-x2R#Dr@f zf24jn4DCOHM`7U|iU_eC0v0Pkz56Kq_4e96FrB-XTcA~=y*0BB6qN1*D{?bM|#(p3hlV?|b5I)2#}sWH1r;^Gp|8ydFp!e=VZ5`*ddH3p4|daT*R_=%Jr-ODgV_0dj3=esS#Fs{H zv_RfVl=tJ56h*162RuHuvyP*HxO6qEQsSOB4H9mxPHgBIocDJhPF6DITs!~a3)Xv~ zh~MHW=yGK z=wn_#QrI;`LFG%0&@XfP;KT>XPWCTMvO|QtEQ$$M<0!8-L#5BVLMr%I{`W@rK9ARq zAk$9{p!MRm`ok1gsX}{#0e9xN6$9G*(C^)PE)_L`H;i-)QS8@gzxK#KV>$-fj?{0D z(-$8^ZLi$+{S^uGX%<`4XU4RHwQB z?~{*EN3Ay_&!2Vqaf5%Ub6iUBSM8q>EHAKy-*fS~pNTs7*u$JJ=Q&SAlmDx6q^ zGP4qMd5OD~;^%HfPfKl`GDs^?cHFPIt+mD!PSy?3Q%$7|f82RgB^7etXJC|7_@d&6 zIl~geyfdw#8wBDrDzc6@LDjB{1# zq6O}wr<6`}jiyVt(lDlSfv8W=Z?YJ|S(Lb?Olxd`I0ZkrfA`DUD41*Ncy662`0!DU zGK;#ezu$0BaE)0Ha#urpBw)O;fBSj6pS|vo8T=f^PYez61*P{)WDxX0&5OBGKAyYY zZtlUzfx%#FcwF%ew%oO<_*sGdAnov4c27qvzw;&QsUuvAwWm1+#_g^=uQ`De6L6gA z%gl4(>&Q)Q@Z!?l#H5#%@3baCn{vcsy{!ATdvw}^q1&E1E2YK+r=YL~{nePt(N4a= zkfx%TH@=(?tEP&)z1`jiIAaMk__6AIMva*H$24S-I;0$8#BG_~C@0U^UieH(U2s>5 zBJ?=J?VFF{BWm^}E;{%@4X$QMW;i9MZE84=^X5=b0V>G6xxNmbRbyS0Rt%np9o`Y< z@#=yPDW5}0<>b$Uq4FcK1+g>55$cXW#t`7kKo2m$KXEj3@gkr zC$;jQ(0Ry#rq2DVZ{(jR%3o&w87lOjQ44pQdF}A>U5D^)CAtOs?dyU3yK(9}H-=ue zTm}H4tKSyC)qi6db~oA`Y;|`(u+3MlIus{|zYuz&wQ7+-{%&b$PV-zp1#U&y@^2+J z3AYS-$Ik2Ax1=5#X^U6cGnoiAH9Ip&(-7t1KW*~9TE^rGbNH^5%7w0YfQ~F4Uw?>( zbqA2F22LUZr1f|j$yTKPwr`~?zH@msnza&j`ugr;8rTg@Zz6}h@SAtaw@4egKGV5| z{L0rb&#ozH77I+dY-YM9U}~@m^Zh(gQSL<>rZR5W%5K;`;95k0?(GBGHmgml3HUay zTZXpUG3M9-o4D%ptu^pI~qDQ>By!4acR^v}_59Sbki1sj!xExp|b ztZyEZq@t>|C4H%~!_PfNLN90&pGL;k&XusY98v$lO~TO){Shc<%d-D9`Ui4-kubK$ z2LS+%f4rAUu z7baLU=Nqw};2&snrS7J%o_BDD&2H`x?fP>{OiWC4O3IX+oKOkO&MssrX1JY~Q2`_? z^>7f;_144IEp0C>gcUJZ>L!LEBs}ml9N{E?1VEh8XovWJ~$HP;gy$ z-xyAftJmUK`koO7E}XZV`@URqLOc~E?b*&Ndp&(aRJ|e}EoD>A(OK6&xA*A2Nb@eh z_Bi;&GQUJ@7;mK_uKehi4#MI>Yp_ZAGl;J|gjC1*+D(}Z*$3tb2)@)5ifT=JR9LKr zz=F_29LvIhsq{7Ly6ns-P;++8l$U$Cy;Y9HK5(qKC_sTfPmobUkt>jn&uld@f-l^ls5p*a;yn!y)Yjf z4&vCrX2c*V+6&INd)l9AG6y@7g<>+Uq4vD{(mGj{1Ntv+d><%-Il0CuLavEVcX^tc znhaweg9b7?C@oT`n0?@yD_dlf#n?25k~7!(i-cMwo-sT|sh8-RD`7zJAE0@@)a<;> zYP`Y+IF(|uicH+2Q8DpgjzRcu_ryYpusB~uQ;0&N0tM-ovIrhR6;KMIDQ45SDuj=^ z&V*3Is0p#BV4P=f*fQ&JO{%-wq&+bq@)TD);u56>p7woceil*{b{FADM||NnvlpBU-AHa#sIFW(XrME)G_E4)XvTA7|-(TS{FFu1sU^`Y6; zX0`UnK$)}sTyn11?NW?lHBJtO=AuYLzvK#)tYXgRVmU?n2C~PqzxwTfxB2=aq-36E zk*$pOHs`W#@0mc)Y7SQB?k*EFUMhj6H}lpsh;dM{O|cIoc?s}1;sm_5mnxK+@@>(% z%TE%UBOYQRG=Q(#QZTtoLNd1 zW(aI-^h{tJ$}4}ny<67cnwQBn$TqIrx}`3-3b(VhJ{Xq->CB#BzT>|&OD$MKbzktv zOns1zQBi;CrtLg7?%XaHp+$<7Ds#3VdYTuzes0W(CBv&-Qs*e!`1PUYdLMfAg3JZw zC3i9BB|X@(C8Qz!)Q<6>V2K`Tid&~cyc@O77FVuo)ZvOPhU623UgJ6BItw3rMQidP zyl)ntpB>P?hTO|8e?Rbkj(;^kHzrL^ZhQgW?@2K2AMUv%n*O55B9%-qZd-|UvSeEz z<-YXLEW)fi_23s~E&beQ*4G3%4N8YG?)slGaWPJkDbuk0axYbaW?yP*)~2io09=gt z6F6MZ^ykCi+&R*q$d07X$jUtDM4_J1kIr)urJ&!CVu;vp;hzBThpqlh(I4>RL-+r& z<=L0Pm-ozsea&>XWX7NQCR{HJ%E2Va6A&L5kWcDe?Z{VTUSnUx(a0`ROa71jx z)p621+>;2W`1hB)#rMHTEd|lhIpQcZ77A{md4W==waP5jGo`Ao59Oc{Dr1dD@=>ZF z`D#VOb92(9*~m=iJjpL?_uYOHimJ@ZM611c69e;bQ3_twv+yEvH$ddM2y(|GhZCV97~%~t z@wq|$5k!$ua*~egw#?%wMRv=(qaz7V#v59HyrSB?Lj;4@3Rzpj6~JcpdzaLTT)=H^cr2U_&VF&h?4JVG$g z?+ssGuWSQ$u+MUHv zJd3LQAF+jayH_f@_SYt$?7N`2_YPg%H3^AMl~gxzRYb_L0?kCfOem`v%$oerzL!}O z4;ty3*ESv3JNmW^W5Xmn*#YWn%9#q{GxSEeKavh_ta2)R%p9ACHt;}*s_KTBr_9>| znkBi;w`wo>Ly4&Fz@TC{i9v10inwl2rtDt-CC;w}o%}Y$A?!f`9EFN*#yB z>i9WqB2<1DmCa(Ib;JE|Szu8^mXM=GTQ8ONBhrYI?}$rdt}C#h#>D1l5uNq{(+vIK zPM5DCVuEsON7SLkN@S=(G&)nudjP-K8A5hiH<7TYTxwS0nii@KPXU)0Y8e^pZ+FRU zV_(W_IPxN)19Hwgd1jc_eSoK@_v?7^VhQX50xAnzTbuQ(nyGUJPgGD#;}X5gq4izm zQh{swhFax{MtSylMV(d3?q!ctIK=nXUJK85`w*{o%zJ;F$@i%sYO)1>d1lI+jEt*# zux&TFVUHCYo@ZAf_Ib<@>f_8S`Pn7R#`h-5bxjuf2F#K@#_>=NW6MXRMzm#ag?+%d z)(BsEz5x;8^?m4+sXRiwu5i9D8BI!tm1i2Nk-+jATLjhQxr8lgd3nvfjiND1Za1^B zf7C*P|D##DYvGUmpt(`${K}bC>)~H;iC!{bt1dZvE24PqNMTq*)1H8#HkPawaU~5^ z@`ebYXb!%t)0U~UI6H4YR9J8xF;IP|ignv7kYO>>dmktZ)f zQvcR3m>aml3M(O^zbpt*yyMA}JzTH_unf>PQfb|}s8}@##NVnx2(Z}nK!*G2u zMINN8(2q54Xw&z5cr=(bOlThSW@AzQ5MMYC?#%o0li?nUhw3QAFT82MD~Yo}vbA^*7ay z4Y_-NNL#;?P$svwE6*xr)Y*dN@%4Etw`dCWvs%d^JPHjK_Zm#4oKCAbMdc2KP4JlT zU>XK53?EyN+_J_cme_&U!?xX0QZTPQXP4Sv?2|mWg>rOR8qTZFOmMdREr9_hnGP@ic`#{^y=qmZplGMXpVYpWI z+d$WsW?kCbc(tO=C%Yp${7g4ZgMTKyr30y(0hLcbgc{J$;^EaE@n zz%ak~7th3%23ySVgT1{oz5QG&(+w@q7N4*c#j{-yh@pg(Yu2RWHnImh<;j(UNiX3vBLpffycXW-LChq>!BwI-H*)C979|~L16*TW=O)H1 zkfOn*99#EJW}XN+-lrt*U$gq{K3SpfGtR(E_=x|beyRC()Ew3=bF65bpkNxOQRLTH zD&L6%(E{Usc{7{ll%4Ck8ElgDATH0f3a+SPcJic&w2^L=+)SK_T&eE@o~ySMRAncc zLdnQlc}WxfAJL68hYRa2VRE5b8(C%4PV5!omke5eM$R8-{V5olo;H^Dg-7nE;9e6B zedQ5CyV&yJ#(94T$Ox8-oI+O=gXQ4eczI6!hNb}F8p)6o)#~F9P2N;j3Z_QZvrQz) zCnZ&Q*%QCRbs;bm2`*P!khVSy2>@#cPkU#6NsYd)!sZ^>)#V*u4Rp)eE?KXFho5 z<>@f?-K-qS-RRqbHZ8QtvBUWZxNHRsh$+x)e#%XsMYvzNC(IC0(mUzGJ@*Y%3BFE4#>1#I^z$6)F z@?%T`S!_|DX0~p<$HT2kDf=Zj_%n}YYgk};IBF3*KtavsOzswS6lu)H(89l@@w### zIS!Cqi>Rnr&2Tg_B|7Tsd5#v<@Cdxd^d2l9_%X`a=EaXrLlHv%uZLLC0hsig@l9Lc zf1QNke;FiYu@9J2DJAn_>#yFj*o)e!9bZz;ep^;^W8=n9UG%A&=X(+g4ch{8=Q&sD zb244F8+Mv3v`V!vO8$RPaWV4G#@FYCI{k<<9-TC|n+@^HmG=LKD=ET%aV2FdHaF8+ z*dij=aNM*=*epARn`>ULN8-C$7bRxvo{_=(FuQR3|I!NMKkPN&Tfg%5L2)}{!x{~4 zmGwP{J5Ax(2ILq2bkQRE=LH3Qy&ET~uTzsBKHB>FY=mJwIbHNV1}=KmM5_y?iF2yuxF!${nTbgpvgL)9$OY+&=z zsI@Cqjv;l6vOEJLIzrLP`Xz|nsqul3nTHxcbA%2*(iFG1vg}#2c4a2gzhxt0*jgG> z8*TsLe?v!hi*e^$#}WnX1|S}L;=ZQ7-fZR80cuGW*Ycci#HwwE?tN}fd%LzRIgjrM zvxX9%-aTfJTHx%m9e=C{>0la_Kbz`5JvwC(8`Ncew%>bVBu5Hq=Z++Cbt1N9F8;H5nteaL^6jEM_lo=?J_u~$kkq1_bj~F zPhe{(Sswrdn;s0>j@vMmQwMS%4Ag=9()O-ps)2S5Z{;3yOGl9V>q2-?e!gg0jK_dd zUQH)SsOU%5|L<7u|M$P?t1B(DR6M&fzZj=fg5{?@B}i;(Nq-5y_evVf!|HRLmy<%g rFQ*f!d0P0J{mfsVs(+XM&4Ir;@HYqk=D^<^_?rX&jXA)+-}iq2e4nW} literal 0 HcmV?d00001 diff --git a/public/images/avatar.jpg b/public/images/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba2c6661a4000fd80cd74a9f45a0674bec7a547a GIT binary patch literal 23711 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 { + console.log('DOMContentLoaded') + const delay = 1500 + document.querySelector('aside').hidden = false + window.setTimeout( () => { + document.querySelector('aside').hidden = true + },delay) + + if (document.querySelector('button.back')) { + document.querySelectorAll('button.back').forEach(element => { + element.addEventListner('click',() => { + console.log('back button clicked') + console.log(window.history) + window.history.back() + }) + }) + } + +}) diff --git a/public/style.css b/public/style.css new file mode 100644 index 0000000..0eebc21 --- /dev/null +++ b/public/style.css @@ -0,0 +1,249 @@ + +body { + font-family: Arial, Helvetica, sans-serif; + margin: 0; + background-color: #0a043c; + color: #f1f6f9; + } + +/* formats the red message boxes */ +aside { + max-width: 400px; + margin: auto; +} +.msg { + position: fixed; + top: 2em; + border: 1px solid red; + font-weight: bold; + background-color: #008891; + color: #e7e7de; + padding: 1em; + margin: 2em; +} + +header { + background-color: #f3f2da; + border-bottom: 5px solid #a0c1b8; + height: 8vw; +} + +h1, h2, h3 { + margin: 0; + padding: 0; + color: #4e8d7c; +} + +h1 { + padding: 2.6vw; + float: left; + font-size: 3vw; + margin-left: 6vw; +} + +h2 { + font-size: 2.5vw; + margin: 1vw; + margin-left: 0.6vw; +} + +h3 { + font-size: 2vw; + margin: 1vw; + margin-left: 0.6vw; +} + +header > a { + margin-top: 3vw; + margin-right: 3vw; + float: right; + font-size: 1.3vw; +} + +header > img { + width: 7vw; + border-radius: 50%; + position: absolute; + left: 0.5vw; + top: 0.5vw; +} + +p, legend { + font-size: 1.5vw; +} + +main { + max-width: 800%; + margin: auto; + margin-top: 2em; + padding: 2em; + box-sizing: border-box; + background-color: #045762; + +} + +article { + width: 50vw; + /* background-color: grey; + float: left; */ + background-color: #4e8d7c; +} + +aside { + /* background-color: yellow; + float: right; */ + width: 10vw; +} + +main a { + color: #ffe3d8; + text-decoration: underline; + text-decoration: none; + +} + +main a:hover { + color: #045762; + text-decoration: none; + background-color: #ffe3d8; + +} + +section { + background-color: #DDD; + width: 24vw; + margin-top: 1vw; + padding: 1vw; + border-radius: 1vw; +} + +section > p { + margin: 0; + padding: 0; + margin-bottom: 0.5vw; +} + +section > h3 { + margin: 0; + padding: 0; + font-size: 1.8vw; +} + +small { + display: block; + text-align: right; +} + +/* ===== FORMS ===== */ + +fieldset { + position: relative; + width: 25vw; + border: 1px solid #f25d9c; + padding-top: 4vw; +} + +legend { + position:absolute; + top:0; + left:0; + width: 25.5vw; + background-color: #ccc; + border-bottom: 5px solid #f25d9c; + padding: 0.6vw; +} + +input[type="file"] { + display: none; +} + +input[type="submit"], header > a, .custom-file-upload { + background-color: grey; + border: 2px solid grey; + color: white; + padding: 0.4vw 0.8vw; + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 1.5vw; + /* border-radius: 0.6vw; */ +} + +input[type="submit"]:hover, header > a:hover, .custom-file-upload:hover { + color: grey; + background-color: white; +} + +input[type="text"], input[type="email"], input[type="password"], textarea, select { + font-size: 1.5vw; + width: 25vw; + border: 1px solid #CCC; + padding: 0.5vw; + /* margin-bottom: 1vw; */ + /* border-radius: 0.6vw; */ +} + +textarea { + height: 10vw; + resize: none; +} + +select { + width: 26.3vw; + -webkit-appearance: none; + -webkit-border-radius: 0px; +} + +form > br { + line-height: 3vw; +} + +dl { + width: 35vw; + overflow: hidden; + /* background: #ff0; */ + padding: 0; + margin: 0; + font-size: 1.5vw; +} +dt { + float: left; + width: 10.5vw; + /* adjust the width; make sure the total of both is 100% */ + /* background: #cc0; */ + padding: 0.5vw; + margin: 0 +} +dd { + float: left; + width: 21vw; + /* adjust the width; make sure the total of both is 100% */ + /* background: #dd0; */ + padding: 0.5vw; + margin: 0 +} + +/* ===== TABLES ===== */ + +table { + /* border: 1px solid grey; */ + border-collapse: collapse; + margin: auto; + background-color: #aacfcf; +} + +tr:nth-child(odd) { + background: #679b9b; +} + +td, th { + /* border: 1px solid grey; */ + padding: 0.5vw; + font-size: 1.5vw; + +} + +td:last-child, th:last-child{ + + text-align: right; +} diff --git a/routes/news.js b/routes/news.js new file mode 100644 index 0000000..3b58ae7 --- /dev/null +++ b/routes/news.js @@ -0,0 +1,48 @@ + +import Router from 'koa-router' + +const router = new Router({ prefix: '/news' }) + +import newsinfo from '../modules/newsinfo.js' +const dbName = 'website.db' + +async function checkAuth(ctx, next) { + console.log('secure router middleware') + console.log(ctx.hbs) + if(ctx.hbs.authorised !== true) return ctx.redirect('/login?msg=you need to log in&referrer=/secure') + await next() +} + +router.use(checkAuth) + + +router.get('/', async ctx => { + const Newsinfo = await new newsinfo(dbName) + try{ + const records = await Newsinfo.all() + console.log(records) + ctx.hbs.records = records + await ctx.render('news', ctx.hbs) + } catch (err) { + ctx.hbs.error = err.message + await ctx.render('error', ctx.hbs) + } + +}) + +router.get('/details/:id',async ctx => { + const Newsinfo = await new newsinfo(dbName) + try{ + console.log(`record: ${ctx.params.id}`) + ctx.hbs.news = await Newsinfo.getByID(ctx.params.id) + console.log(ctx.hbs) + ctx.hbs.id = ctx.params.id + await ctx.render('details', ctx.hbs) + } catch(err) { + console.log(err) + await ctx.render('error', ctx.hbs) + } +}) + + +export default router diff --git a/routes/public.js b/routes/public.js new file mode 100644 index 0000000..ca23f82 --- /dev/null +++ b/routes/public.js @@ -0,0 +1,87 @@ + +import Router from 'koa-router' +import bodyParser from 'koa-body' + +const router = new Router() +router.use(bodyParser({multipart: true})) + +import Accounts from '../modules/accounts.js' +const dbName = 'website.db' + +/** + * The secure home page. + * + * @name Home Page + * @route {GET} / + */ +router.get('/', async ctx => { + try { + if (ctx.hbs.authorised) { + return ctx.redirect('/news?msg=you are logged in...') + } else { + return ctx.redirect('/login?msg=you are log in') + } + } catch(err) { + await ctx.render('error', ctx.hbs) + } +}) + + +/** + * The user registration page. + * + * @name Register Page + * @route {GET} /register + */ +router.get('/register', async ctx => await ctx.render('register')) + +/** + * The script to process new user registrations. + * + * @name Register Script + * @route {POST} /register + */ +router.post('/register', async ctx => { + const account = await new Accounts(dbName) + try { + // call the functions in the module + await account.register(ctx.request.body.user, ctx.request.body.pass, ctx.request.body.email) + ctx.redirect(`/login?msg=new user "${ctx.request.body.user}" added, you need to log in`) + } catch(err) { + ctx.hbs.msg = err.message + ctx.hbs.body = ctx.request.body + console.log(ctx.hbs) + await ctx.render('register', ctx.hbs) + } finally { + account.close() + } +}) + +router.get('/login', async ctx => { + console.log(ctx.hbs) + await ctx.render('login', ctx.hbs) +}) + +router.post('/login', async ctx => { + const account = await new Accounts(dbName) + ctx.hbs.body = ctx.request.body + try { + const body = ctx.request.body + await account.login(body.user, body.pass) + ctx.session.authorised = true + const referrer = body.referrer || '/news' + return ctx.redirect(`${referrer}?msg=you are now logged in...`) + } catch(err) { + ctx.hbs.msg = err.message + await ctx.render('login', ctx.hbs) + } finally { + account.close() + } +}) + +router.get('/logout', async ctx => { + ctx.session.authorised = null + ctx.redirect('/?msg=you are now logged out') +}) + +export default router diff --git a/routes/routes.js b/routes/routes.js new file mode 100644 index 0000000..3dc40e4 --- /dev/null +++ b/routes/routes.js @@ -0,0 +1,15 @@ + +import Router from 'koa-router' + +import publicRouter from './public.js' +import newsRouter from'./news.js' + +const mainRouter = new Router() + +const nestedRoutes = [publicRouter, newsRouter] +for (const router of nestedRoutes) { + mainRouter.use(router.routes()) + mainRouter.use(router.allowedMethods()) +} + +export default mainRouter diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..45c1810 --- /dev/null +++ b/setup.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# SETUP SCRIPT +# run this script to install all the required tools and packages. + +red=`tput setaf 1` +green=`tput setaf 2` +reset=`tput sgr0` + +echo +echo "========= CHANGING DIRECTORY TO ${green}FILES${reset} ==============" +echo +if [[ -f "./files" ]] +then + cd files +fi +chmod +x .githooks/* +echo +echo "============= INSTALLING ${green}DEBIAN${reset} TOOLS ==============" +echo +sudo apt update -y +sudo apt upgrade -y +sudo apt install -y psmisc lsof tree sqlite3 sqlite3-doc build-essential +echo +echo "========= INSTALLING NODE USING ${green}NODESOURCE${reset} =========" +echo +curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - +sudo apt install -y nodejs +echo +echo "=========== INSTALLING THE ${green}NODE PACKAGES${reset} ===========" +echo +npm install +npm audit fix +echo +echo "============== RUNNING THE ${green}UNIT TESTS${reset} ==============" +echo +npm test +echo +echo "================ RUNNING THE ${green}LINTER${reset} ================" +echo +npm run linter +echo +echo "===== CHECKING THE VERSION OF ${green}NODEJS${reset} INSTALLED =====" +echo +node -v +echo "================= ${green}SETUP COMPLETED ${reset} =================" diff --git a/unitTests/test-accounts.js b/unitTests/test-accounts.js new file mode 100644 index 0000000..e23c414 --- /dev/null +++ b/unitTests/test-accounts.js @@ -0,0 +1,112 @@ + +import test from 'ava' +import Accounts from '../modules/accounts.js' + +test('REGISTER : register and log in with a valid account', async test => { + test.plan(1) + const account = await new Accounts() // no database specified so runs in-memory + try { + await account.register('doej', 'password', 'doej@gmail.com') + const login = await account.login('doej', 'password') + test.is(login, true, 'unable to log in') + } catch(err) { + test.fail('error thrown') + } finally { + account.close() + } +}) + +test('REGISTER : register a duplicate username', async test => { + test.plan(1) + const account = await new Accounts() + try { + await account.register('doej', 'password', 'doej@gmail.com') + await account.register('doej', 'password', 'doej@gmail.com') + test.fail('error not thrown') + } catch(err) { + test.is(err.message, 'username "doej" already in use', 'incorrect error message') + } finally { + account.close() + } +}) + +test('REGISTER : error if blank username', async test => { + test.plan(1) + const account = await new Accounts() + try { + await account.register('', 'password', 'doej@gmail.com') + test.fail('error not thrown') + } catch(err) { + test.is(err.message, 'missing field', 'incorrect error message') + } finally { + account.close() + } +}) + +test('REGISTER : error if blank password', async test => { + test.plan(1) + const account = await new Accounts() + try { + await account.register('doej', '', 'doej@gmail.com') + test.fail('error not thrown') + } catch(err) { + test.is(err.message, 'missing field', 'incorrect error message') + } finally { + account.close() + } +}) + +test('REGISTER : error if blank email', async test => { + test.plan(1) + const account = await new Accounts() + try { + await account.register('doej', 'password', '') + test.fail('error not thrown') + } catch(err) { + test.is(err.message, 'missing field', 'incorrect error message') + } finally { + account.close() + } +}) + +test('REGISTER : error if duplicate email', async test => { + test.plan(1) + const account = await new Accounts() + try { + await account.register('doej', 'password', 'doej@gmail.com') + await account.register('bloggsj', 'newpassword', 'doej@gmail.com') + test.fail('error not thrown') + } catch(err) { + test.is(err.message, 'email address "doej@gmail.com" is already in use', 'incorrect error message') + } finally { + account.close() + } +}) + +test('LOGIN : invalid username', async test => { + test.plan(1) + const account = await new Accounts() + try { + await account.register('doej', 'password', 'doej@gmail.com') + await account.login('roej', 'password') + test.fail('error not thrown') + } catch(err) { + test.is(err.message, 'username "roej" not found', 'incorrect error message') + } finally { + account.close() + } +}) + +test('LOGIN : invalid password', async test => { + test.plan(1) + const account = await new Accounts() + try { + await account.register('doej', 'password', 'doej@gmail.com') + await account.login('doej', 'bad') + test.fail('error not thrown') + } catch(err) { + test.is(err.message, 'invalid password for account "doej"', 'incorrect error message') + } finally { + account.close() + } +}) diff --git a/views/details.handlebars b/views/details.handlebars new file mode 100644 index 0000000..f60fdff --- /dev/null +++ b/views/details.handlebars @@ -0,0 +1,32 @@ + + + + + + Details - {{newsinfo.title}} {{newsinfo.headline}} + + + + + + +

+

Details - {{newsinfo.title}} {{newsinfo.headline}}

+
Logout +
+ {{#if msg}} + + {{/if}} +
+
+ +
{{newsinfo.title}} {{newsinfo.headline}}
+
+
+ + + diff --git a/views/error.handlebars b/views/error.handlebars new file mode 100644 index 0000000..63db6df --- /dev/null +++ b/views/error.handlebars @@ -0,0 +1,20 @@ + + + + + + + ERROR + + + + + +
+

An Error Has Occurred

+
+
+

{{message}}

+
+ + diff --git a/views/index.handlebars b/views/index.handlebars new file mode 100644 index 0000000..10685e3 --- /dev/null +++ b/views/index.handlebars @@ -0,0 +1,45 @@ + + + + + + + Home Page + + + + + + +
+

Home

+ {{#if authorised}} + Log out + {{else}} + Log in + {{/if}} +
+ {{#if msg}} + + {{/if}} +
+ + + {{#each records}} + + + + + + + {{/each}} +
PhotoTitleHeadlineLast Added
{{this.title}}{{this.headline}}{{this.lastAdded}}
+

This is the home page. Users can see it without logging in.

+ {{#if authorised}} +

secure page

+ {{/if}} +
+ + diff --git a/views/login.handlebars b/views/login.handlebars new file mode 100644 index 0000000..6a4d9ab --- /dev/null +++ b/views/login.handlebars @@ -0,0 +1,39 @@ + + + + + + + Log In + + + + + + +
+

Log In

+ Register +
+ {{#if msg}} + + {{/if}} +
+
+

+
+ +

+

+
+ +

+ +

+
+

Home page

+
+ + diff --git a/views/news.handlebars b/views/news.handlebars new file mode 100644 index 0000000..c763cae --- /dev/null +++ b/views/news.handlebars @@ -0,0 +1,41 @@ + + + + + + + Home Page + + + + + + +
+

News Page

+ Log out +
+ {{#if msg}} + + {{/if}} +
+ + + {{#each records}} + + + + + + + + {{/each}} +
PhotoTitleHeadlineLast AddedActions
{{this.title}}{{this.headline}}{{this.lastAdded}}details
+ +

This is a secure page. Users need to have a valid account and be logged in to see it.

+

Home page

+
+ + diff --git a/views/register.handlebars b/views/register.handlebars new file mode 100644 index 0000000..59f6cba --- /dev/null +++ b/views/register.handlebars @@ -0,0 +1,40 @@ + + + + + + + Create an Account + + + + + +
+

Create an Account

+ Log in +
+ {{#if msg}} + + {{/if}} +
+
+

+
+ +

+

+
+ +

+

+
+ +

+

+
+
+ +