From 79d631b54be124e4d57980ec04286365afb54da1 Mon Sep 17 00:00:00 2001 From: Sreeram Padmanabhan Date: Wed, 30 Oct 2019 12:03:49 +0530 Subject: [PATCH] feat: initial commit --- .babelrc | 22 + .circleci/config.yml | 133 + .editorconfig | 7 + .env/.gitkeep | 0 .eslintignore | 11 + .eslintrc.js | 51 + .firebaserc | 18 + .gitignore | 20 + commitlint.config.js | 1 + cypress.json | 3 + cypress/fixtures/example.json | 5 + cypress/integration/meta.js | 28 + cypress/plugins/index.js | 18 + cypress/support/commands.js | 25 + cypress/support/index.js | 20 + firebase.json | 74 + functions/package-lock.json | 4313 ++++ functions/package.json | 38 + images/site/favicon.ico | Bin 0 -> 1887 bytes images/site/lighthouse.png | Bin 0 -> 33588 bytes images/site/logo-100.png | Bin 0 -> 4426 bytes images/site/logo-192.png | Bin 0 -> 16075 bytes images/site/logo-512.png | Bin 0 -> 75278 bytes images/site/logo-56.png | Bin 0 -> 2152 bytes images/site/og_image.jpg | Bin 0 -> 58163 bytes images/site/og_image_2.jpg | Bin 0 -> 64078 bytes images/site/partners.jpg | Bin 0 -> 2547 bytes jsdoc.js | 10 + karma/karma.bs.conf.js | 29 + karma/karma.bs.launchers.js | 41 + karma/karma.conf.js | 36 + package-lock.json | 19286 ++++++++++++++++ package.json | 128 + posts/home/home/home.md | 9 + .../setup/tutorials/environment-variables.md | 13 + posts/setup/tutorials/features.md | 47 + posts/setup/tutorials/folder-structure.md | 46 + posts/setup/tutorials/long-cut.md | 51 + posts/setup/tutorials/new-blog-post.md | 9 + posts/setup/tutorials/npm-scripts.md | 47 + posts/setup/tutorials/running-app-locally.md | 8 + posts/setup/tutorials/short-cut.md | 34 + puppeteer/coverage.js | 235 + puppeteer/crawlsite.js | 183 + puppeteer/d3tree.html | 202 + puppeteer/google_search_features.js | 303 + puppeteer/verify_sw_caching.js | 72 + readme.md | 289 + src/client/assets.js | 8 + src/client/data/app/appActions.js | 88 + src/client/data/app/appReducer.js | 20 + src/client/data/middlewares/reduxMulti.js | 3 + src/client/data/state.js | 8 + src/client/data/store.js | 18 + src/client/index.js | 46 + src/client/list.js | 54 + src/client/routes.js | 12 + src/client/test.js | 2 + src/client/utils/custom.js | 51 + src/client/utils/helpers.js | 20 + src/client/utils/webShare.js | 3 + .../view/components/AppShell/AppShell.js | 93 + src/client/view/components/AppShell/styles.js | 42 + src/client/view/components/Content/Content.js | 21 + src/client/view/components/Content/styles.js | 19 + .../view/components/CopyRight/CopyRight.js | 18 + .../view/components/CopyRight/styles.js | 8 + .../components/ErrorBoundary/ErrorBoundary.js | 21 + .../components/ErrorMessage/ErrorMessage.js | 109 + src/client/view/components/Footer/Footer.js | 19 + src/client/view/components/Footer/styles.js | 14 + .../FullpageLoader/FullpageLoader.js | 8 + .../LoadingIndicator/LoadingIndicator.js | 18 + .../LoadingIndicator/LoadingIndicator.test.js | 14 + .../view/components/Markdown/Markdown.js | 31 + .../view/components/MetaTags/MetaTags.js | 17 + src/client/view/components/Navbar/Navbar.js | 36 + src/client/view/components/Navbar/styles.js | 53 + .../view/components/Navigation/Navigation.js | 46 + .../view/components/Navigation/styles.js | 5 + .../view/components/NestedList/NestedList.js | 45 + .../view/components/NestedList/styles.js | 9 + .../view/components/PayButton/PayButton.js | 53 + .../view/components/PayButton/PaytmButton.js | 55 + src/client/view/components/Post/Post.js | 13 + .../components/RightSidebar/RightSidebar.js | 13 + src/client/view/components/Sidebar/Sidebar.js | 44 + src/client/view/components/Sidebar/styles.js | 17 + .../SidebarContent/RightSidebarContent.js | 19 + .../SidebarContent/SidebarContent.js | 39 + .../view/components/SidebarContent/styles.js | 27 + .../components/SocialLinks/SocialLinks.js | 48 + .../view/components/SocialLinks/styles.js | 17 + src/client/view/components/Toolbar/Toolbar.js | 9 + src/client/view/components/Toolbar/styles.js | 12 + src/client/view/pages/Home/Home.js | 65 + src/server/app.js | 70 + src/server/dev.js | 9 + src/server/mock.js | 34 + src/server/prod.js | 4 + src/server/utils.js | 81 + src/theme.js | 25 + src/variables.js | 110 + templates/client.html | 95 + templates/privacy.html | 121 + templates/server.html | 132 + templates/test.html | 1 + webpack/optimization.js | 18 + webpack/webpack.client.common.js | 69 + webpack/webpack.client.dev.js | 33 + webpack/webpack.client.prod.js | 36 + webpack/webpack.config.js | 1 + webpack/webpack.server.dev.js | 39 + webpack/webpack.server.prod.js | 40 + webpack/webpack.test.js | 34 + 115 files changed, 28227 insertions(+) create mode 100644 .babelrc create mode 100644 .circleci/config.yml create mode 100644 .editorconfig create mode 100644 .env/.gitkeep create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .firebaserc create mode 100644 .gitignore create mode 100644 commitlint.config.js create mode 100644 cypress.json create mode 100644 cypress/fixtures/example.json create mode 100644 cypress/integration/meta.js create mode 100644 cypress/plugins/index.js create mode 100644 cypress/support/commands.js create mode 100644 cypress/support/index.js create mode 100644 firebase.json create mode 100644 functions/package-lock.json create mode 100644 functions/package.json create mode 100644 images/site/favicon.ico create mode 100644 images/site/lighthouse.png create mode 100644 images/site/logo-100.png create mode 100644 images/site/logo-192.png create mode 100644 images/site/logo-512.png create mode 100644 images/site/logo-56.png create mode 100644 images/site/og_image.jpg create mode 100644 images/site/og_image_2.jpg create mode 100644 images/site/partners.jpg create mode 100644 jsdoc.js create mode 100644 karma/karma.bs.conf.js create mode 100644 karma/karma.bs.launchers.js create mode 100644 karma/karma.conf.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 posts/home/home/home.md create mode 100644 posts/setup/tutorials/environment-variables.md create mode 100644 posts/setup/tutorials/features.md create mode 100644 posts/setup/tutorials/folder-structure.md create mode 100644 posts/setup/tutorials/long-cut.md create mode 100644 posts/setup/tutorials/new-blog-post.md create mode 100644 posts/setup/tutorials/npm-scripts.md create mode 100644 posts/setup/tutorials/running-app-locally.md create mode 100644 posts/setup/tutorials/short-cut.md create mode 100644 puppeteer/coverage.js create mode 100644 puppeteer/crawlsite.js create mode 100644 puppeteer/d3tree.html create mode 100644 puppeteer/google_search_features.js create mode 100644 puppeteer/verify_sw_caching.js create mode 100644 readme.md create mode 100644 src/client/assets.js create mode 100644 src/client/data/app/appActions.js create mode 100644 src/client/data/app/appReducer.js create mode 100644 src/client/data/middlewares/reduxMulti.js create mode 100644 src/client/data/state.js create mode 100644 src/client/data/store.js create mode 100644 src/client/index.js create mode 100644 src/client/list.js create mode 100644 src/client/routes.js create mode 100644 src/client/test.js create mode 100644 src/client/utils/custom.js create mode 100644 src/client/utils/helpers.js create mode 100644 src/client/utils/webShare.js create mode 100644 src/client/view/components/AppShell/AppShell.js create mode 100644 src/client/view/components/AppShell/styles.js create mode 100644 src/client/view/components/Content/Content.js create mode 100644 src/client/view/components/Content/styles.js create mode 100644 src/client/view/components/CopyRight/CopyRight.js create mode 100644 src/client/view/components/CopyRight/styles.js create mode 100644 src/client/view/components/ErrorBoundary/ErrorBoundary.js create mode 100644 src/client/view/components/ErrorMessage/ErrorMessage.js create mode 100644 src/client/view/components/Footer/Footer.js create mode 100644 src/client/view/components/Footer/styles.js create mode 100644 src/client/view/components/FullpageLoader/FullpageLoader.js create mode 100644 src/client/view/components/LoadingIndicator/LoadingIndicator.js create mode 100644 src/client/view/components/LoadingIndicator/LoadingIndicator.test.js create mode 100644 src/client/view/components/Markdown/Markdown.js create mode 100644 src/client/view/components/MetaTags/MetaTags.js create mode 100644 src/client/view/components/Navbar/Navbar.js create mode 100644 src/client/view/components/Navbar/styles.js create mode 100644 src/client/view/components/Navigation/Navigation.js create mode 100644 src/client/view/components/Navigation/styles.js create mode 100644 src/client/view/components/NestedList/NestedList.js create mode 100644 src/client/view/components/NestedList/styles.js create mode 100644 src/client/view/components/PayButton/PayButton.js create mode 100644 src/client/view/components/PayButton/PaytmButton.js create mode 100644 src/client/view/components/Post/Post.js create mode 100644 src/client/view/components/RightSidebar/RightSidebar.js create mode 100644 src/client/view/components/Sidebar/Sidebar.js create mode 100644 src/client/view/components/Sidebar/styles.js create mode 100644 src/client/view/components/SidebarContent/RightSidebarContent.js create mode 100644 src/client/view/components/SidebarContent/SidebarContent.js create mode 100644 src/client/view/components/SidebarContent/styles.js create mode 100644 src/client/view/components/SocialLinks/SocialLinks.js create mode 100644 src/client/view/components/SocialLinks/styles.js create mode 100644 src/client/view/components/Toolbar/Toolbar.js create mode 100644 src/client/view/components/Toolbar/styles.js create mode 100644 src/client/view/pages/Home/Home.js create mode 100644 src/server/app.js create mode 100644 src/server/dev.js create mode 100644 src/server/mock.js create mode 100644 src/server/prod.js create mode 100644 src/server/utils.js create mode 100644 src/theme.js create mode 100644 src/variables.js create mode 100644 templates/client.html create mode 100644 templates/privacy.html create mode 100644 templates/server.html create mode 100644 templates/test.html create mode 100644 webpack/optimization.js create mode 100644 webpack/webpack.client.common.js create mode 100644 webpack/webpack.client.dev.js create mode 100644 webpack/webpack.client.prod.js create mode 100644 webpack/webpack.config.js create mode 100644 webpack/webpack.server.dev.js create mode 100644 webpack/webpack.server.prod.js create mode 100644 webpack/webpack.test.js diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..1198bd6 --- /dev/null +++ b/.babelrc @@ -0,0 +1,22 @@ +{ + "presets": [ + "@babel/preset-react", + [ + "@babel/preset-env", + { + "targets": { + "chrome": "41", + "ie": "10" + } + } + ] + ], + "plugins": [ + "istanbul", + "@babel/plugin-proposal-class-properties", + "@babel/plugin-syntax-dynamic-import", + ["@babel/plugin-transform-runtime", { + "regenerator": true + }] + ] +} \ No newline at end of file diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..cf8822b --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,133 @@ +version: 2 +jobs: + stage: + working_directory: ~/repo + docker: + - image: circleci/node:8-browsers + steps: + - checkout + - restore_cache: + keys: + - v1-deps-{{ .Branch }}-{{ checksum "package.json" }} + - v1-deps-{{ .Branch }} + - v1-deps + - run: + name: Install dependencies + command: npm install + - save_cache: + key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }} + paths: + - node_modules + - ~/.npm + - ~/.cache + - run: + name: Build + command: npm run build:client:prod && npm run build:server:prod + - run: + name: Stage Functions + command: npm run firebase:server:prod + - run: + name: Stage Hosting + command: npm run firebase:client:test + + unit_test: + working_directory: ~/repo + docker: + - image: circleci/node:8-browsers + steps: + - checkout + - restore_cache: + keys: + - v1-deps-{{ .Branch }}-{{ checksum "package.json" }} + - v1-deps-{{ .Branch }} + - v1-deps + - run: + name: Install dependencies + command: npm install + - save_cache: + key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }} + paths: + - node_modules + - ~/.npm + - ~/.cache + - run: + name: Lint + command: npm run lint + - run: + name: Test + command: npm test + - run: + name: Codecov + command: npm run test:codecov + - run: + name: Browserstack + command: npm run test:browserstack + + performance: + working_directory: ~/repo + docker: + - image: circleci/node:8-browsers + steps: + - checkout + - restore_cache: + keys: + - v1-deps-{{ .Branch }}-{{ checksum "package.json" }} + - v1-deps-{{ .Branch }} + - v1-deps + - run: + name: Install dependencies + command: npm install + - save_cache: + key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }} + paths: + - node_modules + - ~/.npm + - ~/.cache + - run: + name: Cypress test + command: npm run test:cypress:run + - run: + name: Puppeteer Coverage + command: npm run test:puppeteer:coverage + + activate: + docker: + - image: circleci/node:8-browsers + steps: + - checkout + - restore_cache: + keys: + - v1-deps-{{ .Branch }}-{{ checksum "package.json" }} + - v1-deps-{{ .Branch }} + - v1-deps + - run: + name: Install dependencies + command: npm install + - save_cache: + key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }} + paths: + - node_modules + - ~/.npm + - ~/.cache + - run: + name: Production Hosting + command: npm run firebase:client:prod + +workflows: + version: 2 + build_and_activate: + jobs: + - stage + - unit_test + - performance: + requires: + - stage + - unit_test + - activate: + requires: + - stage + - unit_test + - performance + filters: + branches: + only: master \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..79eab2d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,7 @@ +; Unix-style newlines +[*] +charset = utf-8 +end_of_line = LF +indent_size = 2 +indent_style = space +trim_trailing_whitespace = true \ No newline at end of file diff --git a/.env/.gitkeep b/.env/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..28ada2f --- /dev/null +++ b/.eslintignore @@ -0,0 +1,11 @@ +_dist +_test +_docs +node_modules +webpack +functions +puppeteer +cypress +templates +out +src/server-dev/index.js \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..5349a2f --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,51 @@ +module.exports = { + extends: ["eslint:recommended", "plugin:react/recommended"], + parser: "babel-eslint", + parserOptions: { + ecmaVersion: 6, + ecmaFeatures: { + jsx: true, + modules: true + } + }, + env: { + browser: true, + node: true, + jasmine: true, + }, + globals: { + shallow: true + }, + rules: { + 'react/prop-types': 0, + 'no-multiple-empty-lines': ["error", { "max": 1, "maxEOF": 1 }], + 'no-extra-parens': ["error", "all", { "nestedBinaryExpressions": false }], + 'block-scoped-var': "error", + 'eqeqeq': "error", + 'object-curly-spacing': ["error", "always"], + 'block-scoped-var': "error", + 'no-alert': "error", + 'no-else-return': "error", + 'no-empty-function': "error", + 'no-empty-pattern': "error", + 'no-magic-numbers': "error", + 'no-multi-spaces': "error", + 'global-require': "error", + 'handle-callback-err': "error", + 'no-mixed-requires': "error", + 'array-bracket-spacing': ["error", "always"], + 'block-spacing': "error", + 'camelcase': "error", + 'comma-dangle': ["error", "always-multiline"], + 'comma-spacing': ["error", { "before": false, "after": true }], + 'implicit-arrow-linebreak': ["error", "beside"], + 'indent': ["error", 2], + 'jsx-quotes': ["error", "prefer-double"], + 'react/jsx-closing-bracket-location': ['error', 'after-props'], + }, + settings: { + react: { + version: "16.0", + } + }, +}; \ No newline at end of file diff --git a/.firebaserc b/.firebaserc new file mode 100644 index 0000000..23bea05 --- /dev/null +++ b/.firebaserc @@ -0,0 +1,18 @@ +{ + "projects": { + "default": "jsdrome", + "test": "jsdrome" + }, + "targets": { + "jsdrome": { + "hosting": { + "prod": [ + "jsdrome" + ], + "test": [ + "jsdrome-test" + ] + } + } + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..adc52f3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +node_modules +.DS_STORE +_dist +_test +_docs +.firebase +functions/index.js +functions/templates +functions/posts +functions/node_modules +*.log +*.err +cypress/screenshots +cypress/videos +.env/env.sh +output +src/server/index.js +src/server/templates +src/server/posts +content.txt \ No newline at end of file diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 0000000..d625c69 --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1 @@ +module.exports = { extends: [ '@commitlint/config-conventional' ] }; diff --git a/cypress.json b/cypress.json new file mode 100644 index 0000000..dec7ccb --- /dev/null +++ b/cypress.json @@ -0,0 +1,3 @@ +{ + "projectId": "fwdfxw" +} diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json new file mode 100644 index 0000000..da18d93 --- /dev/null +++ b/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} \ No newline at end of file diff --git a/cypress/integration/meta.js b/cypress/integration/meta.js new file mode 100644 index 0000000..ac1e640 --- /dev/null +++ b/cypress/integration/meta.js @@ -0,0 +1,28 @@ +/* eslint-disable no-magic-numbers */ +/* eslint-disable no-undef */ +import { STAGE_URL, URL, DESCRIPTION } from '../../src/variables'; +import links from '../../src/client/list'; + +beforeEach(() => { + if (window.navigator && navigator.serviceWorker) { + navigator.serviceWorker.getRegistrations() + .then((registrations) => { + registrations.forEach((registration) => { + registration.unregister(); + }); + }); + } +}) + +describe('My First Test', function () { + it('Visits the Home page', function () { + const post = links[0].links[0]; + cy.visit(STAGE_URL); + cy.title().should('eq', post.title + ' | ' + DESCRIPTION); + cy.get('meta[name="description"]').should("have.attr", "content", post.description); + cy.get('meta[property="og:description"]').should("have.attr", "content", post.ogDescription); + cy.get('meta[property="og:title"]').should("have.attr", "content", post.ogTitle); + cy.get('meta[property="og:url"]').should("have.attr", "content", URL + '/'); + cy.get('meta[property="og:image"]').should("have.attr", "content", post.ogImage); + }) +}); \ No newline at end of file diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js new file mode 100644 index 0000000..401ea22 --- /dev/null +++ b/cypress/plugins/index.js @@ -0,0 +1,18 @@ +// *********************************************************** +// This example plugins/index.js can be used to load plugins +// +// You can change the location of this file or turn off loading +// the plugins file with the 'pluginsFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/plugins-guide +// *********************************************************** + +// This function is called when a project is opened or re-opened (e.g. due to +// the project's config changing) + +// eslint-disable-next-line no-unused-vars +module.exports = (on, config) => { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config +} diff --git a/cypress/support/commands.js b/cypress/support/commands.js new file mode 100644 index 0000000..c1f5a77 --- /dev/null +++ b/cypress/support/commands.js @@ -0,0 +1,25 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add("login", (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This is will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/cypress/support/index.js b/cypress/support/index.js new file mode 100644 index 0000000..d68db96 --- /dev/null +++ b/cypress/support/index.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') diff --git a/firebase.json b/firebase.json new file mode 100644 index 0000000..0858ad3 --- /dev/null +++ b/firebase.json @@ -0,0 +1,74 @@ +{ + "hosting": [ + { + "target": "prod", + "public": "./_dist", + "headers": [ + { + "source": "**/*.@(js|css|jpg|jpeg|gif|png)", + "headers": [ + { + "key": "Cache-Control", + "value": "max-age=31536000" + } + ] + }, + { + "source": "/service-worker.js", + "headers": [ + { + "key": "Cache-Control", + "value": "no-cache, no-store, must-revalidate" + } + ] + } + ], + "ignore": [ + "firebase.json", + "**/.*", + "**/node_modules/**" + ], + "rewrites": [ + { + "source": "**", + "function": "ssrApp" + } + ] + }, + { + "target": "test", + "public": "./_dist", + "headers": [ + { + "source": "**/*.@(js|css|jpg|jpeg|gif|png)", + "headers": [ + { + "key": "Cache-Control", + "value": "max-age=31536000" + } + ] + }, + { + "source": "/service-worker.js", + "headers": [ + { + "key": "Cache-Control", + "value": "no-cache, no-store, must-revalidate" + } + ] + } + ], + "ignore": [ + "firebase.json", + "**/.*", + "**/node_modules/**" + ], + "rewrites": [ + { + "source": "**", + "function": "ssrApp" + } + ] + } + ] +} \ No newline at end of file diff --git a/functions/package-lock.json b/functions/package-lock.json new file mode 100644 index 0000000..9abf7b2 --- /dev/null +++ b/functions/package-lock.json @@ -0,0 +1,4313 @@ +{ + "name": "functions", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@firebase/app": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.3.17.tgz", + "integrity": "sha512-/8lDeeIxgdCIMffrfBPQ3bcdSkF8bx4KCp8pKMPOG/HYKoeM8I9eP4zlzxL5ABzRjvcdhK9KOYOn0jRrNrGD9g==", + "requires": { + "@firebase/app-types": "0.3.10", + "@firebase/util": "0.2.14", + "dom-storage": "2.1.0", + "tslib": "1.9.3", + "xmlhttprequest": "1.8.0" + } + }, + "@firebase/app-types": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.3.10.tgz", + "integrity": "sha512-l+5BJtSQopalBXiY/YuSaB9KF9PnDj37FLV0Sx3qJjh5B3IthCuZbPc1Vpbbbee/QZgudl0G212BBsUMGHP+fQ==" + }, + "@firebase/database": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.3.20.tgz", + "integrity": "sha512-fZHRIlRQlND/UrzI1beUTRKfktjMvMEiUOar6ylFZqOj2KNVO4CrF95UGqRl0HBGhZzlBKzaDYAcJze2D6C4+Q==", + "requires": { + "@firebase/database-types": "0.3.11", + "@firebase/logger": "0.1.13", + "@firebase/util": "0.2.14", + "faye-websocket": "0.11.1", + "tslib": "1.9.3" + } + }, + "@firebase/database-types": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.3.11.tgz", + "integrity": "sha512-iRAZzs7Zlmmvh7r0XlR1MAO6I6bm1HjW9m1ytfJ6E/8+zItHnbVH4iiVVkC39r1wMGrtPMz8FiIUWoaasPF5dA==" + }, + "@firebase/logger": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.1.13.tgz", + "integrity": "sha512-wIbLwQ2oJCkvHIE7J3FDxpScKY84fSctEEjOi0PB+Yn2dN8AwqtM7YF8rtcY8cxntv8dyR+i7GNg1Nd89cGxkA==" + }, + "@firebase/util": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.2.14.tgz", + "integrity": "sha512-2ke1Lra0R5T+5ucCMWft/IB2rI/IzumHHYm9aqrM9lJ3XURiWmBHAYrvaPVP7///gDhJAo+NNDUCAJH/Y4PmvA==", + "requires": { + "tslib": "1.9.3" + } + }, + "@google-cloud/common": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz", + "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", + "optional": true, + "requires": { + "array-uniq": "^1.0.3", + "arrify": "^1.0.1", + "concat-stream": "^1.6.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auto-auth": "^0.10.0", + "is": "^3.2.0", + "log-driver": "1.2.7", + "methmeth": "^1.1.0", + "modelo": "^4.2.0", + "request": "^2.79.0", + "retry-request": "^3.0.0", + "split-array-stream": "^1.0.0", + "stream-events": "^1.0.1", + "string-format-obj": "^1.1.0", + "through2": "^2.0.3" + }, + "dependencies": { + "retry-request": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", + "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", + "optional": true, + "requires": { + "request": "^2.81.0", + "through2": "^2.0.0" + } + } + } + }, + "@google-cloud/firestore": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-0.16.1.tgz", + "integrity": "sha512-xHb4OdRb0OP0x/8w58WJERtCi9Pr+CsloiUlVAq6fFjSyEcmxgL0V+swE8A/2rI5NGQGwtrN57xwDcis5UM/cQ==", + "optional": true, + "requires": { + "@google-cloud/projectify": "^0.3.0", + "bun": "^0.0.12", + "deep-equal": "^1.0.1", + "extend": "^3.0.1", + "functional-red-black-tree": "^1.0.1", + "google-gax": "^0.18.0", + "google-proto-files": "^0.16.1", + "is": "^3.2.1", + "lodash.merge": "^4.6.1", + "protobufjs": "^6.8.6", + "through2": "^2.0.3" + } + }, + "@google-cloud/projectify": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-0.3.3.tgz", + "integrity": "sha512-7522YHQ4IhaafgSunsFF15nG0TGVmxgXidy9cITMe+256RgqfcrfWphiMufW+Ou4kqagW/u3yxwbzVEW3dk2Uw==", + "optional": true + }, + "@google-cloud/storage": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.7.0.tgz", + "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", + "optional": true, + "requires": { + "@google-cloud/common": "^0.17.0", + "arrify": "^1.0.0", + "async": "^2.0.1", + "compressible": "^2.0.12", + "concat-stream": "^1.5.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "extend": "^3.0.0", + "gcs-resumable-upload": "^0.10.2", + "hash-stream-validation": "^0.2.1", + "is": "^3.0.1", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "once": "^1.3.1", + "pumpify": "^1.5.1", + "request": "^2.85.0", + "safe-buffer": "^5.1.1", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "through2": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "optional": true + } + } + }, + "@grpc/proto-loader": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.3.0.tgz", + "integrity": "sha512-9b8S/V+3W4Gv7G/JKSZ48zApgyYbfIR7mAC9XNnaSWme3zj57MIESu0ELzm9j5oxNIpFG8DgO00iJMIUZ5luqw==", + "optional": true, + "requires": { + "@types/lodash": "^4.14.104", + "@types/node": "^9.4.6", + "lodash": "^4.17.5", + "protobufjs": "^6.8.6" + }, + "dependencies": { + "@types/node": { + "version": "9.6.49", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.49.tgz", + "integrity": "sha512-YY0Okyn4QXC4ugJI+Kng5iWjK8A6eIHiQVaGIhJkyn0YL6Iqo0E0tBC8BuhvYcBK87vykBijM5FtMnCqaa5anA==", + "optional": true + } + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "optional": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "optional": true + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", + "optional": true + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "optional": true + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "optional": true + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", + "optional": true + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "optional": true, + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", + "optional": true + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", + "optional": true + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", + "optional": true + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", + "optional": true + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", + "optional": true + }, + "@types/caseless": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", + "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==", + "optional": true + }, + "@types/form-data": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", + "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@types/google-cloud__storage": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@types/google-cloud__storage/-/google-cloud__storage-1.7.2.tgz", + "integrity": "sha512-RaQJ7+Ht20MRYJu7mgKBpbVNZIPneztKIl/DUKacRC6A8mXRsJfgDdPA7indHmJGIgm+hzUTj44+A3RyuuYZhg==", + "optional": true, + "requires": { + "@types/node": "*", + "@types/request": "*" + } + }, + "@types/lodash": { + "version": "4.14.134", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.134.tgz", + "integrity": "sha512-2/O0khFUCFeDlbi7sZ7ZFRCcT812fAeOLm7Ev4KbwASkZ575TDrDcY7YyaoHdTOzKcNbfiwLYZqPmoC4wadrsw==", + "optional": true + }, + "@types/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", + "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==", + "optional": true + }, + "@types/node": { + "version": "8.10.49", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.49.tgz", + "integrity": "sha512-YX30JVx0PvSmJ3Eqr74fYLGeBxD+C7vIL20ek+GGGLJeUbVYRUW3EzyAXpIRA0K8c8o0UWqR/GwEFYiFoz1T8w==" + }, + "@types/request": { + "version": "2.48.1", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.1.tgz", + "integrity": "sha512-ZgEZ1TiD+KGA9LiAAPPJL68Id2UWfeSO62ijSXZjFJArVV+2pKcsVHmrcu+1oiE3q6eDGiFiSolRc4JHoerBBg==", + "optional": true, + "requires": { + "@types/caseless": "*", + "@types/form-data": "*", + "@types/node": "*", + "@types/tough-cookie": "*" + } + }, + "@types/tough-cookie": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz", + "integrity": "sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==", + "optional": true + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "optional": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "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": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "optional": true + }, + "acorn-es7-plugin": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", + "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=", + "optional": true + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "optional": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "ajv": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "optional": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "optional": 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==", + "optional": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "optional": true + }, + "array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "optional": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "optional": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "optional": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "optional": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "optional": true + }, + "ascli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", + "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", + "optional": true, + "requires": { + "colour": "~0.7.1", + "optjs": "~3.2.2" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "optional": 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=", + "optional": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "optional": true + }, + "async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "optional": true, + "requires": { + "lodash": "^4.17.11" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "optional": 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==", + "optional": 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=", + "optional": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "optional": true + }, + "axios": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", + "optional": true, + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", + "optional": true + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "optional": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "optional": 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=", + "optional": 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==", + "optional": 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==", + "optional": 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==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": 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=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "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==", + "optional": true + }, + "bun": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/bun/-/bun-0.0.12.tgz", + "integrity": "sha512-Toms18J9DqnT+IfWkwxVTB2EaBprHvjlMWrTIsfX4xbu3ZBqVBwrERU0em1IgtRe04wT+wJxMlKHZok24hrcSQ==", + "optional": true, + "requires": { + "readable-stream": "~1.0.32" + } + }, + "bytebuffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", + "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", + "optional": true, + "requires": { + "long": "~3" + }, + "dependencies": { + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", + "optional": 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==", + "optional": 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" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "optional": true + }, + "call-signature": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", + "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=", + "optional": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "optional": true + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "optional": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "optional": 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==", + "optional": 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=", + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "optional": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "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=", + "optional": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "optional": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "colour": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", + "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=", + "optional": 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==", + "optional": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "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==", + "optional": true + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "optional": true, + "requires": { + "mime-db": ">= 1.40.0 < 2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "optional": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "optional": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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==", + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "optional": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "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==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "optional": true + }, + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", + "optional": 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=", + "optional": true + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "optional": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "optional": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "optional": 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=", + "optional": true + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "optional": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "optional": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "optional": 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==", + "optional": 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==", + "optional": 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==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "optional": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "diff-match-patch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", + "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==", + "optional": true + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "optional": true, + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "dom-storage": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz", + "integrity": "sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q==" + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "optional": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "optional": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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==", + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "optional": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "empower": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.1.tgz", + "integrity": "sha512-uB6/ViBaawOO/uujFADTK3SqdYlxYNn+N4usK9MRKZ4Hbn/1QSy8k2PezxCA2/+JGbF8vd/eOfghZ90oOSDZCA==", + "optional": true, + "requires": { + "core-js": "^2.0.0", + "empower-core": "^1.2.0" + } + }, + "empower-core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-1.2.0.tgz", + "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", + "optional": true, + "requires": { + "call-signature": "0.0.2", + "core-js": "^2.0.0" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "optional": true, + "requires": { + "once": "^1.4.0" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "optional": true + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "optional": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "optional": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "espurify": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.1.tgz", + "integrity": "sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==", + "optional": true, + "requires": { + "core-js": "^2.0.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "optional": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "optional": true + }, + "exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "optional": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "optional": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "optional": 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==", + "optional": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "optional": 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=", + "optional": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "optional": 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==", + "optional": 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==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "optional": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "optional": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "optional": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "optional": true + }, + "faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "optional": 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=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "firebase-admin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-6.0.0.tgz", + "integrity": "sha512-ai7ensTAZx9iF6z/lMn7JzFJYSl6+uXYm53GGhWlph+npnQli10FF9YB97OjcVUghapDEWzmb6J0VMtB965nsw==", + "requires": { + "@firebase/app": "^0.3.1", + "@firebase/database": "^0.3.1", + "@google-cloud/firestore": "^0.16.0", + "@google-cloud/storage": "^1.6.0", + "@types/google-cloud__storage": "^1.1.7", + "@types/node": "^8.0.53", + "jsonwebtoken": "8.1.0", + "node-forge": "0.7.4" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "optional": true, + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "optional": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "optional": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "optional": 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==", + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "optional": 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": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "optional": 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=", + "optional": true + }, + "gaxios": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-1.8.4.tgz", + "integrity": "sha512-BoENMnu1Gav18HcpV9IleMPZ9exM+AvUjrAOV4Mzs/vfz2Lu/ABv451iEXByKiMPn2M140uul1txXCg83sAENw==", + "optional": true, + "requires": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^2.2.1", + "node-fetch": "^2.3.0" + } + }, + "gcp-metadata": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", + "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", + "optional": true, + "requires": { + "axios": "^0.18.0", + "extend": "^3.0.1", + "retry-axios": "0.3.2" + } + }, + "gcs-resumable-upload": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.10.2.tgz", + "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", + "optional": true, + "requires": { + "configstore": "^3.1.2", + "google-auto-auth": "^0.10.0", + "pumpify": "^1.4.0", + "request": "^2.85.0", + "stream-events": "^1.0.3" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "optional": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "optional": true + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "optional": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "google-auth-library": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", + "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", + "optional": true, + "requires": { + "axios": "^0.18.0", + "gcp-metadata": "^0.6.3", + "gtoken": "^2.3.0", + "jws": "^3.1.5", + "lodash.isstring": "^4.0.1", + "lru-cache": "^4.1.3", + "retry-axios": "^0.3.2" + } + }, + "google-auto-auth": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz", + "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", + "optional": true, + "requires": { + "async": "^2.3.0", + "gcp-metadata": "^0.6.1", + "google-auth-library": "^1.3.1", + "request": "^2.79.0" + } + }, + "google-gax": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.18.0.tgz", + "integrity": "sha512-cF2s3aTw1cWDHsjaYfIizJZT0KJF0FSM3laiCX4O/K0ZcdmeE9PitG2bxRH+dY+Sz094//m+JoH1hBtSyOf67A==", + "optional": true, + "requires": { + "@grpc/proto-loader": "^0.3.0", + "duplexify": "^3.6.0", + "extend": "^3.0.1", + "globby": "^8.0.1", + "google-auth-library": "^1.6.1", + "google-proto-files": "^0.16.0", + "grpc": "^1.12.2", + "is-stream-ended": "^0.1.4", + "lodash": "^4.17.10", + "protobufjs": "^6.8.8", + "retry-request": "^4.0.0", + "through2": "^2.0.3" + } + }, + "google-p12-pem": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.4.tgz", + "integrity": "sha512-SwLAUJqUfTB2iS+wFfSS/G9p7bt4eWcc2LyfvmUXe7cWp6p3mpxDo6LLI29MXdU6wvPcQ/up298X7GMC5ylAlA==", + "optional": true, + "requires": { + "node-forge": "^0.8.0", + "pify": "^4.0.0" + }, + "dependencies": { + "node-forge": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.8.4.tgz", + "integrity": "sha512-UOfdpxivIYY4g5tqp5FNRNgROVNxRACUxxJREntJLFaJr1E0UEqFtUIk0F/jYx/E+Y6sVXd0KDi/m5My0yGCVw==", + "optional": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "optional": true + } + } + }, + "google-proto-files": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", + "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", + "optional": true, + "requires": { + "globby": "^8.0.0", + "power-assert": "^1.4.4", + "protobufjs": "^6.8.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "optional": true + }, + "grpc": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.21.1.tgz", + "integrity": "sha512-PFsZQazf62nP05a0xm23mlImMuw5oVlqF/0zakmsdqJgvbABe+d6VThY2PfhqJmWEL/FhQ6QNYsxS5EAM6++7g==", + "optional": true, + "requires": { + "lodash.camelcase": "^4.3.0", + "lodash.clone": "^4.5.0", + "nan": "^2.13.2", + "node-pre-gyp": "^0.13.0", + "protobufjs": "^5.0.3" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.23", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + } + } + }, + "needle": { + "version": "2.3.1", + "bundled": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "bundled": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "optional": true + } + } + }, + "node-pre-gyp": { + "version": "0.13.0", + "bundled": true, + "optional": true, + "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" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "protobufjs": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", + "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", + "optional": true, + "requires": { + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" + } + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.1.4", + "bundled": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "optional": true + } + } + }, + "gtoken": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.3.tgz", + "integrity": "sha512-EaB49bu/TCoNeQjhCYKI/CurooBKkGxIqFHsWABW0b25fobBYVTMe84A8EBVVZhl8emiUdNypil9huMOTmyAnw==", + "optional": true, + "requires": { + "gaxios": "^1.0.4", + "google-p12-pem": "^1.0.0", + "jws": "^3.1.5", + "mime": "^2.2.0", + "pify": "^4.0.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "optional": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "optional": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "optional": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "optional": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "optional": 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=", + "optional": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-stream-validation": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.1.tgz", + "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", + "optional": true, + "requires": { + "through2": "^2.0.0" + } + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-parser-js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", + "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==" + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "optional": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "optional": true, + "requires": { + "agent-base": "^4.1.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": 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" + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "optional": true + }, + "ignore-styles": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ignore-styles/-/ignore-styles-5.0.1.tgz", + "integrity": "sha1-tJ7yJ0va/NikiAqWa/440aC/RnE=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "optional": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "optional": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "optional": true + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "is": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz", + "integrity": "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==", + "optional": 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=", + "optional": 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=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "optional": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "optional": 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=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": 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==", + "optional": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "optional": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "optional": 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=", + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "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==", + "optional": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "optional": 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=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "optional": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "optional": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-stream-ended": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==", + "optional": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "optional": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "optional": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "optional": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "optional": true + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "optional": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "optional": 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==", + "optional": 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=", + "optional": true + }, + "jsonwebtoken": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.1.0.tgz", + "integrity": "sha1-xjl80uX9WD1lwAeoPce7eOaYK4M=", + "requires": { + "jws": "^3.1.4", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "optional": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "optional": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "optional": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "optional": true + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", + "optional": true + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.merge": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", + "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", + "optional": true + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", + "optional": true + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "optional": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "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==", + "optional": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "optional": true, + "requires": { + "pify": "^3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "optional": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "optional": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge2": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", + "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", + "optional": true + }, + "methmeth": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/methmeth/-/methmeth-1.1.0.tgz", + "integrity": "sha1-6AomYY5S9cQiKGG7dIUQvRDikIk=", + "optional": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "optional": 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" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "optional": 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==", + "optional": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "modelo": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/modelo/-/modelo-4.2.3.tgz", + "integrity": "sha512-9DITV2YEMcw7XojdfvGl3gDD8J9QjZTJ7ZOUuSAkP+F3T6rDbzMJuPktxptsdHYEvZcmXrCD3LMOhdSAEq6zKA==", + "optional": true + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "optional": 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" + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "optional": true + }, + "node-forge": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.4.tgz", + "integrity": "sha512-8Df0906+tq/omxuCZD6PqhPaQDYuyJ1d+VITgxoIA8zvQd1ru+nMJcDChHH324MWitIgbVkAkQoGEEVJNpn/PA==" + }, + "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=", + "optional": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "optional": 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=", + "optional": 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=", + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "optional": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "optional": 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=", + "optional": 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=", + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "optjs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", + "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=", + "optional": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "optional": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "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=", + "optional": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "optional": 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=", + "optional": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "optional": true, + "requires": { + "pify": "^3.0.0" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "optional": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "optional": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "optional": true + }, + "power-assert": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.1.tgz", + "integrity": "sha512-VWkkZV6Y+W8qLX/PtJu2Ur2jDPIs0a5vbP0TpKeybNcIXmT4vcKoVkyTp5lnQvTpY/DxacAZ4RZisHRHLJcAZQ==", + "optional": true, + "requires": { + "define-properties": "^1.1.2", + "empower": "^1.3.1", + "power-assert-formatter": "^1.4.1", + "universal-deep-strict-equal": "^1.2.1", + "xtend": "^4.0.0" + } + }, + "power-assert-context-formatter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", + "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", + "optional": true, + "requires": { + "core-js": "^2.0.0", + "power-assert-context-traversal": "^1.2.0" + } + }, + "power-assert-context-reducer-ast": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", + "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", + "optional": true, + "requires": { + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.12", + "core-js": "^2.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.2.0" + } + }, + "power-assert-context-traversal": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", + "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", + "optional": true, + "requires": { + "core-js": "^2.0.0", + "estraverse": "^4.1.0" + } + }, + "power-assert-formatter": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", + "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", + "optional": true, + "requires": { + "core-js": "^2.0.0", + "power-assert-context-formatter": "^1.0.7", + "power-assert-context-reducer-ast": "^1.0.7", + "power-assert-renderer-assertion": "^1.0.7", + "power-assert-renderer-comparison": "^1.0.7", + "power-assert-renderer-diagram": "^1.0.7", + "power-assert-renderer-file": "^1.0.7" + } + }, + "power-assert-renderer-assertion": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", + "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", + "optional": true, + "requires": { + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0" + } + }, + "power-assert-renderer-base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz", + "integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=", + "optional": true + }, + "power-assert-renderer-comparison": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", + "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", + "optional": true, + "requires": { + "core-js": "^2.0.0", + "diff-match-patch": "^1.0.0", + "power-assert-renderer-base": "^1.1.1", + "stringifier": "^1.3.0", + "type-name": "^2.0.1" + } + }, + "power-assert-renderer-diagram": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", + "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", + "optional": true, + "requires": { + "core-js": "^2.0.0", + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0", + "stringifier": "^1.3.0" + } + }, + "power-assert-renderer-file": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", + "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", + "optional": true, + "requires": { + "power-assert-renderer-base": "^1.1.1" + } + }, + "power-assert-util-string-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", + "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", + "optional": true, + "requires": { + "eastasianwidth": "^0.2.0" + } + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "optional": true + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "protobufjs": { + "version": "6.8.8", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz", + "integrity": "sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==", + "optional": true, + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.0", + "@types/node": "^10.1.0", + "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "10.14.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.8.tgz", + "integrity": "sha512-I4+DbJEhLEg4/vIy/2gkWDvXBOOtPKV9EnLhYjMoqxcRW+TTZtUftkHktz/a8suoD5mUL7m6ReLrkPvSsCQQmw==", + "optional": true + } + } + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "optional": true + }, + "psl": { + "version": "1.1.32", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.32.tgz", + "integrity": "sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==", + "optional": true + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "optional": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "optional": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + }, + "react-helmet": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.1.tgz", + "integrity": "sha512-CnwD822LU8NDBnjCpZ4ySh8L6HYyngViTZLfBBb3NjtrpN8m49clH8hidHouq20I51Y6TpCTISCBbqiY5GamwA==", + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.5.4", + "react-fast-compare": "^2.0.2", + "react-side-effect": "^1.1.0" + } + }, + "react-is": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", + "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==" + }, + "react-side-effect": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.1.5.tgz", + "integrity": "sha512-Z2ZJE4p/jIfvUpiUMRydEVpQRf2f8GMHczT6qLcARmX7QRb28JDBTpnM2g/i5y/p7ZDEXYGHWg0RbhikE+hJRw==", + "requires": { + "exenv": "^1.2.1", + "shallowequal": "^1.0.1" + } + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "optional": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "optional": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "optional": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "optional": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "optional": true + } + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "optional": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "optional": true + }, + "retry-axios": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-0.3.2.tgz", + "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==", + "optional": true + }, + "retry-request": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", + "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", + "optional": true, + "requires": { + "through2": "^2.0.0" + } + }, + "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=", + "optional": 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==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "optional": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "optional": true + }, + "snakeize": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", + "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=", + "optional": 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==", + "optional": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "optional": 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=", + "optional": 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==", + "optional": 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==", + "optional": 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==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "optional": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "optional": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "optional": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "optional": true + }, + "split-array-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz", + "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", + "optional": true, + "requires": { + "async": "^2.4.0", + "is-stream-ended": "^0.1.0" + } + }, + "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==", + "optional": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "optional": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "optional": 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=", + "optional": 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=" + }, + "stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", + "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", + "optional": true, + "requires": { + "stubs": "^3.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "optional": true + }, + "string-format-obj": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", + "integrity": "sha512-Mm+sROy+pHJmx0P/0Bs1uxIX6UhGJGj6xDGQZ5zh9v/SZRmLGevp+p0VJxV7lirrkAmQ2mvva/gHKpnF/pTb+Q==", + "optional": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "optional": true + }, + "stringifier": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.4.0.tgz", + "integrity": "sha512-cNsMOqqrcbLcHTXEVmkw9y0fwDwkdgtZwlfyolzpQDoAE1xdNGhQhxBUfiDvvZIKl1hnUEgMv66nHwtMz3OjPw==", + "optional": true, + "requires": { + "core-js": "^2.0.0", + "traverse": "^0.6.6", + "type-name": "^2.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", + "optional": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "optional": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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==", + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "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=", + "optional": 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=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "optional": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "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": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "optional": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "optional": true + } + } + }, + "traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", + "optional": true + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "optional": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": 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" + } + }, + "type-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", + "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=", + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "optional": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "optional": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "optional": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "universal-deep-strict-equal": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", + "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", + "optional": true, + "requires": { + "array-filter": "^1.0.0", + "indexof": "0.0.1", + "object-keys": "^1.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=", + "optional": 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=", + "optional": 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=", + "optional": 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=", + "optional": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + } + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "optional": 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=", + "optional": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "optional": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "optional": true + }, + "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=", + "optional": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "requires": { + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "optional": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "optional": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "optional": true + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "optional": true + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "optional": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "optional": true + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "optional": true, + "requires": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + } + } +} diff --git a/functions/package.json b/functions/package.json new file mode 100644 index 0000000..91c8f57 --- /dev/null +++ b/functions/package.json @@ -0,0 +1,38 @@ +{ + "name": "functions", + "description": "Cloud Functions for Firebase", + "scripts": { + "serve": "firebase serve --only functions", + "shell": "firebase functions:shell", + "start": "npm run shell", + "deploy": "firebase deploy --only functions", + "logs": "firebase functions:log" + }, + "dependencies": { + "@material-ui/core": "^4.5.1", + "@material-ui/icons": "^4.5.1", + "@material-ui/styles": "^4.5.0", + "body-parser": "^1.19.0", + "classnames": "^2.2.6", + "express": "^4.17.1", + "firebase-admin": "^6.0.0", + "firebase-functions": "^3.3.0", + "fs": "0.0.1-security", + "ignore-styles": "^5.0.1", + "isomorphic-fetch": "^2.2.1", + "markdown-to-jsx": "^6.10.3", + "moment": "^2.24.0", + "object-path-immutable": "^3.1.1", + "react": "^16.10.2", + "react-dom": "^16.10.2", + "react-helmet": "^5.2.1", + "react-redux": "^7.1.1", + "react-router-dom": "^5.1.2", + "redux": "^4.0.4", + "redux-thunk": "^2.3.0" + }, + "private": true, + "engines": { + "node": "8" + } +} diff --git a/images/site/favicon.ico b/images/site/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4a9b424c0c0fccfcaed9294f67bb0768ace3816a GIT binary patch literal 1887 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 literal 0 HcmV?d00001 diff --git a/images/site/logo-100.png b/images/site/logo-100.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9de6d7d0b4aa7ea708c4010322768f8450352d GIT binary patch literal 4426 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 Q`v3p{07*qoM6N<$g73LnJOBUy literal 0 HcmV?d00001 diff --git a/images/site/logo-192.png b/images/site/logo-192.png new file mode 100644 index 0000000000000000000000000000000000000000..26eb0160474e08b35a9d8b873ebceb19ec83af01 GIT binary patch literal 16075 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

AwkjT-Yho|iB*`2e3E<7hw&9j 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 GG4g*jGt(&m literal 0 HcmV?d00001 diff --git a/images/site/logo-56.png b/images/site/logo-56.png new file mode 100644 index 0000000000000000000000000000000000000000..abaea0407db187e4115380b59fceb7bdb8216e28 GIT binary patch literal 2152 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 literal 0 HcmV?d00001 diff --git a/images/site/og_image_2.jpg b/images/site/og_image_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..04b291dc7f5a921e0a515022028455f912fb5d4f GIT binary patch literal 64078 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 (mJy>cI1Kj7tpreEBh_yMCDkrun1f4)6_f; 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 literal 0 HcmV?d00001 diff --git a/jsdoc.js b/jsdoc.js new file mode 100644 index 0000000..a400fee --- /dev/null +++ b/jsdoc.js @@ -0,0 +1,10 @@ +module.exports = { + "tags": { + "allowUnknownTags": true, + }, + "source": { + "includePattern": ".+\\.js(doc|x)?$", + "excludePattern": "(^|\\/|\\\\)_", + }, + "plugins": [], +}; \ No newline at end of file diff --git a/karma/karma.bs.conf.js b/karma/karma.bs.conf.js new file mode 100644 index 0000000..b6dc4bf --- /dev/null +++ b/karma/karma.bs.conf.js @@ -0,0 +1,29 @@ +/* eslint-disable camelcase */ +const { customLaunchers, browsers } = require('./karma.bs.launchers'); +const webpackConfig = require('../webpack/webpack.test'); +const { SHORT_NAME } = require('../src/variables'); + +module.exports = function (config) { + config.set({ + browserStack: { + username: process.env.BROWSERSTACK_USER, + accessKey: process.env.BROWSERSTACK_TOKEN, + project: SHORT_NAME, + video: false, + }, + customLaunchers, + browsers, + basePath: '..', + singleRun: true, + frameworks: [ 'jasmine' ], + files: [ + './src/client/test.js', + ], + preprocessors: { + './src/client/test.js': [ 'webpack', 'sourcemap' ], + }, + reporters: [ 'dots', 'BrowserStack' ], + webpack: webpackConfig, + logLevel: config.LOG_INFO, + }); +}; \ No newline at end of file diff --git a/karma/karma.bs.launchers.js b/karma/karma.bs.launchers.js new file mode 100644 index 0000000..1339d81 --- /dev/null +++ b/karma/karma.bs.launchers.js @@ -0,0 +1,41 @@ +/* eslint-disable camelcase */ + +const customLaunchers = { + // bs_chrome_mac_41: { + // base: 'BrowserStack', + // browser: 'Chrome', + // browser_version: '41', + // os: 'OS X', + // os_version: 'High Sierra', + // }, + bs_chrome_mac: { + base: 'BrowserStack', + browser: 'Chrome', + browser_version: '75', + os: 'OS X', + os_version: 'High Sierra', + }, + bs_firefox_mac: { + base: 'BrowserStack', + browser: 'Firefox', + browser_version: '66', + os: 'OS X', + os_version: 'High Sierra', + }, + bs_safari_mac: { + base: 'BrowserStack', + browser: 'Safari', + browser_version: '11.1', + os: 'OS X', + os_version: 'High Sierra', + }, +}; + +const browsers = [ + // 'bs_chrome_mac_41', + 'bs_chrome_mac', + 'bs_firefox_mac', + 'bs_safari_mac', +]; + +module.exports = { customLaunchers, browsers }; \ No newline at end of file diff --git a/karma/karma.conf.js b/karma/karma.conf.js new file mode 100644 index 0000000..116fff6 --- /dev/null +++ b/karma/karma.conf.js @@ -0,0 +1,36 @@ +const webpackConfig = require('../webpack/webpack.test'); + +module.exports = function (config) { + config.set({ + basePath: '..', + autoWatch: false, + singleRun: true, + browsers: [ 'ChromeHeadless' ], + frameworks: [ 'jasmine' ], + files: [ + './src/client/test.js', + ], + preprocessors: { + './src/**/*.js': [ 'webpack', 'inject-html' ], + }, + webpack: webpackConfig, + webpackMiddleware: { + noInfo: true, + stats: 'error-only', + }, + injectHtml: { + file: './templates/test.html', + }, + reporters: [ 'coverage', 'progress', 'mocha' ], + coverageReporter: { + includeAllSources: true, + reporters: [ + { type: 'html', subdir: 'reports' }, + { type: 'lcovonly', subdir: '.', file: 'reports/lcov.txt' }, + { type: 'cobertura', subdir: '.', file: 'reports/cobertura.xml' }, + { type: 'text-summary' }, + ], + dir: `./_test`, + }, + }); +}; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..18d8a75 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,19286 @@ +{ + "name": "sreeram", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz", + "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.4", + "@babel/helpers": "^7.6.2", + "@babel/parser": "^7.6.4", + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.3", + "@babel/types": "^7.6.3", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz", + "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==", + "dev": true, + "requires": { + "@babel/types": "^7.6.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", + "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz", + "integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4" + } + }, + "@babel/helper-define-map": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "@babel/helpers": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz", + "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==", + "dev": true, + "requires": { + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.2", + "@babel/types": "^7.6.0" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz", + "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz", + "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.5.5", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz", + "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz", + "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz", + "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", + "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz", + "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", + "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz", + "integrity": "sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==", + "dev": true, + "requires": { + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.4.4", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", + "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", + "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", + "dev": true, + "requires": { + "@babel/helper-builder-react-jsx": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz", + "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz", + "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz", + "integrity": "sha512-cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz", + "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz", + "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/preset-env": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz", + "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-dynamic-import": "^7.5.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.6.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.6.2", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.5.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.6.3", + "@babel/plugin-transform-classes": "^7.5.5", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.6.0", + "@babel/plugin-transform-dotall-regex": "^7.6.2", + "@babel/plugin-transform-duplicate-keys": "^7.5.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.6.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.6.2", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.6.2", + "@babel/types": "^7.6.3", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/preset-react": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.6.3.tgz", + "integrity": "sha512-07yQhmkZmRAfwREYIQgW0HEwMY9GBJVuPY4Q12UC72AbfaawuupVWa8zQs2tlL+yun45Nv/1KreII/0PLfEsgA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0" + } + }, + "@babel/runtime": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz", + "integrity": "sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==", + "requires": { + "regenerator-runtime": "^0.13.2" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + } + } + }, + "@babel/template": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", + "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0" + } + }, + "@babel/traverse": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz", + "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.6.3", + "@babel/types": "^7.6.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@commitlint/cli": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-8.2.0.tgz", + "integrity": "sha512-8fJ5pmytc38yw2QWbTTJmXLfSiWPwMkHH4govo9zJ/+ERPBF2jvlxD/dQvk24ezcizjKc6LFka2edYC4OQ+Dgw==", + "dev": true, + "requires": { + "@commitlint/format": "^8.2.0", + "@commitlint/lint": "^8.2.0", + "@commitlint/load": "^8.2.0", + "@commitlint/read": "^8.2.0", + "babel-polyfill": "6.26.0", + "chalk": "2.4.2", + "get-stdin": "7.0.0", + "lodash": "4.17.14", + "meow": "5.0.0", + "resolve-from": "5.0.0", + "resolve-global": "1.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", + "dev": true + }, + "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 + } + } + }, + "@commitlint/config-conventional": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-8.2.0.tgz", + "integrity": "sha512-HuwlHQ3DyVhpK9GHgTMhJXD8Zp8PGIQVpQGYh/iTrEU6TVxdRC61BxIDZvfWatCaiG617Z/U8maRAFrqFM4TqA==", + "dev": true + }, + "@commitlint/ensure": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-8.2.0.tgz", + "integrity": "sha512-XZZih/kcRrqK7lEORbSYCfqQw6byfsFbLygRGVdJMlCPGu9E2MjpwCtoj5z7y/lKfUB3MJaBhzn2muJqS1gC6A==", + "dev": true, + "requires": { + "lodash": "4.17.14" + }, + "dependencies": { + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", + "dev": true + } + } + }, + "@commitlint/execute-rule": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-8.2.0.tgz", + "integrity": "sha512-9MBRthHaulbWTa8ReG2Oii2qc117NuvzhZdnkuKuYLhker7sUXGFcVhLanuWUKGyfyI2o9zVr/NHsNbCCsTzAA==", + "dev": true + }, + "@commitlint/format": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-8.2.0.tgz", + "integrity": "sha512-sA77agkDEMsEMrlGhrLtAg8vRexkOofEEv/CZX+4xlANyAz2kNwJvMg33lcL65CBhqKEnRRJRxfZ1ZqcujdKcQ==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "@commitlint/is-ignored": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-8.2.0.tgz", + "integrity": "sha512-ADaGnKfbfV6KD1pETp0Qf7XAyc75xTy3WJlbvPbwZ4oPdBMsXF0oXEEGMis6qABfU2IXan5/KAJgAFX3vdd0jA==", + "dev": true, + "requires": { + "@types/semver": "^6.0.1", + "semver": "6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "dev": true + } + } + }, + "@commitlint/lint": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-8.2.0.tgz", + "integrity": "sha512-ch9JN8aR37ufdjoWv50jLfvFz9rWMgLW5HEkMGLsM/51gjekmQYS5NJg8S2+6F5+jmralAO7VkUMI6FukXKX0A==", + "dev": true, + "requires": { + "@commitlint/is-ignored": "^8.2.0", + "@commitlint/parse": "^8.2.0", + "@commitlint/rules": "^8.2.0", + "babel-runtime": "^6.23.0", + "lodash": "4.17.14" + }, + "dependencies": { + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", + "dev": true + } + } + }, + "@commitlint/load": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-8.2.0.tgz", + "integrity": "sha512-EV6PfAY/p83QynNd1llHxJiNxKmp43g8+7dZbyfHFbsGOdokrCnoelAVZ+WGgktXwLN/uXyfkcIAxwac015UYw==", + "dev": true, + "requires": { + "@commitlint/execute-rule": "^8.2.0", + "@commitlint/resolve-extends": "^8.2.0", + "babel-runtime": "^6.23.0", + "chalk": "2.4.2", + "cosmiconfig": "^5.2.0", + "lodash": "4.17.14", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", + "dev": true + }, + "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 + } + } + }, + "@commitlint/message": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-8.2.0.tgz", + "integrity": "sha512-LNsSwDLIFgE3nb/Sb1PIluYNy4Q8igdf4tpJCdv5JJDf7CZCZt3ZTglj0YutZZorpRRuHJsVIB2+dI4bVH3bFw==", + "dev": true + }, + "@commitlint/parse": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-8.2.0.tgz", + "integrity": "sha512-vzouqroTXG6QXApkrps0gbeSYW6w5drpUk7QAeZIcaCSPsQXDM8eqqt98ZzlzLJHo5oPNXPX1AAVSTrssvHemA==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^1.3.3", + "conventional-commits-parser": "^2.1.0", + "lodash": "^4.17.11" + } + }, + "@commitlint/read": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-8.2.0.tgz", + "integrity": "sha512-1tBai1VuSQmsOTsvJr3Fi/GZqX3zdxRqYe/yN4i3cLA5S2Y4QGJ5I3l6nGZlKgm/sSelTCVKHltrfWU8s5H7SA==", + "dev": true, + "requires": { + "@commitlint/top-level": "^8.2.0", + "@marionebl/sander": "^0.6.0", + "babel-runtime": "^6.23.0", + "git-raw-commits": "^1.3.0" + } + }, + "@commitlint/resolve-extends": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-8.2.0.tgz", + "integrity": "sha512-cwi0HUsDcD502HBP8huXfTkVuWmeo1Fiz3GKxNwMBBsJV4+bKa7QrtxbNpXhVuarX7QjWfNTvmW6KmFS7YK9uw==", + "dev": true, + "requires": { + "@types/node": "^12.0.2", + "import-fresh": "^3.0.0", + "lodash": "4.17.14", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", + "dev": true + }, + "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 + } + } + }, + "@commitlint/rules": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-8.2.0.tgz", + "integrity": "sha512-FlqSBBP2Gxt5Ibw+bxdYpzqYR6HI8NIBpaTBhAjSEAduQtdWFMOhF0zsgkwH7lHN7opaLcnY2fXxAhbzTmJQQA==", + "dev": true, + "requires": { + "@commitlint/ensure": "^8.2.0", + "@commitlint/message": "^8.2.0", + "@commitlint/to-lines": "^8.2.0", + "babel-runtime": "^6.23.0" + } + }, + "@commitlint/to-lines": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-8.2.0.tgz", + "integrity": "sha512-LXTYG3sMenlN5qwyTZ6czOULVcx46uMy+MEVqpvCgptqr/MZcV/C2J+S2o1DGwj1gOEFMpqrZaE3/1R2Q+N8ng==", + "dev": true + }, + "@commitlint/top-level": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-8.2.0.tgz", + "integrity": "sha512-Yaw4KmYNy31/HhRUuZ+fupFcDalnfpdu4JGBgGAqS9aBHdMSSWdWqtAaDaxdtWjTZeN3O0sA2gOhXwvKwiDwvw==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "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-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 + }, + "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 + } + } + }, + "@cypress/listr-verbose-renderer": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@cypress/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-p3SS9LEdzHxEajSz4ochr9M8ZCo=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-cursor": "^1.0.2", + "date-fns": "^1.27.2", + "figures": "^1.7.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@emotion/hash": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.7.3.tgz", + "integrity": "sha512-14ZVlsB9akwvydAdaEnVnvqu6J2P6ySv39hYyl/aoB6w/V+bXX0tay8cF6paqbgZsN2n5Xh15uF4pE+GvE+itw==" + }, + "@firebase/app-types": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.4.6.tgz", + "integrity": "sha512-LLh4vnuyhmYfT00fByo8rR4NAjQH7Yj63gUpT18DRYPVvwbVmrCbzOHJw3rQnfJPpbSkMXfnEY/pzbohvj8DuA==", + "dev": true + }, + "@firebase/database": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.5.8.tgz", + "integrity": "sha512-QY+Rncq1TCMHvk/UajNKmTpyE/bm4wE3lv/09Z0HKI0xjrrSjPEAMyhmqXBT2Tdqntv3esc9Pc1rcKOb1rmXig==", + "dev": true, + "requires": { + "@firebase/database-types": "0.4.6", + "@firebase/logger": "0.1.27", + "@firebase/util": "0.2.30", + "faye-websocket": "0.11.3", + "tslib": "1.10.0" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "@firebase/database-types": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.4.6.tgz", + "integrity": "sha512-7D55FCSLJRrTcMTm25NDevwSMU0mNgr+ylqkE4zq68MV3xQ6J3z1kxzQ90DCU7MxrpaKqexMWRihQZ+oU0bULw==", + "dev": true, + "requires": { + "@firebase/app-types": "0.4.6" + } + }, + "@firebase/logger": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.1.27.tgz", + "integrity": "sha512-OpWEcJ6WFlXg0hH91Ox7M9fe8goQ7JiMGnRkzs98fubLQyVLzVlkICj6DJTMtZGZPRQIaFyPTO7RSkthWk7PHA==", + "dev": true + }, + "@firebase/util": { + "version": "0.2.30", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.2.30.tgz", + "integrity": "sha512-2owLolcr44m1L2Bt7Y13PgTdRSJe+bTkQXxiP5XDA0chkLiTwLEwdCf0WAuRtGW/qpXV0Rcw9FTmla08ZJUQqw==", + "dev": true, + "requires": { + "tslib": "1.10.0" + } + }, + "@google-cloud/common": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-2.2.3.tgz", + "integrity": "sha512-lvw54mGKn8VqVIy2NzAk0l5fntBFX4UwQhHk6HaqkyCQ7WBl5oz4XhzKMtMilozF/3ObPcDogqwuyEWyZ6rnQQ==", + "dev": true, + "optional": true, + "requires": { + "@google-cloud/projectify": "^1.0.0", + "@google-cloud/promisify": "^1.0.0", + "arrify": "^2.0.0", + "duplexify": "^3.6.0", + "ent": "^2.2.0", + "extend": "^3.0.2", + "google-auth-library": "^5.5.0", + "retry-request": "^4.0.0", + "teeny-request": "^5.2.1" + }, + "dependencies": { + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "optional": true + }, + "gcp-metadata": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.2.0.tgz", + "integrity": "sha512-ympv+yQ6k5QuWCuwQqnGEvFGS7MBKdcQdj1i188v3bW9QLFIchTGaBCEZxSQapT0jffdn1vdt8oJhB5VBWQO1Q==", + "dev": true, + "optional": true, + "requires": { + "gaxios": "^2.0.1", + "json-bigint": "^0.3.0" + } + }, + "google-auth-library": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.5.0.tgz", + "integrity": "sha512-TNeraw4miu6/FhO0jDrHiJuRx3SBrAhxHSPj7+rhif43bKE34UItXX9lejKxo3E8FNytuY4LIVIvpcqMQHSYZw==", + "dev": true, + "optional": true, + "requires": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "fast-text-encoding": "^1.0.0", + "gaxios": "^2.0.0", + "gcp-metadata": "^3.2.0", + "gtoken": "^4.1.0", + "jws": "^3.1.5", + "lru-cache": "^5.0.0" + } + }, + "google-p12-pem": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.2.tgz", + "integrity": "sha512-UfnEARfJKI6pbmC1hfFFm+UAcZxeIwTiEcHfqKe/drMsXD/ilnVjF7zgOGpHXyhuvX6jNJK3S8A0hOQjwtFxEw==", + "dev": true, + "optional": true, + "requires": { + "node-forge": "^0.9.0" + } + }, + "gtoken": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-4.1.0.tgz", + "integrity": "sha512-wqyn2gf5buzEZN4QNmmiiW2i2JkEdZnL7Z/9p44RtZqgt4077m4khRgAYNuu8cBwHWCc6MsP6eDUn/KkF6jFIw==", + "dev": true, + "optional": true, + "requires": { + "gaxios": "^2.0.0", + "google-p12-pem": "^2.0.0", + "jws": "^3.1.5", + "mime": "^2.2.0" + } + }, + "https-proxy-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.0.tgz", + "integrity": "sha512-y4jAxNEihqvBI5F3SaO2rtsjIOnnNA8sEbuiP+UhJZJHeM2NRm6c09ax2tgqme+SgUUvjao2fJXF4h3D6Cb2HQ==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true, + "optional": true + }, + "retry-request": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.1.1.tgz", + "integrity": "sha512-BINDzVtLI2BDukjWmjAIRZ0oglnCAkpP2vQjM3jdLhmT62h0xnQgciPwBRDAvHqpkPT2Wo1XuUyLyn6nbGrZQQ==", + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.1", + "through2": "^3.0.1" + } + }, + "teeny-request": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-5.3.0.tgz", + "integrity": "sha512-sN9E3JvEBe2CFqB/jpJpw1erWD1C7MxyYCxogHFCQSyZfkHYcdf4wzVQSw7FZxbwcfnS+FP0W9BS0mp6SEOKjg==", + "dev": true, + "optional": true, + "requires": { + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "node-fetch": "^2.2.0", + "stream-events": "^1.0.5", + "uuid": "^3.3.2" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "@google-cloud/firestore": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-2.4.0.tgz", + "integrity": "sha512-F6jXdfQAjfzY5svOJpCZeayQeCAdZ3mjpaDTCfv6YEaxfxxyGODHV8ZEuD6CHnY6jGPEdJz/1EOG3ENJhnWhmw==", + "dev": true, + "optional": true, + "requires": { + "bun": "^0.0.12", + "deep-equal": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "google-gax": "^1.6.3", + "through2": "^3.0.0" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "@google-cloud/paginator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-2.0.1.tgz", + "integrity": "sha512-HZ6UTGY/gHGNriD7OCikYWL/Eu0sTEur2qqse2w6OVsz+57se3nTkqH14JIPxtf0vlEJ8IJN5w3BdZ22pjCB8g==", + "dev": true, + "optional": true, + "requires": { + "arrify": "^2.0.0", + "extend": "^3.0.2" + }, + "dependencies": { + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "optional": true + } + } + }, + "@google-cloud/projectify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-1.0.1.tgz", + "integrity": "sha512-xknDOmsMgOYHksKc1GPbwDLsdej8aRNIA17SlSZgQdyrcC0lx0OGo4VZgYfwoEU1YS8oUxF9Y+6EzDOb0eB7Xg==", + "dev": true, + "optional": true + }, + "@google-cloud/promisify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-1.0.2.tgz", + "integrity": "sha512-7WfV4R/3YV5T30WRZW0lqmvZy9hE2/p9MvpI34WuKa2Wz62mLu5XplGTFEMK6uTbJCLWUxTcZ4J4IyClKucE5g==", + "dev": true, + "optional": true + }, + "@google-cloud/storage": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-3.5.0.tgz", + "integrity": "sha512-QxJ/zft4Kxbedpu7MQ5ZsNeS5WbonB7H28T32R4hQO2ply/j6n7bXmd5Vz0kzJu/iub20sK/ibgxYoxrgZD6CQ==", + "dev": true, + "optional": true, + "requires": { + "@google-cloud/common": "^2.1.1", + "@google-cloud/paginator": "^2.0.0", + "@google-cloud/promisify": "^1.0.0", + "arrify": "^2.0.0", + "compressible": "^2.0.12", + "concat-stream": "^2.0.0", + "date-and-time": "^0.10.0", + "duplexify": "^3.5.0", + "extend": "^3.0.2", + "gaxios": "^2.0.1", + "gcs-resumable-upload": "^2.2.4", + "hash-stream-validation": "^0.2.1", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "onetime": "^5.1.0", + "p-limit": "^2.2.0", + "pumpify": "^2.0.0", + "readable-stream": "^3.4.0", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "through2": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "optional": true + }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "optional": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true, + "optional": true + }, + "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, + "optional": true + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "optional": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "optional": true, + "requires": { + "p-try": "^2.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, + "optional": true + }, + "pumpify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", + "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", + "dev": true, + "optional": true, + "requires": { + "duplexify": "^4.1.1", + "inherits": "^2.0.3", + "pump": "^3.0.0" + }, + "dependencies": { + "duplexify": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", + "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", + "dev": true, + "optional": true, + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + } + } + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "2 || 3" + } + }, + "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, + "optional": true + } + } + }, + "@grpc/grpc-js": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-0.6.9.tgz", + "integrity": "sha512-r1nDOEEiYmAsVYBaS4DPPqdwPOXPw7YhVOnnpPdWhlNtKbYzPash6DqWTTza9gBiYMA5d2Wiq6HzrPqsRaP4yA==", + "dev": true, + "optional": true, + "requires": { + "semver": "^6.2.0" + } + }, + "@grpc/proto-loader": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.5.2.tgz", + "integrity": "sha512-eBKD/FPxQoY1x6QONW2nBd54QUEyzcFP9FenujmoeDPy1rutVSHki1s/wR68F6O1QfCNDx+ayBH1O2CVNMzyyw==", + "dev": true, + "optional": true, + "requires": { + "lodash.camelcase": "^4.3.0", + "protobufjs": "^6.8.6" + } + }, + "@hapi/address": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.2.tgz", + "integrity": "sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.3.1.tgz", + "integrity": "sha512-75ocgnI7HG/I01iGA3/rs0y6PXydUA/kxhFZM0HoT8NLSTnt/J8Gq03iKl4a4B/2A3iMG0ctXtxr5Hg9SGr1gw==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@marionebl/sander": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@marionebl/sander/-/sander-0.6.1.tgz", + "integrity": "sha1-GViWWHTyS8Ub5Ih1/rUNZC/EH3s=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "@material-ui/core": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.5.1.tgz", + "integrity": "sha512-6pyk7diT7bflf4qUpqgPCpKYqjhRHPFwsgEV2Gv71lMqwxuRygFGHE2TdZ+l5T249H66Doj2P/j6fW7yzgxTWw==", + "requires": { + "@babel/runtime": "^7.4.4", + "@material-ui/styles": "^4.5.0", + "@material-ui/system": "^4.5.0", + "@material-ui/types": "^4.1.1", + "@material-ui/utils": "^4.4.0", + "@types/react-transition-group": "^4.2.0", + "clsx": "^1.0.2", + "convert-css-length": "^2.0.1", + "deepmerge": "^4.0.0", + "hoist-non-react-statics": "^3.2.1", + "is-plain-object": "^3.0.0", + "normalize-scroll-left": "^0.2.0", + "popper.js": "^1.14.1", + "prop-types": "^15.7.2", + "react-transition-group": "^4.3.0" + }, + "dependencies": { + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "requires": { + "isobject": "^4.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" + } + } + }, + "@material-ui/icons": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.5.1.tgz", + "integrity": "sha512-YZ/BgJbXX4a0gOuKWb30mBaHaoXRqPanlePam83JQPZ/y4kl+3aW0Wv9tlR70hB5EGAkEJGW5m4ktJwMgxQAeA==", + "requires": { + "@babel/runtime": "^7.4.4" + } + }, + "@material-ui/styles": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.5.0.tgz", + "integrity": "sha512-O0NSAECHK9f3DZK6wy56PZzp8b/7KSdfpJs8DSC7vnXUAoMPCTtchBKLzMtUsNlijiJFeJjSxNdQfjWXgyur5A==", + "requires": { + "@babel/runtime": "^7.4.4", + "@emotion/hash": "^0.7.1", + "@material-ui/types": "^4.1.1", + "@material-ui/utils": "^4.1.0", + "clsx": "^1.0.2", + "csstype": "^2.5.2", + "deepmerge": "^4.0.0", + "hoist-non-react-statics": "^3.2.1", + "jss": "^10.0.0", + "jss-plugin-camel-case": "^10.0.0", + "jss-plugin-default-unit": "^10.0.0", + "jss-plugin-global": "^10.0.0", + "jss-plugin-nested": "^10.0.0", + "jss-plugin-props-sort": "^10.0.0", + "jss-plugin-rule-value-function": "^10.0.0", + "jss-plugin-vendor-prefixer": "^10.0.0", + "prop-types": "^15.7.2" + } + }, + "@material-ui/system": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.5.1.tgz", + "integrity": "sha512-M72CGz3MYxXTFLet2qWmQDBXZdtF7JKGqYaf7t9MPDYD6WYG6wKM2hUbgUtRKOwls8ZBXQGKsiAX8K4v5pXSPw==", + "requires": { + "@babel/runtime": "^7.4.4", + "deepmerge": "^4.0.0", + "prop-types": "^15.7.2" + } + }, + "@material-ui/types": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-4.1.1.tgz", + "integrity": "sha512-AN+GZNXytX9yxGi0JOfxHrRTbhFybjUJ05rnsBVjcB+16e466Z0Xe5IxawuOayVZgTBNDxmPKo5j4V6OnMtaSQ==", + "requires": { + "@types/react": "*" + } + }, + "@material-ui/utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.4.0.tgz", + "integrity": "sha512-UXoQVwArQEQWXxf2FPs0iJGT+MePQpKr0Qh0CPoLc1OdF0GSMTmQczcqCzwZkeHxHAOq/NkIKM1Pb/ih1Avicg==", + "requires": { + "@babel/runtime": "^7.4.4", + "prop-types": "^15.7.2", + "react-is": "^16.8.6" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", + "dev": true, + "optional": true + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true, + "optional": true + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true, + "optional": true + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", + "dev": true, + "optional": true + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "dev": true, + "optional": true, + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", + "dev": true, + "optional": true + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", + "dev": true, + "optional": true + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", + "dev": true, + "optional": true + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", + "dev": true, + "optional": true + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", + "dev": true, + "optional": true + }, + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", + "dev": true + }, + "@types/body-parser": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.1.tgz", + "integrity": "sha512-RoX2EZjMiFMjZh9lmYrwgoP9RTpAjSHiJxdp4oidAQVO02T7HER3xj9UKue5534ULWeqVEkujhWcyvUce+d68w==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.32", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz", + "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==", + "requires": { + "@types/node": "*" + } + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.1.tgz", + "integrity": "sha512-VfH/XCP0QbQk5B5puLqTLEeFgR8lfCJHZJKkInZ9mkYd+u8byX0kztXEQxEk4wZXJs8HI+7km2ALXjn4YKcX9w==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.16.10", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.10.tgz", + "integrity": "sha512-gM6evDj0OvTILTRKilh9T5dTaGpv1oYiFcJAfgSejuMJgGJUsD9hKEU2lB4aiTNy4WwChxRnjfYFuBQsULzsJw==", + "requires": { + "@types/node": "*", + "@types/range-parser": "*" + } + }, + "@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/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", + "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==", + "dev": true, + "optional": true + }, + "@types/mime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz", + "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==" + }, + "@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": "12.11.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.11.1.tgz", + "integrity": "sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A==" + }, + "@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/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" + }, + "@types/react": { + "version": "16.9.9", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.9.tgz", + "integrity": "sha512-L+AudFJkDukk+ukInYvpoAPyJK5q1GanFOINOJnM0w6tUgITuWvJ4jyoBPFL7z4/L8hGLd+K/6xR5uUjXu0vVg==", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + } + }, + "@types/react-transition-group": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.2.3.tgz", + "integrity": "sha512-Hk8jiuT7iLOHrcjKP/ZVSyCNXK73wJAUz60xm0mVhiRujrdiI++j4duLiL282VGxwAgxetHQFfqA29LgEeSkFA==", + "requires": { + "@types/react": "*" + } + }, + "@types/semver": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.0.2.tgz", + "integrity": "sha512-G1Ggy7/9Nsa1Jt2yiBR2riEuyK2DFNnqow6R7cromXPMNynackRY1vqFTLz/gwnef1LHokbXThcPhqMRjUbkpQ==", + "dev": true + }, + "@types/serve-static": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.3.tgz", + "integrity": "sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/mime": "*" + } + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/tapable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.4.tgz", + "integrity": "sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ==", + "dev": true + }, + "@types/uglify-js": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.0.4.tgz", + "integrity": "sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@types/webpack": { + "version": "4.39.3", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.39.3.tgz", + "integrity": "sha512-afGNNuTfKk1YfHrQ+IwF0QhDkSSMIMMt8BRRErTKaGVvWTMABDjT22/4kJ4bRoSzir9LVgxuuceyZ4Z5I82Cyg==", + "dev": true, + "requires": { + "@types/anymatch": "*", + "@types/node": "*", + "@types/tapable": "*", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@types/webpack-sources": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.5.tgz", + "integrity": "sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "optional": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "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.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "dev": true + }, + "acorn-jsx": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", + "dev": true + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "airbnb-prop-types": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz", + "integrity": "sha512-jUh2/hfKsRjNFC4XONQrxo/n/3GG4Tn6Hl0WlFQN5PY9OMC9loSCoAYKnZsWaP8wEfd5xcrPloK0Zg6iS1xwVA==", + "dev": true, + "requires": { + "array.prototype.find": "^2.1.0", + "function.prototype.name": "^1.1.1", + "has": "^1.0.3", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0", + "prop-types": "^15.7.2", + "prop-types-exact": "^1.2.0", + "react-is": "^16.9.0" + } + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "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" + } + }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", + "dev": true + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "arch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", + "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", + "dev": true + }, + "archiver": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-3.1.1.tgz", + "integrity": "sha512-5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg==", + "dev": true, + "requires": { + "archiver-utils": "^2.1.0", + "async": "^2.6.3", + "buffer-crc32": "^0.2.1", + "glob": "^7.1.4", + "readable-stream": "^3.4.0", + "tar-stream": "^2.1.0", + "zip-stream": "^2.1.2" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "dev": true, + "requires": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + } + }, + "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==", + "optional": true, + "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" + } + }, + "argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", + "dev": true + }, + "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-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "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-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "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 + }, + "array.prototype.find": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.0.tgz", + "integrity": "sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.13.0" + } + }, + "array.prototype.flat": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.2.tgz", + "integrity": "sha512-VXjh7lAL4KXKF2hY4FnEW9eRW6IhdvFW1sN/JwLbmECbCgACCnBHNyP3lFiYuttr0jxRN9Bsc5+G27dMseSWqQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.15.0", + "function-bind": "^1.1.1" + } + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "as-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/as-array/-/as-array-2.0.0.tgz", + "integrity": "sha1-TwSAXYf4/OjlEbwhCPjl46KH1Uc=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "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" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "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 + }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", + "dev": true + }, + "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 + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "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 + }, + "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.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "babel-eslint": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", + "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "dev": true, + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + }, + "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-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.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" + } + }, + "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 + } + } + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "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" + } + } + } + }, + "base62": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/base62/-/base62-1.2.8.tgz", + "integrity": "sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA==", + "dev": true + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true + }, + "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==", + "dev": true + }, + "base64id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "dev": true + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "basic-auth-connect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz", + "integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "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" + } + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, + "requires": { + "callsite": "1.0.0" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", + "dev": true, + "optional": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", + "dev": true + }, + "bluebird": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "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": "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" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" + } + }, + "browserstack": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.3.tgz", + "integrity": "sha512-AO+mECXsW4QcqC9bxwM29O7qWa7bJT94uBFzeb5brylIQwawuEziwq20dPYbins95GlWzOawgyDNdjYAo32EKg==", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + } + }, + "browserstack-local": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/browserstack-local/-/browserstack-local-1.4.2.tgz", + "integrity": "sha512-fRaynjF0MvtyyfPRy2NFnVwxLyNtD28K/v9xRsIjUVf7xLc80NIm7Nfr3KXlFmWizhG91PL/UAOXlHkoxQjaNw==", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1", + "is-running": "^2.0.0", + "ps-tree": "=1.1.1", + "temp-fs": "^0.9.9" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bun": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/bun/-/bun-0.0.12.tgz", + "integrity": "sha512-Toms18J9DqnT+IfWkwxVTB2EaBprHvjlMWrTIsfX4xbu3ZBqVBwrERU0em1IgtRe04wT+wJxMlKHZok24hrcSQ==", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "~1.0.32" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + } + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "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" + } + }, + "cachedir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-1.3.0.tgz", + "integrity": "sha512-O1ji32oyON9laVPJL1IZ5bmwd2cB46VfpxkDequezH+15FDzzVddEyrGEeX4WusDSqKxdyFdDQDEG1yo1GoWkg==", + "dev": true, + "requires": { + "os-homedir": "^1.0.1" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "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 + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-db": { + "version": "1.0.30001002", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001002.tgz", + "integrity": "sha512-KgX3alKTdY4NXVd4gcYa3FuiOjDo+3l1pyZnqJRWYFynj5KYQstnbUB51uc8PIv6Y1ussfxfxlvW+QRaY9izGQ==", + "optional": true + }, + "caniuse-lite": { + "version": "1.0.30000999", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz", + "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==", + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", + "dev": true, + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } + }, + "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" + } + }, + "char-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz", + "integrity": "sha1-5upnvSR+EHESmDt6sEee02KAAIE=", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "dev": true, + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + }, + "dependencies": { + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dev": true, + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "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 + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjson": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.3.3.tgz", + "integrity": "sha1-qS2ceG5b+bkwgGMp7gXV0yYbSvo=", + "dev": true, + "requires": { + "json-parse-helpfulerror": "^1.0.3" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "clean-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", + "dev": true, + "requires": { + "@types/webpack": "^4.4.31", + "del": "^4.1.1" + } + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cli-color": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz", + "integrity": "sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==", + "dev": true, + "requires": { + "ansi-regex": "^2.1.1", + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "memoizee": "^0.4.14", + "timers-ext": "^0.1.5" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", + "dev": true + }, + "cli-table": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", + "dev": true, + "requires": { + "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } + } + }, + "cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "dev": true, + "requires": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "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" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clsx": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.0.4.tgz", + "integrity": "sha512-1mQ557MIZTrL/140j+JVdRM6e31/OA4vTYxXgqIIZlndyfjHpyawKZia1Im05Vp9BWmImkcNrNtFYQMyFcgJDg==" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "codecov": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.6.1.tgz", + "integrity": "sha512-IUJB6WG47nWK7o50etF8jBadxdMw7DmoQg05yIljstXFBGB6clOZsIj6iD4P82T2YaIU3qq+FFu8K9pxgkCJDQ==", + "dev": true, + "requires": { + "argv": "^0.0.2", + "ignore-walk": "^3.0.1", + "js-yaml": "^3.13.1", + "teeny-request": "^3.11.3", + "urlgrey": "^0.4.4" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "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==", + "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=" + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colornames": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz", + "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "colorspace": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", + "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", + "dev": true, + "requires": { + "color": "3.0.x", + "text-hex": "1.0.x" + }, + "dependencies": { + "color": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", + "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + } + } + }, + "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.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "commoner": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", + "dev": true, + "requires": { + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "compare-func": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", + "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^3.0.0" + } + }, + "compare-semver": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/compare-semver/-/compare-semver-1.1.0.tgz", + "integrity": "sha1-fAp5onu4C2xplERfgpWCWdPQIVM=", + "dev": true, + "requires": { + "semver": "^5.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, + "compress-commons": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-2.1.1.tgz", + "integrity": "sha512-eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q==", + "dev": true, + "requires": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^3.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^2.3.6" + } + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "dev": true, + "requires": { + "mime-db": ">= 1.40.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "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=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "configstore": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-1.4.0.tgz", + "integrity": "sha1-w1eB0FAdJowlxUuLF/YkDopPsCE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "object-assign": "^4.0.1", + "os-tmpdir": "^1.0.0", + "osenv": "^0.1.0", + "uuid": "^2.0.1", + "write-file-atomic": "^1.1.2", + "xdg-basedir": "^2.0.0" + }, + "dependencies": { + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + } + } + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "connect-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/connect-query/-/connect-query-1.0.0.tgz", + "integrity": "sha1-3kT1dyCdokBNH8BGktGkEY5YIRk=", + "dev": true, + "requires": { + "qs": "~6.4.0" + }, + "dependencies": { + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true + } + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "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=", + "optional": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.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==" + }, + "conventional-changelog-angular": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz", + "integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-commits-parser": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz", + "integrity": "sha512-BoMaddIEJ6B4QVMSDu9IkVImlGOSGA1I2BQyOZHeLQ6qVOJLcLKn97+fL6dGbzWEiqDzfH4OkcveULmeq2MHFQ==", + "dev": true, + "requires": { + "JSONStream": "^1.0.4", + "is-text-path": "^1.0.0", + "lodash": "^4.2.1", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0", + "trim-off-newlines": "^1.0.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "convert-css-length": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/convert-css-length/-/convert-css-length-2.0.1.tgz", + "integrity": "sha512-iGpbcvhLPRKUbBc0Quxx7w/bV14AC3ItuBEGMahA5WTYqB8lq9jH0kTXFheCBASsYnqeMFZhiTruNxr1N59Axg==" + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz", + "integrity": "sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg==", + "dev": true, + "requires": { + "cacache": "^11.3.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "cacache": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz", + "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.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 + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "core-js": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", + "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==", + "dev": true + }, + "core-js-compat": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.3.2.tgz", + "integrity": "sha512-gfiK4QnNXhnnHVOIZst2XHdFfdMTPxtR0EGs0TdILMlGIft+087oH6/Sw2xTTIjpWXC9vEwsJA8VG3XTGcmO5g==", + "dev": true, + "requires": { + "browserslist": "^4.7.0", + "semver": "^6.3.0" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "requires": { + "buffer": "^5.1.0" + }, + "dependencies": { + "buffer": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } + } + }, + "crc32-stream": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-3.0.1.tgz", + "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", + "dev": true, + "requires": { + "crc": "^3.4.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", + "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.5" + } + }, + "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" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.33", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz", + "integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.5.3" + } + }, + "css-unit-converter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", + "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=", + "dev": true + }, + "css-vendor": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.7.tgz", + "integrity": "sha512-VS9Rjt79+p7M0WkPqcAza4Yq1ZHrsHrwf7hPL/bjQB+c1lwmAI+1FXxYTYt818D/50fFVflw0XKleiBN5RITkg==", + "requires": { + "@babel/runtime": "^7.6.2", + "is-in-browser": "^1.0.2" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "cssauron": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", + "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "dev": true, + "requires": { + "through": "X.X.X" + } + }, + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", + "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.29" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.29", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", + "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", + "dev": true, + "requires": { + "mdn-data": "~1.1.0", + "source-map": "^0.5.3" + } + }, + "mdn-data": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", + "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", + "dev": true + } + } + }, + "csstype": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.7.tgz", + "integrity": "sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ==" + }, + "csv-streamify": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/csv-streamify/-/csv-streamify-3.0.4.tgz", + "integrity": "sha1-TLYUxX4/KZzKF7Y/3LStFnd39Ho=", + "dev": true, + "requires": { + "through2": "2.0.1" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "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" + } + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "cypress": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-3.4.1.tgz", + "integrity": "sha512-1HBS7t9XXzkt6QHbwfirWYty8vzxNMawGj1yI+Fu6C3/VZJ8UtUngMW6layqwYZzLTZV8tiDpdCNBypn78V4Dg==", + "dev": true, + "requires": { + "@cypress/listr-verbose-renderer": "0.4.1", + "@cypress/xvfb": "1.2.4", + "arch": "2.1.1", + "bluebird": "3.5.0", + "cachedir": "1.3.0", + "chalk": "2.4.2", + "check-more-types": "2.24.0", + "commander": "2.15.1", + "common-tags": "1.8.0", + "debug": "3.2.6", + "execa": "0.10.0", + "executable": "4.1.1", + "extract-zip": "1.6.7", + "fs-extra": "5.0.0", + "getos": "3.1.1", + "is-ci": "1.2.1", + "is-installed-globally": "0.1.0", + "lazy-ass": "1.6.0", + "listr": "0.12.0", + "lodash": "4.17.15", + "log-symbols": "2.2.0", + "minimist": "1.2.0", + "moment": "2.24.0", + "ramda": "0.24.1", + "request": "2.88.0", + "request-progress": "3.0.0", + "supports-color": "5.5.0", + "tmp": "0.1.0", + "url": "0.11.0", + "yauzl": "2.10.0" + }, + "dependencies": { + "bluebird": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", + "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", + "dev": true + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "dev": true, + "requires": { + "rimraf": "^2.6.3" + } + } + } + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "d3": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", + "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=", + "dev": true + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "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" + } + }, + "date-and-time": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-0.10.0.tgz", + "integrity": "sha512-IbIzxtvK80JZOVsWF6+NOjunTaoFVYxkAQoyzmflJyuRCJAJebehy48mPiCAedcGp4P7/UO3QYRWa0fe6INftg==", + "dev": true, + "optional": true + }, + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", + "dev": true + }, + "date-format": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", + "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", + "dev": true + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + }, + "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 + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "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": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "optional": true, + "requires": { + "mimic-response": "^2.0.0" + } + }, + "deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", + "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.1.1.tgz", + "integrity": "sha512-+qO5WbNBKBaZez95TffdUDnGIo4+r5kmsX8aOb7PDHvXsTbghAmleuxjs6ytNaf5Eg4FGBXDS5vqO61TRi6BMg==" + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "dependencies": { + "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 + } + } + }, + "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" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "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" + } + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "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=", + "optional": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "optional": true + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "dev": true, + "requires": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + } + } + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "diagnostics": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz", + "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==", + "dev": true, + "requires": { + "colorspace": "1.1.x", + "enabled": "1.0.x", + "kuler": "1.0.x" + } + }, + "dicer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", + "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", + "dev": true, + "requires": { + "streamsearch": "0.1.2" + } + }, + "didyoumean": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.1.tgz", + "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", + "dev": true + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "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" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-helpers": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.0.tgz", + "integrity": "sha512-zRRYDhpiKuAJHasOqCm7lBnsd22nrM4+OYI4ASWCxen+ocTMl7BIAKgGag97TlLiTl6rrau5aPe1VGUm9jQBng==", + "requires": { + "@babel/runtime": "^7.5.5", + "csstype": "^2.6.6" + } + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "dom-serializer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz", + "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "dev": true + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz", + "integrity": "sha512-kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.282", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.282.tgz", + "integrity": "sha512-irSaDeCGgfMu1OA30bhqIBr+dx+pDJjRbwCpob7YWqVZbzXblybNzPGklVnWqv4EXxbkEAzQYqiNCqNTgu00lQ==", + "dev": true + }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "dev": true + }, + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "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 + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "enabled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "dev": true, + "requires": { + "env-variable": "0.0.x" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "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==", + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", + "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.0", + "ws": "~3.3.1" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, + "engine.io-client": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", + "dev": true + }, + "env-variable": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz", + "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==", + "dev": true + }, + "envify": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz", + "integrity": "sha1-1xIjKejfFoi6dxsSUBkXyc5cvOg=", + "dev": true, + "requires": { + "jstransform": "^11.0.3", + "through": "~2.3.4" + } + }, + "enzyme": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.10.0.tgz", + "integrity": "sha512-p2yy9Y7t/PFbPoTvrWde7JIYB2ZyGC+NgTNbVEGvZ5/EyoYSr9aG/2rSbVvyNvMHEhw9/dmGUJHWtfQIEiX9pg==", + "dev": true, + "requires": { + "array.prototype.flat": "^1.2.1", + "cheerio": "^1.0.0-rc.2", + "function.prototype.name": "^1.1.0", + "has": "^1.0.3", + "html-element-map": "^1.0.0", + "is-boolean-object": "^1.0.0", + "is-callable": "^1.1.4", + "is-number-object": "^1.0.3", + "is-regex": "^1.0.4", + "is-string": "^1.0.4", + "is-subset": "^0.1.1", + "lodash.escape": "^4.0.1", + "lodash.isequal": "^4.5.0", + "object-inspect": "^1.6.0", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.0.4", + "object.values": "^1.0.4", + "raf": "^3.4.0", + "rst-selector-parser": "^2.2.3", + "string.prototype.trim": "^1.1.2" + } + }, + "enzyme-adapter-react-16": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.1.tgz", + "integrity": "sha512-yMPxrP3vjJP+4wL/qqfkT6JAIctcwKF+zXO6utlGPgUJT2l4tzrdjMDWGd/Pp1BjHBcljhN24OzNEGRteibJhA==", + "dev": true, + "requires": { + "enzyme-adapter-utils": "^1.12.1", + "enzyme-shallow-equal": "^1.0.0", + "has": "^1.0.3", + "object.assign": "^4.1.0", + "object.values": "^1.1.0", + "prop-types": "^15.7.2", + "react-is": "^16.10.2", + "react-test-renderer": "^16.0.0-0", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "enzyme-adapter-utils": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.1.tgz", + "integrity": "sha512-KWiHzSjZaLEoDCOxY8Z1RAbUResbqKN5bZvenPbfKtWorJFVETUw754ebkuCQ3JKm0adx1kF8JaiR+PHPiP47g==", + "dev": true, + "requires": { + "airbnb-prop-types": "^2.15.0", + "function.prototype.name": "^1.1.1", + "object.assign": "^4.1.0", + "object.fromentries": "^2.0.1", + "prop-types": "^15.7.2", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "enzyme-shallow-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.0.tgz", + "integrity": "sha512-VUf+q5o1EIv2ZaloNQQtWCJM9gpeux6vudGVH6vLmfPXFLRuxl5+Aq3U260wof9nn0b0i+P5OEUXm1vnxkRpXQ==", + "dev": true, + "requires": { + "has": "^1.0.3", + "object-is": "^1.0.1" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.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" + } + }, + "es-abstract": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz", + "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.0", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.51", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz", + "integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "^1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "es6-symbol": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz", + "integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==", + "dev": true, + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.51" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "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 + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "eslint": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz", + "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.2", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.4.1", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-plugin-react": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz", + "integrity": "sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.1", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.0", + "object.values": "^1.1.0", + "prop-types": "^15.7.2", + "resolve": "^1.12.0" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.0.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz", + "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-jsx": "^5.0.2", + "eslint-visitor-keys": "^1.1.0" + } + }, + "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.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.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 + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "optional": true + }, + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "dev": true + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "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" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "exit-code": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/exit-code/-/exit-code-1.0.2.tgz", + "integrity": "sha1-zhZYEcnxF69qX4gpQLlq5/muzDQ=", + "dev": true + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "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" + } + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "optional": true + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "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": "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" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "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" + } + } + } + }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "requires": { + "fd-slicer": "~1.0.1" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "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 + }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", + "dev": true + }, + "fast-text-encoding": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.0.tgz", + "integrity": "sha512-R9bHCvweUxxwkDwhjav5vxpFvdPGlVngtqmx4pIZfSUhM/Q4NiIUHB456BAf+Q1Nwu3HEZYONtu+Rya+af4jiQ==", + "dev": true, + "optional": true + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", + "dev": true, + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fbjs": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz", + "integrity": "sha1-lja3cF9bqWhNRLcveDISVK/IYPc=", + "dev": true, + "requires": { + "core-js": "^1.0.0", + "loose-envify": "^1.0.0", + "promise": "^7.0.3", + "ua-parser-js": "^0.7.9", + "whatwg-fetch": "^0.9.0" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true + } + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "requires": { + "pend": "~1.2.0" + } + }, + "fecha": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", + "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==", + "dev": true + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "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" + } + }, + "file-loader": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.2.0.tgz", + "integrity": "sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.5.0.tgz", + "integrity": "sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "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" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^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-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.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" + } + }, + "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 + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "firebase-admin": { + "version": "8.6.1", + "resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-8.6.1.tgz", + "integrity": "sha512-efheZmT7w9POLfJGBl0JoIUTRe1OMAWMAs/PgM0CZw+F8AM9C29UTAr+XgzRYMzY3llaDWu7zLGQ0Zl4E9jybg==", + "dev": true, + "requires": { + "@firebase/database": "^0.5.1", + "@google-cloud/firestore": "^2.0.0", + "@google-cloud/storage": "^3.0.2", + "@types/node": "^8.0.53", + "dicer": "^0.3.0", + "jsonwebtoken": "8.1.0", + "node-forge": "0.7.4" + }, + "dependencies": { + "@types/node": { + "version": "8.10.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.55.tgz", + "integrity": "sha512-iZeh1EgupfmAAOASk580R1SL5lWF3CsBVgVH0395qyNF8fhO16xy1UwAav2PdGxIIsYRn7RzJgMGjdsvam6YYg==", + "dev": true + }, + "jsonwebtoken": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.1.0.tgz", + "integrity": "sha1-xjl80uX9WD1lwAeoPce7eOaYK4M=", + "dev": true, + "requires": { + "jws": "^3.1.4", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "node-forge": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.4.tgz", + "integrity": "sha512-8Df0906+tq/omxuCZD6PqhPaQDYuyJ1d+VITgxoIA8zvQd1ru+nMJcDChHH324MWitIgbVkAkQoGEEVJNpn/PA==", + "dev": true + } + } + }, + "firebase-functions": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/firebase-functions/-/firebase-functions-3.3.0.tgz", + "integrity": "sha512-dP6PCG+OwR6RtFpOqwPsLnfiCr3CwXAm/SVGMbO53vDAk0nhUQ1WGAyHDYmIyMAkaLJkIKGwDnX7XmZ5+yAg7g==", + "requires": { + "@types/express": "^4.17.0", + "cors": "^2.8.5", + "express": "^4.17.1", + "jsonwebtoken": "^8.5.1", + "lodash": "^4.17.14" + } + }, + "firebase-tools": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/firebase-tools/-/firebase-tools-7.6.1.tgz", + "integrity": "sha512-FLsNZ8ZHvqaM94Mh31w8ppm3i0cfh7FzdUqINFqUKr7EwgLzg4f0TyAz59XwDd42rkzFk/ZPAlaiv6yCaIUIZA==", + "dev": true, + "requires": { + "JSONStream": "^1.2.1", + "archiver": "^3.0.0", + "body-parser": "^1.19.0", + "chokidar": "^3.0.2", + "cjson": "^0.3.1", + "cli-color": "^1.2.0", + "cli-table": "^0.3.1", + "commander": "^2.8.1", + "configstore": "^1.2.0", + "cross-env": "^5.1.3", + "cross-spawn": "^4.0.0", + "csv-streamify": "^3.0.4", + "didyoumean": "^1.2.1", + "dotenv": "^6.1.0", + "exit-code": "^1.0.2", + "express": "^4.16.4", + "filesize": "^3.1.3", + "fs-extra": "^0.23.1", + "glob": "^7.1.2", + "google-auto-auth": "^0.7.2", + "inquirer": "~6.3.1", + "jsonschema": "^1.0.2", + "jsonwebtoken": "^8.2.1", + "lodash": "^4.17.14", + "marked": "^0.7.0", + "marked-terminal": "^3.3.0", + "minimatch": "^3.0.4", + "open": "^6.3.0", + "ora": "^3.4.0", + "plist": "^3.0.1", + "portfinder": "^1.0.23", + "progress": "^2.0.3", + "request": "^2.87.0", + "semver": "^5.0.3", + "superstatic": "^6.0.1", + "tar": "^4.3.0", + "tcp-port-used": "^1.0.1", + "tmp": "0.0.33", + "universal-analytics": "^0.4.16", + "update-notifier": "^2.5.0", + "uuid": "^3.0.0", + "winston": "^1.0.1" + }, + "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" + } + }, + "async": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", + "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", + "dev": true + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true + }, + "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" + } + }, + "chokidar": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.2.tgz", + "integrity": "sha512-bw3pm7kZ2Wa6+jQWYP/c7bAZy3i4GwiIiMO2EeRjrE48l8vBqC/WvFhSF0xyM8fQiPEGvwMY/5bqDG7sSEOuhg==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + }, + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "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" + } + }, + "fs-extra": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.23.1.tgz", + "integrity": "sha1-ZhHbpq3yq43Jxp+rN83fiBgVfj0=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "fsevents": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.1.tgz", + "integrity": "sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw==", + "dev": true, + "optional": true + }, + "inquirer": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz", + "integrity": "sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.11", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + }, + "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-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.4" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "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" + } + }, + "winston": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/winston/-/winston-1.1.2.tgz", + "integrity": "sha1-aO3Xaf951PlSjPDl2AAhqt5nSAw=", + "dev": true, + "requires": { + "async": "~1.0.0", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "pkginfo": "0.3.x", + "stack-trace": "0.0.x" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "flat-arguments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flat-arguments/-/flat-arguments-1.0.2.tgz", + "integrity": "sha1-m6p4Ct8FAfKC1ybJxqA426ROp28=", + "dev": true, + "requires": { + "array-flatten": "^1.0.0", + "as-array": "^1.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isobject": "^3.0.0" + }, + "dependencies": { + "as-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/as-array/-/as-array-1.0.0.tgz", + "integrity": "sha1-KKbu6qVynx9OyiBH316d4avaDtE=", + "dev": true, + "requires": { + "lodash.isarguments": "2.4.x", + "lodash.isobject": "^2.4.1", + "lodash.values": "^2.4.1" + }, + "dependencies": { + "lodash.isarguments": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-2.4.1.tgz", + "integrity": "sha1-STGpwIJTrfCRrnyhkiWKlzh27Mo=", + "dev": true + }, + "lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", + "dev": true, + "requires": { + "lodash._objecttypes": "~2.4.1" + } + } + } + }, + "lodash.isobject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", + "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=", + "dev": true + } + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", + "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", + "dev": true, + "requires": { + "debug": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "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" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "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=" + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "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-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true, + "optional": 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=", + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "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==", + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz", + "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", + "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", + "dev": true, + "optional": true, + "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" + } + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", + "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", + "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "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=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "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=", + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", + "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "optional": 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==", + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "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 + }, + "function.prototype.name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.1.tgz", + "integrity": "sha512-e1NzkiJuw6xqVH7YSdiW/qDHebcmMhPNe6w+4ZYYEg0VA+LaLzx37RimbPLuonHhYGFGPx1ME2nSi74JiaCr/Q==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1", + "functions-have-names": "^1.1.1", + "is-callable": "^1.1.4" + } + }, + "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 + }, + "functions-have-names": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.1.1.tgz", + "integrity": "sha512-U0kNHUoxwPNPWOJaMG7Z00d4a/qZVrFtzWJRaK8V9goaVOCXBSQSJpt3MYGNtkScKEBKovxLjnNdC9MlXwo5Pw==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": 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=", + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "gaxios": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.1.0.tgz", + "integrity": "sha512-Gtpb5sdQmb82sgVkT2GnS2n+Kx4dlFwbeMYcDlD395aEvsLCSQXJJcHt7oJ2LrGxDEAeiOkK79Zv2A8Pzt6CFg==", + "dev": true, + "optional": true, + "requires": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^3.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.3.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "https-proxy-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.0.tgz", + "integrity": "sha512-y4jAxNEihqvBI5F3SaO2rtsjIOnnNA8sEbuiP+UhJZJHeM2NRm6c09ax2tgqme+SgUUvjao2fJXF4h3D6Cb2HQ==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.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, + "optional": true + } + } + }, + "gcp-metadata": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.3.1.tgz", + "integrity": "sha512-5kJPX/RXuqoLmHiOOgkSDk/LI0QaXpEvZ3pvQP4ifjGGDKZKVSOjL/GcDjXA5kLxppFCOjmmsu0Uoop9d1upaQ==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "retry-request": "^3.0.0" + } + }, + "gcs-resumable-upload": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-2.3.0.tgz", + "integrity": "sha512-PclXJiEngrVx0c4K0LfE1XOxhmOkBEy39Rrhspdn6jAbbwe4OQMZfjo7Z1LHBrh57+bNZeIN4M+BooYppCoHSg==", + "dev": true, + "optional": true, + "requires": { + "abort-controller": "^3.0.0", + "configstore": "^5.0.0", + "gaxios": "^2.0.0", + "google-auth-library": "^5.0.0", + "pumpify": "^2.0.0", + "stream-events": "^1.0.4" + }, + "dependencies": { + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "optional": true + }, + "configstore": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.0.tgz", + "integrity": "sha512-eE/hvMs7qw7DlcB5JPRnthmrITuHMmACUJAp89v6PT6iOqzoLS7HRWhBtuHMlhNHo2AhUSA/3Dh1bKNJHcublQ==", + "dev": true, + "optional": true, + "requires": { + "dot-prop": "^5.1.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" + } + }, + "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, + "optional": true + }, + "dot-prop": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.1.0.tgz", + "integrity": "sha512-n1oC6NBF+KM9oVXtjmen4Yo7HyAVWV2UUl50dCYJdw2924K6dX9bf9TTTWaKtYlRn0FEtxG27KS80ayVLixxJA==", + "dev": true, + "optional": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "duplexify": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", + "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", + "dev": true, + "optional": true, + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "gcp-metadata": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.2.0.tgz", + "integrity": "sha512-ympv+yQ6k5QuWCuwQqnGEvFGS7MBKdcQdj1i188v3bW9QLFIchTGaBCEZxSQapT0jffdn1vdt8oJhB5VBWQO1Q==", + "dev": true, + "optional": true, + "requires": { + "gaxios": "^2.0.1", + "json-bigint": "^0.3.0" + } + }, + "google-auth-library": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.5.0.tgz", + "integrity": "sha512-TNeraw4miu6/FhO0jDrHiJuRx3SBrAhxHSPj7+rhif43bKE34UItXX9lejKxo3E8FNytuY4LIVIvpcqMQHSYZw==", + "dev": true, + "optional": true, + "requires": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "fast-text-encoding": "^1.0.0", + "gaxios": "^2.0.0", + "gcp-metadata": "^3.2.0", + "gtoken": "^4.1.0", + "jws": "^3.1.5", + "lru-cache": "^5.0.0" + } + }, + "google-p12-pem": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.2.tgz", + "integrity": "sha512-UfnEARfJKI6pbmC1hfFFm+UAcZxeIwTiEcHfqKe/drMsXD/ilnVjF7zgOGpHXyhuvX6jNJK3S8A0hOQjwtFxEw==", + "dev": true, + "optional": true, + "requires": { + "node-forge": "^0.9.0" + } + }, + "gtoken": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-4.1.0.tgz", + "integrity": "sha512-wqyn2gf5buzEZN4QNmmiiW2i2JkEdZnL7Z/9p44RtZqgt4077m4khRgAYNuu8cBwHWCc6MsP6eDUn/KkF6jFIw==", + "dev": true, + "optional": true, + "requires": { + "gaxios": "^2.0.0", + "google-p12-pem": "^2.0.0", + "jws": "^3.1.5", + "mime": "^2.2.0" + } + }, + "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, + "optional": true + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "optional": true, + "requires": { + "semver": "^6.0.0" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true, + "optional": true + }, + "pumpify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", + "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", + "dev": true, + "optional": true, + "requires": { + "duplexify": "^4.1.1", + "inherits": "^2.0.3", + "pump": "^3.0.0" + } + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.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, + "optional": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz", + "integrity": "sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==", + "dev": true, + "optional": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "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, + "optional": true + } + } + }, + "generate-robotstxt": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/generate-robotstxt/-/generate-robotstxt-7.1.0.tgz", + "integrity": "sha512-CA1cT9sX+Q0mDfZmQaigd34dSqzvhLGoiHdC1RnBGCVwpklYRAs/PeQbC5wfYxKhTdQDV0h0DXLA+jXExZe5SA==", + "dev": true, + "requires": { + "cosmiconfig": "^5.2.1", + "fs-extra": "^8.1.0", + "ip-regex": "^4.1.0", + "is-absolute-url": "^3.0.0", + "meow": "^5.0.0", + "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 + } + } + }, + "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-own-enumerable-property-symbols": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz", + "integrity": "sha512-09/VS4iek66Dh2bctjRkowueRJbY1JDGR1L/zRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA==", + "dev": true + }, + "get-stdin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", + "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getos": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.1.1.tgz", + "integrity": "sha512-oUP1rnEhAr97rkitiszGP9EgDVYnmchgFzfqRzSkgtfv7ai6tEi7Ko8GgjNXts7VLWEqrTWyhsOKLe5C5b/Zkg==", + "dev": true, + "requires": { + "async": "2.6.1" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + } + } + }, + "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" + } + }, + "git-raw-commits": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.6.tgz", + "integrity": "sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg==", + "dev": true, + "requires": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", + "optional": true + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "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.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glob-slash/-/glob-slash-1.0.0.tgz", + "integrity": "sha1-/lLvpDMjP3Si/mTHq7m8hIICq5U=", + "dev": true + }, + "glob-slasher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glob-slasher/-/glob-slasher-1.0.1.tgz", + "integrity": "sha1-dHoOW7IiZC7hDT4FRD4QlJPLD44=", + "dev": true, + "requires": { + "glob-slash": "^1.0.0", + "lodash.isobject": "^2.4.1", + "toxic": "^1.0.0" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "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": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "google-auth-library": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-0.10.0.tgz", + "integrity": "sha1-bhW6vuhf0d0U2NEoopW2g41SE24=", + "dev": true, + "requires": { + "gtoken": "^1.2.1", + "jws": "^3.1.4", + "lodash.noop": "^3.0.1", + "request": "^2.74.0" + } + }, + "google-auto-auth": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.7.2.tgz", + "integrity": "sha512-ux2n2AE2g3+vcLXwL4dP/M12SFMRX5dzCzBfhAEkTeAB7dpyGdOIEj7nmUx0BHKaCcUQrRWg9kT63X/Mmtk1+A==", + "dev": true, + "requires": { + "async": "^2.3.0", + "gcp-metadata": "^0.3.0", + "google-auth-library": "^0.10.0", + "request": "^2.79.0" + } + }, + "google-gax": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-1.7.5.tgz", + "integrity": "sha512-Tz2DFs8umzDcCBTi2W1cY4vEgAKaYRj70g6Hh/MiiZaJizrly7PgyxsIYUGi7sOpEuAbARQymYKvy5mNi8hEbg==", + "dev": true, + "optional": true, + "requires": { + "@grpc/grpc-js": "0.6.9", + "@grpc/proto-loader": "^0.5.1", + "abort-controller": "^3.0.0", + "duplexify": "^3.6.0", + "google-auth-library": "^5.0.0", + "is-stream-ended": "^0.1.4", + "lodash.at": "^4.6.0", + "lodash.has": "^4.5.2", + "node-fetch": "^2.6.0", + "protobufjs": "^6.8.8", + "retry-request": "^4.0.0", + "semver": "^6.0.0", + "walkdir": "^0.4.0" + }, + "dependencies": { + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "optional": true + }, + "gcp-metadata": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.2.0.tgz", + "integrity": "sha512-ympv+yQ6k5QuWCuwQqnGEvFGS7MBKdcQdj1i188v3bW9QLFIchTGaBCEZxSQapT0jffdn1vdt8oJhB5VBWQO1Q==", + "dev": true, + "optional": true, + "requires": { + "gaxios": "^2.0.1", + "json-bigint": "^0.3.0" + } + }, + "google-auth-library": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.5.0.tgz", + "integrity": "sha512-TNeraw4miu6/FhO0jDrHiJuRx3SBrAhxHSPj7+rhif43bKE34UItXX9lejKxo3E8FNytuY4LIVIvpcqMQHSYZw==", + "dev": true, + "optional": true, + "requires": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "fast-text-encoding": "^1.0.0", + "gaxios": "^2.0.0", + "gcp-metadata": "^3.2.0", + "gtoken": "^4.1.0", + "jws": "^3.1.5", + "lru-cache": "^5.0.0" + } + }, + "google-p12-pem": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.2.tgz", + "integrity": "sha512-UfnEARfJKI6pbmC1hfFFm+UAcZxeIwTiEcHfqKe/drMsXD/ilnVjF7zgOGpHXyhuvX6jNJK3S8A0hOQjwtFxEw==", + "dev": true, + "optional": true, + "requires": { + "node-forge": "^0.9.0" + } + }, + "gtoken": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-4.1.0.tgz", + "integrity": "sha512-wqyn2gf5buzEZN4QNmmiiW2i2JkEdZnL7Z/9p44RtZqgt4077m4khRgAYNuu8cBwHWCc6MsP6eDUn/KkF6jFIw==", + "dev": true, + "optional": true, + "requires": { + "gaxios": "^2.0.0", + "google-p12-pem": "^2.0.0", + "jws": "^3.1.5", + "mime": "^2.2.0" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true, + "optional": true + }, + "retry-request": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.1.1.tgz", + "integrity": "sha512-BINDzVtLI2BDukjWmjAIRZ0oglnCAkpP2vQjM3jdLhmT62h0xnQgciPwBRDAvHqpkPT2Wo1XuUyLyn6nbGrZQQ==", + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.1", + "through2": "^3.0.1" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "google-p12-pem": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-0.1.2.tgz", + "integrity": "sha1-M8RqsCGqc0+gMys5YKmj/8svMXc=", + "dev": true, + "requires": { + "node-forge": "^0.7.1" + }, + "dependencies": { + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "dev": true + } + } + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", + "dev": true + }, + "gtoken": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-1.2.3.tgz", + "integrity": "sha512-wQAJflfoqSgMWrSBk9Fg86q+sd6s7y6uJhIvvIPz++RElGlMtEqsdAR2oWwZ/WTEtp7P9xFbJRrT976oRgzJ/w==", + "dev": true, + "requires": { + "google-p12-pem": "^0.1.0", + "jws": "^3.0.0", + "mime": "^1.4.1", + "request": "^2.72.0" + } + }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, + "gunzip-maybe": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.0.tgz", + "integrity": "sha1-fYMWyNBXHh0IpaeeRv/wr+gXKxk=", + "dev": true, + "requires": { + "browserify-zlib": "^0.1.4", + "is-deflate": "^1.0.0", + "is-gzip": "^1.0.0", + "peek-stream": "^1.1.0", + "pumpify": "^1.3.3", + "through2": "^2.0.3" + }, + "dependencies": { + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, + "requires": { + "pako": "~0.2.0" + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + } + } + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "dev": true + }, + "handlebars": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.3.tgz", + "integrity": "sha512-B0W4A2U1ww3q7VVthTKfh+epHx+q4mCt6iK+zEAzbMBpWQAwxCeKxEGpj/1oQTpzPXDNSOG7hmG14TsISH50yw==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "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-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dev": true, + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "optional": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "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": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash-stream-validation": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.2.tgz", + "integrity": "sha512-cMlva5CxWZOrlS/cY0C+9qAzesn5srhFA8IT1VPiHc9bWWBLkJfEUIZr7MWoi89oOOGmpg8ymchaOjiArsGu5A==", + "dev": true, + "optional": true, + "requires": { + "through2": "^2.0.0" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", + "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "requires": { + "react-is": "^16.7.0" + } + }, + "home-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/home-dir/-/home-dir-1.0.0.tgz", + "integrity": "sha1-KRfrRL3JByztqUJXlUOEfjAX/k4=", + "dev": true + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "html-element-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.1.0.tgz", + "integrity": "sha512-iqiG3dTZmy+uUaTmHarTL+3/A2VW9ox/9uasKEZC+R/wAtUrTcRlXPSaPqsnWPfIu8wqn09jQNwMRqzL54jSYA==", + "dev": true, + "requires": { + "array-filter": "^1.0.0" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + } + }, + "html-select": { + "version": "2.3.24", + "resolved": "https://registry.npmjs.org/html-select/-/html-select-2.3.24.tgz", + "integrity": "sha1-Rq1tcS5zLPMcZznV0BEKX6vxdYU=", + "dev": true, + "requires": { + "cssauron": "^1.1.0", + "duplexer2": "~0.0.2", + "inherits": "^2.0.1", + "minimist": "~0.0.8", + "readable-stream": "^1.0.27-1", + "split": "~0.3.0", + "stream-splicer": "^1.2.0", + "through2": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz", + "integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=", + "dev": true, + "requires": { + "readable-stream": ">=1.1.13-1 <1.2.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "html-tokenize": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/html-tokenize/-/html-tokenize-1.2.5.tgz", + "integrity": "sha1-flupnstR75Buyaf83ubKMmfHiX4=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "minimist": "~0.0.8", + "readable-stream": "~1.0.27-1", + "through2": "~0.4.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "dev": true, + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "optional": true + } + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "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" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-proxy-agent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz", + "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.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" + } + } + } + }, + "husky": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/husky/-/husky-3.0.9.tgz", + "integrity": "sha512-Yolhupm7le2/MqC1VYLk/cNmYxsSsqKkTyBhzQHhPK1jFnC89mmmNVuGtLNabjDI6Aj8UNIr0KpRNuBkiC4+sg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "ci-info": "^2.0.0", + "cosmiconfig": "^5.2.1", + "execa": "^1.0.0", + "get-stdin": "^7.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^4.2.0", + "please-upgrade-node": "^3.2.0", + "read-pkg": "^5.2.0", + "run-node": "^1.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "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" + } + } + } + }, + "hyphenate-style-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz", + "integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==" + }, + "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==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "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 + }, + "ignore-styles": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ignore-styles/-/ignore-styles-5.0.1.tgz", + "integrity": "sha1-tJ7yJ0va/NikiAqWa/440aC/RnE=" + }, + "ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "import-fresh": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.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-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.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" + } + }, + "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 + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^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": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "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==" + }, + "inject-html": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/inject-html/-/inject-html-1.1.2.tgz", + "integrity": "sha512-XwGJ1KhM1lJnXUiRj/B+tc629xwivUYOAOGfbpJnqYWwady76fRWZqlp+fkbOSHFjdAXKk5jQm3Xw4RiFfVVsA==", + "dev": true, + "requires": { + "debug": "^2.2.0", + "gunzip-maybe": "1.4.0", + "husky": "^0.8.1", + "mime-types": "^2.0.13", + "response-spy": "~0.0.x", + "through2": "^0.6.5", + "trumpet": "^1.7.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" + } + }, + "husky": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/husky/-/husky-0.8.1.tgz", + "integrity": "sha1-7MeXuMTGiToz9IcDvJeppeUNhg8=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.1.0.tgz", + "integrity": "sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA==", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "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" + }, + "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-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-boolean-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz", + "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + }, + "dependencies": { + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + } + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "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-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-deflate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", + "integrity": "sha1-yGKQHDwWH7CdrHzcfnhPgOmPLxQ=", + "dev": true + }, + "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-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "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=", + "dev": true + }, + "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-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "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-gzip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", + "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=", + "dev": true + }, + "is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + }, + "dependencies": { + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + } + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "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-number-object": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz", + "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "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-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-running": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-running/-/is-running-2.1.0.tgz", + "integrity": "sha1-MKc/9cw4VOT8JUkICen1q/jeCeA=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-stream-ended": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==", + "dev": true + }, + "is-string": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz", + "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=", + "dev": true + }, + "is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "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": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "is2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.1.tgz", + "integrity": "sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "ip-regex": "^2.1.0", + "is-url": "^1.2.2" + }, + "dependencies": { + "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 + } + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "dev": true, + "requires": { + "buffer-alloc": "^1.2.0" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + } + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + } + }, + "istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", + "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", + "dev": true, + "requires": { + "handlebars": "^4.1.2" + } + }, + "jasmine-core": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz", + "integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==", + "dev": true + }, + "jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", + "dev": true + }, + "join-path": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/join-path/-/join-path-1.1.1.tgz", + "integrity": "sha1-EFNaEm0ky9Zff/zfFe8uYxB2tQU=", + "dev": true, + "requires": { + "as-array": "^2.0.0", + "url-join": "0.0.1", + "valid-url": "^1" + } + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "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==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "js2xmlparser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.0.tgz", + "integrity": "sha512-WuNgdZOXVmBk5kUPMcTcVUpbGRzLfNkv7+7APq7WiDihpXVKrgxo6wwRpRl9OQeEBgKCVk9mR7RbzrnNWC8oBw==", + "dev": true, + "requires": { + "xmlcreate": "^2.0.0" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.3.tgz", + "integrity": "sha512-Yf1ZKA3r9nvtMWHO1kEuMZTlHOF8uoQ0vyo5eH7SQy5YeIiHM+B0DgKnn+X6y6KDYZcF7G2SPkKF+JORCXWE/A==", + "dev": true, + "requires": { + "@babel/parser": "^7.4.4", + "bluebird": "^3.5.4", + "catharsis": "^0.8.11", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.0", + "klaw": "^3.0.0", + "markdown-it": "^8.4.2", + "markdown-it-anchor": "^5.0.2", + "marked": "^0.7.0", + "mkdirp": "^0.5.1", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.0.1", + "taffydb": "2.6.2", + "underscore": "~1.9.1" + }, + "dependencies": { + "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 + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-bigint": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.0.tgz", + "integrity": "sha1-DM2RLEuCcNBfBW+9E4FLU9OCWx4=", + "dev": true, + "optional": true, + "requires": { + "bignumber.js": "^7.0.0" + } + }, + "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-helpfulerror": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz", + "integrity": "sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w=", + "dev": true, + "requires": { + "jju": "^1.1.0" + } + }, + "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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "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 + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "jsonschema": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz", + "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==", + "dev": true + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "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" + } + }, + "jss": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.0.0.tgz", + "integrity": "sha512-TPpDFsiBjuERiL+dFDq8QCdiF9oDasPcNqCKLGCo/qED3fNYOQ8PX2lZhknyTiAt3tZrfOFbb0lbQ9lTjPZxsQ==", + "requires": { + "@babel/runtime": "^7.3.1", + "csstype": "^2.6.5", + "is-in-browser": "^1.1.3", + "tiny-warning": "^1.0.2" + } + }, + "jss-plugin-camel-case": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.0.0.tgz", + "integrity": "sha512-yALDL00+pPR4FJh+k07A8FeDvfoPPuXU48HLy63enAubcVd3DnS+2rgqPXglHDGixIDVkCSXecl/l5GAMjzIbA==", + "requires": { + "@babel/runtime": "^7.3.1", + "hyphenate-style-name": "^1.0.3", + "jss": "10.0.0" + } + }, + "jss-plugin-default-unit": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.0.0.tgz", + "integrity": "sha512-sURozIOdCtGg9ap18erQ+ijndAfEGtTaetxfU3H4qwC18Bi+fdvjlY/ahKbuu0ASs7R/+WKCP7UaRZOjUDMcdQ==", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.0.0" + } + }, + "jss-plugin-global": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.0.0.tgz", + "integrity": "sha512-80ofWKSQUo62bxLtRoTNe0kFPtHgUbAJeOeR36WEGgWIBEsXLyXOnD5KNnjPqG4heuEkz9eSLccjYST50JnI7Q==", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.0.0" + } + }, + "jss-plugin-nested": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.0.0.tgz", + "integrity": "sha512-waxxwl/po1hN3azTyixKnr8ReEqUv5WK7WsO+5AWB0bFndML5Yqnt8ARZ90HEg8/P6WlqE/AB2413TkCRZE8bA==", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.0.0", + "tiny-warning": "^1.0.2" + } + }, + "jss-plugin-props-sort": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.0.0.tgz", + "integrity": "sha512-41mf22CImjwNdtOG3r+cdC8+RhwNm616sjHx5YlqTwtSJLyLFinbQC/a4PIFk8xqf1qpFH1kEAIw+yx9HaqZ3g==", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.0.0" + } + }, + "jss-plugin-rule-value-function": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.0.0.tgz", + "integrity": "sha512-Jw+BZ8JIw1f12V0SERqGlBT1JEPWax3vuZpMym54NAXpPb7R1LYHiCTIlaJUyqvIfEy3kiHMtgI+r2whGgRIxQ==", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.0.0" + } + }, + "jss-plugin-vendor-prefixer": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.0.0.tgz", + "integrity": "sha512-qslqvL0MUbWuzXJWdUxpj6mdNUX8jr4FFTo3aZnAT65nmzWL7g8oTr9ZxmTXXgdp7ANhS1QWE7036/Q2isFBpw==", + "requires": { + "@babel/runtime": "^7.3.1", + "css-vendor": "^2.0.6", + "jss": "10.0.0" + } + }, + "jstransform": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz", + "integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=", + "dev": true, + "requires": { + "base62": "^1.1.0", + "commoner": "^0.10.1", + "esprima-fb": "^15001.1.0-dev-harmony-fb", + "object-assign": "^2.0.0", + "source-map": "^0.4.2" + }, + "dependencies": { + "esprima-fb": { + "version": "15001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz", + "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "jsx-ast-utils": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz", + "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "karma": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/karma/-/karma-4.3.0.tgz", + "integrity": "sha512-NSPViHOt+RW38oJklvYxQC4BSQsv737oQlr/r06pCM+slDOr4myuI1ivkRmp+3dVpJDfZt2DmaPJ2wkx+ZZuMQ==", + "dev": true, + "requires": { + "bluebird": "^3.3.0", + "body-parser": "^1.16.1", + "braces": "^3.0.2", + "chokidar": "^3.0.0", + "colors": "^1.1.0", + "connect": "^3.6.0", + "core-js": "^3.1.3", + "di": "^0.0.1", + "dom-serialize": "^2.2.0", + "flatted": "^2.0.0", + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "http-proxy": "^1.13.0", + "isbinaryfile": "^3.0.0", + "lodash": "^4.17.14", + "log4js": "^4.0.0", + "mime": "^2.3.1", + "minimatch": "^3.0.2", + "optimist": "^0.6.1", + "qjobs": "^1.1.4", + "range-parser": "^1.2.0", + "rimraf": "^2.6.0", + "safe-buffer": "^5.0.1", + "socket.io": "2.1.1", + "source-map": "^0.6.1", + "tmp": "0.0.33", + "useragent": "2.3.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" + } + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true + }, + "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" + } + }, + "chokidar": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.2.tgz", + "integrity": "sha512-bw3pm7kZ2Wa6+jQWYP/c7bAZy3i4GwiIiMO2EeRjrE48l8vBqC/WvFhSF0xyM8fQiPEGvwMY/5bqDG7sSEOuhg==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + }, + "core-js": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.3.2.tgz", + "integrity": "sha512-S1FfZpeBchkhyoY76YAdFzKS4zz9aOK7EeFaNA2aJlyXyA+sgqz6xdxmLPGXEAf0nF44MVN1kSjrA9Kt3ATDQg==", + "dev": true + }, + "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" + } + }, + "fsevents": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.1.tgz", + "integrity": "sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw==", + "dev": true, + "optional": true + }, + "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-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.4" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "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" + } + } + } + }, + "karma-browserstack-launcher": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-1.5.1.tgz", + "integrity": "sha512-zt9Ukow5A9WZHZXCFVO/h5kRsAdaZYeMNJK9Uan8v42amQXt3B/DZVxl24NCcAIxufKjW13UWd9iJ9knG9OCYw==", + "dev": true, + "requires": { + "browserstack": "~1.5.1", + "browserstack-local": "^1.3.7", + "q": "~1.5.0" + } + }, + "karma-chrome-launcher": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", + "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "dev": true, + "requires": { + "which": "^1.2.1" + } + }, + "karma-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.0.1.tgz", + "integrity": "sha512-SnFkHsnLsaXfxkey51rRN9JDLAEKYW2Lb0qOEvcruukk0NkSNDkjobNDZPt9Ni3kIhLZkLtpGOz661hN7OaZvQ==", + "dev": true, + "requires": { + "dateformat": "^1.0.6", + "istanbul": "^0.4.0", + "istanbul-lib-coverage": "^2.0.5", + "istanbul-lib-instrument": "^3.3.0", + "istanbul-lib-report": "^2.0.8", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^2.2.4", + "lodash": "^4.17.11", + "minimatch": "^3.0.0", + "source-map": "^0.5.1" + } + }, + "karma-inject-html": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/karma-inject-html/-/karma-inject-html-0.0.1.tgz", + "integrity": "sha1-VGTIPENRrbGEe+ir+1hysmfCjtY=", + "dev": true + }, + "karma-jasmine": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz", + "integrity": "sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==", + "dev": true, + "requires": { + "jasmine-core": "^3.3" + } + }, + "karma-mocha-reporter": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz", + "integrity": "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "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" + } + } + } + }, + "karma-sourcemap-loader": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz", + "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "karma-webpack": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz", + "integrity": "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.1", + "schema-utils": "^1.0.0", + "source-map": "^0.7.3", + "webpack-dev-middleware": "^3.7.0" + }, + "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 + } + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "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" + } + }, + "kuler": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz", + "integrity": "sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==", + "dev": true, + "requires": { + "colornames": "^1.1.1" + } + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "dev": true, + "requires": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", + "dev": true + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "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" + } + }, + "listr": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.12.0.tgz", + "integrity": "sha1-a84sD1YD+klYDqF81qAMwOX6RRo=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "figures": "^1.7.0", + "indent-string": "^2.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.2.0", + "listr-verbose-renderer": "^0.4.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "ora": "^0.2.3", + "p-map": "^1.1.1", + "rxjs": "^5.0.0-beta.11", + "stream-to-observable": "^0.1.0", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "cli-spinners": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", + "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", + "dev": true + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "^1.0.0" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "ora": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz", + "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "cli-cursor": "^1.0.2", + "cli-spinners": "^0.1.2", + "object-assign": "^4.0.1" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, + "rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", + "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + } + } + }, + "listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "dev": true + }, + "listr-update-renderer": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz", + "integrity": "sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "listr-verbose-renderer": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-cursor": "^1.0.2", + "date-fns": "^1.27.2", + "figures": "^1.7.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash._isnative": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=", + "dev": true + }, + "lodash._objecttypes": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._shimkeys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=", + "dev": true, + "requires": { + "lodash._objecttypes": "~2.4.1" + } + }, + "lodash.at": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.at/-/lodash.at-4.6.0.tgz", + "integrity": "sha1-k83OZk8KGZTqM9181A4jr9EbD/g=", + "dev": true, + "optional": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true, + "optional": true + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", + "dev": true + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", + "dev": true + }, + "lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "lodash.has": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", + "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=", + "dev": true, + "optional": true + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", + "dev": true, + "requires": { + "lodash._objecttypes": "~2.4.1" + } + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "dev": true, + "requires": { + "lodash._isnative": "~2.4.1", + "lodash._shimkeys": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.noop": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-3.0.1.tgz", + "integrity": "sha1-OBiPTWUKOkdCWEObluxFsyYXEzw=", + "dev": true + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", + "dev": true + }, + "lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "lodash.values": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", + "integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=", + "dev": true, + "requires": { + "lodash.keys": "~2.4.1" + } + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "log-update": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", + "dev": true, + "requires": { + "ansi-escapes": "^1.0.0", + "cli-cursor": "^1.0.2" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + } + } + }, + "log4js": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz", + "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==", + "dev": true, + "requires": { + "date-format": "^2.0.0", + "debug": "^4.1.1", + "flatted": "^2.0.0", + "rfdc": "^1.1.4", + "streamroller": "^1.0.6" + } + }, + "logform": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.1.2.tgz", + "integrity": "sha512-+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==", + "dev": true, + "requires": { + "colors": "^1.2.1", + "fast-safe-stringify": "^2.0.4", + "fecha": "^2.3.3", + "ms": "^2.1.1", + "triple-beam": "^1.3.0" + } + }, + "loglevel": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz", + "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==", + "dev": true + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true, + "optional": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "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": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "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-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + } + } + }, + "markdown-it-anchor": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.5.tgz", + "integrity": "sha512-xLIjLQmtym3QpoY9llBgApknl7pxAcN3WDRc2d3rwpl+/YvDZHPmKscGs+L6E05xf2KrCXPBvosWt7MZukwSpQ==", + "dev": true + }, + "markdown-to-jsx": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.10.3.tgz", + "integrity": "sha512-PSoUyLnW/xoW6RsxZrquSSz5eGEOTwa15H5eqp3enmrp8esmgDJmhzd6zmQ9tgAA9TxJzx1Hmf3incYU/IamoQ==", + "requires": { + "prop-types": "^15.6.2", + "unquote": "^1.1.0" + } + }, + "marked": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", + "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", + "dev": true + }, + "marked-terminal": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-3.3.0.tgz", + "integrity": "sha512-+IUQJ5VlZoAFsM5MHNT7g3RHSkA3eETqhRCdXv4niUMAKHQ7lb1yvAcuGPmm4soxhmtX13u4Li6ZToXtvSEH+A==", + "dev": true, + "requires": { + "ansi-escapes": "^3.1.0", + "cardinal": "^2.1.1", + "chalk": "^2.4.1", + "cli-table": "^0.3.1", + "node-emoji": "^1.4.1", + "supports-hyperlinks": "^1.0.1" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "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 + } + } + }, + "memoizee": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz", + "integrity": "sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.45", + "es6-weak-map": "^2.0.2", + "event-emitter": "^0.3.5", + "is-promise": "^2.1", + "lru-queue": "0.1", + "next-tick": "1", + "timers-ext": "^0.1.5" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "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" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.0.0.tgz", + "integrity": "sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ==", + "optional": true + }, + "mini-create-react-context": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.3.2.tgz", + "integrity": "sha512-2v+OeetEyliMt5VHMXsBhABoJ0/M4RCe7fatd/fBy6SMiKazUSEt3gxxypfnk2SHMkdBYvorHRoQxuGoiwbzAw==", + "requires": { + "@babel/runtime": "^7.4.0", + "gud": "^1.0.0", + "tiny-warning": "^1.0.2" + } + }, + "mini-css-extract-plugin": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz", + "integrity": "sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "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" + } + }, + "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" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.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" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, + "moo": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz", + "integrity": "sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==", + "dev": true + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "dev": true, + "requires": { + "basic-auth": "~2.0.0", + "debug": "2.6.9", + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "napi-build-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.1.tgz", + "integrity": "sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==", + "optional": true + }, + "nash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/nash/-/nash-3.0.0.tgz", + "integrity": "sha512-M5SahEycXUmko3zOvsBkF6p94CWLhnyy9hfpQ9Qzp+rQkQ8D1OaTlfTl1OBWktq9Fak3oDXKU+ev7tiMaMu+1w==", + "dev": true, + "requires": { + "async": "^1.3.0", + "flat-arguments": "^1.0.0", + "lodash": "^4.17.5", + "minimist": "^1.1.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "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 + }, + "nearley": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.19.0.tgz", + "integrity": "sha512-2v52FTw7RPqieZr3Gth1luAXZR7Je6q3KaDHY5bjl/paDUdMu35fZ8ICNgiYJRr3tf3NMvIQQR1r27AvEr9CRA==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "moo": "^0.4.3", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6", + "semver": "^5.4.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-abi": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.11.0.tgz", + "integrity": "sha512-kuy/aEg75u40v378WRllQ4ZexaXJiCvB68D2scDXclp/I4cRq6togpbOoKhmN07tns9Zldu51NNERo0wehfX9g==", + "optional": true, + "requires": { + "semver": "^5.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "optional": true + } + } + }, + "node-emoji": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", + "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "dev": true, + "requires": { + "lodash.toarray": "^4.4.0" + } + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "dev": true + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.36.tgz", + "integrity": "sha512-ggXhX6QGyJSjj3r+6ml2LqqC28XOWmKtpb+a15/Zpr9V3yoNazxJNlcQDS9bYaid5FReEWHEgToH1mwoUceWwg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + } + }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", + "optional": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-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" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": 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 + }, + "normalize-scroll-left": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.2.0.tgz", + "integrity": "sha512-t5oCENZJl8TGusJKoCJm7+asaSsPuNmK6+iEjrZ5TyBj2f02brCRsd4c83hwtu+e5d4LCSBZ0uoDlMjBo+A8yA==" + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "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-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "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" + } + } + } + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-path-immutable": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/object-path-immutable/-/object-path-immutable-3.1.1.tgz", + "integrity": "sha512-NZDdPo/DEufre4+CyYZ7j6YQnWvKWnnGS+VS7dVd9M6WNcvFfnR4mW1lmakg9eCABAeE+PZW3bN/ZUTL8063IQ==", + "requires": { + "is-plain-object": "3.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "requires": { + "isobject": "^4.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" + } + } + }, + "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.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", + "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.1.tgz", + "integrity": "sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.15.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "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" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "one-time": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", + "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", + "dev": true + }, + "opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==", + "dev": true, + "requires": { + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "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-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "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-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "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-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "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-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "~2.3" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "peek-stream": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", + "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "duplexify": "^3.5.0", + "through2": "^2.0.3" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "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.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-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" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "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-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 + }, + "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 + } + } + }, + "pkginfo": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", + "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", + "dev": true + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "plist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", + "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", + "dev": true, + "requires": { + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", + "xmldom": "0.1.x" + } + }, + "popper.js": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz", + "integrity": "sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw==" + }, + "portfinder": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz", + "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==", + "dev": true, + "requires": { + "css-unit-converter": "^1.1.1", + "postcss": "^7.0.5", + "postcss-selector-parser": "^5.0.0-rc.4", + "postcss-value-parser": "^3.3.1" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dev": true, + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "prebuild-install": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.2.tgz", + "integrity": "sha512-INDfXzTPnhT+WYQemqnAXlP7SvfiFMopMozSgXCZ+RDLb279gKfIuLk4o7PgEawLp3WrMgIYGBpkxpraROHsSA==", + "optional": true, + "requires": { + "detect-libc": "^1.0.3", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "napi-build-utils": "^1.0.1", + "node-abi": "^2.7.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^3.0.3", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "optional": 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": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "pretty-bytes": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", + "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "prop-types-exact": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz", + "integrity": "sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==", + "dev": true, + "requires": { + "has": "^1.0.3", + "object.assign": "^4.1.0", + "reflect.ownkeys": "^0.2.0" + } + }, + "protobufjs": { + "version": "6.8.8", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz", + "integrity": "sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==", + "dev": true, + "optional": true, + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.0", + "@types/node": "^10.1.0", + "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "10.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.22.tgz", + "integrity": "sha512-9taxKC944BqoTVjE+UT3pQH0nHZlTvITwfsOZqyc+R3sfJuxaTtxWjfn1K2UlxyPcKHf0rnaXcVFrS9F9vf0bw==", + "dev": true, + "optional": true + } + } + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "optional": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "ps-tree": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.1.tgz", + "integrity": "sha512-kef7fYYSKVqQffmzTMsVcUD1ObNJMp8sNSmHGlGKsZQyL/ht9MZKk86u0Rd1NhpTOAuhqwKCLLpktwkqz+MF8A==", + "dev": true, + "requires": { + "event-stream": "=3.3.4" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "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 + }, + "puppeteer": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.17.0.tgz", + "integrity": "sha512-3EXZSximCzxuVKpIHtyec8Wm2dWZn1fc5tQi34qWfiUgubEVYHjUvr0GOJojqf3mifI6oyKnCdrGxaOI+lWReA==", + "optional": true, + "requires": { + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^2.2.1", + "mime": "^2.0.3", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "optional": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "optional": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "puppeteer-core": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-1.17.0.tgz", + "integrity": "sha512-3Em/zPGO9Y6PVxiIBCEUiCXhKLyNfyuEIDP7OO5ZEG1N/XNaeoDCIGUsJSUqXMe+kdPQITsJjvw0/7pyecjL4w==", + "optional": true, + "requires": { + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^2.2.1", + "mime": "^2.0.3", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "optional": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "optional": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dev": true, + "requires": { + "performance-now": "^2.1.0" + } + }, + "railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", + "dev": true + }, + "ramda": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", + "integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc=", + "dev": true + }, + "randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "dev": true, + "requires": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "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" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "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=" + } + } + }, + "react": { + "version": "16.10.2", + "resolved": "https://registry.npmjs.org/react/-/react-16.10.2.tgz", + "integrity": "sha512-MFVIq0DpIhrHFyqLU0S3+4dIcBhhOvBE8bJ/5kHPVOVaGdo0KuiQzpcjCPsf585WvhypqtrMILyoE2th6dT+Lw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-dom": { + "version": "16.10.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.10.2.tgz", + "integrity": "sha512-kWGDcH3ItJK4+6Pl9DZB16BXYAZyrYQItU4OMy0jAkv5aNqc+mAKb4TpFtAteI6TJZu+9ZlNhaeNQSVQDHJzkw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.16.2" + } + }, + "react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + }, + "react-helmet": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.1.tgz", + "integrity": "sha512-CnwD822LU8NDBnjCpZ4ySh8L6HYyngViTZLfBBb3NjtrpN8m49clH8hidHouq20I51Y6TpCTISCBbqiY5GamwA==", + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.5.4", + "react-fast-compare": "^2.0.2", + "react-side-effect": "^1.1.0" + } + }, + "react-is": { + "version": "16.10.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.10.2.tgz", + "integrity": "sha512-INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA==" + }, + "react-redux": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.1.1.tgz", + "integrity": "sha512-QsW0vcmVVdNQzEkrgzh2W3Ksvr8cqpAv5FhEk7tNEft+5pp7rXxAudTz3VOPawRkLIepItpkEIyLcN/VVXzjTg==", + "requires": { + "@babel/runtime": "^7.5.5", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^16.9.0" + } + }, + "react-router": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.1.2.tgz", + "integrity": "sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.3.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "requires": { + "isarray": "0.0.1" + } + } + } + }, + "react-router-dom": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.1.2.tgz", + "integrity": "sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.1.2", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, + "react-side-effect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.2.0.tgz", + "integrity": "sha512-v1ht1aHg5k/thv56DRcjw+WtojuuDHFUgGfc+bFHOWsF4ZK6C2V57DO0Or0GPsg6+LSTE0M6Ry/gfzhzSwbc5w==", + "requires": { + "shallowequal": "^1.0.1" + } + }, + "react-test-renderer": { + "version": "16.10.2", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.10.2.tgz", + "integrity": "sha512-k9Qzyev6cTIcIfrhgrFlYQAFxh5EEDO6ALNqYqmKsWVA7Q/rUMTay5nD3nthi6COmYsd4ghVYyi8U86aoeMqYQ==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "react-is": "^16.8.6", + "scheduler": "^0.16.2" + } + }, + "react-transition-group": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.3.0.tgz", + "integrity": "sha512-1qRV1ZuVSdxPlPf4O8t7inxUGpdyO5zG9IoNfJxSO0ImU2A1YWkEQvFPuIPZmMLkg5hYs7vv5mMOyfgSkvAwvw==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "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" + } + }, + "readable-wrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/readable-wrap/-/readable-wrap-1.0.0.tgz", + "integrity": "sha1-O1ohHGMeEjA6VJkcgGwX564ga/8=", + "dev": true, + "requires": { + "readable-stream": "^1.1.13-1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + } + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", + "dev": true, + "requires": { + "esprima": "~4.0.0" + } + }, + "redux": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz", + "integrity": "sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==", + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + }, + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, + "reflect.ownkeys": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", + "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=", + "dev": true + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "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" + } + }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "dev": true, + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "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 + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "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.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "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 + } + } + }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "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 + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "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.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, + "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-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "requires": { + "global-dirs": "^0.1.1" + } + }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "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 + }, + "response-spy": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/response-spy/-/response-spy-0.0.4.tgz", + "integrity": "sha1-veCu2QqBXwTt8gWf0h8sf5gttjo=", + "dev": true, + "requires": { + "is-stream-ended": "^0.1.0", + "sliced": "0.0.5" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.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 + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "retry-request": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", + "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", + "dev": true, + "requires": { + "request": "^2.81.0", + "through2": "^2.0.0" + } + }, + "rfdc": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", + "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "robotstxt-webpack-plugin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/robotstxt-webpack-plugin/-/robotstxt-webpack-plugin-6.0.0.tgz", + "integrity": "sha512-FFJK0CEdXcSKnKhOtfpfD1cG9ThpxATWt/IFLQR0fErD+UZzOSDyrCTSfJIVDFZ+f1o04O65QzSdEBW+D9iT6g==", + "dev": true, + "requires": { + "generate-robotstxt": "^7.1.0", + "webpack-sources": "^1.3.0" + } + }, + "router": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/router/-/router-1.3.3.tgz", + "integrity": "sha1-wUL2tepNazNZAiypW2WAvSF/ic8=", + "dev": true, + "requires": { + "array-flatten": "2.1.1", + "debug": "2.6.9", + "methods": "~1.1.2", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "setprototypeof": "1.1.0", + "utils-merge": "1.0.1" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "rst-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", + "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", + "dev": true, + "requires": { + "lodash.flattendeep": "^4.4.0", + "nearley": "^2.7.10" + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", + "dev": true + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "run-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz", + "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==", + "dev": true + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "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==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-BqYVWqwz6s1wZMhjFvLfVR5WXP7ZY32M/wYPo04CcuPM7XZEbV2TBNW7Z0UkguPTl0dWMA59VbNXxK6q+pHItg==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "dev": true, + "requires": { + "node-forge": "0.9.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "^5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "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" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "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": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "sharp": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.23.1.tgz", + "integrity": "sha512-xt1SOwC5ewuqApBzKMFQ5VaRsC3GjOl1xklsnPNAAG7KWEAi50STFrVwjxFRe4puZ/59JU0QQqoFe7TZNnXd/g==", + "optional": true, + "requires": { + "color": "^3.1.2", + "detect-libc": "^1.0.3", + "nan": "^2.14.0", + "npmlog": "^4.1.2", + "prebuild-install": "^5.3.2", + "semver": "^6.3.0", + "simple-get": "^3.1.0", + "tar": "^4.4.13", + "tunnel-agent": "^0.6.0" + } + }, + "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 + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", + "optional": true + }, + "simple-get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", + "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", + "optional": true, + "requires": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, + "sitemap-webpack-plugin": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/sitemap-webpack-plugin/-/sitemap-webpack-plugin-0.6.0.tgz", + "integrity": "sha512-kLYyDygC/6gZ5xlShGEytionLMayD9IFxKwfqMNkgXkbPsBes5D6TqkqYxlZHg99HIF10TF1zPcmI//0qFxbbQ==", + "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": "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" + } + }, + "sliced": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz", + "integrity": "sha1-XtwETKTrb3gW1Qui/GPiXY/kcH8=", + "dev": true + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true + }, + "snakeize": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", + "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=", + "dev": true, + "optional": 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" + } + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "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" + } + } + } + }, + "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" + }, + "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" + } + } + } + }, + "socket.io": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", + "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "dev": true, + "requires": { + "debug": "~3.1.0", + "engine.io": "~3.2.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.1.1", + "socket.io-parser": "~3.2.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", + "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", + "dev": true + }, + "socket.io-client": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", + "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", + "dev": true, + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "engine.io-client": "~3.2.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.2.0", + "to-array": "0.1.4" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "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 + }, + "spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, + "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" + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "requires": { + "through2": "^2.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "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" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "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=" + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", + "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", + "dev": true, + "optional": true, + "requires": { + "stubs": "^3.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "stream-splicer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-1.3.2.tgz", + "integrity": "sha1-PARBvhW5v04iYnXm3IOWR0VUZmE=", + "dev": true, + "requires": { + "indexof": "0.0.1", + "inherits": "^2.0.1", + "isarray": "~0.0.1", + "readable-stream": "^1.1.13-1", + "readable-wrap": "^1.0.0", + "through2": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz", + "integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=", + "dev": true, + "requires": { + "readable-stream": ">=1.1.13-1 <1.2.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "stream-to-observable": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.1.0.tgz", + "integrity": "sha1-Rb8dny19wJvtgfHDB8Qw5ouEz/4=", + "dev": true + }, + "streamroller": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz", + "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==", + "dev": true, + "requires": { + "async": "^2.6.2", + "date-format": "^2.0.0", + "debug": "^3.2.6", + "fs-extra": "^7.0.1", + "lodash": "^4.17.14" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", + "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", + "dev": true, + "requires": { + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.trim": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz", + "integrity": "sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.13.0", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.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" + }, + "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 + } + } + }, + "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-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "dev": true, + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "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-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true + }, + "stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", + "dev": true, + "optional": true + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "dev": true, + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "superstatic": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/superstatic/-/superstatic-6.0.4.tgz", + "integrity": "sha512-Nfli9mSPa9fJloKuDeUOdqC1lcw4c4SnxiWPB8s7Yn1iYo7Ja3pj7qc8AXMqHVqn/Kf7QsxBjAeOJTpuJ0mcrQ==", + "dev": true, + "requires": { + "as-array": "^2.0.0", + "async": "^1.5.2", + "basic-auth-connect": "^1.0.0", + "chalk": "^1.1.3", + "char-spinner": "^1.0.1", + "compare-semver": "^1.0.0", + "compression": "^1.7.0", + "connect": "^3.6.2", + "connect-query": "^1.0.0", + "destroy": "^1.0.4", + "fast-url-parser": "^1.1.3", + "fs-extra": "^0.30.0", + "glob": "^7.1.2", + "glob-slasher": "^1.0.1", + "home-dir": "^1.0.0", + "is-url": "^1.2.2", + "join-path": "^1.1.1", + "lodash": "^4.17.4", + "mime-types": "^2.1.16", + "minimatch": "^3.0.4", + "morgan": "^1.8.2", + "nash": "^3.0.0", + "on-finished": "^2.2.0", + "on-headers": "^1.0.0", + "path-to-regexp": "^1.7.0", + "router": "^1.3.1", + "rsvp": "^3.6.2", + "string-length": "^1.0.0", + "try-require": "^1.0.0", + "update-notifier": "^2.5.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "dev": true, + "requires": { + "isarray": "0.0.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "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" + } + }, + "supports-hyperlinks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz", + "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", + "dev": true, + "requires": { + "has-flag": "^2.0.0", + "supports-color": "^5.0.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + } + } + }, + "svgo": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz", + "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.33", + "csso": "^3.5.1", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", + "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^2.1.2", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + } + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, + "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": { + "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" + } + } + } + }, + "taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "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" + } + }, + "tar-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz", + "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==", + "optional": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp": "^0.5.1", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + }, + "tar-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz", + "integrity": "sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==", + "requires": { + "bl": "^3.0.0", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "tcp-port-used": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.1.tgz", + "integrity": "sha512-rwi5xJeU6utXoEIiMvVBMc9eJ2/ofzB+7nLOdnZuFTmNCLqRiQh2sMG9MqCxHU/69VC/Fwp5dV9306Qd54ll1Q==", + "dev": true, + "requires": { + "debug": "4.1.0", + "is2": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "teeny-request": { + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-3.11.3.tgz", + "integrity": "sha512-CKncqSF7sH6p4rzCgkb/z/Pcos5efl0DmolzvlqRQUNcpRIruOhY9+T1FsIlyEbfWd7MsFpodROOwHYh2BaXzw==", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1", + "node-fetch": "^2.2.0", + "uuid": "^3.3.2" + } + }, + "temp-fs": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/temp-fs/-/temp-fs-0.9.9.tgz", + "integrity": "sha1-gHFzBDeHByDpQxUy/igUNk+IA9c=", + "dev": true, + "requires": { + "rimraf": "~2.5.2" + }, + "dependencies": { + "rimraf": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + } + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "terser": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.9.tgz", + "integrity": "sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.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-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.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" + } + }, + "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 + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + } + } + }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true + }, + "text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "dev": true + }, + "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 + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dev": true, + "requires": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tiny-invariant": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.0.6.tgz", + "integrity": "sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "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" + }, + "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" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "toxic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toxic/-/toxic-1.0.1.tgz", + "integrity": "sha512-WI3rIGdcaKULYg7KVoB0zcjikqvcYYvcuT6D89bFPz2rVR0Rl0PK6x8/X62rtdLtBKIE985NzVf/auTtGegIIg==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "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 + }, + "triple-beam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", + "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==", + "dev": true + }, + "trumpet": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/trumpet/-/trumpet-1.7.2.tgz", + "integrity": "sha1-sCxp5GXRcfVeRJJL+bW90gl0yDA=", + "dev": true, + "requires": { + "duplexer2": "~0.0.2", + "html-select": "^2.3.5", + "html-tokenize": "^1.1.1", + "inherits": "^2.0.0", + "readable-stream": "^1.0.27-1", + "through2": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz", + "integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=", + "dev": true, + "requires": { + "readable-stream": ">=1.1.13-1 <1.2.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "try-require": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/try-require/-/try-require-1.2.1.tgz", + "integrity": "sha1-NEiaLKwMCcHMEO2RugEVlNQzO+I=", + "dev": true + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "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": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "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-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 + }, + "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": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "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, + "optional": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "ua-parser-js": { + "version": "0.7.20", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz", + "integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==", + "dev": true + }, + "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.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "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" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "universal-analytics": { + "version": "0.4.20", + "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz", + "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==", + "dev": true, + "requires": { + "debug": "^3.0.0", + "request": "^2.88.0", + "uuid": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "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 + } + } + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "dev": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "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": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-join": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz", + "integrity": "sha1-HbSK1CLTQCRpqH99l73r/k+x48g=", + "dev": true + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "urlgrey": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", + "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", + "dev": true + }, + "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 + }, + "useragent": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", + "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", + "dev": true, + "requires": { + "lru-cache": "4.1.x", + "tmp": "0.0.x" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=", + "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" + } + }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz", + "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==", + "dev": true + }, + "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" + } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "walkdir": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz", + "integrity": "sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==", + "dev": true, + "optional": true + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "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" + } + }, + "webpack": { + "version": "4.41.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz", + "integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.0.tgz", + "integrity": "sha512-orUfvVYEfBMDXgEKAKVvab5iQ2wXneIEorGNsyuOyVYpjYrI7CUOhhXNDd3huMwQ3vNNWWlGP+hzflMFYNzi2g==", + "dev": true, + "requires": { + "acorn": "^6.0.7", + "acorn-walk": "^6.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.15", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz", + "integrity": "sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "dependencies": { + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.2.tgz", + "integrity": "sha512-0xxogS7n5jHDQWy0WST0q6Ykp7UGj4YvWh+HVN71JoE7BwPxMZrwgraBvmdEMbDVMBzF0u+mEzn8TQzBm5NYJQ==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.4", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.24", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "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 + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.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 + }, + "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" + } + } + } + }, + "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" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "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-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.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" + } + }, + "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 + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-manifest-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz", + "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==", + "dev": true, + "requires": { + "fs-extra": "^7.0.0", + "lodash": ">=3.5 <5", + "object.entries": "^1.1.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-node-externals": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz", + "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==", + "dev": true + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "webpack-visualizer-plugin": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/webpack-visualizer-plugin/-/webpack-visualizer-plugin-0.1.11.tgz", + "integrity": "sha1-uHcK2GtPZSYSxosbeCJT+vn4o04=", + "dev": true, + "requires": { + "d3": "^3.5.6", + "mkdirp": "^0.5.1", + "react": "^0.14.0", + "react-dom": "^0.14.0" + }, + "dependencies": { + "react": { + "version": "0.14.9", + "resolved": "https://registry.npmjs.org/react/-/react-0.14.9.tgz", + "integrity": "sha1-kRCmSXxJ1EuhwO3TF67CnC4NkdE=", + "dev": true, + "requires": { + "envify": "^3.0.0", + "fbjs": "^0.6.1" + } + }, + "react-dom": { + "version": "0.14.9", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-0.14.9.tgz", + "integrity": "sha1-BQZKPc8PsYgKOyv8nVjFXY2fYpM=", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whatwg-fetch": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz", + "integrity": "sha1-DjaExsuZlbQ+/J3wPkw2XZX9nMA=", + "dev": true + }, + "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 + }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "optional": 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==", + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + } + }, + "winston": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz", + "integrity": "sha512-zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw==", + "dev": true, + "requires": { + "async": "^2.6.1", + "diagnostics": "^1.1.1", + "is-stream": "^1.1.0", + "logform": "^2.1.1", + "one-time": "0.0.4", + "readable-stream": "^3.1.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.3.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "winston-transport": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.3.0.tgz", + "integrity": "sha512-B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A==", + "dev": true, + "requires": { + "readable-stream": "^2.3.6", + "triple-beam": "^1.2.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", + "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", + "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", + "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==", + "dev": true + }, + "workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", + "dev": true, + "requires": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } + }, + "workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", + "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", + "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", + "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", + "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", + "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", + "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==", + "dev": true + }, + "workbox-webpack-plugin": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz", + "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "json-stable-stringify": "^1.0.1", + "workbox-build": "^4.3.1" + } + }, + "workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", + "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "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" + } + } + } + }, + "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": "1.3.4", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xdg-basedir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", + "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + }, + "xmlcreate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.1.tgz", + "integrity": "sha512-MjGsXhKG8YjTKrDCXseFo3ClbMGvUD4en29H2Cev1dv4P/chlpw6KdYmlCWDkhosBVKRDjM836+3e3pm1cBNJA==", + "dev": true + }, + "xmldom": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=", + "dev": true + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", + "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": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "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-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.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" + } + }, + "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 + }, + "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" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + }, + "dependencies": { + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + } + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "dev": true + }, + "zip-stream": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-2.1.2.tgz", + "integrity": "sha512-ykebHGa2+uzth/R4HZLkZh3XFJzivhVsjJt8bN3GvBzLaqqrUdRacu+c4QtnUgjkkQfsOuNE1JgLKMCPNmkKgg==", + "dev": true, + "requires": { + "archiver-utils": "^2.1.0", + "compress-commons": "^2.1.1", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..24d31b9 --- /dev/null +++ b/package.json @@ -0,0 +1,128 @@ +{ + "name": "sreeram", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "clean": "rimraf content.txt ./*.log _dist _test _docs .firebase ./*.log output functions/templates functions/posts functions/index.js src/server/templates src/server/index.js", + "lint": "eslint .", + "build:client:dev": "webpack --env=client.dev --config=webpack/webpack.config.js", + "build:client:devserver": "webpack-dev-server --open --env=client.dev --config=webpack/webpack.config.js", + "build:client:prod": "webpack --env=client.prod --config=webpack/webpack.config.js", + "build:server:dev": "webpack --env=server.dev --config=webpack/webpack.config.js", + "build:server:prod": "webpack --env=server.prod --config=webpack/webpack.config.js", + "test": "karma start ./karma/karma.conf.js", + "test:dev": "karma start ./karma/karma.conf.js --auto-watch=true --single-run=false", + "test:browserstack": "karma start ./karma/karma.bs.conf.js", + "test:codecov": "codecov -t $CODECOV_TOKEN", + "test:cypress:open": "cypress open", + "test:cypress:run": "cypress run --record --key $CYPRESS_TOKEN", + "test:puppeteer:coverage": "node puppeteer/coverage", + "test:puppeteer:crawlsite": "node puppeteer/crawlsite", + "test:puppeteer:googlesearch": "node puppeteer/google_search_features", + "test:puppeteer:caching": "node puppeteer/verify_sw_caching", + "docs": "jsdoc src/client/components/**/*.js -c jsdoc.js -d _docs", + "start": "source ./.env/env.sh && npm run clean && npm run build:client:prod && npm run build:server:dev && node src/server", + "firebase:server:prod": "npm run build:server:prod && firebase use default && firebase deploy --only functions", + "firebase:client:test": "npm run build:client:prod && firebase use test && firebase deploy --only hosting:test", + "firebase:client:prod": "npm run build:client:prod && firebase use default && firebase deploy --only hosting:prod", + "deploy": "source ./.env/env.sh && npm run firebase:server:prod && npm run firebase:client:prod && npm run clean" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/sreeramofficial/sreeram.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/sreeramofficial/sreeram/issues" + }, + "homepage": "https://github.com/sreeramofficial/sreeram#readme", + "devDependencies": { + "@babel/core": "^7.6.4", + "@babel/plugin-proposal-class-properties": "^7.5.5", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-transform-runtime": "^7.6.2", + "@babel/preset-env": "^7.6.3", + "@babel/preset-react": "^7.6.3", + "@commitlint/cli": "^8.2.0", + "@commitlint/config-conventional": "^8.2.0", + "babel-eslint": "^10.0.3", + "babel-loader": "^8.0.6", + "babel-plugin-istanbul": "^5.2.0", + "clean-webpack-plugin": "^3.0.0", + "codecov": "^3.6.1", + "copy-webpack-plugin": "^5.0.4", + "cypress": "^3.4.1", + "enzyme": "^3.10.0", + "enzyme-adapter-react-16": "^1.15.1", + "eslint": "^6.5.1", + "eslint-plugin-react": "^7.16.0", + "file-loader": "^4.2.0", + "firebase-admin": "^8.6.1", + "firebase-tools": "^7.6.1", + "html-webpack-plugin": "^3.2.0", + "husky": "^3.0.9", + "inject-html": "^1.1.2", + "jasmine-core": "^3.5.0", + "jsdoc": "^3.6.3", + "karma": "^4.3.0", + "karma-browserstack-launcher": "^1.5.1", + "karma-chrome-launcher": "^3.1.0", + "karma-coverage": "^2.0.1", + "karma-inject-html": "0.0.1", + "karma-jasmine": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-sourcemap-loader": "^0.3.7", + "karma-webpack": "^4.0.2", + "mini-css-extract-plugin": "^0.8.0", + "optimize-css-assets-webpack-plugin": "^5.0.3", + "rimraf": "^3.0.0", + "robotstxt-webpack-plugin": "^6.0.0", + "sitemap-webpack-plugin": "^0.6.0", + "webpack": "^4.41.2", + "webpack-bundle-analyzer": "^3.6.0", + "webpack-cli": "^3.3.9", + "webpack-dev-server": "^3.8.2", + "webpack-manifest-plugin": "^2.2.0", + "webpack-merge": "^4.2.2", + "webpack-node-externals": "^1.7.2", + "webpack-visualizer-plugin": "^0.1.11", + "winston": "^3.2.1", + "workbox-webpack-plugin": "^4.3.1" + }, + "husky": { + "hooks": { + "pre-commit": "npm run clean && npm run lint", + "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" + } + }, + "dependencies": { + "@material-ui/core": "^4.5.1", + "@material-ui/icons": "^4.5.1", + "@material-ui/styles": "^4.5.0", + "body-parser": "^1.19.0", + "classnames": "^2.2.6", + "express": "^4.17.1", + "firebase-functions": "^3.3.0", + "fs": "0.0.1-security", + "ignore-styles": "^5.0.1", + "isomorphic-fetch": "^2.2.1", + "markdown-to-jsx": "^6.10.3", + "moment": "^2.24.0", + "object-path-immutable": "^3.1.1", + "react": "^16.10.2", + "react-dom": "^16.10.2", + "react-helmet": "^5.2.1", + "react-redux": "^7.1.1", + "react-router-dom": "^5.1.2", + "redux": "^4.0.4", + "redux-thunk": "^2.3.0" + }, + "optionalDependencies": { + "caniuse-db": "^1.0.30001002", + "puppeteer": "^1.17.0", + "puppeteer-core": "^1.17.0", + "sharp": "^0.23.1" + } +} diff --git a/posts/home/home/home.md b/posts/home/home/home.md new file mode 100644 index 0000000..1da2774 --- /dev/null +++ b/posts/home/home/home.md @@ -0,0 +1,9 @@ + + +# What is jsDrome? + +  + +Some time back in 2018, I wanted to create the perfect Web App boilerplate project. So I started creating a template from scratch wth everything configured. All I required to do is change some configurables to get a full fledged website. I called it `jsDrome`. + +Read along to learn to set it up. \ No newline at end of file diff --git a/posts/setup/tutorials/environment-variables.md b/posts/setup/tutorials/environment-variables.md new file mode 100644 index 0000000..ea01178 --- /dev/null +++ b/posts/setup/tutorials/environment-variables.md @@ -0,0 +1,13 @@ +# Environment variables + +  + +- `PAYTM_KEY` +- `PAYTM_TEST_KEY` +- `BROWSERSTACK_USER` +- `BROWSERSTACK_TOKEN` +- `FIREBASE_TOKEN` +- `CODECOV_TOKEN` +- `CYPRESS_TOKEN` + +If you are a dev, you will only require dummy values for the above except for Browserstack which only works with valid values. Put them in `.env/env.sh` and do a `source .env/env.sh` to import them. \ No newline at end of file diff --git a/posts/setup/tutorials/features.md b/posts/setup/tutorials/features.md new file mode 100644 index 0000000..d9e6daf --- /dev/null +++ b/posts/setup/tutorials/features.md @@ -0,0 +1,47 @@ + + +# Features + +  + +### View layer + - React + - React-redux + - Material-ui + +### Data layer + - Redux + +### Server side + - Firebase + - Express + +### Building + - Webpack + - Eslint + - Editorconfig + - Commit Linting + +### Testing + - Karma, Jasmine Unit tests + - Codecov Code coverage reporting + - Cypress integration testing + - Browserstack cross-browser testing + - Puppeteer performance testing + +### Documentaton + - JSDoc + +### CI-CD + - Circle CI + +### Other features + - Progressive Web App + - Isomorphic + - Built-in Components + - Google Search Engine optimisation + - Performance fine turning + - Installable + - PayTM Payment Gateway Integrated. + - Sitemaps + - Privacy Policy \ No newline at end of file diff --git a/posts/setup/tutorials/folder-structure.md b/posts/setup/tutorials/folder-structure.md new file mode 100644 index 0000000..95b0c26 --- /dev/null +++ b/posts/setup/tutorials/folder-structure.md @@ -0,0 +1,46 @@ +# Folder structure + +  + +`.circleci` circle ci configuration goes here + +`.env/env.sh` environment variables here in a file called env.sh (Do not commit it) + +`cypress` crypress test files + +`functions` + +Firebase expects the server files to be present here. When you build your server source code, it gets put here. You normally wouldnt have to touch anything here. There will only be a package.json and package-lock.json in it. If any new package gets added in your server source code, you will have to update the package.json here also. + + +`images` All custom images go here. + +`karma` Karma configuration for unit testing and browserstack testing. + +`posts` The markdown files for the blog posts are to be put here. + +`puppeteer` Puppeteer test files are located here. + +`src` + + - `client` client source code. + + - `server` server source code. + + - `theme.js` Theme file. + + - `variables.js` All variables and config values. + +`templates` + +`ads.txt` For adsense. This gets copied to production client bundle just like that. + +`client.html` Serves as the index file for the dev build used by html-webpack-plugin. + +`server.html` Serves as the index file served by the server in production. + +`test.html` A html template file for karma unit tests. + +`webpack` +All webpack configurations go here. + diff --git a/posts/setup/tutorials/long-cut.md b/posts/setup/tutorials/long-cut.md new file mode 100644 index 0000000..aa700c2 --- /dev/null +++ b/posts/setup/tutorials/long-cut.md @@ -0,0 +1,51 @@ +# Comprehensive way to setup + +  + +Fork the repo. + +Create a file `./.env/env.sh`. This is where all your secret tokens go. Do not commit it. + +## Firebase setup + +Register at **[Firebase](https://firebase.google.com/)**: This is where the site will be deployed. + +Create a new app and create 2 hosting environments one for production and one for testing. + +Replace the project name values in `.firebaserc`. + +Get your Firebase token `FIREBASE_TOKEN` by executing `npx firebase login:ci`. + +## PayTM setup + +Create a PayTM merchant account and get your `merchant id`. + +Replace variables `PAYTM_TEST.merchantId` and`PAYTM_PROD.merchantId` with your values. + +Get your `PAYTM_KEY` and `PAYTM_TEST_KEY` secret variables and put it in `./.env/env.sh`. + +## Circle CI setup + +Register at [Circle CI](https://cicleci.com). This is the Continous Integration Server. It builds the code runs some tests and deploys to Firebase. Set it up to build your repo. + +## Codecov setup + +Register at [Codecov](https://codecov.io). Set it up to test your repo. Get the `CODECOV_TOKEN` token and put it in `./.env/env.sh`. + +## Cypress setup + +Setup Cypress by running `npm run test:cypress:open`, get the `CYPRESS_TOKEN` and put it in `./.env/env.sh`. + +## Browserstack setup + +Get a Browserstack account. Get the `BROWSERSTACK_USER` and `BROWSERSTACK_TOKEN` and put it in `./.env/env.sh`. + +## Google Tag manager setup + +Register for Google tag manager, and replace the Google Tag Manager script in `templates/server.html` and put yours. + +## Final step + +Copy all secret tokens to your Circle CI project as environment variables. + +Once you push the code, if everything is set up correctly, if all the tests pass, your website will be deployed in about 5 minutes. \ No newline at end of file diff --git a/posts/setup/tutorials/new-blog-post.md b/posts/setup/tutorials/new-blog-post.md new file mode 100644 index 0000000..18a2298 --- /dev/null +++ b/posts/setup/tutorials/new-blog-post.md @@ -0,0 +1,9 @@ +# How to create a new blog post + +  + +Update `src/client/list.js` to add a new blog entry. + +Create a `.md` file at the mentioned route in the list file. + +Once commited and pushed, the master branch will be deployed to production, all other branches will only be pushed to test env. \ No newline at end of file diff --git a/posts/setup/tutorials/npm-scripts.md b/posts/setup/tutorials/npm-scripts.md new file mode 100644 index 0000000..0449db8 --- /dev/null +++ b/posts/setup/tutorials/npm-scripts.md @@ -0,0 +1,47 @@ +# npm scripts + +  + +`clean` Removes unneccesary folders, log files. + +`build:client:dev` Builds the client source code for development. + +`build:client:devserver` Same as above but with webpack-dev-server and HMR. + +`build:client:prod` Builds the client source code for production. + +`build:server:dev` Builds the server source code for development. Note: A `PAYTM_TEST_KEY` Env variable needs to be set. + +`build:server:prod` Builds the server source code for production. Note: A `PAYTM_TEST_KEY` Env variable needs to be set. + +`test` Run unit test once. + +`test:dev` Run unit test watching for changes. + +`test:browserstack` Run unit tests in browserstack. Note: `BROWSERSTACK_USER` and `BROWSERSTACK_TOKEN` Env variables need to be set. + +`test:codecov` Reports code coverage to codecov. Note: `CODECOV_TOKEN` env variable needs to be set. + +`test:cypress:open` Opens cypress UI. + +`test:cypress:run` Runs cypress tests. Note: `CYPRESS_TOKEN` env variable needs to be set. + +`test:puppeteer:coverage` Runs puppeteer coverage test. + +`test:puppeteer:crawlsite` Runs puppeteer site crawl test. + +`test:puppeteer:googlesearch` Runs puppeteer googlesearch test. + +`test:puppeteer:caching` Runs puppeteer service worker test. + +`docs` Generates documentation. + +`start` Simulates prod like behaviour in local. Note: `PAYTM_TEST_KEY` env variable need to be set and there is no HMR. + +`firebase:prod:functions` Activates functions in Firebase production. Note: `FIREBASE_TOKEN` env variable needs to be set. + +`firebase:stage:hosting` Activates client in Firebase staging. Note: `FIREBASE_TOKEN` env variable needs to be set. + +`firebase:prod:hosting` Activates client in Firebase production. Note: `FIREBASE_TOKEN` env variable needs to be set. + +`deploy` Activates server and client in production instantly. Note: `FIREBASE_TOKEN` env variable needs to be set. diff --git a/posts/setup/tutorials/running-app-locally.md b/posts/setup/tutorials/running-app-locally.md new file mode 100644 index 0000000..a116e0d --- /dev/null +++ b/posts/setup/tutorials/running-app-locally.md @@ -0,0 +1,8 @@ +# Running app locally + +  + +Run `npm run build:client:devserver` in one tab to start the client at `http://localhost:9000` and run `nodemon src/server/mock` in another to start the server parallely at `https://localhost:5000`. + + +To run with SSR, just do an `npm start`. But there is no HMR. You will have to stop and start every time you make a change be it the client or server. diff --git a/posts/setup/tutorials/short-cut.md b/posts/setup/tutorials/short-cut.md new file mode 100644 index 0000000..ee3f6e4 --- /dev/null +++ b/posts/setup/tutorials/short-cut.md @@ -0,0 +1,34 @@ +# Short cut way to setup + +  + +Fork the repo. + +Create a file `./.env/env.sh`. This is where all your secret tokens go. Do not commit it. + +## Firebase setup + +Register at **[Firebase](https://firebase.google.com/)**: This is where the site will be deployed. + +Create a new app and create 2 hosting environments one for production and one for testing. + +Replace the project name values in `.firebaserc`. + +Get your Firebase token `FIREBASE_TOKEN` by executing `npx firebase login:ci`. + +## PayTM setup + +Create a PayTM merchant account and get your `merchant id`. + +Replace variables `PAYTM_TEST.merchantId` and `PAYTM_PROD.merchantId` with your values. + +Get your `PAYTM_KEY` and `PAYTM_TEST_KEY` secret variables and put it in `./.env/env.sh`. + + +## Google Tag manager setup + +Register for Google tag manager, and replace the Google Tag Manager script in `templates/server.html` and put yours. + +## Final step + +Run `npm run deploy`. It deploys to production in about a minute. \ No newline at end of file diff --git a/puppeteer/coverage.js b/puppeteer/coverage.js new file mode 100644 index 0000000..68c62ed --- /dev/null +++ b/puppeteer/coverage.js @@ -0,0 +1,235 @@ +/** + * Copyright 2018 Google Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @author ebidel@ (Eric Bidelman) + */ + +/** + * Shows how to use Puppeteer's code coverage API to measure CSS/JS coverage across + * different points of time during loading. Great for determining if a lazy loading strategy + * is paying off or working correctly. + * + * Install: + * npm i puppeteer chalk cli-table + * Run: + * URL=https://example.com node code_coverage.js + */ + +const puppeteer = require('puppeteer'); +const chalk = require('chalk'); +const Table = require('cli-table'); + +const { STAGE_URL : URL } = require('../src/variables'); + +const EVENTS = [ + 'domcontentloaded', + 'load', + // 'networkidle2', + 'networkidle0', +]; + +function formatBytesToKB(bytes) { + if (bytes > 1024) { + const formattedNum = new Intl.NumberFormat('en-US', { maximumFractionDigits: 1 }).format(bytes / 1024); + return `${formattedNum}KB`; + } + return `${bytes} bytes`; +} + +class UsageFormatter { + constructor(stats) { + this.stats = stats; + } + + static eventLabel(event) { + // const maxEventLabelLen = EVENTS.reduce((currMax, event) => Math.max(currMax, event.length), 0); + // const eventLabel = event + ' '.repeat(maxEventLabelLen - event.length); + return chalk.magenta(event); + } + + summary(used = this.stats.usedBytes, total = this.stats.totalBytes) { + const percent = Math.round((used / total) * 100); + return `${formatBytesToKB(used)}/${formatBytesToKB(total)} (${percent}%)`; + } + + shortSummary(used, total = this.stats.totalBytes) { + const percent = Math.round((used / total) * 100); + return used ? `${formatBytesToKB(used)} (${percent}%)` : 0; + } + + /** + * Constructors a bar chart for the % usage of each value. + * @param {!{jsUsed: number, cssUsed: number, totalBytes: number}=} stats Usage stats. + * @return {string} + */ + barGraph(stats = this.stats) { + // const MAX_TERMINAL_CHARS = process.stdout.columns; + const maxBarWidth = 30; + + const jsSegment = ' '.repeat((stats.jsUsed / stats.totalBytes) * maxBarWidth); + const cssSegment = ' '.repeat((stats.cssUsed / stats.totalBytes) * maxBarWidth); + const unusedSegment = ' '.repeat(maxBarWidth - jsSegment.length - cssSegment.length); + + return chalk.bgRedBright(jsSegment) + chalk.bgBlueBright(cssSegment) + + chalk.bgBlackBright(unusedSegment); + } +} + +const stats = new Map(); + +/** + * @param {!Object} coverage + * @param {string} type Either "css" or "js" to indicate which type of coverage. + * @param {string} eventType The page event when the coverage was captured. + */ +function addUsage(coverage, type, eventType) { + for (const entry of coverage) { + if (!stats.has(entry.url)) { + stats.set(entry.url, []); + } + + const urlStats = stats.get(entry.url); + + let eventStats = urlStats.find(item => item.eventType === eventType); + if (!eventStats) { + eventStats = { + cssUsed: 0, + jsUsed: 0, + get usedBytes() { return this.cssUsed + this.jsUsed; }, + totalBytes: 0, + get percentUsed() { + return this.totalBytes ? Math.round(this.usedBytes / this.totalBytes * 100) : 0; + }, + eventType, + url: entry.url, + }; + urlStats.push(eventStats); + } + + eventStats.totalBytes += entry.text.length; + + for (const range of entry.ranges) { + eventStats[`${type}Used`] += range.end - range.start - 1; + } + } +} + +async function collectCoverage() { + const browser = await puppeteer.launch({ headless: true }); + + // Do separate load for each event. See + // https://github.com/GoogleChrome/puppeteer/issues/1887 + const collectPromises = EVENTS.map(async event => { + console.log(`Collecting coverage @ ${UsageFormatter.eventLabel(event)}...`); + + const page = await browser.newPage(); + + // page.on('response', async response => { + // console.log(response.request().url(), (await response.text()).length); + // }); + + await Promise.all([ + page.coverage.startJSCoverage(), + page.coverage.startCSSCoverage(), + ]); + + await page.goto(URL, { waitUntil: event }); + // await page.waitForNavigation({waitUntil: event}); + + const [ jsCoverage, cssCoverage ] = await Promise.all([ + page.coverage.stopJSCoverage(), + page.coverage.stopCSSCoverage(), + ]); + + addUsage(cssCoverage, 'css', event); + addUsage(jsCoverage, 'js', event); + + await page.close(); + }); + + await Promise.all(collectPromises); + + return browser.close(); +} + +(async() => { + + await collectCoverage(); + + for (const [ url, vals ] of stats) { + console.log('\n' + chalk.cyan(url)); + + const table = new Table({ + // chars: {mid: '', 'left-mid': '', 'mid-mid': '', 'right-mid': ''}, + head: [ + 'Event', + `${chalk.bgRedBright(' JS ')} ${chalk.bgBlueBright(' CSS ')} % used`, + 'JS used', + 'CSS used', + 'Total bytes used', + ], + // style : {compact : true, 'padding-left' : 0} + style: { head: [ 'white' ], border: [ 'grey' ] }, + // colWidths: [20, 20] + }); + + EVENTS.forEach(event => { + const usageForEvent = vals.filter(val => val.eventType === event); + + if (usageForEvent.length) { + for (const stats of usageForEvent) { + // totalBytes += stats.totalBytes; + // totalUsedBytes += stats.usedBytes; + + const formatter = new UsageFormatter(stats); + table.push([ + UsageFormatter.eventLabel(stats.eventType), + formatter.barGraph(), + formatter.shortSummary(stats.jsUsed), // !== 0 ? `${formatBytesToKB(stats.jsUsed)}KB` : 0, + formatter.shortSummary(stats.cssUsed), + formatter.summary(), + ]); + } + } else { + table.push([ UsageFormatter.eventLabel(event), 'no usage found', '-', '-', '-' ]); + } + }); + + console.log(table.toString()); + } + + // Print total usage for each event. + // console.log('\n'); + EVENTS.forEach(event => { + let totalBytes = 0; + let totalUsedBytes = 0; + + const metrics = Array.from(stats.values()); + const statsForEvent = metrics.map(eventStatsForUrl => { + const statsForEvent = eventStatsForUrl.filter(stat => stat.eventType === event)[0]; + // TODO: need to sum max totalBytes. Currently ignores stats if event didn't + // have an entry. IOW, all total numerators should be max totalBytes seen for that event. + if (statsForEvent) { + totalBytes += statsForEvent.totalBytes; + totalUsedBytes += statsForEvent.usedBytes; + } + }); + + const percentUsed = Math.round(totalUsedBytes / totalBytes * 100); + + console.log(`Total used @ ${chalk.magenta(event)}: ${formatBytesToKB(totalUsedBytes)}/${formatBytesToKB(totalBytes)} (${percentUsed}%)`); + }); + +})(); \ No newline at end of file diff --git a/puppeteer/crawlsite.js b/puppeteer/crawlsite.js new file mode 100644 index 0000000..e6e603b --- /dev/null +++ b/puppeteer/crawlsite.js @@ -0,0 +1,183 @@ +/** + * Copyright 2018 Google Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @author ebidel@ (Eric Bidelman) + */ + + /** + * Discovers all the pages in site or single page app (SPA) and creates + * a tree of the result in ./output/ { + const currentPath = parentPath + dirName; + if (!fs.existsSync(currentPath)) { + fs.mkdirSync(currentPath); + } + return currentPath + '/'; + }, ''); + } catch (err) { + if (err.code !== 'EEXIST') { + throw err; + } + } +} + +/** + * Finds all anchors on the page, inclusive of those within shadow roots. + * Note: Intended to be run in the context of the page. + * @param {boolean=} sameOrigin When true, only considers links from the same origin as the app. + * @return {!Array} List of anchor hrefs. + */ +function collectAllSameOriginAnchorsDeep(sameOrigin = true) { + const allElements = []; + + const findAllElements = function(nodes) { + for (let i = 0, el; el = nodes[i]; ++i) { + allElements.push(el); + // If the element has a shadow root, dig deeper. + if (el.shadowRoot) { + findAllElements(el.shadowRoot.querySelectorAll('*')); + } + } + }; + + findAllElements(document.querySelectorAll('*')); + + const filtered = allElements + .filter(el => el.localName === 'a' && el.href) // element is an anchor with an href. + .filter(el => el.href !== location.href) // link doesn't point to page's own URL. + .filter(el => { + if (sameOrigin) { + return new URL(location).origin === new URL(el.href).origin; + } + return true; + }) + .map(a => a.href); + + return Array.from(new Set(filtered)); +} + +/** + * Crawls a URL by visiting an url, then recursively visiting any child subpages. + * @param {!Browser} browser + * @param {{url: string, title: string, img?: string, children: !Array}} page Current page. + * @param {number=} depth Current subtree depth of crawl. + */ +async function crawl(browser, page, depth = 0) { + if (depth > maxDepth) { + return; + } + + // If we've already crawled the URL, we know its children. + if (crawledPages.has(page.url)) { + console.log(`Reusing route: ${page.url}`); + const item = crawledPages.get(page.url); + page.title = item.title; + page.img = item.img; + page.children = item.children; + // Fill in the children with details (if they already exist). + page.children.forEach(c => { + const item = crawledPages.get(c.url); + c.title = item ? item.title : ''; + c.img = item ? item.img : null; + }); + return; + } else { + console.log(`Loading: ${page.url}`); + + const newPage = await browser.newPage(); + await newPage.goto(page.url, {waitUntil: 'networkidle2'}); + + let anchors = await newPage.evaluate(collectAllSameOriginAnchorsDeep); + anchors = anchors.filter(a => a !== URL) // link doesn't point to start url of crawl. + + page.title = await newPage.evaluate('document.title'); + page.children = anchors.map(url => ({url})); + + if (SCREENSHOTS) { + const path = `./${OUT_DIR}/${slugify(page.url)}.png`; + let imgBuff = await newPage.screenshot({fullPage: false}); + imgBuff = await sharp(imgBuff).resize(null, 150).toBuffer(); // resize image to 150 x auto. + util.promisify(fs.writeFile)(path, imgBuff); // async + page.img = `data:img/png;base64,${imgBuff.toString('base64')}`; + } + + crawledPages.set(page.url, page); // cache it. + + await newPage.close(); + } + + // Crawl subpages. + for (const childPage of page.children) { + await crawl(browser, childPage, depth + 1); + } +} + +(async() => { + +mkdirSync(OUT_DIR); // create output dir if it doesn't exist. +await del([`${OUT_DIR}/*`]); // cleanup after last run. + +const browser = await puppeteer.launch(); +const page = await browser.newPage(); +if (VIEWPORT) { + await page.setViewport(VIEWPORT); +} + +const root = {url: URL}; +await crawl(browser, root); + +await util.promisify(fs.writeFile)(`./${OUT_DIR}/crawl.json`, JSON.stringify(root, null, ' ')); + +await browser.close(); + +})(); + diff --git a/puppeteer/d3tree.html b/puppeteer/d3tree.html new file mode 100644 index 0000000..8d3721e --- /dev/null +++ b/puppeteer/d3tree.html @@ -0,0 +1,202 @@ + + + + + + + + + \ No newline at end of file diff --git a/puppeteer/google_search_features.js b/puppeteer/google_search_features.js new file mode 100644 index 0000000..0b5ab6c --- /dev/null +++ b/puppeteer/google_search_features.js @@ -0,0 +1,303 @@ +/** + * Copyright 2018 Google Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @author ebidel@ (Eric Bidelman) + */ + +/** + * Prints a non-exhaustive list of HTML/JS/CSS features a page is using which + * are not supported by the Google Search bot and "Render as Google" + * (runs Chrome 41). See developers.google.com/search/docs/guides/rendering. + */ + +const fs = require('fs'); +const puppeteer = require('puppeteer'); +const fetch = require('node-fetch'); +const chalk = require('chalk'); +const caniuseDB = require('caniuse-db/data.json').data; + +const { STAGE_URL : URL } = require('../src/variables'); + +const GOOGLE_SEARCH_CHROME_VERSION = process.env.CHROME_VERSION || 41; + +const BlinkFeatureNameToCaniuseName = { + AddEventListenerPassiveTrue: 'passive-event-listener', + AddEventListenerPassiveFalse: 'passive-event-listener', + PromiseConstructor: 'promises', + PromiseResolve: 'promises', + PromiseReject: 'promises', + V8PromiseChain: 'promises', + DocumentRegisterElement: 'custom-elements', + V0CustomElementsRegisterHTMLCustomTag: 'custom-elements', + V0CustomElementsCreateCustomTagElement: 'custom-elements', + V0CustomElementsRegisterHTMLTypeExtension: 'custom-elements', + V0CustomElementsCreateTypeExtensionElement: 'custom-elements', + CSSSelectorPseudoMatches: 'css-matches-pseudo', + CustomElementRegistryDefine: 'custom-elementsv1', + ElementAttachShadow: 'shadowdomv1', + ElementAttachShadowOpen: 'shadowdomv1', + ElementAttachShadowClosed: 'shadowdomv1', + CSSSelectorPseudoSlotted: 'shadowdomv1', + HTMLSlotElement: 'shadowdomv1', + CSSSelectorPseudoHost: 'shadowdom', + ElementCreateShadowRoot: 'shadowdom', + CSSSelectorPseudoShadow: 'shadowdom', + CSSSelectorPseudoContent: 'shadowdom', + CSSSelectorPseudoHostContext: 'shadowdom', + HTMLShadowElement: 'shadowdom', + HTMLContentElement: 'shadowdom', + LinkRelPreconnect: 'link-rel-preconnect', + LinkRelPreload: 'link-rel-preload', + HTMLImports: 'imports', + HTMLImportsAsyncAttribute: 'imports', + LinkRelModulePreload: 'es6-module', + V8BroadcastChannel_Constructor: 'broadcastchannel', + Fetch: 'fetch', + GlobalCacheStorage: 'cachestorage', // missing: https://github.com/Fyrd/caniuse/issues/3122 + OffMainThreadFetch: 'fetch', + IntersectionObserver_Constructor: 'intersectionobserver', + V8Window_RequestIdleCallback_Method: 'requestidlecallback', + NotificationPermission: 'notifications', + UnprefixedPerformanceTimeline: 'user-timing', + V8Element_GetBoundingClientRect_Method: 'getboundingclientrect', + AddEventListenerThirdArgumentIsObject: 'once-event-listener', // TODO: not a perfect match. + // TODO: appears to be no UMA tracking for classes, async/await, spread, and + // other newer js features. Those aren't being caught here. + contain: 'css-containment', + 'tab-size': 'css3-tabsize', + // Explicitly disabled by search https://developers.google.com/search/docs/guides/rendering + UnprefixedIndexedDB: 'indexeddb', + DocumentCreateEventWebGLContextEvent: 'webgl', + CSSGridLayout: 'css-grid', + CSSValueDisplayContents: 'css-display-contents', + CSSPaintFunction: 'css-paint-api', + WorkerStart: 'webworkers', + ServiceWorkerControlledPage: 'serviceworkers', + PrepareModuleScript: 'es6-module', + // CookieGet: + // CookieSet +}; + +/** + * Unique items based on obj property. + * @param {!Array} items + * @param {string} propName Property name to filter on. + * @return {!Array} unique array of items + */ +function uniqueByProperty(items, propName) { + const posts = Array.from(items.reduce((map, item) => { + return map.set(item[propName], item); + }, new Map()).values()); + return posts; +} + +/** + * Sorts array of features by their name + * @param {!Object} a + * @param {!Object} b + */ +function sortByName(a, b) { + if (a.name < b.name) { + return -1; + } + if (a.name > b.name) { + return 1; + } + return 0; +} + +function printHeader(usage) { + console.log(''); + console.log(`${chalk.bold(chalk.yellow('CAREFUL'))}: using ${usage.FeatureFirstUsed.length} HTML/JS, ${usage.CSSFirstUsed.length} CSS features. Some features are ${chalk.underline('not')} supported by the Google Search crawler.`); + console.log(`The bot runs ${chalk.redBright('Chrome ' + GOOGLE_SEARCH_CHROME_VERSION)}, which may not render your page correctly when it's being indexed.`); + console.log(''); + console.log(chalk.dim('More info at https://developers.google.com/search/docs/guides/rendering.')); + console.log(''); + console.log(`Features used which are not supported by Google Search:`); + console.log(''); +} + +/** + * Returns true if `feature` is supported by the Google Search bot. + * @param {string} feature caniuse.com feature name/id. + * @return {boolean} True if the feature is (likely) supported by Google Search. + */ +function supportedByGoogleSearch(feature) { + const data = caniuseDB[feature]; + if (!data) { + return null; + } + const support = data.stats.chrome[GOOGLE_SEARCH_CHROME_VERSION]; + return support === 'y'; // TODO: consider 'p'. Partial support / polyfill. +} + +/** + * Fetches HTML/JS feature id/names from chromestatus.com. + * @param {!Browser} browser + * @return {!Map} key/val pairs of ids -> feature name + */ +async function fetchFeatureToNameMapping() { + const resp = await fetch('https://www.chromestatus.com/data/blink/features'); + return new Map(await resp.json()); +} + +/** + * Fetches CSS property id/names from chromestatus.com + * @param {!Browser} browser + * @return {!Map} key/val pairs of ids -> feature name + */ +async function fetchCSSFeatureToNameMapping(browser) { + const resp = await fetch('https://www.chromestatus.com/data/blink/cssprops'); + return new Map(await resp.json()); +} + +/** + * Start a trace during load to capture web platform features used by the page. + * @param {!Browser} browser + * @return {!Object} + */ +async function collectFeatureTraceEvents(browser) { + const page = await browser.newPage(); + + console.log(chalk.cyan(`Trace started.`)); + + await page.tracing.start({ + categories: [ + '-*', + 'disabled-by-default-devtools.timeline', // for TracingStartedInPage + 'disabled-by-default-blink.feature_usage' + ], + }); + console.log(chalk.cyan(`Navigating to ${URL}`)); + await page.goto(URL, {waitUntil: 'networkidle2'}); + console.log(chalk.cyan(`Waiting for page to be idle...`)); + await page.waitFor(5000); // add a little more time in case other features are used. + const trace = JSON.parse(await page.tracing.stop()); + console.log(chalk.cyan(`Trace complete.`)); + + // Filter out all trace events that aren't 1. blink feature usage + // and 2. from the same process/thread id as our test page's main thread. + const traceStartEvent = findTraceStartEvent(trace.traceEvents); + const events = trace.traceEvents.filter(e => { + return e.cat === 'disabled-by-default-blink.feature_usage' && + e.pid === traceStartEvent.pid && e.tid === traceStartEvent.tid; + }); + + // // Gut check. + // console.assert(events.every((entry, i, arr) => { + // // const nextIdx = Math.min(i + 1, arr.length - 1); + // // return entry.pid === arr[nextIdx].pid && entry.tid === arr[nextIdx].tid; + // return entry.pid === traceStartEvent.pid && entry.tid === traceStartEvent.tid; + // }), 'Trace event is not from the same process/thread id as the page being tested.'); + + await page.close(); + + return events; +} + +/** + * @param {Array} events + * @return {Object} + */ +function findTraceStartEvent(events) { + const startedInBrowserEvt = events.find(e => e.name === 'TracingStartedInBrowser'); + if (startedInBrowserEvt && startedInBrowserEvt.args.data && startedInBrowserEvt.args.data.frames) { + const mainFrame = startedInBrowserEvt.args.data.frames.find(frame => !frame.parent); + const pid = mainFrame && mainFrame.processId; + const threadNameEvt = events.find(e => e.pid === pid && e.ph === 'M' && + e.cat === '__metadata' && e.name === 'thread_name' && e.args.name === 'CrRendererMain'); + + const tid = threadNameEvt && threadNameEvt.tid; + if (pid && tid) { + return { + pid, + tid + }; + } + } + + // // Support legacy browser versions + const startedInPageEvt = events.find(e => e.name === 'TracingStartedInPage'); + if (startedInPageEvt && startedInPageEvt.args && startedInPageEvt.args.data) { + return { + pid: startedInPageEvt.pid, + tid: startedInPageEvt.tid + }; + } +} + +/** + * @param {!Object} feature + */ +function printFeatureName(feature, url= null) { + const suffix = url ? `: ${url}` : ''; + if (feature.css) { + console.log(chalk.grey('-'), `CSS \`${feature.name}\`${suffix}`); + } else { + console.log(chalk.grey('-'), `${feature.name}${suffix}`); + } +} + +(async() => { + +const browser = await puppeteer.launch({ + // headless: false, +}); + +// Parallelize the separate page loads. +const [featureMap, cssFeatureMap, traceEvents] = await Promise.all([ + fetchFeatureToNameMapping(), + fetchCSSFeatureToNameMapping(), + collectFeatureTraceEvents(browser), +]); + +const usage = traceEvents.reduce((usage, e) => { + if (!(e.name in usage)) { + usage[e.name] = []; + } + const isCSS = e.name === 'CSSFirstUsed'; + const id = e.args.feature; + const name = isCSS ? cssFeatureMap.get(id) : featureMap.get(id); + usage[e.name].push({id, name, ts: e.ts, css: isCSS}); + + return usage; +}, {}); + +// Unique events based on feature property id. +usage.FeatureFirstUsed = uniqueByProperty(usage.FeatureFirstUsed, 'id'); +usage.CSSFirstUsed = uniqueByProperty(usage.CSSFirstUsed, 'id'); + +printHeader(usage); + +const allFeaturesUsed = Object.entries([...usage.FeatureFirstUsed, ...usage.CSSFirstUsed].sort(sortByName)); +for (const [id, feature] of allFeaturesUsed) { + const caniuseName = BlinkFeatureNameToCaniuseName[feature.name]; + const supported = supportedByGoogleSearch(caniuseName); + if (caniuseName && !supported) { + const url = chalk.magentaBright(`https://caniuse.com/#feat=${caniuseName}`); + printFeatureName(feature, url); + } +} +console.log(''); +console.log('All features used on the page:'); +console.log(''); +for (const [id, feature] of allFeaturesUsed) { + printFeatureName(feature); +} +console.log(''); + +await browser.close(); + +})(); diff --git a/puppeteer/verify_sw_caching.js b/puppeteer/verify_sw_caching.js new file mode 100644 index 0000000..0f020ba --- /dev/null +++ b/puppeteer/verify_sw_caching.js @@ -0,0 +1,72 @@ +/** + * Copyright 2018 Google Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @author ebidel@ (Eric Bidelman) + */ + + /** + * Verify that page resources are being cached by service worker and served + * from the cache on repeat visits. + */ + + const chalk = require('chalk'); + const puppeteer = require('puppeteer'); + +// const { URL } = require('../src/variables'); +const { STAGE_URL : URL } = require('../src/variables'); + + (async() => { + + const browser = await puppeteer.launch(); + const page = await browser.newPage(); + + // page.on('console', msg => console.log(chalk.yellow('console'), msg.text())); + + console.log(chalk.cyan('Page: 1st load')); + await page.goto(URL); + // Wait for sw ready promise to resolve before moving on. This signals the sw + // has installed and cached assets in the `install` event. + await page.evaluate('navigator.serviceWorker.ready'); + // Alternatively, wait for UI toast to popup signalling sw caching is done. + // That's specific to this page's implementation though. + // await page.waitForSelector('chromedash-toast[open]'); + + // Capture requests during 2nd load. + const allRequests = new Map(); + page.on('request', req => { + allRequests.set(req.url(), req); + }); + + // Could also go offline and verify requests don't 404. + // await page.setOfflineMode(true); + + // Reload page to pick up any runtime caching done by the service worker. + console.log(chalk.cyan('Page: 2nd load')); + await page.reload({waitUntil: 'networkidle0'}); + + // Assert the page has a SW. + console.assert(await page.evaluate('navigator.serviceWorker.controller'), 'page has active service worker'); + + console.log(chalk.cyan(`Requests made by ${URL}`), `(${chalk.green('✔ cached by sw')}, ${chalk.red('✕ not cached')})`); + + Array.from(allRequests.values()).forEach(req => { + const NUM_CHARS = 75; + const url = req.url().length > NUM_CHARS ? req.url().slice(0, NUM_CHARS) + '...' : req.url(); + console.log(url, req.response().fromServiceWorker() ? chalk.green('✔') : chalk.red('✕')); + }); + + await browser.close(); + + })(); \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..2f76433 --- /dev/null +++ b/readme.md @@ -0,0 +1,289 @@ + + +  + +# What is ? + +  + +Some time back in 2018, I wanted to create the perfect Web App boilerplate project. So I started creating a template from scratch wth everything configured. All I required to do is change some configurables to get a full fledged website. I called it ``. + +Read along to learn to set it up. + +  + + + +# Features + +  + +### View layer + - React + - React-redux + - Material-ui + +### Data layer + - Redux + +### Server side + - Firebase + - Express + +### Building + - Webpack + - Eslint + - Editorconfig + - Commit Linting + +### Testing + - Karma, Jasmine Unit tests + - Codecov Code coverage reporting + - Cypress integration testing + - Browserstack cross-browser testing + - Puppeteer performance testing + +### Documentaton + - JSDoc + +### CI-CD + - Circle CI + +### Other features + - Progressive Web App + - Isomorphic + - Built-in Components + - Google Search Engine optimisation + - Performance fine turning + - Installable + - PayTM Payment Gateway Integrated. + - Sitemaps + - Privacy Policy + +  + +# Short cut way to setup + +  + +Fork the repo. + +Create a file `./.env/env.sh`. This is where all your secret tokens go. Do not commit it. + +## Firebase setup + +Register at **[Firebase](https://firebase.google.com/)**: This is where the site will be deployed. + +Create a new app and create 2 hosting environments one for production and one for testing. + +Replace the project name values in `.firebaserc`. + +Get your Firebase token `FIREBASE_TOKEN` by executing `npx firebase login:ci`. + +## PayTM setup + +Create a PayTM merchant account and get your `merchant id`. + +Replace variables `PAYTM_TEST.merchantId` and `PAYTM_PROD.merchantId` with your values. + +Get your `PAYTM_KEY` and `PAYTM_TEST_KEY` secret variables and put it in `./.env/env.sh`. + +## Google Tag manager setup + +Register for Google tag manager, and replace the Google Tag Manager script in `templates/server.html` and put yours. + +## Final step + +Run `npm run deploy`. It deploys to production in about a minute. + +  + +# Long cut way to setup + +  + +Fork the repo. + +Create a file `./.env/env.sh`. This is where all your secret tokens go. Do not commit it. + +## Firebase setup + +Register at **[Firebase](https://firebase.google.com/)**: This is where the site will be deployed. + +Create a new app and create 2 hosting environments one for production and one for testing. + +Replace the project name values in `.firebaserc`. + +Get your Firebase token `FIREBASE_TOKEN` by executing `npx firebase login:ci`. + +## PayTM setup + +Create a PayTM merchant account and get your `merchant id`. + +Replace variables `PAYTM_TEST.merchantId` and`PAYTM_PROD.merchantId` with your values. + +Get your `PAYTM_KEY` and `PAYTM_TEST_KEY` secret variables and put it in `./.env/env.sh`. + +## Circle CI setup + +Register at [Circle CI](https://cicleci.com). This is the Continous Integration Server. It builds the code runs some tests and deploys to Firebase. Set it up to build your repo. + +## Codecov setup + +Register at [Codecov](https://codecov.io). Set it up to test your repo. Get the `CODECOV_TOKEN` token and put it in `./.env/env.sh`. + +## Cypress setup + +Setup Cypress by running `npm run test:cypress:open`, get the `CYPRESS_TOKEN` and put it in `./.env/env.sh`. + +## Browserstack setup + +Get a Browserstack account. Get the `BROWSERSTACK_USER` and `BROWSERSTACK_TOKEN` and put it in `./.env/env.sh`. + +## Google Tag manager setup + +Register for Google tag manager, and replace the Google Tag Manager script in `templates/server.html` and put yours. + +## Final step + +Copy all secret tokens to your Circle CI project as environment variables. + +Once you push the code, if everything is set up correctly, if all the tests pass, your website will be deployed in about 5 minutes. + +  + +# Folder structure + +  + +`.circleci` circle ci configuration goes here + +`.env/env.sh` environment variables here in a file called env.sh (Do not commit it) + +`cypress` crypress test files + +`functions` + +Firebase expects the server files to be present here. When you build your server source code, it gets put here. You normally wouldnt have to touch anything here. There will only be a package.json and package-lock.json in it. If any new package gets added in your server source code, you will have to update the package.json here also. + + +`images` All custom images go here. + +`karma` Karma configuration for unit testing and browserstack testing. + +`posts` The markdown files for the blog posts are to be put here. + +`puppeteer` Puppeteer test files are located here. + +`src` + + - `client` client source code. + + - `server` server source code. + + - `theme.js` Theme file. + + - `variables.js` All variables and config values. + +`templates` + +`ads.txt` For adsense. This gets copied to production client bundle just like that. + +`client.html` Serves as the index file for the dev build used by html-webpack-plugin. + +`server.html` Serves as the index file served by the server in production. + +`test.html` A html template file for karma unit tests. + +`webpack` +All webpack configurations go here. + +  + +# Environment variables + +  + +- `PAYTM_KEY` +- `PAYTM_TEST_KEY` +- `BROWSERSTACK_USER` +- `BROWSERSTACK_TOKEN` +- `FIREBASE_TOKEN` +- `CODECOV_TOKEN` +- `CYPRESS_TOKEN` + +If you are a dev, you will only require dummy values for the above except for Browserstack which only works with valid values. Put them in `.env/env.sh` and do a `source .env/env.sh` to import them. + +  + +# Npm scripts + +  + +`clean` Removes unneccesary folders, log files. + +`build:client:dev` Builds the client source code for development. + +`build:client:devserver` Same as above but with webpack-dev-server and HMR. + +`build:client:prod` Builds the client source code for production. + +`build:server:dev` Builds the server source code for development. Note: A `PAYTM_TEST_KEY` Env variable needs to be set. + +`build:server:prod` Builds the server source code for production. Note: A `PAYTM_TEST_KEY` Env variable needs to be set. + +`test` Run unit test once. + +`test:dev` Run unit test watching for changes. + +`test:browserstack` Run unit tests in browserstack. Note: `BROWSERSTACK_USER` and `BROWSERSTACK_TOKEN` Env variables need to be set. + +`test:codecov` Reports code coverage to codecov. Note: `CODECOV_TOKEN` env variable needs to be set. + +`test:cypress:open` Opens cypress UI. + +`test:cypress:run` Runs cypress tests. Note: `CYPRESS_TOKEN` env variable needs to be set. + +`test:puppeteer:coverage` Runs puppeteer coverage test. + +`test:puppeteer:crawlsite` Runs puppeteer site crawl test. + +`test:puppeteer:googlesearch` Runs puppeteer googlesearch test. + +`test:puppeteer:caching` Runs puppeteer service worker test. + +`docs` Generates documentation. + +`start` Simulates prod like behaviour in local. Note: `PAYTM_TEST_KEY` env variable need to be set and there is no HMR. + +`firebase:prod:functions` Activates functions in Firebase production. Note: `FIREBASE_TOKEN` env variable needs to be set. + +`firebase:stage:hosting` Activates client in Firebase staging. Note: `FIREBASE_TOKEN` env variable needs to be set. + +`firebase:prod:hosting` Activates client in Firebase production. Note: `FIREBASE_TOKEN` env variable needs to be set. + +`deploy` Activates server and client in production instantly. Note: `FIREBASE_TOKEN` env variable needs to be set. + +  + +# Running app locally + +  + +Run `npm run build:client:devserver` in one tab to start the client at `http://localhost:9000` and run `nodemon src/server/mock` in another to start the server parallely at `https://localhost:5000`. + + +To run with SSR, just do an `npm start`. But there is no HMR. You will have to stop and start every time you make a change be it the client or server. + +  + +# How to create a new blog post + +  + +Update `src/client/list.js` to add a new blog entry. + +Create a `.md` file at the mentioned route in the list file. + +Once commited and pushed, the master branch will be deployed to production, all other branches will only be pushed to test env. + diff --git a/src/client/assets.js b/src/client/assets.js new file mode 100644 index 0000000..25bfdc3 --- /dev/null +++ b/src/client/assets.js @@ -0,0 +1,8 @@ +import '../../images/site/favicon.ico'; +import '../../images/site/logo-56.png'; +import '../../images/site/logo-100.png'; +import '../../images/site/logo-192.png'; +import '../../images/site/logo-512.png'; +import '../../images/site/og_image.jpg'; +import '../../images/site/og_image_2.jpg'; +import '../../images/site/partners.jpg'; \ No newline at end of file diff --git a/src/client/data/app/appActions.js b/src/client/data/app/appActions.js new file mode 100644 index 0000000..11491d9 --- /dev/null +++ b/src/client/data/app/appActions.js @@ -0,0 +1,88 @@ +import { createAction, getParameterByName } from '../../utils/helpers'; +require('isomorphic-fetch'); + +export const SET_MESSAGE = 'APP::MESSAGE'; +export const SET_CHECKSUM = 'APP::CHECKSUM'; +export const SET_LOADING = 'APP::SET_LOADING'; +export const SET_CONTENT = 'APP::CONTENT'; + +export const setMessage = createAction(SET_MESSAGE); +export const setChecksum = createAction(SET_CHECKSUM); +export const setLoading = createAction(SET_LOADING); +export const setContent = createAction(SET_CONTENT); + +export const getCheckSum = (body = {}) => (dispatch, getState) => { + + const { app: { checksum } } = getState(); + if (checksum) return; + dispatch(setLoading(true)); + + fetch(`/checksum`, { + method: 'POST', + mode: 'cors', + body: JSON.stringify(body), + headers: { + 'Content-Type': 'application/json', + }, + }) + .then(response => { + if (response.ok) return response.text(); + throw new Error('Network response was not ok.'); + }) + .then(text => { + dispatch([ + setChecksum(text), + setLoading(false), + ]); + }) + .catch(() => { + dispatch([ + setMessage({ + message: 'Techincal error! Reduced functionality.', + type: 'warning', + }), + ]); + }); +}; + +export const checkPayment = () => async dispatch => { + const paymentMade = getParameterByName('payment'); + if (paymentMade) { + if (paymentMade === 'true') { + dispatch(setMessage({ + message: 'Payment Success!', + type: 'success', + })); + } else if (paymentMade === 'false') { + dispatch(setMessage({ + message: 'Payment Failure!', + type: 'error', + })); + } + window.history.replaceState(null, null, window.location.pathname); + } +}; + +export const getContent = (folder = 'home', subfolder = 'home', post = 'home') => (dispatch, getState) => { + const { app: { content } } = getState(); + + if (content[`${folder}/${subfolder}/${post}`]) return; + + fetch(`/data?folder=${folder}&subfolder=${subfolder}&post=${post}`) + .then(response => { + if(response.ok) return response.text(); + throw new Error('Network response was not ok.'); + }) + .then(text => { + content[`${folder}/${subfolder}/${post}`] = text; + dispatch([ + setContent(content), + ]); + }) + .catch(() => { + dispatch([ + setContent(null), + setMessage('Network Issues.'), + ]); + }); +}; \ No newline at end of file diff --git a/src/client/data/app/appReducer.js b/src/client/data/app/appReducer.js new file mode 100644 index 0000000..286228c --- /dev/null +++ b/src/client/data/app/appReducer.js @@ -0,0 +1,20 @@ +import { handleActions, updateProperty } from '../../utils/helpers'; +import state from '../state'; +import { + SET_MESSAGE, + SET_CHECKSUM, + SET_LOADING, + SET_CONTENT, +} from './appActions'; + +const setMessage = (state, action) => updateProperty([ 'message' ], action.payload, state); +const setChecksum = (state, action) => updateProperty([ 'checksum' ], action.payload, state); +const setLoading = (state, action) => updateProperty([ 'loading' ], action.payload, state); +const setContent = (state, action) => updateProperty([ 'content' ], action.payload, state); + +export default handleActions({ + [SET_MESSAGE]: setMessage, + [SET_CHECKSUM]: setChecksum, + [SET_LOADING]: setLoading, + [SET_CONTENT]: setContent, +}, state.app); diff --git a/src/client/data/middlewares/reduxMulti.js b/src/client/data/middlewares/reduxMulti.js new file mode 100644 index 0000000..a5392b7 --- /dev/null +++ b/src/client/data/middlewares/reduxMulti.js @@ -0,0 +1,3 @@ +export default ({ dispatch }) => next => action => Array.isArray(action) + ? action.filter(Boolean).map(dispatch) + : next(action); \ No newline at end of file diff --git a/src/client/data/state.js b/src/client/data/state.js new file mode 100644 index 0000000..4b3a158 --- /dev/null +++ b/src/client/data/state.js @@ -0,0 +1,8 @@ +export default { + app: { + message: false, + checksum: '', + isLoading: false, + content: {}, + }, +}; \ No newline at end of file diff --git a/src/client/data/store.js b/src/client/data/store.js new file mode 100644 index 0000000..c4f06f8 --- /dev/null +++ b/src/client/data/store.js @@ -0,0 +1,18 @@ +import { createStore, combineReducers, applyMiddleware } from 'redux'; +import thunk from 'redux-thunk'; +import reduxMulti from './middlewares/reduxMulti'; +import state from './state'; + +import appReducer from './app/appReducer'; + +const reducer = combineReducers({ + app: appReducer, +}); + +const middleware = applyMiddleware(thunk, reduxMulti); + +if (typeof window === 'undefined') { + global.window = {}; +} + +export default middleware(createStore)(reducer, state, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()); \ No newline at end of file diff --git a/src/client/index.js b/src/client/index.js new file mode 100644 index 0000000..6ae79f0 --- /dev/null +++ b/src/client/index.js @@ -0,0 +1,46 @@ +import React from 'react'; +import { render } from 'react-dom'; +import { MuiThemeProvider } from '@material-ui/core/styles'; +import { Provider as ReduxProvider } from 'react-redux'; +import Routes from './routes'; +import ErrorBoundary from './view/components/ErrorBoundary/ErrorBoundary'; +import AppShell from './view/components/AppShell/AppShell'; + +import './utils/webShare'; + +import theme from '../theme'; +import store from './data/store'; +import './assets'; + +function Main() { + React.useEffect(() => { + const jssStyles = document.querySelector('#jss-server-side'); + if (jssStyles) jssStyles.parentNode.removeChild(jssStyles); + }, []); + + return ( + + + + + + + + + + ); +} + +render(

, document.querySelector('#root')); + +if ('serviceWorker' in navigator && process.env.NODE_ENV === 'production') { + /* eslint-disable no-console */ + window.addEventListener('load', () => { + navigator.serviceWorker + .register('/service-worker.js') + .then(registration => { console.log('SW registered: ', registration); }) + .catch(registrationError => { console.log('SW registration failed: ', registrationError); }); + }); +} + +if (module.hot) module.hot.accept(); \ No newline at end of file diff --git a/src/client/list.js b/src/client/list.js new file mode 100644 index 0000000..121be6c --- /dev/null +++ b/src/client/list.js @@ -0,0 +1,54 @@ +module.exports = [ + { + title: 'Home', + keywords: [], + links: [ + { + title: '', + ogTitle: 'Open Graph Title', + description: 'description', + ogDescription: 'Open Graph Description', + ogImage: '/img/og_image.jpg', + route: '/post/home/home/home', + }, + ], + }, + { + title: 'Tutorials', + keywords: [], + links: [ + { + title: 'Features', + route: '/post/setup/tutorials/features', + }, + { + title: 'Short cut way to setup', + route: '/post/setup/tutorials/short-cut', + }, + { + title: 'Comprehensive way to setup', + route: '/post/setup/tutorials/long-cut', + }, + { + title: 'Folder structure', + route: '/post/setup/tutorials/folder-structure', + }, + { + title: 'Environment variables', + route: '/post/setup/tutorials/environment-variables', + }, + { + title: 'Npm scripts', + route: '/post/setup/tutorials/npm-scripts', + }, + { + title: 'Running App locally', + route: '/post/setup/tutorials/running-app-locally', + }, + { + title: 'Creating a blog post', + route: '/post/setup/tutorials/new-blog-post', + }, + ], + }, +]; \ No newline at end of file diff --git a/src/client/routes.js b/src/client/routes.js new file mode 100644 index 0000000..38452ac --- /dev/null +++ b/src/client/routes.js @@ -0,0 +1,12 @@ +import React from 'react'; +import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; +import Home from './view/pages/Home/Home'; + +const Routes = () => + + + + + + +export default Routes; \ No newline at end of file diff --git a/src/client/test.js b/src/client/test.js new file mode 100644 index 0000000..b9dcd38 --- /dev/null +++ b/src/client/test.js @@ -0,0 +1,2 @@ +const testsContext = require.context(".", true, /test$/); +testsContext.keys().forEach(testsContext) \ No newline at end of file diff --git a/src/client/utils/custom.js b/src/client/utils/custom.js new file mode 100644 index 0000000..11d3a13 --- /dev/null +++ b/src/client/utils/custom.js @@ -0,0 +1,51 @@ +/* eslint-disable no-magic-numbers */ +import list from '../list'; +import { URL, DESCRIPTION } from '../../variables'; + +export const getMetaTags = (folder = 'home', subfolder = 'home', post = 'home') => { + let selectedList = list[0]; + let selectedPost = selectedList.links[0]; + let { title, ogTitle, description, ogDescription, ogImage } = selectedPost; + let postUrl = '/'; + let selectedListTitle = selectedList.title; + let selectedLinkTitle = selectedPost.title; + + list.forEach(item => { + const selectedPost = item.links.find(l => l.route === `/post/${folder}/${subfolder}/${post}`); + if (selectedPost) { + title = selectedPost.title + ' | ' + DESCRIPTION || title; + ogTitle = selectedPost.ogTitle || ogTitle; + description = selectedPost.description || description; + ogDescription = selectedPost.ogDescription || ogDescription; + ogImage = selectedPost.ogImage || ogImage; + postUrl = folder === 'home' ? '/' : `/post/${folder}/${subfolder}/${post}`; + selectedListTitle = item.title; + selectedLinkTitle = selectedPost.title; + } + }); + + return { + title, + ogTitle, + description, + ogDescription, + ogImage, + ogUrl: `${URL}${postUrl}`, + selectedListTitle, + selectedLinkTitle, + }; +}; + +export const getLinks = (folder = 'home', subfolder = 'home', post = 'home') => { + const allLinks = list.reduce((acc, item) => acc.concat(item.links), []); + const selectedPostIndex = allLinks.findIndex(l => l.route === `/post/${folder}/${subfolder}/${post}`); + + return { + prevLink: selectedPostIndex !== 0 ? selectedPostIndex === 1 ? '/' : allLinks[selectedPostIndex - 1].route : null, + prevTitle: selectedPostIndex !== 0 ? allLinks[selectedPostIndex - 1].title : null, + currentLink: allLinks[selectedPostIndex].route, + currentTitle: allLinks[selectedPostIndex].title, + nextLink: selectedPostIndex !== allLinks.length - 1 ? allLinks[selectedPostIndex + 1].route : null, + nextTitle: selectedPostIndex !== allLinks.length - 1 ? allLinks[selectedPostIndex + 1].title : null, + }; +}; \ No newline at end of file diff --git a/src/client/utils/helpers.js b/src/client/utils/helpers.js new file mode 100644 index 0000000..5695c8f --- /dev/null +++ b/src/client/utils/helpers.js @@ -0,0 +1,20 @@ +/* eslint-disable no-magic-numbers */ +import immutable from 'object-path-immutable'; + +export const createAction = type => payload => ({ type, payload }); +export const handleActions = (handlers, defaultState) => (state = defaultState, action) => { + if (handlers[action.type]) return handlers[action.type](state, action); + return state; +}; + +export const updateProperty = (path, value, obj) => immutable.set(obj, path, value); + +export const getParameterByName = (name, url) => { + if (!url) url = window.location.href; + name = name.replace(/[[\]]/g, '\\$&'); + let regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'); + const results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, ' ')); +}; \ No newline at end of file diff --git a/src/client/utils/webShare.js b/src/client/utils/webShare.js new file mode 100644 index 0000000..c032e17 --- /dev/null +++ b/src/client/utils/webShare.js @@ -0,0 +1,3 @@ +/* eslint-disable */ +navigator.share=navigator.share||function(){if(navigator.share)return navigator.share;let a=navigator.userAgent.match(/Android/i),b=navigator.userAgent.match(/iPhone|iPad|iPod/i),c=!(b||a),d={whatsapp:(a)=>(c?'https://api.whatsapp.com/send?text=':'whatsapp://send?text=')+a,telegram:(a)=>(c?'https://telegram.me/share/msg?url='+location.host+'&text=':'tg://msg?text=')+a,facebook:(a,b,d)=>b?(c?'https://www.facebook.com/dialog/share?app_id='+b+'&display=popup&href='+d+'&redirect_uri='+encodeURIComponent(location.href)+'"e=':'fb-messenger://share/?message=')+a:'',email:(a,b)=>'mailto:?subject='+b+'&body='+a,sms:(a)=>'sms:?body='+a};const e=new class{_init(){if(this._initialized)return Promise.resolve();this._initialized=!0;const a=Promise.resolve(` +`);return a.then((a)=>{const b=document.createElement('div');b.innerHTML=a,this.$root=b.querySelector('.web-share'),this.$whatsapp=b.querySelector('.web-share-whatsapp'),this.$facebook=b.querySelector('.web-share-facebook'),this.$telegram=b.querySelector('.web-share-telegram'),this.$email=b.querySelector('.web-share-email'),this.$sms=b.querySelector('.web-share-sms'),this.$copy=b.querySelector('.web-share-copy'),this.$copy.onclick=()=>this._copy(),this.$root.onclick=()=>this._hide(),this.$root.classList.toggle('desktop',c),document.body.appendChild(b)})}_setPayload(a){let b=a.text+' '+a.url,c=a.title,e=a.facebookId||'158651941570418';this.url=a.url,b=encodeURIComponent(b),c=encodeURIComponent(c),this.$whatsapp.href=d.whatsapp(b),this.$facebook.href=d.facebook(b,e,a.url),this.$telegram.href=d.telegram(b),this.$email.href=d.email(b,c),this.$sms.href=d.sms(b)}_copy(){const a=document.createElement('span');a.textContent=this.url,a.style.whiteSpace='pre',a.style.position='absolute',a.style.left='-9999px',a.style.top='-9999px';const b=window,c=b.getSelection();b.document.body.appendChild(a);const d=b.document.createRange();c.removeAllRanges(),d.selectNode(a),c.addRange(d);let e=!1;try{e=b.document.execCommand('copy')}catch(a){}return c.removeAllRanges(),a.remove(),e}show(a){return this._init().then(()=>{clearTimeout(this._hideTimer),this._setPayload(a),this.$root.style.display='flex',this.$root.offsetWidth,this.$root.style.background='rgba(0,0,0,.4)',document.querySelectorAll('.web-share-container').forEach((a)=>{a.style.transform='translateY(0)',a.style.opacity=1})})}_hide(){this.$root.style.background=null,document.querySelectorAll('.web-share-container').forEach((a)=>{a.style.transform=null,a.style.opacity=null}),this._hideTimer=setTimeout(()=>this.$root.style.display=null,400)}};return(a)=>e.show(a)}(); \ No newline at end of file diff --git a/src/client/view/components/AppShell/AppShell.js b/src/client/view/components/AppShell/AppShell.js new file mode 100644 index 0000000..1e3d130 --- /dev/null +++ b/src/client/view/components/AppShell/AppShell.js @@ -0,0 +1,93 @@ +import React, { Component } from 'react'; +import { withStyles } from '@material-ui/core/styles'; +import Grid from '@material-ui/core/Grid'; +import Hidden from '@material-ui/core/Hidden'; +import Fab from '@material-ui/core/Fab'; +import ShareIcon from '@material-ui/icons/Share'; +import classNames from 'classnames'; +import { Typography } from '@material-ui/core'; +import Navbar from '../Navbar/Navbar'; +import Content from '../Content/Content'; +import Sidebar from '../Sidebar/Sidebar'; +import RightSidebar from '../RightSidebar/RightSidebar'; +import SidebarContent from '../SidebarContent/SidebarContent'; +import RightSidebarContent from '../SidebarContent/RightSidebarContent'; +import PayButton from '../PayButton/PayButton'; +import Toolbar from '../Toolbar/Toolbar'; +import SocialLinks from '../SocialLinks/SocialLinks'; + +import styles from './styles'; +import CopyRight from '../CopyRight/CopyRight'; + +const { TITLE, DESCRIPTION } = require('../../../../variables'); + +class App extends Component { + state = { + drawerOpen: false, + activeTab: '0', + }; + handleDrawerToggle() { + this.setState({ drawerOpen: !this.state.drawerOpen }); + } + handleTabChange(value) { + this.setState({ activeTab: value }); + } + handleNavbarTitleClick() { + window.location = '/'; + } + handleShareClick() { + if (navigator && navigator.share) navigator.share({ + title: TITLE, + text: DESCRIPTION, + url: window ? window.location.href : '', + }); + } + handleSidebarLinkClick() { + if (this.state.drawerOpen) this.handleDrawerToggle(); + } + render() { + const { classes, children } = this.props; + const { drawerOpen } = this.state; + + return
+ + + + +
+
+ + + + + + {children} + + +
+ + + +
+
+
+ + + + + + + + +
+
+
+ + Share + + +
; + } +} + +export default withStyles(styles, { withTheme: true })(App); \ No newline at end of file diff --git a/src/client/view/components/AppShell/styles.js b/src/client/view/components/AppShell/styles.js new file mode 100644 index 0000000..0d672e8 --- /dev/null +++ b/src/client/view/components/AppShell/styles.js @@ -0,0 +1,42 @@ +export default theme => ({ + app: { + overflow: 'hidden', + position: 'relative', + width: '100%', + minHeight: '100vh', + background: theme.background.primary, + color: '#333', + }, + contentWrapper: { + margin: 'auto', + [theme.breakpoints.up('md')]: { + marginLeft: 275, + }, + }, + content: { + marginTop: 15, + maxWidth: 600, + minWidth: 300, + [theme.breakpoints.down('xs')]: { + marginTop: 0, + minWidth: '100%', + }, + }, + fab: { + position: 'fixed', + bottom: 35, + right: 20, + zIndex: 2002, + background: theme.palette.tertiary, + [theme.breakpoints.down('xs')]: { + top: 'calc(50% - 28px)', + right: -10, + '&:hover': { + right: 0, + }, + '&:active': { + right: 0, + }, + }, + }, +}); diff --git a/src/client/view/components/Content/Content.js b/src/client/view/components/Content/Content.js new file mode 100644 index 0000000..7247a1f --- /dev/null +++ b/src/client/view/components/Content/Content.js @@ -0,0 +1,21 @@ +import React from 'react'; +import Paper from '@material-ui/core/Paper'; +import { withStyles } from '@material-ui/core/styles'; + +import styles from './styles'; + +class PaperSheet extends React.Component { + render() { + const { classes, children } = this.props; + + return ( +
+ + {children} + +
+ ); + } +} + +export default withStyles(styles)(PaperSheet); diff --git a/src/client/view/components/Content/styles.js b/src/client/view/components/Content/styles.js new file mode 100644 index 0000000..839d88b --- /dev/null +++ b/src/client/view/components/Content/styles.js @@ -0,0 +1,19 @@ +/* eslint-disable no-magic-numbers */ + +export default theme => ({ + root: { + padding: 15, + wordBreak: 'break-word', + }, + content: { + flexGrow: 1, + padding: 0, + [theme.breakpoints.up('sm')]: { + padding: 20, + paddingTop: 0, + }, + [theme.breakpoints.down('sm')]: { + marginBottom: 10, + }, + }, +}); diff --git a/src/client/view/components/CopyRight/CopyRight.js b/src/client/view/components/CopyRight/CopyRight.js new file mode 100644 index 0000000..f118615 --- /dev/null +++ b/src/client/view/components/CopyRight/CopyRight.js @@ -0,0 +1,18 @@ +import React from 'react'; +import { withStyles } from '@material-ui/core/styles'; + +import styles from './styles'; +import { Typography, Link } from '@material-ui/core'; +import moment from 'moment'; + +class Footer extends React.Component { + render() { + const { classes } = this.props; + + return
+ © {""} {moment().format('YYYY')} | All rights reserved +
; + } +} + +export default withStyles(styles, { withTheme: true })(Footer); \ No newline at end of file diff --git a/src/client/view/components/CopyRight/styles.js b/src/client/view/components/CopyRight/styles.js new file mode 100644 index 0000000..9bff835 --- /dev/null +++ b/src/client/view/components/CopyRight/styles.js @@ -0,0 +1,8 @@ +export default () => ({ + root: { + display: 'flex', + justifyContent: 'center', + marginTop: 10, + marginBottom: 10, + }, +}) diff --git a/src/client/view/components/ErrorBoundary/ErrorBoundary.js b/src/client/view/components/ErrorBoundary/ErrorBoundary.js new file mode 100644 index 0000000..61598bd --- /dev/null +++ b/src/client/view/components/ErrorBoundary/ErrorBoundary.js @@ -0,0 +1,21 @@ +import React, { Component } from 'react'; +import { Typography } from '@material-ui/core'; + +export default class ErrorBoundary extends Component { + constructor(props) { + super(props); + this.state = { + hasError: false, + }; + } + // eslint-disable-next-line no-unused-vars + componentDidCatch(error, info) { + this.setState({ + hasError: true, + }); + } + render() { + if (this.state.hasError) return 404! Something went wrong.; + return this.props.children; + } +} diff --git a/src/client/view/components/ErrorMessage/ErrorMessage.js b/src/client/view/components/ErrorMessage/ErrorMessage.js new file mode 100644 index 0000000..ee83be7 --- /dev/null +++ b/src/client/view/components/ErrorMessage/ErrorMessage.js @@ -0,0 +1,109 @@ +import React from 'react'; +import classNames from 'classnames'; +import CheckCircleIcon from '@material-ui/icons/CheckCircle'; +import ErrorIcon from '@material-ui/icons/Error'; +import InfoIcon from '@material-ui/icons/Info'; +import CloseIcon from '@material-ui/icons/Close'; +import green from '@material-ui/core/colors/green'; +import amber from '@material-ui/core/colors/amber'; +import IconButton from '@material-ui/core/IconButton'; +import Snackbar from '@material-ui/core/Snackbar'; +import SnackbarContent from '@material-ui/core/SnackbarContent'; +import WarningIcon from '@material-ui/icons/Warning'; +import { withStyles } from '@material-ui/core/styles'; + +const delay = 100; + +const variantIcon = { + success: CheckCircleIcon, + warning: WarningIcon, + error: ErrorIcon, + info: InfoIcon, +}; + +const styles1 = theme => ({ + success: { + // eslint-disable-next-line no-magic-numbers + backgroundColor: green[600], + }, + error: { + backgroundColor: theme.palette.error.dark, + }, + info: { + backgroundColor: theme.palette.primary.dark, + }, + warning: { + // eslint-disable-next-line no-magic-numbers + backgroundColor: amber[700], + }, + icon: { + fontSize: 20, + }, + iconVariant: { + opacity: 0.9, + marginRight: theme.spacing.unit, + }, + message: { + display: 'flex', + alignItems: 'center', + }, +}); + +function MySnackbarContent(props) { + const { classes, className, message, onClose, variant, ...other } = props; + const Icon = variantIcon[variant]; + + return ( + + + {message} + + } + action={[ + + + , + ]} + {...other} /> + ); +} + +const MySnackbarContentWrapper = withStyles(styles1)(MySnackbarContent); + +class CustomizedSnackbars extends React.Component { + state = { + open: true, + } + handleClose = (event, reason) => { + if (reason === 'clickaway') { + return; + } + this.setState({ open: false }); + if (this.props.handleErrorClose) setTimeout(() => this.props.handleErrorClose(), delay); + }; + + render() { + const { variant, message, duration } = this.props; + return + + ; + } +} + +export default CustomizedSnackbars; diff --git a/src/client/view/components/Footer/Footer.js b/src/client/view/components/Footer/Footer.js new file mode 100644 index 0000000..43e2b79 --- /dev/null +++ b/src/client/view/components/Footer/Footer.js @@ -0,0 +1,19 @@ +import React from 'react'; +import { withStyles } from '@material-ui/core/styles'; +import BottomNavigation from '@material-ui/core/BottomNavigation'; + +import styles from './styles'; + +class Footer extends React.Component { + render() { + const { classes } = this.props; + + return ( + + {this.props.children} + + ); + } +} + +export default withStyles(styles, { withTheme: true })(Footer); \ No newline at end of file diff --git a/src/client/view/components/Footer/styles.js b/src/client/view/components/Footer/styles.js new file mode 100644 index 0000000..9360013 --- /dev/null +++ b/src/client/view/components/Footer/styles.js @@ -0,0 +1,14 @@ +export default theme => ({ + footer: { + width: '100%', + position: 'fixed', + left:0, + bottom: 0, + zIndex: 2001, + borderTop: 'solid 1px ' + theme.background.primary, + [theme.breakpoints.down('sm')]: { + zIndex: 2, + }, + height: 100, + }, +}) diff --git a/src/client/view/components/FullpageLoader/FullpageLoader.js b/src/client/view/components/FullpageLoader/FullpageLoader.js new file mode 100644 index 0000000..9a056ea --- /dev/null +++ b/src/client/view/components/FullpageLoader/FullpageLoader.js @@ -0,0 +1,8 @@ +import React from 'react'; +import LoadingIndicator from "../LoadingIndicator/LoadingIndicator"; + +const FullpageLoader = () =>
+ +
; + +export default FullpageLoader; \ No newline at end of file diff --git a/src/client/view/components/LoadingIndicator/LoadingIndicator.js b/src/client/view/components/LoadingIndicator/LoadingIndicator.js new file mode 100644 index 0000000..12d06cb --- /dev/null +++ b/src/client/view/components/LoadingIndicator/LoadingIndicator.js @@ -0,0 +1,18 @@ +import React from 'react'; +import { withStyles } from '@material-ui/core/styles'; +import CircularProgress from '@material-ui/core/CircularProgress'; + +const styles = theme => ({ + progress: { + // eslint-disable-next-line no-magic-numbers + margin: theme.spacing(2), + }, +}); + +const LoadingIndicator = props => { + const { classes } = props; + + return ; +}; + +export default withStyles(styles)(LoadingIndicator); diff --git a/src/client/view/components/LoadingIndicator/LoadingIndicator.test.js b/src/client/view/components/LoadingIndicator/LoadingIndicator.test.js new file mode 100644 index 0000000..cc66c36 --- /dev/null +++ b/src/client/view/components/LoadingIndicator/LoadingIndicator.test.js @@ -0,0 +1,14 @@ +/* eslint-disable no-magic-numbers */ + +import React from 'react'; +import enzyme, { mount } from 'enzyme'; +import LoadingIndicator from './LoadingIndicator'; +import * as Adapter from 'enzyme-adapter-react-16'; +enzyme.configure({ adapter: new Adapter() }); + +describe("LoadingIndicator", () => { + it('renders CircularProgress', () => { + const component = mount(); + expect(component.find('LoadingIndicator').length).toEqual(1); + }); +}); \ No newline at end of file diff --git a/src/client/view/components/Markdown/Markdown.js b/src/client/view/components/Markdown/Markdown.js new file mode 100644 index 0000000..4811f10 --- /dev/null +++ b/src/client/view/components/Markdown/Markdown.js @@ -0,0 +1,31 @@ +/* eslint-disable */ +import React from "react"; +import ReactMarkdown from 'markdown-to-jsx'; +import { withStyles } from "@material-ui/core/styles"; +import Typography from "@material-ui/core/Typography"; +import Link from '@material-ui/core/Link'; + +const styles = theme => ({ + listItem: { + marginTop: theme.spacing(1), + }, + paragraph: { + fontWeight: theme.typography.fontWeightLight, + textAlign: 'justify', + }, +}); + +const options = { + overrides: { + a: { component: Link }, + h1: { component: props => }, + h2: { component: props => }, + h3: { component: props => }, + h4: { component: props => }, + p: { component: withStyles(styles)(({ classes, ...props }) => ) }, + li: { component: withStyles(styles)(({ classes, ...props }) =>
  • ) }, + span: { component: withStyles(styles)(({ classes, ...props }) => ) }, + }, +}; + +export default props => ; diff --git a/src/client/view/components/MetaTags/MetaTags.js b/src/client/view/components/MetaTags/MetaTags.js new file mode 100644 index 0000000..7a9f0ab --- /dev/null +++ b/src/client/view/components/MetaTags/MetaTags.js @@ -0,0 +1,17 @@ +import React from 'react'; +import { Helmet } from "react-helmet"; + +const MetaTags = props => { + const { title, ogTitle, ogUrl, description, ogDescription, ogImage } = props; + + return + {title} + + + + + + +}; + +export default MetaTags; \ No newline at end of file diff --git a/src/client/view/components/Navbar/Navbar.js b/src/client/view/components/Navbar/Navbar.js new file mode 100644 index 0000000..5becba6 --- /dev/null +++ b/src/client/view/components/Navbar/Navbar.js @@ -0,0 +1,36 @@ +import React from 'react'; +import { withStyles } from '@material-ui/core/styles'; +import AppBar from '@material-ui/core/AppBar'; +import Toolbar from '@material-ui/core/Toolbar'; +import Typography from '@material-ui/core/Typography'; +import IconButton from '@material-ui/core/IconButton'; +import MenuIcon from '@material-ui/icons/Menu'; + +import styles from './styles'; + +class Navbar extends React.Component { + render() { + const { classes, title = '', description = '', onNavbarMenuClick, onNavbarTitleClick } = this.props; + + return ( + + + + + + logo +
    + {title} + {description} +
    +
    +
    + ); + } +} + +export default withStyles(styles, { withTheme: true })(Navbar); diff --git a/src/client/view/components/Navbar/styles.js b/src/client/view/components/Navbar/styles.js new file mode 100644 index 0000000..ba6f413 --- /dev/null +++ b/src/client/view/components/Navbar/styles.js @@ -0,0 +1,53 @@ +export default theme => ({ + appBar: { + // eslint-disable-next-line no-magic-numbers + zIndex: theme.zIndex.drawer + 1, + background: theme.background.secondary, + }, + menuButton: { + cursor: 'pointer', + padding: 8, + marginRight: 0, + [theme.breakpoints.up('md')]: { + display: 'none', + }, + [theme.breakpoints.down('xs')]: { + marginRight: 0, + }, + }, + menuIcon: { + height: '1.2em', + width: '1.2em', + }, + toolBar: { + minHeight: 50, + marginLeft: 0, + [theme.breakpoints.down('sm')]: { + marginLeft: -20, + }, + [theme.breakpoints.down('xs')]: { + marginLeft: -12, + }, + }, + flex: { + cursor: 'pointer', + flexGrow: 1, + }, + title: { + display: 'inline', + }, + description: { + marginLeft: 5, + display: 'inline', + fontStyle: 'italic', + }, + logoIcon: { + cursor: 'pointer', + height: 25, + width: 25, + marginRight: 20, + [theme.breakpoints.down('sm')]: { + marginRight: 10, + }, + }, +}); diff --git a/src/client/view/components/Navigation/Navigation.js b/src/client/view/components/Navigation/Navigation.js new file mode 100644 index 0000000..0d91af3 --- /dev/null +++ b/src/client/view/components/Navigation/Navigation.js @@ -0,0 +1,46 @@ +import React from 'react'; +import { withStyles } from '@material-ui/core/styles'; +import Stepper from '@material-ui/core/Stepper'; +import Step from '@material-ui/core/Step'; +import StepLabel from '@material-ui/core/StepLabel'; +// import PrevIcon from '@material-ui/icons/ArrowLeft'; +// import NextIcon from '@material-ui/icons/ArrowRight'; +import Link from '@material-ui/core/Link'; +import SvgIcon from '@material-ui/core/SvgIcon'; + +import styles from './styles'; + +const HomeIcon = props => + +; + +class Navigation extends React.Component { + render() { + const { classes, links: { prevLink, prevTitle, nextLink, nextTitle } } = this.props; + + return + { + + {prevLink ? window.location=prevLink}>{prevTitle} : } + + } + { + + {nextLink ? window.location=nextLink}>{nextTitle} : } + + } + ; + } +} + +export default withStyles(styles, { withTheme: true })(Navigation); diff --git a/src/client/view/components/Navigation/styles.js b/src/client/view/components/Navigation/styles.js new file mode 100644 index 0000000..df07fd5 --- /dev/null +++ b/src/client/view/components/Navigation/styles.js @@ -0,0 +1,5 @@ +export default theme => ({ + link: { + color: theme.palette.tertiary, + }, +}) \ No newline at end of file diff --git a/src/client/view/components/NestedList/NestedList.js b/src/client/view/components/NestedList/NestedList.js new file mode 100644 index 0000000..6e14895 --- /dev/null +++ b/src/client/view/components/NestedList/NestedList.js @@ -0,0 +1,45 @@ +import React from 'react'; +import { withStyles } from '@material-ui/core/styles'; +import List from '@material-ui/core/List'; +import ListItem from '@material-ui/core/ListItem'; +import ListItemText from '@material-ui/core/ListItemText'; +import Collapse from '@material-ui/core/Collapse'; +import ExpandLess from '@material-ui/icons/ExpandLess'; +import ExpandMore from '@material-ui/icons/ExpandMore'; +import Divider from '@material-ui/core/Divider'; +import styles from './styles'; + +class NestedList extends React.Component { + state = { + open: this.props.open || false, + }; + + componentDidMount() { + const { open } = this.props; + if (open) this.setState({ open: true }); + } + + handleClick() { + this.setState(state => ({ open: !state.open })); + } + + render() { + const { classes, title, children, open } = this.props; + return ( + + this.handleClick()}> + + {this.state.open ? : } + + + + {children} + + + + + ); + } +} + +export default withStyles(styles)(NestedList); diff --git a/src/client/view/components/NestedList/styles.js b/src/client/view/components/NestedList/styles.js new file mode 100644 index 0000000..4c62873 --- /dev/null +++ b/src/client/view/components/NestedList/styles.js @@ -0,0 +1,9 @@ +export default () => ({ + list: { + padding: 0, + }, + nestedList: { + padding: 0, + paddingBottom: 10, + }, +}); diff --git a/src/client/view/components/PayButton/PayButton.js b/src/client/view/components/PayButton/PayButton.js new file mode 100644 index 0000000..3e35c19 --- /dev/null +++ b/src/client/view/components/PayButton/PayButton.js @@ -0,0 +1,53 @@ +import React, { Component } from 'react'; +import { connect } from 'react-redux'; +import PaytmButton from './PaytmButton'; +import { getCheckSum } from '../../../data/app/appActions'; + +const variables = require('../../../../variables'); +const { url, merchantId, orderId, customerId, amount, industryTypeId, channelId, website, callbackUrl, email, phone } = process.env.NODE_ENV === 'production' ? variables.PAYTM_PROD : variables.PAYTM_TEST; + +class Pay extends Component { + componentDidMount() { + const { getCheckSum } = this.props; + getCheckSum({ + 'ORDER_ID': orderId, + 'MID': merchantId, + 'CUST_ID': customerId, + 'TXN_AMOUNT': amount, + 'INDUSTRY_TYPE_ID': industryTypeId, + 'CHANNEL_ID': channelId, + 'WEBSITE': website, + 'CALLBACK_URL': callbackUrl, + 'EMAIL': email, + 'MOBILE_NO': phone, + 'PAYMENT_MODE_ONLY': 'yes', + 'AUTH_MODE': '3D', + 'PAYMENT_TYPE_ID': 'DC', + }); + } + render() { + const { app: { checksum } } = this.props; + + return ; + } +} + +const mapStateToProps = state => state; +const mapDispatchToProps = dispatch => ({ + getCheckSum: data => dispatch(getCheckSum(data)), +}); + +export default connect(mapStateToProps, mapDispatchToProps)(Pay); \ No newline at end of file diff --git a/src/client/view/components/PayButton/PaytmButton.js b/src/client/view/components/PayButton/PaytmButton.js new file mode 100644 index 0000000..2896fa1 --- /dev/null +++ b/src/client/view/components/PayButton/PaytmButton.js @@ -0,0 +1,55 @@ +/* eslint-disable no-magic-numbers */ +import React, { Component } from 'react'; +// import Button from '@material-ui/core/Button'; +import HourGlassIcon from '@material-ui/icons/HourglassFull'; +import SponsorIcon from '@material-ui/icons/Favorite'; +// import AttachMoney from '@material-ui/icons/AttachMoney'; +// import MonetizationOnSharpIcon from '@material-ui/icons/MonetizationOnSharp'; +// import EuroTwoTone from '@material-ui/icons/EuroTwoTone'; +import Fab from '@material-ui/core/Fab'; + +class Paytmbutton extends Component { + state = { + submit: false, + }; + onSubmit() { + this.setState({ + submit: true, + }); + document.getElementById('pay-form').submit(); + } + render() { + // const { classes } = this.props; + const { url, orderId, merchantId, website, industryTypeId, channelId, customerId, amount, phone, email, callbackUrl, checksum, text } = this.props; + + return
    + + + + + + + + + + + + + + + + {this.state.submit ? : {text} } + + + {/* ${(1).toLocaleString('en-GB', { style: 'currency', currency: 'EUR' })} */} +
    ; + } +} + +export default Paytmbutton; \ No newline at end of file diff --git a/src/client/view/components/Post/Post.js b/src/client/view/components/Post/Post.js new file mode 100644 index 0000000..632d0fa --- /dev/null +++ b/src/client/view/components/Post/Post.js @@ -0,0 +1,13 @@ +import React, { Component } from 'react'; +import Markdown from '../Markdown/Markdown'; + +class Post extends Component { + render() { + const { children } = this.props; + return + {children} + ; + } +} + +export default Post; \ No newline at end of file diff --git a/src/client/view/components/RightSidebar/RightSidebar.js b/src/client/view/components/RightSidebar/RightSidebar.js new file mode 100644 index 0000000..95ef1a2 --- /dev/null +++ b/src/client/view/components/RightSidebar/RightSidebar.js @@ -0,0 +1,13 @@ +import React from 'react'; + +class PaperSheet extends React.Component { + render() { + const { children } = this.props; + + return + {children} + ; + } +} + +export default PaperSheet; diff --git a/src/client/view/components/Sidebar/Sidebar.js b/src/client/view/components/Sidebar/Sidebar.js new file mode 100644 index 0000000..068f23b --- /dev/null +++ b/src/client/view/components/Sidebar/Sidebar.js @@ -0,0 +1,44 @@ +import React from 'react'; +import { withStyles } from '@material-ui/core/styles'; +import Drawer from '@material-ui/core/Drawer'; +import styles from './styles'; +import { Toolbar } from '@material-ui/core'; +import Hidden from '@material-ui/core/Hidden'; +import Typography from '@material-ui/core/Typography'; + +const { TITLE } = require('../../../../variables'); + +class Sidebar extends React.Component { + render() { + const { classes, theme, children = null, drawerOpen, handleDrawerToggle } = this.props; + return ; + } +} + +export default withStyles(styles, { withTheme: true })(Sidebar); diff --git a/src/client/view/components/Sidebar/styles.js b/src/client/view/components/Sidebar/styles.js new file mode 100644 index 0000000..137d1e8 --- /dev/null +++ b/src/client/view/components/Sidebar/styles.js @@ -0,0 +1,17 @@ +/* eslint-disable no-unused-vars */ +const drawerWidth = 275; + +export default theme => ({ + drawer: { + width: drawerWidth, + border: 'none', + }, + flex: { + flexGrow: 1, + }, + logoIcon: { + height: 25, + width: 25, + marginRight: 10, + }, +}); diff --git a/src/client/view/components/SidebarContent/RightSidebarContent.js b/src/client/view/components/SidebarContent/RightSidebarContent.js new file mode 100644 index 0000000..62f48cd --- /dev/null +++ b/src/client/view/components/SidebarContent/RightSidebarContent.js @@ -0,0 +1,19 @@ +import React, { Component } from 'react'; +import { withStyles } from '@material-ui/core/styles'; +import PayButton from '../PayButton/PayButton'; +import SocialLinks from '../SocialLinks/SocialLinks'; +import styles from './styles'; +import CopyRight from '../CopyRight/CopyRight'; + +class RightSidebarContent extends Component { + render() { + const { classes } = this.props; + return
    +
    + + +
    ; + } +} + +export default withStyles(styles, { withTheme: true })(RightSidebarContent); \ No newline at end of file diff --git a/src/client/view/components/SidebarContent/SidebarContent.js b/src/client/view/components/SidebarContent/SidebarContent.js new file mode 100644 index 0000000..4cdeb60 --- /dev/null +++ b/src/client/view/components/SidebarContent/SidebarContent.js @@ -0,0 +1,39 @@ +import React, { Component } from 'react'; +import { withStyles } from '@material-ui/core/styles'; +import ListItem from '@material-ui/core/ListItem'; +import ListItemText from '@material-ui/core/ListItemText'; +import NestedList from '../NestedList/NestedList'; + +const list = require('../../../list'); +import styles from './styles'; + +class SidebarContent extends Component { + state = { + selectedList: -1, + selectedListItem: -1, + } + onSelect(i, j) { + this.setState({ + selectedList: i, + selectedListItem: j, + }) + } + isSelected(i, j, title) { + const { selectedList, selectedListItem } = this.state; + return (i === selectedList && j === selectedListItem) || this.props.selectedListItem === title; + } + render() { + const { classes, selectedList, onLinkClick } = this.props; + + return
    + {/* eslint-disable-next-line no-magic-numbers */} + {list.slice(1).map((item, i) => item.links.length ? + {item.links.map((link, j) => this.onSelect(i, j, link.title)} className={this.isSelected(i, j, link.title) ? classes.activeListItem : classes.nestedListItem} href={link.route}> + + )} + : null)} +
    ; + } +} + +export default withStyles(styles, { withTheme: true })(SidebarContent); \ No newline at end of file diff --git a/src/client/view/components/SidebarContent/styles.js b/src/client/view/components/SidebarContent/styles.js new file mode 100644 index 0000000..ca66bf4 --- /dev/null +++ b/src/client/view/components/SidebarContent/styles.js @@ -0,0 +1,27 @@ +export default theme => ({ + root: { + marginBottom: 100, + borderTop: `solid 1px #e9ebee`, + [theme.breakpoints.up('md')]: { + marginTop: -15, + }, + }, + nestedListItem: { + paddingLeft: 30, + padding: 3, + }, + activeListItem: { + padding: 3, + paddingLeft: 25, + borderLeft: `solid 5px`, + background: theme.background.primary, + }, + fixed: { + position: 'fixed', + top: 65, + }, + payButton: { + width: 250, + marginBottom: 15, + }, +}); \ No newline at end of file diff --git a/src/client/view/components/SocialLinks/SocialLinks.js b/src/client/view/components/SocialLinks/SocialLinks.js new file mode 100644 index 0000000..5420007 --- /dev/null +++ b/src/client/view/components/SocialLinks/SocialLinks.js @@ -0,0 +1,48 @@ +import React, { Component } from 'react'; +import { Link } from '@material-ui/core'; +import { withStyles } from '@material-ui/core/styles'; +import InstagramIcon from '@material-ui/icons/Instagram'; +import FacebookIcon from '@material-ui/icons/Facebook'; +import EmailIcon from '@material-ui/icons/Email'; +import LinkedInIcon from '@material-ui/icons/LinkedIn'; +import YouTubeIcon from '@material-ui/icons/YouTube'; +import TwitterIcon from '@material-ui/icons/Twitter'; + +import { + INSTAGRAMLINK, + FACEBOOKLINK, + LINKEDINLINK, + YOUTUBELINK, + TWITTERLINK, + EMAIL, +} from '../../../../variables'; + +import styles from './styles'; + +class SocialLinks extends Component { + render() { + const { classes } = this.props; + return
    + + window.location = INSTAGRAMLINK} /> + + + window.location = FACEBOOKLINK} /> + + + window.location = LINKEDINLINK} /> + + + window.location = YOUTUBELINK} /> + + + window.location = TWITTERLINK} /> + + + window.location = `mailto:${EMAIL}`} /> + +
    ; + } +} + +export default withStyles(styles, { withTheme: true })(SocialLinks); \ No newline at end of file diff --git a/src/client/view/components/SocialLinks/styles.js b/src/client/view/components/SocialLinks/styles.js new file mode 100644 index 0000000..294295f --- /dev/null +++ b/src/client/view/components/SocialLinks/styles.js @@ -0,0 +1,17 @@ +export default () => ({ + social: { + width: 250, + margin: 'auto', + marginTop: 10, + marginBottom: 10, + display: 'flex', + justifyContent: 'space-evenly', + }, + socialLink: { + // marginRight: 8, + }, + socialIcon: { + height: 35, + width: 35, + }, +}); \ No newline at end of file diff --git a/src/client/view/components/Toolbar/Toolbar.js b/src/client/view/components/Toolbar/Toolbar.js new file mode 100644 index 0000000..e674a14 --- /dev/null +++ b/src/client/view/components/Toolbar/Toolbar.js @@ -0,0 +1,9 @@ +import React from 'react'; +import Toolbar from '@material-ui/core/Toolbar'; +import { withStyles } from '@material-ui/core/styles'; + +import styles from './styles'; + +const MyToolbar = ({ classes }) => ; + +export default withStyles(styles, { withTheme: true })(MyToolbar); diff --git a/src/client/view/components/Toolbar/styles.js b/src/client/view/components/Toolbar/styles.js new file mode 100644 index 0000000..00eeffb --- /dev/null +++ b/src/client/view/components/Toolbar/styles.js @@ -0,0 +1,12 @@ +export default theme => ({ + toolBar: { + minHeight: 50, + marginLeft: 0, + [theme.breakpoints.down('sm')]: { + marginLeft: -20, + }, + [theme.breakpoints.down('xs')]: { + marginLeft: -12, + }, + }, +}); diff --git a/src/client/view/pages/Home/Home.js b/src/client/view/pages/Home/Home.js new file mode 100644 index 0000000..171c4e8 --- /dev/null +++ b/src/client/view/pages/Home/Home.js @@ -0,0 +1,65 @@ +import React, { Component } from 'react'; +import { connect } from 'react-redux'; + +import ErrorMessage from '../../components/ErrorMessage/ErrorMessage'; +import Post from '../../components/Post/Post'; +import FullpageLoader from '../../components/FullpageLoader/FullpageLoader'; +import MetaTags from '../../components/MetaTags/MetaTags'; +import Navigation from '../../components/Navigation/Navigation'; + +import { setMessage, checkPayment, getContent } from '../../../data/app/appActions'; +import { getMetaTags, getLinks } from '../../../utils/custom'; + +class Page extends Component { + state = { + metaTags: this.getMetaTags(), + } + getMetaTags() { + const { match: { params: { folder = 'home', subfolder = 'home', post = 'home' } } } = this.props; + return getMetaTags(folder, subfolder, post); + } + componentDidMount() { + const { checkPayment } = this.props; + checkPayment(); + this.getContent(); + } + componentDidUpdate(prevProps) { + const { match: { params: { post } } } = this.props; + const { match: { params: { post: prevPost } } } = prevProps; + if (post !== prevPost) { + this.setState({ drawerOpen: false }); + this.getContent(); + } + } + getContent() { + const { match: { params: { folder, subfolder, post } }, getContent } = this.props; + getContent(folder, subfolder, post); + } + handleErrorClose() { + const { setMessage } = this.props; + setMessage(null); + } + render() { + const { app: { content, error, message }, match: { params: { folder = 'home', subfolder = 'home', post = 'home' } } } = this.props; + const { metaTags } = this.state; + + return
    + + {message && message.message && } + {!error && !content[`${folder}/${subfolder}/${post}`] && } + {content[`${folder}/${subfolder}/${post}`] && + {content[`${folder}/${subfolder}/${post}`]} + + } +
    ; + } +} + +const mapStateToProps = state => state; +const mapDispatchToProps = dispatch => ({ + setMessage: () => dispatch(setMessage()), + checkPayment: () => dispatch(checkPayment()), + getContent: (folder, subfolder, post) => dispatch(getContent(folder, subfolder, post)), +}); + +export default connect(mapStateToProps, mapDispatchToProps)(Page); \ No newline at end of file diff --git a/src/server/app.js b/src/server/app.js new file mode 100644 index 0000000..17bc897 --- /dev/null +++ b/src/server/app.js @@ -0,0 +1,70 @@ +/* eslint-disable no-magic-numbers */ + +import 'ignore-styles'; +import express from 'express'; +import React from 'react'; +import ReactDOMServer from 'react-dom/server'; +import { ServerStyleSheets, ThemeProvider } from '@material-ui/styles'; +import { Provider as ReduxProvider } from 'react-redux'; +import bodyParser from 'body-parser'; +import fs from 'fs'; + +import AppShell from '../client/view/components/AppShell/AppShell'; + +import theme from '../theme'; +import store from '../client/data/store'; +import { getMetaTags } from '../client/utils/custom'; +import { renderFullPage, genchecksum } from './utils'; + +const cors = require('cors')({ origin: true }); + +const app = express(); + +app.use(bodyParser.urlencoded({ extended: false })); +app.use(bodyParser.json()); +app.use(cors); + +if (process.env.NODE_ENV === 'development') { + app.use(express.static('_dist')); +} + +app.options('*', cors); + +app.post('/paymentprocess', (req, res) => { + if (req.body.STATUS && req.body.STATUS === 'TXN_SUCCESS') { + return res.redirect(302, '/?payment=true'); + } + return res.redirect(302, '/?payment=false'); +}); + +app.post('/checksum', (req, res) => { + genchecksum(req.body, process.env.KEY, cs => res.send(cs)); +}); + +app.get('/data', (req, res) => { + const { folder, subfolder, post } = req.query; + var file = fs.readFileSync(`./posts/${folder}/${subfolder}/${post}.md`, 'utf8'); + res.set('Content-type', 'text/plain'); + res.send(file.toString()); +}); + +app.get('**', (req, res) => { + const sheets = new ServerStyleSheets(); + const html = ReactDOMServer.renderToString( + sheets.collect( + + + + + , + ), + ); + + const css = sheets.toString().replace(/\n/g, " "); + const reqPath = req.originalUrl.split('/').slice(2); + const { title, ogTitle, description, ogDescription, ogUrl, ogImage } = getMetaTags(...reqPath); + const content = renderFullPage(html, css, title, ogTitle, ogUrl, description, ogDescription, ogImage); + res.send(content); +}); + +export default app; \ No newline at end of file diff --git a/src/server/dev.js b/src/server/dev.js new file mode 100644 index 0000000..feb1832 --- /dev/null +++ b/src/server/dev.js @@ -0,0 +1,9 @@ +/* eslint-disable no-magic-numbers */ +/* eslint-disable-next-line no-console */ + +import app from './app'; + +const port = process.env.PORT || 5000; + +app.listen(port); +console.log(`SERVER: Listening on port ${port}`); diff --git a/src/server/mock.js b/src/server/mock.js new file mode 100644 index 0000000..8e67499 --- /dev/null +++ b/src/server/mock.js @@ -0,0 +1,34 @@ +/* eslint-disable no-magic-numbers */ +const express = require('express'); +const bodyParser = require('body-parser'); +const fs = require('fs'); +// eslint-disable-next-line no-magic-numbers +const port = process.env.PORT || 5000; +const app = express(); + +app.use(bodyParser.urlencoded({ extended: false })); +app.use(bodyParser.json()); + +app.post('/checksum', (req, res) => { + res.send("3817iH3IQV2/tYwCJ7Mwn2/Zkw+mpmivoXGuxnFVWyYxtVHCjOQvjjcfD1dte7JhD0xMz1CCH/BAaoTqdv4QlHLTfJlzTs/OI2BH4wd4D8g="); +}); + +app.post('/paymentprocess', (req, res) => { + if(req.body.STATUS && req.body.STATUS === 'TXN_SUCCESS') { + return res.redirect(302, '/?payment=true'); + } + return res.redirect(302, '/?payment=false'); +}); + +app.get('/data', (req, res) => { + const { folder, subfolder, post } = req.query; + var file = fs.readFileSync(`./posts/${folder}/${subfolder}/${post}.md`, 'utf8'); + res.set('Content-type', 'text/plain'); + // eslint-disable-next-line global-require + res.send(file.toString()); +}); + +app.listen(port); + +// eslint-disable-next-line no-console +console.log(`SERVER: Listening on port ${port}`); \ No newline at end of file diff --git a/src/server/prod.js b/src/server/prod.js new file mode 100644 index 0000000..cfce606 --- /dev/null +++ b/src/server/prod.js @@ -0,0 +1,4 @@ +import * as functions from 'firebase-functions'; +import app from './app'; + +export let ssrApp = functions.https.onRequest(app); \ No newline at end of file diff --git a/src/server/utils.js b/src/server/utils.js new file mode 100644 index 0000000..93191d7 --- /dev/null +++ b/src/server/utils.js @@ -0,0 +1,81 @@ +/* eslint-disable no-magic-numbers */ +import fs from 'fs'; +import crypto from 'crypto'; +import moment from 'moment'; + +const { THEME_COLOR, AUTHOR, KEYWORDS, OG_IMAGE_ALT, OG_TYPE, OG_FB_APP_ID } = require('../../src/variables'); +const template = fs.readFileSync('./templates/server.html', 'utf8'); + +export const renderFullPage = (html, css, title, ogTitle, ogUrl, description, ogDescription, ogImage) => template + .replace('', html) + .replace('/* css here */', css) + // variables + .replace('', title) + .replace('', ogTitle) + .replace('', ogUrl) + .replace('', description) + .replace('', ogDescription) + .replace('', ogImage) + // constants + .replace('', AUTHOR) + .replace('', KEYWORDS) + .replace('', OG_TYPE) + .replace('', OG_IMAGE_ALT) + .replace('', THEME_COLOR) + .replace('', OG_FB_APP_ID) + .replace('', moment().format('YYYY-MM-DD')); + +// Paytm + +const paramsToString = params => { + var data = ''; + var tempKeys = Object.keys(params); + tempKeys.sort(); + tempKeys.forEach(key => { + data += params[key] + '|'; + }); + return data; +}; + +const encrypt = (data, key) => { + var iv = '@@@@&&&&####$$$$'; + var algo = '256'; + switch (key.length) { + case 16: + algo = '128'; + break; + case 24: + algo = '192'; + break; + case 32: + algo = '256'; + break; + } + + var cipher = crypto.createCipheriv('AES-' + algo + '-CBC', key, iv); + var encrypted = cipher.update(data, 'binary', 'base64'); + encrypted += cipher.final('base64'); + return encrypted; +}; + +const genSalt = (length, cb) => { + crypto.randomBytes((length * 3.0) / 4.0, (err, buf) => { + var salt; + if (!err) { + salt = buf.toString("base64"); + } + cb(err, salt); + }); +}; + +export const genchecksum = (params, key, cb) => { + var data = paramsToString(params); + let encrypted; + // eslint-disable-next-line handle-callback-err + genSalt(4, function (err, salt) { + var sha256 = crypto.createHash('sha256').update(data + salt).digest('hex'); + var checkSum = sha256 + salt; + encrypted = encrypt(checkSum, key); + cb(encrypted); + }); +}; \ No newline at end of file diff --git a/src/theme.js b/src/theme.js new file mode 100644 index 0000000..1a48c0c --- /dev/null +++ b/src/theme.js @@ -0,0 +1,25 @@ +import { createMuiTheme } from '@material-ui/core/styles'; +import secondary from '@material-ui/core/colors/pink'; +import tertiary from '@material-ui/core/colors/indigo'; + +export default createMuiTheme({ + palette: { + primary: { + main: '#000', + }, + secondary, + tertiary: tertiary['800'], + }, + background: { + primary: '#eceff1', + secondary, + }, + typography: { + fontSize: 13, + fontFamily: "Ubuntu, sans-serif, Verdana, 'Trebuchet MS', 'Tahoma'", + fontWeightLight: 300, + fontWeightRegular: 400, + fontWeightMedium: 500, + useNextVariants: true, + }, +}); diff --git a/src/variables.js b/src/variables.js new file mode 100644 index 0000000..34719e1 --- /dev/null +++ b/src/variables.js @@ -0,0 +1,110 @@ +const list = require('./client/list'); + +const TIMESTAMP = new Date().getTime(); +const SHORT_NAME = ''; +const TITLE = ''; +const AUTHOR = 'Sreeram Padmanabhan'; +const DESCRIPTION = 'Isomorphic PWA Boilerplate for Firebase'; +const SHORT_DESCRIPTION = 'IPWFA'; +const DOMAIN = "https://jsdrome.web.app"; // (without trailing slash) +const URL = DOMAIN; +const STAGE_URL = 'https://jsdrome-test.web.app'; // (without trailing slash) +const THEME_COLOR = '#ffffff'; + +const MANIFEST_SEED = { + 'short_name': SHORT_NAME, + 'name': TITLE, + 'start_url': '/', + 'background_color': THEME_COLOR, + 'display': 'standalone', + 'theme_color': THEME_COLOR, + "icons": [ + { + "src": "/img/logo-192.png", + "type": "image/png", + "sizes": "192x192", + }, + { + "src": "/img/logo-512.png", + "type": "image/png", + "sizes": "512x512", + }, + ], +}; +const OG_IMAGE = DOMAIN + '/img/og_image.jpg'; +const OG_IMAGE_ALT = TITLE; +const OG_TYPE = 'website'; +const OG_FB_APP_ID = '297023651089707'; // Your facebook app id for facebook likes etc. +const PAYTM_TEST = { + amount: 75, + merchantId: 'lfBFyS02396274370168', // Your paytm merchant test id + website: "WEBSTAGING", + orderId: TIMESTAMP, + customerId: `${TITLE}-${TIMESTAMP}`, + email: '-', + phone: '-', + industryTypeId: "Retail", + channelId: "WEB", + callbackUrl: `http://localhost:9000/paymentprocess`, + url: `https://securegw-stage.paytm.in/theia/processTransaction?ORDER_ID=${TIMESTAMP}`, +}; +const PAYTM_PROD = { + amount: 75, + merchantId: 'lzSXOq48634307639622', // your paytm prod test id + website: "DEFAULT", + orderId: TIMESTAMP, + customerId: `${TITLE}-${TIMESTAMP}`, + email: '-', + phone: '-', + industryTypeId: "Retail", + channelId: "WEB", + callbackUrl: `${DOMAIN}/paymentprocess`, + url: `https://securegw.paytm.in/theia/processTransaction?ORDER_ID=${TIMESTAMP}`, +}; +const KEYWORDS = (() => { + let keywords = []; + list.forEach(topic => { + keywords.concat(topic.keywords); + }); + return keywords.join(','); +})(); + +const PATHS = (() => { + let paths = []; + // eslint-disable-next-line no-magic-numbers + list.slice(1).forEach(topic => { + topic.links.forEach(link => { + // eslint-disable-next-line no-magic-numbers + paths.push(link.route); + }); + }); + return paths; +})(); + +module.exports = { + TIMESTAMP, + SHORT_NAME, + TITLE, + AUTHOR, + DESCRIPTION, + SHORT_DESCRIPTION, + DOMAIN, + URL, + STAGE_URL, + MANIFEST_SEED, + OG_IMAGE, + OG_IMAGE_ALT, + OG_TYPE, + OG_FB_APP_ID, + PAYTM_TEST, + PAYTM_PROD, + KEYWORDS, + PATHS, + THEME_COLOR, + INSTAGRAMLINK: 'https://instagram.com/sreeramofficial', + FACEBOOKLINK: 'https://facebook.com/sreeram.io', + LINKEDINLINK: 'https://www.linkedin.com/in/sreeramofficial/', + YOUTUBELINK: 'https://www.youtube.com/channel/UCBi39XFUKrqJtuN3DoKLDlg?view_as=subscriber', + TWITTERLINK: 'https://twitter.com/in/sreeramofficial', + EMAIL: 'me@sreeram.app', +}; \ No newline at end of file diff --git a/templates/client.html b/templates/client.html new file mode 100644 index 0000000..8e03a40 --- /dev/null +++ b/templates/client.html @@ -0,0 +1,95 @@ + + + + + + + +
    + + \ No newline at end of file diff --git a/templates/privacy.html b/templates/privacy.html new file mode 100644 index 0000000..4457ca1 --- /dev/null +++ b/templates/privacy.html @@ -0,0 +1,121 @@ +

    Privacy Policy

    + + +

    Effective date: December 14, 2018

    + + +

    jsDrome App ("us", "we", or "our") operates the https://jsDrome.web.app website and the jsDrome App mobile application (the "Service").

    + +

    This page informs you of our policies regarding the collection, use, and disclosure of personal data when you use our Service and the choices you have associated with that data. Our Privacy Policy for jsDrome App is based on the Free Privacy Policy Template Website.

    + +

    We use your data to provide and improve the Service. By using the Service, you agree to the collection and use of information in accordance with this policy. Unless otherwise defined in this Privacy Policy, terms used in this Privacy Policy have the same meanings as in our Terms and Conditions.

    + + +

    Information Collection And Use

    + +

    We collect several different types of information for various purposes to provide and improve our Service to you.

    + +

    Types of Data Collected

    + +

    Personal Data

    + +

    While using our Service, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you ("Personal Data"). Personally identifiable information may include, but is not limited to:

    + +
      +
    • Email address
    • First name and last name
    • Cookies and Usage Data
    • +
    + +

    Usage Data

    + +

    We may also collect information that your browser sends whenever you visit our Service or when you access the Service by or through a mobile device ("Usage Data").

    +

    This Usage Data may include information such as your computer's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that you visit, the time and date of your visit, the time spent on those pages, unique device identifiers and other diagnostic data.

    +

    When you access the Service by or through a mobile device, this Usage Data may include information such as the type of mobile device you use, your mobile device unique ID, the IP address of your mobile device, your mobile operating system, the type of mobile Internet browser you use, unique device identifiers and other diagnostic data.

    + +

    Tracking & Cookies Data

    +

    We use cookies and similar tracking technologies to track the activity on our Service and hold certain information.

    +

    Cookies are files with small amount of data which may include an anonymous unique identifier. Cookies are sent to your browser from a website and stored on your device. Tracking technologies also used are beacons, tags, and scripts to collect and track information and to improve and analyze our Service.

    +

    You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. However, if you do not accept cookies, you may not be able to use some portions of our Service.

    +

    Examples of Cookies we use:

    +
      +
    • Session Cookies. We use Session Cookies to operate our Service.
    • +
    • Preference Cookies. We use Preference Cookies to remember your preferences and various settings.
    • +
    • Security Cookies. We use Security Cookies for security purposes.
    • +
    + +

    Use of Data

    + +

    jsDrome App uses the collected data for various purposes:

    +
      +
    • To provide and maintain the Service
    • +
    • To notify you about changes to our Service
    • +
    • To allow you to participate in interactive features of our Service when you choose to do so
    • +
    • To provide customer care and support
    • +
    • To provide analysis or valuable information so that we can improve the Service
    • +
    • To monitor the usage of the Service
    • +
    • To detect, prevent and address technical issues
    • +
    + +

    Transfer Of Data

    +

    Your information, including Personal Data, may be transferred to — and maintained on — computers located outside of your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from your jurisdiction.

    +

    If you are located outside United Kingdom and choose to provide information to us, please note that we transfer the data, including Personal Data, to United Kingdom and process it there.

    +

    Your consent to this Privacy Policy followed by your submission of such information represents your agreement to that transfer.

    +

    jsDrome App will take all steps reasonably necessary to ensure that your data is treated securely and in accordance with this Privacy Policy and no transfer of your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of your data and other personal information.

    + +

    Disclosure Of Data

    + +

    Legal Requirements

    +

    jsDrome App may disclose your Personal Data in the good faith belief that such action is necessary to:

    +
      +
    • To comply with a legal obligation
    • +
    • To protect and defend the rights or property of jsDrome App
    • +
    • To prevent or investigate possible wrongdoing in connection with the Service
    • +
    • To protect the personal safety of users of the Service or the public
    • +
    • To protect against legal liability
    • +
    + +

    Security Of Data

    +

    The security of your data is important to us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While we strive to use commercially acceptable means to protect your Personal Data, we cannot guarantee its absolute security.

    + +

    Service Providers

    +

    We may employ third party companies and individuals to facilitate our Service ("Service Providers"), to provide the Service on our behalf, to perform Service-related services or to assist us in analyzing how our Service is used.

    +

    These third parties have access to your Personal Data only to perform these tasks on our behalf and are obligated not to disclose or use it for any other purpose.

    + +

    Analytics

    +

    We may use third-party Service Providers to monitor and analyze the use of our Service.

    +
      +
    • +

      Google Analytics

      +

      Google Analytics is a web analytics service offered by Google that tracks and reports website traffic. Google uses the data collected to track and monitor the use of our Service. This data is shared with other Google services. Google may use the collected data to contextualize and personalize the ads of its own advertising network.

      +

      For more information on the privacy practices of Google, please visit the Google Privacy & Terms web page: https://policies.google.com/privacy?hl=en

      +
    • +
    • +

      Firebase

      +

      Firebase is analytics service provided by Google Inc.

      +

      You may opt-out of certain Firebase features through your mobile device settings, such as your device advertising settings or by following the instructions provided by Google in their Privacy Policy: https://policies.google.com/privacy?hl=en

      +

      We also encourage you to review the Google's policy for safeguarding your data: https://support.google.com/analytics/answer/6004245. For more information on what type of information Firebase collects, please visit please visit the Google Privacy & Terms web page: https://policies.google.com/privacy?hl=en

      +
    • +
    + + +

    Links To Other Sites

    +

    Our Service may contain links to other sites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy of every site you visit.

    +

    We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.

    + + +

    Children's Privacy

    +

    Our Service does not address anyone under the age of 18 ("Children").

    +

    We do not knowingly collect personally identifiable information from anyone under the age of 18. If you are a parent or guardian and you are aware that your Children has provided us with Personal Data, please contact us. If we become aware that we have collected Personal Data from children without verification of parental consent, we take steps to remove that information from our servers.

    + + +

    Changes To This Privacy Policy

    +

    We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page.

    +

    We will let you know via email and/or a prominent notice on our Service, prior to the change becoming effective and update the "effective date" at the top of this Privacy Policy.

    +

    You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.

    + + +

    Contact Us

    +

    If you have any questions about this Privacy Policy, please contact us:

    +
      +
    • By email: me@sreeram.app
    • + +
    \ No newline at end of file diff --git a/templates/server.html b/templates/server.html new file mode 100644 index 0000000..fd51c9f --- /dev/null +++ b/templates/server.html @@ -0,0 +1,132 @@ + + + + + + + + + + + <!--title here--> + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + \ No newline at end of file diff --git a/templates/test.html b/templates/test.html new file mode 100644 index 0000000..e2fcc54 --- /dev/null +++ b/templates/test.html @@ -0,0 +1 @@ +
    diff --git a/webpack/optimization.js b/webpack/optimization.js new file mode 100644 index 0000000..94f9df1 --- /dev/null +++ b/webpack/optimization.js @@ -0,0 +1,18 @@ +module.exports = { + runtimeChunk: 'single', + splitChunks: { + chunks: 'all', + // maxInitialRequests: Infinity, + // minSize: 0, + // cacheGroups: { + // vendor: { + // test: /[\\/]node_modules[\\/]/, + // name(module) { + // const index = 1; + // const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[index]; + // return `npm/npm-${packageName.replace('@', '')}`; + // }, + // }, + // }, + }, +}; \ No newline at end of file diff --git a/webpack/webpack.client.common.js b/webpack/webpack.client.common.js new file mode 100644 index 0000000..77326ea --- /dev/null +++ b/webpack/webpack.client.common.js @@ -0,0 +1,69 @@ +const path = require('path'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); +const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; +const Visualizer = require('webpack-visualizer-plugin'); +const ManifestPlugin = require('webpack-manifest-plugin'); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const RobotstxtPlugin = require("robotstxt-webpack-plugin"); +const SitemapPlugin = require('sitemap-webpack-plugin').default; + +const optimization = require('./optimization'); + +const { URL, MANIFEST_SEED, PATHS } = require('../src/variables'); + +module.exports = { + entry: { + app: ['babel-polyfill', './src/client/index.js', ], + vendor: ['react-dom'], + }, + output: { + path: path.resolve(__dirname, '../_dist'), + filename: '[name].bundle.js', + publicPath: '/', + }, + module: { + rules: [ + { + test: /\.js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + }, + }, + { + test: /\.(sa|sc|c)ss$/, + use: [ + MiniCssExtractPlugin.loader, + 'css-loader', + 'sass-loader', + ], + }, + { test: /\.(svg|png|jpg|jpeg|gif|ico|webp)$/, loader: 'file-loader', options: { name: 'img/[name].[ext]' } }, + { test: /\.md$/, exclude: /node_modules/, use: { loader: 'raw-loader' } }, + ], + }, + plugins: [ + new BundleAnalyzerPlugin({ + openAnalyzer: false, + analyzerMode: 'static', + reportFilename: 'bundle.html', + }), + new Visualizer({ + filename: 'visualizer.html', + }), + new CleanWebpackPlugin(), + new ManifestPlugin({ + seed: MANIFEST_SEED, + }), + new MiniCssExtractPlugin({ + filename: "css/[name].css", + chunkFilename: "css/[id].css", + }), + new RobotstxtPlugin(), + new SitemapPlugin(URL, PATHS, { + skipGzip: true + }), + ], + optimization, + target: 'web', +}; \ No newline at end of file diff --git a/webpack/webpack.client.dev.js b/webpack/webpack.client.dev.js new file mode 100644 index 0000000..c4c4286 --- /dev/null +++ b/webpack/webpack.client.dev.js @@ -0,0 +1,33 @@ +const webpack = require('webpack'); +const path = require('path'); +const merge = require('webpack-merge'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const commonConfig = require('./webpack.client.common'); + +module.exports = merge(commonConfig, { + mode: 'development', + devServer: { + contentBase: './_dist', + port: 9000, + compress: true, + hot: true, + historyApiFallback: true, + proxy: { + '/checksum': 'http://localhost:5000', + '/data': 'http://localhost:5000', + '/paymentprocess': 'http://localhost:5000', + }, + }, + devtool: 'inline-source-map', + plugins: [ + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify('development'), + } + }), + new HtmlWebpackPlugin({ + title: 'Development', + template: './templates/client.html', + }), + ], +}); \ No newline at end of file diff --git a/webpack/webpack.client.prod.js b/webpack/webpack.client.prod.js new file mode 100644 index 0000000..7cbaabc --- /dev/null +++ b/webpack/webpack.client.prod.js @@ -0,0 +1,36 @@ +const webpack = require('webpack'); +const merge = require('webpack-merge'); +const WorkboxPlugin = require('workbox-webpack-plugin'); +const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin"); +const CopyWebpackPlugin = require('copy-webpack-plugin'); +const commonConfig = require('./webpack.client.common'); + +module.exports = merge(commonConfig, { + mode: 'production', + plugins: [ + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify('production'), + } + }), + new WorkboxPlugin.GenerateSW({ + clientsClaim: true, + skipWaiting: true, + precacheManifestFilename: 'wb-manifest.[manifestHash].js', + templatedURLs: { + '/': '/', + '/post': '/', + }, + navigateFallback: '/', + }), + new OptimizeCSSAssetsPlugin({ + assetNameRegExp: /\.css$/g, + cssProcessorPluginOptions: { + preset: [ 'default', { discardComments: { removeAll: true } } ], + }, + }), + new CopyWebpackPlugin([ + { from: 'templates/privacy.html' }, + ]), + ] +}); \ No newline at end of file diff --git a/webpack/webpack.config.js b/webpack/webpack.config.js new file mode 100644 index 0000000..d49c17b --- /dev/null +++ b/webpack/webpack.config.js @@ -0,0 +1 @@ +module.exports = env => require(`./webpack.${env}.js`); \ No newline at end of file diff --git a/webpack/webpack.server.dev.js b/webpack/webpack.server.dev.js new file mode 100644 index 0000000..7fa2321 --- /dev/null +++ b/webpack/webpack.server.dev.js @@ -0,0 +1,39 @@ +const path = require('path'); +const nodeExternals = require('webpack-node-externals'); +const CopyPlugin = require('copy-webpack-plugin'); +const webpack = require('webpack'); + +module.exports = { + entry: { + index: ['./src/server/dev.js'], + }, + output: { + path: path.resolve(__dirname, '../src/server'), + libraryTarget: 'commonjs2', + }, + module: { + rules: [ + { + test: /\.js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + }, + }, + ], + }, + target: 'node', + externals: nodeExternals(), + mode: 'development', + plugins: [ + new CopyPlugin([ + { from: 'templates/server.html', to: 'templates/server.html' }, + ]), + new webpack.DefinePlugin({ + 'process.env': { + KEY: JSON.stringify(process.env.PAYTM_TEST_KEY), + NODE_ENV: JSON.stringify('development'), + }, + }), + ], +}; \ No newline at end of file diff --git a/webpack/webpack.server.prod.js b/webpack/webpack.server.prod.js new file mode 100644 index 0000000..c4bd50e --- /dev/null +++ b/webpack/webpack.server.prod.js @@ -0,0 +1,40 @@ +const path = require('path'); +const nodeExternals = require('webpack-node-externals'); +const CopyPlugin = require('copy-webpack-plugin'); +const webpack = require('webpack'); + +module.exports = { + entry: { + index: ['./src/server/prod.js'], + }, + output: { + path: path.resolve(__dirname, '../functions'), + libraryTarget: 'commonjs2', + }, + module: { + rules: [ + { + test: /\.js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + }, + }, + ], + }, + target: 'node', + externals: nodeExternals(), + mode: 'production', + plugins: [ + new CopyPlugin([ + { from: 'templates/server.html', to: 'templates/server.html' }, + { from: 'posts', to: 'posts' }, + ]), + new webpack.DefinePlugin({ + 'process.env': { + KEY: JSON.stringify(process.env.PAYTM_KEY), + NODE_ENV: JSON.stringify('production'), + }, + }), + ], +}; \ No newline at end of file diff --git a/webpack/webpack.test.js b/webpack/webpack.test.js new file mode 100644 index 0000000..609ff30 --- /dev/null +++ b/webpack/webpack.test.js @@ -0,0 +1,34 @@ +module.exports = { + mode: 'development', + devtool: 'none', + module: { + rules: [ + { + test: /\.js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + }, + }, + { + test: /\.(sa|sc|c)ss$/, + use: [ + 'css-loader', + 'sass-loader', + ], + }, + { test: /\.(svg|png|jpg|jpeg|gif|ico|webp)$/, loader: 'file-loader', options: { name: 'img/[name].[ext]' } }, + ], + }, + externals: { + request: { + commonjs: 'request', + commonjs2: 'request', + }, + os: { + commonjs: 'os', + commonjs2: 'os', + }, + process: 'process', + }, +}; \ No newline at end of file