diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000..32d19f8095 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,110 @@ +version: 2 + +defaults: &defaults + docker: + - image: circleci/node:10.19.0 + environment: + JOBS: 1 + working_directory: ~/k6-docs + +jobs: + build: + <<: *defaults + steps: + - checkout + - restore_cache: + keys: + - v1-dependencies-{{ checksum "package.json" }} + # fallback to using the latest cache if no exact match is found + - v1-dependencies- + - run: npm install + - save_cache: + paths: + - node_modules + key: v1-dependencies-{{ checksum "package.json" }} + - persist_to_workspace: + root: . + paths: + - . + + deploy-to-staging: + <<: *defaults + steps: + - attach_workspace: + at: . + - run: + name: Setup Environment Variables + command: | + echo "export GATSBY_GOOGLE_API_KEY=${GATSBY_GOOGLE_API_KEY_STAG}" > $BASH_ENV + echo "export GATSBY_DRIFT_API=${GATSBY_DRIFT_API_STAG}" >> $BASH_ENV + echo "export GATSBY_DEFAULT_MAIN_URL=https://${MAIN_URL_STAG}" >> $BASH_ENV + echo "export GATSBY_DEFAULT_DOC_URL=https://${MAIN_URL_STAG}/docs" >> $BASH_ENV + echo "export GATSBY_DEFAULT_BLOG_URL=https://${MAIN_URL_STAG}/blog" >> $BASH_ENV + echo "export GATSBY_DEFAULT_APP_URL=https://app.${MAIN_URL_STAG}" >> $BASH_ENV + echo "export BUCKET_NAME=${BUCKET_NAME_STAG}" >> $BASH_ENV + echo "export BUCKET_REGION=${BUCKET_REGION_STAG}" >> $BASH_ENV + echo "export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID_STAG}" >> $BASH_ENV + echo "export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY_STAG}" >> $BASH_ENV + echo "export AWS_CLOUDFRONT_DISTRIBUTION_ID=${AWS_CLOUDFRONT_DISTRIBUTION_ID_STAG}" >> $BASH_ENV + echo "export GATSBY_ALGOLIA_APP_ID=${GATSBY_ALGOLIA_APP_ID_STAG}" >> $BASH_ENV + echo "export GATSBY_ALGOLIA_INDEX_NAME=${GATSBY_ALGOLIA_INDEX_NAME_STAG}" >> $BASH_ENV + echo "export GATSBY_ALGOLIA_SEARCH_ONLY_KEY=${GATSBY_ALGOLIA_SEARCH_ONLY_KEY_STAG}" >> $BASH_ENV + echo "export ALGOLIA_ADMIN_KEY=${ALGOLIA_ADMIN_KEY_STAG}" >> $BASH_ENV + - run: sudo apt-get update && sudo apt-get -y install python-pip python-dev + - run: sudo pip install awscli + - run: npm run build:gatsby + - run: npm run deploy + + + deploy-to-production: + <<: *defaults + steps: + - attach_workspace: + at: . + - run: + name: Setup Environment Variables + command: | + echo "export GATSBY_GOOGLE_API_KEY=${GATSBY_GOOGLE_API_KEY_PROD}" > $BASH_ENV + echo "export GATSBY_DRIFT_API=${GATSBY_DRIFT_API_PROD}" >> $BASH_ENV + echo "export GATSBY_DEFAULT_MAIN_URL=https://k6.io" >> $BASH_ENV + echo "export GATSBY_DEFAULT_DOC_URL=https://k6.io/docs" >> $BASH_ENV + echo "export GATSBY_DEFAULT_BLOG_URL=https://k6.io/blog" >> $BASH_ENV + echo "export GATSBY_DEFAULT_APP_URL=https://app.k6.io" >> $BASH_ENV + echo "export BUCKET_NAME=${BUCKET_NAME_PROD}" >> $BASH_ENV + echo "export BUCKET_REGION=${BUCKET_REGION_PROD}" >> $BASH_ENV + echo "export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID_PROD}" >> $BASH_ENV + echo "export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY_PROD}" >> $BASH_ENV + echo "export AWS_CLOUDFRONT_DISTRIBUTION_ID=${AWS_CLOUDFRONT_DISTRIBUTION_ID_PROD}" >> $BASH_ENV + echo "export GATSBY_ALGOLIA_APP_ID=${GATSBY_ALGOLIA_APP_ID_PROD}" >> $BASH_ENV + echo "export GATSBY_ALGOLIA_INDEX_NAME=${GATSBY_ALGOLIA_INDEX_NAME_PROD}" >> $BASH_ENV + echo "export GATSBY_ALGOLIA_SEARCH_ONLY_KEY=${GATSBY_ALGOLIA_SEARCH_ONLY_KEY_PROD}" >> $BASH_ENV + echo "export ALGOLIA_ADMIN_KEY=${ALGOLIA_ADMIN_KEY_PROD}" >> $BASH_ENV + - run: sudo apt-get update && sudo apt-get -y install python-pip python-dev + - run: sudo pip install awscli + - run: npm run build:gatsby + - run: npm run deploy + + + +workflows: + version: 2 + build-deploy: + jobs: + - build: + filters: + branches: + only: + - master + - develop + - deploy-to-staging: + requires: + - build + filters: + branches: + only: develop + - deploy-to-production: + requires: + - build + filters: + branches: + only: master \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000000..078cd4de90 --- /dev/null +++ b/.env.example @@ -0,0 +1,13 @@ +GATSBY_DEFAULT_BLOG_URL=https://k6.io/blog +GATSBY_DEFAULT_DOC_URL=http://localhost:8000 +GATSBY_DEFAULT_MAIN_URL=https://k6.io + +GATSBY_ALGOLIA_APP_ID= +GATSBY_ALGOLIA_SEARCH_ONLY_KEY= +GATSBY_ALGOLIA_INDEX_NAME= +ALGOLIA_ADMIN_KEY= +GATSBY_DRIFT_API= + +# leave empty to disable +# true to enable +GATSBY_FEATURE_EDIT_ARTICLE_BTN= \ No newline at end of file diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000000..1011d5498d --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +.cache/ +public/ +node_modules/ diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000000..bea3dfb489 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,63 @@ +{ + "parser": "babel-eslint", + "env": { + "browser": true, + "node": true + }, + "rules": { + "prettier/prettier": ["error"], + "camelcase": 0, + "object-curly-newline": 0, + "operator-linebreak": 0, + "no-shadow": 0, + "max-len": [2, 120], + "react/prop-types": 0, + "react/jsx-curly-brace-presence": [ + 2, + { + "props": "always", + "children": "never" + } + ], + "react/jsx-tag-spacing": [ + 2, + { + "closingSlash": "never", + "beforeSelfClosing": "never", + "afterOpening": "never", + "beforeClosing": "never" + } + ], + "react/jsx-filename-extension": [ + 2, + { + "extensions": [".js"] + } + ], + "react/no-array-index-key": 0, + "react/jsx-one-expression-per-line": 0, + "react/jsx-props-no-spreading": 0, + "react/jsx-wrap-multilines": 0, + "import/order": 0, // TODO: Come up with a solution for this + "import/no-unresolved": [ + 2, + { + "ignore": [ + "components", + "images", + "layouts", + "pages", + "templates", + "styles", + "svg", + "utils" + ] + } + ], + "import/prefer-default-export": 0, + "jsx-a11y/html-has-lang": 0, // We use react-helmet for that + "jsx-a11y/control-has-associated-label": 0 + }, + "extends": ["airbnb", "prettier"], + "plugins": ["prettier"] +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..fa75705108 --- /dev/null +++ b/.gitignore @@ -0,0 +1,78 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Packages +yarn.lock + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# dotenv environment variables file +.env.development +.env.production + +# gatsby files +.cache/ +public + +# Mac files +.DS_Store + +# Yarn +yarn-error.log +.pnp/ +.pnp.js +# Yarn Integrity file +.yarn-integrity + +.idea/ + +.vscode/snipsnap.code-snippets +output \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..29d9d485ea --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +# disable formatting for code snippets +src/data/home-examples/* +src/data/native-automation-instruction/* \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000000..4ff2b8b359 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "trailingComma": "all" +} \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000000..d0bed32106 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting Robin: robin@loadimpact.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..e6e3370451 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,22 @@ +Contributing to the k6 documentation +==================================== + +Thank you for your interest in contributing to k6! + +(ノ◕ヮ◕)ノ*:・゚✧ + +Before you begin, make sure to familiarize yourself with the [Code of Conduct](CODE_OF_CONDUCT.md). If you've previously contributed to other open source project, you may recognize it as the classic [Contributor Covenant](https://contributor-covenant.org/). + +If you want to chat with the team or the community, you can join the [k6 Slack](https://k6.io/slack/) or post a question on the [k6 community forum](https://community.k6.io/). + +## Writing + +The k6 documentation is a Gatsby application using React components and markdown files for the content of the different pages. + +There are two types of pages: Welcome Pages and Documentation articles. + +[Welcome Pages](src/templates/docs) are the pages shown on the header menu: `Guides`, `Javascript API`, `Cloud Docs`, `Integration`, and `Examples`. They are made as separate React Components for maximum customisation. + +Documentation articles are markdown files structured under the [`src/data/markdown/docs`](src/data/markdown/docs) folder. + +If you want to know more about how to edit these pages, read more about the [File format](CONTRIBUTING_FILE_FORMAT.md) \ No newline at end of file diff --git a/CONTRIBUTING_FILE_FORMAT.md b/CONTRIBUTING_FILE_FORMAT.md new file mode 100644 index 0000000000..15eec2b42b --- /dev/null +++ b/CONTRIBUTING_FILE_FORMAT.md @@ -0,0 +1,245 @@ +Contributing File Formats +==================================== + +The k6 documentation is a Gatsby application using React components and markdown files for the content of the different pages. + +There are two types of pages: Welcome Pages and Documentation articles. + +[Welcome Pages](src/templates/docs) are the pages shown on the header menu: `Guides`, `Javascript API`, `Cloud Docs`, `Integration`, and `Examples`. They are made as separate React Components for maximum customisation. + +Documentation articles are markdown files structured under the [`src/data/markdown/docs`](src/data/markdown/docs) folder. + +### Folder structure + +Root folders represent main categories at the top of the page. +Use numbers in front of the folder name to set the order. + +Pattern: {number}{space}{page name} + +Example: 02 Hello world + +![](internal-images/Untitled.png) + +The same pattern used to define orders not only root folderы but also pages(md files) inside the category. + +![](internal-images/Untitled%201.png) + +## Headers + +Use typical ## markdown definition to format headers. + + ## Making HTTP requests + +Make sure you are using '##' which stands for a h2 tag - h1 i*s reserved for the title of a page*, that gets parsed from the frontmatter. Also the navigation box that is being dynamically created on each page based on h2 tags. + +![internal-images/Untitled%202.png](internal-images/Untitled%202.png) + +Use h2 *and only h2 as landmarks*. h3 tag is designed to be used in your blockquote heading, like that: + +![internal-images/Untitled%203.png](internal-images/Untitled%203.png) + +And h4,h5,h6 have no specified styles, therefore will be rendered by default very similar to h1, so you probably do not want to use them, but if there are use cases, please, let us know. + +## Images +Default image syntax for markdown files + + ![Alt field of an image](images/insights-url-table-full.png) + +You have to store images in src/images folder and access them from md files by using relative path. This way allows image-sharp-plugin process your image: compressing, converting and lazy loading. + +If you really have to put there some remote picture, write it like that: + + ![Alt field of an image](https://files.readme.io/9e92efd-insights-url-table-full.png) + +But keep in mind the size of an image on the other side of a link to prevent page overweighting. + + +## Blockquotes + +Here things are getting a bit hairy. It is still default md, so it is perfectly fine to write blockquotes like: + + > ### Docker syntax + > + > When using the `k6` docker image, you can't just give the script name since + > the script file will not be available to the container as it runs. Instead + > you must tell k6 to read `stdin` by passing the file name as `-`. Then you + > pipe the actual file into the container with `<` or equivalent. This will + > cause the file to be redirected into the container and be read by k6. + > + > **Note**: If your script imports other files (JS modules), piping like this + > will not work since the extra files will not be visible inside the container. + > To use modules you need to first mount your host/local directory into the + > Docker container, see [Modules with Docker](https://docs.k6.io/v1.0/docs/modules#section-using-local-modules-with-docker)." + +And you'll get a fine quote block: + +![internal-images/Untitled%204.png](internal-images/Untitled%204.png) + +And, in case of a 'warning' mod for a blockquote, you just add an ⚠️ emoji, like this: + + > ### ⚠️ Docker syntax + > + > When using the `k6` docker image, you can't just give the script name since + > the script file will not be available to the container as it runs. Instead + > you must tell k6 to read `stdin` by passing the file name as `-`. Then you + > pipe the actual file into the container with `<` or equivalent. This will + > cause the file to be redirected into the container and be read by k6. + > + > **Note**: If your script imports other files (JS modules), piping like this + > will not work since the extra files will not be visible inside the container. + > To use modules you need to first mount your host/local directory into the + > Docker container, see [Modules with Docker](https://docs.k6.io/v1.0/docs/modules#section-using-local-modules-with-docker)." + +*Pay attention to those empty lines between md block and a wrapper, they are required to correctly parsing.* + +And our default blockquote will take a form of: + +![internal-images/Untitled%205.png](internal-images/Untitled%205.png) + +At the moment there are only two mods available, default (no wrapper needed) and warning. If you need more, let us know. + +## Code blocks + +So, there are basically three types of code blocks, small ones, headerless ones and headerfull ones, + +that last two have one possible modification - line numbers. + +### Small + +No hardwork required, just wrap your small stuff like keywords in backticks: + + `API_VARIABLE` should be stored under a pillow + +and you are good to go + +![internal-images/Untitled%206.png](internal-images/Untitled%206.png) + +### Headerless + +We are going to write them a bit differently, half-native md, just like blockquotes: + +
+ + ```javascript + for (var id = 1; id <= 100; id++) { + http.get(http.url`http://example.com/posts/${id}`) + } + + // tags.name="http://example.com/posts/${}", + // tags.name="http://example.com/posts/${}" + ``` + +
+ +And, as a result: + +![internal-images/Untitled%207.png](internal-images/Untitled%207.png) + +If we want line numbers to be rendered, we shall adjust our data-props to: + +
+ + ```javascript + for (var id = 1; id <= 100; id++) { + http.get(http.url`http://example.com/posts/${id}`) + } + + // tags.name="http://example.com/posts/${}", + // tags.name="http://example.com/posts/${}" + ``` + +
+ +Here you go: + +![internal-images/Untitled%208.png](internal-images/Untitled%208.png) + +### Headerfull + +Pretty much the same routine as with headerless ones, but one difference in data-props, labels field, but I bet, you already got that: + +
+ + ```javascript + for (var id = 1; id <= 100; id++) { + http.get(http.url`http://example.com/posts/${id}`) + } + + // tags.name="http://example.com/posts/${}", + // tags.name="http://example.com/posts/${}" + ``` + +
+ +![internal-images/Untitled%209.png](internal-images/Untitled%209.png) + +### Multiple tabs + +To be able to switch between different code tabs, we have to repeat the headerfull routine, but extend labels and md code blocks: + +
+ + ```javascript + for (var id = 1; id <= 100; id++) { + http.get(http.url`http://example.com/posts/${id}`) + } + + // tags.name="http://example.com/posts/${}", + // tags.name="http://example.com/posts/${}" + ``` + + ```javascript + for (var id = 1; id <= 100; id++) { + http.get(http.url`http://example.com/posts/${id}`) + } + + // tags.name="http://example.com/posts/${}", + // tags.name="http://example.com/posts/${}" + ``` + + ```javascript + for (var id = 1; id <= 100; id++) { + http.get(http.url`http://example.com/posts/${id}`) + } + + // tags.name="http://example.com/posts/${}", + // tags.name="http://example.com/posts/${}" + ``` + + +
+ +![internal-images/Untitled%2010.png](internal-images/Untitled%2010.png) + +### A little note + + '{"labels": ["Nice code!", "This one is better", "Oh my.."], "lineNumbers": [true, true, true]}' + +Line numbers are optional not for the whole code block, but for each tab. That is why here we have an array of bool. + +## Table data + +In md file it should look like this to be formatted as a table. You could use online markdown tables generator to simplify the process – [https://www.tablesgenerator.com/text_tables](https://www.tablesgenerator.com/text_tables) + + | | | + |-------------------------------------|-------------------------------------| + |[batch()](https://docs.k6.io/docs/batch-requests) | Issue multiple HTTP requests in parallel (like e.g. browsers tend to do) | + |[del()](https://docs.k6.io/docs/del-url-body-params) | Issue an HTTP DELETE request. | + |[get()](https://docs.k6.io/docs/get-url-body-params) | Issue an HTTP GET request. | + |[options()](https://docs.k6.io/docs/options-url-body-params) | Issue an HTTP OPTIONS request. | + |[patch()](https://docs.k6.io/docs/patch-url-body-params) | Issue an HTTP PATCH request. | + |[post()](https://docs.k6.io/docs/post-url-body-params) | Issue an HTTP POST request. | + |[put()](https://docs.k6.io/docs/put-url-body-params) | Issue an HTTP PUT request. | + |[request()](https://docs.k6.io/docs/request-method-url-body-params) | Issue any type of HTTP request. | + +Result: + +![internal-images/Untitled%2011.png](internal-images/Untitled%2011.png) + +## The rest + +The rest of elements you could write as you would in native md. It includes p, ul, ol, em, strong etc. + +## Additional information + +Check out the [project Wiki](https://github.com/loadimpact/k6-docs/wiki) for additional information \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000000..7d6cc3bfad --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# k6 Documentation + +This repo contains the source code of the [k6 documentation](https://k6.io/docs/). + +## Installation + +```bash +git clone git@github.com:loadimpact/k6-docs.git +cd k6-docs +npm install +``` + +## Running + +```bash +npm start +``` + +## Contributing + +Documentation articles are markdown files structured under the [`src/data/markdown/docs`](src/data/markdown/docs) folder. + +The markdown files support a few custom extensions explained on the [File Format Guide](CONTRIBUTING_FILE_FORMAT.md). diff --git a/gatsby-browser.js b/gatsby-browser.js new file mode 100644 index 0000000000..8d3a6114ab --- /dev/null +++ b/gatsby-browser.js @@ -0,0 +1 @@ +require('./src/styles/styles.scss'); diff --git a/gatsby-config.js b/gatsby-config.js new file mode 100644 index 0000000000..0a75c04183 --- /dev/null +++ b/gatsby-config.js @@ -0,0 +1,197 @@ +const queries = require('./src/utils/algolia'); +require('dotenv').config({ + path: `.env.${process.env.NODE_ENV}`, +}); + +const mainURL = process.env.GATSBY_DEFAULT_MAIN_URL; +const isProduction = mainURL === 'https://k6.io'; + +const plugins = [ + 'gatsby-plugin-react-helmet', + { + resolve: `gatsby-plugin-react-helmet-canonical-urls`, + options: { + siteUrl: process.env.GATSBY_DEFAULT_MAIN_URL, + noTrailingSlash: true, + }, + }, + 'gatsby-transformer-sharp', + 'gatsby-plugin-sharp', + 'gatsby-plugin-catch-links', + 'gatsby-plugin-remove-trailing-slashes', + 'gatsby-plugin-resolve-src', + 'gatsby-transformer-json', + { + resolve: 'gatsby-plugin-manifest', + options: { + name: 'k6', + short_name: 'k6', + start_url: '/', + background_color: '#fff', + theme_color: '', + display: 'minimal-ui', + icon: './src/images/favicon.png', + }, + }, + { + resolve: 'gatsby-source-filesystem', + options: { + name: 'data', + path: `${__dirname}/src/data/`, + }, + }, + { + resolve: 'gatsby-source-filesystem', + options: { + name: 'images', + path: `${__dirname}/src/images`, + }, + }, + { + resolve: 'gatsby-source-filesystem', + options: { + name: 'markdown', + path: `${__dirname}/src/data/markdown`, + }, + }, + { + resolve: 'gatsby-transformer-remark', + options: { + plugins: [ + { + resolve: 'gatsby-remark-prismjs', + options: { + showLineNumbers: true, + }, + }, + { + resolve: 'gatsby-remark-relative-images', + }, + { + resolve: 'gatsby-remark-copy-linked-files', + }, + { + resolve: 'gatsby-remark-images', + options: { + maxWidth: 800, + quality: 90, + withWebp: true, + disableBgImage: true, + wrapperStyle: 'margin-left: 0;', + }, + }, + ], + }, + }, + { + resolve: 'gatsby-plugin-prefetch-google-fonts', + options: { + fonts: [ + { + family: 'Roboto Mono', + subsets: ['latin'], + variants: ['300', '400'], + }, + ], + }, + }, + { + resolve: 'gatsby-plugin-sitemap', + options: { + query: ` + { + site { + siteMetadata { + siteUrl + } + } + allSitePage { + edges { + node { + path + } + } + } + }`, + exclude: [ + '/dev-404-page', + '/404', + '/404.html', + '/offline-plugin-app-shell-fallback', + ], + serialize: ({ site, allSitePage }) => + allSitePage.edges.map((edge) => { + const value = site.siteMetadata.siteUrl + edge.node.path; + return { + url: value, + changefreq: 'daily', + priority: 0.7, + }; + }), + }, + }, +]; +if (process.env.GATSBY_DRIFT_API) { + plugins.push({ + resolve: 'local-plugin-drift', + options: { + appId: process.env.GATSBY_DRIFT_API, + }, + }); +} + +if ( + process.env.ALGOLIA_ADMIN_KEY && + process.env.GATSBY_ALGOLIA_APP_ID && + process.env.GATSBY_ALGOLIA_SEARCH_ONLY_KEY +) { + plugins.push({ + resolve: 'gatsby-plugin-algolia', + options: { + appId: process.env.GATSBY_ALGOLIA_APP_ID, + apiKey: process.env.ALGOLIA_ADMIN_KEY, + queries, + chunkSize: 10000, // default: 1000 + }, + }); +} + +if (isProduction) { + plugins.push({ + resolve: 'gatsby-plugin-google-analytics', + options: { + trackingId: 'UA-158196577-1', + head: false, + cookieDomain: 'k6.io', + allowLinker: true, + }, + }); +} + +if (process.env.BUCKET_NAME) { + plugins.push({ + resolve: `gatsby-plugin-s3`, + options: { + bucketName: process.env.BUCKET_NAME, + region: process.env.BUCKET_REGION, + }, + }); +} + +module.exports = { + pathPrefix: `/docs`, + + siteMetadata: { + siteTitle: + 'Docs k6.io - Performance testing for developers, like unit-testing, for performance', // + shortSiteTitle: 'k6', // <title> ending for posts and pages + siteDescription: + 'Docs k6 is an open source developer-centric load and performance regression testing tool for cloud native APIs, microservices and web sites/apps. Tests are written in ES6 JS with support for HTTP/1.1, HTTP/2.0 and WebSocket protocols.', + siteImage: '/images/landscape-icon.png', + siteLanguage: 'en', + siteUrl: process.env.GATSBY_DEFAULT_MAIN_URL, + authorName: 'k6', + authorTwitterAccount: '@k6_io', + }, + plugins, +}; diff --git a/gatsby-node.js b/gatsby-node.js new file mode 100644 index 0000000000..b4e974782c --- /dev/null +++ b/gatsby-node.js @@ -0,0 +1,371 @@ +const utils = require('./src/utils/utils'); +const Path = require('path'); + +// auxilary flag to determine the environment (staging/prod) +const isProduction = process.env.GATSBY_DEFAULT_MAIN_URL === 'https://k6.io'; + +exports.onCreateWebpackConfig = ({ getConfig, actions, stage, loaders }) => { + const { replaceWebpackConfig, setWebpackConfig } = actions; + const existingConfig = getConfig(); + const PRODUCTION = stage !== 'develop'; + const isSSR = stage.includes('html'); + + const rules = existingConfig.module.rules + // .filter( + // rule => + // // Remove default url loader for fonts + // String(rule.test) !== String(/\.(eot|otf|ttf|woff(2)?)(\?.*)?$/), + // ) + .map((rule) => { + if ( + String(rule.test) === + String(/\.(ico|svg|jpg|jpeg|png|gif|webp)(\?.*)?$/) + ) { + return { ...rule, test: /\.(ico|jpg|jpeg|png|gif|webp)(\?.*)?$/ }; + } + + return rule; + }); + + replaceWebpackConfig({ + ...existingConfig, + module: { + ...existingConfig.module, + rules, + }, + }); + + const sassLoader = { + loader: 'sass-loader', + options: { + sourceMap: !PRODUCTION, + implementation: require('sass'), + }, + }; + + const sassResourcesLoader = { + loader: 'sass-resources-loader', + options: { + resources: [ + `${__dirname}/src/styles/variables.scss`, + `${__dirname}/src/styles/mixins.scss`, + ], + }, + }; + + const sassRuleModules = { + test: /\.module\.s(a|c)ss$/, + use: [ + !isSSR && loaders.miniCssExtract({ hmr: false }), + loaders.css({ + localIdentName: '[local]_[hash:base64:5]', + modules: true, + importLoaders: 2, + }), + loaders.postcss(), + sassLoader, + sassResourcesLoader, + ].filter(Boolean), + }; + + const sassRule = { + test: /\.s(a|c)ss$/, + use: isSSR + ? [loaders.null()] + : [ + loaders.miniCssExtract(), + loaders.css({ importLoaders: 2 }), + loaders.postcss(), + sassLoader, + sassResourcesLoader, + ], + }; + + const inlineSvgRule = { + test: /\.inline.svg$/, + use: [ + { + loader: require.resolve('@svgr/webpack'), + options: { + svgoConfig: { + removeViewBox: false, + cleanupIDs: { + prefix: { + toString() { + this.counter = this.counter || 0; + return `id-${this.counter++}`; + }, + }, + }, + }, + }, + }, + ], + issuer: { + test: /\.(js|jsx|ts|tsx)$/, + }, + }; + + const svgRule = { + test: /\.svg$/, + use: [loaders.url()], + issuer: { + test: /\.(js|jsx|ts|tsx)$/, + }, + }; + + const nonJsSVGRule = { + test: /\.svg$/, + use: [loaders.url()], + issuer: { + test: /\.(?!(js|jsx|ts|tsx)$)([^.]+$)/, + }, + }; + + let configRules = []; + + switch (stage) { + case 'develop': + case 'build-javascript': + case 'build-html': + case 'develop-html': + configRules = configRules.concat([ + { oneOf: [sassRuleModules, sassRule] }, + { oneOf: [inlineSvgRule, svgRule, nonJsSVGRule] }, + ]); + break; + } + + setWebpackConfig({ + module: { + rules: configRules, + }, + }); +}; + +async function createDocPages({ graphql, actions, pathPrefix }) { + /* + * custom path processing rules + */ + + // guides category is the root: / or /docs in prod, so we removing that part + const removeGuides = (path) => path.replace(/guides\//, ''); + + // examples page contains `examples` folder which causing path + // duplication, removing it as well + const dedupeExamples = (path) => + path.replace(/examples\/examples/, 'examples'); + + // no /guides route; welcome is redirecting to the root path + // difference from removeGuides: this one is for sidebar links processing and + // the former is for creatingPages + const removeGuidesAndRedirectWelcome = (path) => + path.replace(/guides\/(getting-started\/welcome)?/, ''); + + // ensures that no trailing slash is left + const noTrailingSlash = (path) => + path === '/' ? '/' : path.replace(/(.+)\/$/, '$1'); + + const { data } = await graphql(` + query docPagesQuery { + allFile( + filter: { ext: { eq: ".md" }, relativeDirectory: { regex: "/docs/" } } + sort: { fields: absolutePath, order: ASC } + ) { + nodes { + name + relativeDirectory + children { + ... on MarkdownRemark { + html + frontmatter { + title + excerpt + redirect + hideFromSidebar + draft + } + } + } + } + } + } + `); + + // Build a tree for a sidebar + const sidebarTreeBuilder = utils.buildFileTree(utils.buildFileTreeNode); + data.allFile.nodes.forEach((file) => { + const { name, relativeDirectory, children } = file; + const { + frontmatter: { title, redirect, hideFromSidebar, draft }, + } = children[0]; + // skip altogether if this content has draft flag + // OR hideFromSidebar + if ((draft === 'true' && isProduction) || hideFromSidebar) return; + const path = utils.slugify( + `/${utils.stripDirectoryPath(relativeDirectory, 'docs')}/${title.replace( + /\//g, + '-', + )}`, + ); + // titles like k6/html treated like paths otherwise + sidebarTreeBuilder.addNode( + utils.unorderify(utils.stripDirectoryPath(relativeDirectory, 'docs')), + utils.unorderify(name), + { + path: utils.compose( + noTrailingSlash, + dedupeExamples, + removeGuidesAndRedirectWelcome, + utils.unorderify, + )(path), + title, + redirect, + }, + ); + }); + + // tree representation of a data/markdown/docs folder + const sidebar = sidebarTreeBuilder.getTree(); + + // local helper function that uses carrying, expects one more arg + const getSidebar = utils.getChildSidebar(sidebar); + const docPageNav = Object.keys(sidebar.children); + + // create data for rendering docs navigation + const docPageNavLinks = docPageNav + .map((item) => ({ + label: item === 'cloud' ? 'Cloud Docs' : item.toUpperCase(), + to: item === 'guides' ? `/` : `/${utils.slugify(item)}`, + })) + .filter(Boolean); + // creating actual docs pages + data.allFile.nodes.forEach((file) => { + const { relativeDirectory, children, name } = file; + const strippedDirectory = utils.stripDirectoryPath( + relativeDirectory, + 'docs', + ); + const remarkNode = children[0]; + const { title, redirect, draft } = remarkNode.frontmatter; + // if there is value in redirect field, skip page creation + // OR there is draft flag and mode is prod + if ((draft === 'true' && isProduction) || redirect) return; + const path = utils.slugify( + `${strippedDirectory}/${title.replace(/\//g, '-')}`, + ); + const breadcrumbs = utils.compose( + utils.buildBreadcrumbs, + removeGuides, + utils.unorderify, + )(path); + // injecting the slug, replacing guides with nothing cuz its real path is /doc + remarkNode.frontmatter.slug = utils.compose( + noTrailingSlash, + dedupeExamples, + removeGuides, + utils.unorderify, + )(path); + + // injection of a link to an article in git repo + // NOTE, that this is part of feature/edit-article-btn + // so it won't be used unless you have + // GATSBY_FEATURE_EDIT_ARTICLE_BTN=true + // in your .env file + remarkNode.frontmatter.fileOrigin = encodeURI( + `https://github.com/loadimpact/k6-docs/blob/master/src/data/${relativeDirectory}/${name}.md`, + ); + + actions.createPage({ + path: utils.compose(dedupeExamples, removeGuides, utils.unorderify)(path), + component: Path.resolve('./src/templates/doc-page.js'), + context: { + remarkNode, + // dynamically evalute which part of the sidebar tree are going to be used + sidebarTree: utils.compose( + getSidebar, + utils.getDocSection, + utils.unorderify, + )(strippedDirectory), + breadcrumbs, + navLinks: docPageNavLinks, + }, + }); + }); + + // generating pages currently presented in templates/docs/ folder + [...docPageNav].forEach((item) => { + const slug = utils.slugify(item); + actions.createPage({ + path: slug === 'guides' ? `/` : `/${slug}`, + component: Path.resolve(`./src/templates/docs/${slug}.js`), + context: { + sidebarTree: getSidebar(item), + navLinks: docPageNavLinks, + }, + }); + }); + + // generating a bunch of breadcrumbs stubs for top level non-links categories + + // ! attention: filtering here because of unplanned case with actual pages for top level sidebar sections. Removing breadcrumbs stub generation manually. + [...docPageNav] + .filter((s) => s !== 'javascript api') + .forEach((section) => { + utils.childrenToList(getSidebar(section).children).forEach(({ name }) => { + const path = utils.compose( + removeGuides, + utils.slugify, + )(`${section}/${name}`); + const breadcrumbs = utils.buildBreadcrumbs(path); + actions.createPage({ + path: noTrailingSlash(path), + component: Path.resolve('./src/templates/docs/breadcrumb-stub.js'), + context: { + sidebarTree: getSidebar(section), + breadcrumbs, + title: name, + navLinks: docPageNavLinks, + directChildren: getSidebar(section).children[name].children, + }, + }); + }); + }); +} + +const createRedirects = ({ actions, pathPrefix }) => { + actions.createRedirect({ + fromPath: `${pathPrefix}/getting-started/welcome`, + toPath: pathPrefix ? pathPrefix : `/`, + redirectInBrowser: true, + isPermanent: true, + }); +}; + +exports.createPages = async (options) => { + await createDocPages(options); + await createRedirects(options); +}; + +exports.onCreateNode = ({ node, getNode, actions }) => { + const { createNodeField } = actions; + // Adding default values for some fields and moving them under node.fields + // because that how createNodeField works + if (node.frontmatter) { + createNodeField({ + node, + name: 'redirect', + value: node.frontmatter.redirect || '', + }); + createNodeField({ + node, + name: 'hideFromSidebar', + value: node.frontmatter.hideFromSidebar || false, + }); + createNodeField({ + node, + name: 'draft', + value: node.frontmatter.draft || 'false', + }); + } +}; diff --git a/gatsby-ssr.js b/gatsby-ssr.js new file mode 100644 index 0000000000..c59f741c3d --- /dev/null +++ b/gatsby-ssr.js @@ -0,0 +1,7 @@ +/** + * Implement Gatsby's SSR (Server Side Rendering) APIs in this file. + * + * See: https://www.gatsbyjs.org/ssr-apis/ + */ + +// You can delete this file if you're not using it diff --git a/internal-images/Untitled 1.png b/internal-images/Untitled 1.png new file mode 100755 index 0000000000..b4650c99c7 Binary files /dev/null and b/internal-images/Untitled 1.png differ diff --git a/internal-images/Untitled 10.png b/internal-images/Untitled 10.png new file mode 100755 index 0000000000..e4b87dd058 Binary files /dev/null and b/internal-images/Untitled 10.png differ diff --git a/internal-images/Untitled 11.png b/internal-images/Untitled 11.png new file mode 100755 index 0000000000..8fb82546f4 Binary files /dev/null and b/internal-images/Untitled 11.png differ diff --git a/internal-images/Untitled 2.png b/internal-images/Untitled 2.png new file mode 100755 index 0000000000..8ff606435e Binary files /dev/null and b/internal-images/Untitled 2.png differ diff --git a/internal-images/Untitled 3.png b/internal-images/Untitled 3.png new file mode 100755 index 0000000000..b79f6f8976 Binary files /dev/null and b/internal-images/Untitled 3.png differ diff --git a/internal-images/Untitled 4.png b/internal-images/Untitled 4.png new file mode 100755 index 0000000000..e83cd372ef Binary files /dev/null and b/internal-images/Untitled 4.png differ diff --git a/internal-images/Untitled 5.png b/internal-images/Untitled 5.png new file mode 100644 index 0000000000..3a16905ccc Binary files /dev/null and b/internal-images/Untitled 5.png differ diff --git a/internal-images/Untitled 6.png b/internal-images/Untitled 6.png new file mode 100755 index 0000000000..86295d0a7d Binary files /dev/null and b/internal-images/Untitled 6.png differ diff --git a/internal-images/Untitled 7.png b/internal-images/Untitled 7.png new file mode 100755 index 0000000000..2dc1198a52 Binary files /dev/null and b/internal-images/Untitled 7.png differ diff --git a/internal-images/Untitled 8.png b/internal-images/Untitled 8.png new file mode 100755 index 0000000000..360bb07920 Binary files /dev/null and b/internal-images/Untitled 8.png differ diff --git a/internal-images/Untitled 9.png b/internal-images/Untitled 9.png new file mode 100755 index 0000000000..76de7ed89b Binary files /dev/null and b/internal-images/Untitled 9.png differ diff --git a/internal-images/Untitled.png b/internal-images/Untitled.png new file mode 100755 index 0000000000..ed2a6b709c Binary files /dev/null and b/internal-images/Untitled.png differ diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000000..ec2332eb49 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "baseUrl": "src" + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000..fe524764e6 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,28453 @@ +{ + "name": "new.k6.io", + "version": "0.1.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==", + "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==", + "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==" + } + } + }, + "@babel/generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz", + "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==" + }, + "@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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==" + }, + "@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==", + "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==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.5.5", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz", + "integrity": "sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.6.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.2.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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz", + "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz", + "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", + "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz", + "integrity": "sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.6.3.tgz", + "integrity": "sha512-l0ETkyEofkqFJ9LS6HChNIKtVJw2ylKbhYMlJ5C6df+ldxxaLIyXY4yOdDQQspfFpV8/vDiaWoJlvflstlYNxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.3.tgz", + "integrity": "sha512-1/YogSSU7Tby9rq2VCmhuRg+6pxsHy2rI7w/oo8RKoBt6uBUFG+mk6x13kK+FY1/ggN92HAfg7ADd1v1+NCOKg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.0.tgz", + "integrity": "sha512-Da8tMf7uClzwUm/pnJ1S93m/aRXmoYNDD7TkHua8xBDdaAs54uZpTWvEt6NGwmoVMb9mZbntfTqmG2oSzN/7Vg==", + "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==" + } + } + }, + "@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==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.3.tgz", + "integrity": "sha512-aiWINBrPMSC3xTXRNM/dfmyYuPNKY/aexYqBgh0HBI5Y+WO5oRAqW/oROYeYHrF4Zw12r9rK4fMk/ZlAmqx/FQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.6.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.2.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==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/polyfill": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.6.0.tgz", + "integrity": "sha512-q5BZJI0n/B10VaQQvln1IlDK3BTBJFbADx7tv+oXDPIDZuTo37H5Adb9jhlXm/fEN4Y7/64qD9mnrJJG7rmaTw==", + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.2" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, + "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/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==", + "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==" + } + } + }, + "@babel/preset-flow": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.0.0.tgz", + "integrity": "sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0" + } + }, + "@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==", + "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/preset-typescript": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz", + "integrity": "sha512-4xKw3tTcCm0qApyT6PqM9qniseCE79xGHiUnNdKGdxNsGUc2X7WwZybqIpnTmoukg3nhPceI5KPNzNqLNeIJww==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.6.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==", + "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==", + "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==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@emotion/cache": { + "version": "10.0.19", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.19.tgz", + "integrity": "sha512-BoiLlk4vEsGBg2dAqGSJu0vJl/PgVtCYLBFJaEO8RmQzPugXewQCXZJNXTDFaRlfCs0W+quesayav4fvaif5WQ==", + "requires": { + "@emotion/sheet": "0.9.3", + "@emotion/stylis": "0.8.4", + "@emotion/utils": "0.11.2", + "@emotion/weak-memoize": "0.2.4" + } + }, + "@emotion/core": { + "version": "10.0.22", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.22.tgz", + "integrity": "sha512-7eoP6KQVUyOjAkE6y4fdlxbZRA4ILs7dqkkm6oZUJmihtHv0UBq98VgPirq9T8F9K2gKu0J/au/TpKryKMinaA==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/cache": "^10.0.17", + "@emotion/css": "^10.0.22", + "@emotion/serialize": "^0.11.12", + "@emotion/sheet": "0.9.3", + "@emotion/utils": "0.11.2" + } + }, + "@emotion/css": { + "version": "10.0.22", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.22.tgz", + "integrity": "sha512-8phfa5mC/OadBTmGpMpwykIVH0gFCbUoO684LUkyixPq4F1Wwri7fK5Xlm8lURNBrd2TuvTbPUGxFsGxF9UacA==", + "requires": { + "@emotion/serialize": "^0.11.12", + "@emotion/utils": "0.11.2", + "babel-plugin-emotion": "^10.0.22" + } + }, + "@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==" + }, + "@emotion/is-prop-valid": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.4.tgz", + "integrity": "sha512-QBW8h6wVQgeQ55F52rNaprEJxtVR+/ScOP8/V1ScSpPzKqHdFB9QVqby0Z50sqS8mcaeIl5vR1vQpKwJbIS6NQ==", + "requires": { + "@emotion/memoize": "0.7.3" + } + }, + "@emotion/memoize": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.3.tgz", + "integrity": "sha512-2Md9mH6mvo+ygq1trTeVp2uzAKwE2P7In0cRpD/M9Q70aH8L+rxMLbb3JCN2JoSWsV2O+DdFjfbbXoMoLBczow==" + }, + "@emotion/serialize": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.14.tgz", + "integrity": "sha512-6hTsySIuQTbDbv00AnUO6O6Xafdwo5GswRlMZ5hHqiFx+4pZ7uGWXUQFW46Kc2taGhP89uXMXn/lWQkdyTosPA==", + "requires": { + "@emotion/hash": "0.7.3", + "@emotion/memoize": "0.7.3", + "@emotion/unitless": "0.7.4", + "@emotion/utils": "0.11.2", + "csstype": "^2.5.7" + } + }, + "@emotion/sheet": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.3.tgz", + "integrity": "sha512-c3Q6V7Df7jfwSq5AzQWbXHa5soeE4F5cbqi40xn0CzXxWW9/6Mxq48WJEtqfWzbZtW9odZdnRAkwCQwN12ob4A==" + }, + "@emotion/styled": { + "version": "10.0.23", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.23.tgz", + "integrity": "sha512-gNr04eqBQ2iYUx8wFLZDfm3N8/QUOODu/ReDXa693uyQGy2OqA+IhPJk+kA7id8aOfwAsMuvZ0pJImEXXKtaVQ==", + "requires": { + "@emotion/styled-base": "^10.0.23", + "babel-plugin-emotion": "^10.0.23" + } + }, + "@emotion/styled-base": { + "version": "10.0.23", + "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.23.tgz", + "integrity": "sha512-94QowN2S09nCXRz9dXBiMaEcUcXn9kHM8uFExpsspwswHWnkpFn6jTewotQEgI7RROnAXDZ8fvSTkCdqtn3sfw==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/is-prop-valid": "0.8.4", + "@emotion/serialize": "^0.11.14", + "@emotion/utils": "0.11.2" + } + }, + "@emotion/stylis": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.4.tgz", + "integrity": "sha512-TLmkCVm8f8gH0oLv+HWKiu7e8xmBIaokhxcEKPh1m8pXiV/akCiq50FvYgOwY42rjejck8nsdQxZlXZ7pmyBUQ==" + }, + "@emotion/unitless": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.4.tgz", + "integrity": "sha512-kBa+cDHOR9jpRJ+kcGMsysrls0leukrm68DmFQoMIWQcXdr2cZvyvypWuGYT7U+9kAExUE7+T7r6G3C3A6L8MQ==" + }, + "@emotion/utils": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.2.tgz", + "integrity": "sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA==" + }, + "@emotion/weak-memoize": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.4.tgz", + "integrity": "sha512-6PYY5DVdAY1ifaQW6XYTnOMihmBVT27elqSjEoodchsGjzYlEsTQMcEhSud99kVawatyTZRTiVkJ/c6lwbQ7nA==" + }, + "@gatsbyjs/relay-compiler": { + "version": "2.0.0-printer-fix.4", + "resolved": "https://registry.npmjs.org/@gatsbyjs/relay-compiler/-/relay-compiler-2.0.0-printer-fix.4.tgz", + "integrity": "sha512-S2fYb2aBoBviXdtGRefBSYCuvGi2C/MmY75+XF4Ed9AzbeqEnmaKjYASbag4vagZ2n1cSQ+LMs0p0GiRDjKF0Q==", + "requires": { + "@babel/generator": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/polyfill": "^7.0.0", + "@babel/runtime": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "babel-preset-fbjs": "^3.1.2", + "chalk": "^2.4.1", + "fast-glob": "^2.2.2", + "fb-watchman": "^2.0.0", + "fbjs": "^1.0.0", + "immutable": "~3.7.6", + "nullthrows": "^1.1.0", + "relay-runtime": "2.0.0", + "signedsource": "^1.0.0", + "yargs": "^9.0.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, + "fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "requires": { + "core-js": "^2.4.1", + "fbjs-css-vars": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + } + } + }, + "@hapi/address": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.2.tgz", + "integrity": "sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q==" + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" + }, + "@hapi/formula": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz", + "integrity": "sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.3.0.tgz", + "integrity": "sha512-C0QL9bmgUXTSuf8nDeGrpMjtJG7tPUr8wG6/wxPbP62tGwCwQtdMSJYfESowmY4P3Hn593f+8OzNY5bckcu/LQ==" + }, + "@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==", + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/pinpoint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz", + "integrity": "sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==", + "dev": true + }, + "@hapi/topo": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.5.tgz", + "integrity": "sha512-bi9m1jrui9LlvtVdLaHv0DqeOoe+I8dep+nEcTgW6XxJHL3xArQcilYz3tIp0cRC4gWlsVtABK7vNKg4jzEmAA==", + "requires": { + "@hapi/hoek": "8.x.x" + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@jimp/bmp": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.6.8.tgz", + "integrity": "sha512-uxVgSkI62uAzk5ZazYHEHBehow590WAkLKmDXLzkr/XP/Hv2Fx1T4DKwJ/15IY5ktq5VAhAUWGXTyd8KWFsx7w==", + "requires": { + "@jimp/utils": "^0.6.8", + "bmp-js": "^0.1.0", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/core": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.6.8.tgz", + "integrity": "sha512-JOFqBBcSNiDiMZJFr6OJqC6viXj5NVBQISua0eacoYvo4YJtTajOIxC4MqWyUmGrDpRMZBR8QhSsIOwsFrdROA==", + "requires": { + "@jimp/utils": "^0.6.8", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "core-js": "^2.5.7", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + }, + "dependencies": { + "buffer": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, + "file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" + } + } + }, + "@jimp/custom": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.6.8.tgz", + "integrity": "sha512-FrYlzZRVXP2vuVwd7Nc2dlK+iZk4g6IaT1Ib8Z6vU5Kkwlt83FJIPJ2UUFABf3bF5big0wkk8ZUihWxE4Nzdng==", + "requires": { + "@jimp/core": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/gif": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.6.8.tgz", + "integrity": "sha512-yyOlujjQcgz9zkjM5ihZDEppn9d1brJ7jQHP5rAKmqep0G7FU1D0AKcV+Ql18RhuI/CgWs10wAVcrQpmLnu4Yw==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7", + "omggif": "^1.0.9" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/jpeg": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.6.8.tgz", + "integrity": "sha512-rGtXbYpFXAn471qLpTGvhbBMNHJo5KiufN+vC5AWyufntmkt5f0Ox2Cx4ijuBMDtirZchxbMLtrfGjznS4L/ew==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7", + "jpeg-js": "^0.3.4" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-blit": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.6.8.tgz", + "integrity": "sha512-7Tl6YpKTSpvwQbnGNhsfX2zyl3jRVVopd276Y2hF2zpDz9Bycow7NdfNU/4Nx1jaf96X6uWOtSVINcQ7rGd47w==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-blur": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.6.8.tgz", + "integrity": "sha512-NpZCMKxXHLDQsX9zPlWtpMA660DQStY6/z8ZetyxCDbqrLe9YCXpeR4MNhdJdABIiwTm1W5FyFF4kp81PHJx3Q==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-color": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.6.8.tgz", + "integrity": "sha512-jjFyU0zNmGOH2rjzHuOMU4kaia0oo82s/7UYfn5h7OUkmUZTd6Do3ZSK1PiXA7KR+s4B76/Omm6Doh/0SGb7BQ==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7", + "tinycolor2": "^1.4.1" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-contain": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.6.8.tgz", + "integrity": "sha512-p/P2wCXhAzbmEgXvGsvmxLmbz45feF6VpR4m9suPSOr8PC/i/XvTklTqYEUidYYAft4vHgsYJdS74HKSMnH8lw==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-cover": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.6.8.tgz", + "integrity": "sha512-2PvWgk+PJfRsfWDI1G8Fpjrsu0ZlpNyZxO2+fqWlVo6y/y2gP4v08FqvbkcqSjNlOu2IDWIFXpgyU0sTINWZLg==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-crop": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.6.8.tgz", + "integrity": "sha512-CbrcpWE2xxPK1n/JoTXzhRUhP4mO07mTWaSavenCg664oQl/9XCtL+A0FekuNHzIvn4myEqvkiTwN7FsbunS/Q==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-displace": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.6.8.tgz", + "integrity": "sha512-RmV2bPxoPE6mrPxtYSPtHxm2cGwBQr5a2p+9gH6SPy+eUMrbGjbvjwKNfXWUYD0leML+Pt5XOmAS9pIROmuruQ==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-dither": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.6.8.tgz", + "integrity": "sha512-x6V/qjxe+xypjpQm7GbiMNqci1EW5UizrcebOhHr8AHijOEqHd2hjXh5f6QIGfrkTFelc4/jzq1UyCsYntqz9Q==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-flip": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.6.8.tgz", + "integrity": "sha512-4il6Da6G39s9MyWBEee4jztEOUGJ40E6OlPjkMrdpDNvge6hYEAB31BczTYBP/CEY74j4LDSoY5LbcU4kv06yA==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-gaussian": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.6.8.tgz", + "integrity": "sha512-pVOblmjv7stZjsqloi4YzHVwAPXKGdNaHPhp4KP4vj41qtc6Hxd9z/+VWGYRTunMFac84gUToe0UKIXd6GhoKw==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-invert": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.6.8.tgz", + "integrity": "sha512-11zuLiXDHr6tFv4U8aieXqNXQEKbDbSBG/h+X62gGTNFpyn8EVPpncHhOqrAFtZUaPibBqMFlNJ15SzwC7ExsQ==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-mask": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.6.8.tgz", + "integrity": "sha512-hZJ0OiKGJyv7hDSATwJDkunB1Ie80xJnONMgpUuUseteK45YeYNBOiZVUe8vum8QI1UwavgBzcvQ9u4fcgXc9g==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-normalize": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.6.8.tgz", + "integrity": "sha512-Q4oYhU+sSyTJI7pMZlg9/mYh68ujLfOxXzQGEXuw0sHGoGQs3B0Jw7jmzGa6pIS06Hup5hD2Zuh1ppvMdjJBfQ==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-print": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.6.8.tgz", + "integrity": "sha512-2aokejGn4Drv1FesnZGqh5KEq0FQtR0drlmtyZrBH+r9cx7hh0Qgf4D1BOTDEgXkfSSngjGRjKKRW/fwOrVXYw==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7", + "load-bmfont": "^1.4.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-resize": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.6.8.tgz", + "integrity": "sha512-27nPh8L1YWsxtfmV/+Ub5dOTpXyC0HMF2cu52RQSCYxr+Lm1+23dJF70AF1poUbUe+FWXphwuUxQzjBJza9UoA==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-rotate": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.6.8.tgz", + "integrity": "sha512-GbjETvL05BDoLdszNUV4Y0yLkHf177MnqGqilA113LIvx9aD0FtUopGXYfRGVvmtTOTouoaGJUc+K6qngvKxww==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugin-scale": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.6.8.tgz", + "integrity": "sha512-GzIYWR/oCUK2jAwku23zt19V1ssaEU4pL0x2XsLNKuuJEU6DvEytJyTMXCE7OLG/MpDBQcQclJKHgiyQm5gIOQ==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/plugins": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.6.8.tgz", + "integrity": "sha512-fMcTI72Vn/Lz6JftezTURmyP5ml/xGMe0Ljx2KRJ85IWyP33vDmGIUuutFiBEbh2+y7lRT+aTSmjs0QGa/xTmQ==", + "requires": { + "@jimp/plugin-blit": "^0.6.8", + "@jimp/plugin-blur": "^0.6.8", + "@jimp/plugin-color": "^0.6.8", + "@jimp/plugin-contain": "^0.6.8", + "@jimp/plugin-cover": "^0.6.8", + "@jimp/plugin-crop": "^0.6.8", + "@jimp/plugin-displace": "^0.6.8", + "@jimp/plugin-dither": "^0.6.8", + "@jimp/plugin-flip": "^0.6.8", + "@jimp/plugin-gaussian": "^0.6.8", + "@jimp/plugin-invert": "^0.6.8", + "@jimp/plugin-mask": "^0.6.8", + "@jimp/plugin-normalize": "^0.6.8", + "@jimp/plugin-print": "^0.6.8", + "@jimp/plugin-resize": "^0.6.8", + "@jimp/plugin-rotate": "^0.6.8", + "@jimp/plugin-scale": "^0.6.8", + "core-js": "^2.5.7", + "timm": "^1.6.1" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/png": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.6.8.tgz", + "integrity": "sha512-JHHg/BZ7KDtHQrcG+a7fztw45rdf7okL/YwkN4qU5FH7Fcrp41nX5QnRviDtD9hN+GaNC7kvjvcqRAxW25qjew==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7", + "pngjs": "^3.3.3" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/tiff": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.6.8.tgz", + "integrity": "sha512-iWHbxd+0IKWdJyJ0HhoJCGYmtjPBOusz1z1HT/DnpePs/Lo3TO4d9ALXqYfUkyG74ZK5jULZ69KLtwuhuJz1bg==", + "requires": { + "core-js": "^2.5.7", + "utif": "^2.0.1" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/types": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.6.8.tgz", + "integrity": "sha512-vCZ/Cp2osy69VP21XOBACfHI5HeR60Rfd4Jidj4W73UL+HrFWOtyQiJ7hlToyu1vI5mR/NsUQpzyQvz56ADm5A==", + "requires": { + "@jimp/bmp": "^0.6.8", + "@jimp/gif": "^0.6.8", + "@jimp/jpeg": "^0.6.8", + "@jimp/png": "^0.6.8", + "@jimp/tiff": "^0.6.8", + "core-js": "^2.5.7", + "timm": "^1.6.1" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@jimp/utils": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.6.8.tgz", + "integrity": "sha512-7RDfxQ2C/rarNG9iso5vmnKQbcvlQjBIlF/p7/uYj72WeZgVCB+5t1fFBKJSU4WhniHX4jUMijK+wYGE3Y3bGw==", + "requires": { + "core-js": "^2.5.7" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + } + } + }, + "@mikaelkristiansson/domready": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mikaelkristiansson/domready/-/domready-1.0.9.tgz", + "integrity": "sha512-FOAjeRHULSWXd6JMuCDwf3zPbe11kP971+Bufrj9M8rQ33ZMtThgKd6IJgzj6tr/+1Rq3czzLI1LAa9x0IC92w==" + }, + "@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==", + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + } + } + }, + "@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==" + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "@pieh/friendly-errors-webpack-plugin": { + "version": "1.7.0-chalk-2", + "resolved": "https://registry.npmjs.org/@pieh/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0-chalk-2.tgz", + "integrity": "sha512-65+vYGuDkHBCWWjqzzR/Ck318+d6yTI00EqII9qe3aPD1J3Olhvw0X38uM5moQb1PK/ksDXwSoPGt/5QhCiotw==", + "requires": { + "chalk": "^2.4.2", + "error-stack-parser": "^2.0.0", + "string-width": "^2.0.0", + "strip-ansi": "^3" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "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=" + }, + "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" + } + } + } + } + } + }, + "@reach/router": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.2.1.tgz", + "integrity": "sha512-kTaX08X4g27tzIFQGRukaHmNbtMYDS3LEWIS8+l6OayGIw6Oyo1HIF/JzeuR2FoF9z6oV+x/wJSVSq4v8tcUGQ==", + "requires": { + "create-react-context": "^0.2.1", + "invariant": "^2.2.3", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4", + "warning": "^3.0.0" + } + }, + "@samverschueren/stream-to-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", + "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", + "dev": true, + "requires": { + "any-observable": "^0.3.0" + } + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + }, + "@snyk/cli-interface": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.3.0.tgz", + "integrity": "sha512-ecbylK5Ol2ySb/WbfPj0s0GuLQR+KWKFzUgVaoNHaSoN6371qRWwf2uVr+hPUP4gXqCai21Ug/RDArfOhlPwrQ==", + "requires": { + "tslib": "^1.9.3" + } + }, + "@snyk/cocoapods-lockfile-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@snyk/cocoapods-lockfile-parser/-/cocoapods-lockfile-parser-3.0.0.tgz", + "integrity": "sha512-AebCc+v9vtOL9tFkU4/tommgVsXxqdx6t45kCkBW+FC4PaYvfYEg9Eg/9GqlY9+nFrLFo/uTr+E/aR0AF/KqYA==", + "requires": { + "@snyk/dep-graph": "^1.11.0", + "@snyk/ruby-semver": "^2.0.4", + "@types/js-yaml": "^3.12.1", + "core-js": "^3.2.0", + "js-yaml": "^3.13.1", + "source-map-support": "^0.5.7", + "tslib": "^1.9.3" + } + }, + "@snyk/composer-lockfile-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@snyk/composer-lockfile-parser/-/composer-lockfile-parser-1.2.0.tgz", + "integrity": "sha512-kZT+HTqgNcQMeoE5NM9M3jj463M8zI7ZxqZXLw9WoyVs5JTt9g0qFWxIG1cNwZdGVI+y7tzZbNWw9BlMD1vCCQ==", + "requires": { + "lodash": "^4.17.13" + } + }, + "@snyk/configstore": { + "version": "3.2.0-rc1", + "resolved": "https://registry.npmjs.org/@snyk/configstore/-/configstore-3.2.0-rc1.tgz", + "integrity": "sha512-CV3QggFY8BY3u8PdSSlUGLibqbqCG1zJRmGM2DhnhcxQDRRPTGTP//l7vJphOVsUP1Oe23+UQsj7KRWpRUZiqg==", + "requires": { + "dot-prop": "^5.2.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" + }, + "dependencies": { + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "requires": { + "is-obj": "^2.0.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==" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "@snyk/dep-graph": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.13.1.tgz", + "integrity": "sha512-Ww2xvm5UQgrq9eV0SdTBCh+w/4oI2rCx5vn1IOSeypaR0CO4p+do1vm3IDZ2ugg4jLSfHP8+LiD6ORESZMkQ2w==", + "requires": { + "graphlib": "^2.1.5", + "lodash": "^4.7.14", + "object-hash": "^1.3.1", + "semver": "^6.0.0", + "source-map-support": "^0.5.11", + "tslib": "^1.9.3" + } + }, + "@snyk/gemfile": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@snyk/gemfile/-/gemfile-1.2.0.tgz", + "integrity": "sha512-nI7ELxukf7pT4/VraL4iabtNNMz8mUo7EXlqCFld8O5z6mIMLX9llps24iPpaIZOwArkY3FWA+4t+ixyvtTSIA==" + }, + "@snyk/ruby-semver": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@snyk/ruby-semver/-/ruby-semver-2.0.4.tgz", + "integrity": "sha512-ceMD4CBS3qtAg+O0BUvkKdsheUNCqi+/+Rju243Ul8PsUgZnXmGiqfk/2z7DCprRQnxUTra4+IyeDQT7wAheCQ==", + "requires": { + "lodash": "^4.17.14" + } + }, + "@snyk/snyk-cocoapods-plugin": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@snyk/snyk-cocoapods-plugin/-/snyk-cocoapods-plugin-2.0.1.tgz", + "integrity": "sha512-XVkvaMvMzQ3miJi/YZmsRJSAUfDloYhfg6pXPgzAeAugB4p+cNi01Z68pT62ypB8U/Ugh1Xx2pb9aoOFqBbSjA==", + "requires": { + "@snyk/cli-interface": "1.5.0", + "@snyk/cocoapods-lockfile-parser": "3.0.0", + "@snyk/dep-graph": "^1.13.1", + "source-map-support": "^0.5.7", + "tslib": "^1.9.3" + }, + "dependencies": { + "@snyk/cli-interface": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-1.5.0.tgz", + "integrity": "sha512-+Qo+IO3YOXWgazlo+CKxOuWFLQQdaNCJ9cSfhFQd687/FuesaIxWdInaAdfpsLScq0c6M1ieZslXgiZELSzxbg==", + "requires": { + "tslib": "^1.9.3" + } + } + } + }, + "@snyk/update-notifier": { + "version": "2.5.1-rc2", + "resolved": "https://registry.npmjs.org/@snyk/update-notifier/-/update-notifier-2.5.1-rc2.tgz", + "integrity": "sha512-dlled3mfpnAt3cQb5hxkFiqfPCj4Yk0xV8Yl5P8PeVv1pUmO7vI4Ka4Mjs4r6CYM5f9kZhviFPQQcWOIDlMRcw==", + "requires": { + "@snyk/configstore": "3.2.0-rc1", + "boxen": "^1.3.0", + "chalk": "^2.3.2", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.1.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "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" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "requires": { + "ci-info": "^1.5.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=" + }, + "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" + } + }, + "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" + } + } + } + }, + "@storybook/addons": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-5.2.5.tgz", + "integrity": "sha512-CvMj7Bs3go9tv5rZuAvFwuwe8p/16LDCHS7+5nVFosvcL8nuN339V3rzakw8nLy/S6XKeZ1ACu4t3vYkreRE3w==", + "requires": { + "@storybook/api": "5.2.5", + "@storybook/channels": "5.2.5", + "@storybook/client-logger": "5.2.5", + "@storybook/core-events": "5.2.5", + "core-js": "^3.0.1", + "global": "^4.3.2", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/api": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-5.2.5.tgz", + "integrity": "sha512-JvLafqFVgA3dIWpLMoGNk4sRuogE5imhD6/g0d8DOwnCID9xowj5xIptSrCTKvGGGxuN3wWRGn6I2lEbY6969g==", + "requires": { + "@storybook/channels": "5.2.5", + "@storybook/client-logger": "5.2.5", + "@storybook/core-events": "5.2.5", + "@storybook/router": "5.2.5", + "@storybook/theming": "5.2.5", + "core-js": "^3.0.1", + "fast-deep-equal": "^2.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "prop-types": "^15.6.2", + "react": "^16.8.3", + "semver": "^6.0.0", + "shallow-equal": "^1.1.0", + "store2": "^2.7.1", + "telejson": "^3.0.2", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/channel-postmessage": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-5.2.5.tgz", + "integrity": "sha512-GoiC6dUM3YfNKpvj3syxQIQJLHBnH61CfLJzz4xygmn+3keHtjtz6yPHaU4+00MSSP2uDzqePkjgXx4DcLedHA==", + "requires": { + "@storybook/channels": "5.2.5", + "@storybook/client-logger": "5.2.5", + "core-js": "^3.0.1", + "global": "^4.3.2", + "telejson": "^3.0.2" + } + }, + "@storybook/channels": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-5.2.5.tgz", + "integrity": "sha512-I+zB3ym5ozBcNBqyzZbvB6gRIG/ZKKkqy5k6LwKd5NMx7NU7zU74+LQUBBOcSIrigj8kCArZz7rlgb0tlSKXxQ==", + "requires": { + "core-js": "^3.0.1" + } + }, + "@storybook/client-api": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-5.2.5.tgz", + "integrity": "sha512-n7CAZ3+DZ7EUdmXbq8mXRb+stOavC8GMw3CzjGSo8O6t4rFcMpZQAzjS0YRX1RG/CGFSv9d3R3TNvEBcBGTwRg==", + "requires": { + "@storybook/addons": "5.2.5", + "@storybook/channel-postmessage": "5.2.5", + "@storybook/channels": "5.2.5", + "@storybook/client-logger": "5.2.5", + "@storybook/core-events": "5.2.5", + "@storybook/router": "5.2.5", + "common-tags": "^1.8.0", + "core-js": "^3.0.1", + "eventemitter3": "^4.0.0", + "global": "^4.3.2", + "is-plain-object": "^3.0.0", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "qs": "^6.6.0", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/client-logger": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-5.2.5.tgz", + "integrity": "sha512-6DyYUrMgAvF+th0foH7UNz+2JJpRdvNbpvYKtvi/+hlvRIaI6AqANgLkPUgMibaif5TLzjCr0bLdAYcjeJz03w==", + "requires": { + "core-js": "^3.0.1" + } + }, + "@storybook/components": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-5.2.5.tgz", + "integrity": "sha512-6NVaBJm5wY53e9k+2ZiL2ABsHghE1ssQciLTG3jJPahnM6rfkM8ue66rhxhP88jE9isT48JgOZOJepEyxDz/fg==", + "requires": { + "@storybook/client-logger": "5.2.5", + "@storybook/theming": "5.2.5", + "@types/react-syntax-highlighter": "10.1.0", + "@types/react-textarea-autosize": "^4.3.3", + "core-js": "^3.0.1", + "global": "^4.3.2", + "markdown-to-jsx": "^6.9.1", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "popper.js": "^1.14.7", + "prop-types": "^15.7.2", + "react": "^16.8.3", + "react-dom": "^16.8.3", + "react-focus-lock": "^1.18.3", + "react-helmet-async": "^1.0.2", + "react-popper-tooltip": "^2.8.3", + "react-syntax-highlighter": "^8.0.1", + "react-textarea-autosize": "^7.1.0", + "simplebar-react": "^1.0.0-alpha.6" + } + }, + "@storybook/core": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-5.2.5.tgz", + "integrity": "sha512-R6A6VzSh++pB1a+9DsywW5Mlp0/eauQz1A8m2DrllWcTHTjbn0ZovlG5HBrKjpknFXpCWxkUKE4eTAE2tWsryA==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.3.3", + "@babel/plugin-proposal-object-rest-spread": "^7.3.2", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-transform-react-constant-elements": "^7.2.0", + "@babel/preset-env": "^7.4.5", + "@storybook/addons": "5.2.5", + "@storybook/channel-postmessage": "5.2.5", + "@storybook/client-api": "5.2.5", + "@storybook/client-logger": "5.2.5", + "@storybook/core-events": "5.2.5", + "@storybook/node-logger": "5.2.5", + "@storybook/router": "5.2.5", + "@storybook/theming": "5.2.5", + "@storybook/ui": "5.2.5", + "airbnb-js-shims": "^1 || ^2", + "ansi-to-html": "^0.6.11", + "autoprefixer": "^9.4.9", + "babel-plugin-add-react-displayname": "^0.0.5", + "babel-plugin-emotion": "^10.0.14", + "babel-plugin-macros": "^2.4.5", + "babel-preset-minify": "^0.5.0 || 0.6.0-alpha.5", + "boxen": "^3.0.0", + "case-sensitive-paths-webpack-plugin": "^2.2.0", + "chalk": "^2.4.2", + "cli-table3": "0.5.1", + "commander": "^2.19.0", + "common-tags": "^1.8.0", + "core-js": "^3.0.1", + "corejs-upgrade-webpack-plugin": "^2.2.0", + "css-loader": "^3.0.0", + "detect-port": "^1.3.0", + "dotenv-webpack": "^1.7.0", + "ejs": "^2.6.1", + "express": "^4.17.0", + "file-loader": "^3.0.1", + "file-system-cache": "^1.0.5", + "find-cache-dir": "^3.0.0", + "fs-extra": "^8.0.1", + "global": "^4.3.2", + "html-webpack-plugin": "^4.0.0-beta.2", + "inquirer": "^6.2.0", + "interpret": "^1.2.0", + "ip": "^1.1.5", + "json5": "^2.1.0", + "lazy-universal-dotenv": "^3.0.1", + "node-fetch": "^2.6.0", + "open": "^6.1.0", + "pnp-webpack-plugin": "1.4.3", + "postcss-flexbugs-fixes": "^4.1.0", + "postcss-loader": "^3.0.0", + "pretty-hrtime": "^1.0.3", + "qs": "^6.6.0", + "raw-loader": "^2.0.0", + "react-dev-utils": "^9.0.0", + "regenerator-runtime": "^0.12.1", + "resolve": "^1.11.0", + "resolve-from": "^5.0.0", + "semver": "^6.0.0", + "serve-favicon": "^2.5.0", + "shelljs": "^0.8.3", + "style-loader": "^0.23.1", + "terser-webpack-plugin": "^1.2.4", + "unfetch": "^4.1.0", + "url-loader": "^2.0.1", + "util-deprecate": "^1.0.2", + "webpack": "^4.33.0", + "webpack-dev-middleware": "^3.7.0", + "webpack-hot-middleware": "^2.25.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + } + } + }, + "@storybook/core-events": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-5.2.5.tgz", + "integrity": "sha512-O5GM8XEBbYNbM6Z7a4H1bbnbO2cxQrXMhEwansC7a7YinQdkTPiuGxke3NiyK+7pLDh778kpQyjoCjXq6UfAoQ==", + "requires": { + "core-js": "^3.0.1" + } + }, + "@storybook/node-logger": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-5.2.5.tgz", + "integrity": "sha512-UNyXGOhOr4Bn9wKwBTZABTBXQzrgvGxPLSmvAFZuMx9ZhqoT/EXAuLUl0/wiJtkyuYpoOOskNwIdKxLBdTKS2w==", + "requires": { + "chalk": "^2.4.2", + "core-js": "^3.0.1", + "npmlog": "^4.1.2", + "pretty-hrtime": "^1.0.3", + "regenerator-runtime": "^0.12.1" + } + }, + "@storybook/react": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-5.2.5.tgz", + "integrity": "sha512-yPOL0jBEfYo3YkRJkXnIzAQ3L9lTju27mg+0bW+y3lpJAM23ffAxrRyOGV7bzj99EA7dak2lw8Hj4yVHTplBdg==", + "requires": { + "@babel/plugin-transform-react-constant-elements": "^7.2.0", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-react": "^7.0.0", + "@storybook/addons": "5.2.5", + "@storybook/core": "5.2.5", + "@storybook/node-logger": "5.2.5", + "@svgr/webpack": "^4.0.3", + "@types/webpack-env": "^1.13.7", + "babel-plugin-add-react-displayname": "^0.0.5", + "babel-plugin-named-asset-import": "^0.3.1", + "babel-plugin-react-docgen": "^3.0.0", + "babel-preset-react-app": "^9.0.0", + "common-tags": "^1.8.0", + "core-js": "^3.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "mini-css-extract-plugin": "^0.7.0", + "prop-types": "^15.7.2", + "react-dev-utils": "^9.0.0", + "regenerator-runtime": "^0.12.1", + "semver": "^6.0.0", + "webpack": "^4.33.0" + } + }, + "@storybook/router": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-5.2.5.tgz", + "integrity": "sha512-e6ElDAWSoEW1KSnsTbVwbpzaZ8CNWYw0Ok3b5AHfY2fuSH5L4l6s6k/bP7QSYqvWUeTvkFQYux7A2rOFCriAgA==", + "requires": { + "@reach/router": "^1.2.1", + "@types/reach__router": "^1.2.3", + "core-js": "^3.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "qs": "^6.6.0" + } + }, + "@storybook/theming": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-5.2.5.tgz", + "integrity": "sha512-PGZNYrRgAhXFJKnktFpyyKlaDXEhtTi5XPq5ASVJrsPW6l963Mk2EMKSm4TCTxIJhs0Kx4cv2MnNZFDqHf47eg==", + "requires": { + "@emotion/core": "^10.0.14", + "@emotion/styled": "^10.0.14", + "@storybook/client-logger": "5.2.5", + "common-tags": "^1.8.0", + "core-js": "^3.0.1", + "deep-object-diff": "^1.1.0", + "emotion-theming": "^10.0.14", + "global": "^4.3.2", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "prop-types": "^15.7.2", + "resolve-from": "^5.0.0" + } + }, + "@storybook/ui": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-5.2.5.tgz", + "integrity": "sha512-C+5KmeTtdG6xkGXPmFDHPxTcSvVohuFD1399fnzjYhfLlRJ04ix3g16rcyDTxRtrFgFidOyGHdzCypgkdaN8dQ==", + "requires": { + "@storybook/addons": "5.2.5", + "@storybook/api": "5.2.5", + "@storybook/channels": "5.2.5", + "@storybook/client-logger": "5.2.5", + "@storybook/components": "5.2.5", + "@storybook/core-events": "5.2.5", + "@storybook/router": "5.2.5", + "@storybook/theming": "5.2.5", + "copy-to-clipboard": "^3.0.8", + "core-js": "^3.0.1", + "core-js-pure": "^3.0.1", + "emotion-theming": "^10.0.14", + "fast-deep-equal": "^2.0.1", + "fuse.js": "^3.4.4", + "global": "^4.3.2", + "lodash": "^4.17.15", + "markdown-to-jsx": "^6.9.3", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "prop-types": "^15.7.2", + "qs": "^6.6.0", + "react": "^16.8.3", + "react-dom": "^16.8.3", + "react-draggable": "^4.0.3", + "react-helmet-async": "^1.0.2", + "react-hotkeys": "2.0.0-pre4", + "react-sizeme": "^2.6.7", + "regenerator-runtime": "^0.13.2", + "resolve-from": "^5.0.0", + "semver": "^6.0.0", + "store2": "^2.7.1", + "telejson": "^3.0.2", + "util-deprecate": "^1.0.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==" + } + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", + "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", + "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", + "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", + "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", + "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", + "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==" + }, + "@svgr/babel-preset": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", + "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0", + "@svgr/babel-plugin-svg-dynamic-title": "^4.3.3", + "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0", + "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", + "@svgr/babel-plugin-transform-svg-component": "^4.2.0" + } + }, + "@svgr/core": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", + "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", + "requires": { + "@svgr/plugin-jsx": "^4.3.3", + "camelcase": "^5.3.1", + "cosmiconfig": "^5.2.1" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", + "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@svgr/plugin-jsx": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", + "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", + "requires": { + "@babel/core": "^7.4.5", + "@svgr/babel-preset": "^4.3.3", + "@svgr/hast-util-to-babel-ast": "^4.3.2", + "svg-parser": "^2.0.0" + } + }, + "@svgr/plugin-svgo": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", + "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", + "requires": { + "cosmiconfig": "^5.2.1", + "merge-deep": "^3.0.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-4.3.2.tgz", + "integrity": "sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w==", + "requires": { + "@babel/core": "^7.4.5", + "@babel/plugin-transform-react-constant-elements": "^7.0.0", + "@babel/preset-env": "^7.4.5", + "@babel/preset-react": "^7.0.0", + "@svgr/core": "^4.3.2", + "@svgr/plugin-jsx": "^4.3.2", + "@svgr/plugin-svgo": "^4.3.1", + "loader-utils": "^1.2.3" + } + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "optional": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/agent-base": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/agent-base/-/agent-base-4.2.0.tgz", + "integrity": "sha512-8mrhPstU+ZX0Ugya8tl5DsDZ1I5ZwQzbL/8PA0z8Gj0k9nql7nkaMzmPVLj+l/nixWaliXi+EBiLA8bptw3z7Q==", + "requires": { + "@types/events": "*", + "@types/node": "*" + } + }, + "@types/algoliasearch": { + "version": "3.34.9", + "resolved": "https://registry.npmjs.org/@types/algoliasearch/-/algoliasearch-3.34.9.tgz", + "integrity": "sha512-cXCJh6g/gpYCBmwzDaEtne4AIlckI3wZNzI2YfTZCWruZNhk0U7DX7mip5VlzzpHMSZ3r1AAWjQLqXxXjZiAJw==" + }, + "@types/async": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/async/-/async-2.4.2.tgz", + "integrity": "sha512-bWBbC7VG2jdjbgZMX0qpds8U/3h3anfIqE81L8jmVrgFZw/urEDnBA78ymGGKTTK6ciBXmmJ/xlok+Re41S8ww==" + }, + "@types/bunyan": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.6.tgz", + "integrity": "sha512-YiozPOOsS6bIuz31ilYqR5SlLif4TBWsousN2aCWLi5233nZSX19tFbcQUPdR7xJ8ypPyxkCGNxg0CIV5n9qxQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/clipboard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/clipboard/-/clipboard-2.0.1.tgz", + "integrity": "sha512-gJJX9Jjdt3bIAePQRRjYWG20dIhAgEqonguyHxXuqALxsoDsDLimihqrSg8fXgVTJ4KZCzkfglKtwsh/8dLfbA==" + }, + "@types/configstore": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/configstore/-/configstore-2.1.1.tgz", + "integrity": "sha1-zR6FU2M60xhcPy8jns/10mQ+krY=" + }, + "@types/debug": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-0.0.29.tgz", + "integrity": "sha1-oeUUrfvZLwOiJLpU1pMRHb8fN1Q=" + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "@types/get-port": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/get-port/-/get-port-0.0.4.tgz", + "integrity": "sha1-62u3Qj2fiItjJmDcfS/T5po1ZD4=" + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/history": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.3.tgz", + "integrity": "sha512-cS5owqtwzLN5kY+l+KgKdRJ/Cee8tlmQoGQuIE9tWnSmS3JMKzmxo2HIAk2wODMifGwO20d62xZQLYz+RLfXmw==" + }, + "@types/is-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/is-function/-/is-function-1.0.0.tgz", + "integrity": "sha512-iTs9HReBu7evG77Q4EC8hZnqRt57irBDkK9nvmHroiOIVwYMQc4IvYvdRgwKfYepunIY7Oh/dBuuld+Gj9uo6w==" + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "24.9.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz", + "integrity": "sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q==", + "requires": { + "jest-diff": "^24.3.0" + } + }, + "@types/js-yaml": { + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.2.tgz", + "integrity": "sha512-0CFu/g4mDSNkodVwWijdlr8jH7RoplRWNgovjFLEZeT+QEbbZXjBmCe3HwaWheAlCbHwomTwzZoSedeOycABug==" + }, + "@types/json-schema": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", + "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==" + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + }, + "@types/mkdirp": { + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.3.29.tgz", + "integrity": "sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY=" + }, + "@types/node": { + "version": "12.7.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.12.tgz", + "integrity": "sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==" + }, + "@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==" + }, + "@types/reach__router": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.2.6.tgz", + "integrity": "sha512-Oh5DAVr/L2svBvubw6QEFpXGu295Y406BPs4i9t1n2pp7M+q3pmCmhzb9oZV5wncR41KCD3NHl1Yhi7uKnTPsA==", + "requires": { + "@types/history": "*", + "@types/react": "*" + } + }, + "@types/react": { + "version": "16.9.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.5.tgz", + "integrity": "sha512-jQ12VMiFOWYlp+j66dghOWcmDDwhca0bnlcTxS4Qz/fh5gi6wpaZDthPEu/Gc/YlAuO87vbiUXL8qKstFvuOaA==", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + } + }, + "@types/react-syntax-highlighter": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-10.1.0.tgz", + "integrity": "sha512-dF49hC4FZp1dIKyzacOrHvqMUe8U2IXyQCQXOcT1e6n64gLBp+xM6qGtPsThIT9XjiIHSg2W5Jc2V5IqekBfnA==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-textarea-autosize": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/react-textarea-autosize/-/react-textarea-autosize-4.3.4.tgz", + "integrity": "sha512-LLqG27BJGt8ja9x4umQXbnK9pRd0dI23X/GXBcuf476feOZ+e5QiKJYmWOHwAJC3YLl3YixDSigzfF4gzVQZ5w==", + "requires": { + "@types/react": "*" + } + }, + "@types/restify": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@types/restify/-/restify-4.3.6.tgz", + "integrity": "sha512-4l4f0EXnleXQttlhRCXtTuJ8UelsKiAKIK2AAEd2epBHu41aEbM0U2z6E5tUrNwlbxz7qaNBISduGMeg+G3PaA==", + "requires": { + "@types/bunyan": "*", + "@types/node": "*" + } + }, + "@types/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" + }, + "@types/tmp": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.0.32.tgz", + "integrity": "sha1-DTyzECL4Qn6ljACK8yuA2hJspOM=" + }, + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", + "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" + }, + "@types/vfile": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz", + "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==", + "requires": { + "@types/node": "*", + "@types/unist": "*", + "@types/vfile-message": "*" + } + }, + "@types/vfile-message": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz", + "integrity": "sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==", + "requires": { + "@types/node": "*", + "@types/unist": "*" + } + }, + "@types/webpack-env": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.14.1.tgz", + "integrity": "sha512-0Ki9jAAhKDSuLDXOIMADg54Hu60SuBTEsWaJGGy5cV+SSUQ63J2a+RrYYGrErzz39fXzTibhKrAQJAb8M7PNcA==" + }, + "@types/xml2js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@types/xml2js/-/xml2js-0.4.3.tgz", + "integrity": "sha512-Pv2HGRE4gWLs31In7nsyXEH4uVVsd0HNV9i2dyASvtDIlOtSTr1eczPLDpdEuyv5LWH5LT20GIXwPjkshKWI1g==", + "requires": { + "@types/events": "*", + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "13.0.8", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz", + "integrity": "sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz", + "integrity": "sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g==", + "requires": { + "@typescript-eslint/experimental-utils": "1.13.0", + "eslint-utils": "^1.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^2.0.1", + "tsutils": "^3.7.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", + "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "1.13.0", + "eslint-scope": "^4.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.13.0.tgz", + "integrity": "sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ==", + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "1.13.0", + "@typescript-eslint/typescript-estree": "1.13.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", + "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", + "requires": { + "lodash.unescape": "4.0.1", + "semver": "5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + } + } + }, + "@videojs/http-streaming": { + "version": "1.10.6", + "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-1.10.6.tgz", + "integrity": "sha512-uPBuunHnxWeFRYxRX0j6h1IIWv3+QKvSkZGmW9TvqxWBqeNGSrQymR6tm1nVjQ2HhMVxVphQTUhUTTPDVWqmQg==", + "requires": { + "aes-decrypter": "3.0.0", + "global": "^4.3.0", + "m3u8-parser": "4.4.0", + "mpd-parser": "0.8.1", + "mux.js": "5.2.1", + "url-toolkit": "^2.1.3", + "video.js": "^6.8.0 || ^7.0.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "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==" + }, + "@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==" + }, + "@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==" + }, + "@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==", + "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==" + }, + "@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==", + "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==" + }, + "@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==", + "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==", + "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==", + "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==" + }, + "@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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==" + }, + "@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==" + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" + }, + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==" + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "acorn-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", + "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==" + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" + }, + "aes-decrypter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-decrypter/-/aes-decrypter-3.0.0.tgz", + "integrity": "sha1-eEihwUW5/b9Xrj4rWxvHzwZEqPs=", + "requires": { + "commander": "^2.9.0", + "global": "^4.3.2", + "pkcs7": "^1.0.2" + } + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "agentkeepalive": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", + "integrity": "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=" + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "airbnb-js-shims": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/airbnb-js-shims/-/airbnb-js-shims-2.2.0.tgz", + "integrity": "sha512-pcSQf1+Kx7/0ibRmxj6rmMYc5V8SHlKu+rkQ80h0bjSLDaIxHg/3PiiFJi4A9mDc01CoBHoc8Fls2G/W0/+s5g==", + "requires": { + "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", + "array.prototype.flatmap": "^1.2.1", + "es5-shim": "^4.5.13", + "es6-shim": "^0.35.5", + "function.prototype.name": "^1.1.0", + "globalthis": "^1.0.0", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.0 || ^1.0.0", + "object.getownpropertydescriptors": "^2.0.3", + "object.values": "^1.1.0", + "promise.allsettled": "^1.0.0", + "promise.prototype.finally": "^3.1.0", + "string.prototype.matchall": "^3.0.1", + "string.prototype.padend": "^3.0.0", + "string.prototype.padstart": "^3.0.0", + "symbol.prototype.description": "^1.0.0" + } + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "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==" + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" + }, + "algoliasearch": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz", + "integrity": "sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==", + "requires": { + "agentkeepalive": "^2.2.0", + "debug": "^2.6.9", + "envify": "^4.0.0", + "es6-promise": "^4.1.0", + "events": "^1.1.0", + "foreach": "^2.0.5", + "global": "^4.3.2", + "inherits": "^2.0.1", + "isarray": "^2.0.1", + "load-script": "^1.0.0", + "object-keys": "^1.0.11", + "querystring-es3": "^0.2.1", + "reduce": "^1.0.1", + "semver": "^5.1.0", + "tunnel-agent": "^0.6.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" + } + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "algoliasearch-helper": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.1.0.tgz", + "integrity": "sha512-d48U2GIsGJr/fVV+W7Z1Ud6GWLSblKQgA71M254YNtxvniKFsbI0Z6hQZ/8yodfGWHjJ4dETeb7ihGKQaXihUw==", + "requires": { + "events": "^1.1.1" + }, + "dependencies": { + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + } + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "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=" + }, + "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==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.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==" + }, + "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==" + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansi-to-html": { + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.12.tgz", + "integrity": "sha512-qBkIqLW979675mP76yB7yVkzeAWtATegdnDQ0RA3CZzknx0yUlNxMSML4xFdBfTs2GWYFQ1FELfbGbVSPzJ+LA==", + "requires": { + "entities": "^1.1.2" + } + }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" + }, + "any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "any-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", + "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "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=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "app-root-dir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", + "integrity": "sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg=" + }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "requires": { + "default-require-extensions": "^1.0.0" + } + }, + "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==" + }, + "archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", + "requires": { + "file-type": "^4.2.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" + } + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "requires": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "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==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "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=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "array-iterate": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.3.tgz", + "integrity": "sha512-7MIv7HE9MuzfK6B2UnWv07oSHBLOaY1UUXAxZ07bIeRM+4IkPTlveMDs9MY//qvxPZPSvCn2XV4bmtQgSkVodg==" + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "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=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "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==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.15.0", + "function-bind": "^1.1.1" + } + }, + "array.prototype.flatmap": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.2.tgz", + "integrity": "sha512-ZZtPLE74KNE+0XcPv/vQmcivxN+8FhwOLvt2udHauO0aDEpsXDQrmd5HuJGpgPVyaV8HvkDPWnJ2iaem0oCKtA==", + "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==" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "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==", + "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==", + "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=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "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=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.12.4.tgz", + "integrity": "sha512-ky/YVYCbtVAS8TdMIaTiPFHwEpRB5z1hctepJplTr3UW5q8TDrpIMCILyk8pmLxGtn2KCtC/lSn7zOsaI7nzDw==" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "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==" + }, + "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=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "auto-bind": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-2.1.1.tgz", + "integrity": "sha512-NUwV1i9D3vxxY1KnfZgSZ716d6ovY7o8LfOwLhGIPFBowIb6Ln6DBW64+jCqPzUznel2hRSkQnYQqvh7/ldw8A==", + "optional": true, + "requires": { + "@types/react": "^16.8.12" + } + }, + "autoprefixer": { + "version": "9.6.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.4.tgz", + "integrity": "sha512-Koz2cJU9dKOxG8P1f8uVaBntOv9lP4yz9ffWvWaicv9gHBPhpQB22nGijwd8gqW9CNT+UdkbQOQNLVI8jN1ZfQ==", + "requires": { + "browserslist": "^4.7.0", + "caniuse-lite": "^1.0.30000998", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.18", + "postcss-value-parser": "^4.0.2" + } + }, + "aws-sdk": { + "version": "2.618.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.618.0.tgz", + "integrity": "sha512-GlwR9Eeolhm/D6NFuJosyatsdDeIeV68VRkACwt2v81seFGT7QAtpcRN72ZzVxLbeXSTMRgb6axJK17CS5whKw==", + "requires": { + "buffer": "4.9.1", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.15.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.3.2", + "xml2js": "0.4.19" + }, + "dependencies": { + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + } + } + }, + "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=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "axios": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", + "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + } + } + }, + "axobject-query": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", + "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "requires": { + "ast-types-flow": "0.0.7" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "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" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" + }, + "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==", + "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==", + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "^2.0.0" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + } + } + }, + "babel-helper-evaluate-path": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz", + "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==" + }, + "babel-helper-flip-expressions": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", + "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=" + }, + "babel-helper-is-nodes-equiv": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", + "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=" + }, + "babel-helper-is-void-0": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", + "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=" + }, + "babel-helper-mark-eval-scopes": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", + "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=" + }, + "babel-helper-remove-or-void": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", + "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=" + }, + "babel-helper-to-multiple-sequence-expressions": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz", + "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==" + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", + "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", + "requires": { + "babel-plugin-istanbul": "^4.1.6", + "babel-preset-jest": "^23.2.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==", + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + }, + "dependencies": { + "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==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + } + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-add-module-exports": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.3.3.tgz", + "integrity": "sha512-hC37mm7aAdEb1n8SgggG8a1QuhZapsY/XLCi4ETSH6AVjXBCWEa50CXlOsAMPPWLnSx5Ns6mzz39uvuseh0Xjg==", + "requires": { + "chokidar": "^2.0.4" + } + }, + "babel-plugin-add-react-displayname": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", + "integrity": "sha1-M51M3be2X9YtHfnbn+BN4TQSK9U=" + }, + "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==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-emotion": { + "version": "10.0.23", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.23.tgz", + "integrity": "sha512-1JiCyXU0t5S2xCbItejCduLGGcKmF3POT0Ujbexog2MI4IlRcIn/kWjkYwCUZlxpON0O5FC635yPl/3slr7cKQ==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.7.3", + "@emotion/memoize": "0.7.3", + "@emotion/serialize": "^0.11.14", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } + }, + "babel-plugin-istanbul": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "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=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + } + } + }, + "babel-plugin-jest-hoist": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz", + "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=" + }, + "babel-plugin-macros": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz", + "integrity": "sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==", + "requires": { + "@babel/runtime": "^7.4.2", + "cosmiconfig": "^5.2.0", + "resolve": "^1.10.0" + } + }, + "babel-plugin-minify-builtins": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz", + "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==" + }, + "babel-plugin-minify-constant-folding": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz", + "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==", + "requires": { + "babel-helper-evaluate-path": "^0.5.0" + } + }, + "babel-plugin-minify-dead-code-elimination": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz", + "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==", + "requires": { + "babel-helper-evaluate-path": "^0.5.0", + "babel-helper-mark-eval-scopes": "^0.4.3", + "babel-helper-remove-or-void": "^0.4.3", + "lodash": "^4.17.11" + } + }, + "babel-plugin-minify-flip-comparisons": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", + "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", + "requires": { + "babel-helper-is-void-0": "^0.4.3" + } + }, + "babel-plugin-minify-guarded-expressions": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz", + "integrity": "sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==", + "requires": { + "babel-helper-evaluate-path": "^0.5.0", + "babel-helper-flip-expressions": "^0.4.3" + } + }, + "babel-plugin-minify-infinity": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", + "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=" + }, + "babel-plugin-minify-mangle-names": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz", + "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==", + "requires": { + "babel-helper-mark-eval-scopes": "^0.4.3" + } + }, + "babel-plugin-minify-numeric-literals": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", + "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=" + }, + "babel-plugin-minify-replace": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz", + "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==" + }, + "babel-plugin-minify-simplify": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz", + "integrity": "sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==", + "requires": { + "babel-helper-evaluate-path": "^0.5.0", + "babel-helper-flip-expressions": "^0.4.3", + "babel-helper-is-nodes-equiv": "^0.0.1", + "babel-helper-to-multiple-sequence-expressions": "^0.5.0" + } + }, + "babel-plugin-minify-type-constructors": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", + "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", + "requires": { + "babel-helper-is-void-0": "^0.4.3" + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.4.tgz", + "integrity": "sha512-S6d+tEzc5Af1tKIMbsf2QirCcPdQ+mKUCY2H1nJj1DyA1ShwpsoxEOAwbWsG5gcXNV/olpvQd9vrUWRx4bnhpw==" + }, + "babel-plugin-react-docgen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-docgen/-/babel-plugin-react-docgen-3.2.0.tgz", + "integrity": "sha512-MZ3fhnJ+/tUDhWFGgWsajuLct/dD1xoprmStqrBgtt9flFLPrKIOKOfqwjXjsn6/THs5QrG5rkcDFE3TMMZDjQ==", + "requires": { + "lodash": "^4.17.15", + "react-docgen": "^4.1.1", + "recast": "^0.14.7" + } + }, + "babel-plugin-remove-graphql-queries": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.7.11.tgz", + "integrity": "sha512-w3PNFlgtn2HIiEb4/67Q1WkRUCPm9o0czT6Ow98E92PtOfeervUgF8z+As66iWXj8snhQCA5nckGzcJ1NEOCsw==" + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "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=" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "babel-plugin-transform-inline-consecutive-adds": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", + "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=" + }, + "babel-plugin-transform-member-expression-literals": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", + "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=" + }, + "babel-plugin-transform-merge-sibling-variables": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", + "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=" + }, + "babel-plugin-transform-minify-booleans": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", + "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=" + }, + "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=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-property-literals": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", + "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", + "requires": { + "esutils": "^2.0.2" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-plugin-transform-regexp-constructors": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", + "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=" + }, + "babel-plugin-transform-remove-console": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", + "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=" + }, + "babel-plugin-transform-remove-debugger": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", + "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=" + }, + "babel-plugin-transform-remove-undefined": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz", + "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==", + "requires": { + "babel-helper-evaluate-path": "^0.5.0" + } + }, + "babel-plugin-transform-simplify-comparison-operators": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", + "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=" + }, + "babel-plugin-transform-undefined-to-void": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", + "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=" + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "requires": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + } + } + }, + "babel-preset-fbjs": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz", + "integrity": "sha512-7QTLTCd2gwB2qGoi5epSULMHugSVgpcVt5YAeiFO9ABLrutDQzKfGwzxgZHLpugq8qMdg/DhRZDZ5CLKxBkEbw==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, + "babel-preset-gatsby": { + "version": "0.2.18", + "resolved": "https://registry.npmjs.org/babel-preset-gatsby/-/babel-preset-gatsby-0.2.18.tgz", + "integrity": "sha512-shJDlx0Fgof1mb8jHM1EOgAcf/k7utMBiQYp+6me8L5J6DNLjJqfNUoHroqwSZjGLvr7cF0siKF9pxVrQ5J2uA==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.5.5", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-transform-runtime": "^7.6.2", + "@babel/plugin-transform-spread": "^7.6.2", + "@babel/preset-env": "^7.6.3", + "@babel/preset-react": "^7.6.3", + "@babel/runtime": "^7.6.3", + "babel-plugin-dynamic-import-node": "^1.2.0", + "babel-plugin-macros": "^2.6.1", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + }, + "dependencies": { + "@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==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.2.0.tgz", + "integrity": "sha512-yeDwKaLgGdTpXL7RgGt5r6T4LmnTza/hUn5Ul8uZSGGMtEjYo13Nxai7SQaGCTEzUtg9Zq9qJn0EjEr7SeSlTQ==", + "requires": { + "babel-plugin-syntax-dynamic-import": "^6.18.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "babel-preset-jest": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", + "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", + "requires": { + "babel-plugin-jest-hoist": "^23.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" + } + }, + "babel-preset-minify": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz", + "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==", + "requires": { + "babel-plugin-minify-builtins": "^0.5.0", + "babel-plugin-minify-constant-folding": "^0.5.0", + "babel-plugin-minify-dead-code-elimination": "^0.5.1", + "babel-plugin-minify-flip-comparisons": "^0.4.3", + "babel-plugin-minify-guarded-expressions": "^0.4.4", + "babel-plugin-minify-infinity": "^0.4.3", + "babel-plugin-minify-mangle-names": "^0.5.0", + "babel-plugin-minify-numeric-literals": "^0.4.3", + "babel-plugin-minify-replace": "^0.5.0", + "babel-plugin-minify-simplify": "^0.5.1", + "babel-plugin-minify-type-constructors": "^0.4.3", + "babel-plugin-transform-inline-consecutive-adds": "^0.4.3", + "babel-plugin-transform-member-expression-literals": "^6.9.4", + "babel-plugin-transform-merge-sibling-variables": "^6.9.4", + "babel-plugin-transform-minify-booleans": "^6.9.4", + "babel-plugin-transform-property-literals": "^6.9.4", + "babel-plugin-transform-regexp-constructors": "^0.4.3", + "babel-plugin-transform-remove-console": "^6.9.4", + "babel-plugin-transform-remove-debugger": "^6.9.4", + "babel-plugin-transform-remove-undefined": "^0.5.0", + "babel-plugin-transform-simplify-comparison-operators": "^6.9.4", + "babel-plugin-transform-undefined-to-void": "^6.9.4", + "lodash": "^4.17.11" + } + }, + "babel-preset-react-app": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-9.0.2.tgz", + "integrity": "sha512-aXD+CTH8Chn8sNJr4tO/trWKqe5sSE4hdO76j9fhVezJSzmpWYWUSc5JoPmdSxADwef5kQFNGKXd433vvkd2VQ==", + "requires": { + "@babel/core": "7.6.0", + "@babel/plugin-proposal-class-properties": "7.5.5", + "@babel/plugin-proposal-decorators": "7.6.0", + "@babel/plugin-proposal-object-rest-spread": "7.5.5", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-transform-destructuring": "7.6.0", + "@babel/plugin-transform-flow-strip-types": "7.4.4", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-runtime": "7.6.0", + "@babel/preset-env": "7.6.0", + "@babel/preset-react": "7.0.0", + "@babel/preset-typescript": "7.6.0", + "@babel/runtime": "7.6.0", + "babel-plugin-dynamic-import-node": "2.3.0", + "babel-plugin-macros": "2.6.1", + "babel-plugin-transform-react-remove-prop-types": "0.4.24" + }, + "dependencies": { + "@babel/core": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.0.tgz", + "integrity": "sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==", + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.0", + "@babel/helpers": "^7.6.0", + "@babel/parser": "^7.6.0", + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.0", + "@babel/types": "^7.6.0", + "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" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", + "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz", + "integrity": "sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0" + } + }, + "@babel/preset-env": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.0.tgz", + "integrity": "sha512-1efzxFv/TcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX/ayi3owsSqoQ4fw8LkfK9SYg==", + "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.5.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@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.0", + "@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.4.4", + "@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.0", + "@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.2.0", + "@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.4.4", + "@babel/types": "^7.6.0", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + } + }, + "@babel/preset-react": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz", + "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==", + "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.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.0.tgz", + "integrity": "sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "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==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + }, + "dependencies": { + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "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" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "requires": { + "source-map": "^0.5.6" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "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" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "bail": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz", + "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==" + }, + "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==", + "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=", + "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==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "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==" + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, + "batch-processor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz", + "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "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=", + "requires": { + "callsite": "1.0.0" + } + }, + "better-opn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-1.0.0.tgz", + "integrity": "sha512-q3eO2se4sFbTERB1dFBDdjTiIIpRohMErpwBX21lhPvmgmQNNrcQj0zbWRhMREDesJvyod9kxBS3kOtdAvkB/A==", + "requires": { + "open": "^6.4.0" + } + }, + "better-queue": { + "version": "3.8.10", + "resolved": "https://registry.npmjs.org/better-queue/-/better-queue-3.8.10.tgz", + "integrity": "sha512-e3gwNZgDCnNWl0An0Tz6sUjKDV9m6aB+K9Xg//vYeo8+KiH8pWhLFxkawcXhm6FpM//GfD9IQv/kmvWCAVVpKA==", + "requires": { + "better-queue-memory": "^1.0.1", + "node-eta": "^0.9.0", + "uuid": "^3.0.0" + } + }, + "better-queue-memory": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/better-queue-memory/-/better-queue-memory-1.0.4.tgz", + "integrity": "sha512-SWg5wFIShYffEmJpI6LgbL8/3Dqhku7xI1oEiy6FroP9DbcZlG0ZDjxvPdP9t7hTGW40IpIcC6zVoGT1oxjOuA==" + }, + "bhttp": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/bhttp/-/bhttp-1.2.4.tgz", + "integrity": "sha1-/tDCT3ZbNa/ElAsIqzIUgT44848=", + "dev": true, + "requires": { + "bluebird": "^2.8.2", + "concat-stream": "^1.4.7", + "debug": "^2.1.1", + "dev-null": "^0.1.1", + "errors": "^0.2.0", + "extend": "^2.0.0", + "form-data2": "^1.0.0", + "form-fix-array": "^1.0.0", + "lodash": "^2.4.1", + "stream-length": "^1.0.2", + "string": "^3.0.0", + "through2-sink": "^1.0.0", + "through2-spy": "^1.2.0", + "tough-cookie": "^2.3.1" + }, + "dependencies": { + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "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" + } + }, + "extend": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-2.0.2.tgz", + "integrity": "sha512-AgFD4VU+lVLP6vjnlNfF7OeInLTyeyckCNPEsuxz1vi786UuK/nk6ynPuhn/h+Ju9++TQyr5EpLRI14fc1QtTQ==", + "dev": true + }, + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "bin-build": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", + "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", + "requires": { + "decompress": "^4.0.0", + "download": "^6.2.2", + "execa": "^0.7.0", + "p-map-series": "^1.0.0", + "tempfile": "^2.0.0" + }, + "dependencies": { + "download": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", + "requires": { + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + } + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", + "requires": { + "p-timeout": "^1.1.1" + } + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "^1.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", + "requires": { + "execa": "^0.7.0", + "executable": "^4.1.0" + } + }, + "bin-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", + "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", + "requires": { + "execa": "^1.0.0", + "find-versions": "^3.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "bin-version-check": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", + "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", + "requires": { + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "bin-wrapper": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", + "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", + "requires": { + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" + }, + "dependencies": { + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==" + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "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==" + }, + "bluebird": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz", + "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==" + }, + "bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "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=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "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==" + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "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=" + }, + "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==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.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==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "broken-link-checker": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/broken-link-checker/-/broken-link-checker-0.7.8.tgz", + "integrity": "sha512-/zH4/nLMNKDeDH5nVuf/R6WYd0Yjnar1NpcdAO2+VlwjGKzJa6y42C03UO+imBSHwe6BefSkVi82fImE2Rb7yg==", + "dev": true, + "requires": { + "bhttp": "^1.2.1", + "calmcard": "~0.1.1", + "chalk": "^1.1.3", + "char-spinner": "^1.0.1", + "condense-whitespace": "^1.0.0", + "default-user-agent": "^1.0.0", + "errno": "~0.1.4", + "extend": "^3.0.0", + "http-equiv-refresh": "^1.0.0", + "humanize-duration": "^3.9.1", + "is-stream": "^1.0.1", + "is-string": "^1.0.4", + "limited-request-queue": "^2.0.0", + "link-types": "^1.1.0", + "maybe-callback": "^2.1.0", + "nopter": "~0.3.0", + "parse5": "^3.0.2", + "robot-directives": "~0.3.0", + "robots-txt-guard": "~0.1.0", + "robots-txt-parse": "~0.0.4", + "urlcache": "~0.7.0", + "urlobj": "0.0.11" + }, + "dependencies": { + "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" + } + }, + "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 + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==" + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "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==", + "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==", + "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=", + "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=", + "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==", + "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==", + "requires": { + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" + } + }, + "bser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz", + "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "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==", + "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==" + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "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==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-modules": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", + "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==" + }, + "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=" + }, + "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==", + "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": { + "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==", + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "cache-manager": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-2.10.0.tgz", + "integrity": "sha512-IuPx05r5L0uZyBDYicB2Llld1o+/1WYjoHUnrC0TNQejMAnkoYxYS9Y8Uwr+lIBytDiyu7dwwmBCup2M9KugwQ==", + "requires": { + "async": "1.5.2", + "lru-cache": "4.0.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "lru-cache": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz", + "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=", + "requires": { + "pseudomap": "^1.0.1", + "yallist": "^2.0.0" + } + } + } + }, + "cache-manager-fs-hash": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/cache-manager-fs-hash/-/cache-manager-fs-hash-0.0.7.tgz", + "integrity": "sha512-7X+FPItAJf1tKKqJx6ljDJQc0fgSR5B+KPxFQLj+vYSL4q9XdrCbZldgsNb6wueRuIooj01wt0FubB08zaefRg==", + "requires": { + "es6-promisify": "^6.0.0", + "lockfile": "^1.0.4" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + } + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "requires": { + "is-plain-obj": "^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=" + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "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=" + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, + "calmcard": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/calmcard/-/calmcard-0.1.1.tgz", + "integrity": "sha1-NawrZkkrDtOa0GqJOg/25hEk5Ek=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + } + } + }, + "can-use-dom": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", + "integrity": "sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=" + }, + "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==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "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==" + }, + "capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", + "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", + "requires": { + "rsvp": "^3.3.3" + } + }, + "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==" + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "ccount": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz", + "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "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 + }, + "character-entities": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz", + "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==" + }, + "character-entities-html4": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz", + "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==" + }, + "character-entities-legacy": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz", + "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==" + }, + "character-reference-invalid": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz", + "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==" + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + }, + "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==", + "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==", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "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" + } + }, + "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==", + "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==" + }, + "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==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "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==", + "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=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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==", + "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==" + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cli-boxes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", + "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==" + }, + "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=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinner": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/cli-spinner/-/cli-spinner-0.2.10.tgz", + "integrity": "sha512-U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q==" + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "optional": 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-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "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=" + }, + "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" + } + }, + "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" + } + } + } + }, + "cli-truncate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", + "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", + "optional": true, + "requires": { + "slice-ansi": "^1.0.0", + "string-width": "^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=", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "optional": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "optional": true, + "requires": { + "is-fullwidth-code-point": "^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==", + "optional": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "optional": true, + "requires": { + "ansi-regex": "^3.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=" + }, + "clipboard": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", + "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "clipboardy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.1.0.tgz", + "integrity": "sha512-2pzOUxWcLlXWtn+Jd6js3o12TysNOOVes/aQfg+MT/35vrxWzedHlLwyoJpXjsFKWm95BTNEcMGD9+a7mKzZkQ==", + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + }, + "clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "requires": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "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=" + }, + "collapse-white-space": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz", + "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "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" + } + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "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==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "combined-stream2": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/combined-stream2/-/combined-stream2-1.1.2.tgz", + "integrity": "sha1-9uFLegFWZvjHsKH6xQYkAWSsNXA=", + "dev": true, + "requires": { + "bluebird": "^2.8.1", + "debug": "^2.1.1", + "stream-length": "^1.0.1" + }, + "dependencies": { + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "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 + } + } + }, + "comma-separated-tokens": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz", + "integrity": "sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ==" + }, + "command-exists": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", + "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "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==" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "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==", + "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=" + }, + "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=" + } + } + }, + "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" + } + }, + "concurrently": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.1.0.tgz", + "integrity": "sha512-9ViZMu3OOCID3rBgU31mjBftro2chOop0G2u1olq1OuwRBVRw/GxHTg80TVJBUTJfoswMmEUeuOg1g1yu1X2dA==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "date-fns": "^2.0.1", + "lodash": "^4.17.15", + "read-pkg": "^4.0.1", + "rxjs": "^6.5.2", + "spawn-command": "^0.0.2-1", + "supports-color": "^6.1.0", + "tree-kill": "^1.2.2", + "yargs": "^13.3.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 + }, + "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" + } + }, + "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 + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", + "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", + "dev": true, + "requires": { + "normalize-package-data": "^2.3.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0" + } + }, + "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 + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "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": "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" + } + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "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" + } + } + } + }, + "condense-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/condense-whitespace/-/condense-whitespace-1.0.0.tgz", + "integrity": "sha1-g3bZjvAo5sss0kaOKM5CxcZasak=", + "dev": true + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "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" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "confusing-browser-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==" + }, + "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==" + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "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=" + }, + "console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-hrtime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-2.0.0.tgz", + "integrity": "sha1-Gb+yyRYvnhHC8Ewsed4rfoCVxic=" + }, + "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==", + "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==", + "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" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.2.0.tgz", + "integrity": "sha512-eOZERzvCmxS8HWzugj4Uxl8OJxa7T2k1Gi0X5qavwydHIfuSHq2dTD09LOg/XyGq4Zpb5IsR/2OJ5lbOegz78w==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "copyfiles": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-1.2.0.tgz", + "integrity": "sha1-qNo6xBqiIgrim9PFi2mEKU8sWTw=", + "requires": { + "glob": "^7.0.5", + "ltcdr": "^2.2.1", + "minimatch": "^3.0.3", + "mkdirp": "^0.5.1", + "noms": "0.0.0", + "through2": "^2.0.1" + } + }, + "core-js": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.3.5.tgz", + "integrity": "sha512-0J3K+Par/ZydhKg8pEiTcK/9d65/nqJOzY62uMkjeBmt05fDOt/khUVjDdh8TpeIuGQDy1yLDDCjiWN/8pFIuw==" + }, + "core-js-compat": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", + "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", + "requires": { + "browserslist": "^4.6.6", + "semver": "^6.3.0" + } + }, + "core-js-pure": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.3.5.tgz", + "integrity": "sha512-njLfaPe3tS+8Swgx/itYgJ1jiizCWtNXrK1VzMoXbT6LhiYbIAQioukPmZlB2wTieJY2g4fLRUh96WfXpN61oA==" + }, + "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=" + }, + "corejs-upgrade-webpack-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-J0QMp9GNoiw91Kj/dkIQFZeiCXgXoja/Wlht1SPybxerBWh4NCmb0pOgCv61lrlQZETwvVVfAFAA3IqoEO9aqQ==", + "requires": { + "resolve-from": "^5.0.0", + "webpack": "^4.38.0" + } + }, + "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==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "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=", + "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==", + "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==", + "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" + } + }, + "create-react-context": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.3.tgz", + "integrity": "sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag==", + "requires": { + "fbjs": "^0.8.0", + "gud": "^1.0.0" + } + }, + "cross-fetch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.2.tgz", + "integrity": "sha1-pH/09/xxLauo9qaVoRyUhEDUVyM=", + "requires": { + "node-fetch": "2.1.2", + "whatwg-fetch": "2.0.4" + }, + "dependencies": { + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + } + } + }, + "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=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, + "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==", + "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=" + }, + "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=" + }, + "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==", + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.2.0.tgz", + "integrity": "sha512-QTF3Ud5H7DaZotgdcJjGMvyDj5F3Pn1j/sC6VBEOVp94cbwqyIBdcs/quzj4MC1BKQSrTpQznegH/5giYbhnCQ==", + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.17", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.1.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.0.0", + "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==", + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "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==" + }, + "css-selector-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.3.0.tgz", + "integrity": "sha1-XxrUPi2O77/cME/NOaUhZklD4+s=" + }, + "css-selector-tokenizer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", + "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "requires": { + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" + }, + "dependencies": { + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=" + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "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==", + "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=" + }, + "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==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "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==", + "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=" + }, + "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=" + }, + "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==", + "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==" + }, + "csso": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", + "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "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==", + "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==" + } + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "requires": { + "cssom": "0.3.x" + } + }, + "csstype": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.7.tgz", + "integrity": "sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cwebp-bin": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cwebp-bin/-/cwebp-bin-5.1.0.tgz", + "integrity": "sha512-BsPKStaNr98zfxwejWWLIGELbPERULJoD2v5ijvpeutSAGsegX7gmABgnkRK7MUucCPROXXfaPqkLAwI509JzA==", + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "logalot": "^2.1.0" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "damerau-levenshtein": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz", + "integrity": "sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA==" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", + "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==" + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "date-fns": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.7.0.tgz", + "integrity": "sha512-wxYp2PGoUDN5ZEACc61aOtYFvSsJUylIvCjpjDOqM1UDaKIIuMJ9fAnMYFHV3TQaDpfTVxhwNK/GiCaHKuemTA==" + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" + }, + "death": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", + "integrity": "sha1-AaqcQB7dknUFFEcLgmY5DGbGcxg=" + }, + "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=" + }, + "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=" + }, + "decompress": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", + "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", + "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=" + }, + "deep-map": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/deep-map/-/deep-map-1.5.0.tgz", + "integrity": "sha1-6qWVy4F4PKKADyakLgnxbn1PuJA=", + "requires": { + "es6-weak-map": "^2.0.2", + "lodash": "^4.17.4", + "tslib": "^1.6.0" + } + }, + "deep-object-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.0.tgz", + "integrity": "sha512-b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw==" + }, + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==" + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "requires": { + "strip-bom": "^2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "default-user-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-user-agent/-/default-user-agent-1.0.0.tgz", + "integrity": "sha1-FsRu/cq6PtxF8k8r1IaLAbfCrcY=", + "dev": true, + "requires": { + "os-name": "~1.0.3" + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "requires": { + "clone": "^1.0.2" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "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==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "degenerator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "requires": { + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + } + } + }, + "del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "requires": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "fast-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.0.tgz", + "integrity": "sha512-TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2" + } + }, + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "requires": { + "glob": "^7.1.3" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "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=" + }, + "detab": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.2.tgz", + "integrity": "sha512-Q57yPrxScy816TTE1P/uLRXLDKjXhvYTbfxS/e6lPD+YrqghbsMlGB9nQzj/zVtSPaF0DFPSdO916EWO4sQUyQ==", + "requires": { + "repeat-string": "^1.5.4" + } + }, + "detect-indent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=" + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, + "detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.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=" + } + } + }, + "dev-null": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dev-null/-/dev-null-0.1.1.tgz", + "integrity": "sha1-WiBc48Ky73e2I41roXnrdMag6Bg=", + "dev": true + }, + "devcert-san": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/devcert-san/-/devcert-san-0.3.3.tgz", + "integrity": "sha1-qnckR0Gy2DF3HAEfIu4l45atS6k=", + "requires": { + "@types/configstore": "^2.1.1", + "@types/debug": "^0.0.29", + "@types/get-port": "^0.0.4", + "@types/glob": "^5.0.30", + "@types/mkdirp": "^0.3.29", + "@types/node": "^7.0.11", + "@types/tmp": "^0.0.32", + "command-exists": "^1.2.2", + "configstore": "^3.0.0", + "debug": "^2.6.3", + "eol": "^0.8.1", + "get-port": "^3.0.0", + "glob": "^7.1.1", + "mkdirp": "^0.5.1", + "tmp": "^0.0.31", + "tslib": "^1.6.0" + }, + "dependencies": { + "@types/glob": { + "version": "5.0.36", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz", + "integrity": "sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/node": { + "version": "7.10.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.7.tgz", + "integrity": "sha512-4I7+hXKyq7e1deuzX9udu0hPIYqSSkdKXtjow6fMnQ3OR9qkxIErGHbGY08YrfZJrCS1ajK8lOuzd0k3n2WM4A==" + }, + "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=" + }, + "tmp": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", + "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "requires": { + "os-tmpdir": "~1.0.1" + } + } + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + }, + "diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + }, + "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==", + "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=", + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "dockerfile-ast": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.0.18.tgz", + "integrity": "sha512-SEp95qCox1KAzf8BBtjHoBDD0a7/eNlZJ6fgDf9RxqeSEDwLuEN9YjdZ/tRlkrYLxXR4i+kqZzS4eDRSqs8VKQ==", + "requires": { + "vscode-languageserver-types": "^3.5.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "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==", + "requires": { + "utila": "~0.4" + } + }, + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "dom-serializer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz", + "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==", + "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==" + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" + } + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "dom7": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-2.1.3.tgz", + "integrity": "sha512-QTxHHDox+M6ZFz1zHPAHZKI3JOHY5iY4i9BK2uctlggxKQwRhO3q3HHFq1BKsT25Bm/ySSj70K6Wk/G4bs9rMQ==", + "requires": { + "ssr-window": "^1.0.1" + } + }, + "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==" + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "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==", + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.1.0.tgz", + "integrity": "sha512-GUE3gqcDCaMltj2++g6bRQ5rBJWtkWTmqmD0fo1RnnMuUqHNCt2oTPeDnS9n6fKYvlhn7AeBkb38lymBtWBQdA==" + }, + "dotenv-defaults": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-1.0.2.tgz", + "integrity": "sha512-iXFvHtXl/hZPiFj++1hBg4lbKwGM+t/GlvELDnRtOFdjXyWP7mubkVr+eZGWG62kdsbulXAef6v/j6kiWc/xGA==", + "requires": { + "dotenv": "^6.2.0" + }, + "dependencies": { + "dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==" + } + } + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "dotenv-webpack": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.7.0.tgz", + "integrity": "sha512-wwNtOBW/6gLQSkb8p43y0Wts970A3xtNiG/mpwj9MLUhtPCQG6i+/DSXXoNN7fbPCU/vQ7JjwGmgOeGZSSZnsw==", + "requires": { + "dotenv-defaults": "^1.0.2" + } + }, + "dotnet-deps-parser": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/dotnet-deps-parser/-/dotnet-deps-parser-4.9.0.tgz", + "integrity": "sha512-V0O+7pI7Ei+iL5Kgy6nYq1UTwzrpqci5K/zf8cXyP5RWBSQBUl/JOE9I67zLUkKiwOdfPhbMQgcRj/yGA+NL1A==", + "requires": { + "@types/xml2js": "0.4.3", + "lodash": "^4.17.11", + "source-map-support": "^0.5.7", + "tslib": "^1.10.0", + "xml2js": "0.4.19" + }, + "dependencies": { + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + } + } + }, + "download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "requires": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "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=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "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==" + }, + "electron-to-chromium": { + "version": "1.3.280", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.280.tgz", + "integrity": "sha512-qYWNMjKLEfQAWZF2Sarvo+ahigu0EArnpCFSoUuZJS3W5wIeVfeEvsgmT2mgIrieQkeQ0+xFmykK3nx2ezekPQ==" + }, + "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 + }, + "element-resize-detector": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.1.15.tgz", + "integrity": "sha512-16/5avDegXlUxytGgaumhjyQoM6hpp5j3+L79sYq5hlXfTNRy5WMMuTVWkZU3egp/CokCmTmvf18P3KeB57Iog==", + "requires": { + "batch-processor": "^1.0.0" + } + }, + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "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" + } + }, + "email-validator": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/email-validator/-/email-validator-2.0.4.tgz", + "integrity": "sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "emotion-theming": { + "version": "10.0.19", + "resolved": "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.0.19.tgz", + "integrity": "sha512-dQRBPLAAQ6eA8JKhkLCIWC8fdjPbiNC1zNTdFF292h9amhZXofcNGUP7axHoHX4XesqQESYwZrXp53OPInMrKw==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/weak-memoize": "0.2.4", + "hoist-non-react-statics": "^3.3.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.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.4.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.0.tgz", + "integrity": "sha512-XCyYVWzcHnK5cMz7G4VTu2W7zJS7SM1QkcelghyIk/FmobWBtXE7fwhBusEKvCSqc3bMh8fNFMlUkCKTFRxH2w==", + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "0.3.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + } + } + }, + "engine.io-client": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.0.tgz", + "integrity": "sha512-a4J5QO2k99CM2a0b12IznnyQndoEvtA4UAldhGzKqnHf42I3Qs2W5SPnDvatZRcMaNZs4IevVicBPayxYt6FwA==", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~6.1.0", + "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=" + }, + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "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==", + "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==", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "envify": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz", + "integrity": "sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==", + "requires": { + "esprima": "^4.0.0", + "through": "~2.3.4" + } + }, + "envinfo": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.12.1.tgz", + "integrity": "sha512-pwdo0/G3CIkQ0y6PCXq4RdkvId2elvtPCJMG0konqlrfkWQbf1DWeH9K2b/cvu2YgGvPPTOnonZxXM1gikFu1w==" + }, + "eol": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/eol/-/eol-0.8.1.tgz", + "integrity": "sha1-3vwyJJkMfspzuzRGGlbPncJHYdA=" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "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==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.4.tgz", + "integrity": "sha512-fZ0KkoxSjLFmhW5lHbUT3tLwy3nX1qEzMYo8koY1vrsAco53CMT1djnBSeC/wUjTEZRhZl9iRw7PaMaxfJ4wzQ==", + "requires": { + "stackframe": "^1.1.0" + } + }, + "errors": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/errors/-/errors-0.2.0.tgz", + "integrity": "sha1-D1Hoidqj4RsZ5xhtEfEEqmbrJAM=", + "dev": true + }, + "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==", + "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==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es5-shim": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.13.tgz", + "integrity": "sha512-xi6hh6gsvDE0MaW4Vp1lgNEBpVcCXRWfPXj5egDvtgLz4L9MEvNwYEMdJH+JJinWkwa8c3c3o5HduV7dB/e1Hw==" + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "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": "6.0.2", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.2.tgz", + "integrity": "sha512-eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg==" + }, + "es6-shim": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.5.tgz", + "integrity": "sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg==" + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "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==", + "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=" + }, + "escodegen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", + "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "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==", + "optional": true + } + } + }, + "eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "import-fresh": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.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==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "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" + } + } + } + }, + "eslint-config-airbnb": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.0.1.tgz", + "integrity": "sha512-hLb/ccvW4grVhvd6CT83bECacc+s4Z3/AEyWQdIT2KeTsG9dR7nx1gs7Iw4tDmGKozCNHFn4yZmRm3Tgy+XxyQ==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^14.0.0", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0" + } + }, + "eslint-config-airbnb-base": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.0.0.tgz", + "integrity": "sha512-2IDHobw97upExLmsebhtfoD3NAKhV4H0CJWP3Uprd/uk+cHuWYOczPVxQ8PxLFUAw7o3Th1RAU8u1DoUpr+cMA==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.7", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0" + } + }, + "eslint-config-prettier": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.10.0.tgz", + "integrity": "sha512-AtndijGte1rPILInUdHjvKEGbIV06NuvPrqlIEaEaWtbtvJh464mDeyGMdZEQMsGvC0ZVkiex1fSNcC4HAbRGg==", + "requires": { + "get-stdin": "^6.0.0" + }, + "dependencies": { + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==" + } + } + }, + "eslint-config-react-app": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-4.0.1.tgz", + "integrity": "sha512-ZsaoXUIGsK8FCi/x4lT2bZR5mMkL/Kgj+Lnw690rbvvUr/uiwgFiD8FcfAhkCycm7Xte6O5lYz4EqMx2vX7jgw==", + "requires": { + "confusing-browser-globals": "^1.0.7" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "requires": { + "debug": "^2.6.9", + "resolve": "^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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-module-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", + "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", + "requires": { + "debug": "^2.6.8", + "pkg-dir": "^2.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" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "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=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", + "requires": { + "lodash": "^4.17.15" + } + }, + "eslint-plugin-graphql": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-graphql/-/eslint-plugin-graphql-3.1.0.tgz", + "integrity": "sha512-87HGS00aeBqGFiQZQGzSPzk1D59w+124F8CRIDATh3LJqce5RCTuUI4tcIqPeyY95YPBCIKwISksWUuA0nrgNw==", + "requires": { + "graphql-config": "^2.0.1", + "lodash": "^4.11.1" + } + }, + "eslint-plugin-import": { + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", + "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", + "requires": { + "array-includes": "^3.0.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.11.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" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz", + "integrity": "sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==", + "requires": { + "@babel/runtime": "^7.4.5", + "aria-query": "^3.0.0", + "array-includes": "^3.0.3", + "ast-types-flow": "^0.0.7", + "axobject-query": "^2.0.2", + "damerau-levenshtein": "^1.0.4", + "emoji-regex": "^7.0.2", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.1" + } + }, + "eslint-plugin-prettier": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", + "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "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==", + "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==", + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", + "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==" + }, + "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==", + "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==", + "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==" + }, + "espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "requires": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.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==" + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "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==", + "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==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-loop-spinner": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/event-loop-spinner/-/event-loop-spinner-1.1.0.tgz", + "integrity": "sha512-YVFs6dPpZIgH665kKckDktEVvSBccSYJmoZUfhNUdv5d3Xv+Q+SKF4Xis1jolq9aBzuW1ZZhQh/m/zU/TPdDhw==", + "requires": { + "tslib": "^1.10.0" + } + }, + "event-source-polyfill": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.9.tgz", + "integrity": "sha512-+x0BMKTYwZcmGmlkHK0GsXkX1+otfEwqu3QitN0wmWuHaZniw3HeIx1k5OjWX3JUHQHlPS4yONol6eokS1ZAWg==" + }, + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "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==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-buffer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", + "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", + "requires": { + "execa": "^0.7.0", + "p-finally": "^1.0.0", + "pify": "^3.0.0", + "rimraf": "^2.5.4", + "tempfile": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "requires": { + "merge": "^1.2.0" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "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" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "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=" + } + } + }, + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "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==", + "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=", + "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=", + "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=" + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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==" + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "expect": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz", + "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", + "requires": { + "ansi-styles": "^3.2.0", + "jest-diff": "^23.6.0", + "jest-get-type": "^22.1.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "requires": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.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" + }, + "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=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "express-graphql": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/express-graphql/-/express-graphql-0.9.0.tgz", + "integrity": "sha512-wccd9Lb6oeJ8yHpUs/8LcnGjFUUQYmOG9A5BNLybRdCzGw0PeUrtBxsIR8bfiur6uSW4OvPkVDoYH06z6/N9+w==", + "requires": { + "accepts": "^1.3.7", + "content-type": "^1.0.4", + "http-errors": "^1.7.3", + "raw-body": "^2.4.1" + }, + "dependencies": { + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + } + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==" + } + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "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==", + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "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==", + "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=", + "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=", + "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==", + "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==", + "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==", + "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=" + }, + "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=" + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "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=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "fastq": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", + "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", + "requires": { + "reusify": "^1.0.0" + } + }, + "fault": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.3.tgz", + "integrity": "sha512-sfFuP4X0hzrbGKjAUNXYvNqsZ5F6ohx/dZ9I0KQud/aiZNwg263r5L9yGB0clvXHCkzXh5W3t7RSHchggYIFmA==", + "requires": { + "format": "^0.2.2" + } + }, + "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==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "requires": { + "bser": "^2.0.0" + } + }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + } + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "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==", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + } + }, + "file-system-cache": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.0.5.tgz", + "integrity": "sha1-hCWbNqK7uNPW6xAh0xMv/mTP/08=", + "requires": { + "bluebird": "^3.3.5", + "fs-extra": "^0.30.0", + "ramda": "^0.21.0" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + } + } + }, + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" + }, + "filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "requires": { + "glob": "^7.0.3", + "minimatch": "^3.0.3" + } + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "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=", + "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": "3.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.0.0.tgz", + "integrity": "sha512-t7ulV1fmbxh5G9l/492O1p5+EBbr3uwpt6odhFTMc+nWyhmbloe+ja9BZ8pIBtqFWhOmCWVjx+pTW4zDkFoclw==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.0", + "pkg-dir": "^4.1.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==", + "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==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "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==", + "requires": { + "semver": "^6.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==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "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==" + }, + "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==", + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "find-versions": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.1.0.tgz", + "integrity": "sha512-NCTfNiVzeE/xL+roNDffGuRbrWI6atI18lTJ22vKp7rs2OhYzMK3W1dIdO2TUndH/QMcacM4d1uWwgcZcHK69Q==", + "requires": { + "array-uniq": "^2.1.0", + "semver-regex": "^2.0.0" + }, + "dependencies": { + "array-uniq": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-2.1.0.tgz", + "integrity": "sha512-bdHxtev7FN6+MXI1YFW0Q8mQ8dTJc2S8AMfju+ZR77pbg2yAdVyDlwkaUI7Har0LyOMRFPHrJ9lYdyjZZswdlQ==" + } + } + }, + "flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "requires": { + "is-buffer": "~2.0.3" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + } + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "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==", + "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==" + }, + "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==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "fn-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", + "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=" + }, + "focus-lock": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.6.6.tgz", + "integrity": "sha512-Dx69IXGCq1qsUExWuG+5wkiMqVM/zGx/reXSJSLogECwp3x6KeNQZ+NAetgxEFpnC41rD8U3+jRCW68+LNzdtw==" + }, + "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==", + "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==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "^1.0.1" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "fork-ts-checker-webpack-plugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz", + "integrity": "sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==", + "requires": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^2.0.4", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "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==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "form-data2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/form-data2/-/form-data2-1.0.3.tgz", + "integrity": "sha1-y6XiNgGmlE2Vq31xEf+Tl6XLKk0=", + "dev": true, + "requires": { + "bluebird": "^2.8.2", + "combined-stream2": "^1.0.2", + "debug": "^2.1.1", + "lodash": "^2.4.1", + "mime": "^1.2.11", + "uuid": "^2.0.1" + }, + "dependencies": { + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "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" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "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 + } + } + }, + "form-fix-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/form-fix-array/-/form-fix-array-1.0.0.tgz", + "integrity": "sha1-oTR6R+UxF6t7zb8+Lz7JHGZ2m8g=", + "dev": true + }, + "format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=" + }, + "formik": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/formik/-/formik-1.5.8.tgz", + "integrity": "sha512-fNvPe+ddbh+7xiByT25vuso2p2hseG/Yvuj211fV1DbCjljUEG9OpgRpcb7g7O3kxHX/q31cbZDzMxJXPWSNwA==", + "requires": { + "create-react-context": "^0.2.2", + "deepmerge": "^2.1.1", + "hoist-non-react-statics": "^3.3.0", + "lodash": "^4.17.14", + "lodash-es": "^4.17.14", + "prop-types": "^15.6.1", + "react-fast-compare": "^2.0.1", + "tiny-warning": "^1.0.2", + "tslib": "^1.9.3" + } + }, + "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=", + "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=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "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-exists-cached": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", + "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=" + }, + "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==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "dependencies": { + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + } + } + }, + "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-posix": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/fs-posix/-/fs-posix-6.0.0.tgz", + "integrity": "sha512-EL+fNbjqr+5Ghmn1rNFmKG2X1xJxregp/7dmbMfMuQjR4FqRxU76FsKiE0wT8S1q+T0Xm1eGeQzyyzUViMcSPQ==", + "requires": { + "git-win": "^2.2.4" + } + }, + "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=", + "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==", + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": true + }, + "aproba": { + "version": "1.2.0", + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": false, + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "resolved": false, + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": false, + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "optional": true + }, + "debug": { + "version": "4.1.1", + "resolved": false, + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": false, + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": false, + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "resolved": false, + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "optional": true + }, + "gauge": { + "version": "2.7.4", + "resolved": false, + "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" + } + }, + "glob": { + "version": "7.1.3", + "resolved": false, + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "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": false, + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": false, + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "resolved": false, + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": false, + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "optional": true + }, + "ini": { + "version": "1.3.5", + "resolved": false, + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": false, + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "optional": true + }, + "minipass": { + "version": "2.3.5", + "resolved": false, + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "resolved": false, + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": false, + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "resolved": false, + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "optional": true + }, + "needle": { + "version": "2.3.0", + "resolved": false, + "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "resolved": false, + "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", + "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": false, + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "resolved": false, + "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "resolved": false, + "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": false, + "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" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "optional": true + }, + "osenv": { + "version": "0.1.5", + "resolved": false, + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "optional": true + }, + "rc": { + "version": "1.2.8", + "resolved": false, + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "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": false, + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": false, + "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" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": false, + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": false, + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "optional": true + }, + "sax": { + "version": "1.2.4", + "resolved": false, + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "optional": true + }, + "semver": { + "version": "5.7.0", + "resolved": false, + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "optional": true + }, + "string-width": { + "version": "1.0.2", + "resolved": false, + "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": "1.1.1", + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": false, + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "optional": true + }, + "tar": { + "version": "4.4.8", + "resolved": false, + "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", + "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": false, + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": false, + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "optional": true + }, + "yallist": { + "version": "3.0.3", + "resolved": false, + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "optional": true + } + } + }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "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=" + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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==", + "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=" + }, + "functions-have-names": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.0.tgz", + "integrity": "sha512-zKXyzksTeaCSw5wIX79iCA40YAa6CJMJgNg9wdkU/ERBrIdPSimPICYiLp65lRbSBqtiHql/HZfS2DyI/AH6tQ==" + }, + "fuse.js": { + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.4.5.tgz", + "integrity": "sha512-s9PGTaQIkT69HaeoTVjwGsLfb8V8ScJLx5XGFcKHg0MqLUH/UZ4EKOtqtXX9k7AFqCGxD1aJmYb8Q5VYDibVRQ==" + }, + "gatsby": { + "version": "2.15.35", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.15.35.tgz", + "integrity": "sha512-xG5h5iNKIsoMirDjD1daGV/Ovt6vJBxQUT5RaMVat5e+nL9rR6Pik6rZprQ/Q9IiEOPe+3ocCzr2enCCFoe49w==", + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/core": "^7.6.3", + "@babel/parser": "^7.6.3", + "@babel/polyfill": "^7.6.0", + "@babel/runtime": "^7.6.3", + "@babel/traverse": "^7.6.3", + "@gatsbyjs/relay-compiler": "2.0.0-printer-fix.4", + "@hapi/joi": "^15.1.1", + "@mikaelkristiansson/domready": "^1.0.9", + "@pieh/friendly-errors-webpack-plugin": "1.7.0-chalk-2", + "@reach/router": "^1.2.1", + "@typescript-eslint/eslint-plugin": "^1.13.0", + "@typescript-eslint/parser": "^1.13.0", + "address": "1.1.2", + "autoprefixer": "^9.6.4", + "axios": "^0.19.0", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "^10.0.3", + "babel-loader": "^8.0.6", + "babel-plugin-add-module-exports": "^0.3.3", + "babel-plugin-dynamic-import-node": "^1.2.0", + "babel-plugin-remove-graphql-queries": "^2.7.11", + "babel-preset-gatsby": "^0.2.18", + "better-opn": "1.0.0", + "better-queue": "^3.8.10", + "bluebird": "^3.7.0", + "browserslist": "3.2.8", + "cache-manager": "^2.10.0", + "cache-manager-fs-hash": "^0.0.7", + "chalk": "^2.4.2", + "chokidar": "3.2.1", + "common-tags": "^1.8.0", + "compression": "^1.7.4", + "convert-hrtime": "^2.0.0", + "copyfiles": "^1.2.0", + "core-js": "^2.6.9", + "cors": "^2.8.5", + "css-loader": "^1.0.1", + "debug": "^3.2.6", + "del": "^5.1.0", + "detect-port": "^1.3.0", + "devcert-san": "^0.3.3", + "dotenv": "^8.1.0", + "eslint": "^5.16.0", + "eslint-config-react-app": "^4.0.1", + "eslint-loader": "^2.2.1", + "eslint-plugin-flowtype": "^3.13.0", + "eslint-plugin-graphql": "^3.1.0", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-react": "^7.16.0", + "eslint-plugin-react-hooks": "^1.7.0", + "event-source-polyfill": "^1.0.9", + "express": "^4.17.1", + "express-graphql": "^0.9.0", + "fast-levenshtein": "^2.0.6", + "file-loader": "^1.1.11", + "flat": "^4.1.0", + "fs-exists-cached": "1.0.0", + "fs-extra": "^8.1.0", + "gatsby-cli": "^2.7.58", + "gatsby-core-utils": "^1.0.13", + "gatsby-graphiql-explorer": "^0.2.23", + "gatsby-link": "^2.2.20", + "gatsby-plugin-page-creator": "^2.1.25", + "gatsby-react-router-scroll": "^2.1.12", + "gatsby-telemetry": "^1.1.30", + "glob": "^7.1.4", + "got": "8.3.2", + "graphql": "^14.5.8", + "graphql-compose": "^6.3.5", + "graphql-playground-middleware-express": "^1.7.12", + "invariant": "^2.2.4", + "is-relative": "^1.0.0", + "is-relative-url": "^3.0.0", + "is-wsl": "^2.1.1", + "jest-worker": "^24.9.0", + "json-loader": "^0.5.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "lokijs": "^1.5.7", + "md5": "^2.2.1", + "md5-file": "^3.2.3", + "micromatch": "^3.1.10", + "mime": "^2.4.4", + "mini-css-extract-plugin": "^0.8.0", + "mitt": "^1.1.3", + "mkdirp": "^0.5.1", + "moment": "^2.24.0", + "name-all-modules-plugin": "^1.0.1", + "normalize-path": "^2.1.1", + "null-loader": "^0.1.1", + "opentracing": "^0.14.4", + "optimize-css-assets-webpack-plugin": "^5.0.3", + "parseurl": "^1.3.3", + "physical-cpu-count": "^2.0.0", + "pnp-webpack-plugin": "^1.5.0", + "postcss-flexbugs-fixes": "^3.3.1", + "postcss-loader": "^2.1.6", + "prompts": "^2.2.1", + "prop-types": "^15.7.2", + "raw-loader": "^0.5.1", + "react-dev-utils": "^4.2.3", + "react-error-overlay": "^3.0.0", + "react-hot-loader": "^4.12.15", + "redux": "^4.0.4", + "redux-thunk": "^2.3.0", + "semver": "^5.7.1", + "shallow-compare": "^1.2.2", + "sift": "^5.1.0", + "signal-exit": "^3.0.2", + "slash": "^3.0.0", + "socket.io": "^2.3.0", + "stack-trace": "^0.0.10", + "string-similarity": "^1.2.2", + "style-loader": "^0.23.1", + "terser-webpack-plugin": "1.4.1", + "true-case-path": "^2.2.1", + "type-of": "^2.0.1", + "url-loader": "^1.1.2", + "util.promisify": "^1.0.0", + "uuid": "^3.3.3", + "v8-compile-cache": "^1.1.2", + "webpack": "~4.41.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-dev-server": "^3.8.2", + "webpack-hot-middleware": "^2.25.0", + "webpack-merge": "^4.2.2", + "webpack-stats-plugin": "^0.3.0", + "xstate": "^4.6.7", + "yaml-loader": "^0.5.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==" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.2.0.tgz", + "integrity": "sha512-yeDwKaLgGdTpXL7RgGt5r6T4LmnTza/hUn5Ul8uZSGGMtEjYo13Nxai7SQaGCTEzUtg9Zq9qJn0EjEr7SeSlTQ==", + "requires": { + "babel-plugin-syntax-dynamic-import": "^6.18.0" + } + }, + "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==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + }, + "chokidar": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.1.tgz", + "integrity": "sha512-/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.0", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.1.3" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + } + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "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=" + }, + "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" + } + } + } + }, + "configstore": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.0.tgz", + "integrity": "sha512-eE/hvMs7qw7DlcB5JPRnthmrITuHMmACUJAp89v6PT6iOqzoLS7HRWhBtuHMlhNHo2AhUSA/3Dh1bKNJHcublQ==", + "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" + } + }, + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "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==" + }, + "css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash": "^4.17.11", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + } + }, + "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" + } + }, + "detect-port-alt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.3.tgz", + "integrity": "sha1-pNLwYddXoDTs83xRQmCph1DysTE=", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.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=" + } + } + }, + "dot-prop": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.1.0.tgz", + "integrity": "sha512-n1oC6NBF+KM9oVXtjmen4Yo7HyAVWV2UUl50dCYJdw2924K6dX9bf9TTTWaKtYlRn0FEtxG27KS80ayVLixxJA==", + "requires": { + "is-obj": "^2.0.0" + } + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "requires": { + "original": ">=0.0.5" + } + }, + "execa": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", + "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^3.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^0.4.5" + } + }, + "filesize": { + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.11.tgz", + "integrity": "sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g==" + }, + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.0.tgz", + "integrity": "sha512-+iXhW3LuDQsno8dOIrCIT/CBjeBWuP7PXe8w9shnj9Lebny/Gx1ZjVBYwexLz36Ri2jKuXMNpV6CYNh8lHHgrQ==", + "optional": true + }, + "gatsby-cli": { + "version": "2.7.58", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.7.58.tgz", + "integrity": "sha512-f4Nu3DwRux4jXI/ZhI5HhhXmlqgI9Sq3u6CSCySPIYSeAO6NqZy60rPUqDSiya6LWwGsWuKd05N4J6CFwUNwYQ==", + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/runtime": "^7.6.3", + "@hapi/joi": "^15.1.1", + "better-opn": "^0.1.4", + "bluebird": "^3.7.0", + "chalk": "^2.4.2", + "ci-info": "^2.0.0", + "clipboardy": "^2.1.0", + "common-tags": "^1.8.0", + "configstore": "^5.0.0", + "convert-hrtime": "^2.0.0", + "core-js": "^2.6.9", + "envinfo": "^5.12.1", + "execa": "^2.1.0", + "fs-exists-cached": "^1.0.0", + "fs-extra": "^8.1.0", + "gatsby-telemetry": "^1.1.30", + "hosted-git-info": "^3.0.2", + "ink": "^2.5.0", + "ink-spinner": "^3.0.1", + "is-valid-path": "^0.1.1", + "lodash": "^4.17.15", + "meant": "^1.0.1", + "node-fetch": "^2.6.0", + "object.entries": "^1.1.0", + "opentracing": "^0.14.4", + "pretty-error": "^2.1.1", + "progress": "^2.0.3", + "prompts": "^2.2.1", + "react": "^16.10.2", + "resolve-cwd": "^2.0.0", + "semver": "^6.3.0", + "source-map": "0.7.3", + "stack-trace": "^0.0.10", + "strip-ansi": "^5.2.0", + "update-notifier": "^2.5.0", + "uuid": "3.3.3", + "yargs": "^12.0.5", + "yurnalist": "^1.1.1" + }, + "dependencies": { + "better-opn": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-0.1.4.tgz", + "integrity": "sha512-7V92EnOdjWOB9lKsVsthCcu1FdFT5qNJVTiOgGy5wPuTsSptMMxm2G1FGHgWu22MyX3tyDRzTWk4lxY2Ppdu7A==", + "requires": { + "opn": "^5.4.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.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==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "gzip-size": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", + "requires": { + "duplexer": "^0.1.1" + } + }, + "hosted-git-info": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.2.tgz", + "integrity": "sha512-ezZMWtHXm7Eb7Rq4Mwnx2vs79WUx2QmRg3+ZqeGroKzfDO+EprOcgRPYghsOP9JuYBfK18VojmRTGCg8Ma+ktw==", + "requires": { + "lru-cache": "^5.1.1" + } + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "requires": { + "postcss": "^6.0.1" + } + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "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" + } + } + } + }, + "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==" + }, + "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==", + "requires": { + "binary-extensions": "^2.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-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, + "is-root": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz", + "integrity": "sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU=" + }, + "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==" + }, + "is-wsl": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "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==", + "requires": { + "yallist": "^3.0.2" + } + }, + "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==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "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==", + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "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==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "requires": { + "brace-expansion": "^1.0.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==" + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "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==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "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=", + "requires": { + "path-key": "^2.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "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=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + }, + "path-key": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz", + "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==" + }, + "pnp-webpack-plugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz", + "integrity": "sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg==", + "requires": { + "ts-pnp": "^1.1.2" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.3.1.tgz", + "integrity": "sha512-9y9kDDf2F9EjKX6x9ueNa5GARvsUbXw4ezH8vXItXHwKzljbu8awP7t5dCaabKYm18Vs1lo5bKQcnc0HkISt+w==", + "requires": { + "postcss": "^6.0.1" + } + }, + "postcss-loader": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz", + "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^6.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^0.4.0" + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "requires": { + "postcss": "^6.0.1" + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "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==" + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=" + }, + "react-dev-utils": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-4.2.3.tgz", + "integrity": "sha512-uvmkwl5uMexCmC0GUv1XGQP0YjfYePJufGg4YYiukhqk2vN1tQxwWJIBERqhOmSi80cppZg8mZnPP/kOMf1sUQ==", + "requires": { + "address": "1.0.3", + "babel-code-frame": "6.26.0", + "chalk": "1.1.3", + "cross-spawn": "5.1.0", + "detect-port-alt": "1.1.3", + "escape-string-regexp": "1.0.5", + "filesize": "3.5.11", + "global-modules": "1.0.0", + "gzip-size": "3.0.0", + "inquirer": "3.3.0", + "is-root": "1.0.0", + "opn": "5.1.0", + "react-error-overlay": "^3.0.0", + "recursive-readdir": "2.2.1", + "shell-quote": "1.6.1", + "sockjs-client": "1.1.4", + "strip-ansi": "3.0.1", + "text-table": "0.2.0" + }, + "dependencies": { + "address": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz", + "integrity": "sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "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" + } + }, + "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=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "opn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "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=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "react-error-overlay": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-3.0.0.tgz", + "integrity": "sha512-XzgvowFrwDo6TWcpJ/WTiarb9UI6lhA4PMzS7n1joK3sHfBBBOQHUc0U4u57D6DWO9vHv6lVSWx2Q/Ymfyv4hw==" + }, + "readdirp": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.3.tgz", + "integrity": "sha512-ZOsfTGkjO2kqeR5Mzr5RYDbTGYneSkdNKX2fOX2P5jF7vMrd/GNnIAUtDldeHHumHUCQ3V05YfWUdxMPAsRu9Q==", + "requires": { + "picomatch": "^2.0.4" + } + }, + "recursive-readdir": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.1.tgz", + "integrity": "sha1-kO8jHQd4xc4JPJpI105cVCLROpk=", + "requires": { + "minimatch": "3.0.3" + } + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "sockjs-client": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", + "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "requires": { + "debug": "^2.6.6", + "eventsource": "0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" + }, + "dependencies": { + "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=" + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "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" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "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==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "which": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.1.tgz", + "integrity": "sha512-N7GBZOTswtB9lkQBZA4+zAXrjEIWAUOB93AvzUiudRzRxhUdLURQ7D/gAIMY1gatT/LTbmbcv8SiYazy3eYB7w==", + "requires": { + "isexe": "^2.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.0.tgz", + "integrity": "sha512-EIgkf60l2oWsffja2Sf2AL384dx328c0B+cIYPTQq5q2rOYuDV00/iPFBOUiDKKwKMOhkymH8AidPaRvzfxY+Q==", + "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==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "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==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "gatsby-core-utils": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-1.0.13.tgz", + "integrity": "sha512-vRbsebZxQASxUNfWqoSP3i8r87ibgpksKCqdCkoQBXJwjVKd8VM2dfScheaHE2OuxFZa2AEA0uyCGSiaF6yzUA==" + }, + "gatsby-graphiql-explorer": { + "version": "0.2.23", + "resolved": "https://registry.npmjs.org/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.2.23.tgz", + "integrity": "sha512-aX5dIQxmGGeUfvQx+sLvogq2I7+C/s1AZmgRgkeu+1XLC47g+SsulD92hyVI91Z7xLHTE0YX2OCGZfO7w/lm2A==", + "requires": { + "@babel/runtime": "^7.6.3" + } + }, + "gatsby-image": { + "version": "2.2.27", + "resolved": "https://registry.npmjs.org/gatsby-image/-/gatsby-image-2.2.27.tgz", + "integrity": "sha512-/NAX71EPTt1j96W3XibOJ+UUcDJfsvo18yoY3ilCM10iCiOm6sA+yT10IO448TQaLVXu+kf1T5isfq4KMgh53g==", + "requires": { + "@babel/runtime": "^7.6.3", + "object-fit-images": "^3.2.4", + "prop-types": "^15.7.2" + } + }, + "gatsby-link": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/gatsby-link/-/gatsby-link-2.2.20.tgz", + "integrity": "sha512-giAmg+s6s8IZ14U+fSdWFEQ85hvGxL2Ar9kl5h6+lRctu0D0h7VFGJddSdteIcLUspuZNdSk1VT9atTSO2bxQw==", + "requires": { + "@babel/runtime": "^7.6.3", + "@types/reach__router": "^1.2.6", + "prop-types": "^15.7.2" + } + }, + "gatsby-page-utils": { + "version": "0.0.25", + "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-0.0.25.tgz", + "integrity": "sha512-SJSBNg+wHi7xSYdE8Dme6faM26S7M6cO7pCVtxPSuEZvoXy1DTHRcfOAJzCdL9N2r+yYd/bMoqMX3llJjl1OoA==", + "requires": { + "@babel/runtime": "^7.6.3", + "bluebird": "^3.7.0", + "chokidar": "3.2.1", + "fs-exists-cached": "^1.0.0", + "glob": "^7.1.4", + "lodash": "^4.17.15", + "micromatch": "^3.1.10", + "slash": "^3.0.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "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==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.1.tgz", + "integrity": "sha512-/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.0", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.1.3" + } + }, + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.0.tgz", + "integrity": "sha512-+iXhW3LuDQsno8dOIrCIT/CBjeBWuP7PXe8w9shnj9Lebny/Gx1ZjVBYwexLz36Ri2jKuXMNpV6CYNh8lHHgrQ==", + "optional": true + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "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==", + "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==" + }, + "readdirp": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.3.tgz", + "integrity": "sha512-ZOsfTGkjO2kqeR5Mzr5RYDbTGYneSkdNKX2fOX2P5jF7vMrd/GNnIAUtDldeHHumHUCQ3V05YfWUdxMPAsRu9Q==", + "requires": { + "picomatch": "^2.0.4" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "gatsby-plugin-algolia": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-algolia/-/gatsby-plugin-algolia-0.5.0.tgz", + "integrity": "sha512-EsbFtGHUOfHQmXnK50PAkBA9vOkDDuikAv4JaT261NmVmlt9ReZtRM+BL+bTopJ/lJarXZbLdlnTjfE5LfSOyQ==", + "requires": { + "algoliasearch": "^3.24.5", + "gatsby-cli": "^1.1.58", + "lodash.chunk": "^4.2.0" + }, + "dependencies": { + "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": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "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" + } + }, + "detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=" + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "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" + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "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==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "gatsby-cli": { + "version": "1.1.58", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-1.1.58.tgz", + "integrity": "sha1-Xdoka5h3q5JfalEvcjwgVXryLVc=", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-runtime": "^6.26.0", + "bluebird": "^3.5.0", + "common-tags": "^1.4.0", + "convert-hrtime": "^2.0.0", + "core-js": "^2.5.0", + "envinfo": "^5.8.1", + "execa": "^0.8.0", + "fs-extra": "^4.0.1", + "hosted-git-info": "^2.5.0", + "lodash": "^4.17.4", + "pretty-error": "^2.1.1", + "resolve-cwd": "^2.0.0", + "source-map": "^0.5.7", + "stack-trace": "^0.0.10", + "update-notifier": "^2.3.0", + "yargs": "^11.1.0", + "yurnalist": "^0.2.1" + } + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.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==" + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "requires": { + "ci-info": "^1.5.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=" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=" + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "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==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "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=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "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" + } + }, + "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" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.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", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "requires": { + "camelcase": "^4.1.0" + } + }, + "yurnalist": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/yurnalist/-/yurnalist-0.2.1.tgz", + "integrity": "sha1-LTK5YYq2SRiRwTG9kKUpXhn9S60=", + "requires": { + "chalk": "^1.1.1", + "death": "^1.0.0", + "debug": "^2.2.0", + "detect-indent": "^5.0.0", + "inquirer": "^3.0.1", + "invariant": "^2.2.0", + "is-builtin-module": "^1.0.0", + "is-ci": "^1.0.10", + "leven": "^2.0.0", + "loud-rejection": "^1.2.0", + "node-emoji": "^1.0.4", + "object-path": "^0.11.2", + "read": "^1.0.7", + "rimraf": "^2.5.0", + "semver": "^5.1.0", + "strip-bom": "^3.0.0" + } + } + } + }, + "gatsby-plugin-catch-links": { + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/gatsby-plugin-catch-links/-/gatsby-plugin-catch-links-2.1.25.tgz", + "integrity": "sha512-6B+oTJLrqY3gJOO3G3DdyazSemcl/CFe7XLuBQmB5OfiReUsulu/w6NbgWP5KRRhXYQHtNoL2z19Z1xbRHJNOg==", + "requires": { + "@babel/runtime": "^7.7.6", + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", + "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "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==" + } + } + }, + "gatsby-plugin-google-analytics": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/gatsby-plugin-google-analytics/-/gatsby-plugin-google-analytics-2.1.35.tgz", + "integrity": "sha512-csZc0LgpMAw0cD27zpGKYHw41veYLLjoxT2guTY1hC3/tMRNZ38XUvO4TKcFGjgobppOg/UuLNF31YzjwJRmpA==", + "requires": { + "@babel/runtime": "^7.7.6" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", + "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "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==" + } + } + }, + "gatsby-plugin-manifest": { + "version": "2.2.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.2.21.tgz", + "integrity": "sha512-1q54c4AVA3IWF/oo9RbyWwiAjl5Q0t0wAEDncnNQ44amrOno1I5TDcX7uuQH5iMMIfSm6iv1fia9KcWw1/rv5g==", + "requires": { + "@babel/runtime": "^7.6.3", + "gatsby-core-utils": "^1.0.13", + "semver": "^5.7.1", + "sharp": "^0.23.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "gatsby-plugin-offline": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.0.14.tgz", + "integrity": "sha512-eMCw2mD2mr77xck/6/0EV6wO5rcXPk+kkQyiw8lgqx4eJ5AFmUp1U6FEVibFjm8yqvDlA9ldhvtxFKQSaQPNAQ==", + "requires": { + "@babel/runtime": "^7.6.3", + "cheerio": "^1.0.0-rc.3", + "glob": "^7.1.4", + "idb-keyval": "^3.2.0", + "lodash": "^4.17.15", + "slash": "^3.0.0", + "workbox-build": "^4.3.1" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "gatsby-plugin-page-creator": { + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.1.25.tgz", + "integrity": "sha512-YfxA1rTjZKXry8NGqxrHXnJJj/zgRnckUeLA0sG7EWDse+n+WktKPRAaQF/A25q4uI9O9/wyYj9UM7UG0XrG3g==", + "requires": { + "@babel/runtime": "^7.6.3", + "bluebird": "^3.7.0", + "fs-exists-cached": "^1.0.0", + "gatsby-page-utils": "^0.0.25", + "glob": "^7.1.4", + "lodash": "^4.17.15", + "micromatch": "^3.1.10" + } + }, + "gatsby-plugin-prefetch-google-fonts": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/gatsby-plugin-prefetch-google-fonts/-/gatsby-plugin-prefetch-google-fonts-1.4.3.tgz", + "integrity": "sha512-rrNGpdLkSEQWksM1A1cJnL/wuu9GLfAl8oPQgpn3cmpKd4jnXk+nbLyQOwKQlRYSrzpju59dY8oyf4UfSFbqPg==", + "requires": { + "@babel/runtime": "^7.2.0", + "clean-css": "^4.2.1", + "download": "^7.1.0", + "fs-extra": "^7.0.0", + "get-urls": "^8.0.0", + "globby": "^8.0.1", + "google-fonts-plugin": "2.0.2", + "object-hash": "^1.3.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==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + } + } + }, + "gatsby-plugin-react-helmet": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.1.11.tgz", + "integrity": "sha512-obVj6fzH0Hr6UdmQGaIYz29a1+h89pI+vKgIb2MwXCCDESCYgVYTcDmtBzYTZVLXupW6fqGlybFQwUKxEI0ZAQ==", + "requires": { + "@babel/runtime": "^7.6.3" + } + }, + "gatsby-plugin-react-helmet-canonical-urls": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-react-helmet-canonical-urls/-/gatsby-plugin-react-helmet-canonical-urls-1.4.0.tgz", + "integrity": "sha512-5g2eqFNh8GSCTvL25sNm84IJ6G79qKHSnOa9druxBj6x5Iw3EujZMv6I4nGMlW5EZlaSf9D5QHNGypUW6idPTg==", + "requires": { + "@babel/runtime": "^7.3.1" + } + }, + "gatsby-plugin-remove-trailing-slashes": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/gatsby-plugin-remove-trailing-slashes/-/gatsby-plugin-remove-trailing-slashes-2.1.10.tgz", + "integrity": "sha512-bIMvR8M7/1xo+/Js/b22op/cGu7GDgYz8nnfK9kXI+pt5Iu4fCY1aY4vH8wbBEW1TP71tm1/WN20QauY93pzlQ==", + "requires": { + "@babel/runtime": "^7.6.3" + } + }, + "gatsby-plugin-resolve-src": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-resolve-src/-/gatsby-plugin-resolve-src-2.0.0.tgz", + "integrity": "sha512-I8defckvufL/CDMWYvInO8eFwUU1NEQ8hSyUx886wsYlbUUdF2ZBAAJyfvKT7TpAH/dE0Snq29dMH0DMWOg06A==" + }, + "gatsby-plugin-s3": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/gatsby-plugin-s3/-/gatsby-plugin-s3-0.3.2.tgz", + "integrity": "sha512-o5ImJRwdlKe2QFMY6y3FNsPgXbk9wKBIpqRWw6cYxdMfdq+mf30lOAmPCgb6CuAyYk/gDtATIHbqpk+zTOEwMQ==", + "requires": { + "@types/async": "^2.4.1", + "@types/jest": "^24.0.0", + "@types/node": "^12.0.2", + "async": "^2.6.2", + "aws-sdk": "^2.382.0", + "chalk": "^2.4.1", + "fs-extra": "^7.0.1", + "fs-posix": "^6.0.0", + "inquirer": "^6.2.1", + "is-ci": "^2.0.0", + "jest": "^23.6.0", + "klaw": "^3.0.0", + "mime": "^2.4.0", + "minimatch": "^3.0.4", + "ora": "^3.0.0", + "pretty-error": "^2.1.1", + "snyk": "^1.198.0", + "stream-progressbar": "^1.1.1", + "stream-to-promise": "^2.2.0", + "yargs": "^12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.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==" + }, + "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=" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "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==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "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" + } + }, + "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" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "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==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "gatsby-plugin-sharp": { + "version": "2.2.29", + "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.2.29.tgz", + "integrity": "sha512-PGSnBU90s6qsY8tufaQhFvA00ZfV7Q+9EkRTAc01YiHg92Vepn5B2JY/RKVaoPAOX5I2EcJGD/rIYy1wsseKFA==", + "requires": { + "@babel/runtime": "^7.6.3", + "async": "^2.6.3", + "bluebird": "^3.7.0", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.0.13", + "got": "^8.3.2", + "imagemin": "^6.1.0", + "imagemin-mozjpeg": "^8.0.0", + "imagemin-pngquant": "^6.0.1", + "imagemin-webp": "^5.1.0", + "lodash": "^4.17.15", + "mini-svg-data-uri": "^1.1.3", + "potrace": "^2.1.2", + "probe-image-size": "^4.1.1", + "progress": "^2.0.3", + "semver": "^5.7.1", + "sharp": "^0.23.1", + "svgo": "^1.3.0", + "uuid": "^3.3.3" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "gatsby-plugin-sitemap": { + "version": "2.2.26", + "resolved": "https://registry.npmjs.org/gatsby-plugin-sitemap/-/gatsby-plugin-sitemap-2.2.26.tgz", + "integrity": "sha512-0kqMM6zD4IWha7Af6kfzwk78870S8XGpOVNJojgtQ83eUu6mKQXdRuae/i52hjclSDsEprbvUfQT0yMxgOotGw==", + "requires": { + "@babel/runtime": "^7.7.6", + "minimatch": "^3.0.4", + "pify": "^3.0.0", + "sitemap": "^1.13.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", + "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "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==" + } + } + }, + "gatsby-react-router-scroll": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/gatsby-react-router-scroll/-/gatsby-react-router-scroll-2.1.12.tgz", + "integrity": "sha512-2uB7PrSiPUbHj9hcv3XHlNyG4s/wm+lHiqHbTHGsU0LwbeQjRQ7hW0sCHGKq2tSvrLudkiCARB2KtS+4hECX7Q==", + "requires": { + "@babel/runtime": "^7.6.3", + "scroll-behavior": "^0.9.10", + "warning": "^3.0.0" + } + }, + "gatsby-remark-copy-linked-files": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/gatsby-remark-copy-linked-files/-/gatsby-remark-copy-linked-files-2.1.36.tgz", + "integrity": "sha512-WEvdRLvWHr8ftrHUfq/77N0AbraGN62fkWe4E+p8/SKPCXb7WV7sY67Z/npiBAh6bRMNWsy/UZpKEkOk/oz04A==", + "requires": { + "@babel/runtime": "^7.7.6", + "cheerio": "^1.0.0-rc.3", + "fs-extra": "^8.1.0", + "is-relative-url": "^3.0.0", + "lodash": "^4.17.15", + "path-is-inside": "^1.0.2", + "probe-image-size": "^4.1.1", + "unist-util-visit": "^1.4.1" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", + "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "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==" + } + } + }, + "gatsby-remark-images": { + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/gatsby-remark-images/-/gatsby-remark-images-3.1.30.tgz", + "integrity": "sha512-iednni/e2p55EaTz5HHEC7xd5u/1vpeYWuQkEa1uZglNdje8x+JS3/cXUFYE3/M9T/w+HXqk9WGtdPMUuoC9oA==", + "requires": { + "@babel/runtime": "^7.7.2", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.3", + "is-relative-url": "^3.0.0", + "lodash": "^4.17.15", + "mdast-util-definitions": "^1.2.5", + "potrace": "^2.1.2", + "query-string": "^6.8.3", + "slash": "^3.0.0", + "unist-util-select": "^1.5.0", + "unist-util-visit-parents": "^2.1.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.2.tgz", + "integrity": "sha512-JONRbXbTXc9WQE2mAZd1p0Z3DZ/6vaQIkgYMSTP3KjRCyd7rCZCcfhCyX+YjwcKxcZ82UrxbRD358bpExNgrjw==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "mdast-util-definitions": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.5.tgz", + "integrity": "sha512-CJXEdoLfiISCDc2JB6QLb79pYfI6+GcIH+W2ox9nMc7od0Pz+bovcHsiq29xAQY6ayqe/9CsK2VzkSJdg1pFYA==", + "requires": { + "unist-util-visit": "^1.0.0" + } + }, + "query-string": { + "version": "6.8.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.8.3.tgz", + "integrity": "sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ==", + "requires": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "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==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + } + } + }, + "gatsby-remark-prismjs": { + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/gatsby-remark-prismjs/-/gatsby-remark-prismjs-3.3.18.tgz", + "integrity": "sha512-QhYPy2XaB7+NNdgaCPaOhrE2m5XoVT1+lLA1IBDNVHzYJ9qI5so8reGsWqR1jqMkSImEeiNC3ndaVZ/mSJFrZw==", + "requires": { + "@babel/runtime": "^7.6.3", + "parse-numeric-range": "^0.0.2", + "unist-util-visit": "^1.4.1" + } + }, + "gatsby-remark-relative-images": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/gatsby-remark-relative-images/-/gatsby-remark-relative-images-0.2.3.tgz", + "integrity": "sha512-pxvFgCUfJrQ/ezwSpvdzrvJGyESleGsUetHXyQ7ybNlMxQvkrK6GYjit5nkuk6x+2UEiOhIBgkBEpaZ9xZCLpQ==", + "requires": { + "babel-polyfill": "^6.26.0", + "cheerio": "^1.0.0-rc.3", + "deep-map": "^1.5.0", + "is-relative-url": "^2.0.0", + "lodash": "^4.17.15", + "slash": "^2.0.0", + "unist-util-select": "^1.5.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=" + }, + "is-relative-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-relative-url/-/is-relative-url-2.0.0.tgz", + "integrity": "sha1-cpAtf+BLPUeS59sV+duEtyBMnO8=", + "requires": { + "is-absolute-url": "^2.0.0" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + } + } + }, + "gatsby-source-filesystem": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/gatsby-source-filesystem/-/gatsby-source-filesystem-2.1.31.tgz", + "integrity": "sha512-+P/2jKYKH3UWDgvvO2XpYy9izjXGAsvekomykf8usJpGMu+mLMEMmmM0CPEGMCMxo1HB74xEMjYxtw9KCtUaEw==", + "requires": { + "@babel/runtime": "^7.6.3", + "better-queue": "^3.8.10", + "bluebird": "^3.7.0", + "chokidar": "3.2.1", + "file-type": "^12.3.0", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.0.13", + "got": "^7.1.0", + "md5-file": "^3.2.3", + "mime": "^2.4.4", + "pretty-bytes": "^4.0.2", + "progress": "^2.0.3", + "read-chunk": "^3.2.0", + "valid-url": "^1.0.9", + "xstate": "^4.6.7" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "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==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.1.tgz", + "integrity": "sha512-/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.0", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.1.3" + } + }, + "file-type": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.3.0.tgz", + "integrity": "sha512-4E4Esq9KLwjYCY32E7qSmd0h7LefcniZHX+XcdJ4Wfx1uGJX7QCigiqw/U0yT7WOslm28yhxl87DJ0wHYv0RAA==" + }, + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.0.tgz", + "integrity": "sha512-+iXhW3LuDQsno8dOIrCIT/CBjeBWuP7PXe8w9shnj9Lebny/Gx1ZjVBYwexLz36Ri2jKuXMNpV6CYNh8lHHgrQ==", + "optional": true + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "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==", + "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==" + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "^1.0.0" + } + }, + "pretty-bytes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=" + }, + "readdirp": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.3.tgz", + "integrity": "sha512-ZOsfTGkjO2kqeR5Mzr5RYDbTGYneSkdNKX2fOX2P5jF7vMrd/GNnIAUtDldeHHumHUCQ3V05YfWUdxMPAsRu9Q==", + "requires": { + "picomatch": "^2.0.4" + } + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "gatsby-telemetry": { + "version": "1.1.30", + "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-1.1.30.tgz", + "integrity": "sha512-q2Mzcn9wk2iRlk1iDdrCFnWOw2tfzuiCnNEM+x/gsjtU4FWwDiCdcV0QIxwcPc5wDVxBB3dKrCh1EfZ7hHX9sg==", + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/runtime": "^7.6.3", + "bluebird": "^3.7.0", + "boxen": "^3.2.0", + "ci-info": "2.0.0", + "configstore": "^5.0.0", + "envinfo": "^5.12.1", + "fs-extra": "^8.1.0", + "git-up": "4.0.1", + "is-docker": "2.0.0", + "lodash": "^4.17.15", + "node-fetch": "2.6.0", + "resolve-cwd": "^2.0.0", + "source-map": "^0.7.3", + "stack-trace": "^0.0.10", + "stack-utils": "1.0.2", + "uuid": "3.3.3" + }, + "dependencies": { + "configstore": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.0.tgz", + "integrity": "sha512-eE/hvMs7qw7DlcB5JPRnthmrITuHMmACUJAp89v6PT6iOqzoLS7HRWhBtuHMlhNHo2AhUSA/3Dh1bKNJHcublQ==", + "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==" + }, + "dot-prop": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.1.0.tgz", + "integrity": "sha512-n1oC6NBF+KM9oVXtjmen4Yo7HyAVWV2UUl50dCYJdw2924K6dX9bf9TTTWaKtYlRn0FEtxG27KS80ayVLixxJA==", + "requires": { + "is-obj": "^2.0.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==" + }, + "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==", + "requires": { + "semver": "^6.0.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==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.0.tgz", + "integrity": "sha512-EIgkf60l2oWsffja2Sf2AL384dx328c0B+cIYPTQq5q2rOYuDV00/iPFBOUiDKKwKMOhkymH8AidPaRvzfxY+Q==", + "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==" + } + } + }, + "gatsby-transformer-json": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/gatsby-transformer-json/-/gatsby-transformer-json-2.2.16.tgz", + "integrity": "sha512-+zTIrCq+UH1w4EPbEOUCO+q9tnvyU1N7HVgpbcdj7cZWJ8O8Bn1LYNRWKeVMBTFkiJAD6y4e6xshPS2LxVDFMA==", + "requires": { + "@babel/runtime": "^7.6.3", + "bluebird": "^3.7.1" + }, + "dependencies": { + "bluebird": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==" + } + } + }, + "gatsby-transformer-remark": { + "version": "2.6.28", + "resolved": "https://registry.npmjs.org/gatsby-transformer-remark/-/gatsby-transformer-remark-2.6.28.tgz", + "integrity": "sha512-3hKZQeFi0xF2Gw6x5IYCyuyhtYxbywguz6K7nGp66GE0wKKbD9qwkg7/sJVMIKKExmiA+uVUIUwW4mfXsbkMvA==", + "requires": { + "@babel/runtime": "^7.6.3", + "bluebird": "^3.7.0", + "gatsby-core-utils": "^1.0.13", + "gray-matter": "^4.0.2", + "hast-util-raw": "^4.0.0", + "hast-util-to-html": "^4.0.1", + "lodash": "^4.17.15", + "mdast-util-to-hast": "^3.0.4", + "mdast-util-to-string": "^1.0.6", + "mdast-util-toc": "^2.1.0", + "remark": "^10.0.1", + "remark-parse": "^6.0.3", + "remark-retext": "^3.1.3", + "remark-stringify": "^5.0.0", + "retext-english": "^3.0.3", + "sanitize-html": "^1.20.1", + "underscore.string": "^3.3.5", + "unified": "^6.2.0", + "unist-util-remove-position": "^1.1.3", + "unist-util-select": "^1.5.0", + "unist-util-visit": "^1.4.1" + } + }, + "gatsby-transformer-sharp": { + "version": "2.2.21", + "resolved": "https://registry.npmjs.org/gatsby-transformer-sharp/-/gatsby-transformer-sharp-2.2.21.tgz", + "integrity": "sha512-GjwXrxorTb6zAkdDwlxKpvBa6aXw1tOBgpURxW+xjivCi3sZnpjCEG38HaxsYoaOfutk+Q4xxoFIWCnZJCg15g==", + "requires": { + "@babel/runtime": "^7.6.3", + "bluebird": "^3.7.0", + "fs-extra": "^8.1.0", + "potrace": "^2.1.2", + "probe-image-size": "^4.1.1", + "semver": "^5.7.1", + "sharp": "^0.23.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "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==" + }, + "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==" + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "get-uri": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz", + "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", + "requires": { + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "~3.0.2", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "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=" + } + } + }, + "get-urls": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-urls/-/get-urls-8.0.0.tgz", + "integrity": "sha512-9c6aVD6HqnpFjqWSoRzSGNo69hNnSa8EevNFVeIRSLYqYlIJNvtHgrqiQ1sUjHwbZPBY5gO1FMlVjmElfdneqw==", + "requires": { + "normalize-url": "^3.3.0", + "url-regex": "^4.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-up": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.1.tgz", + "integrity": "sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw==", + "requires": { + "is-ssh": "^1.3.0", + "parse-url": "^5.0.0" + } + }, + "git-url-parse": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.1.2.tgz", + "integrity": "sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ==", + "requires": { + "git-up": "^4.0.0" + } + }, + "git-win": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/git-win/-/git-win-2.3.0.tgz", + "integrity": "sha512-9HWW6WK4nel4iI6B0zBSiH5emQIVCik9oX+fwTGYDsNKal9VxjnKMLa3wspjz5QP7shb9sEUKYy8B0QW/rATng==", + "optional": true, + "requires": { + "@babel/runtime": "^7.2.0", + "fs-extra": "^7.0.1", + "got": "^9.5.0", + "in-gfw": "^1.2.0", + "nugget": "^2.0.1" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "optional": true + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "optional": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "optional": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "optional": true + } + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "optional": true, + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "optional": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-Z2EICWNJou7Tr9Bd2M2UqDJq3A9F2ePG9w3lIpjoyuSyXFP9QbniJVu3XQYytuw5ebmG7dXSXO9PgAjJG8DDKA==", + "optional": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "optional": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "optional": true + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "optional": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "optional": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "optional": true, + "requires": { + "prepend-http": "^2.0.0" + } + } + } + }, + "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=" + }, + "github-slugger": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.1.tgz", + "integrity": "sha512-SsZUjg/P03KPzQBt7OxJPasGw6NRO5uOgiZ5RGXVud5iSIZ0eNZeNp5rTwCxtavrRUa/A77j8mePVc5lEvk0KQ==", + "requires": { + "emoji-regex": ">=6.0.0 <=6.1.1" + }, + "dependencies": { + "emoji-regex": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", + "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" + } + } + }, + "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-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^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=", + "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=", + "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=" + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "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==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globalthis": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.0.tgz", + "integrity": "sha512-vcCAZTJ3r5Qcu5l8/2oyVdoFwxKgfYnMTR2vwWeux/NAVZK3PwcMaWkdUIn4GJbmKuRK7xcvDsLuK+CKcXyodg==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "object-keys": "^1.0.12" + } + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "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" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "^3.1.2" + } + }, + "google-fonts-plugin": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/google-fonts-plugin/-/google-fonts-plugin-2.0.2.tgz", + "integrity": "sha512-pWYFe6zoLA6uIUpSr/pkakf3DwA2fYgpStfe54AmkiKTHMCUILvtqihHaS2f4SqbTpdpEUYVTMMgvs2ur1ge8g==", + "requires": { + "axios": "^0.18.0", + "cssnano": "^4.0.5", + "mkdirp": "^0.5.1", + "neon-js": "^1.1.2", + "path": "^0.12.7" + }, + "dependencies": { + "axios": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + } + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + } + } + }, + "google-maps-react": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/google-maps-react/-/google-maps-react-2.0.2.tgz", + "integrity": "sha512-6cYauGwt22haDUrWxKQ6yoNOqjiuxHo8YYcmb+aBvNICokdXmZOUB6Ah4vD5VexMVlrwP2PFqA/D8sHpEB52KA==" + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + } + } + }, + "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==" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "requires": { + "lodash": "^4.17.15" + } + }, + "graphql": { + "version": "14.5.8", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.5.8.tgz", + "integrity": "sha512-MMwmi0zlVLQKLdGiMfWkgQD7dY/TUKt4L+zgJ/aR0Howebod3aNgP5JkgvAULiR2HPVZaP2VEElqtdidHweLkg==", + "requires": { + "iterall": "^1.2.2" + } + }, + "graphql-compose": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/graphql-compose/-/graphql-compose-6.3.5.tgz", + "integrity": "sha512-XUpp7JqbaQ+vK/Nw4Jw0CQKs3UU8YFz3wpbBz+6WvPhrMkexco0bIbK4iGW9okQT7+/toAphEdVO4HFqM7lk2w==", + "requires": { + "graphql-type-json": "^0.2.4", + "object-path": "^0.11.4" + } + }, + "graphql-config": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.2.1.tgz", + "integrity": "sha512-U8+1IAhw9m6WkZRRcyj8ZarK96R6lQBQ0an4lp76Ps9FyhOXENC5YQOxOFGm5CxPrX2rD0g3Je4zG5xdNJjwzQ==", + "requires": { + "graphql-import": "^0.7.1", + "graphql-request": "^1.5.0", + "js-yaml": "^3.10.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.4" + } + }, + "graphql-import": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.7.1.tgz", + "integrity": "sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw==", + "requires": { + "lodash": "^4.17.4", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "graphql-playground-html": { + "version": "1.6.12", + "resolved": "https://registry.npmjs.org/graphql-playground-html/-/graphql-playground-html-1.6.12.tgz", + "integrity": "sha512-yOYFwwSMBL0MwufeL8bkrNDgRE7eF/kTHiwrqn9FiR9KLcNIl1xw9l9a+6yIRZM56JReQOHpbQFXTZn1IuSKRg==" + }, + "graphql-playground-middleware-express": { + "version": "1.7.12", + "resolved": "https://registry.npmjs.org/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.12.tgz", + "integrity": "sha512-17szgonnVSxWVrgblLRHHLjWnMUONfkULIwSunaMvYx8k5oG3yL86cyGCbHuDFUFkyr2swLhdfYl4mDfDXuvOA==", + "requires": { + "graphql-playground-html": "1.6.12" + } + }, + "graphql-request": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz", + "integrity": "sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==", + "requires": { + "cross-fetch": "2.2.2" + } + }, + "graphql-type-json": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.2.4.tgz", + "integrity": "sha512-/tq02ayMQjrG4oDFDRLLrPk0KvJXue0nVXoItBe7uAdbNXjQUu+HYCBdAmPLQoseVzUKKMzrhq2P/sfI76ON6w==" + }, + "gray-matter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.2.tgz", + "integrity": "sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==", + "requires": { + "js-yaml": "^3.11.0", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + } + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" + }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==" + }, + "handlebars": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz", + "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==", + "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==" + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "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==", + "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==", + "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=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "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=" + } + } + }, + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "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=", + "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=", + "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=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hast-to-hyperscript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-5.0.0.tgz", + "integrity": "sha512-DLl3eYTz8uwwzEubDUdCChsR5t5b2ne+yvHrA2h58Suq/JnN3+Gsb9Tc4iZoCCsykmFUc6UUpwxTmQXs0akSeg==", + "requires": { + "comma-separated-tokens": "^1.0.0", + "property-information": "^4.0.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.2.1", + "unist-util-is": "^2.0.0", + "web-namespaces": "^1.1.2" + }, + "dependencies": { + "property-information": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz", + "integrity": "sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==", + "requires": { + "xtend": "^4.0.1" + } + }, + "unist-util-is": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", + "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" + } + } + }, + "hast-util-from-parse5": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-4.0.2.tgz", + "integrity": "sha512-I6dtjsGtDqz4fmGSiFClFyiXdKhj5bPceS6intta7k/VDuiKz9P61C6hO6WMiNNmEm1b/EtBH8f+juvz4o0uwQ==", + "requires": { + "ccount": "^1.0.3", + "hastscript": "^4.0.0", + "property-information": "^4.0.0", + "web-namespaces": "^1.1.2", + "xtend": "^4.0.1" + }, + "dependencies": { + "hastscript": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-4.1.0.tgz", + "integrity": "sha512-bOTn9hEfzewvHyXdbYGKqOr/LOz+2zYhKbC17U2YAjd16mnjqB1BQ0nooM/RdMy/htVyli0NAznXiBtwDi1cmQ==", + "requires": { + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.2.0", + "property-information": "^4.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "property-information": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz", + "integrity": "sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==", + "requires": { + "xtend": "^4.0.1" + } + } + } + }, + "hast-util-is-element": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz", + "integrity": "sha512-C62CVn7jbjp89yOhhy7vrkSaB7Vk906Gtcw/Ihd+Iufnq+2pwOZjdPmpzpKLWJXPJBMDX3wXg4FqmdOayPcewA==" + }, + "hast-util-parse-selector": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz", + "integrity": "sha512-jIMtnzrLTjzqgVEQqPEmwEZV+ea4zHRFTP8Z2Utw0I5HuBOXHzUPPQWr6ouJdJqDKLbFU/OEiYwZ79LalZkmmw==" + }, + "hast-util-raw": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-4.0.0.tgz", + "integrity": "sha512-5xYHyEJMCf8lX/NT4iA5z6N43yoFsrJqXJ5GWwAbLn815URbIz+UNNFEgid33F9paZuDlqVKvB+K3Aqu5+DdSw==", + "requires": { + "hast-util-from-parse5": "^4.0.2", + "hast-util-to-parse5": "^4.0.1", + "html-void-elements": "^1.0.1", + "parse5": "^5.0.0", + "unist-util-position": "^3.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.1", + "zwitch": "^1.0.0" + }, + "dependencies": { + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + } + } + }, + "hast-util-to-html": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz", + "integrity": "sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg==", + "requires": { + "ccount": "^1.0.0", + "comma-separated-tokens": "^1.0.1", + "hast-util-is-element": "^1.0.0", + "hast-util-whitespace": "^1.0.0", + "html-void-elements": "^1.0.0", + "property-information": "^4.0.0", + "space-separated-tokens": "^1.0.0", + "stringify-entities": "^1.0.1", + "unist-util-is": "^2.0.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "property-information": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz", + "integrity": "sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==", + "requires": { + "xtend": "^4.0.1" + } + }, + "unist-util-is": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", + "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" + } + } + }, + "hast-util-to-parse5": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-4.0.1.tgz", + "integrity": "sha512-U/61W+fsNfBpCyJBB5Pt3l5ypIfgXqEyW9pyrtxF7XrqDJHzcFrYpnC94d0JDYjvobLpYCzcU9srhMRPEO1YXw==", + "requires": { + "hast-to-hyperscript": "^5.0.0", + "property-information": "^4.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.1", + "zwitch": "^1.0.0" + }, + "dependencies": { + "property-information": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz", + "integrity": "sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==", + "requires": { + "xtend": "^4.0.1" + } + } + } + }, + "hast-util-whitespace": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz", + "integrity": "sha512-AlkYiLTTwPOyxZ8axq2/bCwRUPjIPBfrHkXuCR92B38b3lSdU22R5F/Z4DL6a2kxWpekWq1w6Nj48tWat6GeRA==" + }, + "hastscript": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.0.tgz", + "integrity": "sha512-7mOQX5VfVs/gmrOGlN8/EDfp1GqV6P3gTNVt+KnX4gbYhpASTM8bklFdFQCbFRAadURXAmw0R1QQdBdqp7jswQ==", + "requires": { + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.2.0", + "property-information": "^5.0.1", + "space-separated-tokens": "^1.0.0" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "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==" + }, + "highlight.js": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", + "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "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-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "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==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "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=" + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "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==" + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" + }, + "html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "requires": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + } + }, + "html-void-elements": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.4.tgz", + "integrity": "sha512-yMk3naGPLrfvUV9TdDbuYXngh/TpHbA6TrOw3HL9kS8yhwx7i309BReNg7CbAJXGE+UMJ6je5OqJ7lC63o6YuQ==" + }, + "html-webpack-plugin": { + "version": "4.0.0-beta.8", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.8.tgz", + "integrity": "sha512-n5S2hJi3/vioRvEDswZP2WFgZU8TUqFoYIrkg5dt+xDC4TigQEhIcl4Y81Qs2La/EqKWuJZP8+ikbHGVmzQ4Mg==", + "requires": { + "html-minifier": "^4.0.0", + "loader-utils": "^1.2.3", + "lodash": "^4.17.11", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "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": { + "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" + } + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + }, + "http-equiv-refresh": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-1.0.0.tgz", + "integrity": "sha1-jsU4hmBCvl8/evpzfRmNlL6xsHs=", + "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=" + }, + "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==", + "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==", + "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==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "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==", + "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=", + "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=" + }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "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" + } + } + } + }, + "humanize-duration": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.21.0.tgz", + "integrity": "sha512-7BLsrQZ2nMGeakmGDUl1pDne6/7iAdvwf1RtDLCOPHNFIHjkOVW7lcu7xHkIM9HhZAlSSO5crhC1dHvtl4dIQw==", + "dev": true + }, + "husky": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/husky/-/husky-3.0.8.tgz", + "integrity": "sha512-HFOsgcyrX3qe/rBuqyTt+P4Gxn5P0seJmr215LAZ/vnwK3jWB3r0ck7swbzGRUbufCf9w/lgHPVbF/YXQALgfQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cosmiconfig": "^5.2.1", + "execa": "^1.0.0", + "get-stdin": "^7.0.0", + "is-ci": "^2.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^4.2.0", + "please-upgrade-node": "^3.2.0", + "read-pkg": "^5.1.1", + "run-node": "^1.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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-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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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 + } + } + }, + "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" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "requires": { + "postcss": "^7.0.14" + } + }, + "idb-keyval": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-3.2.0.tgz", + "integrity": "sha512-slx8Q6oywCCSfKgPgL0sEsXtPVnSbTLWpyiDcu6msHOyKOLari1TD1qocXVCft80umnkk3/Qqh3lwoFt8T/BPQ==" + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + }, + "imagemin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-6.1.0.tgz", + "integrity": "sha512-8ryJBL1CN5uSHpiBMX0rJw79C9F9aJqMnjGnrd/1CafegpNuA81RBAAru/jQQEOWlOJJlpRnlcVFF6wq+Ist0A==", + "requires": { + "file-type": "^10.7.0", + "globby": "^8.0.1", + "make-dir": "^1.0.0", + "p-pipe": "^1.1.0", + "pify": "^4.0.1", + "replace-ext": "^1.0.0" + }, + "dependencies": { + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + } + } + }, + "imagemin-mozjpeg": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.0.tgz", + "integrity": "sha512-+EciPiIjCb8JWjQNr1q8sYWYf7GDCNDxPYnkD11TNIjjWNzaV+oTg4DpOPQjl5ZX/KRCPMEgS79zLYAQzLitIA==", + "requires": { + "execa": "^1.0.0", + "is-jpg": "^2.0.0", + "mozjpeg": "^6.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "imagemin-pngquant": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-6.0.1.tgz", + "integrity": "sha512-Stk+fZCLxZznV8MFNA/T3AY/VRKevsiP9uZOLV0RCXoi0vUUFriySYuz/83IGp9D254EW8miGyyQ69zKouFr7w==", + "requires": { + "execa": "^0.10.0", + "is-png": "^1.0.0", + "is-stream": "^1.1.0", + "pngquant-bin": "^5.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "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" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "imagemin-webp": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/imagemin-webp/-/imagemin-webp-5.1.0.tgz", + "integrity": "sha512-BsPTpobgbDPFBBsI3UflnU/cpIVa15qInEDBcYBw16qI/6XiB4vDF/dGp9l4aM3pfFDDYqR0mANMcKpBD7wbCw==", + "requires": { + "cwebp-bin": "^5.0.0", + "exec-buffer": "^3.0.0", + "is-cwebp-readable": "^2.0.1" + } + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "immer": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", + "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==" + }, + "immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "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=" + } + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "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=" + } + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, + "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==", + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "in-gfw": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/in-gfw/-/in-gfw-1.2.0.tgz", + "integrity": "sha512-LgSoQXzuSS/x/nh0eIggq7PsI7gs/sQdXNEolRmHaFUj6YMFmPO1kxQ7XpcT3nPpC3DMwYiJmgnluqJmFXYiMg==", + "optional": true, + "requires": { + "glob": "^7.1.2", + "is-wsl": "^1.1.0", + "mem": "^3.0.1" + }, + "dependencies": { + "mem": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-3.0.1.tgz", + "integrity": "sha512-QKs47bslvOE0NbXOqG6lMxn6Bk0Iuw0vfrIeLykmQle2LkCw1p48dZDdzE+D88b/xqRJcZGcMNeDvSVma+NuIQ==", + "optional": true, + "requires": { + "mimic-fn": "^1.0.0", + "p-is-promise": "^1.1.0" + } + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "optional": true + } + } + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "individual": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/individual/-/individual-2.0.0.tgz", + "integrity": "sha1-gzsJfa0jKU52EXqY+zjg2a1hu5c=" + }, + "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==" + }, + "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==" + }, + "ink": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ink/-/ink-2.5.0.tgz", + "integrity": "sha512-HUkVglJ11cXK+W1a5cKNoOCxLkDi5hbDMAWSFDcwF2kpNd0eoX+2/cpaTP9BTFaQ8RJk7O59NxKMmyPXkmxo7w==", + "optional": true, + "requires": { + "@types/react": "^16.8.6", + "ansi-escapes": "^4.2.1", + "arrify": "^1.0.1", + "auto-bind": "^2.0.0", + "chalk": "^2.4.1", + "cli-cursor": "^2.1.0", + "cli-truncate": "^1.1.0", + "is-ci": "^2.0.0", + "lodash.throttle": "^4.1.1", + "log-update": "^3.0.0", + "prop-types": "^15.6.2", + "react-reconciler": "^0.21.0", + "scheduler": "^0.15.0", + "signal-exit": "^3.0.2", + "slice-ansi": "^1.0.0", + "string-length": "^2.0.0", + "widest-line": "^2.0.0", + "wrap-ansi": "^5.0.0", + "yoga-layout-prebuilt": "^1.9.3" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", + "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", + "optional": true, + "requires": { + "type-fest": "^0.5.2" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "optional": true + }, + "scheduler": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz", + "integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==", + "optional": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "optional": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "optional": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "optional": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "type-fest": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", + "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==", + "optional": true + }, + "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==", + "optional": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } + }, + "ink-spinner": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.0.1.tgz", + "integrity": "sha512-AVR4Z/NXDQ7dT5ltWcCzFS9Dd4T8eaO//E2UO8VYNiJcZpPCSJ11o5A0UVPcMlZxGbGD6ikUFDR3ZgPUQk5haQ==", + "optional": true, + "requires": { + "cli-spinners": "^1.0.0", + "prop-types": "^15.5.10" + } + }, + "inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "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" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "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=" + }, + "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" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "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==" + } + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "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==" + }, + "intersection-observer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.7.0.tgz", + "integrity": "sha512-Id0Fij0HsB/vKWGeBe9PxeY45ttRiBmhFyyt/geBdDHBYNctMRTE3dC1U3ujzz3lap+hVXlEcVaB56kZP/eEUg==" + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + }, + "dependencies": { + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" + } + } + }, + "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": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "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==" + }, + "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=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-alphabetical": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz", + "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==" + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" + }, + "is-alphanumerical": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz", + "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "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=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz", + "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==", + "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==" + }, + "is-builtin-module": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.0.0.tgz", + "integrity": "sha512-/93sDihsAD652hrMEbJGbMAVBf1qc96kyThHQ0CAOONHaE3aROLpTjDe4WQ5aoC5ITHFxEq1z8XqSU7km+8amw==", + "requires": { + "builtin-modules": "^3.0.0" + } + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "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=", + "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-cwebp-readable": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-cwebp-readable/-/is-cwebp-readable-2.0.1.tgz", + "integrity": "sha1-r7k7DAq9CiUQEBauM66ort+SbSY=", + "requires": { + "file-type": "^4.3.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" + } + } + }, + "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=", + "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=", + "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=" + }, + "is-decimal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz", + "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "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==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==" + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, + "is-generator-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", + "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=" + }, + "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==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz", + "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==" + }, + "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=", + "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=", + "requires": { + "path-is-inside": "^1.0.1" + } + } + } + }, + "is-invalid-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", + "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=", + "requires": { + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "is-jpg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz", + "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=" + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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=", + "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=" + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "dev": true, + "requires": { + "symbol-observable": "^1.1.0" + } + }, + "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==" + }, + "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==", + "requires": { + "is-path-inside": "^2.1.0" + }, + "dependencies": { + "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==", + "requires": { + "path-is-inside": "^1.0.2" + } + } + } + }, + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==" + }, + "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=" + }, + "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" + } + }, + "is-png": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", + "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=" + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "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=" + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-relative-url": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-relative-url/-/is-relative-url-3.0.0.tgz", + "integrity": "sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA==", + "requires": { + "is-absolute-url": "^3.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "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==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-ssh": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.1.tgz", + "integrity": "sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg==", + "requires": { + "protocols": "^1.1.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "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==", + "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==", + "requires": { + "has-symbols": "^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=" + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "is-valid-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", + "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=", + "requires": { + "is-invalid-path": "^0.1.0" + } + }, + "is-whitespace-character": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz", + "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==" + }, + "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==" + }, + "is-word-character": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz", + "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isbot": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/isbot/-/isbot-2.5.5.tgz", + "integrity": "sha512-BIse/QDrJw+PtiqM88b0aZrLb6O8RnuevOfnBbCsAwtc2y6bFPwz8hE/gZBzRnKqaLpWKpR1hiX7CDOn8H/P/A==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "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==" + }, + "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" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul-api": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", + "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", + "requires": { + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==" + }, + "istanbul-lib-hook": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", + "requires": { + "append-transform": "^0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "requires": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "istanbul-lib-report": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", + "requires": { + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", + "requires": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + }, + "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" + } + } + } + }, + "istanbul-reports": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", + "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", + "requires": { + "handlebars": "^4.0.3" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "iterall": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz", + "integrity": "sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA==" + }, + "jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz", + "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", + "requires": { + "import-local": "^1.0.0", + "jest-cli": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "requires": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.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==" + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "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": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "jest-cli": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.6.0.tgz", + "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "import-local": "^1.0.0", + "is-ci": "^1.0.10", + "istanbul-api": "^1.3.1", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-instrument": "^1.10.1", + "istanbul-lib-source-maps": "^1.2.4", + "jest-changed-files": "^23.4.2", + "jest-config": "^23.6.0", + "jest-environment-jsdom": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve-dependencies": "^23.6.0", + "jest-runner": "^23.6.0", + "jest-runtime": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "jest-watcher": "^23.4.0", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "node-notifier": "^5.2.1", + "prompts": "^0.1.9", + "realpath-native": "^1.0.0", + "rimraf": "^2.5.4", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "yargs": "^11.0.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "jest-worker": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", + "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", + "requires": { + "merge-stream": "^1.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "kleur": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", + "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "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==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "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=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + }, + "prompts": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz", + "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", + "requires": { + "kleur": "^2.0.1", + "sisteransi": "^0.1.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "sisteransi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-0.1.1.tgz", + "integrity": "sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==" + }, + "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" + } + }, + "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" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.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", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "jest-changed-files": { + "version": "23.4.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.4.2.tgz", + "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", + "requires": { + "throat": "^4.0.0" + } + }, + "jest-config": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.6.0.tgz", + "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", + "requires": { + "babel-core": "^6.0.0", + "babel-jest": "^23.6.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^23.4.0", + "jest-environment-node": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-jasmine2": "^23.6.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "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" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + } + } + }, + "jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "requires": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-docblock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", + "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", + "requires": { + "detect-newline": "^2.1.0" + } + }, + "jest-each": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.6.0.tgz", + "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", + "requires": { + "chalk": "^2.0.1", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz", + "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", + "requires": { + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0", + "jsdom": "^11.5.1" + } + }, + "jest-environment-node": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.4.0.tgz", + "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", + "requires": { + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0" + } + }, + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==" + }, + "jest-haste-map": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz", + "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", + "requires": { + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "invariant": "^2.2.4", + "jest-docblock": "^23.2.0", + "jest-serializer": "^23.0.1", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.0" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "jest-worker": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", + "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", + "requires": { + "merge-stream": "^1.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "jest-jasmine2": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz", + "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", + "requires": { + "babel-traverse": "^6.0.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^23.6.0", + "is-generator-fn": "^1.0.0", + "jest-diff": "^23.6.0", + "jest-each": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "requires": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + } + } + }, + "jest-leak-detector": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz", + "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", + "requires": { + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + } + } + }, + "jest-matcher-utils": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + } + } + }, + "jest-message-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", + "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", + "requires": { + "@babel/code-frame": "^7.0.0-beta.35", + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", + "stack-utils": "^1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "jest-mock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz", + "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=" + }, + "jest-regex-util": { + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.3.0.tgz", + "integrity": "sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=" + }, + "jest-resolve": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", + "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", + "requires": { + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "realpath-native": "^1.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz", + "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", + "requires": { + "jest-regex-util": "^23.3.0", + "jest-snapshot": "^23.6.0" + } + }, + "jest-runner": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.6.0.tgz", + "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", + "requires": { + "exit": "^0.1.2", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-docblock": "^23.2.0", + "jest-haste-map": "^23.6.0", + "jest-jasmine2": "^23.6.0", + "jest-leak-detector": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-runtime": "^23.6.0", + "jest-util": "^23.4.0", + "jest-worker": "^23.2.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + }, + "dependencies": { + "jest-worker": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", + "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", + "requires": { + "merge-stream": "^1.0.1" + } + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "requires": { + "readable-stream": "^2.0.1" + } + } + } + }, + "jest-runtime": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.6.0.tgz", + "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", + "requires": { + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.1.6", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "exit": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "realpath-native": "^1.0.0", + "slash": "^1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "^2.1.0", + "yargs": "^11.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=" + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "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" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.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==" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "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": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "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==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "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=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "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" + } + }, + "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" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.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", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "jest-serializer": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz", + "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=" + }, + "jest-snapshot": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.6.0.tgz", + "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", + "requires": { + "babel-types": "^6.0.0", + "chalk": "^2.0.1", + "jest-diff": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-resolve": "^23.6.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^23.6.0", + "semver": "^5.5.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "requires": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "jest-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", + "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", + "requires": { + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "jest-message-util": "^23.4.0", + "mkdirp": "^0.5.1", + "slash": "^1.0.0", + "source-map": "^0.6.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==" + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "requires": { + "ci-info": "^1.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "jest-validate": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.6.0.tgz", + "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "leven": "^2.1.0", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==" + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=" + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + } + } + }, + "jest-watcher": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.4.0.tgz", + "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "string-length": "^2.0.0" + } + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "requires": { + "merge-stream": "^2.0.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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jimp": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.6.8.tgz", + "integrity": "sha512-F7emeG7Hp61IM8VFbNvWENLTuHe0ghizWPuP4JS9ujx2r5mCVYEd/zdaz6M2M42ZdN41blxPajLWl9FXo7Mr2Q==", + "requires": { + "@jimp/custom": "^0.6.8", + "@jimp/plugins": "^0.6.8", + "@jimp/types": "^0.6.8", + "core-js": "^2.5.7", + "regenerator-runtime": "^0.13.3" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, + "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==" + } + } + }, + "jmespath": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" + }, + "jpeg-js": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.3.6.tgz", + "integrity": "sha512-MUj2XlMB8kpe+8DJUGH/3UJm4XpI8XEgZQ+CiHDeyrGoKPdW/8FJv6ku+3UiYm5Fz3CWaL+iXmD8Q4Ap6aC1Jw==" + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" + }, + "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==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" + }, + "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==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "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==" + }, + "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=" + }, + "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=" + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "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=" + }, + "jsonp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/jsonp/-/jsonp-0.2.1.tgz", + "integrity": "sha1-pltPoPEL2nGaBUQep7lMVfPhW64=", + "requires": { + "debug": "^2.1.3" + }, + "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=" + } + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "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==", + "requires": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + } + }, + "jszip": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz", + "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==", + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "keycode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz", + "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=" + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "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==", + "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=", + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lazy-universal-dotenv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz", + "integrity": "sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==", + "requires": { + "@babel/runtime": "^7.5.0", + "app-root-dir": "^1.0.2", + "core-js": "^3.0.4", + "dotenv": "^8.0.0", + "dotenv-expand": "^5.1.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "requires": { + "immediate": "~3.0.5" + } + }, + "limited-request-queue": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/limited-request-queue/-/limited-request-queue-2.0.0.tgz", + "integrity": "sha1-FMfBILE4BgsZoqEDCrr2aTVyZQ0=", + "dev": true, + "requires": { + "is-browser": "^2.0.1", + "parse-domain": "~0.2.0" + } + }, + "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 + }, + "link-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/link-types/-/link-types-1.1.0.tgz", + "integrity": "sha1-r2XlnbUucMH/sYrEw8sFa/55aDA=", + "dev": true + }, + "lint-staged": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-9.4.2.tgz", + "integrity": "sha512-OFyGokJSWTn2M6vngnlLXjaHhi8n83VIZZ5/1Z26SULRUWgR3ITWpAEQC9Pnm3MC/EpCxlwts/mQWDHNji2+zA==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "commander": "^2.20.0", + "cosmiconfig": "^5.2.1", + "debug": "^4.1.1", + "dedent": "^0.7.0", + "del": "^5.0.0", + "execa": "^2.0.3", + "listr": "^0.14.3", + "log-symbols": "^3.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.1.1", + "string-argv": "^0.3.0", + "stringify-object": "^3.3.0" + }, + "dependencies": { + "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" + } + }, + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", + "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^3.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "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" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.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 + }, + "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 + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "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 + }, + "npm-run-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "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, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz", + "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "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" + } + }, + "which": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.1.tgz", + "integrity": "sha512-N7GBZOTswtB9lkQBZA4+zAXrjEIWAUOB93AvzUiudRzRxhUdLURQ7D/gAIMY1gatT/LTbmbcv8SiYazy3eYB7w==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "listr": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", + "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", + "dev": true, + "requires": { + "@samverschueren/stream-to-observable": "^0.3.0", + "is-observable": "^1.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.5.0", + "listr-verbose-renderer": "^0.5.0", + "p-map": "^2.0.0", + "rxjs": "^6.3.3" + }, + "dependencies": { + "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 + } + } + }, + "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.5.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", + "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", + "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": "^2.3.0", + "strip-ansi": "^3.0.1" + }, + "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 + }, + "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-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" + } + }, + "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": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "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" + } + }, + "log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + } + }, + "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 + }, + "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 + }, + "wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "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" + } + } + } + } + } + }, + "listr-verbose-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", + "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "cli-cursor": "^2.1.0", + "date-fns": "^1.27.2", + "figures": "^2.0.0" + }, + "dependencies": { + "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 + } + } + }, + "load-bmfont": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.0.tgz", + "integrity": "sha512-kT63aTAlNhZARowaNYcY29Fn/QYkc52M3l6V1ifRcPewg2lvUZDAj7R6dXjOL9D0sict76op3T5+odumDSF81g==", + "requires": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" + }, + "loader-fs-cache": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz", + "integrity": "sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw==", + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "requires": { + "find-up": "^1.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==" + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "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==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lockfile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", + "requires": { + "signal-exit": "^3.0.2" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash-es": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz", + "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "lodash.chunk": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", + "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=" + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=" + }, + "lodash.every": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.every/-/lodash.every-4.6.0.tgz", + "integrity": "sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "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.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.maxby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.maxby/-/lodash.maxby-4.6.0.tgz", + "integrity": "sha1-CCJABo88eiJ6oAqDgOTzjPB4bj0=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "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==", + "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==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" + }, + "lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2" + } + }, + "log-update": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.3.0.tgz", + "integrity": "sha512-YSKm5n+YjZoGZT5lfmOqasVH1fIH9xQA9A81Y48nZ99PxAP62vdCCtua+Gcu6oTn0nqtZd/LwRV+Vflo53ZDWA==", + "optional": true, + "requires": { + "ansi-escapes": "^3.2.0", + "cli-cursor": "^2.1.0", + "wrap-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "optional": 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==", + "optional": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "optional": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "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==", + "optional": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } + }, + "logalot": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", + "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", + "requires": { + "figures": "^1.3.5", + "squeak": "^1.0.0" + }, + "dependencies": { + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.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==" + }, + "lokijs": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/lokijs/-/lokijs-1.5.7.tgz", + "integrity": "sha512-2SqUV6JH4f15Z5/7LVsyadSUwHhZppxhujgy/VhVqiRYMGt5oaocb7fV/3JGjHJ6rTuEIajnpTLGRz9cJW/c3g==" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "longest-streak": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz", + "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==" + }, + "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": "2.2.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-2.2.0.tgz", + "integrity": "sha512-S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.2" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lowlight": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.9.2.tgz", + "integrity": "sha512-Ek18ElVCf/wF/jEm1b92gTnigh94CtBNWiZ2ad+vTgW7cTmQxUY3I98BjHK68gZAJEWmybGBZgx9qv3QxLQB/Q==", + "requires": { + "fault": "^1.0.2", + "highlight.js": "~9.12.0" + } + }, + "lpad-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", + "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", + "requires": { + "get-stdin": "^4.0.1", + "indent-string": "^2.1.0", + "longest": "^1.0.0", + "meow": "^3.3.0" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.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==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "ltcdr": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltcdr/-/ltcdr-2.2.1.tgz", + "integrity": "sha1-Wrh60dTB2rjowIu/A37gwZAih88=" + }, + "m3u8-parser": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-4.4.0.tgz", + "integrity": "sha512-iH2AygTFILtato+XAgnoPYzLHM4R3DjATj7Ozbk7EHdB2XoLF2oyOUguM7Kc4UVHbQHHL/QPaw98r7PbWzG0gg==", + "requires": { + "global": "^4.3.2" + } + }, + "macos-release": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz", + "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==" + }, + "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==", + "requires": { + "pify": "^4.0.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==" + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "requires": { + "tmpl": "1.0.x" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, + "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==", + "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=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "map-or-similar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", + "integrity": "sha1-beJlMXSt+12e3DPGnT6Sobdvrwg=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-escapes": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz", + "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==" + }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" + }, + "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" + } + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" + }, + "maybe-callback": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/maybe-callback/-/maybe-callback-2.1.0.tgz", + "integrity": "sha1-ivoLp7aRp6sSPn8S9l4yu10fgkM=", + "dev": true + }, + "md5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", + "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "requires": { + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" + } + }, + "md5-file": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz", + "integrity": "sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==", + "requires": { + "buffer-alloc": "^1.1.0" + } + }, + "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==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdast-util-compact": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz", + "integrity": "sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==", + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "mdast-util-definitions": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz", + "integrity": "sha512-HfUArPog1j4Z78Xlzy9Q4aHLnrF/7fb57cooTHypyGoe2XFNbcx/kWZDoOz+ra8CkUzvg3+VHV434yqEd1DRmA==", + "requires": { + "unist-util-visit": "^1.0.0" + } + }, + "mdast-util-to-hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz", + "integrity": "sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA==", + "requires": { + "collapse-white-space": "^1.0.0", + "detab": "^2.0.0", + "mdast-util-definitions": "^1.2.0", + "mdurl": "^1.0.1", + "trim": "0.0.1", + "trim-lines": "^1.0.0", + "unist-builder": "^1.0.1", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.0", + "xtend": "^4.0.1" + } + }, + "mdast-util-to-nlcst": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.3.tgz", + "integrity": "sha512-hPIsgEg7zCvdU6/qvjcR6lCmJeRuIEpZGY5xBV+pqzuMOvQajyyF8b6f24f8k3Rw8u40GwkI3aAxUXr3bB2xag==", + "requires": { + "nlcst-to-string": "^2.0.0", + "repeat-string": "^1.5.2", + "unist-util-position": "^3.0.0", + "vfile-location": "^2.0.0" + } + }, + "mdast-util-to-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz", + "integrity": "sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg==" + }, + "mdast-util-toc": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-2.1.0.tgz", + "integrity": "sha512-ove/QQWSrYOrf9G3xn2MTAjy7PKCtCmm261wpQwecoPAsUtkihkMVczxFqil7VihxgSz4ID9c8bBTsyXR30gQg==", + "requires": { + "github-slugger": "^1.1.1", + "mdast-util-to-string": "^1.0.2", + "unist-util-visit": "^1.1.0" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, + "meant": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz", + "integrity": "sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg==" + }, + "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": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "memoizerific": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", + "integrity": "sha1-fIekZGREwy11Q4VwkF8tvRsagFo=", + "requires": { + "map-or-similar": "^1.5.0" + } + }, + "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=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "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" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^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=", + "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" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "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=", + "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=", + "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=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "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=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==" + }, + "merge-deep": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz", + "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==", + "requires": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "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==", + "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==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "mini-css-extract-plugin": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz", + "integrity": "sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ==", + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + } + }, + "mini-svg-data-uri": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.1.3.tgz", + "integrity": "sha512-EeKOmdzekjdPe53/GdxmUpNgDQFkNeSte6XkJmOBt4BfWL6FQ9G9RtLNh+JMjFS3LhdpSICMIkZdznjiecASHQ==" + }, + "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==" + }, + "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=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "requires": { + "minipass": "^2.9.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "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" + } + }, + "mitt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.1.3.tgz", + "integrity": "sha512-mUDCnVNsAi+eD6qA0HkRkwYczbLHJ49z17BGe2PYRhZL4wpZUFZGJHU7/5tmvohoma+Hdn0Vh/oJTiPEmgSruA==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "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==", + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" + } + } + }, + "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" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "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" + } + }, + "mozjpeg": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-6.0.1.tgz", + "integrity": "sha512-9Z59pJMi8ni+IUvSH5xQwK5tNLw7p3dwDNCZ3o1xE+of3G5Hc/yOz6Ue/YuLiBXU3ZB5oaHPURyPdqfBX/QYJA==", + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "logalot": "^2.1.0" + } + }, + "mpd-parser": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-0.8.1.tgz", + "integrity": "sha512-WBTJ1bKk8OLUIxBh6s1ju1e2yz/5CzhPbgi6P3F3kJHKhGy1Z+ElvEnuzEbtC/dnbRcJtMXazE3f93N5LLdp9Q==", + "requires": { + "global": "^4.3.2", + "url-toolkit": "^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==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "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=" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "mux.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/mux.js/-/mux.js-5.2.1.tgz", + "integrity": "sha512-1t2payD3Y8izfZRq7tfUQlhL2fKzjeLr9v1/2qNCTkEQnd9Abtn1JgzsBgGZubEXh6lM5L8B0iLGoWQiukjtbQ==" + }, + "name-all-modules-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz", + "integrity": "sha1-Cr+2rYNXGLn7Te8GdOBmV6lUN1w=" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "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==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "nconf": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.10.0.tgz", + "integrity": "sha512-fKiXMQrpP7CYWJQzKkPPx9hPgmq+YLDyxcG9N8RpiE9FoCkCbzD0NyW0YhE3xn3Aupe7nnDeIx4PFzYehpHT9Q==", + "requires": { + "async": "^1.4.0", + "ini": "^1.3.0", + "secure-keys": "^1.0.0", + "yargs": "^3.19.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "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" + } + } + } + }, + "needle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.2.tgz", + "integrity": "sha512-DUzITvPVDUy6vczKKYTnWc/pBZ0EnjMJnQ3y+Jo5zfKFimJs7S3HFCxCRZYB9FUZcrzUQr3WsmvZgddMEIZv6w==", + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + }, + "neon-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/neon-js/-/neon-js-1.1.2.tgz", + "integrity": "sha1-r4XY4ruAmc/H9v4laolqVGSwBiM=" + }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=" + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "nlcst-to-string": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-2.0.3.tgz", + "integrity": "sha512-OY2QhGdf6jpYfHqS4vJwqF7aIBZkaMjMUkcHcskMPitvXLuYNGdQvgVWI/5yKwkmIdmhft3ounSJv+Re2yydng==" + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "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==", + "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==" + } + } + }, + "node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", + "requires": { + "minimatch": "^3.0.2" + } + }, + "node-emoji": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", + "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "requires": { + "lodash.toarray": "^4.4.0" + } + }, + "node-eta": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-eta/-/node-eta-0.9.0.tgz", + "integrity": "sha1-n7CwmbzSoCGUDmA8ZCVNwAPZp6g=" + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node-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==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "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==", + "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=" + } + } + }, + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "node-releases": { + "version": "1.1.35", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.35.tgz", + "integrity": "sha512-JGcM/wndCN/2elJlU0IGdVEJQQnJwsLbgPCFd2pY7V0mxf17bZ0Gb/lgOtL29ZQhvEX5shnVhxQyZz3ex94N8w==", + "requires": { + "semver": "^6.3.0" + } + }, + "noms": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", + "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "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=" + } + } + }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" + }, + "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" + } + }, + "nopter": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/nopter/-/nopter-0.3.0.tgz", + "integrity": "sha1-uWkOb6uPJWs35OfM0j4rOEUMxx8=", + "dev": true, + "requires": { + "caller-path": "~0.1.0", + "camelcase": "^1.0.2", + "chalk": "~0.5.1", + "cli-table": "~0.3.1", + "eol": "~0.2.0", + "nopt": "^3.0.1", + "object-assign": "^2.0.0", + "splitargs": "~0.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "eol": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eol/-/eol-0.2.0.tgz", + "integrity": "sha1-L22whqJDpG4+Xb0OE0Ncfr6/Cd0=", + "dev": true + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "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 + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + } + } + }, + "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==", + "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==" + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "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=", + "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==", + "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==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "nugget": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", + "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", + "optional": true, + "requires": { + "debug": "^2.1.3", + "minimist": "^1.1.0", + "pretty-bytes": "^1.0.2", + "progress-stream": "^1.1.0", + "request": "^2.45.0", + "single-line-log": "^1.1.2", + "throttleit": "0.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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=", + "optional": true + }, + "pretty-bytes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", + "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", + "optional": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.1.0" + } + } + } + }, + "null-loader": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-0.1.1.tgz", + "integrity": "sha1-F76av80/8OFRL2/Er8sfUDk3j64=" + }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "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=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "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=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-fit-images": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/object-fit-images/-/object-fit-images-3.2.4.tgz", + "integrity": "sha512-G+7LzpYfTfqUyrZlfrou/PLLLAPNC52FTy5y1CBywX+1/FkxIloOyQXBmZ3Zxa2AWO+lMF0JTuvqbr7G5e5CWg==" + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==" + }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-path": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", + "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "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==", + "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==", + "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=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "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==" + }, + "omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + }, + "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==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "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==", + "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 + }, + "opentracing": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/opentracing/-/opentracing-0.14.4.tgz", + "integrity": "sha512-nNnZDkUNExBwEpb7LZaeMeQgvrlO8l4bgY/LvGNZCR0xG/dGWqHqjKrAmR5GUoYo0FIz38kxasvA1aevxWs2CA==" + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "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=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + } + } + }, + "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==", + "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=", + "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==", + "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" + }, + "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==" + }, + "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==" + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.1" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "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==", + "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=" + }, + "os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "requires": { + "arch": "^2.1.0" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "os-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz", + "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=", + "dev": true, + "requires": { + "osx-release": "^1.0.0", + "win-release": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osx-release": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz", + "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=", + "dev": true, + "requires": { + "minimist": "^1.1.0" + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, + "p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "requires": { + "p-timeout": "^2.0.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "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==" + }, + "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==", + "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==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-pipe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", + "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=" + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" + }, + "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==", + "requires": { + "retry": "^0.12.0" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pac-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz", + "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==", + "requires": { + "agent-base": "^4.2.0", + "debug": "^4.1.1", + "get-uri": "^2.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "pac-resolver": "^3.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "^4.0.1" + } + }, + "pac-resolver": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", + "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", + "requires": { + "co": "^4.6.0", + "degenerator": "^1.0.4", + "ip": "^1.1.5", + "netmask": "^1.0.6", + "thunkify": "^2.1.2" + } + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "dependencies": { + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "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" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "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=", + "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==", + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + } + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "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-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" + }, + "parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" + }, + "parse-bmfont-xml": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", + "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", + "requires": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.4.5" + } + }, + "parse-domain": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/parse-domain/-/parse-domain-0.2.2.tgz", + "integrity": "sha1-GImJseLnOYv/PE9P19yhV+tR+sE=", + "dev": true + }, + "parse-english": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/parse-english/-/parse-english-4.1.2.tgz", + "integrity": "sha512-+PBf+1ifxqJlOpisODiKX4A8wBEgWm4goMvDB5O9zx/cQI58vzHTZeWFbAgCF9fUXRl8/YdINv1cfmfIRR1acg==", + "requires": { + "nlcst-to-string": "^2.0.0", + "parse-latin": "^4.0.0", + "unist-util-modify-children": "^1.0.0", + "unist-util-visit-children": "^1.0.0" + } + }, + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", + "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "parse-headers": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", + "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", + "requires": { + "for-each": "^0.3.3", + "string.prototype.trim": "^1.1.2" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-latin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-4.2.0.tgz", + "integrity": "sha512-b8PvsA1Ohh7hIQwDDy6kSjx3EbcuR3oKYm5lC1/l/zIB6mVVV5ESEoS1+Qr5+QgEGmp+aEZzc+D145FIPJUszw==", + "requires": { + "nlcst-to-string": "^2.0.0", + "unist-util-modify-children": "^1.0.0", + "unist-util-visit-children": "^1.0.0" + } + }, + "parse-numeric-range": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-0.0.2.tgz", + "integrity": "sha1-tPCdQTx6282Yf26SM8e0shDJOOQ=" + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + }, + "parse-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.1.tgz", + "integrity": "sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA==", + "requires": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0" + } + }, + "parse-url": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-5.0.1.tgz", + "integrity": "sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg==", + "requires": { + "is-ssh": "^1.3.0", + "normalize-url": "^3.3.0", + "parse-path": "^4.0.0", + "protocols": "^1.4.0" + }, + "dependencies": { + "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==" + } + } + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "requires": { + "@types/node": "*" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "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=", + "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=" + }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + } + } + }, + "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==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "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=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "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==" + }, + "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==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "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" + } + }, + "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=" + }, + "phin": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" + }, + "physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" + }, + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "requires": { + "pngjs": "^3.0.0" + } + }, + "pkcs7": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pkcs7/-/pkcs7-1.0.2.tgz", + "integrity": "sha1-ttulJ1KMKUK/wSLOLa/NteWQdOc=" + }, + "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==", + "requires": { + "find-up": "^3.0.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "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=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + } + } + }, + "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" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + }, + "pngquant-bin": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-5.0.2.tgz", + "integrity": "sha512-OLdT+4JZx5BqE1CFJkrvomYV0aSsv6x2Bba+aWaVc0PMfWlE+ZByNKYAdKeIqsM4uvW1HOSEHnf8KcOnykPNxA==", + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "execa": "^0.10.0", + "logalot": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "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" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "pnp-webpack-plugin": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-ExrNwuFH3DudHwWY2uRMqyiCOBEDdhQYHIAsqW/CM6hIZlSgXC/ma/p08FoNOUhVyh9hl1NGnMpR94T5i3SHaQ==", + "requires": { + "ts-pnp": "^1.1.2" + } + }, + "polished": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/polished/-/polished-3.4.2.tgz", + "integrity": "sha512-9Rch6iMZckABr6EFCLPZsxodeBpXMo9H4fRlfR/9VjMEyy5xpo1/WgXlJGgSjPyVhEZNycbW7UmYMNyWS5MI0g==", + "requires": { + "@babel/runtime": "^7.6.3" + } + }, + "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.24", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz", + "integrity": "sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==", + "requires": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "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=" + } + } + }, + "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=" + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "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==" + }, + "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==", + "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==", + "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" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "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==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "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==" + } + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "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==", + "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==", + "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==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz", + "integrity": "sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.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==", + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "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": { + "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=", + "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==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "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" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "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=", + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.16", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.0" + } + }, + "postcss-modules-scope": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", + "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "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==", + "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==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "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" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "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=" + }, + "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==" + }, + "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==" + } + } + }, + "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==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "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==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "requires": { + "cssesc": "^3.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==", + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==" + }, + "potrace": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/potrace/-/potrace-2.1.2.tgz", + "integrity": "sha512-dNcUBapRgPkiv3j+70+rSlf0whtJJqEszC04g9a/Ll3p6kA7QVRV1Vsi3jg22voJr2jA9x9fjPbz5MdD+ngbUg==", + "requires": { + "jimp": "^0.6.4" + } + }, + "prebuild-install": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.2.tgz", + "integrity": "sha512-INDfXzTPnhT+WYQemqnAXlP7SvfiFMopMozSgXCZ+RDLb279gKfIuLk4o7PgEawLp3WrMgIYGBpkxpraROHsSA==", + "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" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "requires": { + "fast-diff": "^1.1.2" + } + }, + "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==" + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "requires": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "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==" + } + } + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + }, + "prismjs": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz", + "integrity": "sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==", + "requires": { + "clipboard": "^2.0.0" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "probe-image-size": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-4.1.1.tgz", + "integrity": "sha512-42LqKZqTLxH/UvAZ2/cKhAsR4G/Y6B7i7fI2qtQu9hRBK4YjS6gqO+QRtwTjvojUx4+/+JuOMzLoFyRecT9qRw==", + "requires": { + "any-promise": "^1.3.0", + "deepmerge": "^4.0.0", + "inherits": "^2.0.3", + "next-tick": "^1.0.0", + "request": "^2.83.0", + "stream-parser": "~0.3.1" + }, + "dependencies": { + "deepmerge": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.1.1.tgz", + "integrity": "sha512-+qO5WbNBKBaZez95TffdUDnGIo4+r5kmsX8aOb7PDHvXsTbghAmleuxjs6ytNaf5Eg4FGBXDS5vqO61TRi6BMg==" + } + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "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==" + }, + "progress-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", + "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", + "optional": true, + "requires": { + "speedometer": "~0.1.2", + "through2": "~0.2.3" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "optional": true + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "optional": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "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=", + "optional": true + }, + "through2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", + "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", + "optional": true, + "requires": { + "readable-stream": "~1.1.9", + "xtend": "~2.1.1" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "optional": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "promise.allsettled": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.1.tgz", + "integrity": "sha512-3ST7RS7TY3TYLOIe+OACZFvcWVe1osbgz2x07nTb446pa3t4GUZWidMDzQ4zf9jC2l6mRa1/3X81icFYbi+D/g==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.13.0", + "function-bind": "^1.1.1" + } + }, + "promise.prototype.finally": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.1.tgz", + "integrity": "sha512-gnt8tThx0heJoI3Ms8a/JdkYBVhYP/wv+T7yQimR+kdOEJL21xTFbiJhMRqnSPcr54UVvMbsscDk2w+ivyaLPw==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.13.0", + "function-bind": "^1.1.1" + } + }, + "prompts": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz", + "integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.3" + } + }, + "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" + } + }, + "property-expr": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-1.5.1.tgz", + "integrity": "sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==" + }, + "property-information": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.3.0.tgz", + "integrity": "sha512-IslotQn1hBCZDY7SaJ3zmCjVea219VTwmOk6Pu3z9haU9m4+T8GwaDubur+6NMHEU+Fjs/6/p66z6QULPkcL1w==", + "requires": { + "xtend": "^4.0.1" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + }, + "protocols": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.7.tgz", + "integrity": "sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg==" + }, + "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-agent": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.1.tgz", + "integrity": "sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==", + "requires": { + "agent-base": "^4.2.0", + "debug": "4", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^3.0.1", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^4.0.1" + }, + "dependencies": { + "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==", + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "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=" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "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==", + "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==", + "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==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "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=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "ramda": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", + "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=" + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "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==", + "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" + } + }, + "raw-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-2.0.0.tgz", + "integrity": "sha512-kZnO5MoIyrojfrPWqrhFNLZemIAX8edMOCp++yC5RKxzFB3m92DqKNhKlU6+FvpOhWtvyh3jOaD7J6/9tpdIKg==", + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "react": { + "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-addons-clone-with-props": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/react-addons-clone-with-props/-/react-addons-clone-with-props-0.14.8.tgz", + "integrity": "sha1-PUgbmp0UbPJnFWLjYnrX5MD2suI=" + }, + "react-clientside-effect": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.2.tgz", + "integrity": "sha512-nRmoyxeok5PBO6ytPvSjKp9xwXg9xagoTK1mMjwnQxqM9Hd7MNPl+LS1bOSOe+CV2+4fnEquc7H/S8QD3q697A==", + "requires": { + "@babel/runtime": "^7.0.0" + } + }, + "react-clipboard.js": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/react-clipboard.js/-/react-clipboard.js-2.0.16.tgz", + "integrity": "sha512-COwmnbrRbl8y4f/SjtonnJTeBRD03YzsHBL5on8iL/uyjERsMkKC7djtfmns7iRAbzadn/84MdpaqaQ3ITP47g==", + "requires": { + "@types/clipboard": "^2.0.1", + "clipboard": "^2.0.0", + "prop-types": "^15.5.0" + } + }, + "react-cookie": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/react-cookie/-/react-cookie-2.2.0.tgz", + "integrity": "sha512-W6e+ZyeEkgUhJV4D/p41QaApfFKsChW/OLvhDXLcBRcV2pmKOh88YhHkBz2QwZt20J5xaiqcN0NqGGK+58gn/g==", + "requires": { + "hoist-non-react-statics": "^2.3.1", + "prop-types": "^15.0.0", + "universal-cookie": "^2.2.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + } + } + }, + "react-cookie-banner": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/react-cookie-banner/-/react-cookie-banner-4.0.0.tgz", + "integrity": "sha512-zKvvTugVqSD3bWl7btRA9p0V3C76S4OkXsxs3lxiiuzqpo8XvM4VBo8psh2RKPvuCp68glhVT/FkiR24m1XhGw==", + "requires": { + "classnames": "2.2.5", + "lodash.omit": "^4.5.0", + "react-addons-clone-with-props": "^0.14.8", + "react-cookie": "^2.1.2" + }, + "dependencies": { + "classnames": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", + "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=" + } + } + }, + "react-dev-utils": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-9.1.0.tgz", + "integrity": "sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg==", + "requires": { + "@babel/code-frame": "7.5.5", + "address": "1.1.2", + "browserslist": "4.7.0", + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "detect-port-alt": "1.1.6", + "escape-string-regexp": "1.0.5", + "filesize": "3.6.1", + "find-up": "3.0.0", + "fork-ts-checker-webpack-plugin": "1.5.0", + "global-modules": "2.0.0", + "globby": "8.0.2", + "gzip-size": "5.1.1", + "immer": "1.10.0", + "inquirer": "6.5.0", + "is-root": "2.1.0", + "loader-utils": "1.2.3", + "open": "^6.3.0", + "pkg-up": "2.0.0", + "react-error-overlay": "^6.0.3", + "recursive-readdir": "2.2.2", + "shell-quote": "1.7.2", + "sockjs-client": "1.4.0", + "strip-ansi": "5.2.0", + "text-table": "0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "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" + } + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + } + }, + "inquirer": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.0.tgz", + "integrity": "sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==", + "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" + } + }, + "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=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "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" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "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==" + } + } + } + } + }, + "react-docgen": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-4.1.1.tgz", + "integrity": "sha512-o1wdswIxbgJRI4pckskE7qumiFyqkbvCO++TylEDOo2RbMiueIOg8YzKU4X9++r0DjrbXePw/LHnh81GRBTWRw==", + "requires": { + "@babel/core": "^7.0.0", + "@babel/runtime": "^7.0.0", + "async": "^2.1.4", + "commander": "^2.19.0", + "doctrine": "^3.0.0", + "node-dir": "^0.1.10", + "recast": "^0.17.3" + }, + "dependencies": { + "recast": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.17.6.tgz", + "integrity": "sha512-yoQRMRrK1lszNtbkGyM4kN45AwylV5hMiuEveUBlxytUViWevjvX6w+tzJt1LH4cfUhWt4NZvy3ThIhu6+m5wQ==", + "requires": { + "ast-types": "0.12.4", + "esprima": "~4.0.0", + "private": "^0.1.8", + "source-map": "~0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "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-draggable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.1.0.tgz", + "integrity": "sha512-Or/qe70cfymshqoC8Lsp0ukTzijJObehb7Vfl7tb5JRxoV+b6PDkOGoqYaWBzZ59k9dH/bwraLGsnlW78/3vrA==", + "requires": { + "classnames": "^2.2.5", + "prop-types": "^15.6.0" + } + }, + "react-error-overlay": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.3.tgz", + "integrity": "sha512-bOUvMWFQVk5oz8Ded9Xb7WVdEi3QGLC8tH7HmYP0Fdp4Bn3qw0tRFmr5TW6mvahzvmrK4a6bqWGfCevBflP+Xw==" + }, + "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-focus-lock": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-1.19.1.tgz", + "integrity": "sha512-TPpfiack1/nF4uttySfpxPk4rGZTLXlaZl7ncZg/ELAk24Iq2B1UUaUioID8H8dneUXqznT83JTNDHDj+kwryw==", + "requires": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^0.6.3", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.0" + } + }, + "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-helmet-async": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.0.4.tgz", + "integrity": "sha512-KTGHE9sz8N7+fCkZ2a3vzXH9eIkiTNhL2NhKR7XzzQl3WsGlCHh76arauJUIiGdfhjeMp7DY7PkASAmYFXeJYg==", + "requires": { + "@babel/runtime": "^7.3.4", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^2.0.4", + "shallowequal": "^1.1.0" + } + }, + "react-hot-loader": { + "version": "4.12.15", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.12.15.tgz", + "integrity": "sha512-sgkN6g+tgPE6xZzD0Ysqll7KUFYJbMX0DrczT5OxD6S7hZlSnmqSC3ceudwCkiDd65ZTtm+Ayk4Y9k5xxCvpOw==", + "requires": { + "fast-levenshtein": "^2.0.6", + "global": "^4.3.0", + "hoist-non-react-statics": "^3.3.0", + "loader-utils": "^1.1.0", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "react-hotkeys": { + "version": "2.0.0-pre4", + "resolved": "https://registry.npmjs.org/react-hotkeys/-/react-hotkeys-2.0.0-pre4.tgz", + "integrity": "sha512-oa+UncSWyOwMK3GExt+oELXaR7T3ItgcMolsupQFdKvwkEhVAluJd5rYczsRSQpQlVkdNoHG46De2NUeuS+88Q==", + "requires": { + "prop-types": "^15.6.1" + } + }, + "react-id-swiper": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/react-id-swiper/-/react-id-swiper-2.3.2.tgz", + "integrity": "sha512-lxlASsBok+M8YmwYICEXUaVj44AyCaGfSc+YGZX5vWCqKLnVj3ceUbFFBfO+G8Glrya7WJhrfvzMae0r77MCSQ==", + "requires": { + "object-assign": "^4.1.1" + } + }, + "react-instantsearch-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/react-instantsearch-core/-/react-instantsearch-core-6.2.0.tgz", + "integrity": "sha512-FBeLOgVvcMUhIPBEVt7TtR5MnE2VKHbWzPs0fbpmaTQCanUTGQuU1X7NAlsdl9QWFhfgJjQqeWvdaXHKnjQ8WQ==", + "requires": { + "@babel/runtime": "^7.1.2", + "@types/algoliasearch": "^3.30.16", + "algoliasearch-helper": "^3.0.0", + "fast-deep-equal": "^2.0.1", + "prop-types": "^15.5.10" + } + }, + "react-instantsearch-dom": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/react-instantsearch-dom/-/react-instantsearch-dom-6.2.0.tgz", + "integrity": "sha512-QVj0+rpSTSYlbwJAaxTq8Y768o1mfWJi3MCFSfTE4xeBnVFcbFys7i2i/tjtIQRG9eoIGmMQBnvn3gXZYqbhsQ==", + "requires": { + "@babel/runtime": "^7.1.2", + "algoliasearch-helper": "^3.0.0", + "classnames": "^2.2.5", + "prop-types": "^15.5.10", + "react-instantsearch-core": "^6.2.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-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-paginate": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-paginate/-/react-paginate-6.3.0.tgz", + "integrity": "sha512-lT/ne7hZzctGDli4QzUAou0JjfZgxKmtl9/r30B5UVonICZIy1u0SrAkdlEZ5ubgzrOykBeCmxkTWi5IyPg4AQ==", + "requires": { + "prop-types": "^15.6.1" + } + }, + "react-popper": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.4.tgz", + "integrity": "sha512-9AcQB29V+WrBKk6X7p0eojd1f25/oJajVdMZkywIoAV6Ag7hzE1Mhyeup2Q1QnvFRtGQFQvtqfhlEoDAPfKAVA==", + "requires": { + "@babel/runtime": "^7.1.2", + "create-react-context": "^0.3.0", + "popper.js": "^1.14.4", + "prop-types": "^15.6.1", + "typed-styles": "^0.0.7", + "warning": "^4.0.2" + }, + "dependencies": { + "create-react-context": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", + "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", + "requires": { + "gud": "^1.0.0", + "warning": "^4.0.3" + } + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "react-popper-tooltip": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/react-popper-tooltip/-/react-popper-tooltip-2.10.0.tgz", + "integrity": "sha512-iMNWaY41G7kcx2/kcV+37GLe4C93yI9CPZ9DH+V9tOtJIJwEzm/w9+mlr6G1QLzxefDxjliqymMXk9X73pyuWA==", + "requires": { + "@babel/runtime": "^7.6.3", + "react-popper": "^1.3.4" + } + }, + "react-reconciler": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.21.0.tgz", + "integrity": "sha512-h4Rl3L3O6G9V4Ff+F+tCXX8ElDVn0Psk/odT+NPWeA55Yk5G7+kHT8D+Q3yE+51C72LbrYcX6OfLmCZ/7Nx9cw==", + "optional": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.15.0" + }, + "dependencies": { + "scheduler": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz", + "integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==", + "optional": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "react-share": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/react-share/-/react-share-3.0.1.tgz", + "integrity": "sha512-xo4zjYP78h6zrBN5rlC06bb877js7216KFeZELAZP6sYxVoqmU27ChrfnpKUCL9H8F5PwYXh6DLNdAp+0E17GA==", + "requires": { + "babel-runtime": "^6.26.0", + "classnames": "^2.2.5", + "jsonp": "^0.2.1", + "prop-types": "^15.5.8" + } + }, + "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-sizeme": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-2.6.10.tgz", + "integrity": "sha512-OJAPQxSqbcpbsXFD+fr5ARw4hNSAOimWcaTOLcRkIqnTp9+IFWY0w3Qdw1sMez6Ao378aimVL/sW6TTsgigdOA==", + "requires": { + "element-resize-detector": "^1.1.15", + "invariant": "^2.2.4", + "shallowequal": "^1.1.0", + "throttle-debounce": "^2.1.0" + } + }, + "react-sticky": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/react-sticky/-/react-sticky-6.0.3.tgz", + "integrity": "sha512-LNH4UJlRatOqo29/VHxDZOf6fwbgfgcHO4mkEFvrie5FuaZCSTGtug5R8NGqJ0kSnX8gHw8qZN37FcvnFBJpTQ==", + "requires": { + "prop-types": "^15.5.8", + "raf": "^3.3.0" + } + }, + "react-syntax-highlighter": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-8.1.0.tgz", + "integrity": "sha512-G2bkZxmF3VOa4atEdXIDSfwwCqjw6ZQX5znfTaHcErA1WqHIS0o6DaSCDKFPVaOMXQEB9Hf1UySYQvuJmV8CXg==", + "requires": { + "babel-runtime": "^6.18.0", + "highlight.js": "~9.12.0", + "lowlight": "~1.9.1", + "prismjs": "^1.8.4", + "refractor": "^2.4.1" + } + }, + "react-textarea-autosize": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-7.1.2.tgz", + "integrity": "sha512-uH3ORCsCa3C6LHxExExhF4jHoXYCQwE5oECmrRsunlspaDAbS4mGKNlWZqjLfInWtFQcf0o1n1jC/NGXFdUBCg==", + "requires": { + "@babel/runtime": "^7.1.2", + "prop-types": "^15.6.0" + } + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-chunk": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz", + "integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==", + "requires": { + "pify": "^4.0.1", + "with-open-file": "^0.1.6" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "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=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + } + } + }, + "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" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "requires": { + "util.promisify": "^1.0.0" + } + }, + "recast": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.14.7.tgz", + "integrity": "sha512-/nwm9pkrcWagN40JeJhkPaRxiHXBRkXyRh/hgU088Z/v+qCy+zIHHY6bC6o7NaKAxPqtE6nD8zBH1LfU0/Wx6A==", + "requires": { + "ast-types": "0.11.3", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" + }, + "dependencies": { + "ast-types": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.3.tgz", + "integrity": "sha512-XA5o5dsNw8MhyW0Q7MWXJWc4oOzZKbdsEJq45h7c8q/d9DwWZ5F2ugUc1PuMLPGsUnphCt/cNDHu8JeBbxf1qA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "requires": { + "minimatch": "3.0.4" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + } + } + }, + "reduce": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz", + "integrity": "sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==", + "requires": { + "object-keys": "^1.1.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==" + }, + "refractor": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-2.10.0.tgz", + "integrity": "sha512-maW2ClIkm9IYruuFYGTqKzj+m31heq92wlheW4h7bOstP+gf8bocmMec+j7ljLcaB1CAID85LMB3moye31jH1g==", + "requires": { + "hastscript": "^5.0.0", + "parse-entities": "^1.1.2", + "prismjs": "~1.17.0" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + }, + "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==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "requires": { + "private": "^0.1.6" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "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==", + "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==" + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "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==", + "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=", + "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==" + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "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=" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + }, + "relay-runtime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/relay-runtime/-/relay-runtime-2.0.0.tgz", + "integrity": "sha512-o/LPFHTI6+3FLJXM3Ec4N6hzkKYILVHYRJThNX0UQlMnqjTVPR6NO4qFE2QzzEiUS+lys+qfnvBzSmNbSh1zWQ==", + "requires": { + "@babel/runtime": "^7.0.0", + "fbjs": "^1.0.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, + "fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "requires": { + "core-js": "^2.4.1", + "fbjs-css-vars": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + } + } + }, + "remark": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz", + "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==", + "requires": { + "remark-parse": "^6.0.0", + "remark-stringify": "^6.0.0", + "unified": "^7.0.0" + }, + "dependencies": { + "remark-stringify": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz", + "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==", + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^1.0.1", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, + "unified": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", + "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==", + "requires": { + "@types/unist": "^2.0.0", + "@types/vfile": "^3.0.0", + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^3.0.0", + "x-is-string": "^0.1.0" + } + } + } + }, + "remark-parse": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", + "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "remark-retext": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/remark-retext/-/remark-retext-3.1.3.tgz", + "integrity": "sha512-UujXAm28u4lnUvtOZQFYfRIhxX+auKI9PuA2QpQVTT7gYk1OgX6o0OUrSo1KOa6GNrFX+OODOtS5PWIHPxM7qw==", + "requires": { + "mdast-util-to-nlcst": "^3.2.0" + } + }, + "remark-stringify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz", + "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==", + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^1.0.1", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, + "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=" + }, + "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==", + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.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==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "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==" + } + } + }, + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "requires": { + "lodash": "^4.17.15" + } + }, + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "requires": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "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=" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "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=", + "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=" + } + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "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==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + } + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "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==" + }, + "retext-english": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/retext-english/-/retext-english-3.0.3.tgz", + "integrity": "sha512-qltUsSjHMvCvpAm90qRvzK1DEBOnhSK3tUQk5aHFCBtiMHccp6FhlCH0mQ9vFcBf5BsG7GEBdPysTlY3g9Lchg==", + "requires": { + "parse-english": "^4.0.0", + "unherit": "^1.0.4" + } + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "robot-directives": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/robot-directives/-/robot-directives-0.3.0.tgz", + "integrity": "sha1-F0+x/8KpuXh3MB6HyJs5X0KdH2U=", + "dev": true, + "requires": { + "isbot": "^2.0.0", + "useragent": "^2.1.8" + } + }, + "robots-txt-guard": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/robots-txt-guard/-/robots-txt-guard-0.1.1.tgz", + "integrity": "sha512-6+nGkE6c2dI9/dmhmNcoMKVwJxlA6sgN/XNo0rm6LLdA0hnj4YkpgrZdhMPl58gJkAqeiHlf4+8tJcLM1tv1Ew==", + "dev": true + }, + "robots-txt-parse": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/robots-txt-parse/-/robots-txt-parse-0.0.4.tgz", + "integrity": "sha1-99HzI/eZIdfpxsS70lBI9umBDXE=", + "dev": true, + "requires": { + "bluebird": "^2.3.5", + "split": "^0.3.0", + "stream-combiner": "^0.2.1", + "through": "^2.3.4" + }, + "dependencies": { + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "dev": true + } + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==" + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "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-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "requires": { + "aproba": "^1.1.1" + } + }, + "rust-result": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rust-result/-/rust-result-1.0.0.tgz", + "integrity": "sha1-NMdbLm3Dn+WHXlveyFteD5FTb3I=", + "requires": { + "individual": "^2.0.0" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "requires": { + "rx-lite": "*" + } + }, + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "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-json-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-4.0.0.tgz", + "integrity": "sha1-fA9XjPzNEtM6ccDgVBPi7KFx6qw=", + "requires": { + "rust-result": "^1.0.0" + } + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", + "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", + "requires": { + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" + } + }, + "sanitize-html": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.20.1.tgz", + "integrity": "sha512-txnH8TQjaQvg2Q0HY06G6CDJLVYCpbnxrdO0WN8gjCKaU5J0KbyGYhZxx5QJg3WLZ1lB7XU9kDkfrCXUozqptA==", + "requires": { + "chalk": "^2.4.1", + "htmlparser2": "^3.10.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.mergewith": "^4.6.1", + "postcss": "^7.0.5", + "srcset": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "sass": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.0.tgz", + "integrity": "sha512-W4HT8+WE31Rzk3EPQC++CXjD5O+lOxgYBIB8Ohvt7/zeE2UzYW+TOczDrRU3KcEy3+xwXXbmDsOZFkoqgD4TKw==", + "dev": true, + "requires": { + "chokidar": ">=2.0.0 <4.0.0" + } + }, + "sass-loader": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.0.tgz", + "integrity": "sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "schema-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.4.1.tgz", + "integrity": "sha512-RqYLpkPZX5Oc3fw/kHHHyP56fg5Y+XBpIpV8nCg0znIALfq3OH+Ea9Hfeac9BAMwG5IICltiZ0vxFvJQONfA5w==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.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" + } + } + } + }, + "sass-resources-loader": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sass-resources-loader/-/sass-resources-loader-2.0.1.tgz", + "integrity": "sha512-UsjQWm01xglINC1kPidYwKOBBzOElVupm9RwtOkRlY0hPA4GKi2KFsn4BZypRD1kudaXgUnGnfbiVOE7c+ybAg==", + "dev": true, + "requires": { + "async": "^2.1.4", + "chalk": "^1.1.3", + "glob": "^7.1.1", + "loader-utils": "^1.0.4" + }, + "dependencies": { + "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" + } + }, + "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 + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "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==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "script-loader": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/script-loader/-/script-loader-0.7.2.tgz", + "integrity": "sha512-UMNLEvgOAQuzK8ji8qIscM3GIrRCWN6MmMXGD4SD5l6cSycgGsCo0tX5xRnfQcoghqct0tjHjcykgI1PyBE2aA==", + "requires": { + "raw-loader": "~0.5.1" + }, + "dependencies": { + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=" + } + } + }, + "scroll-behavior": { + "version": "0.9.10", + "resolved": "https://registry.npmjs.org/scroll-behavior/-/scroll-behavior-0.9.10.tgz", + "integrity": "sha512-JVJQkBkqMLEM4ATtbHTKare97zhz/qlla9mNttFYY/bcpyOb4BuBGEQ/N9AQWXvshzf6zo9jP60TlphnJ4YPoQ==", + "requires": { + "dom-helpers": "^3.2.1", + "invariant": "^2.2.2" + } + }, + "section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "requires": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "secure-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", + "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o=" + }, + "seek-bzip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "requires": { + "commander": "~2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + } + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "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=", + "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==" + } + } + }, + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==" + }, + "semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", + "requires": { + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "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==" + }, + "serve-favicon": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", + "integrity": "sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=", + "requires": { + "etag": "~1.8.1", + "fresh": "0.5.2", + "ms": "2.1.1", + "parseurl": "~1.3.2", + "safe-buffer": "5.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "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==", + "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=", + "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=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, + "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-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "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==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "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==", + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "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==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "requires": { + "is-buffer": "^1.0.2" + } + }, + "lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=" + } + } + }, + "shallow-compare": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/shallow-compare/-/shallow-compare-1.2.2.tgz", + "integrity": "sha512-LUMFi+RppPlrHzbqmFnINTrazo0lPNwhcgzuAXVVcfy/mqPDrQmHAyz5bvV0gDAuRFrk804V0HpQ6u9sZ0tBeg==" + }, + "shallow-equal": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.0.tgz", + "integrity": "sha512-Z21pVxR4cXsfwpMKMhCEIO1PCi5sp7KEp+CmOpBQ+E8GpHwKOw2sEzk7sgblM3d/j4z4gakoWEoPcjK0VJQogA==" + }, + "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==", + "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=", + "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=" + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + }, + "shelljs": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", + "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" + }, + "sift": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sift/-/sift-5.1.0.tgz", + "integrity": "sha1-G78t+w63HlbEzH+1Z/vRNRtlAV4=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "signedsource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz", + "integrity": "sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo=" + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + }, + "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==", + "requires": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + }, + "dependencies": { + "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==", + "requires": { + "mimic-response": "^2.0.0" + } + }, + "mimic-response": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.0.0.tgz", + "integrity": "sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ==" + } + } + }, + "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==" + } + } + }, + "simplebar": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/simplebar/-/simplebar-4.2.3.tgz", + "integrity": "sha512-9no0pK7/1y+8/oTF3sy/+kx0PjQ3uk4cYwld5F1CJGk2gx+prRyUq8GRfvcVLq5niYWSozZdX73a2wIr1o9l/g==", + "requires": { + "can-use-dom": "^0.1.0", + "core-js": "^3.0.1", + "lodash.debounce": "^4.0.8", + "lodash.memoize": "^4.1.2", + "lodash.throttle": "^4.1.1", + "resize-observer-polyfill": "^1.5.1" + } + }, + "simplebar-react": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/simplebar-react/-/simplebar-react-1.2.3.tgz", + "integrity": "sha512-1EOWJzFC7eqHUp1igD1/tb8GBv5aPQA5ZMvpeDnVkpNJ3jAuvmrL2kir3HuijlxhG7njvw9ssxjjBa89E5DrJg==", + "requires": { + "prop-types": "^15.6.1", + "simplebar": "^4.2.3" + } + }, + "single-line-log": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", + "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", + "optional": true, + "requires": { + "string-width": "^1.0.1" + } + }, + "sisteransi": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz", + "integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==" + }, + "sitemap": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-1.13.0.tgz", + "integrity": "sha1-Vpy+IYAgKSamKiZs094Jyc60P4M=", + "requires": { + "underscore": "^1.7.0", + "url-join": "^1.1.0" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "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=" + } + } + }, + "smart-buffer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" + }, + "smooth-scroll": { + "version": "16.1.2", + "resolved": "https://registry.npmjs.org/smooth-scroll/-/smooth-scroll-16.1.2.tgz", + "integrity": "sha512-zo/61lPWCxzsjYfxbqr9a94PIFSU840+0e053+n6Hf0RcX8MtjtNXNSInEYRlbGaJ2/nezyEWPywsm3TCya0vQ==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "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==", + "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=", + "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=", + "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=" + } + } + }, + "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==", + "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=", + "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==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "snyk": { + "version": "1.291.0", + "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.291.0.tgz", + "integrity": "sha512-YknBDamsjkq0GgHZUKRj5NLovJxhJ676WcRink3v4uV88TohRWjjCohnzrkaTPxTVL6kiLXgQK+ow0EoF8t22g==", + "requires": { + "@snyk/cli-interface": "2.3.0", + "@snyk/configstore": "^3.2.0-rc1", + "@snyk/dep-graph": "1.13.1", + "@snyk/gemfile": "1.2.0", + "@snyk/snyk-cocoapods-plugin": "2.0.1", + "@snyk/update-notifier": "^2.5.1-rc2", + "@types/agent-base": "^4.2.0", + "@types/restify": "^4.3.6", + "abbrev": "^1.1.1", + "ansi-escapes": "3.2.0", + "chalk": "^2.4.2", + "cli-spinner": "0.2.10", + "debug": "^3.1.0", + "diff": "^4.0.1", + "git-url-parse": "11.1.2", + "glob": "^7.1.3", + "inquirer": "^6.2.2", + "lodash": "^4.17.14", + "needle": "^2.2.4", + "opn": "^5.5.0", + "os-name": "^3.0.0", + "proxy-agent": "^3.1.1", + "proxy-from-env": "^1.0.0", + "semver": "^6.0.0", + "snyk-config": "^2.2.1", + "snyk-docker-plugin": "1.38.0", + "snyk-go-plugin": "1.11.1", + "snyk-gradle-plugin": "3.2.4", + "snyk-module": "1.9.1", + "snyk-mvn-plugin": "2.9.0", + "snyk-nodejs-lockfile-parser": "1.17.0", + "snyk-nuget-plugin": "1.16.0", + "snyk-php-plugin": "1.7.0", + "snyk-policy": "1.13.5", + "snyk-python-plugin": "1.17.0", + "snyk-resolve": "1.0.1", + "snyk-resolve-deps": "4.4.0", + "snyk-sbt-plugin": "2.11.0", + "snyk-tree": "^1.0.0", + "snyk-try-require": "1.3.1", + "source-map-support": "^0.5.11", + "strip-ansi": "^5.2.0", + "tempfile": "^2.0.0", + "then-fs": "^2.0.0", + "uuid": "^3.3.2", + "wrap-ansi": "^5.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==" + }, + "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" + } + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "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=" + }, + "os-name": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", + "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", + "requires": { + "macos-release": "^2.2.0", + "windows-release": "^3.1.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "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==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } + }, + "snyk-config": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/snyk-config/-/snyk-config-2.2.3.tgz", + "integrity": "sha512-9NjxHVMd1U1LFw66Lya4LXgrsFUiuRiL4opxfTFo0LmMNzUoU5Bk/p0zDdg3FE5Wg61r4fP2D8w+QTl6M8CGiw==", + "requires": { + "debug": "^3.1.0", + "lodash": "^4.17.15", + "nconf": "^0.10.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" + } + } + } + }, + "snyk-docker-plugin": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-1.38.0.tgz", + "integrity": "sha512-43HbJj6QatuL2BNG+Uq2Taa73wdfSQSID8FJWW4q5/LYgd9D+RtdiE4lAMwxqYYbvThU9uuza4epuF/B1CAlYw==", + "requires": { + "debug": "^4.1.1", + "dockerfile-ast": "0.0.18", + "event-loop-spinner": "^1.1.0", + "semver": "^6.1.0", + "tar-stream": "^2.1.0", + "tslib": "^1" + } + }, + "snyk-go-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/snyk-go-parser/-/snyk-go-parser-1.3.1.tgz", + "integrity": "sha512-jrFRfIk6yGHFeipGD66WV9ei/A/w/lIiGqI80w1ndMbg6D6M5pVNbK7ngDTmo4GdHrZDYqx/VBGBsUm2bol3Rg==", + "requires": { + "toml": "^3.0.0", + "tslib": "^1.9.3" + } + }, + "snyk-go-plugin": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.11.1.tgz", + "integrity": "sha512-IsNi7TmpHoRHzONOWJTT8+VYozQJnaJpKgnYNQjzNm2JlV8bDGbdGQ1a8LcEoChxnJ8v8aMZy7GTiQyGGABtEQ==", + "requires": { + "debug": "^4.1.1", + "graphlib": "^2.1.1", + "snyk-go-parser": "1.3.1", + "tmp": "0.0.33", + "tslib": "^1.10.0" + } + }, + "snyk-gradle-plugin": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.2.4.tgz", + "integrity": "sha512-XmS1gl7uZNHP9HP5RaPuRXW3VjkbdWe+EgSOlvmspztkubIOIainqc87k7rIJ6u3tLBhqsZK8b5ru0/E9Q69hQ==", + "requires": { + "@snyk/cli-interface": "2.3.0", + "@types/debug": "^4.1.4", + "chalk": "^2.4.2", + "debug": "^4.1.1", + "tmp": "0.0.33", + "tslib": "^1.9.3" + }, + "dependencies": { + "@types/debug": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", + "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" + } + } + }, + "snyk-module": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/snyk-module/-/snyk-module-1.9.1.tgz", + "integrity": "sha512-A+CCyBSa4IKok5uEhqT+hV/35RO6APFNLqk9DRRHg7xW2/j//nPX8wTSZUPF8QeRNEk/sX+6df7M1y6PBHGSHA==", + "requires": { + "debug": "^3.1.0", + "hosted-git-info": "^2.7.1" + }, + "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" + } + } + } + }, + "snyk-mvn-plugin": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.9.0.tgz", + "integrity": "sha512-FBl78wCHNm0P/QOlipvOxzN2LrXlS6NBN0zXWYZ09P0hG65rmA3gKTg0QsHUjIBh1Pg9bw5aG4r/AHle6a6g6w==", + "requires": { + "@snyk/cli-interface": "2.3.1", + "debug": "^4.1.1", + "lodash": "^4.17.15", + "needle": "^2.4.0", + "tmp": "^0.1.0", + "tslib": "1.9.3" + }, + "dependencies": { + "@snyk/cli-interface": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.3.1.tgz", + "integrity": "sha512-JZvsmhDXSyjv1dkc12lPI3tNTNYlIaOiIQMYFg2RgqF3QmWjTyBUgRZcF7LoKyufHtS4dIudM6k1aHBpSaDrhw==", + "requires": { + "tslib": "^1.9.3" + } + }, + "needle": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz", + "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "requires": { + "rimraf": "^2.6.3" + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "snyk-nodejs-lockfile-parser": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.17.0.tgz", + "integrity": "sha512-i4GAYFj9TJLOQ8F+FbIJuJWdGymi8w/XcrEX0FzXk7DpYUCY3mWibyKhw8RasfYBx5vLwUzEvRMaQuc2EwlyfA==", + "requires": { + "@yarnpkg/lockfile": "^1.0.2", + "graphlib": "^2.1.5", + "lodash": "^4.17.14", + "p-map": "2.1.0", + "source-map-support": "^0.5.7", + "tslib": "^1.9.3", + "uuid": "^3.3.2" + }, + "dependencies": { + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + } + } + }, + "snyk-nuget-plugin": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.16.0.tgz", + "integrity": "sha512-OEusK3JKKpR4Yto5KwuqjQGgb9wAhmDqBWSQomWdtKQVFrzn5B6BMzOFikUzmeMTnUGGON7gurQBLXeZZLhRqg==", + "requires": { + "debug": "^3.1.0", + "dotnet-deps-parser": "4.9.0", + "jszip": "^3.1.5", + "lodash": "^4.17.14", + "snyk-paket-parser": "1.5.0", + "tslib": "^1.9.3", + "xml2js": "^0.4.17" + }, + "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" + } + } + } + }, + "snyk-paket-parser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/snyk-paket-parser/-/snyk-paket-parser-1.5.0.tgz", + "integrity": "sha512-1CYMPChJ9D9LBy3NLqHyv8TY7pR/LMISSr08LhfFw/FpfRZ+gTH8W6bbxCmybAYrOFNCqZkRprqOYDqZQFHipA==", + "requires": { + "tslib": "^1.9.3" + } + }, + "snyk-php-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.7.0.tgz", + "integrity": "sha512-mDe90xkqSEVrpx1ZC7ItqCOc6fZCySbE+pHVI+dAPUmf1C1LSWZrZVmAVeo/Dw9sJzJfzmcdAFQl+jZP8/uV0A==", + "requires": { + "@snyk/cli-interface": "2.2.0", + "@snyk/composer-lockfile-parser": "1.2.0", + "tslib": "1.9.3" + }, + "dependencies": { + "@snyk/cli-interface": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.2.0.tgz", + "integrity": "sha512-sA7V2JhgqJB9z5uYotgQc5iNDv//y+Mdm39rANxmFjtZMSYJZHkP80arzPjw1mB5ni/sWec7ieYUUFeySZBfVg==", + "requires": { + "tslib": "^1.9.3" + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "snyk-policy": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/snyk-policy/-/snyk-policy-1.13.5.tgz", + "integrity": "sha512-KI6GHt+Oj4fYKiCp7duhseUj5YhyL/zJOrrJg0u6r59Ux9w8gmkUYT92FHW27ihwuT6IPzdGNEuy06Yv2C9WaQ==", + "requires": { + "debug": "^3.1.0", + "email-validator": "^2.0.4", + "js-yaml": "^3.13.1", + "lodash.clonedeep": "^4.5.0", + "semver": "^6.0.0", + "snyk-module": "^1.9.1", + "snyk-resolve": "^1.0.1", + "snyk-try-require": "^1.3.1", + "then-fs": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "snyk-python-plugin": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.17.0.tgz", + "integrity": "sha512-EKdVOUlvhiVpXA5TeW8vyxYVqbITAfT+2AbL2ZRiiUNLP5ae+WiNYaPy7aB5HAS9IKBKih+IH8Ag65Xu1IYSYA==", + "requires": { + "@snyk/cli-interface": "^2.0.3", + "tmp": "0.0.33" + } + }, + "snyk-resolve": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/snyk-resolve/-/snyk-resolve-1.0.1.tgz", + "integrity": "sha512-7+i+LLhtBo1Pkth01xv+RYJU8a67zmJ8WFFPvSxyCjdlKIcsps4hPQFebhz+0gC5rMemlaeIV6cqwqUf9PEDpw==", + "requires": { + "debug": "^3.1.0", + "then-fs": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "snyk-resolve-deps": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-4.4.0.tgz", + "integrity": "sha512-aFPtN8WLqIk4E1ulMyzvV5reY1Iksz+3oPnUVib1jKdyTHymmOIYF7z8QZ4UUr52UsgmrD9EA/dq7jpytwFoOQ==", + "requires": { + "@types/node": "^6.14.4", + "@types/semver": "^5.5.0", + "ansicolors": "^0.3.2", + "debug": "^3.2.5", + "lodash.assign": "^4.2.0", + "lodash.assignin": "^4.2.0", + "lodash.clone": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.get": "^4.4.2", + "lodash.set": "^4.3.2", + "lru-cache": "^4.0.0", + "semver": "^5.5.1", + "snyk-module": "^1.6.0", + "snyk-resolve": "^1.0.0", + "snyk-tree": "^1.0.0", + "snyk-try-require": "^1.1.1", + "then-fs": "^2.0.0" + }, + "dependencies": { + "@types/node": { + "version": "6.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.9.tgz", + "integrity": "sha512-leP/gxHunuazPdZaCvsCefPQxinqUDsCxCR5xaDUrY2MkYxQRFZZwU5e7GojyYsGB7QVtCi7iVEl/hoFXQYc+w==" + }, + "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" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "snyk-sbt-plugin": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.11.0.tgz", + "integrity": "sha512-wUqHLAa3MzV6sVO+05MnV+lwc+T6o87FZZaY+43tQPytBI2Wq23O3j4POREM4fa2iFfiQJoEYD6c7xmhiEUsSA==", + "requires": { + "debug": "^4.1.1", + "semver": "^6.1.2", + "tmp": "^0.1.0", + "tree-kill": "^1.2.2", + "tslib": "^1.10.0" + }, + "dependencies": { + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "requires": { + "rimraf": "^2.6.3" + } + } + } + }, + "snyk-tree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/snyk-tree/-/snyk-tree-1.0.0.tgz", + "integrity": "sha1-D7cxdtvzLngvGRAClBYESPkRHMg=", + "requires": { + "archy": "^1.0.0" + } + }, + "snyk-try-require": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-1.3.1.tgz", + "integrity": "sha1-bgJvkuZK9/zM6h7lPVJIQeQYohI=", + "requires": { + "debug": "^3.1.0", + "lodash.clonedeep": "^4.3.0", + "lru-cache": "^4.0.0", + "then-fs": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "socket.io": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.4.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" + } + }, + "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=" + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.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.3.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=" + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + } + } + }, + "socket.io-parser": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.0.tgz", + "integrity": "sha512-/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.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=" + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "requires": { + "websocket-driver": ">=0.5.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==", + "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==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "socks": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", + "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "requires": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", + "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "requires": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "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" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "requires": { + "sort-keys": "^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==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "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==", + "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==", + "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==" + } + } + }, + "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=" + }, + "space-separated-tokens": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz", + "integrity": "sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA==" + }, + "spawn-command": { + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", + "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "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==" + }, + "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==", + "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==" + }, + "spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "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==", + "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==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "speedometer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", + "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=", + "optional": true + }, + "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-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, + "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==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "splitargs": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/splitargs/-/splitargs-0.0.7.tgz", + "integrity": "sha1-/p965lc3GzOxDLgNoUPPgknPazs=", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "squeak": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", + "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", + "requires": { + "chalk": "^1.0.0", + "console-stream": "^0.1.1", + "lpad-align": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "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" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "srcset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-1.0.0.tgz", + "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", + "requires": { + "array-uniq": "^1.0.2", + "number-is-nan": "^1.0.0" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "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" + } + }, + "ssr-window": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-1.0.1.tgz", + "integrity": "sha512-dgFqB+f00LJTEgb6UXhx0h+SrG50LJvti2yMKMqAgzfUmUXZrLSv2fjULF7AWGwK25EXu8+smLR3jYsJQChPsg==" + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "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==" + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==" + }, + "stackframe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.0.tgz", + "integrity": "sha512-Vx6W1Yvy+AM1R/ckVwcHQHV147pTPBKWCRLrXMuPrFVfvBUc3os7PR1QLIWCMhPpRg5eX9ojzbQIMLGBwyLjqg==" + }, + "state-toggle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz", + "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "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=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "store2": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/store2/-/store2-2.10.0.tgz", + "integrity": "sha512-tWEpK0snS2RPUq1i3R6OahfJNjWCQYNxq0+by1amCSuw0mXtymJpzmZIeYpA1UAa+7B0grCpNYIbDcd7AgTbFg==" + }, + "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==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } + }, + "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==", + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.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==", + "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-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-length/-/stream-length-1.0.2.tgz", + "integrity": "sha1-gnfzy+5JpNqrz9tOL0qbXp8snwA=", + "dev": true, + "requires": { + "bluebird": "^2.6.2" + }, + "dependencies": { + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "dev": true + } + } + }, + "stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=", + "requires": { + "debug": "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=" + } + } + }, + "stream-progressbar": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/stream-progressbar/-/stream-progressbar-1.4.0.tgz", + "integrity": "sha512-VOzpk/Zdro9Sap4GvU6bH6QIXtBy9mei1mxdTtWGblma1/oCwMd/tfqZ/RzNwdNDIGQmrra8ilENdkn631EkOQ==", + "requires": { + "progress": "^2.0.3" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "stream-to-array": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/stream-to-array/-/stream-to-array-2.3.0.tgz", + "integrity": "sha1-u/azn19D7DC8cbq8s3VXrOzzQ1M=", + "requires": { + "any-promise": "^1.1.0" + } + }, + "stream-to-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-to-promise/-/stream-to-promise-2.2.0.tgz", + "integrity": "sha1-se2y4cjLESidG1A8CNPyrvUeZQ8=", + "requires": { + "any-promise": "~1.3.0", + "end-of-stream": "~1.1.0", + "stream-to-array": "~2.3.0" + }, + "dependencies": { + "end-of-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", + "integrity": "sha1-6TUyWLqpEIll78QcsO+K3i88+wc=", + "requires": { + "once": "~1.3.0" + } + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "requires": { + "wrappy": "1" + } + } + } + }, + "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=" + }, + "string": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/string/-/string-3.3.3.tgz", + "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", + "dev": true + }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "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-similarity": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-1.2.2.tgz", + "integrity": "sha512-IoHUjcw3Srl8nsPlW04U3qwWPk3oG2ffLM0tN853d/E/JlIvcmZmDY2Kz5HzKp4lEi2T7QD7Zuvjq/1rDw+XcQ==", + "requires": { + "lodash.every": "^4.6.0", + "lodash.flattendeep": "^4.4.0", + "lodash.foreach": "^4.5.0", + "lodash.map": "^4.6.0", + "lodash.maxby": "^4.6.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.matchall": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-3.0.2.tgz", + "integrity": "sha512-hsRe42jQ8+OJej2GVjhnSVodQ3NQgHV0FDD6dW7ZTM22J4uIbuYiAADCCc1tfyN7ocEl/KUUbudM36E2tZcF8w==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.14.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" + } + }, + "string.prototype.padend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz", + "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.4.3", + "function-bind": "^1.0.2" + } + }, + "string.prototype.padstart": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz", + "integrity": "sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.4.3", + "function-bind": "^1.0.2" + } + }, + "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==", + "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==", + "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==", + "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-entities": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", + "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-hexadecimal": "^1.0.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==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^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=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" + }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + }, + "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=" + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "style-loader": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + } + }, + "style-to-object": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.2.3.tgz", + "integrity": "sha512-1d/k4EY2N7jVLOqf2j04dTc37TPOv/hHxZmvpg8Pdh8UYydxeu/C1W1U4vD8alzf5V2Gt7rLsmkr4dxAlDm9ng==", + "requires": { + "inline-style-parser": "0.1.1" + } + }, + "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==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "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=", + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.2.tgz", + "integrity": "sha512-1gtApepKFweigFZj3sGO8KT8LvVZK8io146EzXrpVuWCDAbISz/yMucco3hWTkpZNoPabM+dnMOpy6Swue68Zg==" + }, + "svgo": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz", + "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==", + "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==", + "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==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + } + } + }, + "swiper": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-5.0.4.tgz", + "integrity": "sha512-CdBTGO/h5v5ill3+ai02f2NWflDXTWW4AA+YpIctAc1xjWgPeblMNslm+hYsU7+42VVJbQOWeEy1DUQhzqwIqA==", + "requires": { + "dom7": "^2.1.3", + "ssr-window": "^1.0.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==" + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "symbol.prototype.description": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol.prototype.description/-/symbol.prototype.description-1.0.1.tgz", + "integrity": "sha512-smeS1BCkN6lcz1XveFK+cfvfBmNJ6dcPi6lgOnLUU8Po8SmV+rtmYGObbNOisW9RHWMyUfsgMA+eTQg+b3v9Vg==", + "requires": { + "es-abstract": "^1.16.0", + "has-symbols": "^1.0.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz", + "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==", + "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" + } + } + } + }, + "synchronous-promise": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.10.tgz", + "integrity": "sha512-6PC+JRGmNjiG3kJ56ZMNWDPL8hjyghF5cMXIFOKg+NiwwEZZIvxTWd0pinWKyD227odg9ygF8xVhhz7gb8Uq7A==" + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "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=" + }, + "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==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "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==", + "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" + } + } + } + }, + "telejson": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/telejson/-/telejson-3.1.0.tgz", + "integrity": "sha512-mhiVy+xp2atri1bzSzdy/gVGXlOhibaoZ092AUq5xhnrZGdzhF0fLaOduHJQghkro+qmjYMwhsOL9CkD2zTicg==", + "requires": { + "@types/is-function": "^1.0.0", + "global": "^4.4.0", + "is-function": "^1.0.1", + "is-regex": "^1.0.4", + "is-symbol": "^1.0.2", + "isobject": "^4.0.0", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3" + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" + }, + "tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", + "requires": { + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "terser": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.8.tgz", + "integrity": "sha512-otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "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==", + "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": { + "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==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "test-exclude": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", + "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", + "requires": { + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^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=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "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=", + "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" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "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=", + "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=", + "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=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "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=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "then-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/then-fs/-/then-fs-2.0.0.tgz", + "integrity": "sha1-cveS3Z0xcFqRrhnr/Piz+WjIHaI=", + "requires": { + "promise": ">=3.2 <8" + } + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" + }, + "throttle-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.1.0.tgz", + "integrity": "sha512-AOvyNahXQuU7NN+VVvOOX+uW6FPaWdAOdRP5HfwYxAfCzXTFKRMoIMk+n+po318+ktcChx+F1Dd91G3YHeMKyg==" + }, + "throttleit": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", + "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", + "optional": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "through2-sink": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/through2-sink/-/through2-sink-1.0.0.tgz", + "integrity": "sha1-XxBruh1zMNrTy6XAqxhjkjJWw5k=", + "dev": true, + "requires": { + "through2": "~0.5.1", + "xtend": "~3.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.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.5.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", + "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", + "dev": true, + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~3.0.0" + } + }, + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "dev": true + } + } + }, + "through2-spy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/through2-spy/-/through2-spy-1.2.0.tgz", + "integrity": "sha1-nIkcqcpA4eHkzzHhrFf5TMnSSMs=", + "dev": true, + "requires": { + "through2": "~0.5.1", + "xtend": "~3.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.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.5.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", + "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", + "dev": true, + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~3.0.0" + } + }, + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "dev": true + } + } + }, + "thunkify": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" + }, + "thunky": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", + "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==" + }, + "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=" + }, + "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==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timm": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/timm/-/timm-1.6.2.tgz", + "integrity": "sha512-IH3DYDL1wMUwmIlVmMrmesw5lZD6N+ZOAFWEyLrtpoL9Bcrs9u7M/vyOnHzDD2SMs4irLkVjqxZbHrXStS/Nmw==" + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "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==" + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + }, + "tlds": { + "version": "1.203.1", + "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.203.1.tgz", + "integrity": "sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw==" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" + }, + "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=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "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=" + }, + "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=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "optional": true + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "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=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" + }, + "toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" + }, + "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==", + "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=" + } + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "requires": { + "punycode": "^2.1.0" + } + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, + "trim-lines": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.2.tgz", + "integrity": "sha512-3GOuyNeTqk3FAqc3jOJtw7FTjYl94XBR5aD9QnDbK/T4CA9sW/J0l9RoaRPE9wyPP7NF331qnHnvJFBJ+IDkmQ==" + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "trim-trailing-lines": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz", + "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==" + }, + "trough": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz", + "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==" + }, + "true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" + }, + "ts-pnp": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.4.tgz", + "integrity": "sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw==" + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "requires": { + "tslib": "^1.8.1" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "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=" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "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-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-of/-/type-of-2.0.1.tgz", + "integrity": "sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI=" + }, + "typed-styles": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz", + "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==" + }, + "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==", + "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==" + }, + "uglify-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.5.tgz", + "integrity": "sha512-7L3W+Npia1OCr5Blp4/Vw83tK1mu5gnoIURtT1fUVfQ3Kf8WStWV6NJz0fdoBJZls0KlweruRTLVe6XLafmy5g==", + "requires": { + "commander": "~2.20.3", + "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==" + } + } + }, + "unbzip2-stream": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", + "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + }, + "dependencies": { + "buffer": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + }, + "underscore": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz", + "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==" + }, + "underscore.string": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", + "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", + "requires": { + "sprintf-js": "^1.0.3", + "util-deprecate": "^1.0.2" + } + }, + "unfetch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.1.0.tgz", + "integrity": "sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg==" + }, + "unherit": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz", + "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==", + "requires": { + "inherits": "^2.0.1", + "xtend": "^4.0.1" + } + }, + "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==" + }, + "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==", + "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==" + }, + "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==" + }, + "unified": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz", + "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^2.0.0", + "x-is-string": "^0.1.0" + }, + "dependencies": { + "vfile": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", + "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==", + "requires": { + "is-buffer": "^1.1.4", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + } + } + } + }, + "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==", + "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=" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "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==", + "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=", + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unist-builder": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.4.tgz", + "integrity": "sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg==", + "requires": { + "object-assign": "^4.1.0" + } + }, + "unist-util-generated": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.4.tgz", + "integrity": "sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww==" + }, + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" + }, + "unist-util-modify-children": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.4.tgz", + "integrity": "sha512-8iey9wkoB62C7Vi/8zcRUmi4b1f5AYKTwMkyEgLduo2D8+OY65RoSvbn6k9tVNri6qumXxAwXDVlXWQi0sENTw==", + "requires": { + "array-iterate": "^1.0.0" + } + }, + "unist-util-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.3.tgz", + "integrity": "sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==" + }, + "unist-util-remove-position": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz", + "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==", + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "unist-util-select": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/unist-util-select/-/unist-util-select-1.5.0.tgz", + "integrity": "sha1-qTwr6MD2U4J4A7gTMa3sKqJM2TM=", + "requires": { + "css-selector-parser": "^1.1.0", + "debug": "^2.2.0", + "nth-check": "^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==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "unist-util-stringify-position": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", + "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==" + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + }, + "unist-util-visit-children": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-1.1.3.tgz", + "integrity": "sha512-/GQ8KNRrG+qD30H76FZNc6Ok+8XTu8lxJByN5LnQ4eQfqxda2gP0CPsCX63BRB26ZRMNf6i1c+jlvNlqysEoFg==" + }, + "unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "requires": { + "unist-util-is": "^3.0.0" + } + }, + "universal-cookie": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-2.2.0.tgz", + "integrity": "sha512-weEuvQvnMs74WGwqKSbeapCRv/7ATHDCqrfZtj579r3fQCxcwtoXYMoaZ8YOCQga/ctQTYy20xMOH1u7cAAU6w==", + "requires": { + "cookie": "^0.3.1", + "object-assign": "^4.1.0" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + } + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "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=", + "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=", + "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=", + "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=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "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": { + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "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" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "requires": { + "ci-info": "^1.5.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=" + }, + "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" + } + }, + "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" + } + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "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==", + "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=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "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=" + } + } + }, + "url-join": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", + "integrity": "sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg=" + }, + "url-loader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.2.0.tgz", + "integrity": "sha512-G8nk3np8ZAnwhHXas1JxJEwJyQdqFXAKJehfgZ/XrC48volFBRtO+FIKtF2u0Ma3bw+4vnDVjHPAQYlF9p2vsw==", + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.4.1" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "schema-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.4.1.tgz", + "integrity": "sha512-RqYLpkPZX5Oc3fw/kHHHyP56fg5Y+XBpIpV8nCg0znIALfq3OH+Ea9Hfeac9BAMwG5IICltiZ0vxFvJQONfA5w==", + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "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=", + "requires": { + "prepend-http": "^1.0.1" + } + }, + "url-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-4.1.1.tgz", + "integrity": "sha512-ViSDgDPNKkrQHI81GLCjdDN+Rsk3tAW/uLXlBOJxtcHzWZjta58Z0APXhfXzS89YszsheMnEvXeDXsWUB53wwA==", + "requires": { + "ip-regex": "^1.0.1", + "tlds": "^1.187.0" + }, + "dependencies": { + "ip-regex": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", + "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=" + } + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "url-toolkit": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/url-toolkit/-/url-toolkit-2.1.6.tgz", + "integrity": "sha512-UaZ2+50am4HwrV2crR/JAf63Q4VvPYphe63WGeoJxeu8gmOm0qxPt+KsukfakPNrX9aymGNEkkaoICwn+OuvBw==" + }, + "urlcache": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/urlcache/-/urlcache-0.7.0.tgz", + "integrity": "sha512-xOW4t6wJDT07+VunsHwePemyXXRidCSOZ/1RIILJi2XnB+81FA5H0MRvS63/7joTWjGLajcJJGvR5odpbkV6hw==", + "dev": true, + "requires": { + "urlobj": "0.0.11" + } + }, + "urlobj": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/urlobj/-/urlobj-0.0.11.tgz", + "integrity": "sha512-Ncck0WWtuFBbZhSYwKjK1AU2V51V98P/KHUPkaEc+mFy4xkpAHFNyVQT+S5SgtsJAr94e4wiKUucJSfasV2kBw==", + "dev": true, + "requires": { + "is-object": "^1.0.1", + "is-string": "^1.0.4", + "object-assign": "^4.1.1" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "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" + } + }, + "utif": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "requires": { + "pako": "^1.0.5" + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "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=" + } + } + }, + "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==", + "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=" + }, + "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==" + }, + "v8-compile-cache": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz", + "integrity": "sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA==" + }, + "valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" + }, + "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==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz", + "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz", + "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==", + "requires": { + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + } + } + }, + "vfile-location": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz", + "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==" + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", + "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", + "requires": { + "unist-util-stringify-position": "^1.1.1" + } + }, + "video.js": { + "version": "7.6.6", + "resolved": "https://registry.npmjs.org/video.js/-/video.js-7.6.6.tgz", + "integrity": "sha512-AXzHwymhvMpS7c7rF29u0j0/3tSs+v2gIk5UY8OkiDHSEHL7T0+t3hid4JHW7aGvTruUUgwyf4C74cX2RDL1Pw==", + "requires": { + "@babel/runtime": "^7.4.5", + "@videojs/http-streaming": "1.10.6", + "global": "4.3.2", + "keycode": "^2.2.0", + "safe-json-parse": "4.0.0", + "videojs-font": "3.2.0", + "videojs-vtt.js": "^0.14.1", + "xhr": "2.4.0" + }, + "dependencies": { + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + }, + "xhr": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.4.0.tgz", + "integrity": "sha1-4W5mpF+GmGHu76tBbV7/ci3ECZM=", + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + } + } + }, + "videojs-font": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-3.2.0.tgz", + "integrity": "sha512-g8vHMKK2/JGorSfqAZQUmYYNnXmfec4MLhwtEFS+mMs2IDY398GLysy6BH6K+aS1KMNu/xWZ8Sue/X/mdQPliA==" + }, + "videojs-vtt.js": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.14.1.tgz", + "integrity": "sha512-YxOiywx6N9t3J5nqsE5WN2Sw4CSqVe3zV+AZm2T4syOc2buNJaD6ZoexSdeszx2sHLU/RRo2r4BJAXFDQ7Qo2Q==", + "requires": { + "global": "^4.3.1" + } + }, + "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==" + }, + "vscode-languageserver-types": { + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", + "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==" + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "requires": { + "browser-process-hrtime": "^0.1.2" + } + }, + "wait-on": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-4.0.0.tgz", + "integrity": "sha512-QrW3J8LzS5ADPfD9Rx5S6KJck66xkqyiFKQs9jmUTkIhiEOmkzU7WRZc+MjsnmkrgjitS2xQ4bb13hnlQnKBUQ==", + "dev": true, + "requires": { + "@hapi/joi": "^16.1.8", + "lodash": "^4.17.15", + "minimist": "^1.2.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.8", + "rxjs": "^6.5.4" + }, + "dependencies": { + "@hapi/joi": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", + "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", + "dev": true, + "requires": { + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + } + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "requires": { + "makeerror": "1.0.x" + } + }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watch": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", + "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "requires": { + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "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==", + "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=", + "requires": { + "defaults": "^1.0.3" + } + }, + "web-namespaces": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.3.tgz", + "integrity": "sha512-r8sAtNmgR0WKOKOxzuSgk09JsHlpKlB+uHi937qypOu3PZ17UxPrierFKDye/uNHjNTTEshu5PId8rojIPj/tA==" + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "webpack": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.1.tgz", + "integrity": "sha512-ak7u4tUu/U63sCVxA571IuPZO/Q0pZ9cEXKg+R/woxkDzVovq57uB6L2Hlg/pC8LCU+TWpvtcYwsstivQwMJmw==", + "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" + } + }, + "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==", + "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==" + } + } + }, + "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==", + "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": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.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" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "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==" + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "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" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "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=" + } + } + }, + "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==" + }, + "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=" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "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==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + }, + "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" + } + } + } + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "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" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "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==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-hot-middleware": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz", + "integrity": "sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==", + "requires": { + "ansi-html": "0.0.7", + "html-entities": "^1.2.0", + "querystring": "^0.2.0", + "strip-ansi": "^3.0.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==", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "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==", + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "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==" + } + } + }, + "webpack-stats-plugin": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/webpack-stats-plugin/-/webpack-stats-plugin-0.3.0.tgz", + "integrity": "sha512-4a6mEl9HLtMukVjEPY8QPCSmtX2EDFJNhDTX5ZE2CLch2adKAZf53nUrpG6m7NattwigS0AodNcwNxlu9kMSDQ==" + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "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==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "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=" + }, + "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=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "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=" + }, + "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" + } + }, + "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" + } + } + } + }, + "win-release": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz", + "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", + "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 + } + } + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" + }, + "windows-release": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz", + "integrity": "sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==", + "requires": { + "execa": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "with-open-file": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.6.tgz", + "integrity": "sha512-SQS05JekbtwQSgCYlBsZn/+m2gpn4zWsqpCYIrCHva0+ojXcnmUEPsBN6Ipoz3vmY/81k5PvYEWSxER2g4BTqA==", + "requires": { + "p-finally": "^1.0.0", + "p-try": "^2.1.0", + "pify": "^4.0.1" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "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==", + "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==", + "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==", + "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==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + } + } + }, + "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==", + "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==" + }, + "workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==" + }, + "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==", + "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==", + "requires": { + "errno": "~0.1.7" + } + }, + "worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "requires": { + "microevent.ts": "~0.1.1" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "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=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "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==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz", + "integrity": "sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==", + "requires": { + "async-limiter": "^1.0.0" + } + }, + "x-is-string": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", + "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=" + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" + }, + "xhr": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", + "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + } + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" + }, + "xml2js": { + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.22.tgz", + "integrity": "sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==", + "requires": { + "sax": ">=0.6.0", + "util.promisify": "~1.0.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" + }, + "xstate": { + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.6.7.tgz", + "integrity": "sha512-mqgtH6BXOgjOHVDxZPyW/h6QUC5kfEggh5IN8uOitjzrdCScE/a/cwcRvgcH8CGAXYReDNvasOKD0aFBWAZ1fg==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "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==" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yaml-loader": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.5.0.tgz", + "integrity": "sha512-p9QIzcFSNm4mCw/m5NdyMfN4RE4aFZJWRRb01ERVNGCym8VNbKtw3OYZXnvUIkim6U/EjqE/2yIh9F/msShH9A==", + "requires": { + "js-yaml": "^3.5.2" + } + }, + "yargs": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", + "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", + "requires": { + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.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", + "yargs-parser": "^7.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=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "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=" + }, + "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" + } + }, + "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" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + } + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "requires": { + "camelcase": "^4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + } + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + }, + "yoga-layout-prebuilt": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.9.3.tgz", + "integrity": "sha512-9SNQpwuEh2NucU83i2KMZnONVudZ86YNcFk9tq74YaqrQfgJWO3yB9uzH1tAg8iqh5c9F5j0wuyJ2z72wcum2w==", + "optional": true + }, + "yup": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.27.0.tgz", + "integrity": "sha512-v1yFnE4+u9za42gG/b/081E7uNW9mUj3qtkmelLbW5YPROZzSH/KUUyJu9Wt8vxFJcT9otL/eZopS0YK1L5yPQ==", + "requires": { + "@babel/runtime": "^7.0.0", + "fn-name": "~2.0.1", + "lodash": "^4.17.11", + "property-expr": "^1.5.0", + "synchronous-promise": "^2.0.6", + "toposort": "^2.0.2" + } + }, + "yurnalist": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yurnalist/-/yurnalist-1.1.1.tgz", + "integrity": "sha512-WMk8SL262zU/3Cr8twpfx/kdhPDAkhWN9HukNeb1U1xVrwU9iIAsCgYI8J5QMZTz+5N3Et/ZKzvOzVCjd/dAWA==", + "requires": { + "babel-runtime": "^6.26.0", + "chalk": "^2.4.2", + "cli-table3": "^0.5.1", + "debug": "^4.1.1", + "deep-equal": "^1.1.0", + "detect-indent": "^6.0.0", + "inquirer": "^7.0.0", + "invariant": "^2.2.0", + "is-builtin-module": "^3.0.0", + "is-ci": "^2.0.0", + "leven": "^3.1.0", + "loud-rejection": "^2.2.0", + "node-emoji": "^1.10.0", + "object-path": "^0.11.2", + "read": "^1.0.7", + "rimraf": "^3.0.0", + "semver": "^6.3.0", + "strip-ansi": "^5.2.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", + "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", + "requires": { + "type-fest": "^0.5.2" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "figures": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz", + "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "inquirer": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", + "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "requires": { + "glob": "^7.1.3" + } + }, + "string-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", + "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^5.2.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==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "type-fest": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", + "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==" + } + } + }, + "zwitch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.4.tgz", + "integrity": "sha512-YO803/X+13GNaZB7fVopjvHH0uWQKgJkgKnU1YCjxShjKGVuN9PPHHW8g+uFDpkHpSTNi3rCMKMewIcbC1BAYg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000000..08db73ebd3 --- /dev/null +++ b/package.json @@ -0,0 +1,103 @@ +{ + "name": "k6-docs", + "description": "", + "version": "0.1.0", + "private": true, + "scripts": { + "build:gatsby": "gatsby build --prefix-paths", + "build:storybook": "NODE_ENV=production build-storybook --static-dir static --output-dir public/storybook", + "build": "npm run build:gatsby", + "clean": "gatsby clean", + "start": "npm run develop --host=0.0.0.0", + "serve": "gatsby serve --prefix-paths", + "deploy": "./scripts/gatsby-s3-workaround.sh prepare && gatsby-plugin-s3 deploy --yes && ./scripts/cloudfront-invalidate.sh && ./scripts/gatsby-s3-workaround.sh revert", + "predevelop": "test -f ./.env.development || cp ./.env.example ./.env.development", + "develop": "gatsby develop", + "storybook": "NODE_ENV=production start-storybook --port 8001 --static-dir public,static", + "lint": "eslint src/", + "lint:fix": "eslint src/ --fix", + "precheck:links": "gatsby build", + "check:links": "concurrently --kill-others -s first \"gatsby serve --port 8000\" \"npm run check:blc\"", + "check:blc": "wait-on tcp:8000 && blc http://localhost:8000 -rof" + }, + "dependencies": { + "@storybook/react": "^5.2.5", + "algoliasearch": "^3.35.1", + "classnames": "^2.2.6", + "date-fns": "^2.7.0", + "dateformat": "^3.0.3", + "dotenv": "^8.1.0", + "eslint-config-prettier": "^6.10.0", + "eslint-plugin-prettier": "^3.1.2", + "formik": "^1.5.8", + "gatsby": "^2.15.35", + "gatsby-image": "^2.2.27", + "gatsby-plugin-algolia": "^0.5.0", + "gatsby-plugin-catch-links": "^2.1.24", + "gatsby-plugin-google-analytics": "^2.1.35", + "gatsby-plugin-manifest": "^2.2.21", + "gatsby-plugin-offline": "^3.0.14", + "gatsby-plugin-prefetch-google-fonts": "^1.4.3", + "gatsby-plugin-react-helmet": "^3.1.11", + "gatsby-plugin-react-helmet-canonical-urls": "^1.4.0", + "gatsby-plugin-remove-trailing-slashes": "^2.1.10", + "gatsby-plugin-resolve-src": "^2.0.0", + "gatsby-plugin-s3": "^0.3.2", + "gatsby-plugin-sharp": "^2.2.29", + "gatsby-plugin-sitemap": "^2.2.26", + "gatsby-remark-copy-linked-files": "^2.1.36", + "gatsby-remark-images": "^3.1.30", + "gatsby-remark-prismjs": "^3.3.18", + "gatsby-remark-relative-images": "^0.2.3", + "gatsby-source-filesystem": "^2.1.31", + "gatsby-transformer-json": "^2.2.16", + "gatsby-transformer-remark": "^2.6.28", + "gatsby-transformer-sharp": "^2.2.21", + "google-maps-react": "^2.0.2", + "intersection-observer": "^0.7.0", + "lodash": "^4.17.15", + "prismjs": "^1.17.1", + "qs": "^6.9.1", + "react": "^16.10.2", + "react-clipboard.js": "^2.0.16", + "react-cookie-banner": "^4.0.0", + "react-dom": "^16.10.2", + "react-helmet": "^5.2.1", + "react-id-swiper": "^2.3.2", + "react-instantsearch-dom": "^6.2.0", + "react-paginate": "^6.3.0", + "react-share": "^3.0.1", + "react-sticky": "^6.0.3", + "script-loader": "^0.7.2", + "smooth-scroll": "^16.1.2", + "swiper": "^5.0.4", + "video.js": "^7.6.6", + "yarn": "^1.22.0", + "yup": "^0.27.0" + }, + "devDependencies": { + "@babel/core": "^7.6.4", + "@svgr/webpack": "^4.3.2", + "babel-eslint": "^10.0.3", + "babel-loader": "^8.0.6", + "broken-link-checker": "^0.7.8", + "concurrently": "^5.0.2", + "eslint-config-airbnb": "^18.0.1", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-react": "^7.16.0", + "glob": "^7.1.4", + "husky": "^3.0.8", + "lint-staged": "^9.4.2", + "sass": "1.23.0", + "sass-loader": "^8.0.0", + "sass-resources-loader": "^2.0.1", + "url-loader": "^2.2.0", + "wait-on": "^4.0.0" + }, + "lint-staged": { + "src/**/*.js": [ + "eslint" + ] + } +} diff --git a/plugins/local-plugin-drift/gatsby-browser.js b/plugins/local-plugin-drift/gatsby-browser.js new file mode 100644 index 0000000000..89925eeb72 --- /dev/null +++ b/plugins/local-plugin-drift/gatsby-browser.js @@ -0,0 +1,27 @@ +const utils = require('utils'); + +exports.onInitialClientRender = () => { + if (utils.isInIFrame()) { + return; + } else if (typeof drift === 'object' && window.drift && window.driftAppId) { + window.drift.SNIPPET_VERSION = '0.3.1'; + window.drift.load(window.driftAppId); + + const sidebarClickOutside = e => { + const sidebar = document.getElementById('drift-widget-container'); + if (!sidebar.contains(e.target)) { + window.drift.api.sidebar.close(); + } + }; + // hide default drift icon on load + window.drift.on('ready', api => { + api.widget.hide(); + window.drift.on('sidebarClose', e => { + document.removeEventListener('click', sidebarClickOutside); + }); + window.drift.on('sidebarOpen', e => { + document.addEventListener('click', sidebarClickOutside); + }); + }); + } +}; diff --git a/plugins/local-plugin-drift/gatsby-ssr.js b/plugins/local-plugin-drift/gatsby-ssr.js new file mode 100644 index 0000000000..5f42dd8dc7 --- /dev/null +++ b/plugins/local-plugin-drift/gatsby-ssr.js @@ -0,0 +1,14 @@ +const React = require('react'); + +exports.onRenderBody = ({setPostBodyComponents}, pluginOptions) => { + return setPostBodyComponents([ + <script + dangerouslySetInnerHTML={{ + __html: ` + window.driftAppId = '${pluginOptions.appId}'; + !function(){var t;if(!(t=window.driftt=window.drift=window.driftt||[]).init)t.invoked?window.console&&console.error&&console.error("Drift snippet included twice."):(t.invoked=!0,t.methods=["identify","config","track","reset","debug","show","ping","page","hide","off","on"],t.factory=function(e){return function(){var n;return(n=Array.prototype.slice.call(arguments)).unshift(e),t.push(n),t}},t.methods.forEach(function(e){t[e]=t.factory(e)}),t.load=function(t){var e,n,o;o=3e5*Math.ceil(new Date/3e5),(n=document.createElement("script")).type="text/javascript",n.async=!0,n.crossorigin="anonymous",n.src="https://js.driftt.com/include/"+o+"/"+t+".js",(e=document.getElementsByTagName("script")[0]).parentNode.insertBefore(n,e)})}(); + `, + }} + />, + ]); +}; \ No newline at end of file diff --git a/plugins/local-plugin-drift/package.json b/plugins/local-plugin-drift/package.json new file mode 100644 index 0000000000..4871e9d1a6 --- /dev/null +++ b/plugins/local-plugin-drift/package.json @@ -0,0 +1,4 @@ +{ + "name": "local-plugin-drift" +} + \ No newline at end of file diff --git a/scripts/cloudfront-invalidate.sh b/scripts/cloudfront-invalidate.sh new file mode 100755 index 0000000000..2c45644593 --- /dev/null +++ b/scripts/cloudfront-invalidate.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +# https://stackoverflow.com/questions/34650527/how-to-use-environment-variables-in-package-json +# creating script to pass the CloudFrontDistributionID as env variable +aws cloudfront create-invalidation --distribution-id "$AWS_CLOUDFRONT_DISTRIBUTION_ID" --paths "/docs*" \ No newline at end of file diff --git a/scripts/gatsby-s3-workaround.sh b/scripts/gatsby-s3-workaround.sh new file mode 100755 index 0000000000..bf8f604148 --- /dev/null +++ b/scripts/gatsby-s3-workaround.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +# this workaround is needed to upload site to the prefix /docs of s3 bucket +# should not be used when https://github.com/jariz/gatsby-plugin-s3/issues/24 is resolved + +case "$1" in + "prepare") + if [ -f public/index.html ] + then + mv public temp-public + mkdir public + cp temp-public/404.html public/ + mv temp-public public/docs + echo "WORKAROUND: ready to deploy by gatsby-s3-plugin" + else + echo "ERROR: there is no public/index.html" + exit 1 + fi + ;; + "revert") + if [ -d public/docs ] && [ $(ls -1 ./public | wc -l) = 2 ] + then + mv public/docs temp-public + rm -f public/404.html + rmdir public + mv temp-public public + echo "WORKAROUND: reverted" + else + echo "ERROR: there is no public/docs or there are other files in ./public/" + exit 1 + fi + ;; + *) + echo "ERROR: wrong argument. Example: ./gatsby-s3-workaround.sh prepare|revert" + exit 1 + ;; +esac + diff --git a/src/components/blocks/contact-us-form/contact-us-form.module.scss b/src/components/blocks/contact-us-form/contact-us-form.module.scss new file mode 100644 index 0000000000..99432b4ec6 --- /dev/null +++ b/src/components/blocks/contact-us-form/contact-us-form.module.scss @@ -0,0 +1,120 @@ +.wrapper { + @include default-section-spacing; +} + +.title { + text-align: center; + margin-bottom: 30px; +} + +.form { + position: relative; + max-width: 775px; + border: 1px solid $color-additional-2; + box-shadow: 0 1px 5px rgba(60, 60, 100, 0.05); + margin-right: auto; + margin-left: auto; + + @include md-down { + max-width: 100%; + } +} + +.form-content { + background-color: #ffffff; + padding-top: 35px; + padding-right: 20px; + padding-bottom: 35px; + padding-left: 20px; +} + +.form-fields-wrapper { + display: flex; + justify-content: space-between; + margin-right: -12.5px; + margin-bottom: 35px; + margin-left: -12.5px; + + @include xs-down { + display: block; + margin-right: 0; + margin-left: 0; + } +} + +.form-field { + flex-grow: 1; + margin-right: 12.5px; + margin-left: 12.5px; + @include xs-down { + margin-right: 0; + margin-bottom: 35px; + margin-left: 0; + + &:last-child { + margin-bottom: 0; + } + } +} + +.form-footer { + display: flex; + justify-content: space-between; + background-color: $color-additional-3; + border-top: 1px solid $color-additional-2; + padding-top: 20px; + padding-right: 20px; + padding-bottom: 20px; + padding-left: 20px; + + @include xs-down { + display: block; + } +} + +.form-button { + flex-shrink: 0; + margin-left: 20px; + @include sm-down { + max-height: 60px; + } + @include xs-down { + width: 100%; + margin-top: 20px; + margin-left: 0; + } +} + +.form-animation { + position: absolute; + top: -100px; + left: -200px; + z-index: -1; + width: 296px; + + video { + max-width: 100%; + } + + @include md-down { + display: none; + } +} +.success { + text-align: center; + width: 100%; +} + +.success-icon { + margin-bottom: 10px; + svg { + display: block; + margin: 0 auto; + } +} +.success-text { + font-size: $font-size-sm; +} +.actions { + display: flex; +} diff --git a/src/components/blocks/contact-us-form/contact-us-form.view.js b/src/components/blocks/contact-us-form/contact-us-form.view.js new file mode 100644 index 0000000000..9a22943a73 --- /dev/null +++ b/src/components/blocks/contact-us-form/contact-us-form.view.js @@ -0,0 +1,170 @@ +import React, { useEffect, useRef, useState } from 'react'; +import { Formik } from 'formik'; +import * as Yup from 'yup'; +import qs from 'qs'; +import { Heading } from 'components/shared/heading'; +import { Field } from 'components/shared/field'; +import { CheckboxField } from 'components/shared/checkbox-field'; +import { Button } from 'components/shared/button'; +import SucessSVG from './success.inline.svg'; + +import styles from './contact-us-form.module.scss'; + +import animationVideo from './videos/animation.mp4'; + +export const ContactUsForm = () => { + // performing animation delay 2s + const videoRef = useRef(); + useEffect(() => { + videoRef.current.querySelector('video').onended = (e) => { + setTimeout(() => { + e.target.load(); + }, 2000); + }; + }, []); + const [submitting, setSubmitting] = useState(false); + const [status, setStatus] = useState(false); + return ( + <section className={styles.wrapper}> + <div className={'container'}> + <Heading as={'h2'} className={styles.title}> + How can we help? + </Heading> + <Formik + initialValues={{ + name: '', + email: '', + message: '', + emailSubscription: false, + }} + validationSchema={Yup.object().shape({ + name: Yup.string().required(), + email: Yup.string() + .email() + .required(), + message: Yup.string().required(), + emailSubscription: Yup.boolean().required(), + })} + onSubmit={(values, { resetForm }) => { + setSubmitting(true); + fetch(window.location.pathname, { + method: 'POST', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + body: qs.stringify({ + 'form-name': 'contact', + ...values, + }), + }) + .then(() => { + setSubmitting(false); + setStatus('success'); + setTimeout(() => { setStatus(false); }, 5000); + resetForm(); + }) + .catch(() => { + setSubmitting(false); + }); + }} + render={({ + values, + errors, + touched, + isValid, + dirty, + isSubmitting, + handleChange, + handleBlur, + handleSubmit, + }) => ( + <form name={'contact'} className={styles.form} data-netlify={'true'} data-netlify-honeypot={'bot-field'} onSubmit={handleSubmit}> + <div className={styles.formContent}> + <div className={styles.formFieldsWrapper}> + <Field + id={'name'} + className={styles.formField} + label={'Your name'} + name={'name'} + autoComplete={'name'} + value={values.name} + isInvalid={touched.name && !!errors.name} + onChange={handleChange} + onBlur={handleBlur} + /> + <Field + id={'email'} + className={styles.formField} + label={'Email address'} + name={'email'} + autoComplete={'email'} + value={values.email} + isInvalid={touched.email && !!errors.email} + onChange={handleChange} + onBlur={handleBlur} + /> + </div> + + <Field + id={'message'} + label={'Type the message'} + tag={'textarea'} + name={'message'} + rows={6} + value={values.message} + isInvalid={touched.message && !!errors.message} + onChange={handleChange} + onBlur={handleBlur} + /> + </div> + <div className={styles.formFooter}> + {status === 'success' && + <div className={styles.success}> + <div className={styles.successIcon}><SucessSVG/></div> + <span className={styles.successText}>Your message has been successfully sent</span> + </div>} + { + status !== 'success' && + <div className={styles.actions}> + <CheckboxField + id={'emailSubscription'} + name={'emailSubscription'} + checked={values.emailSubscription} + onChange={handleChange} + onBlur={handleBlur} + > + Yes, I'd like to receive more information on k6 products, + events and promotions via email. Refer to k6’s{' '} + <a + className={'link'} + href={'privacy-policy'} + target={'_blank'} + > + Privacy Policy + </a> + </CheckboxField> + <Button + className={styles.formButton} + type={'submit'} + disabled={!dirty || (dirty && !isValid) || isSubmitting} + cursor + loading={submitting} + > + Get in touch + </Button> + </div> + } + </div> + + <div + className={styles.formAnimation} + ref={videoRef} + dangerouslySetInnerHTML={{ + __html: `<video src="${animationVideo}" type="video/mp4" autoPlay muted playsinline/>`, // Because React doesn't support attribute 'muted'. Nice, huh? https://github.com/facebook/react/issues/10389 + }} + /> + </form> + )} + /> + </div> + </section> + ); +}; diff --git a/src/components/blocks/contact-us-form/contacts-us.story.js b/src/components/blocks/contact-us-form/contacts-us.story.js new file mode 100644 index 0000000000..5069232665 --- /dev/null +++ b/src/components/blocks/contact-us-form/contacts-us.story.js @@ -0,0 +1,20 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { ContactUsForm } from '.'; + +const CenterDecorator = (storyFn) => ( + <div + style={{ + display: 'flex', + height: '100vh', + justifyContent: 'center', + alignItems: 'center', + }} + > + {storyFn()} + </div> +); + +storiesOf('Contact Us Form', module) + .addDecorator(CenterDecorator) + .add('default', () => <ContactUsForm/>); diff --git a/src/components/blocks/contact-us-form/index.js b/src/components/blocks/contact-us-form/index.js new file mode 100644 index 0000000000..6bce949772 --- /dev/null +++ b/src/components/blocks/contact-us-form/index.js @@ -0,0 +1 @@ +export { ContactUsForm } from './contact-us-form.view'; diff --git a/src/components/blocks/contact-us-form/success.inline.svg b/src/components/blocks/contact-us-form/success.inline.svg new file mode 100644 index 0000000000..9ec17006ea --- /dev/null +++ b/src/components/blocks/contact-us-form/success.inline.svg @@ -0,0 +1,4 @@ +<svg width="30" height="31" viewBox="0 0 30 31" fill="none" xmlns="http://www.w3.org/2000/svg"> +<circle cx="15" cy="15.5" r="15" fill="#28CD8C"/> +<path d="M7.5 16.5L12.1875 21.1875L22.5 10.875" stroke="#F9F8FC" stroke-width="2"/> +</svg> diff --git a/src/components/blocks/contact-us-form/videos/animation.mp4 b/src/components/blocks/contact-us-form/videos/animation.mp4 new file mode 100644 index 0000000000..1a69a9c3e6 Binary files /dev/null and b/src/components/blocks/contact-us-form/videos/animation.mp4 differ diff --git a/src/components/blocks/cta/cta.module.scss b/src/components/blocks/cta/cta.module.scss new file mode 100644 index 0000000000..c1eb455f22 --- /dev/null +++ b/src/components/blocks/cta/cta.module.scss @@ -0,0 +1,66 @@ +.wrapper { + @include default-section-spacing; +} + +.inner { + display: flex; + justify-content: space-between; + align-items: center; + color: $color-tertiary; + background-color: $color-primary; + box-shadow: 0 1px 5px rgba($color-primary, 0.3); + padding-top: 67.5px; + padding-right: 100px; + padding-bottom: 67.5px; + padding-left: 60px; + + @include md-down { + padding: 50px 40px; + } + + @include sm-down { + display: block; + } + + @include xs-down { + padding: 50px 20px; + } +} + +.content { + max-width: 485px; + + @include md-down { + max-width: 315px; + } + + @include sm-down { + max-width: 100%; + margin-bottom: 40px; + } +} + +.title { + margin-bottom: 15px; +} + +.description { + font-size: $font-size-lg; + line-height: $line-height-lg; + margin-top: 0; + margin-bottom: 0; + @include md-down { + font-size: $font-size-base; + line-height: $line-height-base; + } +} + +.cta-button { + @include lg-down { + min-width: 275px; + } + @include sm-down { + width: 100%; + min-width: unset; + } +} diff --git a/src/components/blocks/cta/cta.story.js b/src/components/blocks/cta/cta.story.js new file mode 100644 index 0000000000..bf5aeec75f --- /dev/null +++ b/src/components/blocks/cta/cta.story.js @@ -0,0 +1,29 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { CTA } from '.'; + +const CenterDecorator = (storyFn) => ( + <div + style={{ + display: 'flex', + height: '100vh', + justifyContent: 'center', + alignItems: 'center', + }} + > + {storyFn()} + </div> +); + +storiesOf('Contact Us Form', module) + .addDecorator(CenterDecorator) + .add('default', () => ( + <CTA + title={'Want to work with k6?'} + description={ + 'Some custom Lorum Ipsum that no one will notice in a thousand year.' + } + buttonText={'Push here'} + buttonUrl={'/'} + /> + )); diff --git a/src/components/blocks/cta/cta.view.js b/src/components/blocks/cta/cta.view.js new file mode 100644 index 0000000000..bfae2d472b --- /dev/null +++ b/src/components/blocks/cta/cta.view.js @@ -0,0 +1,74 @@ +import React from 'react'; +import { Heading } from 'components/shared/heading'; +import { Button } from 'components/shared/button'; + +import styles from './cta.module.scss'; + +export const CTA = ({ + title, + description, + buttonText, + buttonURL, + buttonRef, + buttonTarget, + openDrift, + openDriftMessage, +}) => ( + <section className={styles.wrapper}> + <div className={'container'}> + <div className={'row'}> + <div className={'col-xl-10 offset-xl-1'}> + <div className={styles.inner}> + <div className={styles.content}> + <Heading className={styles.title} tag={'h2'}> + {title} + </Heading> + <p className={styles.description}>{description}</p> + </div> + + {openDrift ? ( + <Button + className={styles.ctaButton} + size={'lg'} + theme={'gradient-primary'} + onClick={() => { + if (typeof window.drift.api !== 'undefined') { + window.drift.api.sidebar.toggle(); + } else { + navigate('/contact'); + } + }} + cursor + > + {buttonText} + </Button> + ) : buttonRef ? ( + <Button + className={styles.ctaButton} + tag={'a'} + href={buttonRef} + target={buttonTarget} + size={'lg'} + theme={'gradient-primary'} + cursor + > + {buttonText} + </Button> + ) : ( + <Button + className={styles.ctaButton} + tag={'link'} + to={buttonURL} + size={'lg'} + theme={'gradient-primary'} + cursor + > + {buttonText} + </Button> + )} + </div> + </div> + </div> + </div> + </section> +); diff --git a/src/components/blocks/cta/index.js b/src/components/blocks/cta/index.js new file mode 100644 index 0000000000..8dfee67430 --- /dev/null +++ b/src/components/blocks/cta/index.js @@ -0,0 +1 @@ +export { CTA } from './cta.view'; diff --git a/src/components/blocks/featured-post-card/featured-post-card.module.scss b/src/components/blocks/featured-post-card/featured-post-card.module.scss new file mode 100644 index 0000000000..fe69352a97 --- /dev/null +++ b/src/components/blocks/featured-post-card/featured-post-card.module.scss @@ -0,0 +1,128 @@ +.wrapper { + border: 1px solid $color-additional-2; + box-shadow: $light-block-shadow; + @include xs-down { + padding: 0; + } +} + +.post-card-wrapper { + display: flex; + padding: 20px; + height: 100%; + @include sm-down { + flex-direction: column; + } + &_doc { + @include md-down { + flex-direction: column; + } + .info-col { + a { + margin-bottom: 40px; + } + @include md-down { + padding: 0; + a { + margin-bottom: 0; + } + } + } + } +} + +.image-col { + flex: 0 0 50%; +} + +.image { + width: 540px; + height: 100%; + &_doc { + width: 95%; + } + @include lg-down { + width: 100%; + } +} + +.covertext-wrapper { + background-color: $color-additional-3; + width: 540px; + height: 100%; + position: relative; + &_doc { + width: 95%; + padding-bottom: 67.22%; + } + @include lg-down { + width: 100%; + } + @include md-down { + padding-bottom: 67.22%; + } +} + +.covertext { + left: 0; + top: 0; + bottom: 0; + right: 0; + display: flex; + justify-content: center; + align-items: center; + position: absolute; + font-size: $font-size-xs; + line-height: $line-height-xs; + letter-spacing: 0.5px; + text-transform: uppercase; + font-weight: 500; + color: $color-secondary; + text-align: center; +} + +.info-col { + flex: 0 0 50%; + padding-right: 55px; + padding-left: 10px; + @include lg-down { + padding-left: 40px; + } + @include md-down { + padding-right: 0; + } + @include sm-down { + padding: 0; + } +} + +.props { + text-transform: uppercase; + margin: 40px 0 15px; + font-size: $font-size-xs; + line-height: $line-height-xs; + letter-spacing: 0.5px; + font-weight: 500; + @include lg-down { + margin: 20px 0 15px; + } +} + +.date { + color: $color-secondary; +} + +.description { + margin-top: 0; + color: $color-secondary; +} + +.title { + margin-bottom: 25px; + &_doc { + @include lg-down { + font-size: $font-size-lg; + line-height: $line-height-lg; + } + } +} diff --git a/src/components/blocks/featured-post-card/featured-post-card.view.js b/src/components/blocks/featured-post-card/featured-post-card.view.js new file mode 100644 index 0000000000..8caa3d793d --- /dev/null +++ b/src/components/blocks/featured-post-card/featured-post-card.view.js @@ -0,0 +1,73 @@ +import React from 'react'; +import Img from 'gatsby-image'; +import styles from './featured-post-card.module.scss'; +import classNames from 'classnames'; +import { format } from 'date-fns'; +import { Button } from 'components/shared/button'; +import { Heading } from 'components/shared/heading'; +import { trimToLengthWithEllipsis } from 'utils'; + +export const FeaturedPostCard = ({ + gatsbyImageData, + covertext, + category, + date, + title, + label, + url, + summary, +}) => ( + <div className={`container ${styles.wrapper} ${label}`}> + <div + className={classNames(styles.postCardWrapper, styles.postCardWrapper_doc)} + > + <div className={styles.imageCol}> + {gatsbyImageData ? ( + <Img + fluid={gatsbyImageData} + alt={title} + className={classNames(styles.image, styles.image_doc)} + /> + ) : ( + <div + className={classNames( + styles.covertextWrapper, + styles.covertextWrapper_doc, + )} + > + <span className={styles.covertext}>{covertext}</span> + </div> + )} + </div> + <div className={`${styles.infoCol}`}> + <div className={styles.props}> + {category && category !== 'none' && ( + <> + <span className={styles.category}>{category}</span> —{' '} + </> + )} + <span className={styles.date}> + {format(new Date(date), 'dd MMMM yyyy')} + </span> + </div> + <Heading + tag={'h3'} + className={classNames(styles.title, styles.title_doc)} + > + {trimToLengthWithEllipsis(title, 120)} + </Heading> + <p className={styles.description}> + {trimToLengthWithEllipsis(summary)} + </p> + <Button + className={styles.button} + tag={'a'} + href={`${process.env.GATSBY_DEFAULT_BLOG_URL}/${url}`} + cursor + > + Read more + </Button> + </div> + </div> + </div> +); diff --git a/src/components/blocks/featured-post-card/index.js b/src/components/blocks/featured-post-card/index.js new file mode 100644 index 0000000000..ef89871b89 --- /dev/null +++ b/src/components/blocks/featured-post-card/index.js @@ -0,0 +1 @@ +export { FeaturedPostCard } from './featured-post-card.view'; diff --git a/src/components/blocks/footer-column/footer-column.component.js b/src/components/blocks/footer-column/footer-column.component.js new file mode 100644 index 0000000000..ee9fffe880 --- /dev/null +++ b/src/components/blocks/footer-column/footer-column.component.js @@ -0,0 +1,29 @@ +import React from 'react'; +import classNames from 'classnames'; + +import styles from './footer-column.module.scss'; + +const getClassNames = docLayout => + classNames( + { 'col-lg-3': !!docLayout }, + { 'col-md-3': !docLayout }, + 'col-6', + styles.bottomLinkColumn, + ); + +export const FooterColumn = ({ title, items, docLayout }) => { + return ( + <div className={`${getClassNames(docLayout)}`}> + <h3 className={styles.navColumnTitle}>{title}</h3> + <ul className={styles.navColumnList}> + {items.map(item => ( + <li className={styles.navColumnItem}> + <a className={styles.navColumnLink} href={`${item.url}`}> + {item.title} + </a> + </li> + ))} + </ul> + </div> + ); +}; diff --git a/src/components/blocks/footer-column/footer-column.module.scss b/src/components/blocks/footer-column/footer-column.module.scss new file mode 100644 index 0000000000..c272397b99 --- /dev/null +++ b/src/components/blocks/footer-column/footer-column.module.scss @@ -0,0 +1,42 @@ +.nav-column-title { + font-size: $font-size-xs; + line-height: $line-height-xs; + font-weight: 500; + letter-spacing: 0.5px; + text-transform: uppercase; + color: $color-secondary; + margin-top: 0; + margin-bottom: 20px; + @include sm-down { + margin-bottom: 15px; + } +} + +.nav-column-list { + list-style-type: none; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; +} + +.nav-column-item { + display: flex; + align-items: center; + margin-bottom: 10px; + + &:last-child { + margin-bottom: 0; + } +} + +.nav-column-link { + font-size: $font-size-sm; + line-height: $line-height-sm; + text-decoration: none; + color: $color-primary; + transition: 0.3s; + + &:hover { + color: $color-accent-primary; + } +} diff --git a/src/components/blocks/footer-column/index.js b/src/components/blocks/footer-column/index.js new file mode 100644 index 0000000000..2ece7ebd04 --- /dev/null +++ b/src/components/blocks/footer-column/index.js @@ -0,0 +1 @@ +export * from './footer-column.component'; diff --git a/src/components/blocks/footer/footer.module.scss b/src/components/blocks/footer/footer.module.scss new file mode 100644 index 0000000000..99a0a72edd --- /dev/null +++ b/src/components/blocks/footer/footer.module.scss @@ -0,0 +1,162 @@ +.wrapper { + position: relative; + padding-top: 90px; + padding-bottom: 40px; + overflow-x: hidden; + margin-top: auto; + padding: 40px 0; + .year { + @include md-down { + margin-left: -12px; + } + @include sm-down { + margin-left: 0; + } + } + border-top: 1px solid $color-additional-2; +} + +.top-section { + margin-bottom: 50px; +} + +.logo-wrapper { + display: inline-block; + vertical-align: top; + + @include xs-down { + margin-bottom: 25px; + } +} + +.logo { + display: block; + fill: $color-primary; +} + +.nav-column-title { + font-size: $font-size-xs; + line-height: $line-height-xs; + font-weight: 500; + letter-spacing: 0.5px; + text-transform: uppercase; + color: $color-secondary; + margin-top: 0; + margin-bottom: 20px; + @include sm-down { + margin-bottom: 15px; + } +} + +.nav-column-list { + list-style-type: none; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; +} + +.legal-links-list { + list-style-type: none; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + display: flex; + @include sm-down { + flex-wrap: wrap; + } + .nav-column-item { + margin-bottom: 0; + margin-right: 20px; + &:last-child { + margin-right: 0; + } + @include xs-down { + flex: 1 1 100%; + margin-bottom: 10px; + margin-right: 0; + &:last-child { + margin-right: 0; + } + } + } +} + +.nav-column-item { + display: flex; + align-items: center; + margin-bottom: 10px; + + &:last-child { + margin-bottom: 0; + } +} + +.nav-column-link { + font-size: $font-size-sm; + line-height: $line-height-xs; + text-decoration: none; + color: $color-primary; + transition: 0.3s; + + &:hover { + color: $color-accent-primary; + } +} + +.text { + font-size: $font-size-sm; + line-height: $line-height-sm; + color: $color-secondary; + margin-top: 0; + margin-bottom: 0; + + a { + font-weight: 500; + text-decoration: none; + color: $color-accent-primary; + } +} + +.background-line { + position: absolute; + top: 0; + left: 50%; + width: 2200px; + background-color: #ffffff; + transform: translateX(-50%); + + svg { + display: inline-block; + vertical-align: top; + } + + @media only screen and (min-width: 2201px) { + display: none; + } + @include xs-down { + transform: translate(-30%); + } +} +.social { + margin-top: 42px; + @include xs-down { + margin-top: 0; + } +} +.social-icon { + text-decoration: none; + margin-left: 10px; + display: inline-block; + svg { + display: block; + path { + transition: fill 0.3s; + } + } + &:hover svg path { + fill: $color-primary; + } + &:first-child { + margin-left: 0px; + } +} diff --git a/src/components/blocks/footer/footer.scss b/src/components/blocks/footer/footer.scss new file mode 100644 index 0000000000..2ec6fb09de --- /dev/null +++ b/src/components/blocks/footer/footer.scss @@ -0,0 +1,11 @@ +@keyframes footer-background-line-animation { + from { + width: 450px; + x: 0; + } + + to { + width: 450px; + x: 2200px; + } +} diff --git a/src/components/blocks/footer/footer.view.js b/src/components/blocks/footer/footer.view.js new file mode 100644 index 0000000000..405ac025e8 --- /dev/null +++ b/src/components/blocks/footer/footer.view.js @@ -0,0 +1,260 @@ +import React from 'react'; +import { Link } from 'gatsby'; +import classNames from 'classnames'; +import BackgroundLine from './svg/footer-background-line.inline.svg'; +import Logo from 'svg/logo.inline.svg'; +import GithubLogo from './svg/github.inline.svg'; +import TwitterLogo from './svg/twitter.inline.svg'; + +import styles from './footer.module.scss'; +import './footer.scss'; + +import { blog, main, docs } from 'utils/urls'; + +export const Footer = () => ( + <footer className={styles.wrapper}> + <div className={styles.topSection}> + <div className={'container'}> + <div className={'row'}> + <div className={`col-md-2 col-12 `}> + <a href={main} className={styles.logoWrapper}> + <Logo className={styles.logo} /> + </a> + <div className={styles.social}> + <a + href={'https://github.com/loadimpact/k6'} + className={styles.socialIcon} + > + <GithubLogo /> + </a> + <a + href={'https://twitter.com/k6_io'} + className={styles.socialIcon} + > + {' '} + <TwitterLogo /> + </a> + </div> + </div> + <div className={`col-md-10 col-12`}> + <div className={'row'}> + <div className={'col-lg-3 col-sm-6 col-12'}> + <h3 className={styles.navColumnTitle}>Product</h3> + <ul className={styles.navColumnList}> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/open-source`} + > + Open Source + </a> + </li> + <li className={styles.navColumnItem}> + <a className={styles.navColumnLink} href={`${main}/cloud`}> + Cloud + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/pricing`} + > + Pricing + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/unit-testing-for-performance`} + > + Unit testing for performance + </a> + </li> + <li className={styles.navColumnItem}> + <Link className={styles.navColumnLink} to={'/integrations'}> + Integrations + </Link> + </li> + </ul> + </div> + <div className={'col-lg-3 col-sm-6 col-12'}> + <h3 className={styles.navColumnTitle}>Resources</h3> + <ul className={styles.navColumnList}> + <li className={styles.navColumnItem}> + <a className={styles.navColumnLink} href={`${docs}`}> + k6 docs + </a> + </li> + <li className={styles.navColumnItem}> + <Link className={styles.navColumnLink} to={'/cloud'}> + Cloud docs + </Link> + </li> + <li className={styles.navColumnItem}> + <Link className={styles.navColumnLink} to={'/examples'}> + Examples & Tutorials + </Link> + </li> + <li className={styles.navColumnItem}> + <Link + className={styles.navColumnLink} + to={'/testing-guides/load-testing-websites'} + > + Load testing websites + </Link> + </li> + <li className={styles.navColumnItem}> + <Link + className={styles.navColumnLink} + to={'/testing-guides/api-load-testing'} + > + API load testing + </Link> + </li> + <li className={styles.navColumnItem}> + <Link + className={styles.navColumnLink} + to={'/testing-guides/automated-performance-testing'} + > + Automated performance testing + </Link> + </li> + </ul> + </div> + <div className={'col-lg-3 col-sm-6 col-12'}> + <h3 className={styles.navColumnTitle}>Community</h3> + <ul className={styles.navColumnList}> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={'https://community.k6.io'} + > + Forum + </a> + </li> + <li className={styles.navColumnItem}> + <a className={styles.navColumnLink} href={`${main}/slack`}> + Slack + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={'https://github.com/loadimpact'} + > + Github + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/oss-program`} + > + OSS Support Program + </a> + </li> + </ul> + </div> + <div className={`col-lg-3 col-sm-6 col-12`}> + <h3 className={styles.navColumnTitle}>About</h3> + <ul className={styles.navColumnList}> + <li className={styles.navColumnItem}> + <a className={styles.navColumnLink} href={`${main}/about`}> + Our story + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/our-beliefs`} + > + Our beliefs + </a> + </li> + <li className={styles.navColumnItem}> + <a className={styles.navColumnLink} href={`${blog}`}> + Blog + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/contact`} + > + Contact + </a> + </li> + <li className={styles.navColumnItem}> + <a className={styles.navColumnLink} href={`${main}/jobs`}> + Jobs + </a> + </li> + </ul> + </div> + </div> + </div> + </div> + </div> + </div> + + <div className={'container'}> + <div className={'row'}> + <div className={'col-md-2 col-sm-12 col-auto'}> + <p className={`${styles.text}`}>© 2020 Load Impact AB</p> + </div> + <div className={'col-md-10 col-sm-12 col-auto'}> + <ul className={styles.legalLinksList}> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/data-processing-agreement`} + > + GDPR + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/privacy-policy`} + > + Privacy + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/security-policy`} + > + Security + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/services-agreement`} + > + Terms + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={`${main}/stewardship`} + > + Stewardship + </a> + </li> + <li className={styles.navColumnItem}> + <a + className={styles.navColumnLink} + href={'https://status.k6.io/'} + > + Status + </a> + </li> + </ul> + </div> + </div> + </div> + </footer> +); diff --git a/src/components/blocks/footer/index.js b/src/components/blocks/footer/index.js new file mode 100644 index 0000000000..a4e9bfa41d --- /dev/null +++ b/src/components/blocks/footer/index.js @@ -0,0 +1 @@ +export { Footer } from './footer.view'; diff --git a/src/components/blocks/footer/svg/footer-background-line.inline.svg b/src/components/blocks/footer/svg/footer-background-line.inline.svg new file mode 100644 index 0000000000..3cee24113b --- /dev/null +++ b/src/components/blocks/footer/svg/footer-background-line.inline.svg @@ -0,0 +1,20 @@ +<svg width="2200" height="42" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <linearGradient id="b" x1="0" y1="0" x2="100%" y2="0"> + <stop offset="0%" stop-color="#ece8f1"/> + <stop offset="12.5%" stop-color="#ece8f1"/> + <stop offset="32.813%" stop-color="#7d64ff"/> + <stop offset="69.271%" stop-color="#7d64ff"/> + <stop offset="88.021%" stop-color="#ece8f1"/> + <stop offset="100%" stop-color="#ece8f1"/> + </linearGradient> + <defs> + <path id="a" d="M0 21h440l20-20h40l20 20h20l20-20h80l20 20h40l20 20h60l40-40h40l20 20h40l20-20h20l20 20h220l20 20h140l20-20h220l20-20h80l20 20h20l20-20h40l40 40h360"/> + <mask id="c"> + <use xlink:href="#a" stroke="#fff"/> + </mask> + </defs> + <path d="M0 50V20h440l20-20h40l20 20h20l20-20h80l20 20h40l20 20h60l40-40h40l20 20h40l20-20h20l20 20h220l20 20h140l20-20h220l20-20h80l20 20h20l20-20h40l40 40h360v10" fill="#F9F8FC"/> + <use xlink:href="#a" stroke="#ece8f1"/> + <rect y="-8" width="100%" height="58" fill="url(#b)" mask="url(#c)" + style="animation:footer-background-line-animation 9s linear infinite"/> +</svg> diff --git a/src/components/blocks/footer/svg/github.inline.svg b/src/components/blocks/footer/svg/github.inline.svg new file mode 100644 index 0000000000..093d5cdc58 --- /dev/null +++ b/src/components/blocks/footer/svg/github.inline.svg @@ -0,0 +1,3 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M12 0C5.383 0 0 5.44654 0 12.1417C0 17.7835 3.95 22.7656 9.392 23.9879C9.54 24.0192 9.694 23.9838 9.813 23.8887C9.931 23.7926 10 23.6479 10 23.4941V20.742C10 20.4627 9.776 20.2361 9.5 20.2361H8.5C7.252 20.2361 6.403 19.0391 5.653 17.9838C5.576 17.8755 5.5 17.7673 5.423 17.6621C5.778 17.8523 6.083 18.082 6.384 18.3076C6.983 18.7568 7.603 19.2212 8.427 19.2212C8.43 19.2212 8.434 19.2212 8.437 19.2212C8.501 19.2283 9.085 19.289 9.537 18.8874C9.749 18.6981 10 18.341 10 17.7066V17.3535C10 17.1268 9.852 16.9285 9.636 16.8668C6.863 16.0725 5 13.97 5 11.6357C5 10.4216 5.493 9.26307 6.425 8.28465C6.569 8.13389 6.606 7.91029 6.519 7.72007C6.147 6.9086 6.226 5.80472 6.667 5.14199C7.251 5.37167 8.008 5.8543 8.5 6.44519C8.635 6.60809 8.857 6.66678 9.054 6.59393C10.929 5.89781 13.072 5.89781 14.947 6.59393C15.146 6.66678 15.367 6.60708 15.501 6.44519C15.993 5.8543 16.75 5.37167 17.333 5.14098C17.775 5.80371 17.854 6.9086 17.481 7.72007C17.394 7.91029 17.431 8.13389 17.575 8.28465C18.507 9.26307 19 10.4216 19 11.6357C19 14.0863 16.93 16.2809 13.967 16.972C13.816 17.0074 13.689 17.1116 13.625 17.2543C13.561 17.397 13.565 17.5619 13.638 17.7005C13.885 18.1761 14 18.8206 14 19.7302V23.4941C14 23.6479 14.069 23.7926 14.187 23.8887C14.277 23.9616 14.387 24 14.5 24C14.536 24 14.572 23.996 14.608 23.9879C20.05 22.7656 24 17.7835 24 12.1417C24 5.44654 18.617 0 12 0Z" fill="#BEB9D7"/> +</svg> diff --git a/src/components/blocks/footer/svg/twitter.inline.svg b/src/components/blocks/footer/svg/twitter.inline.svg new file mode 100644 index 0000000000..230a8565c3 --- /dev/null +++ b/src/components/blocks/footer/svg/twitter.inline.svg @@ -0,0 +1,3 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24ZM20.4931 7.51054C20.633 7.43966 20.8034 7.46856 20.9091 7.58349C21.0149 7.69772 21.0302 7.86838 20.9453 7.99776C20.5356 8.63843 19.8747 9.23437 19.433 9.55712C19.6723 12.4646 17.954 15.7141 15.1972 17.5239C14.1746 18.1962 12.4946 19 10.318 19C8.82233 19 7.09157 18.6201 5.17716 17.5569C5.03316 17.4771 4.96569 17.3064 5.01716 17.1509C5.06864 16.9954 5.22447 16.8929 5.38794 16.9156C6.64984 17.0594 8.02791 16.7662 9.05746 16.1682C7.87835 15.8937 6.92531 15.1367 6.42236 14.0363C6.36602 13.9131 6.38758 13.7686 6.47802 13.6675C6.56845 13.5656 6.71036 13.5264 6.84114 13.5656C6.99349 13.6117 7.14444 13.6434 7.28914 13.6606C6.39384 13.1321 5.43525 12.1205 5.43525 10.6045C5.43525 10.4717 5.51246 10.3506 5.6335 10.2934C5.75524 10.2377 5.89924 10.2535 6.0022 10.3375C6.11419 10.4269 6.23315 10.502 6.35628 10.5618C6.09959 10.2177 5.87837 9.79316 5.75176 9.31145C5.52011 8.42854 5.65437 7.53463 6.13854 6.72604C6.19698 6.62901 6.29993 6.56639 6.41402 6.55813C6.52254 6.55125 6.63801 6.59805 6.70966 6.68682C7.73365 7.95234 9.55276 9.48142 12.4793 9.76013C12.4251 8.84488 12.7033 7.34332 13.9819 6.60493C15.5548 5.69656 17.0678 5.81355 18.368 6.94006C18.9432 6.81344 19.8531 6.42257 20.0417 6.29251C20.1613 6.20993 20.3206 6.20993 20.4403 6.29251C20.5599 6.37577 20.6149 6.52304 20.5773 6.66273C20.4904 6.98686 20.2935 7.34745 20.0486 7.66951C20.2427 7.61239 20.4062 7.55458 20.4931 7.51054Z" fill="#BEB9D7"/> +</svg> diff --git a/src/components/blocks/header/burger/header-burger.module.scss b/src/components/blocks/header/burger/header-burger.module.scss new file mode 100644 index 0000000000..ec2c51b7ac --- /dev/null +++ b/src/components/blocks/header/burger/header-burger.module.scss @@ -0,0 +1,39 @@ +.wrapper { + position: relative; + display: block; + width: 25px; + height: 20px; + background: none; + border: none; + padding-top: 0; + padding-right: 0; + padding-bottom: 0; + padding-left: 0; + transition: 0.3s; + outline: none; + cursor: pointer; + + &:before { + content: ""; + position: absolute; + top: 50%; + left: 0; + width: 100%; + height: 2px; + background-color: $color-primary; + border-radius: 50px; + box-shadow: 0 -9px 0 0 $color-primary; + transform: translateY(-50%); + } + + &:after { + content: ""; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 2px; + background-color: $color-primary; + border-radius: 50px; + } +} diff --git a/src/components/blocks/header/burger/header-burger.view.js b/src/components/blocks/header/burger/header-burger.view.js new file mode 100644 index 0000000000..66494e8467 --- /dev/null +++ b/src/components/blocks/header/burger/header-burger.view.js @@ -0,0 +1,8 @@ +import React from 'react'; + +import styles from './header-burger.module.scss'; + + +export const Burger = ({ onClick }) => ( + <button className={styles.wrapper} type={'button'} onClick={onClick}/> +); diff --git a/src/components/blocks/header/header.module.scss b/src/components/blocks/header/header.module.scss new file mode 100644 index 0000000000..7276d135a9 --- /dev/null +++ b/src/components/blocks/header/header.module.scss @@ -0,0 +1,9 @@ +.wrapper { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 3; + padding-top: 20px; + padding-bottom: 20px; +} diff --git a/src/components/blocks/header/header.view.js b/src/components/blocks/header/header.view.js new file mode 100644 index 0000000000..0acf67d9df --- /dev/null +++ b/src/components/blocks/header/header.view.js @@ -0,0 +1,13 @@ +import React from 'react'; + +import styles from './header.module.scss'; + +export const Header = ({ children }) => ( + <header className={styles.wrapper}> + <div className={'container'}> + <div className={'row align-items-center'}> + {children} + </div> + </div> + </header> +); diff --git a/src/components/blocks/header/index.js b/src/components/blocks/header/index.js new file mode 100644 index 0000000000..8e5ea90c6a --- /dev/null +++ b/src/components/blocks/header/index.js @@ -0,0 +1,4 @@ +export { Header } from './header.view'; +export { HeaderNav } from './nav/header-nav.view'; +export { HeaderLogo } from './logo/header-logo.view'; +export { Burger } from './burger/header-burger.view'; diff --git a/src/components/blocks/header/logo/header-logo.module.scss b/src/components/blocks/header/logo/header-logo.module.scss new file mode 100644 index 0000000000..f72cf46670 --- /dev/null +++ b/src/components/blocks/header/logo/header-logo.module.scss @@ -0,0 +1,9 @@ +.wrapper { + display: inline-block; + vertical-align: top; +} + +.logo { + display: block; + fill: $color-primary; +} diff --git a/src/components/blocks/header/logo/header-logo.view.js b/src/components/blocks/header/logo/header-logo.view.js new file mode 100644 index 0000000000..d30fb94166 --- /dev/null +++ b/src/components/blocks/header/logo/header-logo.view.js @@ -0,0 +1,22 @@ +import React from 'react'; +import { Link } from 'gatsby'; +import Logo from 'svg/logo.inline.svg'; + +import styles from './header-logo.module.scss'; + +import { main } from 'utils/urls'; + + +export const HeaderLogo = ({disableLink = false}) => { + if (disableLink) { + return ( + <Logo className={styles.logo}/> + ); + } else { + return ( + <a className={styles.wrapper} href={`${main}`}> + <Logo className={styles.logo}/> + </a> + ); + } +}; \ No newline at end of file diff --git a/src/components/blocks/header/nav/header-nav.module.scss b/src/components/blocks/header/nav/header-nav.module.scss new file mode 100644 index 0000000000..eabfc85627 --- /dev/null +++ b/src/components/blocks/header/nav/header-nav.module.scss @@ -0,0 +1,136 @@ +.list { + display: flex; + align-items: center; + list-style-type: none; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; +} + +.item { + display: flex; + align-items: center; + margin-right: 30px; + position: relative; + cursor: pointer; + @media screen and (max-width: 1265px) { + margin-right: 15px; + } + @include lg-down { + margin-right: 30px; + } + + &:last-child { + margin-right: 0; + } + &.with-submenu { + &:hover { + .submenu-wrapper { + display: block; + } + &:after { + content: ''; + background: $color-tertiary; + border: 1px solid $color-additional-2; + position: absolute; + width: 10px; + height: 10px; + transform: rotate(45deg); + top: 25px; + left: 50%; + margin-left: -5px; + z-index: 1; + } + &:before { + content: ''; + position: absolute; + width: 0; + height: 0; + border-style: solid; + border-width: 0 6px 6px 6px; + border-color: transparent transparent $color-tertiary transparent; + top: 25px; + z-index: 3; + left: 50%; + transform: translate(-50%); + } + } + } +} +.item-doc { + @include lg-down { + margin-right: 25px; + } + @include md-down { + margin-right: 15px; + } +} + +.link { + font-size: $font-size-xs; + line-height: $line-height-xs; + font-weight: 500; + text-transform: uppercase; + text-decoration: none; + color: $color-primary; + transition: 0.3s; + letter-spacing: 0.5px; + white-space: nowrap; + cursor: pointer; + outline: none; + &:hover { + color: $color-accent-primary; + } + + &_active { + color: $color-accent-primary; + } +} + +.submenu-wrapper { + display: none; + position: absolute; + left: -21px; + top: 5px; + z-index: 2; + padding-top: 25px; + animation: fadeIn 0.2s; +} + +.submenu { + list-style-type: none; + box-shadow: $light-block-shadow; + border: 1px solid $color-additional-2; + margin: 0; + padding: 0; + min-width: 250px; +} + +.submenu-item { + background: $color-tertiary; + height: 42px; + border-bottom: 1px solid $color-additional-2; + padding: 0 20px; + &:last-child { + border-bottom: none; + } + .link { + display: flex; + width: 100%; + align-items: center; + line-height: 1; + padding: 0; + height: 100%; + } +} + +@keyframes fadeIn { + from { + opacity: 0; + transform: translateY(-20px); + } + to { + opacity: 1; + transform: translateY(0px); + } +} diff --git a/src/components/blocks/header/nav/header-nav.view.js b/src/components/blocks/header/nav/header-nav.view.js new file mode 100644 index 0000000000..be2e5ba724 --- /dev/null +++ b/src/components/blocks/header/nav/header-nav.view.js @@ -0,0 +1,65 @@ +import React from 'react'; +import { Link } from 'gatsby'; +import classNames from 'classnames/bind'; +import styles from './header-nav.module.scss'; + +export const HeaderNav = ({ links }) => { + const cx = classNames.bind(styles); + return ( + <nav> + <ul className={styles.list}> + {links.map(({ label, to, submenu }) => ( + <li + className={cx('item', 'itemDoc', { withSubmenu: !!submenu })} + key={label + to} + > + {submenu ? ( + <> + <span + className={classNames(styles.submenuTitle, styles.link, { + [styles.link_active]: submenu.some( + ({ to: path }) => + typeof window !== 'undefined' && + window.location.pathname.replace(/\/?$/, '') === path, + ), + })} + > + {label} + </span> + <div className={styles.submenuWrapper}> + <ul className={styles.submenu}> + {submenu.map((item, i) => ( + <li key={`si-${i}`} className={styles.submenuItem}> + {item.to.startsWith('/') ? ( + <Link className={styles.link} to={item.to}> + {item.label} + </Link> + ) : ( + <a className={styles.link} href={item.to}> + {item.label} + </a> + )} + </li> + ))} + </ul> + </div> + </> + ) : to.startsWith('/') ? ( + <Link + className={styles.link} + to={to} + activeClassName={styles.link_active} + > + {label} + </Link> + ) : ( + <a className={styles.link} href={to}> + {label} + </a> + )} + </li> + ))} + </ul> + </nav> + ); +}; diff --git a/src/components/blocks/html-content/html-content.module.scss b/src/components/blocks/html-content/html-content.module.scss new file mode 100644 index 0000000000..e21ae5ac1d --- /dev/null +++ b/src/components/blocks/html-content/html-content.module.scss @@ -0,0 +1,172 @@ +.wrapper { + *:last-child { + margin-bottom: 0; + } + *:first-child { + margin-top: 0; + } + * + h2 { + margin-top: 50px; + } + * + h3 { + margin-top: 30px; + } + h2 { + font-size: 25px; + line-height: 35px; + font-weight: normal; + margin-bottom: 15px; + } + h3 { + font-size: $font-size-base; + font-weight: 500; + line-height: $line-height-lg; + margin-bottom: 15px; + } + + strong { + font-weight: 500; + } + + p { + margin: 15px 0; + } + + ul, + ol { + margin: 15px 0; + padding-left: 45px; + @include xs-down { + padding-left: 30px; + } + p:not(:last-child) { + margin-bottom: 8px; + } + } + + li { + margin-bottom: 5px; + counter-increment: li; + } + + ol { + counter-reset: item; + list-style: none; + + li { + position: relative; + + &:before { + content: counters(item, '.') ' '; + counter-increment: item; + position: absolute; + top: 0; + left: 0; + font-weight: 500; + transform: translate(-100%, 0); + padding-right: 10px; + } + } + } + + img { + width: 100%; + } + + a { + position: relative; + text-decoration: none; + color: $color-accent-primary; + font-weight: 500; + transition: 0.3s all; + outline: none; + cursor: pointer; + padding-bottom: 1px; + border-bottom: 1px solid rgba($color-accent-primary, 0); + transition: all 0.3s; + &:hover { + border-bottom: 1px solid rgba($color-accent-primary, 0.5); + } + } + + p code, + ol code { + font-family: $font-family-secondary; + padding: 3px 5px 2px; + } + + /* modifications in doc-blockquote.module.scss */ + blockquote { + padding: 20px 36px 20px 20px; + background: $color-additional-3; + margin: 30px 0; + border-left: 2px solid $color-accent-primary; + font-size: $font-size-sm; + line-height: $line-height-sm; + h3 { + margin-top: 0px; + margin-bottom: 15px; + } + p { + margin: 0; + } + :not(pre) > code[class*='language-'] { + background: $color-additional-2; + line-height: 18px; + } + } + + table { + border: 1px solid $color-additional-2; + border-collapse: collapse; + margin: 30px 0; + width: 100%; + + td, + th { + border-bottom: 1px solid $color-additional-2; + } + + th { + padding: 10px 20px; + letter-spacing: 0.5px; + text-transform: uppercase; + font-size: $font-size-xs; + line-height: $line-height-xs; + text-align: left; + color: $color-secondary; + background: $color-additional-3; + } + + td { + padding: 20px; + font-size: $font-size-sm; + line-height: $line-height-sm; + vertical-align: baseline; + line-height: 25px; + + code { + font-size: $font-size-code; + color: $color-accent-primary; + font-family: $font-family-secondary; + } + } + } + :not(pre) > code[class*='language-'] { + background: $color-additional-3; + padding: 0 5px !important; // to fight another important @ code.module + color: $color-primary !important; + display: inline-block; + text-align: center; + line-height: 23px; + border-radius: 0; + } + :global .traits { + > div { + margin-top: 5px; + &:first-child { + margin-top: 0; + } + } + } +} diff --git a/src/components/blocks/html-content/html-content.scss b/src/components/blocks/html-content/html-content.scss new file mode 100644 index 0000000000..da280e666b --- /dev/null +++ b/src/components/blocks/html-content/html-content.scss @@ -0,0 +1,6 @@ +a.gatsby-resp-image-link { + border-bottom: none; + &:hover { + border-bottom: none; + } +} diff --git a/src/components/blocks/html-content/html-content.view.js b/src/components/blocks/html-content/html-content.view.js new file mode 100644 index 0000000000..30c048baac --- /dev/null +++ b/src/components/blocks/html-content/html-content.view.js @@ -0,0 +1,67 @@ +import React, { useEffect } from 'react'; +import ReactDOM from 'react-dom'; +import 'prismjs/plugins/line-numbers/prism-line-numbers.css'; +import { whenElementAvailable } from 'utils'; +import styles from './html-content.module.scss'; +import './html-content.scss'; + +export const HtmlContent = props => { + const { content, className, components } = props; + useEffect(() => { + if (components) { + const container = document.querySelector(`.${styles.wrapper}`); + Object.keys(components).forEach(selector => { + const Component = components[selector]; + // limiting the scope of manpulation to a parent element + container.querySelectorAll(selector).forEach(element => { + let { props: componentProps = {} } = element.dataset; + const compContent = element.innerHTML; + try { + componentProps = JSON.parse(componentProps); + } catch (e) { + console.warn(e); + } + // Render with container replacement. + const temp = document.createElement('div'); + ReactDOM.render( + <Component + mdBlockContent={compContent} + className={className} + {...componentProps} + />, + temp, + () => + element.parentElement && + element.parentElement.replaceChild(temp.children[0], element), + ); + }); + }); + } + }, []); + + useEffect(() => { + // check if given url contains hash (therefore an anchor) + const scrollMark = location.hash; + if (scrollMark) { + // wait when html content adds all id to h2 then scroll to it + whenElementAvailable(scrollMark)(el => + // no smooth scroll needed + window.scrollTo({ + top: el.getBoundingClientRect().top + window.scrollY - 25, + }), + ); + } + }, []); + + return ( + // eslint-disable-next-line react/no-danger + <div + className={`${styles.wrapper} ${className}`} + dangerouslySetInnerHTML={{ __html: content }} + /> + ); +}; + +HtmlContent.defaultProps = { + highlightCode: true, +}; diff --git a/src/components/blocks/html-content/index.js b/src/components/blocks/html-content/index.js new file mode 100644 index 0000000000..2ad812621f --- /dev/null +++ b/src/components/blocks/html-content/index.js @@ -0,0 +1 @@ +export { HtmlContent } from './html-content.view'; diff --git a/src/components/blocks/item-cards-row/index.js b/src/components/blocks/item-cards-row/index.js new file mode 100644 index 0000000000..c728b31e61 --- /dev/null +++ b/src/components/blocks/item-cards-row/index.js @@ -0,0 +1 @@ +export { ItemCardsRow } from './item-cards-row.view'; diff --git a/src/components/blocks/item-cards-row/item-cards-row.module.scss b/src/components/blocks/item-cards-row/item-cards-row.module.scss new file mode 100644 index 0000000000..46bc97ac25 --- /dev/null +++ b/src/components/blocks/item-cards-row/item-cards-row.module.scss @@ -0,0 +1,19 @@ +.item-card-wrapper { + height: 100%; +} + +.container { + @include doc-section-spacing; +} + +.title { + margin-bottom: 15px; +} + +.image { + margin-bottom: 15px; +} + +.footer { + padding: 15px 20px; +} diff --git a/src/components/blocks/item-cards-row/item-cards-row.view.js b/src/components/blocks/item-cards-row/item-cards-row.view.js new file mode 100644 index 0000000000..6a11b04554 --- /dev/null +++ b/src/components/blocks/item-cards-row/item-cards-row.view.js @@ -0,0 +1,35 @@ +import * as React from 'react'; +import Img from 'gatsby-image'; +import classNames from 'classnames'; +import { Heading } from 'components/shared/heading'; +import { + ItemCard, + styles as itemCardStyles, +} from 'components/shared/item-card'; +import styles from './item-cards-row.module.scss'; + +export const ItemCardsRow = ({ blockTitle, cardsData, label }) => ( + <section className={`container ${styles.container}`}> + <Heading tag={'h2'} size={'lg'} className={styles.title}> + {blockTitle} + </Heading> + <div className={'row'}> + {cardsData.map(({ title, text, picture, ...rest }, i) => ( + <div className={`col-md-4 ${label}`} key={`cardrow-${i}`}> + <ItemCard {...rest} label={styles.itemCardWrapper}> + <div className={itemCardStyles.content}> + {picture && <Img fluid={picture} className={styles.image} />} + <Heading className={itemCardStyles.title} tag={'h3'} size={'md'}> + {title} + </Heading> + <div className={itemCardStyles.text}>{text}</div> + </div> + <div className={classNames(itemCardStyles.footer, styles.footer)}> + <div className={itemCardStyles.link}>Read more</div> + </div> + </ItemCard> + </div> + ))} + </div> + </section> +); diff --git a/src/components/blocks/mobile-nav/index.js b/src/components/blocks/mobile-nav/index.js new file mode 100644 index 0000000000..eb663c6cd9 --- /dev/null +++ b/src/components/blocks/mobile-nav/index.js @@ -0,0 +1 @@ +export { MobileNav } from './mobile-nav.view'; diff --git a/src/components/blocks/mobile-nav/mobile-nav.module.scss b/src/components/blocks/mobile-nav/mobile-nav.module.scss new file mode 100644 index 0000000000..c285323840 --- /dev/null +++ b/src/components/blocks/mobile-nav/mobile-nav.module.scss @@ -0,0 +1,125 @@ +.wrapper { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 999; + background-color: hsla(0, 0%, 100%, 0.97); + overflow-y: auto; + -ms-overflow-style: scrollbar; + opacity: 0; + transition: 0.3s; + visibility: hidden; + + &_visible { + opacity: 1; + visibility: visible; + } +} + +.inner { + display: flex; + flex-direction: column; + height: 100%; + min-height: 450px; + padding-top: 85px; + padding-bottom: 20px; +} + +.top-section { + position: fixed; + top: 0; + left: 0; + right: 0; + background-color: #ffffff; + padding-top: 20px; + padding-bottom: 20px; +} + +.logo { + display: block; + height: 45px; + fill: $color-primary; +} + +.close-button { + position: relative; + display: block; + width: 25px; + height: 20px; + background: none; + border: none; + padding-top: 0; + padding-right: 0; + padding-bottom: 0; + padding-left: 0; + transition: 0.3s; + outline: none; + cursor: pointer; + + &:before { + content: ""; + position: absolute; + top: 50%; + left: 0; + width: 100%; + height: 2px; + background-color: $color-primary; + border-radius: 50px; + transform: translateY(-50%) rotate(45deg); + } + + &:after { + content: ""; + position: absolute; + top: 50%; + left: 0; + width: 100%; + height: 2px; + background-color: $color-primary; + border-radius: 50px; + transform: translateY(-50%) rotate(-45deg); + } +} + +.list { + flex-grow: 1; + display: flex; + flex-direction: column; + justify-content: center; + list-style-type: none; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; +} + +.list-item { + margin-bottom: 15px; + + &:last-child { + margin-bottom: 0; + } +} + +.list-link { + display: flex; + font-size: $font-size-code; + line-height: $line-height-xs; + font-weight: 500; + text-transform: uppercase; + text-decoration: none; + color: $color-primary; + transition: 0.3s; + &:hover, + &:active { + color: $color-accent-primary; + } +} + +.button { + width: 100%; + &:last-child { + margin-top: 15px; + } +} diff --git a/src/components/blocks/mobile-nav/mobile-nav.view.js b/src/components/blocks/mobile-nav/mobile-nav.view.js new file mode 100644 index 0000000000..c37ab42c32 --- /dev/null +++ b/src/components/blocks/mobile-nav/mobile-nav.view.js @@ -0,0 +1,46 @@ +import React from 'react'; +import classNames from 'classnames'; +import { Link } from 'gatsby'; +import { Button } from 'components/shared/button'; +import Logo from 'svg/logo.inline.svg'; + +import styles from './mobile-nav.module.scss'; + +export const MobileNav = ({ links, isVisible, onCloseButtonClick }) => ( + <div + className={classNames(styles.wrapper, { + [styles.wrapper_visible]: isVisible, + })} + > + <div className={styles.topSection}> + <div className={'container'}> + <div className={'row d-flex align-items-center'}> + <div className={'col-3'}> + <Link to={'/'}> + <Logo className={styles.logo}/> + </Link> + </div> + <div className={'col-9 d-flex justify-content-end'}> + <button + className={styles.closeButton} + type={'button'} + onClick={onCloseButtonClick} + /> + </div> + </div> + </div> + </div> + + <div className={`container ${styles.inner}`}> + <ul className={styles.list}> + {links.map(({ label, to }) => ( + <li className={styles.listItem} key={label}> + <Link className={styles.listLink} to={to}> + {label} + </Link> + </li> + ))} + </ul> + </div> + </div> +); diff --git a/src/components/blocks/page-info/index.js b/src/components/blocks/page-info/index.js new file mode 100644 index 0000000000..7d664436fc --- /dev/null +++ b/src/components/blocks/page-info/index.js @@ -0,0 +1 @@ +export { PageInfo } from './page-info.view'; diff --git a/src/components/blocks/page-info/page-info.module.scss b/src/components/blocks/page-info/page-info.module.scss new file mode 100644 index 0000000000..3e8829a112 --- /dev/null +++ b/src/components/blocks/page-info/page-info.module.scss @@ -0,0 +1,31 @@ +.wrapper { + position: relative; + text-align: center; + background-color: $color-additional-3; + padding-top: 145px; + padding-bottom: 80px; + //overflow-x: hidden; // cuts the frame + @include md-down { + padding-top: 100px; + padding-bottom: 50px; + } +} + +.title { + margin-bottom: 10px; +} + +.description { + font-size: $font-size-lg; + line-height: $line-height-lg; + color: $color-secondary; + margin: 0; + @include md-down { + font-size: $font-size-base; + line-height: $line-height-base; + } +} + +.button { + margin-top: 30px; +} diff --git a/src/components/blocks/page-info/page-info.story.js b/src/components/blocks/page-info/page-info.story.js new file mode 100644 index 0000000000..d308b64d93 --- /dev/null +++ b/src/components/blocks/page-info/page-info.story.js @@ -0,0 +1,12 @@ +import React from "react"; +import { storiesOf } from "@storybook/react"; +import { PageInfo } from "."; + +storiesOf("Page Info", module).add("default", () => ( + <PageInfo + title={"Amazing page"} + description={ + "Custom Lorum Ipsum that eases your breath and casts away all problems." + } + /> +)); diff --git a/src/components/blocks/page-info/page-info.view.js b/src/components/blocks/page-info/page-info.view.js new file mode 100644 index 0000000000..500f65bf86 --- /dev/null +++ b/src/components/blocks/page-info/page-info.view.js @@ -0,0 +1,34 @@ +import React from 'react'; +import { Heading } from 'components/shared/heading'; +import { Button } from 'components/shared/button'; +import { HeroFrame } from 'components/shared/hero-frame'; + +import styles from './page-info.module.scss'; + +export const PageInfo = ({ + title, + description, + buttonText, + buttonURL, + buttonRef, + className, +}) => ( + <section className={`${styles.wrapper} ${className}`}> + <div className={'container'}> + <Heading className={styles.title} tag={'h1'}> + {title} + </Heading> + <p className={styles.description}>{description}</p> + { buttonText && buttonURL ? + <Button className={styles.button} tag={'link'} to={buttonURL} cursor> + {buttonText} + </Button> + : buttonText && buttonRef && + <Button className={styles.button} tag={'a'} href={buttonRef} cursor> + {buttonText} + </Button> + } + </div> + <HeroFrame/> + </section> +); diff --git a/src/components/blocks/partners/images/amazon.svg b/src/components/blocks/partners/images/amazon.svg new file mode 100644 index 0000000000..8df43d3b2e --- /dev/null +++ b/src/components/blocks/partners/images/amazon.svg @@ -0,0 +1,7 @@ +<svg width="116" height="35" viewBox="0 0 116 35" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g opacity="0.5"> +<path d="M71.9299 27.299C65.217 32.2624 55.4528 34.9069 47.0312 34.9069C35.2327 34.9069 24.6548 30.5537 16.5994 23.3119C15.9891 22.7423 16.518 21.9693 17.291 22.4169C25.9567 27.4617 36.6567 30.4723 47.7228 30.4723C55.168 30.4723 63.3862 28.9263 70.9535 25.7123C72.0926 25.2648 73.0284 26.4853 71.9299 27.299Z" fill="#5A5C87"/> +<path d="M74.7371 24.0848C73.8827 22.9863 69.0413 23.5559 66.885 23.8406C66.2341 23.922 66.112 23.3524 66.7223 22.9456C70.5873 20.2198 76.8933 21.0334 77.6257 21.9285C78.358 22.8235 77.4222 29.1703 73.8013 32.1809C73.2318 32.6284 72.7029 32.3843 72.947 31.7741C73.7607 29.7399 75.5914 25.2239 74.7371 24.0848Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M13.3444 20.2607C13.6292 20.4235 13.9547 20.3828 14.1988 20.1794C14.4587 19.9628 14.7904 19.6795 15.1448 19.3769C15.7887 18.827 16.5074 18.2133 17.006 17.8197C17.2908 17.6163 17.2501 17.2094 17.006 16.8839C16.9275 16.7712 16.8485 16.6613 16.7701 16.5525C16.1984 15.7581 15.6634 15.0148 15.6634 13.5478V7.9741C15.6634 7.78782 15.6644 7.60255 15.6654 7.41849C15.6772 5.27109 15.688 3.289 14.0767 1.79011C12.6935 0.447526 10.4152 0 8.66574 0C5.24826 0 1.46463 1.26121 0.650947 5.49237C0.569579 5.93989 0.895053 6.14332 1.17984 6.22468L4.638 6.59084C4.96347 6.59084 5.16689 6.26537 5.24826 5.93989C5.53305 4.47526 6.75358 3.78363 8.13684 3.78363C8.86916 3.78363 9.68284 4.06842 10.1304 4.71937C10.598 5.3668 10.5886 6.23682 10.5801 7.02019C10.579 7.1229 10.5779 7.22412 10.5779 7.32316V7.77068C10.2403 7.8104 9.88557 7.84795 9.5197 7.88669L9.51968 7.88669C7.63655 8.08604 5.45946 8.31652 3.82432 9.03189C1.58668 10.0083 0 11.9612 0 14.8904C0 18.5927 2.35968 20.4642 5.37032 20.4642C7.89274 20.4642 9.31668 19.8539 11.2695 17.8604C11.3639 17.9961 11.4498 18.1224 11.5312 18.2421L11.5316 18.2427L11.5316 18.2428C12.0112 18.9483 12.336 19.4262 13.3444 20.2607ZM61.2297 20.1794C60.9856 20.3828 60.6601 20.4235 60.3753 20.2607C59.3669 19.4262 59.0421 18.9483 58.5625 18.2427C58.481 18.1228 58.395 17.9963 58.3004 17.8604C56.3476 19.8539 54.9236 20.4642 52.4012 20.4642C49.3906 20.4642 47.0309 18.5927 47.0309 14.8904C47.0309 11.9612 48.6176 10.0083 50.8552 9.03189C52.4904 8.31652 54.6675 8.08604 56.5506 7.88669L56.5506 7.88668C56.9165 7.84795 57.2713 7.81039 57.6088 7.77068V7.32316C57.6088 7.22436 57.6099 7.12338 57.611 7.02092V7.02068V7.02044V7.02019V7.02016C57.6195 6.2368 57.6289 5.36679 57.1613 4.71937C56.7138 4.06842 55.9001 3.78363 55.1678 3.78363C53.7845 3.78363 52.564 4.47526 52.2792 5.93989C52.1978 6.26537 51.9944 6.59084 51.6689 6.59084L48.2108 6.22468C47.926 6.14332 47.6005 5.93989 47.6819 5.49237C48.4955 1.26121 52.2792 0 55.6967 0C57.4461 0 59.7244 0.447526 61.1077 1.79011C62.719 3.289 62.7081 5.27109 62.6964 7.41848V7.41901V7.41955V7.42008C62.6953 7.60362 62.6943 7.78836 62.6943 7.9741V13.5478C62.6943 15.0148 63.2293 15.7581 63.801 16.5524C63.8794 16.6613 63.9584 16.7712 64.0369 16.8839C64.281 17.2094 64.3217 17.6163 64.0369 17.8197C63.5383 18.2133 62.8196 18.8271 62.1757 19.3769C61.8213 19.6795 61.4896 19.9628 61.2297 20.1794ZM24.0037 20.22H20.4235C20.0981 20.1793 19.8133 19.9352 19.7726 19.6098V1.22051C19.7726 0.854351 20.0981 0.569562 20.4642 0.569562H23.8003C24.1665 0.569562 24.4106 0.854351 24.4513 1.17982V3.58019H24.5326C25.387 1.26119 27.0551 0.16272 29.252 0.16272C31.4896 0.16272 32.9136 1.26119 33.89 3.58019C34.7444 1.26119 36.7379 0.16272 38.8535 0.16272C40.3588 0.16272 41.9862 0.772983 43.0033 2.19693C43.9729 3.51281 43.9403 5.32975 43.9092 7.07076C43.9037 7.37522 43.8983 7.67736 43.8983 7.97409V19.6098C43.8983 19.9759 43.5728 20.2607 43.2067 20.2607H39.6672C39.301 20.22 39.0162 19.9352 39.0162 19.6098V9.84556C39.0162 9.67917 39.02 9.45811 39.0243 9.20633C39.0399 8.2884 39.0626 6.96209 38.9348 6.3874C38.6501 5.16688 37.8771 4.80072 36.8193 4.80072C35.9649 4.80072 35.0292 5.3703 34.663 6.30604C34.3291 7.15937 34.3335 8.52022 34.3369 9.5555L34.3369 9.55767C34.3372 9.65688 34.3375 9.75309 34.3375 9.84556V19.6098C34.3375 19.9759 34.0121 20.2607 33.6459 20.2607H30.0657C29.6995 20.22 29.4147 19.9352 29.4147 19.6098V9.84556C29.4147 9.64317 29.418 9.43071 29.4213 9.21219V9.21207V9.21194V9.2118V9.21167V9.21153V9.21139V9.21125C29.4513 7.2336 29.4889 4.76004 27.2178 4.76004C24.7305 4.76004 24.7336 7.51855 24.7359 9.65227L24.7361 9.84556V19.6098C24.6954 19.9352 24.4106 20.22 24.0037 20.22ZM67.007 3.82429V1.17982C67.007 0.772975 67.2918 0.52887 67.6579 0.52887H79.4563C79.8225 0.52887 80.148 0.813659 80.148 1.17982V3.41745C80.148 3.78361 79.8225 4.27182 79.2529 5.0855L73.1503 13.7919C75.4286 13.7512 77.829 14.0767 79.8632 15.2159C80.3107 15.46 80.4328 15.8668 80.4734 16.233V19.0402C80.4734 19.447 80.0666 19.8946 79.6191 19.6504C75.9982 17.7383 71.1568 17.5349 67.1697 19.6911C66.7629 19.8946 66.3153 19.4877 66.3153 19.0809V16.3957C66.3153 15.9889 66.3153 15.2566 66.7629 14.6056L73.8419 4.47524H67.6986C67.3324 4.47524 67.007 4.19045 67.007 3.82429ZM98.5371 10.5372C98.5371 4.71935 95.6485 0.16272 90.3189 0.16272C85.1113 0.16272 82.2227 4.63798 82.2634 10.3745C82.2634 16.0702 85.1113 20.6269 90.3189 20.6269C95.3637 20.6269 98.5371 16.1516 98.5371 10.5372ZM90.319 3.94629C87.6745 3.94629 87.5118 7.56718 87.5118 9.80482L87.5118 9.89939C87.5112 12.1747 87.51 16.8432 90.2783 16.8432C93.0448 16.8432 93.2076 12.9782 93.2076 10.6185C93.2076 9.0725 93.1262 7.20103 92.6787 5.73639C92.2718 4.4345 91.4582 3.94629 90.319 3.94629ZM101.833 20.22H105.413C105.779 20.22 106.104 19.9352 106.145 19.5691V9.64214C106.145 8.38093 106.226 7.28246 106.715 6.1433C107.122 5.24825 107.935 4.67867 108.79 4.67867C111.072 4.67867 111.049 7.15612 111.03 9.13645L111.03 9.13808C111.029 9.31053 111.027 9.47921 111.027 9.64214V19.6505C111.068 19.9352 111.353 20.1793 111.678 20.22H115.258C115.625 20.22 115.909 19.9759 115.95 19.6505V8.05546C115.95 6.26535 115.95 3.78361 115.014 2.31898C113.997 0.732299 112.41 0.16272 110.824 0.16272C108.342 0.16272 106.959 1.34256 105.942 3.86498H105.86V1.05777C105.779 0.772983 105.535 0.528878 105.209 0.528878H101.873C101.507 0.528878 101.222 0.813667 101.182 1.13914V19.5691C101.182 19.8946 101.466 20.1793 101.833 20.22ZM57.6089 11.4324L57.6091 11.6507C57.6111 12.941 57.6129 14.0623 56.9579 15.2567C56.3883 16.2738 55.4933 16.884 54.4762 16.884C53.0929 16.884 52.2792 15.8263 52.2792 14.2803C52.2792 11.2289 55.0051 10.6594 57.6089 10.6594V11.4324ZM10.6189 11.6507C10.6187 11.5785 10.6186 11.5057 10.6186 11.4324V10.6594C8.01484 10.6594 5.289 11.2289 5.289 14.2803C5.289 15.8263 6.10269 16.884 7.48595 16.884C8.50305 16.884 9.39811 16.2738 9.96769 15.2567C10.6227 14.0623 10.6209 12.941 10.6189 11.6507Z" fill="#5A5C87"/> +</g> +</svg> diff --git a/src/components/blocks/partners/images/citrix.svg b/src/components/blocks/partners/images/citrix.svg new file mode 100644 index 0000000000..0f3cb36b37 --- /dev/null +++ b/src/components/blocks/partners/images/citrix.svg @@ -0,0 +1,5 @@ +<svg width="111" height="44" viewBox="0 0 111 44" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g opacity="0.5"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.3226 8.64582C28.6888 8.64546 30.6067 6.71028 30.6067 4.32323C30.6067 1.93558 28.6881 0 26.3213 0C23.9545 0 22.0358 1.93558 22.0358 4.32323C22.036 5.46994 22.4877 6.5696 23.2917 7.38026C24.0956 8.19092 25.1859 8.64616 26.3226 8.64582ZM22.9039 33.038V10.0449H29.7378V33.038H22.9039ZM78.2492 10.0449V33.038H71.4774V10.0449H78.2492ZM31.5854 16.0578V10.0538H48.7681V16.0578H43.5748V33.0379H36.7787V16.0578H31.5854ZM67.6886 17.3748C67.6886 20.5346 66.0481 22.9841 63.4358 23.8813L70.3994 33.0379H61.7908L57.449 26.1716V33.0386H50.6158V10.0544H59.5755C62.2268 10.0544 64.3756 10.8103 65.793 12.2402C67.0518 13.5063 67.6886 15.2342 67.6886 17.3748ZM57.4496 15.6631C58.33 15.6676 59.516 15.7585 60.1304 16.3758C60.4385 16.6892 60.5888 17.1291 60.5888 17.7192C60.5888 19.1608 59.6732 19.758 57.4496 19.7754V15.6631ZM96.4837 20.6345L104.023 10.0699H95.6423L92.5127 14.9368L89.8096 10.0699H81.4523L88.4536 20.5958L79.329 33.0379H87.5969L92.4092 26.2683L96.2126 33.0379H104.402L96.4837 20.6345ZM78.606 40.922C77.8402 42.2597 76.4251 43.0837 74.8939 43.0834C72.5267 43.0831 70.608 41.1469 70.6084 38.7589C70.6087 36.3709 72.528 34.4353 74.8951 34.4357C76.4264 34.4359 77.8412 35.2602 78.6067 36.5982C79.3721 37.9361 79.3719 39.5843 78.606 40.922ZM17.2356 24.0038C16.2229 25.6969 14.2339 26.7862 12.2232 26.7862C9.3526 26.7862 7.24919 24.4366 7.24919 21.5407C7.24919 18.6461 9.35324 16.2964 12.2232 16.2964C14.2339 16.2964 16.2229 17.3858 17.2356 19.0795L20.8293 13.2135C18.6568 10.9322 15.6085 9.50427 12.2232 9.50427C5.63295 9.50427 0.290039 14.8936 0.290039 21.5407C0.290039 28.1897 5.63295 33.5791 12.2232 33.5791C15.6085 33.5791 18.6568 32.1517 20.8293 29.8705L17.2356 24.0038ZM107.743 10.0449C106.337 10.0449 105.196 11.1955 105.196 12.617C105.196 14.0353 106.337 15.184 107.743 15.184C109.149 15.184 110.29 14.0359 110.29 12.617C110.29 11.1955 109.149 10.0449 107.743 10.0449ZM107.744 14.8408C108.962 14.8408 109.95 13.8442 109.95 12.6147C109.95 11.3853 108.962 10.3886 107.744 10.3886C106.54 10.4093 105.574 11.3999 105.574 12.6147C105.574 13.8296 106.54 14.8202 107.744 14.8408ZM108.89 12.0035C108.89 12.4891 108.531 12.6484 108.206 12.6981C108.624 12.7865 108.837 13.0406 108.837 13.545C108.837 13.7404 108.853 13.9468 108.891 14.0126H108.43C108.403 13.9081 108.391 13.8152 108.391 13.6559C108.391 13.0593 108.197 12.898 107.689 12.898H107.202V14.0126H106.747V11.1882H107.689C108.29 11.1882 108.89 11.3295 108.89 12.0035ZM107.203 11.5268V12.5575H107.69C108.15 12.5575 108.397 12.3782 108.397 12.0035C108.397 11.6836 108.135 11.5268 107.69 11.5268H107.203Z" fill="#5A5C87"/> +</g> +</svg> diff --git a/src/components/blocks/partners/images/kone.svg b/src/components/blocks/partners/images/kone.svg new file mode 100644 index 0000000000..7685fd2d09 --- /dev/null +++ b/src/components/blocks/partners/images/kone.svg @@ -0,0 +1,5 @@ +<svg width="91" height="47" viewBox="0 0 91 47" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g opacity="0.5"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M90.15 0.0143982L90.1408 46.7854L69.2276 46.7865L69.2235 0L90.15 0.0143982ZM21.3612 46.779L21.3669 0.00799561L0.290039 0.00902405V46.7873L21.3612 46.779ZM44.3125 0.00875397L23.2475 0.00823975L23.2465 46.7865L44.312 46.7844L44.3125 0.00875397ZM67.3271 0.0057373L46.2073 0.00676575L46.2032 46.7866L67.3271 46.7845V0.0057373ZM34.0328 14.3615C33.244 14.3573 32.4567 14.4296 31.6818 14.5775C29.3273 15.1915 27.7949 16.2682 26.4047 18.265C24.5844 21.4593 24.54 24.6588 26.0549 27.993C27.8292 31.1673 30.5784 32.3294 34.1084 32.3346C37.2816 32.187 39.4341 31.1956 41.2881 28.5221C43.1457 25.2558 43.3389 21.7946 41.4389 18.4938C39.609 15.8785 37.1916 14.5816 34.0328 14.3615ZM77.935 21.4176L77.9432 18.6105L86.3515 18.6305L86.3567 14.6988L73.1549 14.7158L73.1528 32.0733L86.3567 32.0893L86.3536 28.1621L77.9243 28.1375V25.2218L85.0585 25.2239L85.0682 21.4351L77.935 21.4176ZM62.3235 32.1196L53.4596 23.6108L53.4745 32.08L49.0885 32.0754L49.0686 14.687L51.6604 14.6813L60.0559 23.3326L60.0779 14.67L64.4838 14.6731V32.0851L62.3235 32.1196ZM8.10534 24.3009L13.9204 32.1053L19.3785 32.1207L12.7413 23.1321L19.0507 14.5415L14.0109 14.5456L8.11914 22.3803L8.14113 14.5415L3.32928 14.5523L3.31445 32.1104L8.1084 32.1042L8.10534 24.3009ZM33.3217 18.4424C31.3542 18.8147 30.4569 19.7177 29.74 21.5643C29.4097 22.9157 29.4164 23.8639 29.7758 25.2106C30.4896 26.8829 31.2852 27.6228 33.0006 28.2147C33.9097 28.3654 34.4496 28.4014 35.3475 28.2096C36.8174 27.5498 37.3758 26.707 37.8769 25.2024C38.153 23.8608 38.1376 22.8807 37.8053 21.5519C36.935 19.3444 35.7181 18.4342 33.3217 18.4424Z" fill="#5A5C87"/> +</g> +</svg> diff --git a/src/components/blocks/partners/images/noaa.svg b/src/components/blocks/partners/images/noaa.svg new file mode 100644 index 0000000000..1f7c864b2a --- /dev/null +++ b/src/components/blocks/partners/images/noaa.svg @@ -0,0 +1,8 @@ +<svg width="73" height="72" viewBox="0 0 73 72" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g opacity="0.5"> +<path d="M69.9996 21.5742C71.9007 25.9679 72.9502 30.8859 72.9502 36.0004C72.9502 55.8697 56.8844 72.0004 36.9502 72.0004C17.0813 72.0004 0.950195 55.8697 0.950195 36.0004C0.950195 32.525 1.40912 29.115 2.39281 25.9021C2.39281 25.9021 5.08102 26.4922 8.09791 29.3774C8.09791 29.3774 21.0156 46.8204 36.7536 45.6397C36.7536 45.6397 31.0485 49.8369 25.737 50.0329C25.737 50.0329 28.7534 54.689 43.1801 47.3447C47.9664 44.9184 54.3274 44.2625 54.1962 44.1313C51.1798 42.2302 45.6712 42.6233 45.6712 42.6233C56.4913 40.0005 69.9996 21.5742 69.9996 21.5742V21.5742Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M36.9507 1.30403e-05C24.9831 -0.0101663 13.7961 5.9398 7.11475 15.8688C7.11475 15.8688 13.1476 16.6554 20.1641 27.1478C31.7704 44.5899 39.4424 42.623 39.4424 42.623C51.5734 41.312 55.3111 26.1641 55.3111 26.1641C57.8033 17.1807 65.8693 14.492 65.8693 14.492C59.3112 5.70511 48.754 1.30403e-05 36.9507 1.30403e-05ZM36.2938 22.0328C36.2938 22.8853 35.5725 23.5408 34.72 23.5408H31.7036C30.917 23.5408 30.1957 22.8853 30.1957 22.0328V15.8688C30.1957 15.0168 30.9165 14.3608 31.7036 14.3608H34.72C35.573 14.3608 36.2938 15.0163 36.2938 15.8688V22.0328ZM34.5264 21.9022C34.5264 22.0334 34.3294 22.23 34.1328 22.23H32.2967C32.1001 22.23 31.9689 22.0334 31.9689 21.9022V16.1318C31.9689 15.9352 32.1001 15.804 32.2967 15.804H34.1328C34.3299 15.804 34.5264 15.9352 34.5264 16.1318V21.9022ZM41.9998 23.5407H43.9018V15.9346C43.9018 15.0821 43.1805 14.4261 42.328 14.4261H39.3115C38.459 14.4261 37.8036 15.0821 37.8036 15.9346V23.5407H39.5735V19.7376H41.9998V23.5407ZM51.7045 23.672V16C51.7045 15.2128 51.049 14.492 50.1965 14.492H47.1801C46.3276 14.492 45.6721 15.2133 45.6721 16V23.6725H47.4429V19.8035H49.8692V23.6725H51.7045V23.672ZM26.5229 23.5409V16.3278C26.5229 16.3278 26.3259 15.9347 26.064 15.9996H24.6867C24.6867 15.9996 24.2932 15.9996 24.2932 16.3278V23.5409H22.4575V14.4921H27.0477C28.2937 14.5574 28.6215 16.2624 28.6215 16.2624V23.5409H26.5229Z" fill="#5A5C87"/> +<path d="M42.0652 18.2951V16.2624C42.0652 16.1312 41.8682 16 41.6721 16H39.8354C39.6384 16 39.4414 16.1312 39.4414 16.2624V18.2951H42.0652V18.2951Z" fill="#5A5C87"/> +<path d="M49.9344 18.3605V16.3278C49.9344 16.1966 49.7373 16.0654 49.6061 16.0654H47.7041C47.5081 16.0654 47.311 16.1966 47.311 16.3278V18.3605H49.9344Z" fill="#5A5C87"/> +</g> +</svg> diff --git a/src/components/blocks/partners/images/sephora.svg b/src/components/blocks/partners/images/sephora.svg new file mode 100644 index 0000000000..8d9b03836b --- /dev/null +++ b/src/components/blocks/partners/images/sephora.svg @@ -0,0 +1,6 @@ +<svg width="98" height="63" viewBox="0 0 98 63" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g opacity="0.5"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M2.72647 58.16L0.950195 58.2293C1.16075 60.7635 2.84967 62.2788 5.41664 62.2788C7.98474 62.2788 9.79573 60.6583 9.79573 58.5279C9.79573 56.3282 8.47641 55.343 5.78623 54.4304C5.60458 54.3672 5.42389 54.3093 5.24552 54.2521L5.2455 54.2521C4.62877 54.0543 4.03982 53.8655 3.53509 53.4977C3.07814 53.1634 2.83175 52.6176 2.83175 51.9489C2.83175 50.665 3.76469 49.767 5.22401 49.767C6.73709 49.767 7.61627 50.6292 7.82682 52.3526H9.58518C9.46198 49.8207 7.82682 48.3076 5.20609 48.3076C2.70967 48.3076 1.14395 49.7491 1.14395 51.9489C1.14395 53.1108 1.53146 54.0233 2.28744 54.6395C3.08716 55.3047 3.95206 55.5925 4.7922 55.8722L4.79221 55.8722C4.93098 55.9184 5.06907 55.9643 5.20609 56.0117C7.035 56.6279 8.02058 57.1211 8.02058 58.6152C8.02058 59.8297 7.05292 60.7098 5.45248 60.7098C3.76357 60.7109 2.74439 59.7614 2.72647 58.16ZM14.7772 62.0137H21.758V60.4302H16.5177V55.9088H21.758V54.3599H16.5177V50.1573H21.758V48.5737H14.7772V62.0137ZM28.7972 62.0137H27.0556H27.0545V48.5737H29.9216C33.0867 48.5737 34.9693 50.3675 34.9693 53.0056C34.9693 55.5565 33.0699 57.3872 30.2565 57.3872H28.7972V62.0137ZM28.7972 55.7859V50.1573H29.9048C32.0507 50.1573 33.1763 51.1426 33.1763 52.9353C33.1763 54.7302 32.0686 55.7859 30.1859 55.7859H28.7972ZM40.9176 62.0137H39.1761V48.5737H40.9176V54.2895H47.9701V48.5737H49.7105V62.0137H47.9701V55.873H40.9176V62.0137ZM61.2517 62.2799C63.2374 62.2799 64.8389 61.6614 66.1236 60.4123C67.4776 59.0926 68.1977 57.3324 68.1977 55.2926C68.1977 53.2528 67.4608 51.4769 66.1068 50.1573C64.858 48.9428 63.2217 48.3098 61.2528 48.3098C59.2828 48.3098 57.6465 48.9428 56.3988 50.1573C55.0448 51.4769 54.3056 53.2528 54.3056 55.2926C54.3056 57.3324 55.0269 59.0926 56.3809 60.4123C57.6622 61.6614 59.2805 62.2799 61.2517 62.2799ZM57.6454 59.2683C58.5772 60.2178 59.7733 60.6942 61.2338 60.6942C62.6931 60.6942 63.924 60.2178 64.8558 59.2683C65.875 58.2484 66.4025 56.8583 66.4025 55.2927C66.4025 53.7091 65.8582 52.3549 64.839 51.3171C63.9072 50.3844 62.6931 49.8934 61.2338 49.8934C59.7913 49.8934 58.5593 50.3844 57.6454 51.3171C56.6251 52.337 56.0976 53.7091 56.0976 55.2927C56.0976 56.8594 56.6251 58.2484 57.6454 59.2683ZM73.0193 62.0137H74.7609V56.5418L79.5443 62.0137H81.7428L77.0109 56.7889H77.1162C79.5264 56.7889 81.1604 55.0287 81.1604 52.6545C81.1604 50.1204 79.3662 48.5749 76.0791 48.5749H73.0193V62.0137ZM74.7609 50.1573V55.4694H76.0275C78.2081 55.4694 79.3673 54.4662 79.3673 52.706C79.3673 51.0699 78.2261 50.1573 75.938 50.1573H74.7609ZM84.6826 62.0137H86.5462L87.7424 58.8992H94.0557L95.2518 62.0137H97.2901L91.6264 48.5737H90.1671L84.6826 62.0137ZM90.5042 51.9264L88.3583 57.3145H93.424L91.3128 51.9264C91.2602 51.8045 91.1191 51.4008 90.9085 50.6817C90.6968 51.365 90.5568 51.7866 90.5042 51.9264Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M64.4662 0H33.1641V31.3073H64.4662V0ZM48.4259 20.6629C48.343 24.3478 47.7169 28.0259 47.083 30.134C47.1238 30.0558 47.1669 29.9733 47.2121 29.8869C48.2583 27.8872 50.4307 23.735 50.406 20.1664C50.3943 18.4683 50.1247 16.8553 49.882 15.4037C49.6821 14.2082 49.5006 13.1222 49.4965 12.1883C49.4842 9.25718 49.8684 3.33904 50.5482 1.17285C49.6287 2.98117 47.0315 9.78726 47.1446 12.8682C47.1766 13.7361 47.4196 14.7028 47.6858 15.7616C48.0539 17.2255 48.4661 18.8653 48.4259 20.6629Z" fill="#5A5C87"/> +</g> +</svg> diff --git a/src/components/blocks/partners/images/uefa.svg b/src/components/blocks/partners/images/uefa.svg new file mode 100644 index 0000000000..edf739c86d --- /dev/null +++ b/src/components/blocks/partners/images/uefa.svg @@ -0,0 +1,444 @@ +<svg width="73" height="72" viewBox="0 0 73 72" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g opacity="0.5"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M72.29 36.0002C72.29 55.8822 56.1715 72 36.2898 72C16.4078 72 0.289654 55.8822 0.290039 36.0002C0.290039 16.1182 16.4078 0 36.2898 0C56.1715 0 72.29 16.1178 72.29 36.0002ZM69.3341 36C69.3341 54.2495 54.5394 69.0442 36.2896 69.0442C18.0397 69.0442 3.24463 54.2495 3.24463 36C3.24463 17.7502 18.0397 2.95508 36.2896 2.95508C54.5394 2.95508 69.3341 17.7502 69.3341 36Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M21.5951 50.6948C25.3558 54.4559 30.5512 56.7815 36.2897 56.7815C42.0282 56.7815 47.2236 54.4559 50.9843 50.6948C54.7447 46.934 57.0711 41.7386 57.0711 36.0005C57.0711 30.2617 54.7447 25.0662 50.9843 21.3055C47.2236 17.5448 42.0282 15.2188 36.2897 15.2188C30.5512 15.2188 25.3558 17.5452 21.5951 21.3055C17.8343 25.0662 15.5083 30.2617 15.5083 36.0005C15.5083 41.739 17.8343 46.9344 21.5951 50.6948ZM50.8507 50.5612C47.1239 54.2873 41.9757 56.5925 36.29 56.5925C30.6039 56.5925 25.4558 54.2873 21.7297 50.5612C18.0036 46.8343 15.6987 41.6862 15.6987 36.0008C15.6987 30.3143 18.0036 25.1666 21.7297 21.4401C25.4558 17.714 30.6039 15.4092 36.29 15.4092C41.9757 15.4092 47.1239 17.714 50.8507 21.4401C54.5768 25.1666 56.8813 30.3143 56.8813 36.0008C56.8813 41.6862 54.5768 46.8343 50.8507 50.5612Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M14.9331 13.7932L16.6649 11.9694L20.1916 15.3183C20.5306 15.6364 20.8131 16.0098 21.0271 16.4224C21.2328 16.8207 21.3451 17.2605 21.3554 17.7086C21.3673 18.1623 21.2988 18.5618 21.1503 18.9066C20.9448 19.3869 20.6057 19.8753 20.1331 20.3729C19.8324 20.6863 19.5134 20.9817 19.1779 21.2577C18.8143 21.5598 18.4644 21.7684 18.1277 21.883C17.7909 21.9977 17.4223 22.0454 17.0213 22.0258C16.6202 22.0062 16.27 21.92 15.9699 21.7676C15.4861 21.5232 15.0986 21.2627 14.808 20.9867L11.2812 17.6382L13.0131 15.8144L16.6245 19.2438C16.947 19.5505 17.2841 19.7006 17.6355 19.6936C17.9868 19.6871 18.3132 19.5251 18.6149 19.2076C18.9136 18.8932 19.0583 18.5614 19.0494 18.2127C19.0406 17.8641 18.8716 17.5335 18.5437 17.2221L14.9331 13.7932V13.7932ZM25.3837 7.02678L31.9218 5.32422L32.3606 7.01024L28.2673 8.07588L28.5941 9.33125L32.391 8.34219L32.8101 9.9524L29.0136 10.9411L29.4188 12.4978L33.6306 11.401L34.0958 13.189L27.4391 14.9223L25.3837 7.02678V7.02678ZM41.5638 5.5235L47.5763 7.1618L47.1156 8.85243L43.5458 7.87992L43.1717 9.25421L46.2205 10.0851L45.7875 11.6741L42.7387 10.8436L41.8621 14.059L39.4194 13.3936L41.5638 5.5235V5.5235ZM54.1653 17.4222L56.8939 16.024L55.4168 18.7122L54.1653 17.4222ZM53.8307 21.5449L55.6668 23.4379L59.3883 15.5586L57.4745 13.5854L49.4843 17.0629L51.2776 18.9125L52.5195 18.2587L54.5181 20.3195L53.8307 21.5449V21.5449Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M36.2899 56.6865C47.7148 56.6865 56.9766 47.4248 56.9766 36.0002C56.9766 24.5752 47.7148 15.3135 36.2899 15.3135C24.8653 15.3135 15.6035 24.5752 15.6035 36.0002C15.6031 47.4244 24.8653 56.6865 36.2899 56.6865Z" fill="#5A5C87" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M38.4868 25.8094V24.92H37.5974V25.8094H38.4868V25.8094ZM30.4847 25.8093V24.9199H29.5957V25.8093H30.4847ZM31.3741 25.8094V24.92H30.4847V25.8094H31.3741V25.8094ZM35.8194 25.8094V24.92H34.9304V25.8094H35.8194ZM34.9304 25.8094V24.92H34.041V25.8094H34.9304ZM36.7086 25.8094V24.92H35.8196V25.8094H36.7086Z" fill="white"/> +<path d="M38.4868 24.92H38.7368V24.67H38.4868V24.92ZM37.5974 24.92V24.67H37.3474V24.92H37.5974ZM37.5974 25.8094H37.3474V26.0594H37.5974V25.8094ZM30.4847 25.8093V26.0593H30.7347V25.8093H30.4847ZM30.4847 24.9199H30.7347V24.6699H30.4847V24.9199ZM29.5957 24.9199V24.6699H29.3457V24.9199H29.5957ZM29.5957 25.8093H29.3457V26.0593H29.5957V25.8093ZM31.3741 24.92H31.6241V24.67H31.3741V24.92ZM30.4847 24.92V24.67H30.2347V24.92H30.4847ZM30.4847 25.8094H30.2347V26.0594H30.4847V25.8094ZM35.8194 25.8094V26.0594H36.0694V25.8094H35.8194ZM35.8194 24.92H36.0694V24.67H35.8194V24.92ZM34.9304 24.92V24.67H34.6804V24.92H34.9304ZM34.9304 25.8094H34.6804V26.0594H34.9304V25.8094ZM34.9304 25.8094V26.0594H35.1804V25.8094H34.9304ZM34.9304 24.92H35.1804V24.67H34.9304V24.92ZM34.041 24.92V24.67H33.791V24.92H34.041ZM34.041 25.8094H33.791V26.0594H34.041V25.8094ZM36.7086 25.8094V26.0594H36.9586V25.8094H36.7086ZM36.7086 24.92H36.9586V24.67H36.7086V24.92ZM35.8196 24.92V24.67H35.5696V24.92H35.8196ZM35.8196 25.8094H35.5696V26.0594H35.8196V25.8094ZM38.7368 25.8094V24.92H38.2368V25.8094H38.7368ZM38.4868 24.67H37.5974V25.17H38.4868V24.67ZM37.3474 24.92V25.8094H37.8474V24.92H37.3474ZM37.5974 26.0594H38.4868V25.5594H37.5974V26.0594ZM30.7347 25.8093V24.9199H30.2347V25.8093H30.7347ZM30.4847 24.6699H29.5957V25.1699H30.4847V24.6699ZM29.3457 24.9199V25.8093H29.8457V24.9199H29.3457ZM29.5957 26.0593H30.4847V25.5593H29.5957V26.0593ZM31.6241 25.8094V24.92H31.1241V25.8094H31.6241ZM31.3741 24.67H30.4847V25.17H31.3741V24.67ZM30.2347 24.92V25.8094H30.7347V24.92H30.2347ZM30.4847 26.0594H31.3741V25.5594H30.4847V26.0594ZM36.0694 25.8094V24.92H35.5694V25.8094H36.0694ZM35.8194 24.67H34.9304V25.17H35.8194V24.67ZM34.6804 24.92V25.8094H35.1804V24.92H34.6804ZM34.9304 26.0594H35.8194V25.5594H34.9304V26.0594ZM35.1804 25.8094V24.92H34.6804V25.8094H35.1804ZM34.9304 24.67H34.041V25.17H34.9304V24.67ZM33.791 24.92V25.8094H34.291V24.92H33.791ZM34.041 26.0594H34.9304V25.5594H34.041V26.0594ZM36.9586 25.8094V24.92H36.4586V25.8094H36.9586ZM36.7086 24.67H35.8196V25.17H36.7086V24.67ZM35.5696 24.92V25.8094H36.0696V24.92H35.5696ZM35.8196 26.0594H36.7086V25.5594H35.8196V26.0594Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M37.5969 25.8093V24.9199H36.7075V25.8093H37.5969ZM39.3755 25.8094V24.92H38.4861V25.8094H39.3755V25.8094ZM45.6 26.6984H46.4894V25.8094H45.6V26.6984ZM45.6 25.8094V24.92H44.7106V25.8094H45.6ZM46.4894 25.8094V24.92H45.6V25.8094H46.4894Z" fill="white"/> +<path d="M37.5969 25.8093V26.0593H37.8469V25.8093H37.5969ZM37.5969 24.9199H37.8469V24.6699H37.5969V24.9199ZM36.7075 24.9199V24.6699H36.4575V24.9199H36.7075ZM36.7075 25.8093H36.4575V26.0593H36.7075V25.8093ZM39.3755 24.92H39.6255V24.67H39.3755V24.92ZM38.4861 24.92V24.67H38.2361V24.92H38.4861ZM38.4861 25.8094H38.2361V26.0594H38.4861V25.8094ZM45.6 26.6984H45.35V26.9484H45.6V26.6984ZM46.4894 26.6984V26.9484H46.7394V26.6984H46.4894ZM46.4894 25.8094H46.7394V25.5594H46.4894V25.8094ZM45.6 25.8094V25.5594H45.35V25.8094H45.6ZM45.6 25.8094V26.0594H45.85V25.8094H45.6ZM45.6 24.92H45.85V24.67H45.6V24.92ZM44.7106 24.92V24.67H44.4606V24.92H44.7106ZM44.7106 25.8094H44.4606V26.0594H44.7106V25.8094ZM46.4894 25.8094V26.0594H46.7394V25.8094H46.4894ZM46.4894 24.92H46.7394V24.67H46.4894V24.92ZM45.6 24.92V24.67H45.35V24.92H45.6ZM45.6 25.8094H45.35V26.0594H45.6V25.8094ZM37.8469 25.8093V24.9199H37.3469V25.8093H37.8469ZM37.5969 24.6699H36.7075V25.1699H37.5969V24.6699ZM36.4575 24.9199V25.8093H36.9575V24.9199H36.4575ZM36.7075 26.0593H37.5969V25.5593H36.7075V26.0593ZM39.6255 25.8094V24.92H39.1255V25.8094H39.6255ZM39.3755 24.67H38.4861V25.17H39.3755V24.67ZM38.2361 24.92V25.8094H38.7361V24.92H38.2361ZM38.4861 26.0594H39.3755V25.5594H38.4861V26.0594ZM45.6 26.9484H46.4894V26.4484H45.6V26.9484ZM46.7394 26.6984V25.8094H46.2394V26.6984H46.7394ZM46.4894 25.5594H45.6V26.0594H46.4894V25.5594ZM45.35 25.8094V26.6984H45.85V25.8094H45.35ZM45.85 25.8094V24.92H45.35V25.8094H45.85ZM45.6 24.67H44.7106V25.17H45.6V24.67ZM44.4606 24.92V25.8094H44.9606V24.92H44.4606ZM44.7106 26.0594H45.6V25.5594H44.7106V26.0594ZM46.7394 25.8094V24.92H46.2394V25.8094H46.7394ZM46.4894 24.67H45.6V25.17H46.4894V24.67ZM45.35 24.92V25.8094H45.85V24.92H45.35ZM45.6 26.0594H46.4894V25.5594H45.6V26.0594Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M44.7112 25.8093V24.9199H43.8218V25.8093H44.7112V25.8093ZM45.6002 28.4767H46.4896V27.5877H45.6002V28.4767Z" fill="white"/> +<path d="M44.7112 24.9199H44.9612V24.6699H44.7112V24.9199ZM43.8218 24.9199V24.6699H43.5718V24.9199H43.8218ZM43.8218 25.8093H43.5718V26.0593H43.8218V25.8093ZM45.6002 28.4767H45.3502V28.7267H45.6002V28.4767ZM46.4896 28.4767V28.7267H46.7396V28.4767H46.4896ZM46.4896 27.5877H46.7396V27.3377H46.4896V27.5877ZM45.6002 27.5877V27.3377H45.3502V27.5877H45.6002ZM44.9612 25.8093V24.9199H44.4612V25.8093H44.9612ZM44.7112 24.6699H43.8218V25.1699H44.7112V24.6699ZM43.5718 24.9199V25.8093H44.0718V24.9199H43.5718ZM43.8218 26.0593H44.7112V25.5593H43.8218V26.0593ZM45.6002 28.7267H46.4896V28.2267H45.6002V28.7267ZM46.7396 28.4767V27.5877H46.2396V28.4767H46.7396ZM46.4896 27.3377H45.6002V27.8377H46.4896V27.3377ZM45.3502 27.5877V28.4767H45.8502V27.5877H45.3502Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M45.6001 27.5876H46.4895V26.6982H45.6001V27.5876ZM45.6001 29.3657H46.4895V28.4763H45.6001V29.3657V29.3657ZM45.6001 30.255H46.4895V29.3657H45.6001V30.255V30.255ZM43.8216 25.8093V24.9199H42.9323V25.8093H43.8216V25.8093ZM41.1544 25.8093V24.9199H40.265V25.8093H41.1544ZM34.0412 32.9224H33.1519V33.8114H34.0412V32.9224ZM40.265 25.8093V24.9199H39.3756V25.8093H40.265ZM34.0412 33.8114H33.1519V34.7008H34.0412V33.8114ZM34.0412 36.4792H33.1519V37.3678H34.0412V36.4792ZM34.0412 35.5898H33.1519V36.4792H34.0412V35.5898V35.5898Z" fill="white"/> +<path d="M45.6001 27.5876H45.3501V27.8376H45.6001V27.5876ZM46.4895 27.5876V27.8376H46.7395V27.5876H46.4895ZM46.4895 26.6982H46.7395V26.4482H46.4895V26.6982ZM45.6001 26.6982V26.4482H45.3501V26.6982H45.6001ZM46.4895 29.3657V29.6157H46.7395V29.3657H46.4895ZM46.4895 28.4763H46.7395V28.2263H46.4895V28.4763ZM45.6001 28.4763V28.2263H45.3501V28.4763H45.6001ZM46.4895 30.255V30.505H46.7395V30.255H46.4895ZM46.4895 29.3657H46.7395V29.1157H46.4895V29.3657ZM45.6001 29.3657V29.1157H45.3501V29.3657H45.6001ZM43.8216 24.9199H44.0716V24.6699H43.8216V24.9199ZM42.9323 24.9199V24.6699H42.6823V24.9199H42.9323ZM42.9323 25.8093H42.6823V26.0593H42.9323V25.8093ZM41.1544 25.8093V26.0593H41.4044V25.8093H41.1544ZM41.1544 24.9199H41.4044V24.6699H41.1544V24.9199ZM40.265 24.9199V24.6699H40.015V24.9199H40.265ZM40.265 25.8093H40.015V26.0593H40.265V25.8093ZM34.0412 32.9224H34.2912V32.6724H34.0412V32.9224ZM33.1519 32.9224V32.6724H32.9019V32.9224H33.1519ZM33.1519 33.8114H32.9019V34.0614H33.1519V33.8114ZM34.0412 33.8114V34.0614H34.2912V33.8114H34.0412ZM40.265 25.8093V26.0593H40.515V25.8093H40.265ZM40.265 24.9199H40.515V24.6699H40.265V24.9199ZM39.3756 24.9199V24.6699H39.1256V24.9199H39.3756ZM39.3756 25.8093H39.1256V26.0593H39.3756V25.8093ZM34.0412 33.8114H34.2912V33.5614H34.0412V33.8114ZM33.1519 33.8114V33.5614H32.9019V33.8114H33.1519ZM33.1519 34.7008H32.9019V34.9508H33.1519V34.7008ZM34.0412 34.7008V34.9508H34.2912V34.7008H34.0412ZM34.0412 36.4792H34.2912V36.2292H34.0412V36.4792ZM33.1519 36.4792V36.2292H32.9019V36.4792H33.1519ZM33.1519 37.3678H32.9019V37.6178H33.1519V37.3678ZM34.0412 37.3678V37.6178H34.2912V37.3678H34.0412ZM33.1519 35.5898V35.3398H32.9019V35.5898H33.1519ZM33.1519 36.4792H32.9019V36.7292H33.1519V36.4792ZM34.0412 36.4792V36.7292H34.2912V36.4792H34.0412ZM45.6001 27.8376H46.4895V27.3376H45.6001V27.8376ZM46.7395 27.5876V26.6982H46.2395V27.5876H46.7395ZM46.4895 26.4482H45.6001V26.9482H46.4895V26.4482ZM45.3501 26.6982V27.5876H45.8501V26.6982H45.3501ZM45.6001 29.6157H46.4895V29.1157H45.6001V29.6157ZM46.7395 29.3657V28.4763H46.2395V29.3657H46.7395ZM46.4895 28.2263H45.6001V28.7263H46.4895V28.2263ZM45.3501 28.4763V29.3657H45.8501V28.4763H45.3501ZM45.6001 30.505H46.4895V30.005H45.6001V30.505ZM46.7395 30.255V29.3657H46.2395V30.255H46.7395ZM46.4895 29.1157H45.6001V29.6157H46.4895V29.1157ZM45.3501 29.3657V30.255H45.8501V29.3657H45.3501ZM44.0716 25.8093V24.9199H43.5716V25.8093H44.0716ZM43.8216 24.6699H42.9323V25.1699H43.8216V24.6699ZM42.6823 24.9199V25.8093H43.1823V24.9199H42.6823ZM42.9323 26.0593H43.8216V25.5593H42.9323V26.0593ZM41.4044 25.8093V24.9199H40.9044V25.8093H41.4044ZM41.1544 24.6699H40.265V25.1699H41.1544V24.6699ZM40.015 24.9199V25.8093H40.515V24.9199H40.015ZM40.265 26.0593H41.1544V25.5593H40.265V26.0593ZM34.0412 32.6724H33.1519V33.1724H34.0412V32.6724ZM32.9019 32.9224V33.8114H33.4019V32.9224H32.9019ZM33.1519 34.0614H34.0412V33.5614H33.1519V34.0614ZM34.2912 33.8114V32.9224H33.7912V33.8114H34.2912ZM40.515 25.8093V24.9199H40.015V25.8093H40.515ZM40.265 24.6699H39.3756V25.1699H40.265V24.6699ZM39.1256 24.9199V25.8093H39.6256V24.9199H39.1256ZM39.3756 26.0593H40.265V25.5593H39.3756V26.0593ZM34.0412 33.5614H33.1519V34.0614H34.0412V33.5614ZM32.9019 33.8114V34.7008H33.4019V33.8114H32.9019ZM33.1519 34.9508H34.0412V34.4508H33.1519V34.9508ZM34.2912 34.7008V33.8114H33.7912V34.7008H34.2912ZM34.0412 36.2292H33.1519V36.7292H34.0412V36.2292ZM32.9019 36.4792V37.3678H33.4019V36.4792H32.9019ZM33.1519 37.6178H34.0412V37.1178H33.1519V37.6178ZM34.2912 37.3678V36.4792H33.7912V37.3678H34.2912ZM34.0412 35.3398H33.1519V35.8398H34.0412V35.3398ZM32.9019 35.5898V36.4792H33.4019V35.5898H32.9019ZM33.1519 36.7292H34.0412V36.2292H33.1519V36.7292ZM34.2912 36.4792V35.5898H33.7912V36.4792H34.2912Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M34.0414 34.7002H33.152V35.5896H34.0414V34.7002ZM37.5972 46.2595V47.1488H38.4866V46.2595H37.5972ZM26.928 46.2595V47.1488H27.8174V46.2595H26.928V46.2595ZM26.0388 44.4811H25.1494V45.3705H26.0388V44.4811V44.4811ZM26.0388 43.5917H25.1494V44.4811H26.0388V43.5917V43.5917Z" fill="white"/> +<path d="M34.0414 34.7002H34.2914V34.4502H34.0414V34.7002ZM33.152 34.7002V34.4502H32.902V34.7002H33.152ZM33.152 35.5896H32.902V35.8396H33.152V35.5896ZM34.0414 35.5896V35.8396H34.2914V35.5896H34.0414ZM37.5972 46.2595V46.0095H37.3472V46.2595H37.5972ZM37.5972 47.1488H37.3472V47.3988H37.5972V47.1488ZM38.4866 47.1488V47.3988H38.7366V47.1488H38.4866ZM38.4866 46.2595H38.7366V46.0095H38.4866V46.2595ZM26.928 47.1488H26.678V47.3988H26.928V47.1488ZM27.8174 47.1488V47.3988H28.0674V47.1488H27.8174ZM27.8174 46.2595H28.0674V46.0095H27.8174V46.2595ZM25.1494 44.4811V44.2311H24.8994V44.4811H25.1494ZM25.1494 45.3705H24.8994V45.6205H25.1494V45.3705ZM26.0388 45.3705V45.6205H26.2888V45.3705H26.0388ZM25.1494 43.5917V43.3417H24.8994V43.5917H25.1494ZM25.1494 44.4811H24.8994V44.7311H25.1494V44.4811ZM26.0388 44.4811V44.7311H26.2888V44.4811H26.0388ZM34.0414 34.4502H33.152V34.9502H34.0414V34.4502ZM32.902 34.7002V35.5896H33.402V34.7002H32.902ZM33.152 35.8396H34.0414V35.3396H33.152V35.8396ZM34.2914 35.5896V34.7002H33.7914V35.5896H34.2914ZM37.3472 46.2595V47.1488H37.8472V46.2595H37.3472ZM37.5972 47.3988H38.4866V46.8988H37.5972V47.3988ZM38.7366 47.1488V46.2595H38.2366V47.1488H38.7366ZM38.4866 46.0095H37.5972V46.5095H38.4866V46.0095ZM26.678 46.2595V47.1488H27.178V46.2595H26.678ZM26.928 47.3988H27.8174V46.8988H26.928V47.3988ZM28.0674 47.1488V46.2595H27.5674V47.1488H28.0674ZM27.8174 46.0095H26.928V46.5095H27.8174V46.0095ZM26.0388 44.2311H25.1494V44.7311H26.0388V44.2311ZM24.8994 44.4811V45.3705H25.3994V44.4811H24.8994ZM25.1494 45.6205H26.0388V45.1205H25.1494V45.6205ZM26.2888 45.3705V44.4811H25.7888V45.3705H26.2888ZM26.0388 43.3417H25.1494V43.8417H26.0388V43.3417ZM24.8994 43.5917V44.4811H25.3994V43.5917H24.8994ZM25.1494 44.7311H26.0388V44.2311H25.1494V44.7311ZM26.2888 44.4811V43.5917H25.7888V44.4811H26.2888Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.0386 46.2598V47.1491H26.928V46.2598H26.0386H26.0386Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.0388 45.3709H25.1494V46.2603H26.0388V45.3709V45.3709ZM39.3757 46.2599V47.1493H40.2651V46.2599H39.3757V46.2599ZM26.0389 42.7031H25.1495V43.5925H26.0389V42.7031V42.7031ZM36.7084 46.2599V47.1493H37.5978V46.2599H36.7084Z" fill="white"/> +<path d="M25.1494 45.3709V45.1209H24.8994V45.3709H25.1494ZM25.1494 46.2603H24.8994V46.5103H25.1494V46.2603ZM26.0388 46.2603V46.5103H26.2888V46.2603H26.0388ZM39.3757 47.1493H39.1257V47.3993H39.3757V47.1493ZM40.2651 47.1493V47.3993H40.5151V47.1493H40.2651ZM40.2651 46.2599H40.5151V46.0099H40.2651V46.2599ZM25.1495 42.7031V42.4531H24.8995V42.7031H25.1495ZM25.1495 43.5925H24.8995V43.8425H25.1495V43.5925ZM26.0389 43.5925V43.8425H26.2889V43.5925H26.0389ZM36.7084 46.2599V46.0099H36.4584V46.2599H36.7084ZM36.7084 47.1493H36.4584V47.3993H36.7084V47.1493ZM37.5978 47.1493V47.3993H37.8478V47.1493H37.5978ZM37.5978 46.2599H37.8478V46.0099H37.5978V46.2599ZM26.0388 45.1209H25.1494V45.6209H26.0388V45.1209ZM24.8994 45.3709V46.2603H25.3994V45.3709H24.8994ZM25.1494 46.5103H26.0388V46.0103H25.1494V46.5103ZM26.2888 46.2603V45.3709H25.7888V46.2603H26.2888ZM39.1257 46.2599V47.1493H39.6257V46.2599H39.1257ZM39.3757 47.3993H40.2651V46.8993H39.3757V47.3993ZM40.5151 47.1493V46.2599H40.0151V47.1493H40.5151ZM40.2651 46.0099H39.3757V46.5099H40.2651V46.0099ZM26.0389 42.4531H25.1495V42.9531H26.0389V42.4531ZM24.8995 42.7031V43.5925H25.3995V42.7031H24.8995ZM25.1495 43.8425H26.0389V43.3425H25.1495V43.8425ZM26.2889 43.5925V42.7031H25.7889V43.5925H26.2889ZM36.4584 46.2599V47.1493H36.9584V46.2599H36.4584ZM36.7084 47.3993H37.5978V46.8993H36.7084V47.3993ZM37.8478 47.1493V46.2599H37.3478V47.1493H37.8478ZM37.5978 46.0099H36.7084V46.5099H37.5978V46.0099Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M25.1494 46.2591V47.1485H26.0388V46.2591H25.1494ZM26.0389 31.1436H25.1495V32.0326H26.0389V31.1436V31.1436Z" fill="white"/> +<path d="M25.1494 46.2591V46.0091H24.8994V46.2591H25.1494ZM25.1494 47.1485H24.8994V47.3985H25.1494V47.1485ZM26.0388 47.1485V47.3985H26.2888V47.1485H26.0388ZM26.0388 46.2591H26.2888V46.0091H26.0388V46.2591ZM25.1495 31.1436V30.8936H24.8995V31.1436H25.1495ZM25.1495 32.0326H24.8995V32.2826H25.1495V32.0326ZM26.0389 32.0326V32.2826H26.2889V32.0326H26.0389ZM24.8994 46.2591V47.1485H25.3994V46.2591H24.8994ZM25.1494 47.3985H26.0388V46.8985H25.1494V47.3985ZM26.2888 47.1485V46.2591H25.7888V47.1485H26.2888ZM26.0388 46.0091H25.1494V46.5091H26.0388V46.0091ZM26.0389 30.8936H25.1495V31.3936H26.0389V30.8936ZM24.8995 31.1436V32.0326H25.3995V31.1436H24.8995ZM25.1495 32.2826H26.0389V31.7826H25.1495V32.2826ZM26.2889 32.0326V31.1436H25.7889V32.0326H26.2889Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.0388 30.2546H25.1494V31.144H26.0388V30.2546V30.2546ZM26.0388 41.813H25.1494V42.7024H26.0388V41.813V41.813ZM26.0389 29.3652H25.1495V30.2546H26.0389V29.3652V29.3652Z" fill="white"/> +<path d="M25.1494 30.2546V30.0046H24.8994V30.2546H25.1494ZM25.1494 31.144H24.8994V31.394H25.1494V31.144ZM26.0388 31.144V31.394H26.2888V31.144H26.0388ZM25.1494 41.813V41.563H24.8994V41.813H25.1494ZM25.1494 42.7024H24.8994V42.9524H25.1494V42.7024ZM26.0388 42.7024V42.9524H26.2888V42.7024H26.0388ZM25.1495 29.3652V29.1152H24.8995V29.3652H25.1495ZM25.1495 30.2546H24.8995V30.5046H25.1495V30.2546ZM26.0389 30.2546V30.5046H26.2889V30.2546H26.0389ZM26.0388 30.0046H25.1494V30.5046H26.0388V30.0046ZM24.8994 30.2546V31.144H25.3994V30.2546H24.8994ZM25.1494 31.394H26.0388V30.894H25.1494V31.394ZM26.2888 31.144V30.2546H25.7888V31.144H26.2888ZM26.0388 41.563H25.1494V42.063H26.0388V41.563ZM24.8994 41.813V42.7024H25.3994V41.813H24.8994ZM25.1494 42.9524H26.0388V42.4524H25.1494V42.9524ZM26.2888 42.7024V41.813H25.7888V42.7024H26.2888ZM26.0389 29.1152H25.1495V29.6152H26.0389V29.1152ZM24.8995 29.3652V30.2546H25.3995V29.3652H24.8995ZM25.1495 30.5046H26.0389V30.0046H25.1495V30.5046ZM26.2889 30.2546V29.3652H25.7889V30.2546H26.2889Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.0389 28.4766H25.1495V29.3659H26.0389V28.4766V28.4766ZM36.7085 33.8112V32.9222H35.8195V33.8112H36.7085ZM35.8193 33.8112V32.9222H34.9303V33.8112H35.8193ZM26.0388 39.1469H25.1494V40.0355H26.0388V39.1469V39.1469Z" fill="white"/> +<path d="M25.1495 28.4766V28.2266H24.8995V28.4766H25.1495ZM25.1495 29.3659H24.8995V29.6159H25.1495V29.3659ZM26.0389 29.3659V29.6159H26.2889V29.3659H26.0389ZM36.7085 33.8112V34.0612H36.9585V33.8112H36.7085ZM36.7085 32.9222H36.9585V32.6722H36.7085V32.9222ZM35.8195 32.9222V32.6722H35.5695V32.9222H35.8195ZM35.8195 33.8112H35.5695V34.0612H35.8195V33.8112ZM35.8193 33.8112V34.0612H36.0693V33.8112H35.8193ZM35.8193 32.9222H36.0693V32.6722H35.8193V32.9222ZM34.9303 32.9222V32.6722H34.6803V32.9222H34.9303ZM34.9303 33.8112H34.6803V34.0612H34.9303V33.8112ZM25.1494 39.1469V38.8969H24.8994V39.1469H25.1494ZM25.1494 40.0355H24.8994V40.2855H25.1494V40.0355ZM26.0388 40.0355V40.2855H26.2888V40.0355H26.0388ZM26.0389 28.2266H25.1495V28.7266H26.0389V28.2266ZM24.8995 28.4766V29.3659H25.3995V28.4766H24.8995ZM25.1495 29.6159H26.0389V29.1159H25.1495V29.6159ZM26.2889 29.3659V28.4766H25.7889V29.3659H26.2889ZM36.9585 33.8112V32.9222H36.4585V33.8112H36.9585ZM36.7085 32.6722H35.8195V33.1722H36.7085V32.6722ZM35.5695 32.9222V33.8112H36.0695V32.9222H35.5695ZM35.8195 34.0612H36.7085V33.5612H35.8195V34.0612ZM36.0693 33.8112V32.9222H35.5693V33.8112H36.0693ZM35.8193 32.6722H34.9303V33.1722H35.8193V32.6722ZM34.6803 32.9222V33.8112H35.1803V32.9222H34.6803ZM34.9303 34.0612H35.8193V33.5612H34.9303V34.0612ZM26.0388 38.8969H25.1494V39.3969H26.0388V38.8969ZM24.8994 39.1469V40.0355H25.3994V39.1469H24.8994ZM25.1494 40.2855H26.0388V39.7855H25.1494V40.2855ZM26.2888 40.0355V39.1469H25.7888V40.0355H26.2888Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.0388 40.0354H25.1494V40.9248H26.0388V40.0354V40.0354ZM26.0388 40.9248H25.1494V41.8142H26.0388V40.9248V40.9248ZM34.9303 33.8116V32.9226H34.0409V33.8116H34.9303ZM30.4847 26.6986V25.8096H29.5957V26.6986H30.4847ZM29.5957 26.6986V25.8096H28.7063V26.6986H29.5957ZM35.8193 26.6986V25.8096H34.9303V26.6986H35.8193ZM36.7085 26.6986V25.8096H35.8195V26.6986H36.7085Z" fill="white"/> +<path d="M25.1494 40.0354V39.7854H24.8994V40.0354H25.1494ZM25.1494 40.9248H24.8994V41.1748H25.1494V40.9248ZM26.0388 40.9248V41.1748H26.2888V40.9248H26.0388ZM25.1494 40.9248V40.6748H24.8994V40.9248H25.1494ZM25.1494 41.8142H24.8994V42.0642H25.1494V41.8142ZM26.0388 41.8142V42.0642H26.2888V41.8142H26.0388ZM34.9303 33.8116V34.0616H35.1803V33.8116H34.9303ZM34.9303 32.9226H35.1803V32.6726H34.9303V32.9226ZM34.0409 32.9226V32.6726H33.7909V32.9226H34.0409ZM34.0409 33.8116H33.7909V34.0616H34.0409V33.8116ZM30.4847 26.6986V26.9486H30.7347V26.6986H30.4847ZM30.4847 25.8096H30.7347V25.5596H30.4847V25.8096ZM29.5957 25.8096V25.5596H29.3457V25.8096H29.5957ZM29.5957 26.6986H29.3457V26.9486H29.5957V26.6986ZM29.5957 26.6986V26.9486H29.8457V26.6986H29.5957ZM29.5957 25.8096H29.8457V25.5596H29.5957V25.8096ZM28.7063 25.8096V25.5596H28.4563V25.8096H28.7063ZM28.7063 26.6986H28.4563V26.9486H28.7063V26.6986ZM35.8193 26.6986V26.9486H36.0693V26.6986H35.8193ZM35.8193 25.8096H36.0693V25.5596H35.8193V25.8096ZM34.9303 25.8096V25.5596H34.6803V25.8096H34.9303ZM34.9303 26.6986H34.6803V26.9486H34.9303V26.6986ZM36.7085 26.6986V26.9486H36.9585V26.6986H36.7085ZM36.7085 25.8096H36.9585V25.5596H36.7085V25.8096ZM35.8195 25.8096V25.5596H35.5695V25.8096H35.8195ZM35.8195 26.6986H35.5695V26.9486H35.8195V26.6986ZM26.0388 39.7854H25.1494V40.2854H26.0388V39.7854ZM24.8994 40.0354V40.9248H25.3994V40.0354H24.8994ZM25.1494 41.1748H26.0388V40.6748H25.1494V41.1748ZM26.2888 40.9248V40.0354H25.7888V40.9248H26.2888ZM26.0388 40.6748H25.1494V41.1748H26.0388V40.6748ZM24.8994 40.9248V41.8142H25.3994V40.9248H24.8994ZM25.1494 42.0642H26.0388V41.5642H25.1494V42.0642ZM26.2888 41.8142V40.9248H25.7888V41.8142H26.2888ZM35.1803 33.8116V32.9226H34.6803V33.8116H35.1803ZM34.9303 32.6726H34.0409V33.1726H34.9303V32.6726ZM33.7909 32.9226V33.8116H34.2909V32.9226H33.7909ZM34.0409 34.0616H34.9303V33.5616H34.0409V34.0616ZM30.7347 26.6986V25.8096H30.2347V26.6986H30.7347ZM30.4847 25.5596H29.5957V26.0596H30.4847V25.5596ZM29.3457 25.8096V26.6986H29.8457V25.8096H29.3457ZM29.5957 26.9486H30.4847V26.4486H29.5957V26.9486ZM29.8457 26.6986V25.8096H29.3457V26.6986H29.8457ZM29.5957 25.5596H28.7063V26.0596H29.5957V25.5596ZM28.4563 25.8096V26.6986H28.9563V25.8096H28.4563ZM28.7063 26.9486H29.5957V26.4486H28.7063V26.9486ZM36.0693 26.6986V25.8096H35.5693V26.6986H36.0693ZM35.8193 25.5596H34.9303V26.0596H35.8193V25.5596ZM34.6803 25.8096V26.6986H35.1803V25.8096H34.6803ZM34.9303 26.9486H35.8193V26.4486H34.9303V26.9486ZM36.9585 26.6986V25.8096H36.4585V26.6986H36.9585ZM36.7085 25.5596H35.8195V26.0596H36.7085V25.5596ZM35.5695 25.8096V26.6986H36.0695V25.8096H35.5695ZM35.8195 26.9486H36.7085V26.4486H35.8195V26.9486Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M37.5974 26.6976V25.8086H36.708V26.6976H37.5974ZM34.9305 26.6976V25.8086H34.0411V26.6976H34.9305ZM38.4868 26.6976V25.8086H37.5974V26.6976H38.4868V26.6976ZM26.928 27.587H26.0386V28.476H26.928V27.587V27.587Z" fill="white"/> +<path d="M37.5974 26.6976V26.9476H37.8474V26.6976H37.5974ZM37.5974 25.8086H37.8474V25.5586H37.5974V25.8086ZM36.708 25.8086V25.5586H36.458V25.8086H36.708ZM36.708 26.6976H36.458V26.9476H36.708V26.6976ZM34.9305 26.6976V26.9476H35.1805V26.6976H34.9305ZM34.9305 25.8086H35.1805V25.5586H34.9305V25.8086ZM34.0411 25.8086V25.5586H33.7911V25.8086H34.0411ZM34.0411 26.6976H33.7911V26.9476H34.0411V26.6976ZM38.4868 25.8086H38.7368V25.5586H38.4868V25.8086ZM37.5974 25.8086V25.5586H37.3474V25.8086H37.5974ZM37.5974 26.6976H37.3474V26.9476H37.5974V26.6976ZM26.0386 27.587V27.337H25.7886V27.587H26.0386ZM26.0386 28.476H25.7886V28.726H26.0386V28.476ZM26.928 28.476V28.726H27.178V28.476H26.928ZM37.8474 26.6976V25.8086H37.3474V26.6976H37.8474ZM37.5974 25.5586H36.708V26.0586H37.5974V25.5586ZM36.458 25.8086V26.6976H36.958V25.8086H36.458ZM36.708 26.9476H37.5974V26.4476H36.708V26.9476ZM35.1805 26.6976V25.8086H34.6805V26.6976H35.1805ZM34.9305 25.5586H34.0411V26.0586H34.9305V25.5586ZM33.7911 25.8086V26.6976H34.2911V25.8086H33.7911ZM34.0411 26.9476H34.9305V26.4476H34.0411V26.9476ZM38.7368 26.6976V25.8086H38.2368V26.6976H38.7368ZM38.4868 25.5586H37.5974V26.0586H38.4868V25.5586ZM37.3474 25.8086V26.6976H37.8474V25.8086H37.3474ZM37.5974 26.9476H38.4868V26.4476H37.5974V26.9476ZM26.928 27.337H26.0386V27.837H26.928V27.337ZM25.7886 27.587V28.476H26.2886V27.587H25.7886ZM26.0386 28.726H26.928V28.226H26.0386V28.726ZM27.178 28.476V27.587H26.678V28.476H27.178Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.9275 28.4766H26.0381V29.3659H26.9275V28.4766V28.4766Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.9276 29.3652H26.0382V30.2546H26.9276V29.3652V29.3652ZM26.9275 30.2546H26.0381V31.144H26.9275V30.2546V30.2546Z" fill="white"/> +<path d="M26.0382 29.3652V29.1152H25.7882V29.3652H26.0382ZM26.0382 30.2546H25.7882V30.5046H26.0382V30.2546ZM26.9276 30.2546V30.5046H27.1776V30.2546H26.9276ZM26.0381 30.2546V30.0046H25.7881V30.2546H26.0381ZM26.0381 31.144H25.7881V31.394H26.0381V31.144ZM26.9275 31.144V31.394H27.1775V31.144H26.9275ZM26.9276 29.1152H26.0382V29.6152H26.9276V29.1152ZM25.7882 29.3652V30.2546H26.2882V29.3652H25.7882ZM26.0382 30.5046H26.9276V30.0046H26.0382V30.5046ZM27.1776 30.2546V29.3652H26.6776V30.2546H27.1776ZM26.9275 30.0046H26.0381V30.5046H26.9275V30.0046ZM25.7881 30.2546V31.144H26.2881V30.2546H25.7881ZM26.0381 31.394H26.9275V30.894H26.0381V31.394ZM27.1775 31.144V30.2546H26.6775V31.144H27.1775Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.9275 31.1436H26.0381V32.0326H26.9275V31.1436V31.1436ZM44.7109 36.4786H45.6003V35.5892H44.7109V36.4786V36.4786Z" fill="white"/> +<path d="M26.0381 31.1436V30.8936H25.7881V31.1436H26.0381ZM26.0381 32.0326H25.7881V32.2826H26.0381V32.0326ZM26.9275 32.0326V32.2826H27.1775V32.0326H26.9275ZM45.6003 36.4786V36.7286H45.8503V36.4786H45.6003ZM45.6003 35.5892H45.8503V35.3392H45.6003V35.5892ZM44.7109 35.5892V35.3392H44.4609V35.5892H44.7109ZM26.9275 30.8936H26.0381V31.3936H26.9275V30.8936ZM25.7881 31.1436V32.0326H26.2881V31.1436H25.7881ZM26.0381 32.2826H26.9275V31.7826H26.0381V32.2826ZM27.1775 32.0326V31.1436H26.6775V32.0326H27.1775ZM44.7109 36.7286H45.6003V36.2286H44.7109V36.7286ZM45.8503 36.4786V35.5892H45.3503V36.4786H45.8503ZM45.6003 35.3392H44.7109V35.8392H45.6003V35.3392ZM44.4609 35.5892V36.4786H44.9609V35.5892H44.4609Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M44.7114 37.3671H45.6008V36.4785H44.7114V37.3671H44.7114Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M44.7115 38.2563H45.6009V37.3669H44.7115V38.2563V38.2563ZM44.7115 35.5895H45.6009V34.7001H44.7115V35.5895V35.5895ZM44.7114 34.6999H45.6008V33.8105H44.7114V34.6999V34.6999Z" fill="white"/> +<path d="M45.6009 38.2563V38.5063H45.8509V38.2563H45.6009ZM45.6009 37.3669H45.8509V37.1169H45.6009V37.3669ZM44.7115 37.3669V37.1169H44.4615V37.3669H44.7115ZM45.6009 35.5895V35.8395H45.8509V35.5895H45.6009ZM45.6009 34.7001H45.8509V34.4501H45.6009V34.7001ZM44.7115 34.7001V34.4501H44.4615V34.7001H44.7115ZM45.6008 34.6999V34.9499H45.8508V34.6999H45.6008ZM45.6008 33.8105H45.8508V33.5605H45.6008V33.8105ZM44.7114 33.8105V33.5605H44.4614V33.8105H44.7114ZM44.7115 38.5063H45.6009V38.0063H44.7115V38.5063ZM45.8509 38.2563V37.3669H45.3509V38.2563H45.8509ZM45.6009 37.1169H44.7115V37.6169H45.6009V37.1169ZM44.4615 37.3669V38.2563H44.9615V37.3669H44.4615ZM44.7115 35.8395H45.6009V35.3395H44.7115V35.8395ZM45.8509 35.5895V34.7001H45.3509V35.5895H45.8509ZM45.6009 34.4501H44.7115V34.9501H45.6009V34.4501ZM44.4615 34.7001V35.5895H44.9615V34.7001H44.4615ZM44.7114 34.9499H45.6008V34.4499H44.7114V34.9499ZM45.8508 34.6999V33.8105H45.3508V34.6999H45.8508ZM45.6008 33.5605H44.7114V34.0605H45.6008V33.5605ZM44.4614 33.8105V34.6999H44.9614V33.8105H44.4614Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M44.7114 33.8109H45.6008V32.9219H44.7114V33.8109V33.8109ZM44.7115 39.1465H45.6009V38.2567H44.7115V39.1465V39.1465ZM44.7115 43.5916H45.6009V42.7022H44.7115V43.5916V43.5916Z" fill="white"/> +<path d="M45.6008 33.8109V34.0609H45.8508V33.8109H45.6008ZM45.6008 32.9219H45.8508V32.6719H45.6008V32.9219ZM44.7114 32.9219V32.6719H44.4614V32.9219H44.7114ZM45.6009 39.1465V39.3965H45.8509V39.1465H45.6009ZM45.6009 38.2567H45.8509V38.0067H45.6009V38.2567ZM44.7115 38.2567V38.0067H44.4615V38.2567H44.7115ZM45.6009 43.5916V43.8416H45.8509V43.5916H45.6009ZM45.6009 42.7022H45.8509V42.4522H45.6009V42.7022ZM44.7115 42.7022V42.4522H44.4615V42.7022H44.7115ZM44.7114 34.0609H45.6008V33.5609H44.7114V34.0609ZM45.8508 33.8109V32.9219H45.3508V33.8109H45.8508ZM45.6008 32.6719H44.7114V33.1719H45.6008V32.6719ZM44.4614 32.9219V33.8109H44.9614V32.9219H44.4614ZM44.7115 39.3965H45.6009V38.8965H44.7115V39.3965ZM45.8509 39.1465V38.2567H45.3509V39.1465H45.8509ZM45.6009 38.0067H44.7115V38.5067H45.6009V38.0067ZM44.4615 38.2567V39.1465H44.9615V38.2567H44.4615ZM44.7115 43.8416H45.6009V43.3416H44.7115V43.8416ZM45.8509 43.5916V42.7022H45.3509V43.5916H45.8509ZM45.6009 42.4522H44.7115V42.9522H45.6009V42.4522ZM44.4615 42.7022V43.5916H44.9615V42.7022H44.4615Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M44.7111 40.0354H45.6004V39.1468H44.7111V40.0354V40.0354ZM44.7111 32.9226H45.6004V32.0333H44.7111V32.9226V32.9226ZM44.7111 30.2553H45.6004V29.366H44.7111V30.2553V30.2553ZM44.711 26.6986V25.8096H43.8217V26.6986H44.711V26.6986ZM44.7111 32.0334H45.6004V31.1444H44.7111V32.0334V32.0334ZM40.2649 26.6986V25.8096H39.3755V26.6986H40.2649ZM41.1542 26.6986V25.8096H40.2648V26.6986H41.1542Z" fill="white"/> +<path d="M45.6004 40.0354V40.2854H45.8504V40.0354H45.6004ZM45.6004 39.1468H45.8504V38.8968H45.6004V39.1468ZM44.7111 39.1468V38.8968H44.4611V39.1468H44.7111ZM45.6004 32.9226V33.1726H45.8504V32.9226H45.6004ZM45.6004 32.0333H45.8504V31.7833H45.6004V32.0333ZM44.7111 32.0333V31.7833H44.4611V32.0333H44.7111ZM45.6004 30.2553V30.5053H45.8504V30.2553H45.6004ZM45.6004 29.366H45.8504V29.116H45.6004V29.366ZM44.7111 29.366V29.116H44.4611V29.366H44.7111ZM44.711 25.8096H44.961V25.5596H44.711V25.8096ZM43.8217 25.8096V25.5596H43.5717V25.8096H43.8217ZM43.8217 26.6986H43.5717V26.9486H43.8217V26.6986ZM45.6004 32.0334V32.2834H45.8504V32.0334H45.6004ZM45.6004 31.1444H45.8504V30.8944H45.6004V31.1444ZM44.7111 31.1444V30.8944H44.4611V31.1444H44.7111ZM40.2649 26.6986V26.9486H40.5149V26.6986H40.2649ZM40.2649 25.8096H40.5149V25.5596H40.2649V25.8096ZM39.3755 25.8096V25.5596H39.1255V25.8096H39.3755ZM39.3755 26.6986H39.1255V26.9486H39.3755V26.6986ZM41.1542 26.6986V26.9486H41.4042V26.6986H41.1542ZM41.1542 25.8096H41.4042V25.5596H41.1542V25.8096ZM40.2648 25.8096V25.5596H40.0148V25.8096H40.2648ZM40.2648 26.6986H40.0148V26.9486H40.2648V26.6986ZM44.7111 40.2854H45.6004V39.7854H44.7111V40.2854ZM45.8504 40.0354V39.1468H45.3504V40.0354H45.8504ZM45.6004 38.8968H44.7111V39.3968H45.6004V38.8968ZM44.4611 39.1468V40.0354H44.9611V39.1468H44.4611ZM44.7111 33.1726H45.6004V32.6726H44.7111V33.1726ZM45.8504 32.9226V32.0333H45.3504V32.9226H45.8504ZM45.6004 31.7833H44.7111V32.2833H45.6004V31.7833ZM44.4611 32.0333V32.9226H44.9611V32.0333H44.4611ZM44.7111 30.5053H45.6004V30.0053H44.7111V30.5053ZM45.8504 30.2553V29.366H45.3504V30.2553H45.8504ZM45.6004 29.116H44.7111V29.616H45.6004V29.116ZM44.4611 29.366V30.2553H44.9611V29.366H44.4611ZM44.961 26.6986V25.8096H44.461V26.6986H44.961ZM44.711 25.5596H43.8217V26.0596H44.711V25.5596ZM43.5717 25.8096V26.6986H44.0717V25.8096H43.5717ZM43.8217 26.9486H44.711V26.4486H43.8217V26.9486ZM44.7111 32.2834H45.6004V31.7834H44.7111V32.2834ZM45.8504 32.0334V31.1444H45.3504V32.0334H45.8504ZM45.6004 30.8944H44.7111V31.3944H45.6004V30.8944ZM44.4611 31.1444V32.0334H44.9611V31.1444H44.4611ZM40.5149 26.6986V25.8096H40.0149V26.6986H40.5149ZM40.2649 25.5596H39.3755V26.0596H40.2649V25.5596ZM39.1255 25.8096V26.6986H39.6255V25.8096H39.1255ZM39.3755 26.9486H40.2649V26.4486H39.3755V26.9486ZM41.4042 26.6986V25.8096H40.9042V26.6986H41.4042ZM41.1542 25.5596H40.2648V26.0596H41.1542V25.5596ZM40.0148 25.8096V26.6986H40.5148V25.8096H40.0148ZM40.2648 26.9486H41.1542V26.4486H40.2648V26.9486Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3757 26.6986V25.8096H38.4863V26.6986H39.3757V26.6986ZM45.6002 26.6986V25.8096H44.7108V26.6986H45.6002ZM44.7113 29.3659H45.6007V28.4766H44.7113V29.3659V29.3659ZM44.7113 31.1443H45.6007V30.2549H44.7113V31.1443V31.1443Z" fill="white"/> +<path d="M39.3757 25.8096H39.6257V25.5596H39.3757V25.8096ZM38.4863 25.8096V25.5596H38.2363V25.8096H38.4863ZM38.4863 26.6986H38.2363V26.9486H38.4863V26.6986ZM45.6002 26.6986V26.9486H45.8502V26.6986H45.6002ZM45.6002 25.8096H45.8502V25.5596H45.6002V25.8096ZM44.7108 25.8096V25.5596H44.4608V25.8096H44.7108ZM44.7108 26.6986H44.4608V26.9486H44.7108V26.6986ZM45.6007 29.3659V29.6159H45.8507V29.3659H45.6007ZM45.6007 28.4766H45.8507V28.2266H45.6007V28.4766ZM44.7113 28.4766V28.2266H44.4613V28.4766H44.7113ZM45.6007 31.1443V31.3943H45.8507V31.1443H45.6007ZM45.6007 30.2549H45.8507V30.0049H45.6007V30.2549ZM44.7113 30.2549V30.0049H44.4613V30.2549H44.7113ZM39.6257 26.6986V25.8096H39.1257V26.6986H39.6257ZM39.3757 25.5596H38.4863V26.0596H39.3757V25.5596ZM38.2363 25.8096V26.6986H38.7363V25.8096H38.2363ZM38.4863 26.9486H39.3757V26.4486H38.4863V26.9486ZM45.8502 26.6986V25.8096H45.3502V26.6986H45.8502ZM45.6002 25.5596H44.7108V26.0596H45.6002V25.5596ZM44.4608 25.8096V26.6986H44.9608V25.8096H44.4608ZM44.7108 26.9486H45.6002V26.4486H44.7108V26.9486ZM44.7113 29.6159H45.6007V29.1159H44.7113V29.6159ZM45.8507 29.3659V28.4766H45.3507V29.3659H45.8507ZM45.6007 28.2266H44.7113V28.7266H45.6007V28.2266ZM44.4613 28.4766V29.3659H44.9613V28.4766H44.4613ZM44.7113 31.3943H45.6007V30.8943H44.7113V31.3943ZM45.8507 31.1443V30.2549H45.3507V31.1443H45.8507ZM45.6007 30.0049H44.7113V30.5049H45.6007V30.0049ZM44.4613 30.2549V31.1443H44.9613V30.2549H44.4613Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M44.7114 28.4769H45.6008V27.5879H44.7114V28.4769H44.7114Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M44.7112 27.5876H45.6006V26.6982H44.7112V27.5876V27.5876ZM45.6001 35.5898H46.4895V34.7004H45.6001V35.5898V35.5898ZM34.0412 37.3677H33.1519V38.2571H34.0412V37.3677V37.3677Z" fill="white"/> +<path d="M45.6006 27.5876V27.8376H45.8506V27.5876H45.6006ZM45.6006 26.6982H45.8506V26.4482H45.6006V26.6982ZM44.7112 26.6982V26.4482H44.4612V26.6982H44.7112ZM46.4895 35.5898V35.8398H46.7395V35.5898H46.4895ZM46.4895 34.7004H46.7395V34.4504H46.4895V34.7004ZM45.6001 34.7004V34.4504H45.3501V34.7004H45.6001ZM33.1519 37.3677V37.1177H32.9019V37.3677H33.1519ZM33.1519 38.2571H32.9019V38.5071H33.1519V38.2571ZM34.0412 38.2571V38.5071H34.2912V38.2571H34.0412ZM44.7112 27.8376H45.6006V27.3376H44.7112V27.8376ZM45.8506 27.5876V26.6982H45.3506V27.5876H45.8506ZM45.6006 26.4482H44.7112V26.9482H45.6006V26.4482ZM44.4612 26.6982V27.5876H44.9612V26.6982H44.4612ZM45.6001 35.8398H46.4895V35.3398H45.6001V35.8398ZM46.7395 35.5898V34.7004H46.2395V35.5898H46.7395ZM46.4895 34.4504H45.6001V34.9504H46.4895V34.4504ZM45.3501 34.7004V35.5898H45.8501V34.7004H45.3501ZM34.0412 37.1177H33.1519V37.6177H34.0412V37.1177ZM32.9019 37.3677V38.2571H33.4019V37.3677H32.9019ZM33.1519 38.5071H34.0412V38.0071H33.1519V38.5071ZM34.2912 38.2571V37.3677H33.7912V38.2571H34.2912Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M33.1519 38.2569V39.1467H34.0412V38.2569H33.1519V38.2569ZM45.6001 45.3708H46.4895V44.4814H45.6001V45.3708ZM45.6001 44.4814H46.4895V43.592H45.6001V44.4814ZM34.0413 38.2568V39.1466H34.9306V38.2568H34.0413ZM37.597 38.2568V39.1466H38.4864V38.2568H37.597ZM44.7112 45.3707V46.26H45.6006V45.3707H44.7112V45.3707ZM43.8219 45.3707V46.26H44.7113V45.3707H43.8219V45.3707Z" fill="white"/> +<path d="M33.1519 39.1467H32.9019V39.3967H33.1519V39.1467ZM34.0412 39.1467V39.3967H34.2912V39.1467H34.0412ZM34.0412 38.2569H34.2912V38.0069H34.0412V38.2569ZM45.6001 45.3708H45.3501V45.6208H45.6001V45.3708ZM46.4895 45.3708V45.6208H46.7395V45.3708H46.4895ZM46.4895 44.4814H46.7395V44.2314H46.4895V44.4814ZM45.6001 44.4814V44.2314H45.3501V44.4814H45.6001ZM45.6001 44.4814H45.3501V44.7314H45.6001V44.4814ZM46.4895 44.4814V44.7314H46.7395V44.4814H46.4895ZM46.4895 43.592H46.7395V43.342H46.4895V43.592ZM45.6001 43.592V43.342H45.3501V43.592H45.6001ZM34.0413 38.2568V38.0068H33.7913V38.2568H34.0413ZM34.0413 39.1466H33.7913V39.3966H34.0413V39.1466ZM34.9306 39.1466V39.3966H35.1806V39.1466H34.9306ZM34.9306 38.2568H35.1806V38.0068H34.9306V38.2568ZM37.597 38.2568V38.0068H37.347V38.2568H37.597ZM37.597 39.1466H37.347V39.3966H37.597V39.1466ZM38.4864 39.1466V39.3966H38.7364V39.1466H38.4864ZM38.4864 38.2568H38.7364V38.0068H38.4864V38.2568ZM44.7112 46.26H44.4612V46.51H44.7112V46.26ZM45.6006 46.26V46.51H45.8506V46.26H45.6006ZM45.6006 45.3707H45.8506V45.1207H45.6006V45.3707ZM43.8219 46.26H43.5719V46.51H43.8219V46.26ZM44.7113 46.26V46.51H44.9613V46.26H44.7113ZM44.7113 45.3707H44.9613V45.1207H44.7113V45.3707ZM32.9019 38.2569V39.1467H33.4019V38.2569H32.9019ZM33.1519 39.3967H34.0412V38.8967H33.1519V39.3967ZM34.2912 39.1467V38.2569H33.7912V39.1467H34.2912ZM34.0412 38.0069H33.1519V38.5069H34.0412V38.0069ZM45.6001 45.6208H46.4895V45.1208H45.6001V45.6208ZM46.7395 45.3708V44.4814H46.2395V45.3708H46.7395ZM46.4895 44.2314H45.6001V44.7314H46.4895V44.2314ZM45.3501 44.4814V45.3708H45.8501V44.4814H45.3501ZM45.6001 44.7314H46.4895V44.2314H45.6001V44.7314ZM46.7395 44.4814V43.592H46.2395V44.4814H46.7395ZM46.4895 43.342H45.6001V43.842H46.4895V43.342ZM45.3501 43.592V44.4814H45.8501V43.592H45.3501ZM33.7913 38.2568V39.1466H34.2913V38.2568H33.7913ZM34.0413 39.3966H34.9306V38.8966H34.0413V39.3966ZM35.1806 39.1466V38.2568H34.6806V39.1466H35.1806ZM34.9306 38.0068H34.0413V38.5068H34.9306V38.0068ZM37.347 38.2568V39.1466H37.847V38.2568H37.347ZM37.597 39.3966H38.4864V38.8966H37.597V39.3966ZM38.7364 39.1466V38.2568H38.2364V39.1466H38.7364ZM38.4864 38.0068H37.597V38.5068H38.4864V38.0068ZM44.4612 45.3707V46.26H44.9612V45.3707H44.4612ZM44.7112 46.51H45.6006V46.01H44.7112V46.51ZM45.8506 46.26V45.3707H45.3506V46.26H45.8506ZM45.6006 45.1207H44.7112V45.6207H45.6006V45.1207ZM43.5719 45.3707V46.26H44.0719V45.3707H43.5719ZM43.8219 46.51H44.7113V46.01H43.8219V46.51ZM44.9613 46.26V45.3707H44.4613V46.26H44.9613ZM44.7113 45.1207H43.8219V45.6207H44.7113V45.1207Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M38.4865 38.2568H39.3758V37.3674H38.4865V38.2568V38.2568ZM35.8192 38.257V39.1467H36.7082V38.257H35.8192ZM34.9302 38.257V39.1467H35.8192V38.257H34.9302ZM36.7081 38.257V39.1467H37.5975V38.257H36.7081ZM45.6001 32.9226H46.4895V32.0332H45.6001V32.9226ZM45.6001 33.8115H46.4895V32.9225H45.6001V33.8115Z" fill="white"/> +<path d="M39.3758 38.2568V38.5068H39.6258V38.2568H39.3758ZM39.3758 37.3674H39.6258V37.1174H39.3758V37.3674ZM38.4865 37.3674V37.1174H38.2365V37.3674H38.4865ZM35.8192 38.257V38.007H35.5692V38.257H35.8192ZM35.8192 39.1467H35.5692V39.3967H35.8192V39.1467ZM36.7082 39.1467V39.3967H36.9582V39.1467H36.7082ZM36.7082 38.257H36.9582V38.007H36.7082V38.257ZM34.9302 38.257V38.007H34.6802V38.257H34.9302ZM34.9302 39.1467H34.6802V39.3967H34.9302V39.1467ZM35.8192 39.1467V39.3967H36.0692V39.1467H35.8192ZM35.8192 38.257H36.0692V38.007H35.8192V38.257ZM36.7081 38.257V38.007H36.4581V38.257H36.7081ZM36.7081 39.1467H36.4581V39.3967H36.7081V39.1467ZM37.5975 39.1467V39.3967H37.8475V39.1467H37.5975ZM37.5975 38.257H37.8475V38.007H37.5975V38.257ZM45.6001 32.9226H45.3501V33.1726H45.6001V32.9226ZM46.4895 32.9226V33.1726H46.7395V32.9226H46.4895ZM46.4895 32.0332H46.7395V31.7832H46.4895V32.0332ZM45.6001 32.0332V31.7832H45.3501V32.0332H45.6001ZM45.6001 33.8115H45.3501V34.0615H45.6001V33.8115ZM46.4895 33.8115V34.0615H46.7395V33.8115H46.4895ZM46.4895 32.9225H46.7395V32.6725H46.4895V32.9225ZM45.6001 32.9225V32.6725H45.3501V32.9225H45.6001ZM38.4865 38.5068H39.3758V38.0068H38.4865V38.5068ZM39.6258 38.2568V37.3674H39.1258V38.2568H39.6258ZM39.3758 37.1174H38.4865V37.6174H39.3758V37.1174ZM38.2365 37.3674V38.2568H38.7365V37.3674H38.2365ZM35.5692 38.257V39.1467H36.0692V38.257H35.5692ZM35.8192 39.3967H36.7082V38.8967H35.8192V39.3967ZM36.9582 39.1467V38.257H36.4582V39.1467H36.9582ZM36.7082 38.007H35.8192V38.507H36.7082V38.007ZM34.6802 38.257V39.1467H35.1802V38.257H34.6802ZM34.9302 39.3967H35.8192V38.8967H34.9302V39.3967ZM36.0692 39.1467V38.257H35.5692V39.1467H36.0692ZM35.8192 38.007H34.9302V38.507H35.8192V38.007ZM36.4581 38.257V39.1467H36.9581V38.257H36.4581ZM36.7081 39.3967H37.5975V38.8967H36.7081V39.3967ZM37.8475 39.1467V38.257H37.3475V39.1467H37.8475ZM37.5975 38.007H36.7081V38.507H37.5975V38.007ZM45.6001 33.1726H46.4895V32.6726H45.6001V33.1726ZM46.7395 32.9226V32.0332H46.2395V32.9226H46.7395ZM46.4895 31.7832H45.6001V32.2832H46.4895V31.7832ZM45.3501 32.0332V32.9226H45.8501V32.0332H45.3501ZM45.6001 34.0615H46.4895V33.5615H45.6001V34.0615ZM46.7395 33.8115V32.9225H46.2395V33.8115H46.7395ZM46.4895 32.6725H45.6001V33.1725H46.4895V32.6725ZM45.3501 32.9225V33.8115H45.8501V32.9225H45.3501Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M45.6001 34.6996H46.4895V33.8102H45.6001V34.6996ZM45.6001 31.1433H46.4895V30.2539H45.6001V31.1433V31.1433ZM45.6001 36.4785H46.4895V35.5891H45.6001V36.4785V36.4785ZM42.9326 45.37V46.2594H43.822V45.37H42.9326V45.37Z" fill="white"/> +<path d="M45.6001 34.6996H45.3501V34.9496H45.6001V34.6996ZM46.4895 34.6996V34.9496H46.7395V34.6996H46.4895ZM46.4895 33.8102H46.7395V33.5602H46.4895V33.8102ZM45.6001 33.8102V33.5602H45.3501V33.8102H45.6001ZM46.4895 31.1433V31.3933H46.7395V31.1433H46.4895ZM46.4895 30.2539H46.7395V30.0039H46.4895V30.2539ZM45.6001 30.2539V30.0039H45.3501V30.2539H45.6001ZM46.4895 36.4785V36.7285H46.7395V36.4785H46.4895ZM46.4895 35.5891H46.7395V35.3391H46.4895V35.5891ZM45.6001 35.5891V35.3391H45.3501V35.5891H45.6001ZM42.9326 46.2594H42.6826V46.5094H42.9326V46.2594ZM43.822 46.2594V46.5094H44.072V46.2594H43.822ZM43.822 45.37H44.072V45.12H43.822V45.37ZM45.6001 34.9496H46.4895V34.4496H45.6001V34.9496ZM46.7395 34.6996V33.8102H46.2395V34.6996H46.7395ZM46.4895 33.5602H45.6001V34.0602H46.4895V33.5602ZM45.3501 33.8102V34.6996H45.8501V33.8102H45.3501ZM45.6001 31.3933H46.4895V30.8933H45.6001V31.3933ZM46.7395 31.1433V30.2539H46.2395V31.1433H46.7395ZM46.4895 30.0039H45.6001V30.5039H46.4895V30.0039ZM45.3501 30.2539V31.1433H45.8501V30.2539H45.3501ZM45.6001 36.7285H46.4895V36.2285H45.6001V36.7285ZM46.7395 36.4785V35.5891H46.2395V36.4785H46.7395ZM46.4895 35.3391H45.6001V35.8391H46.4895V35.3391ZM45.3501 35.5891V36.4785H45.8501V35.5891H45.3501ZM42.6826 45.37V46.2594H43.1826V45.37H42.6826ZM42.9326 46.5094H43.822V46.0094H42.9326V46.5094ZM44.072 46.2594V45.37H43.572V46.2594H44.072ZM43.822 45.12H42.9326V45.62H43.822V45.12Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M45.6001 32.0326H46.4895V31.1436H45.6001V32.0326ZM45.6002 37.3673H46.4896V36.4786H45.6002V37.3673Z" fill="white"/> +<path d="M45.6001 32.0326H45.3501V32.2826H45.6001V32.0326ZM46.4895 32.0326V32.2826H46.7395V32.0326H46.4895ZM46.4895 31.1436H46.7395V30.8936H46.4895V31.1436ZM45.6001 31.1436V30.8936H45.3501V31.1436H45.6001ZM45.6002 37.3673H45.3502V37.6173H45.6002V37.3673ZM46.4896 37.3673V37.6173H46.7396V37.3673H46.4896ZM46.4896 36.4786H46.7396V36.2286H46.4896V36.4786ZM45.6002 36.4786V36.2286H45.3502V36.4786H45.6002ZM45.6001 32.2826H46.4895V31.7826H45.6001V32.2826ZM46.7395 32.0326V31.1436H46.2395V32.0326H46.7395ZM46.4895 30.8936H45.6001V31.3936H46.4895V30.8936ZM45.3501 31.1436V32.0326H45.8501V31.1436H45.3501ZM45.6002 37.6173H46.4896V37.1173H45.6002V37.6173ZM46.7396 37.3673V36.4786H46.2396V37.3673H46.7396ZM46.4896 36.2286H45.6002V36.7286H46.4896V36.2286ZM45.3502 36.4786V37.3673H45.8502V36.4786H45.3502Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M45.6005 38.2566H46.4898V37.3672H45.6005V38.2566V38.2566ZM45.6005 39.1468H46.4898V38.2571H45.6005V39.1468ZM45.6005 43.5917H46.4898V42.7023H45.6005V43.5917V43.5917ZM26.0391 45.3705V46.2599H26.9284V45.3705H26.0391V45.3705ZM26.928 43.5917H26.0386V44.4811H26.928V43.5917V43.5917ZM26.928 44.4812H26.0386V45.3706H26.928V44.4812V44.4812Z" fill="white"/> +<path d="M46.4898 38.2566V38.5066H46.7398V38.2566H46.4898ZM46.4898 37.3672H46.7398V37.1172H46.4898V37.3672ZM45.6005 37.3672V37.1172H45.3505V37.3672H45.6005ZM45.6005 39.1468H45.3505V39.3968H45.6005V39.1468ZM46.4898 39.1468V39.3968H46.7398V39.1468H46.4898ZM46.4898 38.2571H46.7398V38.0071H46.4898V38.2571ZM45.6005 38.2571V38.0071H45.3505V38.2571H45.6005ZM46.4898 43.5917V43.8417H46.7398V43.5917H46.4898ZM46.4898 42.7023H46.7398V42.4523H46.4898V42.7023ZM45.6005 42.7023V42.4523H45.3505V42.7023H45.6005ZM26.0391 46.2599H25.7891V46.5099H26.0391V46.2599ZM26.9284 46.2599V46.5099H27.1784V46.2599H26.9284ZM26.9284 45.3705H27.1784V45.1205H26.9284V45.3705ZM26.0386 43.5917V43.3417H25.7886V43.5917H26.0386ZM26.0386 44.4811H25.7886V44.7311H26.0386V44.4811ZM26.928 44.4811V44.7311H27.178V44.4811H26.928ZM26.0386 44.4812V44.2312H25.7886V44.4812H26.0386ZM26.0386 45.3706H25.7886V45.6206H26.0386V45.3706ZM26.928 45.3706V45.6206H27.178V45.3706H26.928ZM45.6005 38.5066H46.4898V38.0066H45.6005V38.5066ZM46.7398 38.2566V37.3672H46.2398V38.2566H46.7398ZM46.4898 37.1172H45.6005V37.6172H46.4898V37.1172ZM45.3505 37.3672V38.2566H45.8505V37.3672H45.3505ZM45.6005 39.3968H46.4898V38.8968H45.6005V39.3968ZM46.7398 39.1468V38.2571H46.2398V39.1468H46.7398ZM46.4898 38.0071H45.6005V38.5071H46.4898V38.0071ZM45.3505 38.2571V39.1468H45.8505V38.2571H45.3505ZM45.6005 43.8417H46.4898V43.3417H45.6005V43.8417ZM46.7398 43.5917V42.7023H46.2398V43.5917H46.7398ZM46.4898 42.4523H45.6005V42.9523H46.4898V42.4523ZM45.3505 42.7023V43.5917H45.8505V42.7023H45.3505ZM25.7891 45.3705V46.2599H26.2891V45.3705H25.7891ZM26.0391 46.5099H26.9284V46.0099H26.0391V46.5099ZM27.1784 46.2599V45.3705H26.6784V46.2599H27.1784ZM26.9284 45.1205H26.0391V45.6205H26.9284V45.1205ZM26.928 43.3417H26.0386V43.8417H26.928V43.3417ZM25.7886 43.5917V44.4811H26.2886V43.5917H25.7886ZM26.0386 44.7311H26.928V44.2311H26.0386V44.7311ZM27.178 44.4811V43.5917H26.678V44.4811H27.178ZM26.928 44.2312H26.0386V44.7312H26.928V44.2312ZM25.7886 44.4812V45.3706H26.2886V44.4812H25.7886ZM26.0386 45.6206H26.928V45.1206H26.0386V45.6206ZM27.178 45.3706V44.4812H26.678V45.3706H27.178Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.928 45.3704V46.2598H27.8174V45.3704H26.928V45.3704ZM27.8174 45.3704V46.2598H28.7068V45.3704H27.8174ZM44.7113 44.481H45.6007V43.5916H44.7113V44.481V44.481ZM38.4868 39.1466H39.3762V38.2568H38.4868V39.1466V39.1466ZM26.928 40.9242H26.0386V41.8136H26.928V40.9242V40.9242Z" fill="white"/> +<path d="M26.928 46.2598H26.678V46.5098H26.928V46.2598ZM27.8174 46.2598V46.5098H28.0674V46.2598H27.8174ZM27.8174 45.3704H28.0674V45.1204H27.8174V45.3704ZM27.8174 45.3704V45.1204H27.5674V45.3704H27.8174ZM27.8174 46.2598H27.5674V46.5098H27.8174V46.2598ZM28.7068 46.2598V46.5098H28.9568V46.2598H28.7068ZM28.7068 45.3704H28.9568V45.1204H28.7068V45.3704ZM45.6007 44.481V44.731H45.8507V44.481H45.6007ZM45.6007 43.5916H45.8507V43.3416H45.6007V43.5916ZM44.7113 43.5916V43.3416H44.4613V43.5916H44.7113ZM39.3762 39.1466V39.3966H39.6262V39.1466H39.3762ZM39.3762 38.2568H39.6262V38.0068H39.3762V38.2568ZM38.4868 38.2568V38.0068H38.2368V38.2568H38.4868ZM26.0386 40.9242V40.6742H25.7886V40.9242H26.0386ZM26.0386 41.8136H25.7886V42.0636H26.0386V41.8136ZM26.928 41.8136V42.0636H27.178V41.8136H26.928ZM26.678 45.3704V46.2598H27.178V45.3704H26.678ZM26.928 46.5098H27.8174V46.0098H26.928V46.5098ZM28.0674 46.2598V45.3704H27.5674V46.2598H28.0674ZM27.8174 45.1204H26.928V45.6204H27.8174V45.1204ZM27.5674 45.3704V46.2598H28.0674V45.3704H27.5674ZM27.8174 46.5098H28.7068V46.0098H27.8174V46.5098ZM28.9568 46.2598V45.3704H28.4568V46.2598H28.9568ZM28.7068 45.1204H27.8174V45.6204H28.7068V45.1204ZM44.7113 44.731H45.6007V44.231H44.7113V44.731ZM45.8507 44.481V43.5916H45.3507V44.481H45.8507ZM45.6007 43.3416H44.7113V43.8416H45.6007V43.3416ZM44.4613 43.5916V44.481H44.9613V43.5916H44.4613ZM38.4868 39.3966H39.3762V38.8966H38.4868V39.3966ZM39.6262 39.1466V38.2568H39.1262V39.1466H39.6262ZM39.3762 38.0068H38.4868V38.5068H39.3762V38.0068ZM38.2368 38.2568V39.1466H38.7368V38.2568H38.2368ZM26.928 40.6742H26.0386V41.1742H26.928V40.6742ZM25.7886 40.9242V41.8136H26.2886V40.9242H25.7886ZM26.0386 42.0636H26.928V41.5636H26.0386V42.0636ZM27.178 41.8136V40.9242H26.678V41.8136H27.178Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.928 41.8136H26.0386V42.703H26.928V41.8136V41.8136ZM26.928 42.7031H26.0386V43.5924H26.928V42.7031V42.7031ZM39.3757 45.3708V46.2602H40.2651V45.3708H39.3757V45.3708ZM34.0416 45.3708V46.2602H34.931V45.3708H34.0416ZM26.928 40.0353H26.0386V40.9247H26.928V40.0353V40.0353ZM35.8195 24.031V23.1416H34.9305V24.031H35.8195ZM41.1545 24.031V23.1416H40.2651V24.031H41.1545ZM40.2651 24.031V23.1416H39.3757V24.031H40.2651ZM38.4868 24.031V23.1416H37.5974V24.031H38.4868V24.031ZM36.7085 24.031V23.1416H35.8195V24.031H36.7085Z" fill="white"/> +<path d="M26.0386 41.8136V41.5636H25.7886V41.8136H26.0386ZM26.0386 42.703H25.7886V42.953H26.0386V42.703ZM26.928 42.703V42.953H27.178V42.703H26.928ZM26.0386 42.7031V42.4531H25.7886V42.7031H26.0386ZM26.0386 43.5924H25.7886V43.8424H26.0386V43.5924ZM26.928 43.5924V43.8424H27.178V43.5924H26.928ZM39.3757 46.2602H39.1257V46.5102H39.3757V46.2602ZM40.2651 46.2602V46.5102H40.5151V46.2602H40.2651ZM40.2651 45.3708H40.5151V45.1208H40.2651V45.3708ZM34.0416 45.3708V45.1208H33.7916V45.3708H34.0416ZM34.0416 46.2602H33.7916V46.5102H34.0416V46.2602ZM34.931 46.2602V46.5102H35.181V46.2602H34.931ZM34.931 45.3708H35.181V45.1208H34.931V45.3708ZM26.0386 40.0353V39.7853H25.7886V40.0353H26.0386ZM26.0386 40.9247H25.7886V41.1747H26.0386V40.9247ZM26.928 40.9247V41.1747H27.178V40.9247H26.928ZM35.8195 24.031V24.281H36.0695V24.031H35.8195ZM35.8195 23.1416H36.0695V22.8916H35.8195V23.1416ZM34.9305 23.1416V22.8916H34.6805V23.1416H34.9305ZM34.9305 24.031H34.6805V24.281H34.9305V24.031ZM41.1545 24.031V24.281H41.4045V24.031H41.1545ZM41.1545 23.1416H41.4045V22.8916H41.1545V23.1416ZM40.2651 23.1416V22.8916H40.0151V23.1416H40.2651ZM40.2651 24.031H40.0151V24.281H40.2651V24.031ZM40.2651 24.031V24.281H40.5151V24.031H40.2651ZM40.2651 23.1416H40.5151V22.8916H40.2651V23.1416ZM39.3757 23.1416V22.8916H39.1257V23.1416H39.3757ZM39.3757 24.031H39.1257V24.281H39.3757V24.031ZM38.4868 23.1416H38.7368V22.8916H38.4868V23.1416ZM37.5974 23.1416V22.8916H37.3474V23.1416H37.5974ZM37.5974 24.031H37.3474V24.281H37.5974V24.031ZM36.7085 24.031V24.281H36.9585V24.031H36.7085ZM36.7085 23.1416H36.9585V22.8916H36.7085V23.1416ZM35.8195 23.1416V22.8916H35.5695V23.1416H35.8195ZM35.8195 24.031H35.5695V24.281H35.8195V24.031ZM26.928 41.5636H26.0386V42.0636H26.928V41.5636ZM25.7886 41.8136V42.703H26.2886V41.8136H25.7886ZM26.0386 42.953H26.928V42.453H26.0386V42.953ZM27.178 42.703V41.8136H26.678V42.703H27.178ZM26.928 42.4531H26.0386V42.9531H26.928V42.4531ZM25.7886 42.7031V43.5924H26.2886V42.7031H25.7886ZM26.0386 43.8424H26.928V43.3424H26.0386V43.8424ZM27.178 43.5924V42.7031H26.678V43.5924H27.178ZM39.1257 45.3708V46.2602H39.6257V45.3708H39.1257ZM39.3757 46.5102H40.2651V46.0102H39.3757V46.5102ZM40.5151 46.2602V45.3708H40.0151V46.2602H40.5151ZM40.2651 45.1208H39.3757V45.6208H40.2651V45.1208ZM33.7916 45.3708V46.2602H34.2916V45.3708H33.7916ZM34.0416 46.5102H34.931V46.0102H34.0416V46.5102ZM35.181 46.2602V45.3708H34.681V46.2602H35.181ZM34.931 45.1208H34.0416V45.6208H34.931V45.1208ZM26.928 39.7853H26.0386V40.2853H26.928V39.7853ZM25.7886 40.0353V40.9247H26.2886V40.0353H25.7886ZM26.0386 41.1747H26.928V40.6747H26.0386V41.1747ZM27.178 40.9247V40.0353H26.678V40.9247H27.178ZM36.0695 24.031V23.1416H35.5695V24.031H36.0695ZM35.8195 22.8916H34.9305V23.3916H35.8195V22.8916ZM34.6805 23.1416V24.031H35.1805V23.1416H34.6805ZM34.9305 24.281H35.8195V23.781H34.9305V24.281ZM41.4045 24.031V23.1416H40.9045V24.031H41.4045ZM41.1545 22.8916H40.2651V23.3916H41.1545V22.8916ZM40.0151 23.1416V24.031H40.5151V23.1416H40.0151ZM40.2651 24.281H41.1545V23.781H40.2651V24.281ZM40.5151 24.031V23.1416H40.0151V24.031H40.5151ZM40.2651 22.8916H39.3757V23.3916H40.2651V22.8916ZM39.1257 23.1416V24.031H39.6257V23.1416H39.1257ZM39.3757 24.281H40.2651V23.781H39.3757V24.281ZM38.7368 24.031V23.1416H38.2368V24.031H38.7368ZM38.4868 22.8916H37.5974V23.3916H38.4868V22.8916ZM37.3474 23.1416V24.031H37.8474V23.1416H37.3474ZM37.5974 24.281H38.4868V23.781H37.5974V24.281ZM36.9585 24.031V23.1416H36.4585V24.031H36.9585ZM36.7085 22.8916H35.8195V23.3916H36.7085V22.8916ZM35.5695 23.1416V24.031H36.0695V23.1416H35.5695ZM35.8195 24.281H36.7085V23.781H35.8195V24.281Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M37.5969 24.031V23.1417H36.7075V24.031H37.5969ZM39.3755 24.031V23.1416H38.4861V24.031H39.3755V24.031ZM47.3783 24.031V23.1416H46.4889V24.031H47.3783ZM44.711 24.031V23.1416H43.8217V24.031H44.711V24.031Z" fill="white"/> +<path d="M37.5969 24.031V24.281H37.8469V24.031H37.5969ZM37.5969 23.1417H37.8469V22.8917H37.5969V23.1417ZM36.7075 23.1417V22.8917H36.4575V23.1417H36.7075ZM36.7075 24.031H36.4575V24.281H36.7075V24.031ZM39.3755 23.1416H39.6255V22.8916H39.3755V23.1416ZM38.4861 23.1416V22.8916H38.2361V23.1416H38.4861ZM38.4861 24.031H38.2361V24.281H38.4861V24.031ZM47.3783 24.031V24.281H47.6283V24.031H47.3783ZM47.3783 23.1416H47.6283V22.8916H47.3783V23.1416ZM46.4889 23.1416V22.8916H46.2389V23.1416H46.4889ZM46.4889 24.031H46.2389V24.281H46.4889V24.031ZM44.711 23.1416H44.961V22.8916H44.711V23.1416ZM43.8217 23.1416V22.8916H43.5717V23.1416H43.8217ZM43.8217 24.031H43.5717V24.281H43.8217V24.031ZM37.8469 24.031V23.1417H37.3469V24.031H37.8469ZM37.5969 22.8917H36.7075V23.3917H37.5969V22.8917ZM36.4575 23.1417V24.031H36.9575V23.1417H36.4575ZM36.7075 24.281H37.5969V23.781H36.7075V24.281ZM39.6255 24.031V23.1416H39.1255V24.031H39.6255ZM39.3755 22.8916H38.4861V23.3916H39.3755V22.8916ZM38.2361 23.1416V24.031H38.7361V23.1416H38.2361ZM38.4861 24.281H39.3755V23.781H38.4861V24.281ZM47.6283 24.031V23.1416H47.1283V24.031H47.6283ZM47.3783 22.8916H46.4889V23.3916H47.3783V22.8916ZM46.2389 23.1416V24.031H46.7389V23.1416H46.2389ZM46.4889 24.281H47.3783V23.781H46.4889V24.281ZM44.961 24.031V23.1416H44.461V24.031H44.961ZM44.711 22.8916H43.8217V23.3916H44.711V22.8916ZM43.5717 23.1416V24.031H44.0717V23.1416H43.5717ZM43.8217 24.281H44.711V23.781H43.8217V24.281Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M46.4896 24.031V23.1416H45.6002V24.031H46.4896ZM43.8216 24.031V23.1416H42.9323V24.031H43.8216V24.031ZM45.6002 24.031V23.1416H44.7108V24.031H45.6002ZM29.5954 24.031V23.1417H28.7061V24.031H29.5954ZM34.9302 24.031V23.1416H34.0408V24.031H34.9302Z" fill="white"/> +<path d="M46.4896 24.031V24.281H46.7396V24.031H46.4896ZM46.4896 23.1416H46.7396V22.8916H46.4896V23.1416ZM45.6002 23.1416V22.8916H45.3502V23.1416H45.6002ZM45.6002 24.031H45.3502V24.281H45.6002V24.031ZM43.8216 23.1416H44.0716V22.8916H43.8216V23.1416ZM42.9323 23.1416V22.8916H42.6823V23.1416H42.9323ZM42.9323 24.031H42.6823V24.281H42.9323V24.031ZM45.6002 24.031V24.281H45.8502V24.031H45.6002ZM45.6002 23.1416H45.8502V22.8916H45.6002V23.1416ZM44.7108 23.1416V22.8916H44.4608V23.1416H44.7108ZM44.7108 24.031H44.4608V24.281H44.7108V24.031ZM29.5954 24.031V24.281H29.8454V24.031H29.5954ZM29.5954 23.1417H29.8454V22.8917H29.5954V23.1417ZM28.7061 23.1417V22.8917H28.4561V23.1417H28.7061ZM28.7061 24.031H28.4561V24.281H28.7061V24.031ZM34.9302 24.031V24.281H35.1802V24.031H34.9302ZM34.9302 23.1416H35.1802V22.8916H34.9302V23.1416ZM34.0408 23.1416V22.8916H33.7908V23.1416H34.0408ZM34.0408 24.031H33.7908V24.281H34.0408V24.031ZM46.7396 24.031V23.1416H46.2396V24.031H46.7396ZM46.4896 22.8916H45.6002V23.3916H46.4896V22.8916ZM45.3502 23.1416V24.031H45.8502V23.1416H45.3502ZM45.6002 24.281H46.4896V23.781H45.6002V24.281ZM44.0716 24.031V23.1416H43.5716V24.031H44.0716ZM43.8216 22.8916H42.9323V23.3916H43.8216V22.8916ZM42.6823 23.1416V24.031H43.1823V23.1416H42.6823ZM42.9323 24.281H43.8216V23.781H42.9323V24.281ZM45.8502 24.031V23.1416H45.3502V24.031H45.8502ZM45.6002 22.8916H44.7108V23.3916H45.6002V22.8916ZM44.4608 23.1416V24.031H44.9608V23.1416H44.4608ZM44.7108 24.281H45.6002V23.781H44.7108V24.281ZM29.8454 24.031V23.1417H29.3454V24.031H29.8454ZM29.5954 22.8917H28.7061V23.3917H29.5954V22.8917ZM28.4561 23.1417V24.031H28.9561V23.1417H28.4561ZM28.7061 24.281H29.5954V23.781H28.7061V24.281ZM35.1802 24.031V23.1416H34.6802V24.031H35.1802ZM34.9302 22.8916H34.0408V23.3916H34.9302V22.8916ZM33.7908 23.1416V24.031H34.2908V23.1416H33.7908ZM34.0408 24.281H34.9302V23.781H34.0408V24.281Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9328 24.031V23.1417H42.0435V24.031H42.9328V24.031ZM48.268 24.031V23.1416H47.3787V24.031H48.268V24.031ZM47.3787 40.0352H48.268V39.1466H47.3787V40.0352ZM47.3787 38.2569H48.268V37.3675H47.3787V38.2569V38.2569ZM47.3787 35.5899H48.268V34.7005H47.3787V35.5899V35.5899ZM47.3787 36.4793H48.268V35.5899H47.3787V36.4793V36.4793Z" fill="white"/> +<path d="M42.9328 23.1417H43.1828V22.8917H42.9328V23.1417ZM42.0435 23.1417V22.8917H41.7935V23.1417H42.0435ZM42.0435 24.031H41.7935V24.281H42.0435V24.031ZM48.268 23.1416H48.518V22.8916H48.268V23.1416ZM47.3787 23.1416V22.8916H47.1287V23.1416H47.3787ZM47.3787 24.031H47.1287V24.281H47.3787V24.031ZM47.3787 40.0352H47.1287V40.2852H47.3787V40.0352ZM48.268 40.0352V40.2852H48.518V40.0352H48.268ZM48.268 39.1466H48.518V38.8966H48.268V39.1466ZM47.3787 39.1466V38.8966H47.1287V39.1466H47.3787ZM48.268 38.2569V38.5069H48.518V38.2569H48.268ZM48.268 37.3675H48.518V37.1175H48.268V37.3675ZM47.3787 37.3675V37.1175H47.1287V37.3675H47.3787ZM48.268 35.5899V35.8399H48.518V35.5899H48.268ZM48.268 34.7005H48.518V34.4505H48.268V34.7005ZM47.3787 34.7005V34.4505H47.1287V34.7005H47.3787ZM48.268 36.4793V36.7293H48.518V36.4793H48.268ZM48.268 35.5899H48.518V35.3399H48.268V35.5899ZM47.3787 35.5899V35.3399H47.1287V35.5899H47.3787ZM43.1828 24.031V23.1417H42.6828V24.031H43.1828ZM42.9328 22.8917H42.0435V23.3917H42.9328V22.8917ZM41.7935 23.1417V24.031H42.2935V23.1417H41.7935ZM42.0435 24.281H42.9328V23.781H42.0435V24.281ZM48.518 24.031V23.1416H48.018V24.031H48.518ZM48.268 22.8916H47.3787V23.3916H48.268V22.8916ZM47.1287 23.1416V24.031H47.6287V23.1416H47.1287ZM47.3787 24.281H48.268V23.781H47.3787V24.281ZM47.3787 40.2852H48.268V39.7852H47.3787V40.2852ZM48.518 40.0352V39.1466H48.018V40.0352H48.518ZM48.268 38.8966H47.3787V39.3966H48.268V38.8966ZM47.1287 39.1466V40.0352H47.6287V39.1466H47.1287ZM47.3787 38.5069H48.268V38.0069H47.3787V38.5069ZM48.518 38.2569V37.3675H48.018V38.2569H48.518ZM48.268 37.1175H47.3787V37.6175H48.268V37.1175ZM47.1287 37.3675V38.2569H47.6287V37.3675H47.1287ZM47.3787 35.8399H48.268V35.3399H47.3787V35.8399ZM48.518 35.5899V34.7005H48.018V35.5899H48.518ZM48.268 34.4505H47.3787V34.9505H48.268V34.4505ZM47.1287 34.7005V35.5899H47.6287V34.7005H47.1287ZM47.3787 36.7293H48.268V36.2293H47.3787V36.7293ZM48.518 36.4793V35.5899H48.018V36.4793H48.518ZM48.268 35.3399H47.3787V35.8399H48.268V35.3399ZM47.1287 35.5899V36.4793H47.6287V35.5899H47.1287Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M47.3784 37.3671H48.2678V36.4785H47.3784V37.3671ZM47.3784 45.37H48.2678V44.4806H47.3784V45.37ZM47.3784 44.4806H48.2678V43.5912H47.3784V44.4806ZM47.3784 42.7022H48.2678V41.8128H47.3784V42.7022V42.7022Z" fill="white"/> +<path d="M47.3784 37.3671H47.1284V37.6171H47.3784V37.3671ZM48.2678 37.3671V37.6171H48.5178V37.3671H48.2678ZM48.2678 36.4785H48.5178V36.2285H48.2678V36.4785ZM47.3784 36.4785V36.2285H47.1284V36.4785H47.3784ZM47.3784 45.37H47.1284V45.62H47.3784V45.37ZM48.2678 45.37V45.62H48.5178V45.37H48.2678ZM48.2678 44.4806H48.5178V44.2306H48.2678V44.4806ZM47.3784 44.4806V44.2306H47.1284V44.4806H47.3784ZM47.3784 44.4806H47.1284V44.7306H47.3784V44.4806ZM48.2678 44.4806V44.7306H48.5178V44.4806H48.2678ZM48.2678 43.5912H48.5178V43.3412H48.2678V43.5912ZM47.3784 43.5912V43.3412H47.1284V43.5912H47.3784ZM48.2678 42.7022V42.9522H48.5178V42.7022H48.2678ZM48.2678 41.8128H48.5178V41.5628H48.2678V41.8128ZM47.3784 41.8128V41.5628H47.1284V41.8128H47.3784ZM47.3784 37.6171H48.2678V37.1171H47.3784V37.6171ZM48.5178 37.3671V36.4785H48.0178V37.3671H48.5178ZM48.2678 36.2285H47.3784V36.7285H48.2678V36.2285ZM47.1284 36.4785V37.3671H47.6284V36.4785H47.1284ZM47.3784 45.62H48.2678V45.12H47.3784V45.62ZM48.5178 45.37V44.4806H48.0178V45.37H48.5178ZM48.2678 44.2306H47.3784V44.7306H48.2678V44.2306ZM47.1284 44.4806V45.37H47.6284V44.4806H47.1284ZM47.3784 44.7306H48.2678V44.2306H47.3784V44.7306ZM48.5178 44.4806V43.5912H48.0178V44.4806H48.5178ZM48.2678 43.3412H47.3784V43.8412H48.2678V43.3412ZM47.1284 43.5912V44.4806H47.6284V43.5912H47.1284ZM47.3784 42.9522H48.2678V42.4522H47.3784V42.9522ZM48.5178 42.7022V41.8128H48.0178V42.7022H48.5178ZM48.2678 41.5628H47.3784V42.0628H48.2678V41.5628ZM47.1284 41.8128V42.7022H47.6284V41.8128H47.1284Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M47.3784 43.5923H48.2678V42.7029H47.3784V43.5923V43.5923ZM47.3784 39.1472H48.2678V38.2574H47.3784V39.1472ZM47.3784 26.6986H48.2678V25.8096H47.3784V26.6986ZM47.3784 27.5879H48.2678V26.6985H47.3784V27.5879ZM47.3784 29.3659H48.2678V28.4766H47.3784V29.3659V29.3659Z" fill="white"/> +<path d="M48.2678 43.5923V43.8423H48.5178V43.5923H48.2678ZM48.2678 42.7029H48.5178V42.4529H48.2678V42.7029ZM47.3784 42.7029V42.4529H47.1284V42.7029H47.3784ZM47.3784 39.1472H47.1284V39.3972H47.3784V39.1472ZM48.2678 39.1472V39.3972H48.5178V39.1472H48.2678ZM48.2678 38.2574H48.5178V38.0074H48.2678V38.2574ZM47.3784 38.2574V38.0074H47.1284V38.2574H47.3784ZM47.3784 26.6986H47.1284V26.9486H47.3784V26.6986ZM48.2678 26.6986V26.9486H48.5178V26.6986H48.2678ZM48.2678 25.8096H48.5178V25.5596H48.2678V25.8096ZM47.3784 25.8096V25.5596H47.1284V25.8096H47.3784ZM47.3784 27.5879H47.1284V27.8379H47.3784V27.5879ZM48.2678 27.5879V27.8379H48.5178V27.5879H48.2678ZM48.2678 26.6985H48.5178V26.4485H48.2678V26.6985ZM47.3784 26.6985V26.4485H47.1284V26.6985H47.3784ZM48.2678 29.3659V29.6159H48.5178V29.3659H48.2678ZM48.2678 28.4766H48.5178V28.2266H48.2678V28.4766ZM47.3784 28.4766V28.2266H47.1284V28.4766H47.3784ZM47.3784 43.8423H48.2678V43.3423H47.3784V43.8423ZM48.5178 43.5923V42.7029H48.0178V43.5923H48.5178ZM48.2678 42.4529H47.3784V42.9529H48.2678V42.4529ZM47.1284 42.7029V43.5923H47.6284V42.7029H47.1284ZM47.3784 39.3972H48.2678V38.8972H47.3784V39.3972ZM48.5178 39.1472V38.2574H48.0178V39.1472H48.5178ZM48.2678 38.0074H47.3784V38.5074H48.2678V38.0074ZM47.1284 38.2574V39.1472H47.6284V38.2574H47.1284ZM47.3784 26.9486H48.2678V26.4486H47.3784V26.9486ZM48.5178 26.6986V25.8096H48.0178V26.6986H48.5178ZM48.2678 25.5596H47.3784V26.0596H48.2678V25.5596ZM47.1284 25.8096V26.6986H47.6284V25.8096H47.1284ZM47.3784 27.8379H48.2678V27.3379H47.3784V27.8379ZM48.5178 27.5879V26.6985H48.0178V27.5879H48.5178ZM48.2678 26.4485H47.3784V26.9485H48.2678V26.4485ZM47.1284 26.6985V27.5879H47.6284V26.6985H47.1284ZM47.3784 29.6159H48.2678V29.1159H47.3784V29.6159ZM48.5178 29.3659V28.4766H48.0178V29.3659H48.5178ZM48.2678 28.2266H47.3784V28.7266H48.2678V28.2266ZM47.1284 28.4766V29.3659H47.6284V28.4766H47.1284Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M47.3784 28.4764H48.2678V27.5874H47.3784V28.4764ZM47.3784 24.9197H48.2678V24.0303H47.3784V24.9197V24.9197Z" fill="white"/> +<path d="M47.3784 28.4764H47.1284V28.7264H47.3784V28.4764ZM48.2678 28.4764V28.7264H48.5178V28.4764H48.2678ZM48.2678 27.5874H48.5178V27.3374H48.2678V27.5874ZM47.3784 27.5874V27.3374H47.1284V27.5874H47.3784ZM48.2678 24.9197V25.1697H48.5178V24.9197H48.2678ZM48.2678 24.0303H48.5178V23.7803H48.2678V24.0303ZM47.3784 24.0303V23.7803H47.1284V24.0303H47.3784ZM47.3784 28.7264H48.2678V28.2264H47.3784V28.7264ZM48.5178 28.4764V27.5874H48.0178V28.4764H48.5178ZM48.2678 27.3374H47.3784V27.8374H48.2678V27.3374ZM47.1284 27.5874V28.4764H47.6284V27.5874H47.1284ZM47.3784 25.1697H48.2678V24.6697H47.3784V25.1697ZM48.5178 24.9197V24.0303H48.0178V24.9197H48.5178ZM48.2678 23.7803H47.3784V24.2803H48.2678V23.7803ZM47.1284 24.0303V24.9197H47.6284V24.0303H47.1284Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M47.3784 25.8093H48.2678V24.9199H47.3784V25.8093ZM47.3784 31.144H48.2678V30.2546H47.3784V31.144V31.144ZM47.3784 33.8114H48.2678V32.9224H47.3784V33.8114ZM47.3784 32.9225H48.2678V32.0331H47.3784V32.9225Z" fill="white"/> +<path d="M47.3784 25.8093H47.1284V26.0593H47.3784V25.8093ZM48.2678 25.8093V26.0593H48.5178V25.8093H48.2678ZM48.2678 24.9199H48.5178V24.6699H48.2678V24.9199ZM47.3784 24.9199V24.6699H47.1284V24.9199H47.3784ZM48.2678 31.144V31.394H48.5178V31.144H48.2678ZM48.2678 30.2546H48.5178V30.0046H48.2678V30.2546ZM47.3784 30.2546V30.0046H47.1284V30.2546H47.3784ZM47.3784 33.8114H47.1284V34.0614H47.3784V33.8114ZM48.2678 33.8114V34.0614H48.5178V33.8114H48.2678ZM48.2678 32.9224H48.5178V32.6724H48.2678V32.9224ZM47.3784 32.9224V32.6724H47.1284V32.9224H47.3784ZM47.3784 32.9225H47.1284V33.1725H47.3784V32.9225ZM48.2678 32.9225V33.1725H48.5178V32.9225H48.2678ZM48.2678 32.0331H48.5178V31.7831H48.2678V32.0331ZM47.3784 32.0331V31.7831H47.1284V32.0331H47.3784ZM47.3784 26.0593H48.2678V25.5593H47.3784V26.0593ZM48.5178 25.8093V24.9199H48.0178V25.8093H48.5178ZM48.2678 24.6699H47.3784V25.1699H48.2678V24.6699ZM47.1284 24.9199V25.8093H47.6284V24.9199H47.1284ZM47.3784 31.394H48.2678V30.894H47.3784V31.394ZM48.5178 31.144V30.2546H48.0178V31.144H48.5178ZM48.2678 30.0046H47.3784V30.5046H48.2678V30.0046ZM47.1284 30.2546V31.144H47.6284V30.2546H47.1284ZM47.3784 34.0614H48.2678V33.5614H47.3784V34.0614ZM48.5178 33.8114V32.9224H48.0178V33.8114H48.5178ZM48.2678 32.6724H47.3784V33.1724H48.2678V32.6724ZM47.1284 32.9224V33.8114H47.6284V32.9224H47.1284ZM47.3784 33.1725H48.2678V32.6725H47.3784V33.1725ZM48.5178 32.9225V32.0331H48.0178V32.9225H48.5178ZM48.2678 31.7831H47.3784V32.2831H48.2678V31.7831ZM47.1284 32.0331V32.9225H47.6284V32.0331H47.1284Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M47.3784 30.2546H48.2678V29.3652H47.3784V30.2546V30.2546ZM47.3784 34.6999H48.2678V33.8105H47.3784V34.6999ZM47.3784 32.0327H48.2678V31.1437H47.3784V32.0327ZM47.3784 47.1487H48.2678V46.2593H47.3784V47.1487V47.1487ZM44.7113 48.0377V48.927H45.6007V48.0377H44.7113V48.0377ZM24.2605 40.0347H23.3711V40.9241H24.2605V40.0347ZM24.2605 40.9241H23.3711V41.8135H24.2605V40.9241ZM24.2605 44.4808H23.3711V45.3702H24.2605V44.4808ZM24.2605 43.5914H23.3711V44.4808H24.2605V43.5914V43.5914Z" fill="white"/> +<path d="M48.2678 30.2546V30.5046H48.5178V30.2546H48.2678ZM48.2678 29.3652H48.5178V29.1152H48.2678V29.3652ZM47.3784 29.3652V29.1152H47.1284V29.3652H47.3784ZM47.3784 34.6999H47.1284V34.9499H47.3784V34.6999ZM48.2678 34.6999V34.9499H48.5178V34.6999H48.2678ZM48.2678 33.8105H48.5178V33.5605H48.2678V33.8105ZM47.3784 33.8105V33.5605H47.1284V33.8105H47.3784ZM47.3784 32.0327H47.1284V32.2827H47.3784V32.0327ZM48.2678 32.0327V32.2827H48.5178V32.0327H48.2678ZM48.2678 31.1437H48.5178V30.8937H48.2678V31.1437ZM47.3784 31.1437V30.8937H47.1284V31.1437H47.3784ZM48.2678 47.1487V47.3987H48.5178V47.1487H48.2678ZM48.2678 46.2593H48.5178V46.0093H48.2678V46.2593ZM47.3784 46.2593V46.0093H47.1284V46.2593H47.3784ZM44.7113 48.927H44.4613V49.177H44.7113V48.927ZM45.6007 48.927V49.177H45.8507V48.927H45.6007ZM45.6007 48.0377H45.8507V47.7877H45.6007V48.0377ZM24.2605 40.0347H24.5105V39.7847H24.2605V40.0347ZM23.3711 40.0347V39.7847H23.1211V40.0347H23.3711ZM23.3711 40.9241H23.1211V41.1741H23.3711V40.9241ZM24.2605 40.9241V41.1741H24.5105V40.9241H24.2605ZM24.2605 40.9241H24.5105V40.6741H24.2605V40.9241ZM23.3711 40.9241V40.6741H23.1211V40.9241H23.3711ZM23.3711 41.8135H23.1211V42.0635H23.3711V41.8135ZM24.2605 41.8135V42.0635H24.5105V41.8135H24.2605ZM24.2605 44.4808H24.5105V44.2308H24.2605V44.4808ZM23.3711 44.4808V44.2308H23.1211V44.4808H23.3711ZM23.3711 45.3702H23.1211V45.6202H23.3711V45.3702ZM24.2605 45.3702V45.6202H24.5105V45.3702H24.2605ZM23.3711 43.5914V43.3414H23.1211V43.5914H23.3711ZM23.3711 44.4808H23.1211V44.7308H23.3711V44.4808ZM24.2605 44.4808V44.7308H24.5105V44.4808H24.2605ZM47.3784 30.5046H48.2678V30.0046H47.3784V30.5046ZM48.5178 30.2546V29.3652H48.0178V30.2546H48.5178ZM48.2678 29.1152H47.3784V29.6152H48.2678V29.1152ZM47.1284 29.3652V30.2546H47.6284V29.3652H47.1284ZM47.3784 34.9499H48.2678V34.4499H47.3784V34.9499ZM48.5178 34.6999V33.8105H48.0178V34.6999H48.5178ZM48.2678 33.5605H47.3784V34.0605H48.2678V33.5605ZM47.1284 33.8105V34.6999H47.6284V33.8105H47.1284ZM47.3784 32.2827H48.2678V31.7827H47.3784V32.2827ZM48.5178 32.0327V31.1437H48.0178V32.0327H48.5178ZM48.2678 30.8937H47.3784V31.3937H48.2678V30.8937ZM47.1284 31.1437V32.0327H47.6284V31.1437H47.1284ZM47.3784 47.3987H48.2678V46.8987H47.3784V47.3987ZM48.5178 47.1487V46.2593H48.0178V47.1487H48.5178ZM48.2678 46.0093H47.3784V46.5093H48.2678V46.0093ZM47.1284 46.2593V47.1487H47.6284V46.2593H47.1284ZM44.4613 48.0377V48.927H44.9613V48.0377H44.4613ZM44.7113 49.177H45.6007V48.677H44.7113V49.177ZM45.8507 48.927V48.0377H45.3507V48.927H45.8507ZM45.6007 47.7877H44.7113V48.2877H45.6007V47.7877ZM24.2605 39.7847H23.3711V40.2847H24.2605V39.7847ZM23.1211 40.0347V40.9241H23.6211V40.0347H23.1211ZM23.3711 41.1741H24.2605V40.6741H23.3711V41.1741ZM24.5105 40.9241V40.0347H24.0105V40.9241H24.5105ZM24.2605 40.6741H23.3711V41.1741H24.2605V40.6741ZM23.1211 40.9241V41.8135H23.6211V40.9241H23.1211ZM23.3711 42.0635H24.2605V41.5635H23.3711V42.0635ZM24.5105 41.8135V40.9241H24.0105V41.8135H24.5105ZM24.2605 44.2308H23.3711V44.7308H24.2605V44.2308ZM23.1211 44.4808V45.3702H23.6211V44.4808H23.1211ZM23.3711 45.6202H24.2605V45.1202H23.3711V45.6202ZM24.5105 45.3702V44.4808H24.0105V45.3702H24.5105ZM24.2605 43.3414H23.3711V43.8414H24.2605V43.3414ZM23.1211 43.5914V44.4808H23.6211V43.5914H23.1211ZM23.3711 44.7308H24.2605V44.2308H23.3711V44.7308ZM24.5105 44.4808V43.5914H24.0105V44.4808H24.5105Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M24.2605 42.7031H23.3711V43.5925H24.2605V42.7031V42.7031ZM24.2605 45.3709H23.3711V46.2603H24.2605V45.3709Z" fill="white"/> +<path d="M23.3711 42.7031V42.4531H23.1211V42.7031H23.3711ZM23.3711 43.5925H23.1211V43.8425H23.3711V43.5925ZM24.2605 43.5925V43.8425H24.5105V43.5925H24.2605ZM24.2605 45.3709H24.5105V45.1209H24.2605V45.3709ZM23.3711 45.3709V45.1209H23.1211V45.3709H23.3711ZM23.3711 46.2603H23.1211V46.5103H23.3711V46.2603ZM24.2605 46.2603V46.5103H24.5105V46.2603H24.2605ZM24.2605 42.4531H23.3711V42.9531H24.2605V42.4531ZM23.1211 42.7031V43.5925H23.6211V42.7031H23.1211ZM23.3711 43.8425H24.2605V43.3425H23.3711V43.8425ZM24.5105 43.5925V42.7031H24.0105V43.5925H24.5105ZM24.2605 45.1209H23.3711V45.6209H24.2605V45.1209ZM23.1211 45.3709V46.2603H23.6211V45.3709H23.1211ZM23.3711 46.5103H24.2605V46.0103H23.3711V46.5103ZM24.5105 46.2603V45.3709H24.0105V46.2603H24.5105Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M24.2605 46.2598H23.3711V47.1491H24.2605V46.2598Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M24.2605 47.1489H23.3711V48.0383H24.2605V47.1489V47.1489ZM24.2605 39.1469H23.3711V40.0355H24.2605V39.1469ZM24.2605 41.8133H23.3711V42.7027H24.2605V41.8133V41.8133ZM43.8216 24.9197V24.0303H42.9323V24.9197H43.8216V24.9197ZM44.7113 24.9197V24.0303H43.8219V24.9197H44.7113V24.9197ZM40.265 24.9197V24.0303H39.3756V24.9197H40.265V24.9197ZM41.1544 24.9197V24.0303H40.265V24.9197H41.1544V24.9197ZM46.4896 26.6981H47.379V25.8091H46.4896V26.6981ZM46.4896 25.8092H47.379V24.9198H46.4896V25.8092Z" fill="white"/> +<path d="M23.3711 47.1489V46.8989H23.1211V47.1489H23.3711ZM23.3711 48.0383H23.1211V48.2883H23.3711V48.0383ZM24.2605 48.0383V48.2883H24.5105V48.0383H24.2605ZM24.2605 39.1469H24.5105V38.8969H24.2605V39.1469ZM23.3711 39.1469V38.8969H23.1211V39.1469H23.3711ZM23.3711 40.0355H23.1211V40.2855H23.3711V40.0355ZM24.2605 40.0355V40.2855H24.5105V40.0355H24.2605ZM23.3711 41.8133V41.5633H23.1211V41.8133H23.3711ZM23.3711 42.7027H23.1211V42.9527H23.3711V42.7027ZM24.2605 42.7027V42.9527H24.5105V42.7027H24.2605ZM43.8216 24.0303H44.0716V23.7803H43.8216V24.0303ZM42.9323 24.0303V23.7803H42.6823V24.0303H42.9323ZM42.9323 24.9197H42.6823V25.1697H42.9323V24.9197ZM44.7113 24.0303H44.9613V23.7803H44.7113V24.0303ZM43.8219 24.0303V23.7803H43.5719V24.0303H43.8219ZM43.8219 24.9197H43.5719V25.1697H43.8219V24.9197ZM40.265 24.0303H40.515V23.7803H40.265V24.0303ZM39.3756 24.0303V23.7803H39.1256V24.0303H39.3756ZM39.3756 24.9197H39.1256V25.1697H39.3756V24.9197ZM41.1544 24.0303H41.4044V23.7803H41.1544V24.0303ZM40.265 24.0303V23.7803H40.015V24.0303H40.265ZM40.265 24.9197H40.015V25.1697H40.265V24.9197ZM46.4896 26.6981H46.2396V26.9481H46.4896V26.6981ZM47.379 26.6981V26.9481H47.629V26.6981H47.379ZM47.379 25.8091H47.629V25.5591H47.379V25.8091ZM46.4896 25.8091V25.5591H46.2396V25.8091H46.4896ZM46.4896 25.8092H46.2396V26.0592H46.4896V25.8092ZM47.379 25.8092V26.0592H47.629V25.8092H47.379ZM47.379 24.9198H47.629V24.6698H47.379V24.9198ZM46.4896 24.9198V24.6698H46.2396V24.9198H46.4896ZM24.2605 46.8989H23.3711V47.3989H24.2605V46.8989ZM23.1211 47.1489V48.0383H23.6211V47.1489H23.1211ZM23.3711 48.2883H24.2605V47.7883H23.3711V48.2883ZM24.5105 48.0383V47.1489H24.0105V48.0383H24.5105ZM24.2605 38.8969H23.3711V39.3969H24.2605V38.8969ZM23.1211 39.1469V40.0355H23.6211V39.1469H23.1211ZM23.3711 40.2855H24.2605V39.7855H23.3711V40.2855ZM24.5105 40.0355V39.1469H24.0105V40.0355H24.5105ZM24.2605 41.5633H23.3711V42.0633H24.2605V41.5633ZM23.1211 41.8133V42.7027H23.6211V41.8133H23.1211ZM23.3711 42.9527H24.2605V42.4527H23.3711V42.9527ZM24.5105 42.7027V41.8133H24.0105V42.7027H24.5105ZM44.0716 24.9197V24.0303H43.5716V24.9197H44.0716ZM43.8216 23.7803H42.9323V24.2803H43.8216V23.7803ZM42.6823 24.0303V24.9197H43.1823V24.0303H42.6823ZM42.9323 25.1697H43.8216V24.6697H42.9323V25.1697ZM44.9613 24.9197V24.0303H44.4613V24.9197H44.9613ZM44.7113 23.7803H43.8219V24.2803H44.7113V23.7803ZM43.5719 24.0303V24.9197H44.0719V24.0303H43.5719ZM43.8219 25.1697H44.7113V24.6697H43.8219V25.1697ZM40.515 24.9197V24.0303H40.015V24.9197H40.515ZM40.265 23.7803H39.3756V24.2803H40.265V23.7803ZM39.1256 24.0303V24.9197H39.6256V24.0303H39.1256ZM39.3756 25.1697H40.265V24.6697H39.3756V25.1697ZM41.4044 24.9197V24.0303H40.9044V24.9197H41.4044ZM41.1544 23.7803H40.265V24.2803H41.1544V23.7803ZM40.015 24.0303V24.9197H40.515V24.0303H40.015ZM40.265 25.1697H41.1544V24.6697H40.265V25.1697ZM46.4896 26.9481H47.379V26.4481H46.4896V26.9481ZM47.629 26.6981V25.8091H47.129V26.6981H47.629ZM47.379 25.5591H46.4896V26.0591H47.379V25.5591ZM46.2396 25.8091V26.6981H46.7396V25.8091H46.2396ZM46.4896 26.0592H47.379V25.5592H46.4896V26.0592ZM47.629 25.8092V24.9198H47.129V25.8092H47.629ZM47.379 24.6698H46.4896V25.1698H47.379V24.6698ZM46.2396 24.9198V25.8092H46.7396V24.9198H46.2396Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3757 24.9197V24.0303H38.4863V24.9197H39.3757V24.9197ZM46.4896 28.4765H47.379V27.5875H46.4896V28.4765ZM46.4896 24.9197V24.0303H45.6002V24.9197H46.4896V24.9197Z" fill="white"/> +<path d="M39.3757 24.0303H39.6257V23.7803H39.3757V24.0303ZM38.4863 24.0303V23.7803H38.2363V24.0303H38.4863ZM38.4863 24.9197H38.2363V25.1697H38.4863V24.9197ZM46.4896 28.4765H46.2396V28.7265H46.4896V28.4765ZM47.379 28.4765V28.7265H47.629V28.4765H47.379ZM47.379 27.5875H47.629V27.3375H47.379V27.5875ZM46.4896 27.5875V27.3375H46.2396V27.5875H46.4896ZM46.4896 24.0303H46.7396V23.7803H46.4896V24.0303ZM45.6002 24.0303V23.7803H45.3502V24.0303H45.6002ZM45.6002 24.9197H45.3502V25.1697H45.6002V24.9197ZM39.6257 24.9197V24.0303H39.1257V24.9197H39.6257ZM39.3757 23.7803H38.4863V24.2803H39.3757V23.7803ZM38.2363 24.0303V24.9197H38.7363V24.0303H38.2363ZM38.4863 25.1697H39.3757V24.6697H38.4863V25.1697ZM46.4896 28.7265H47.379V28.2265H46.4896V28.7265ZM47.629 28.4765V27.5875H47.129V28.4765H47.629ZM47.379 27.3375H46.4896V27.8375H47.379V27.3375ZM46.2396 27.5875V28.4765H46.7396V27.5875H46.2396ZM46.7396 24.9197V24.0303H46.2396V24.9197H46.7396ZM46.4896 23.7803H45.6002V24.2803H46.4896V23.7803ZM45.3502 24.0303V24.9197H45.8502V24.0303H45.3502ZM45.6002 25.1697H46.4896V24.6697H45.6002V25.1697Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M47.3783 24.9197V24.0303H46.4889V24.9197H47.3783V24.9197ZM46.4894 27.5874H47.3788V26.6981H46.4894V27.5874ZM47.3783 48.0378H48.2677V47.1484H47.3783V48.0378V48.0378ZM37.5969 24.9197V24.0303H36.7075V24.9197H37.5969V24.9197Z" fill="white"/> +<path d="M47.3783 24.0303H47.6283V23.7803H47.3783V24.0303ZM46.4889 24.0303V23.7803H46.2389V24.0303H46.4889ZM46.4889 24.9197H46.2389V25.1697H46.4889V24.9197ZM46.4894 27.5874H46.2394V27.8374H46.4894V27.5874ZM47.3788 27.5874V27.8374H47.6288V27.5874H47.3788ZM47.3788 26.6981H47.6288V26.4481H47.3788V26.6981ZM46.4894 26.6981V26.4481H46.2394V26.6981H46.4894ZM48.2677 48.0378V48.2878H48.5177V48.0378H48.2677ZM48.2677 47.1484H48.5177V46.8984H48.2677V47.1484ZM47.3783 47.1484V46.8984H47.1283V47.1484H47.3783ZM37.5969 24.0303H37.8469V23.7803H37.5969V24.0303ZM36.7075 24.0303V23.7803H36.4575V24.0303H36.7075ZM36.7075 24.9197H36.4575V25.1697H36.7075V24.9197ZM47.6283 24.9197V24.0303H47.1283V24.9197H47.6283ZM47.3783 23.7803H46.4889V24.2803H47.3783V23.7803ZM46.2389 24.0303V24.9197H46.7389V24.0303H46.2389ZM46.4889 25.1697H47.3783V24.6697H46.4889V25.1697ZM46.4894 27.8374H47.3788V27.3374H46.4894V27.8374ZM47.6288 27.5874V26.6981H47.1288V27.5874H47.6288ZM47.3788 26.4481H46.4894V26.9481H47.3788V26.4481ZM46.2394 26.6981V27.5874H46.7394V26.6981H46.2394ZM47.3783 48.2878H48.2677V47.7878H47.3783V48.2878ZM48.5177 48.0378V47.1484H48.0177V48.0378H48.5177ZM48.2677 46.8984H47.3783V47.3984H48.2677V46.8984ZM47.1283 47.1484V48.0378H47.6283V47.1484H47.1283ZM37.8469 24.9197V24.0303H37.3469V24.9197H37.8469ZM37.5969 23.7803H36.7075V24.2803H37.5969V23.7803ZM36.4575 24.0303V24.9197H36.9575V24.0303H36.4575ZM36.7075 25.1697H37.5969V24.6697H36.7075V25.1697Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M36.7086 24.9197V24.0303H35.8196V24.9197H36.7086V24.9197ZM35.8194 24.9197V24.0303H34.9304V24.9197H35.8194V24.9197ZM38.4867 24.9197V24.0303H37.5973V24.9197H38.4867V24.9197ZM34.9304 24.9197V24.0303H34.041V24.9197H34.9304V24.9197ZM45.6003 24.9197V24.0303H44.7109V24.9197H45.6003V24.9197ZM46.4897 44.4811H47.3791V43.5917H46.4897V44.4811Z" fill="white"/> +<path d="M36.7086 24.0303H36.9586V23.7803H36.7086V24.0303ZM35.8196 24.0303V23.7803H35.5696V24.0303H35.8196ZM35.8196 24.9197H35.5696V25.1697H35.8196V24.9197ZM35.8194 24.0303H36.0694V23.7803H35.8194V24.0303ZM34.9304 24.0303V23.7803H34.6804V24.0303H34.9304ZM34.9304 24.9197H34.6804V25.1697H34.9304V24.9197ZM38.4867 24.0303H38.7367V23.7803H38.4867V24.0303ZM37.5973 24.0303V23.7803H37.3473V24.0303H37.5973ZM37.5973 24.9197H37.3473V25.1697H37.5973V24.9197ZM34.9304 24.0303H35.1804V23.7803H34.9304V24.0303ZM34.041 24.0303V23.7803H33.791V24.0303H34.041ZM34.041 24.9197H33.791V25.1697H34.041V24.9197ZM45.6003 24.0303H45.8503V23.7803H45.6003V24.0303ZM44.7109 24.0303V23.7803H44.4609V24.0303H44.7109ZM44.7109 24.9197H44.4609V25.1697H44.7109V24.9197ZM46.4897 44.4811H46.2397V44.7311H46.4897V44.4811ZM47.3791 44.4811V44.7311H47.6291V44.4811H47.3791ZM47.3791 43.5917H47.6291V43.3417H47.3791V43.5917ZM46.4897 43.5917V43.3417H46.2397V43.5917H46.4897ZM36.9586 24.9197V24.0303H36.4586V24.9197H36.9586ZM36.7086 23.7803H35.8196V24.2803H36.7086V23.7803ZM35.5696 24.0303V24.9197H36.0696V24.0303H35.5696ZM35.8196 25.1697H36.7086V24.6697H35.8196V25.1697ZM36.0694 24.9197V24.0303H35.5694V24.9197H36.0694ZM35.8194 23.7803H34.9304V24.2803H35.8194V23.7803ZM34.6804 24.0303V24.9197H35.1804V24.0303H34.6804ZM34.9304 25.1697H35.8194V24.6697H34.9304V25.1697ZM38.7367 24.9197V24.0303H38.2367V24.9197H38.7367ZM38.4867 23.7803H37.5973V24.2803H38.4867V23.7803ZM37.3473 24.0303V24.9197H37.8473V24.0303H37.3473ZM37.5973 25.1697H38.4867V24.6697H37.5973V25.1697ZM35.1804 24.9197V24.0303H34.6804V24.9197H35.1804ZM34.9304 23.7803H34.041V24.2803H34.9304V23.7803ZM33.791 24.0303V24.9197H34.291V24.0303H33.791ZM34.041 25.1697H34.9304V24.6697H34.041V25.1697ZM45.8503 24.9197V24.0303H45.3503V24.9197H45.8503ZM45.6003 23.7803H44.7109V24.2803H45.6003V23.7803ZM44.4609 24.0303V24.9197H44.9609V24.0303H44.4609ZM44.7109 25.1697H45.6003V24.6697H44.7109V25.1697ZM46.4897 44.7311H47.3791V44.2311H46.4897V44.7311ZM47.6291 44.4811V43.5917H47.1291V44.4811H47.6291ZM47.3791 43.3417H46.4897V43.8417H47.3791V43.3417ZM46.2397 43.5917V44.4811H46.7397V43.5917H46.2397Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M46.4897 43.5915H47.3791V42.7021H46.4897V43.5915V43.5915ZM46.4897 45.3703H47.3791V44.481H46.4897V45.3703Z" fill="white"/> +<path d="M47.3791 43.5915V43.8415H47.6291V43.5915H47.3791ZM47.3791 42.7021H47.6291V42.4521H47.3791V42.7021ZM46.4897 42.7021V42.4521H46.2397V42.7021H46.4897ZM46.4897 45.3703H46.2397V45.6203H46.4897V45.3703ZM47.3791 45.3703V45.6203H47.6291V45.3703H47.3791ZM47.3791 44.481H47.6291V44.231H47.3791V44.481ZM46.4897 44.481V44.231H46.2397V44.481H46.4897ZM46.4897 43.8415H47.3791V43.3415H46.4897V43.8415ZM47.6291 43.5915V42.7021H47.1291V43.5915H47.6291ZM47.3791 42.4521H46.4897V42.9521H47.3791V42.4521ZM46.2397 42.7021V43.5915H46.7397V42.7021H46.2397ZM46.4897 45.6203H47.3791V45.1203H46.4897V45.6203ZM47.6291 45.3703V44.481H47.1291V45.3703H47.6291ZM47.3791 44.231H46.4897V44.731H47.3791V44.231ZM46.2397 44.481V45.3703H46.7397V44.481H46.2397Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M46.4894 42.7031H47.3788V41.8137H46.4894V42.7031V42.7031ZM46.4894 47.1493H47.3788V46.2599H46.4894V47.1493V47.1493ZM37.5969 33.8116V32.9226H36.7075V33.8116H37.5969ZM43.8217 46.2599V47.1493H44.711V46.2599H43.8217V46.2599ZM44.7111 46.2599V47.1493H45.6004V46.2599H44.7111V46.2599ZM46.4894 29.3659H47.3788V28.4766H46.4894V29.3659V29.3659ZM38.4863 33.8116V32.9226H37.5969V33.8116H38.4863V33.8116ZM46.4894 32.0333H47.3788V31.1443H46.4894V32.0333ZM46.4894 34.7005H47.3788V33.8112H46.4894V34.7005Z" fill="white"/> +<path d="M47.3788 42.7031V42.9531H47.6288V42.7031H47.3788ZM47.3788 41.8137H47.6288V41.5637H47.3788V41.8137ZM46.4894 41.8137V41.5637H46.2394V41.8137H46.4894ZM47.3788 47.1493V47.3993H47.6288V47.1493H47.3788ZM47.3788 46.2599H47.6288V46.0099H47.3788V46.2599ZM46.4894 46.2599V46.0099H46.2394V46.2599H46.4894ZM37.5969 33.8116V34.0616H37.8469V33.8116H37.5969ZM37.5969 32.9226H37.8469V32.6726H37.5969V32.9226ZM36.7075 32.9226V32.6726H36.4575V32.9226H36.7075ZM36.7075 33.8116H36.4575V34.0616H36.7075V33.8116ZM43.8217 47.1493H43.5717V47.3993H43.8217V47.1493ZM44.711 47.1493V47.3993H44.961V47.1493H44.711ZM44.711 46.2599H44.961V46.0099H44.711V46.2599ZM44.7111 47.1493H44.4611V47.3993H44.7111V47.1493ZM45.6004 47.1493V47.3993H45.8504V47.1493H45.6004ZM45.6004 46.2599H45.8504V46.0099H45.6004V46.2599ZM47.3788 29.3659V29.6159H47.6288V29.3659H47.3788ZM47.3788 28.4766H47.6288V28.2266H47.3788V28.4766ZM46.4894 28.4766V28.2266H46.2394V28.4766H46.4894ZM38.4863 32.9226H38.7363V32.6726H38.4863V32.9226ZM37.5969 32.9226V32.6726H37.3469V32.9226H37.5969ZM37.5969 33.8116H37.3469V34.0616H37.5969V33.8116ZM46.4894 32.0333H46.2394V32.2833H46.4894V32.0333ZM47.3788 32.0333V32.2833H47.6288V32.0333H47.3788ZM47.3788 31.1443H47.6288V30.8943H47.3788V31.1443ZM46.4894 31.1443V30.8943H46.2394V31.1443H46.4894ZM46.4894 34.7005H46.2394V34.9505H46.4894V34.7005ZM47.3788 34.7005V34.9505H47.6288V34.7005H47.3788ZM47.3788 33.8112H47.6288V33.5612H47.3788V33.8112ZM46.4894 33.8112V33.5612H46.2394V33.8112H46.4894ZM46.4894 42.9531H47.3788V42.4531H46.4894V42.9531ZM47.6288 42.7031V41.8137H47.1288V42.7031H47.6288ZM47.3788 41.5637H46.4894V42.0637H47.3788V41.5637ZM46.2394 41.8137V42.7031H46.7394V41.8137H46.2394ZM46.4894 47.3993H47.3788V46.8993H46.4894V47.3993ZM47.6288 47.1493V46.2599H47.1288V47.1493H47.6288ZM47.3788 46.0099H46.4894V46.5099H47.3788V46.0099ZM46.2394 46.2599V47.1493H46.7394V46.2599H46.2394ZM37.8469 33.8116V32.9226H37.3469V33.8116H37.8469ZM37.5969 32.6726H36.7075V33.1726H37.5969V32.6726ZM36.4575 32.9226V33.8116H36.9575V32.9226H36.4575ZM36.7075 34.0616H37.5969V33.5616H36.7075V34.0616ZM43.5717 46.2599V47.1493H44.0717V46.2599H43.5717ZM43.8217 47.3993H44.711V46.8993H43.8217V47.3993ZM44.961 47.1493V46.2599H44.461V47.1493H44.961ZM44.711 46.0099H43.8217V46.5099H44.711V46.0099ZM44.4611 46.2599V47.1493H44.9611V46.2599H44.4611ZM44.7111 47.3993H45.6004V46.8993H44.7111V47.3993ZM45.8504 47.1493V46.2599H45.3504V47.1493H45.8504ZM45.6004 46.0099H44.7111V46.5099H45.6004V46.0099ZM46.4894 29.6159H47.3788V29.1159H46.4894V29.6159ZM47.6288 29.3659V28.4766H47.1288V29.3659H47.6288ZM47.3788 28.2266H46.4894V28.7266H47.3788V28.2266ZM46.2394 28.4766V29.3659H46.7394V28.4766H46.2394ZM38.7363 33.8116V32.9226H38.2363V33.8116H38.7363ZM38.4863 32.6726H37.5969V33.1726H38.4863V32.6726ZM37.3469 32.9226V33.8116H37.8469V32.9226H37.3469ZM37.5969 34.0616H38.4863V33.5616H37.5969V34.0616ZM46.4894 32.2833H47.3788V31.7833H46.4894V32.2833ZM47.6288 32.0333V31.1443H47.1288V32.0333H47.6288ZM47.3788 30.8943H46.4894V31.3943H47.3788V30.8943ZM46.2394 31.1443V32.0333H46.7394V31.1443H46.2394ZM46.4894 34.9505H47.3788V34.4505H46.4894V34.9505ZM47.6288 34.7005V33.8112H47.1288V34.7005H47.6288ZM47.3788 33.5612H46.4894V34.0612H47.3788V33.5612ZM46.2394 33.8112V34.7005H46.7394V33.8112H46.2394Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M46.4897 33.8107H47.3791V32.9217H46.4897V33.8107ZM46.4897 32.9217H47.3791V32.0323H46.4897V32.9217ZM46.4897 31.1433H47.3791V30.2539H46.4897V31.1433V31.1433Z" fill="white"/> +<path d="M46.4897 33.8107H46.2397V34.0607H46.4897V33.8107ZM47.3791 33.8107V34.0607H47.6291V33.8107H47.3791ZM47.3791 32.9217H47.6291V32.6717H47.3791V32.9217ZM46.4897 32.9217V32.6717H46.2397V32.9217H46.4897ZM46.4897 32.9217H46.2397V33.1717H46.4897V32.9217ZM47.3791 32.9217V33.1717H47.6291V32.9217H47.3791ZM47.3791 32.0323H47.6291V31.7823H47.3791V32.0323ZM46.4897 32.0323V31.7823H46.2397V32.0323H46.4897ZM47.3791 31.1433V31.3933H47.6291V31.1433H47.3791ZM47.3791 30.2539H47.6291V30.0039H47.3791V30.2539ZM46.4897 30.2539V30.0039H46.2397V30.2539H46.4897ZM46.4897 34.0607H47.3791V33.5607H46.4897V34.0607ZM47.6291 33.8107V32.9217H47.1291V33.8107H47.6291ZM47.3791 32.6717H46.4897V33.1717H47.3791V32.6717ZM46.2397 32.9217V33.8107H46.7397V32.9217H46.2397ZM46.4897 33.1717H47.3791V32.6717H46.4897V33.1717ZM47.6291 32.9217V32.0323H47.1291V32.9217H47.6291ZM47.3791 31.7823H46.4897V32.2823H47.3791V31.7823ZM46.2397 32.0323V32.9217H46.7397V32.0323H46.2397ZM46.4897 31.3933H47.3791V30.8933H46.4897V31.3933ZM47.6291 31.1433V30.2539H47.1291V31.1433H47.6291ZM47.3791 30.0039H46.4897V30.5039H47.3791V30.0039ZM46.2397 30.2539V31.1433H46.7397V30.2539H46.2397Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M46.4897 30.2546H47.3791V29.3652H46.4897V30.2546V30.2546ZM46.4897 39.1465H47.3791V38.2567H46.4897V39.1465ZM46.4897 38.2563H47.3791V37.3669H46.4897V38.2563V38.2563ZM46.4897 35.5894H47.3791V34.7H46.4897V35.5894V35.5894ZM46.4897 36.4787H47.3791V35.5894H46.4897V36.4787V36.4787Z" fill="white"/> +<path d="M47.3791 30.2546V30.5046H47.6291V30.2546H47.3791ZM47.3791 29.3652H47.6291V29.1152H47.3791V29.3652ZM46.4897 29.3652V29.1152H46.2397V29.3652H46.4897ZM46.4897 39.1465H46.2397V39.3965H46.4897V39.1465ZM47.3791 39.1465V39.3965H47.6291V39.1465H47.3791ZM47.3791 38.2567H47.6291V38.0067H47.3791V38.2567ZM46.4897 38.2567V38.0067H46.2397V38.2567H46.4897ZM47.3791 38.2563V38.5063H47.6291V38.2563H47.3791ZM47.3791 37.3669H47.6291V37.1169H47.3791V37.3669ZM46.4897 37.3669V37.1169H46.2397V37.3669H46.4897ZM47.3791 35.5894V35.8394H47.6291V35.5894H47.3791ZM47.3791 34.7H47.6291V34.45H47.3791V34.7ZM46.4897 34.7V34.45H46.2397V34.7H46.4897ZM47.3791 36.4787V36.7287H47.6291V36.4787H47.3791ZM47.3791 35.5894H47.6291V35.3394H47.3791V35.5894ZM46.4897 35.5894V35.3394H46.2397V35.5894H46.4897ZM46.4897 30.5046H47.3791V30.0046H46.4897V30.5046ZM47.6291 30.2546V29.3652H47.1291V30.2546H47.6291ZM47.3791 29.1152H46.4897V29.6152H47.3791V29.1152ZM46.2397 29.3652V30.2546H46.7397V29.3652H46.2397ZM46.4897 39.3965H47.3791V38.8965H46.4897V39.3965ZM47.6291 39.1465V38.2567H47.1291V39.1465H47.6291ZM47.3791 38.0067H46.4897V38.5067H47.3791V38.0067ZM46.2397 38.2567V39.1465H46.7397V38.2567H46.2397ZM46.4897 38.5063H47.3791V38.0063H46.4897V38.5063ZM47.6291 38.2563V37.3669H47.1291V38.2563H47.6291ZM47.3791 37.1169H46.4897V37.6169H47.3791V37.1169ZM46.2397 37.3669V38.2563H46.7397V37.3669H46.2397ZM46.4897 35.8394H47.3791V35.3394H46.4897V35.8394ZM47.6291 35.5894V34.7H47.1291V35.5894H47.6291ZM47.3791 34.45H46.4897V34.95H47.3791V34.45ZM46.2397 34.7V35.5894H46.7397V34.7H46.2397ZM46.4897 36.7287H47.3791V36.2287H46.4897V36.7287ZM47.6291 36.4787V35.5894H47.1291V36.4787H47.6291ZM47.3791 35.3394H46.4897V35.8394H47.3791V35.3394ZM46.2397 35.5894V36.4787H46.7397V35.5894H46.2397Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M46.4894 37.3671H47.3788V36.4785H46.4894V37.3671ZM24.2603 47.1484V48.0378H25.1493V47.1484H24.2603V47.1484ZM44.7112 47.1484V48.0378H45.6006V47.1484H44.7112V47.1484ZM43.8218 47.1484V48.0378H44.7112V47.1484H43.8218V47.1484ZM36.7081 47.1484V48.0378H37.5975V47.1484H36.7081V47.1484ZM46.4894 47.1484V48.0378H47.3788V47.1484H46.4894V47.1484Z" fill="white"/> +<path d="M46.4894 37.3671H46.2394V37.6171H46.4894V37.3671ZM47.3788 37.3671V37.6171H47.6288V37.3671H47.3788ZM47.3788 36.4785H47.6288V36.2285H47.3788V36.4785ZM46.4894 36.4785V36.2285H46.2394V36.4785H46.4894ZM24.2603 48.0378H24.0103V48.2878H24.2603V48.0378ZM25.1493 48.0378V48.2878H25.3993V48.0378H25.1493ZM25.1493 47.1484H25.3993V46.8984H25.1493V47.1484ZM44.7112 48.0378H44.4612V48.2878H44.7112V48.0378ZM45.6006 48.0378V48.2878H45.8506V48.0378H45.6006ZM45.6006 47.1484H45.8506V46.8984H45.6006V47.1484ZM43.8218 48.0378H43.5718V48.2878H43.8218V48.0378ZM44.7112 48.0378V48.2878H44.9612V48.0378H44.7112ZM44.7112 47.1484H44.9612V46.8984H44.7112V47.1484ZM36.7081 48.0378H36.4581V48.2878H36.7081V48.0378ZM37.5975 48.0378V48.2878H37.8475V48.0378H37.5975ZM37.5975 47.1484H37.8475V46.8984H37.5975V47.1484ZM46.4894 48.0378H46.2394V48.2878H46.4894V48.0378ZM47.3788 48.0378V48.2878H47.6288V48.0378H47.3788ZM47.3788 47.1484H47.6288V46.8984H47.3788V47.1484ZM46.4894 37.6171H47.3788V37.1171H46.4894V37.6171ZM47.6288 37.3671V36.4785H47.1288V37.3671H47.6288ZM47.3788 36.2285H46.4894V36.7285H47.3788V36.2285ZM46.2394 36.4785V37.3671H46.7394V36.4785H46.2394ZM24.0103 47.1484V48.0378H24.5103V47.1484H24.0103ZM24.2603 48.2878H25.1493V47.7878H24.2603V48.2878ZM25.3993 48.0378V47.1484H24.8993V48.0378H25.3993ZM25.1493 46.8984H24.2603V47.3984H25.1493V46.8984ZM44.4612 47.1484V48.0378H44.9612V47.1484H44.4612ZM44.7112 48.2878H45.6006V47.7878H44.7112V48.2878ZM45.8506 48.0378V47.1484H45.3506V48.0378H45.8506ZM45.6006 46.8984H44.7112V47.3984H45.6006V46.8984ZM43.5718 47.1484V48.0378H44.0718V47.1484H43.5718ZM43.8218 48.2878H44.7112V47.7878H43.8218V48.2878ZM44.9612 48.0378V47.1484H44.4612V48.0378H44.9612ZM44.7112 46.8984H43.8218V47.3984H44.7112V46.8984ZM36.4581 47.1484V48.0378H36.9581V47.1484H36.4581ZM36.7081 48.2878H37.5975V47.7878H36.7081V48.2878ZM37.8475 48.0378V47.1484H37.3475V48.0378H37.8475ZM37.5975 46.8984H36.7081V47.3984H37.5975V46.8984ZM46.2394 47.1484V48.0378H46.7394V47.1484H46.2394ZM46.4894 48.2878H47.3788V47.7878H46.4894V48.2878ZM47.6288 48.0378V47.1484H47.1288V48.0378H47.6288ZM47.3788 46.8984H46.4894V47.3984H47.3788V46.8984Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M37.5972 47.1484V48.0378H38.4866V47.1484H37.5972V47.1484Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M38.4862 47.1485V48.0379H39.3756V47.1485H38.4862V47.1485ZM25.1493 31.1436H24.2603V32.0326H25.1493V31.1436Z" fill="white"/> +<path d="M38.4862 48.0379H38.2362V48.2879H38.4862V48.0379ZM39.3756 48.0379V48.2879H39.6256V48.0379H39.3756ZM39.3756 47.1485H39.6256V46.8985H39.3756V47.1485ZM25.1493 31.1436H25.3993V30.8936H25.1493V31.1436ZM24.2603 31.1436V30.8936H24.0103V31.1436H24.2603ZM24.2603 32.0326H24.0103V32.2826H24.2603V32.0326ZM25.1493 32.0326V32.2826H25.3993V32.0326H25.1493ZM38.2362 47.1485V48.0379H38.7362V47.1485H38.2362ZM38.4862 48.2879H39.3756V47.7879H38.4862V48.2879ZM39.6256 48.0379V47.1485H39.1256V48.0379H39.6256ZM39.3756 46.8985H38.4862V47.3985H39.3756V46.8985ZM25.1493 30.8936H24.2603V31.3936H25.1493V30.8936ZM24.0103 31.1436V32.0326H24.5103V31.1436H24.0103ZM24.2603 32.2826H25.1493V31.7826H24.2603V32.2826ZM25.3993 32.0326V31.1436H24.8993V32.0326H25.3993Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M25.1494 30.2549H24.2604V31.1443H25.1494V30.2549ZM25.1493 40.035H24.2603V40.9244H25.1493V40.035ZM25.1493 42.7026H24.2603V43.592H25.1493V42.7026V42.7026Z" fill="white"/> +<path d="M25.1494 30.2549H25.3994V30.0049H25.1494V30.2549ZM24.2604 30.2549V30.0049H24.0104V30.2549H24.2604ZM24.2604 31.1443H24.0104V31.3943H24.2604V31.1443ZM25.1494 31.1443V31.3943H25.3994V31.1443H25.1494ZM25.1493 40.035H25.3993V39.785H25.1493V40.035ZM24.2603 40.035V39.785H24.0103V40.035H24.2603ZM24.2603 40.9244H24.0103V41.1744H24.2603V40.9244ZM25.1493 40.9244V41.1744H25.3993V40.9244H25.1493ZM24.2603 42.7026V42.4526H24.0103V42.7026H24.2603ZM24.2603 43.592H24.0103V43.842H24.2603V43.592ZM25.1493 43.592V43.842H25.3993V43.592H25.1493ZM25.1494 30.0049H24.2604V30.5049H25.1494V30.0049ZM24.0104 30.2549V31.1443H24.5104V30.2549H24.0104ZM24.2604 31.3943H25.1494V30.8943H24.2604V31.3943ZM25.3994 31.1443V30.2549H24.8994V31.1443H25.3994ZM25.1493 39.785H24.2603V40.285H25.1493V39.785ZM24.0103 40.035V40.9244H24.5103V40.035H24.0103ZM24.2603 41.1744H25.1493V40.6744H24.2603V41.1744ZM25.3993 40.9244V40.035H24.8993V40.9244H25.3993ZM25.1493 42.4526H24.2603V42.9526H25.1493V42.4526ZM24.0103 42.7026V43.592H24.5103V42.7026H24.0103ZM24.2603 43.842H25.1493V43.342H24.2603V43.842ZM25.3993 43.592V42.7026H24.8993V43.592H25.3993Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M25.1493 43.5922H24.2603V44.4815H25.1493V43.5922V43.5922ZM25.1493 45.371H24.2603V46.2604H25.1493V45.371ZM25.1493 44.4816H24.2603V45.371H25.1493V44.4816ZM25.1494 40.9248H24.2604V41.8142H25.1494V40.9248Z" fill="white"/> +<path d="M24.2603 43.5922V43.3422H24.0103V43.5922H24.2603ZM24.2603 44.4815H24.0103V44.7315H24.2603V44.4815ZM25.1493 44.4815V44.7315H25.3993V44.4815H25.1493ZM25.1493 45.371H25.3993V45.121H25.1493V45.371ZM24.2603 45.371V45.121H24.0103V45.371H24.2603ZM24.2603 46.2604H24.0103V46.5104H24.2603V46.2604ZM25.1493 46.2604V46.5104H25.3993V46.2604H25.1493ZM25.1493 44.4816H25.3993V44.2316H25.1493V44.4816ZM24.2603 44.4816V44.2316H24.0103V44.4816H24.2603ZM24.2603 45.371H24.0103V45.621H24.2603V45.371ZM25.1493 45.371V45.621H25.3993V45.371H25.1493ZM25.1494 40.9248H25.3994V40.6748H25.1494V40.9248ZM24.2604 40.9248V40.6748H24.0104V40.9248H24.2604ZM24.2604 41.8142H24.0104V42.0642H24.2604V41.8142ZM25.1494 41.8142V42.0642H25.3994V41.8142H25.1494ZM25.1493 43.3422H24.2603V43.8422H25.1493V43.3422ZM24.0103 43.5922V44.4815H24.5103V43.5922H24.0103ZM24.2603 44.7315H25.1493V44.2315H24.2603V44.7315ZM25.3993 44.4815V43.5922H24.8993V44.4815H25.3993ZM25.1493 45.121H24.2603V45.621H25.1493V45.121ZM24.0103 45.371V46.2604H24.5103V45.371H24.0103ZM24.2603 46.5104H25.1493V46.0104H24.2603V46.5104ZM25.3993 46.2604V45.371H24.8993V46.2604H25.3993ZM25.1493 44.2316H24.2603V44.7316H25.1493V44.2316ZM24.0103 44.4816V45.371H24.5103V44.4816H24.0103ZM24.2603 45.621H25.1493V45.121H24.2603V45.621ZM25.3993 45.371V44.4816H24.8993V45.371H25.3993ZM25.1494 40.6748H24.2604V41.1748H25.1494V40.6748ZM24.0104 40.9248V41.8142H24.5104V40.9248H24.0104ZM24.2604 42.0642H25.1494V41.5642H24.2604V42.0642ZM25.3994 41.8142V40.9248H24.8994V41.8142H25.3994Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M25.1493 41.8129H24.2603V42.7022H25.1493V41.8129V41.8129ZM25.1494 39.1465H24.2604V40.0351H25.1494V39.1465ZM25.1493 46.2591H24.2603V47.1485H25.1493V46.2591ZM38.4863 40.0346V40.924H39.3757V40.0346H38.4863V40.0346ZM34.0411 41.8129V42.7022H34.9305V41.8129H34.0411V41.8129ZM36.7081 41.8129V42.7022H37.5975V41.8129H36.7081V41.8129ZM35.8192 41.8129V42.7022H36.7082V41.8129H35.8192V41.8129Z" fill="white"/> +<path d="M24.2603 41.8129V41.5629H24.0103V41.8129H24.2603ZM24.2603 42.7022H24.0103V42.9522H24.2603V42.7022ZM25.1493 42.7022V42.9522H25.3993V42.7022H25.1493ZM25.1494 39.1465H25.3994V38.8965H25.1494V39.1465ZM24.2604 39.1465V38.8965H24.0104V39.1465H24.2604ZM24.2604 40.0351H24.0104V40.2851H24.2604V40.0351ZM25.1494 40.0351V40.2851H25.3994V40.0351H25.1494ZM25.1493 46.2591H25.3993V46.0091H25.1493V46.2591ZM24.2603 46.2591V46.0091H24.0103V46.2591H24.2603ZM24.2603 47.1485H24.0103V47.3985H24.2603V47.1485ZM25.1493 47.1485V47.3985H25.3993V47.1485H25.1493ZM38.4863 40.924H38.2363V41.174H38.4863V40.924ZM39.3757 40.924V41.174H39.6257V40.924H39.3757ZM39.3757 40.0346H39.6257V39.7846H39.3757V40.0346ZM34.0411 42.7022H33.7911V42.9522H34.0411V42.7022ZM34.9305 42.7022V42.9522H35.1805V42.7022H34.9305ZM34.9305 41.8129H35.1805V41.5629H34.9305V41.8129ZM36.7081 42.7022H36.4581V42.9522H36.7081V42.7022ZM37.5975 42.7022V42.9522H37.8475V42.7022H37.5975ZM37.5975 41.8129H37.8475V41.5629H37.5975V41.8129ZM35.8192 42.7022H35.5692V42.9522H35.8192V42.7022ZM36.7082 42.7022V42.9522H36.9582V42.7022H36.7082ZM36.7082 41.8129H36.9582V41.5629H36.7082V41.8129ZM25.1493 41.5629H24.2603V42.0629H25.1493V41.5629ZM24.0103 41.8129V42.7022H24.5103V41.8129H24.0103ZM24.2603 42.9522H25.1493V42.4522H24.2603V42.9522ZM25.3993 42.7022V41.8129H24.8993V42.7022H25.3993ZM25.1494 38.8965H24.2604V39.3965H25.1494V38.8965ZM24.0104 39.1465V40.0351H24.5104V39.1465H24.0104ZM24.2604 40.2851H25.1494V39.7851H24.2604V40.2851ZM25.3994 40.0351V39.1465H24.8994V40.0351H25.3994ZM25.1493 46.0091H24.2603V46.5091H25.1493V46.0091ZM24.0103 46.2591V47.1485H24.5103V46.2591H24.0103ZM24.2603 47.3985H25.1493V46.8985H24.2603V47.3985ZM25.3993 47.1485V46.2591H24.8993V47.1485H25.3993ZM38.2363 40.0346V40.924H38.7363V40.0346H38.2363ZM38.4863 41.174H39.3757V40.674H38.4863V41.174ZM39.6257 40.924V40.0346H39.1257V40.924H39.6257ZM39.3757 39.7846H38.4863V40.2846H39.3757V39.7846ZM33.7911 41.8129V42.7022H34.2911V41.8129H33.7911ZM34.0411 42.9522H34.9305V42.4522H34.0411V42.9522ZM35.1805 42.7022V41.8129H34.6805V42.7022H35.1805ZM34.9305 41.5629H34.0411V42.0629H34.9305V41.5629ZM36.4581 41.8129V42.7022H36.9581V41.8129H36.4581ZM36.7081 42.9522H37.5975V42.4522H36.7081V42.9522ZM37.8475 42.7022V41.8129H37.3475V42.7022H37.8475ZM37.5975 41.5629H36.7081V42.0629H37.5975V41.5629ZM35.5692 41.8129V42.7022H36.0692V41.8129H35.5692ZM35.8192 42.9522H36.7082V42.4522H35.8192V42.9522ZM36.9582 42.7022V41.8129H36.4582V42.7022H36.9582ZM36.7082 41.5629H35.8192V42.0629H36.7082V41.5629Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M37.5972 41.8129V42.7023H38.4866V41.8129H37.5972V41.8129ZM40.2651 32.0326V31.1436H39.3757V32.0326H40.2651Z" fill="white"/> +<path d="M37.5972 42.7023H37.3472V42.9523H37.5972V42.7023ZM38.4866 42.7023V42.9523H38.7366V42.7023H38.4866ZM38.4866 41.8129H38.7366V41.5629H38.4866V41.8129ZM40.2651 32.0326V32.2826H40.5151V32.0326H40.2651ZM40.2651 31.1436H40.5151V30.8936H40.2651V31.1436ZM39.3757 31.1436V30.8936H39.1257V31.1436H39.3757ZM39.3757 32.0326H39.1257V32.2826H39.3757V32.0326ZM37.3472 41.8129V42.7023H37.8472V41.8129H37.3472ZM37.5972 42.9523H38.4866V42.4523H37.5972V42.9523ZM38.7366 42.7023V41.8129H38.2366V42.7023H38.7366ZM38.4866 41.5629H37.5972V42.0629H38.4866V41.5629ZM40.5151 32.0326V31.1436H40.0151V32.0326H40.5151ZM40.2651 30.8936H39.3757V31.3936H40.2651V30.8936ZM39.1257 31.1436V32.0326H39.6257V31.1436H39.1257ZM39.3757 32.2826H40.2651V31.7826H39.3757V32.2826Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3755 32.0326V31.1436H38.4861V32.0326H39.3755V32.0326ZM37.5969 32.0326V31.1436H36.7075V32.0326H37.5969Z" fill="white"/> +<path d="M39.3755 31.1436H39.6255V30.8936H39.3755V31.1436ZM38.4861 31.1436V30.8936H38.2361V31.1436H38.4861ZM38.4861 32.0326H38.2361V32.2826H38.4861V32.0326ZM37.5969 32.0326V32.2826H37.8469V32.0326H37.5969ZM37.5969 31.1436H37.8469V30.8936H37.5969V31.1436ZM36.7075 31.1436V30.8936H36.4575V31.1436H36.7075ZM36.7075 32.0326H36.4575V32.2826H36.7075V32.0326ZM39.6255 32.0326V31.1436H39.1255V32.0326H39.6255ZM39.3755 30.8936H38.4861V31.3936H39.3755V30.8936ZM38.2361 31.1436V32.0326H38.7361V31.1436H38.2361ZM38.4861 32.2826H39.3755V31.7826H38.4861V32.2826ZM37.8469 32.0326V31.1436H37.3469V32.0326H37.8469ZM37.5969 30.8936H36.7075V31.3936H37.5969V30.8936ZM36.4575 31.1436V32.0326H36.9575V31.1436H36.4575ZM36.7075 32.2826H37.5969V31.7826H36.7075V32.2826Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M38.4866 32.0326V31.1436H37.5972V32.0326H38.4866V32.0326ZM42.0433 37.3673H42.9327V36.4786H42.0433V37.3673Z" fill="white"/> +<path d="M38.4866 31.1436H38.7366V30.8936H38.4866V31.1436ZM37.5972 31.1436V30.8936H37.3472V31.1436H37.5972ZM37.5972 32.0326H37.3472V32.2826H37.5972V32.0326ZM42.0433 37.3673H41.7933V37.6173H42.0433V37.3673ZM42.9327 37.3673V37.6173H43.1827V37.3673H42.9327ZM42.9327 36.4786H43.1827V36.2286H42.9327V36.4786ZM42.0433 36.4786V36.2286H41.7933V36.4786H42.0433ZM38.7366 32.0326V31.1436H38.2366V32.0326H38.7366ZM38.4866 30.8936H37.5972V31.3936H38.4866V30.8936ZM37.3472 31.1436V32.0326H37.8472V31.1436H37.3472ZM37.5972 32.2826H38.4866V31.7826H37.5972V32.2826ZM42.0433 37.6173H42.9327V37.1173H42.0433V37.6173ZM43.1827 37.3673V36.4786H42.6827V37.3673H43.1827ZM42.9327 36.2286H42.0433V36.7286H42.9327V36.2286ZM41.7933 36.4786V37.3673H42.2933V36.4786H41.7933Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0436 36.4789H42.933V35.5895H42.0436V36.4789V36.4789ZM42.0436 38.2563H42.933V37.3669H42.0436V38.2563V38.2563ZM42.0435 34.6999H42.9328V33.8105H42.0435V34.6999ZM42.0436 35.5895H42.933V34.7001H42.0436V35.5895V35.5895ZM42.0436 39.1466H42.933V38.2568H42.0436V39.1466ZM42.0436 40.9241H42.933V40.0347H42.0436V40.9241ZM42.0436 42.7026H42.933V41.8132H42.0436V42.7026V42.7026Z" fill="white"/> +<path d="M42.933 36.4789V36.7289H43.183V36.4789H42.933ZM42.933 35.5895H43.183V35.3395H42.933V35.5895ZM42.0436 35.5895V35.3395H41.7936V35.5895H42.0436ZM42.933 38.2563V38.5063H43.183V38.2563H42.933ZM42.933 37.3669H43.183V37.1169H42.933V37.3669ZM42.0436 37.3669V37.1169H41.7936V37.3669H42.0436ZM42.0435 34.6999H41.7935V34.9499H42.0435V34.6999ZM42.9328 34.6999V34.9499H43.1828V34.6999H42.9328ZM42.9328 33.8105H43.1828V33.5605H42.9328V33.8105ZM42.0435 33.8105V33.5605H41.7935V33.8105H42.0435ZM42.933 35.5895V35.8395H43.183V35.5895H42.933ZM42.933 34.7001H43.183V34.4501H42.933V34.7001ZM42.0436 34.7001V34.4501H41.7936V34.7001H42.0436ZM42.0436 39.1466H41.7936V39.3966H42.0436V39.1466ZM42.933 39.1466V39.3966H43.183V39.1466H42.933ZM42.933 38.2568H43.183V38.0068H42.933V38.2568ZM42.0436 38.2568V38.0068H41.7936V38.2568H42.0436ZM42.0436 40.9241H41.7936V41.1741H42.0436V40.9241ZM42.933 40.9241V41.1741H43.183V40.9241H42.933ZM42.933 40.0347H43.183V39.7847H42.933V40.0347ZM42.0436 40.0347V39.7847H41.7936V40.0347H42.0436ZM42.933 42.7026V42.9526H43.183V42.7026H42.933ZM42.933 41.8132H43.183V41.5632H42.933V41.8132ZM42.0436 41.8132V41.5632H41.7936V41.8132H42.0436ZM42.0436 36.7289H42.933V36.2289H42.0436V36.7289ZM43.183 36.4789V35.5895H42.683V36.4789H43.183ZM42.933 35.3395H42.0436V35.8395H42.933V35.3395ZM41.7936 35.5895V36.4789H42.2936V35.5895H41.7936ZM42.0436 38.5063H42.933V38.0063H42.0436V38.5063ZM43.183 38.2563V37.3669H42.683V38.2563H43.183ZM42.933 37.1169H42.0436V37.6169H42.933V37.1169ZM41.7936 37.3669V38.2563H42.2936V37.3669H41.7936ZM42.0435 34.9499H42.9328V34.4499H42.0435V34.9499ZM43.1828 34.6999V33.8105H42.6828V34.6999H43.1828ZM42.9328 33.5605H42.0435V34.0605H42.9328V33.5605ZM41.7935 33.8105V34.6999H42.2935V33.8105H41.7935ZM42.0436 35.8395H42.933V35.3395H42.0436V35.8395ZM43.183 35.5895V34.7001H42.683V35.5895H43.183ZM42.933 34.4501H42.0436V34.9501H42.933V34.4501ZM41.7936 34.7001V35.5895H42.2936V34.7001H41.7936ZM42.0436 39.3966H42.933V38.8966H42.0436V39.3966ZM43.183 39.1466V38.2568H42.683V39.1466H43.183ZM42.933 38.0068H42.0436V38.5068H42.933V38.0068ZM41.7936 38.2568V39.1466H42.2936V38.2568H41.7936ZM42.0436 41.1741H42.933V40.6741H42.0436V41.1741ZM43.183 40.9241V40.0347H42.683V40.9241H43.183ZM42.933 39.7847H42.0436V40.2847H42.933V39.7847ZM41.7936 40.0347V40.9241H42.2936V40.0347H41.7936ZM42.0436 42.9526H42.933V42.4526H42.0436V42.9526ZM43.183 42.7026V41.8132H42.683V42.7026H43.183ZM42.933 41.5632H42.0436V42.0632H42.933V41.5632ZM41.7936 41.8132V42.7026H42.2936V41.8132H41.7936Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M41.1543 41.813V42.7024H42.0437V41.813H41.1543V41.813ZM42.0432 40.0347H42.9326V39.1461H42.0432V40.0347ZM42.0432 33.8109H42.9326V32.9219H42.0432V33.8109Z" fill="white"/> +<path d="M41.1543 42.7024H40.9043V42.9524H41.1543V42.7024ZM42.0437 42.7024V42.9524H42.2937V42.7024H42.0437ZM42.0437 41.813H42.2937V41.563H42.0437V41.813ZM42.0432 40.0347H41.7932V40.2847H42.0432V40.0347ZM42.9326 40.0347V40.2847H43.1826V40.0347H42.9326ZM42.9326 39.1461H43.1826V38.8961H42.9326V39.1461ZM42.0432 39.1461V38.8961H41.7932V39.1461H42.0432ZM42.0432 33.8109H41.7932V34.0609H42.0432V33.8109ZM42.9326 33.8109V34.0609H43.1826V33.8109H42.9326ZM42.9326 32.9219H43.1826V32.6719H42.9326V32.9219ZM42.0432 32.9219V32.6719H41.7932V32.9219H42.0432ZM40.9043 41.813V42.7024H41.4043V41.813H40.9043ZM41.1543 42.9524H42.0437V42.4524H41.1543V42.9524ZM42.2937 42.7024V41.813H41.7937V42.7024H42.2937ZM42.0437 41.563H41.1543V42.063H42.0437V41.563ZM42.0432 40.2847H42.9326V39.7847H42.0432V40.2847ZM43.1826 40.0347V39.1461H42.6826V40.0347H43.1826ZM42.9326 38.8961H42.0432V39.3961H42.9326V38.8961ZM41.7932 39.1461V40.0347H42.2932V39.1461H41.7932ZM42.0432 34.0609H42.9326V33.5609H42.0432V34.0609ZM43.1826 33.8109V32.9219H42.6826V33.8109H43.1826ZM42.9326 32.6719H42.0432V33.1719H42.9326V32.6719ZM41.7932 32.9219V33.8109H42.2932V32.9219H41.7932Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0436 41.8132H42.933V40.9238H42.0436V41.8132V41.8132ZM40.2654 41.813V42.7024H41.1548V41.813H40.2654V41.813ZM30.4847 29.3652H29.5957V30.2546H30.4847V29.3652V29.3652ZM30.4848 32.9219H29.5958V33.8109H30.4848V32.9219ZM30.4848 30.2546H29.5958V31.144H30.4848V30.2546ZM30.4848 32.0325H29.5958V32.9219H30.4848V32.0325Z" fill="white"/> +<path d="M42.933 41.8132V42.0632H43.183V41.8132H42.933ZM42.933 40.9238H43.183V40.6738H42.933V40.9238ZM42.0436 40.9238V40.6738H41.7936V40.9238H42.0436ZM40.2654 42.7024H40.0154V42.9524H40.2654V42.7024ZM41.1548 42.7024V42.9524H41.4048V42.7024H41.1548ZM41.1548 41.813H41.4048V41.563H41.1548V41.813ZM29.5957 29.3652V29.1152H29.3457V29.3652H29.5957ZM29.5957 30.2546H29.3457V30.5046H29.5957V30.2546ZM30.4847 30.2546V30.5046H30.7347V30.2546H30.4847ZM30.4848 32.9219H30.7348V32.6719H30.4848V32.9219ZM29.5958 32.9219V32.6719H29.3458V32.9219H29.5958ZM29.5958 33.8109H29.3458V34.0609H29.5958V33.8109ZM30.4848 33.8109V34.0609H30.7348V33.8109H30.4848ZM30.4848 30.2546H30.7348V30.0046H30.4848V30.2546ZM29.5958 30.2546V30.0046H29.3458V30.2546H29.5958ZM29.5958 31.144H29.3458V31.394H29.5958V31.144ZM30.4848 31.144V31.394H30.7348V31.144H30.4848ZM30.4848 32.0325H30.7348V31.7825H30.4848V32.0325ZM29.5958 32.0325V31.7825H29.3458V32.0325H29.5958ZM29.5958 32.9219H29.3458V33.1719H29.5958V32.9219ZM30.4848 32.9219V33.1719H30.7348V32.9219H30.4848ZM42.0436 42.0632H42.933V41.5632H42.0436V42.0632ZM43.183 41.8132V40.9238H42.683V41.8132H43.183ZM42.933 40.6738H42.0436V41.1738H42.933V40.6738ZM41.7936 40.9238V41.8132H42.2936V40.9238H41.7936ZM40.0154 41.813V42.7024H40.5154V41.813H40.0154ZM40.2654 42.9524H41.1548V42.4524H40.2654V42.9524ZM41.4048 42.7024V41.813H40.9048V42.7024H41.4048ZM41.1548 41.563H40.2654V42.063H41.1548V41.563ZM30.4847 29.1152H29.5957V29.6152H30.4847V29.1152ZM29.3457 29.3652V30.2546H29.8457V29.3652H29.3457ZM29.5957 30.5046H30.4847V30.0046H29.5957V30.5046ZM30.7347 30.2546V29.3652H30.2347V30.2546H30.7347ZM30.4848 32.6719H29.5958V33.1719H30.4848V32.6719ZM29.3458 32.9219V33.8109H29.8458V32.9219H29.3458ZM29.5958 34.0609H30.4848V33.5609H29.5958V34.0609ZM30.7348 33.8109V32.9219H30.2348V33.8109H30.7348ZM30.4848 30.0046H29.5958V30.5046H30.4848V30.0046ZM29.3458 30.2546V31.144H29.8458V30.2546H29.3458ZM29.5958 31.394H30.4848V30.894H29.5958V31.394ZM30.7348 31.144V30.2546H30.2348V31.144H30.7348ZM30.4848 31.7825H29.5958V32.2825H30.4848V31.7825ZM29.3458 32.0325V32.9219H29.8458V32.0325H29.3458ZM29.5958 33.1719H30.4848V32.6719H29.5958V33.1719ZM30.7348 32.9219V32.0325H30.2348V32.9219H30.7348Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M30.4847 31.1437H29.5957V32.0327H30.4847V31.1437ZM31.374 30.2546V29.3652H30.4846V30.2546H31.374V30.2546ZM36.7085 32.0327V31.1437H35.8195V32.0327H36.7085ZM35.8193 30.2546V29.3652H34.9303V30.2546H35.8193V30.2546ZM36.7085 30.2546V29.3652H35.8195V30.2546H36.7085V30.2546ZM30.4847 40.9241H29.5957V41.8135H30.4847V40.9241ZM30.4847 40.0347H29.5957V40.9241H30.4847V40.0347ZM30.4846 41.813V42.7024H31.374V41.813H30.4846V41.813Z" fill="white"/> +<path d="M30.4847 31.1437H30.7347V30.8937H30.4847V31.1437ZM29.5957 31.1437V30.8937H29.3457V31.1437H29.5957ZM29.5957 32.0327H29.3457V32.2827H29.5957V32.0327ZM30.4847 32.0327V32.2827H30.7347V32.0327H30.4847ZM31.374 29.3652H31.624V29.1152H31.374V29.3652ZM30.4846 29.3652V29.1152H30.2346V29.3652H30.4846ZM30.4846 30.2546H30.2346V30.5046H30.4846V30.2546ZM36.7085 32.0327V32.2827H36.9585V32.0327H36.7085ZM36.7085 31.1437H36.9585V30.8937H36.7085V31.1437ZM35.8195 31.1437V30.8937H35.5695V31.1437H35.8195ZM35.8195 32.0327H35.5695V32.2827H35.8195V32.0327ZM35.8193 29.3652H36.0693V29.1152H35.8193V29.3652ZM34.9303 29.3652V29.1152H34.6803V29.3652H34.9303ZM34.9303 30.2546H34.6803V30.5046H34.9303V30.2546ZM36.7085 29.3652H36.9585V29.1152H36.7085V29.3652ZM35.8195 29.3652V29.1152H35.5695V29.3652H35.8195ZM35.8195 30.2546H35.5695V30.5046H35.8195V30.2546ZM30.4847 40.9241H30.7347V40.6741H30.4847V40.9241ZM29.5957 40.9241V40.6741H29.3457V40.9241H29.5957ZM29.5957 41.8135H29.3457V42.0635H29.5957V41.8135ZM30.4847 41.8135V42.0635H30.7347V41.8135H30.4847ZM30.4847 40.0347H30.7347V39.7847H30.4847V40.0347ZM29.5957 40.0347V39.7847H29.3457V40.0347H29.5957ZM29.5957 40.9241H29.3457V41.1741H29.5957V40.9241ZM30.4847 40.9241V41.1741H30.7347V40.9241H30.4847ZM30.4846 42.7024H30.2346V42.9524H30.4846V42.7024ZM31.374 42.7024V42.9524H31.624V42.7024H31.374ZM31.374 41.813H31.624V41.563H31.374V41.813ZM30.4847 30.8937H29.5957V31.3937H30.4847V30.8937ZM29.3457 31.1437V32.0327H29.8457V31.1437H29.3457ZM29.5957 32.2827H30.4847V31.7827H29.5957V32.2827ZM30.7347 32.0327V31.1437H30.2347V32.0327H30.7347ZM31.624 30.2546V29.3652H31.124V30.2546H31.624ZM31.374 29.1152H30.4846V29.6152H31.374V29.1152ZM30.2346 29.3652V30.2546H30.7346V29.3652H30.2346ZM30.4846 30.5046H31.374V30.0046H30.4846V30.5046ZM36.9585 32.0327V31.1437H36.4585V32.0327H36.9585ZM36.7085 30.8937H35.8195V31.3937H36.7085V30.8937ZM35.5695 31.1437V32.0327H36.0695V31.1437H35.5695ZM35.8195 32.2827H36.7085V31.7827H35.8195V32.2827ZM36.0693 30.2546V29.3652H35.5693V30.2546H36.0693ZM35.8193 29.1152H34.9303V29.6152H35.8193V29.1152ZM34.6803 29.3652V30.2546H35.1803V29.3652H34.6803ZM34.9303 30.5046H35.8193V30.0046H34.9303V30.5046ZM36.9585 30.2546V29.3652H36.4585V30.2546H36.9585ZM36.7085 29.1152H35.8195V29.6152H36.7085V29.1152ZM35.5695 29.3652V30.2546H36.0695V29.3652H35.5695ZM35.8195 30.5046H36.7085V30.0046H35.8195V30.5046ZM30.4847 40.6741H29.5957V41.1741H30.4847V40.6741ZM29.3457 40.9241V41.8135H29.8457V40.9241H29.3457ZM29.5957 42.0635H30.4847V41.5635H29.5957V42.0635ZM30.7347 41.8135V40.9241H30.2347V41.8135H30.7347ZM30.4847 39.7847H29.5957V40.2847H30.4847V39.7847ZM29.3457 40.0347V40.9241H29.8457V40.0347H29.3457ZM29.5957 41.1741H30.4847V40.6741H29.5957V41.1741ZM30.7347 40.9241V40.0347H30.2347V40.9241H30.7347ZM30.2346 41.813V42.7024H30.7346V41.813H30.2346ZM30.4846 42.9524H31.374V42.4524H30.4846V42.9524ZM31.624 42.7024V41.813H31.124V42.7024H31.624ZM31.374 41.563H30.4846V42.063H31.374V41.563Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M30.4847 39.1465H29.5957V40.0351H30.4847V39.1465ZM35.8193 32.0326V31.1436H34.9303V32.0326H35.8193ZM34.9303 32.0326V31.1436H34.0409V32.0326H34.9303ZM30.4847 38.2562H29.5957V39.146H30.4847V38.2562ZM30.4847 34.6999H29.5957V35.5893H30.4847V34.6999Z" fill="white"/> +<path d="M30.4847 39.1465H30.7347V38.8965H30.4847V39.1465ZM29.5957 39.1465V38.8965H29.3457V39.1465H29.5957ZM29.5957 40.0351H29.3457V40.2851H29.5957V40.0351ZM30.4847 40.0351V40.2851H30.7347V40.0351H30.4847ZM35.8193 32.0326V32.2826H36.0693V32.0326H35.8193ZM35.8193 31.1436H36.0693V30.8936H35.8193V31.1436ZM34.9303 31.1436V30.8936H34.6803V31.1436H34.9303ZM34.9303 32.0326H34.6803V32.2826H34.9303V32.0326ZM34.9303 32.0326V32.2826H35.1803V32.0326H34.9303ZM34.9303 31.1436H35.1803V30.8936H34.9303V31.1436ZM34.0409 31.1436V30.8936H33.7909V31.1436H34.0409ZM34.0409 32.0326H33.7909V32.2826H34.0409V32.0326ZM30.4847 38.2562H30.7347V38.0062H30.4847V38.2562ZM29.5957 38.2562V38.0062H29.3457V38.2562H29.5957ZM29.5957 39.146H29.3457V39.396H29.5957V39.146ZM30.4847 39.146V39.396H30.7347V39.146H30.4847ZM30.4847 34.6999H30.7347V34.4499H30.4847V34.6999ZM29.5957 34.6999V34.4499H29.3457V34.6999H29.5957ZM29.5957 35.5893H29.3457V35.8393H29.5957V35.5893ZM30.4847 35.5893V35.8393H30.7347V35.5893H30.4847ZM30.4847 38.8965H29.5957V39.3965H30.4847V38.8965ZM29.3457 39.1465V40.0351H29.8457V39.1465H29.3457ZM29.5957 40.2851H30.4847V39.7851H29.5957V40.2851ZM30.7347 40.0351V39.1465H30.2347V40.0351H30.7347ZM36.0693 32.0326V31.1436H35.5693V32.0326H36.0693ZM35.8193 30.8936H34.9303V31.3936H35.8193V30.8936ZM34.6803 31.1436V32.0326H35.1803V31.1436H34.6803ZM34.9303 32.2826H35.8193V31.7826H34.9303V32.2826ZM35.1803 32.0326V31.1436H34.6803V32.0326H35.1803ZM34.9303 30.8936H34.0409V31.3936H34.9303V30.8936ZM33.7909 31.1436V32.0326H34.2909V31.1436H33.7909ZM34.0409 32.2826H34.9303V31.7826H34.0409V32.2826ZM30.4847 38.0062H29.5957V38.5062H30.4847V38.0062ZM29.3457 38.2562V39.146H29.8457V38.2562H29.3457ZM29.5957 39.396H30.4847V38.896H29.5957V39.396ZM30.7347 39.146V38.2562H30.2347V39.146H30.7347ZM30.4847 34.4499H29.5957V34.9499H30.4847V34.4499ZM29.3457 34.6999V35.5893H29.8457V34.6999H29.3457ZM29.5957 35.8393H30.4847V35.3393H29.5957V35.8393ZM30.7347 35.5893V34.6999H30.2347V35.5893H30.7347Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M30.4847 35.5898H29.5957V36.4792H30.4847V35.5898V35.5898ZM30.4848 37.3677H29.5958V38.2571H30.4848V37.3677V37.3677Z" fill="white"/> +<path d="M29.5957 35.5898V35.3398H29.3457V35.5898H29.5957ZM29.5957 36.4792H29.3457V36.7292H29.5957V36.4792ZM30.4847 36.4792V36.7292H30.7347V36.4792H30.4847ZM29.5958 37.3677V37.1177H29.3458V37.3677H29.5958ZM29.5958 38.2571H29.3458V38.5071H29.5958V38.2571ZM30.4848 38.2571V38.5071H30.7348V38.2571H30.4848ZM30.4847 35.3398H29.5957V35.8398H30.4847V35.3398ZM29.3457 35.5898V36.4792H29.8457V35.5898H29.3457ZM29.5957 36.7292H30.4847V36.2292H29.5957V36.7292ZM30.7347 36.4792V35.5898H30.2347V36.4792H30.7347ZM30.4848 37.1177H29.5958V37.6177H30.4848V37.1177ZM29.3458 37.3677V38.2571H29.8458V37.3677H29.3458ZM29.5958 38.5071H30.4848V38.0071H29.5958V38.5071ZM30.7348 38.2571V37.3677H30.2348V38.2571H30.7348Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M30.4846 36.4794H29.5956V37.368H30.4846V36.4794ZM29.5956 38.257H28.7062V39.1468H29.5956V38.257ZM29.5954 28.477H28.7061V29.3664H29.5954V28.477V28.477ZM31.3739 29.3659V28.4766H30.4845V29.3659H31.3739V29.3659ZM38.4866 29.3659V28.4766H37.5972V29.3659H38.4866V29.3659Z" fill="white"/> +<path d="M30.4846 36.4794H30.7346V36.2294H30.4846V36.4794ZM29.5956 36.4794V36.2294H29.3456V36.4794H29.5956ZM29.5956 37.368H29.3456V37.618H29.5956V37.368ZM30.4846 37.368V37.618H30.7346V37.368H30.4846ZM29.5956 38.257H29.8456V38.007H29.5956V38.257ZM28.7062 38.257V38.007H28.4562V38.257H28.7062ZM28.7062 39.1468H28.4562V39.3968H28.7062V39.1468ZM29.5956 39.1468V39.3968H29.8456V39.1468H29.5956ZM28.7061 28.477V28.227H28.4561V28.477H28.7061ZM28.7061 29.3664H28.4561V29.6164H28.7061V29.3664ZM29.5954 29.3664V29.6164H29.8454V29.3664H29.5954ZM31.3739 28.4766H31.6239V28.2266H31.3739V28.4766ZM30.4845 28.4766V28.2266H30.2345V28.4766H30.4845ZM30.4845 29.3659H30.2345V29.6159H30.4845V29.3659ZM38.4866 28.4766H38.7366V28.2266H38.4866V28.4766ZM37.5972 28.4766V28.2266H37.3472V28.4766H37.5972ZM37.5972 29.3659H37.3472V29.6159H37.5972V29.3659ZM30.4846 36.2294H29.5956V36.7294H30.4846V36.2294ZM29.3456 36.4794V37.368H29.8456V36.4794H29.3456ZM29.5956 37.618H30.4846V37.118H29.5956V37.618ZM30.7346 37.368V36.4794H30.2346V37.368H30.7346ZM29.5956 38.007H28.7062V38.507H29.5956V38.007ZM28.4562 38.257V39.1468H28.9562V38.257H28.4562ZM28.7062 39.3968H29.5956V38.8968H28.7062V39.3968ZM29.8456 39.1468V38.257H29.3456V39.1468H29.8456ZM29.5954 28.227H28.7061V28.727H29.5954V28.227ZM28.4561 28.477V29.3664H28.9561V28.477H28.4561ZM28.7061 29.6164H29.5954V29.1164H28.7061V29.6164ZM29.8454 29.3664V28.477H29.3454V29.3664H29.8454ZM31.6239 29.3659V28.4766H31.1239V29.3659H31.6239ZM31.3739 28.2266H30.4845V28.7266H31.3739V28.2266ZM30.2345 28.4766V29.3659H30.7345V28.4766H30.2345ZM30.4845 29.6159H31.3739V29.1159H30.4845V29.6159ZM38.7366 29.3659V28.4766H38.2366V29.3659H38.7366ZM38.4866 28.2266H37.5972V28.7266H38.4866V28.2266ZM37.3472 28.4766V29.3659H37.8472V28.4766H37.3472ZM37.5972 29.6159H38.4866V29.1159H37.5972V29.6159Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M29.5954 29.3652H28.7061V30.2546H29.5954V29.3652V29.3652ZM29.5956 30.2546H28.7062V31.144H29.5956V30.2546Z" fill="white"/> +<path d="M28.7061 29.3652V29.1152H28.4561V29.3652H28.7061ZM28.7061 30.2546H28.4561V30.5046H28.7061V30.2546ZM29.5954 30.2546V30.5046H29.8454V30.2546H29.5954ZM29.5956 30.2546H29.8456V30.0046H29.5956V30.2546ZM28.7062 30.2546V30.0046H28.4562V30.2546H28.7062ZM28.7062 31.144H28.4562V31.394H28.7062V31.144ZM29.5956 31.144V31.394H29.8456V31.144H29.5956ZM29.5954 29.1152H28.7061V29.6152H29.5954V29.1152ZM28.4561 29.3652V30.2546H28.9561V29.3652H28.4561ZM28.7061 30.5046H29.5954V30.0046H28.7061V30.5046ZM29.8454 30.2546V29.3652H29.3454V30.2546H29.8454ZM29.5956 30.0046H28.7062V30.5046H29.5956V30.0046ZM28.4562 30.2546V31.144H28.9562V30.2546H28.4562ZM28.7062 31.394H29.5956V30.894H28.7062V31.394ZM29.8456 31.144V30.2546H29.3456V31.144H29.8456Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M29.5954 31.1443H28.7061V32.0333H29.5954V31.1443ZM35.8191 29.3659V28.4766H34.9301V29.3659H35.8191V29.3659ZM37.597 29.3659V28.4766H36.7076V29.3659H37.597V29.3659ZM28.7061 42.7031V43.5925H29.5954V42.7031H28.7061V42.7031ZM30.4845 29.3659V28.4766H29.5955V29.3659H30.4845V29.3659ZM29.5954 39.1473H28.7061V40.0359H29.5954V39.1473ZM29.5954 37.368H28.7061V38.2574H29.5954V37.368V37.368Z" fill="white"/> +<path d="M29.5954 31.1443H29.8454V30.8943H29.5954V31.1443ZM28.7061 31.1443V30.8943H28.4561V31.1443H28.7061ZM28.7061 32.0333H28.4561V32.2833H28.7061V32.0333ZM29.5954 32.0333V32.2833H29.8454V32.0333H29.5954ZM35.8191 28.4766H36.0691V28.2266H35.8191V28.4766ZM34.9301 28.4766V28.2266H34.6801V28.4766H34.9301ZM34.9301 29.3659H34.6801V29.6159H34.9301V29.3659ZM37.597 28.4766H37.847V28.2266H37.597V28.4766ZM36.7076 28.4766V28.2266H36.4576V28.4766H36.7076ZM36.7076 29.3659H36.4576V29.6159H36.7076V29.3659ZM28.7061 43.5925H28.4561V43.8425H28.7061V43.5925ZM29.5954 43.5925V43.8425H29.8454V43.5925H29.5954ZM29.5954 42.7031H29.8454V42.4531H29.5954V42.7031ZM30.4845 28.4766H30.7345V28.2266H30.4845V28.4766ZM29.5955 28.4766V28.2266H29.3455V28.4766H29.5955ZM29.5955 29.3659H29.3455V29.6159H29.5955V29.3659ZM29.5954 39.1473H29.8454V38.8973H29.5954V39.1473ZM28.7061 39.1473V38.8973H28.4561V39.1473H28.7061ZM28.7061 40.0359H28.4561V40.2859H28.7061V40.0359ZM29.5954 40.0359V40.2859H29.8454V40.0359H29.5954ZM28.7061 37.368V37.118H28.4561V37.368H28.7061ZM28.7061 38.2574H28.4561V38.5074H28.7061V38.2574ZM29.5954 38.2574V38.5074H29.8454V38.2574H29.5954ZM29.5954 30.8943H28.7061V31.3943H29.5954V30.8943ZM28.4561 31.1443V32.0333H28.9561V31.1443H28.4561ZM28.7061 32.2833H29.5954V31.7833H28.7061V32.2833ZM29.8454 32.0333V31.1443H29.3454V32.0333H29.8454ZM36.0691 29.3659V28.4766H35.5691V29.3659H36.0691ZM35.8191 28.2266H34.9301V28.7266H35.8191V28.2266ZM34.6801 28.4766V29.3659H35.1801V28.4766H34.6801ZM34.9301 29.6159H35.8191V29.1159H34.9301V29.6159ZM37.847 29.3659V28.4766H37.347V29.3659H37.847ZM37.597 28.2266H36.7076V28.7266H37.597V28.2266ZM36.4576 28.4766V29.3659H36.9576V28.4766H36.4576ZM36.7076 29.6159H37.597V29.1159H36.7076V29.6159ZM28.4561 42.7031V43.5925H28.9561V42.7031H28.4561ZM28.7061 43.8425H29.5954V43.3425H28.7061V43.8425ZM29.8454 43.5925V42.7031H29.3454V43.5925H29.8454ZM29.5954 42.4531H28.7061V42.9531H29.5954V42.4531ZM30.7345 29.3659V28.4766H30.2345V29.3659H30.7345ZM30.4845 28.2266H29.5955V28.7266H30.4845V28.2266ZM29.3455 28.4766V29.3659H29.8455V28.4766H29.3455ZM29.5955 29.6159H30.4845V29.1159H29.5955V29.6159ZM29.5954 38.8973H28.7061V39.3973H29.5954V38.8973ZM28.4561 39.1473V40.0359H28.9561V39.1473H28.4561ZM28.7061 40.2859H29.5954V39.7859H28.7061V40.2859ZM29.8454 40.0359V39.1473H29.3454V40.0359H29.8454ZM29.5954 37.118H28.7061V37.618H29.5954V37.118ZM28.4561 37.368V38.2574H28.9561V37.368H28.4561ZM28.7061 38.5074H29.5954V38.0074H28.7061V38.5074ZM29.8454 38.2574V37.368H29.3454V38.2574H29.8454Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M29.5954 40.0347H28.7061V40.9241H29.5954V40.0347ZM38.4864 30.2546V29.3652H37.597V30.2546H38.4864V30.2546ZM29.5954 40.9241H28.7061V41.8135H29.5954V40.9241Z" fill="white"/> +<path d="M29.5954 40.0347H29.8454V39.7847H29.5954V40.0347ZM28.7061 40.0347V39.7847H28.4561V40.0347H28.7061ZM28.7061 40.9241H28.4561V41.1741H28.7061V40.9241ZM29.5954 40.9241V41.1741H29.8454V40.9241H29.5954ZM38.4864 29.3652H38.7364V29.1152H38.4864V29.3652ZM37.597 29.3652V29.1152H37.347V29.3652H37.597ZM37.597 30.2546H37.347V30.5046H37.597V30.2546ZM29.5954 40.9241H29.8454V40.6741H29.5954V40.9241ZM28.7061 40.9241V40.6741H28.4561V40.9241H28.7061ZM28.7061 41.8135H28.4561V42.0635H28.7061V41.8135ZM29.5954 41.8135V42.0635H29.8454V41.8135H29.5954ZM29.5954 39.7847H28.7061V40.2847H29.5954V39.7847ZM28.4561 40.0347V40.9241H28.9561V40.0347H28.4561ZM28.7061 41.1741H29.5954V40.6741H28.7061V41.1741ZM29.8454 40.9241V40.0347H29.3454V40.9241H29.8454ZM38.7364 30.2546V29.3652H38.2364V30.2546H38.7364ZM38.4864 29.1152H37.597V29.6152H38.4864V29.1152ZM37.347 29.3652V30.2546H37.847V29.3652H37.347ZM37.597 30.5046H38.4864V30.0046H37.597V30.5046ZM29.5954 40.6741H28.7061V41.1741H29.5954V40.6741ZM28.4561 40.9241V41.8135H28.9561V40.9241H28.4561ZM28.7061 42.0635H29.5954V41.5635H28.7061V42.0635ZM29.8454 41.8135V40.9241H29.3454V41.8135H29.8454Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M29.5956 41.8136H28.7062V42.703H29.5956V41.8136V41.8136ZM29.5956 36.4794H28.7062V37.368H29.5956V36.4794ZM29.5956 32.9225H28.7062V33.8115H29.5956V32.9225ZM29.5954 32.0332H28.7061V32.9226H29.5954V32.0332ZM29.5956 34.7006H28.7062V35.5899H29.5956V34.7006Z" fill="white"/> +<path d="M28.7062 41.8136V41.5636H28.4562V41.8136H28.7062ZM28.7062 42.703H28.4562V42.953H28.7062V42.703ZM29.5956 42.703V42.953H29.8456V42.703H29.5956ZM29.5956 36.4794H29.8456V36.2294H29.5956V36.4794ZM28.7062 36.4794V36.2294H28.4562V36.4794H28.7062ZM28.7062 37.368H28.4562V37.618H28.7062V37.368ZM29.5956 37.368V37.618H29.8456V37.368H29.5956ZM29.5956 32.9225H29.8456V32.6725H29.5956V32.9225ZM28.7062 32.9225V32.6725H28.4562V32.9225H28.7062ZM28.7062 33.8115H28.4562V34.0615H28.7062V33.8115ZM29.5956 33.8115V34.0615H29.8456V33.8115H29.5956ZM29.5954 32.0332H29.8454V31.7832H29.5954V32.0332ZM28.7061 32.0332V31.7832H28.4561V32.0332H28.7061ZM28.7061 32.9226H28.4561V33.1726H28.7061V32.9226ZM29.5954 32.9226V33.1726H29.8454V32.9226H29.5954ZM29.5956 34.7006H29.8456V34.4506H29.5956V34.7006ZM28.7062 34.7006V34.4506H28.4562V34.7006H28.7062ZM28.7062 35.5899H28.4562V35.8399H28.7062V35.5899ZM29.5956 35.5899V35.8399H29.8456V35.5899H29.5956ZM29.5956 41.5636H28.7062V42.0636H29.5956V41.5636ZM28.4562 41.8136V42.703H28.9562V41.8136H28.4562ZM28.7062 42.953H29.5956V42.453H28.7062V42.953ZM29.8456 42.703V41.8136H29.3456V42.703H29.8456ZM29.5956 36.2294H28.7062V36.7294H29.5956V36.2294ZM28.4562 36.4794V37.368H28.9562V36.4794H28.4562ZM28.7062 37.618H29.5956V37.118H28.7062V37.618ZM29.8456 37.368V36.4794H29.3456V37.368H29.8456ZM29.5956 32.6725H28.7062V33.1725H29.5956V32.6725ZM28.4562 32.9225V33.8115H28.9562V32.9225H28.4562ZM28.7062 34.0615H29.5956V33.5615H28.7062V34.0615ZM29.8456 33.8115V32.9225H29.3456V33.8115H29.8456ZM29.5954 31.7832H28.7061V32.2832H29.5954V31.7832ZM28.4561 32.0332V32.9226H28.9561V32.0332H28.4561ZM28.7061 33.1726H29.5954V32.6726H28.7061V33.1726ZM29.8454 32.9226V32.0332H29.3454V32.9226H29.8454ZM29.5956 34.4506H28.7062V34.9506H29.5956V34.4506ZM28.4562 34.7006V35.5899H28.9562V34.7006H28.4562ZM28.7062 35.8399H29.5956V35.3399H28.7062V35.8399ZM29.8456 35.5899V34.7006H29.3456V35.5899H29.8456Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M29.5954 35.5901H28.7061V36.4795H29.5954V35.5901V35.5901ZM39.3756 38.2569H40.265V37.3675H39.3756V38.2569V38.2569ZM39.3756 33.8116H40.265V32.9226H39.3756V33.8116V33.8116ZM39.3756 32.9226H40.265V32.0333H39.3756V32.9226V32.9226ZM40.265 29.3659V28.4766H39.3756V29.3659H40.265V29.3659Z" fill="white"/> +<path d="M28.7061 35.5901V35.3401H28.4561V35.5901H28.7061ZM28.7061 36.4795H28.4561V36.7295H28.7061V36.4795ZM29.5954 36.4795V36.7295H29.8454V36.4795H29.5954ZM40.265 38.2569V38.5069H40.515V38.2569H40.265ZM40.265 37.3675H40.515V37.1175H40.265V37.3675ZM39.3756 37.3675V37.1175H39.1256V37.3675H39.3756ZM40.265 33.8116V34.0616H40.515V33.8116H40.265ZM40.265 32.9226H40.515V32.6726H40.265V32.9226ZM39.3756 32.9226V32.6726H39.1256V32.9226H39.3756ZM40.265 32.9226V33.1726H40.515V32.9226H40.265ZM40.265 32.0333H40.515V31.7833H40.265V32.0333ZM39.3756 32.0333V31.7833H39.1256V32.0333H39.3756ZM40.265 28.4766H40.515V28.2266H40.265V28.4766ZM39.3756 28.4766V28.2266H39.1256V28.4766H39.3756ZM39.3756 29.3659H39.1256V29.6159H39.3756V29.3659ZM29.5954 35.3401H28.7061V35.8401H29.5954V35.3401ZM28.4561 35.5901V36.4795H28.9561V35.5901H28.4561ZM28.7061 36.7295H29.5954V36.2295H28.7061V36.7295ZM29.8454 36.4795V35.5901H29.3454V36.4795H29.8454ZM39.3756 38.5069H40.265V38.0069H39.3756V38.5069ZM40.515 38.2569V37.3675H40.015V38.2569H40.515ZM40.265 37.1175H39.3756V37.6175H40.265V37.1175ZM39.1256 37.3675V38.2569H39.6256V37.3675H39.1256ZM39.3756 34.0616H40.265V33.5616H39.3756V34.0616ZM40.515 33.8116V32.9226H40.015V33.8116H40.515ZM40.265 32.6726H39.3756V33.1726H40.265V32.6726ZM39.1256 32.9226V33.8116H39.6256V32.9226H39.1256ZM39.3756 33.1726H40.265V32.6726H39.3756V33.1726ZM40.515 32.9226V32.0333H40.015V32.9226H40.515ZM40.265 31.7833H39.3756V32.2833H40.265V31.7833ZM39.1256 32.0333V32.9226H39.6256V32.0333H39.1256ZM40.515 29.3659V28.4766H40.015V29.3659H40.515ZM40.265 28.2266H39.3756V28.7266H40.265V28.2266ZM39.1256 28.4766V29.3659H39.6256V28.4766H39.1256ZM39.3756 29.6159H40.265V29.1159H39.3756V29.6159Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3755 34.6997H40.2649V33.8104H39.3755V34.6997V34.6997ZM39.3755 35.5893H40.2649V34.6999H39.3755V35.5893V35.5893ZM39.3755 36.4787H40.2649V35.5893H39.3755V36.4787V36.4787ZM42.0432 32.0326H42.9326V31.1436H42.0432V32.0326Z" fill="white"/> +<path d="M40.2649 34.6997V34.9497H40.5149V34.6997H40.2649ZM40.2649 33.8104H40.5149V33.5604H40.2649V33.8104ZM39.3755 33.8104V33.5604H39.1255V33.8104H39.3755ZM40.2649 35.5893V35.8393H40.5149V35.5893H40.2649ZM40.2649 34.6999H40.5149V34.4499H40.2649V34.6999ZM39.3755 34.6999V34.4499H39.1255V34.6999H39.3755ZM40.2649 36.4787V36.7287H40.5149V36.4787H40.2649ZM40.2649 35.5893H40.5149V35.3393H40.2649V35.5893ZM39.3755 35.5893V35.3393H39.1255V35.5893H39.3755ZM42.0432 32.0326H41.7932V32.2826H42.0432V32.0326ZM42.9326 32.0326V32.2826H43.1826V32.0326H42.9326ZM42.9326 31.1436H43.1826V30.8936H42.9326V31.1436ZM42.0432 31.1436V30.8936H41.7932V31.1436H42.0432ZM39.3755 34.9497H40.2649V34.4497H39.3755V34.9497ZM40.5149 34.6997V33.8104H40.0149V34.6997H40.5149ZM40.2649 33.5604H39.3755V34.0604H40.2649V33.5604ZM39.1255 33.8104V34.6997H39.6255V33.8104H39.1255ZM39.3755 35.8393H40.2649V35.3393H39.3755V35.8393ZM40.5149 35.5893V34.6999H40.0149V35.5893H40.5149ZM40.2649 34.4499H39.3755V34.9499H40.2649V34.4499ZM39.1255 34.6999V35.5893H39.6255V34.6999H39.1255ZM39.3755 36.7287H40.2649V36.2287H39.3755V36.7287ZM40.5149 36.4787V35.5893H40.0149V36.4787H40.5149ZM40.2649 35.3393H39.3755V35.8393H40.2649V35.3393ZM39.1255 35.5893V36.4787H39.6255V35.5893H39.1255ZM42.0432 32.2826H42.9326V31.7826H42.0432V32.2826ZM43.1826 32.0326V31.1436H42.6826V32.0326H43.1826ZM42.9326 30.8936H42.0432V31.3936H42.9326V30.8936ZM41.7932 31.1436V32.0326H42.2932V31.1436H41.7932Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0436 31.1442H42.933V30.2548H42.0436V31.1442V31.1442ZM42.9328 29.3659V28.4766H42.0435V29.3659H42.9328V29.3659Z" fill="white"/> +<path d="M42.933 31.1442V31.3942H43.183V31.1442H42.933ZM42.933 30.2548H43.183V30.0048H42.933V30.2548ZM42.0436 30.2548V30.0048H41.7936V30.2548H42.0436ZM42.9328 28.4766H43.1828V28.2266H42.9328V28.4766ZM42.0435 28.4766V28.2266H41.7935V28.4766H42.0435ZM42.0435 29.3659H41.7935V29.6159H42.0435V29.3659ZM42.0436 31.3942H42.933V30.8942H42.0436V31.3942ZM43.183 31.1442V30.2548H42.683V31.1442H43.183ZM42.933 30.0048H42.0436V30.5048H42.933V30.0048ZM41.7936 30.2548V31.1442H42.2936V30.2548H41.7936ZM43.1828 29.3659V28.4766H42.6828V29.3659H43.1828ZM42.9328 28.2266H42.0435V28.7266H42.9328V28.2266ZM41.7935 28.4766V29.3659H42.2935V28.4766H41.7935ZM42.0435 29.6159H42.9328V29.1159H42.0435V29.6159Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0433 30.2553H42.9327V29.3659H42.0433V30.2553V30.2553ZM39.3757 29.3659V28.4766H38.4863V29.3659H39.3757V29.3659ZM38.4866 39.1473V40.0359H39.376V39.1473H38.4866V39.1473Z" fill="white"/> +<path d="M42.9327 30.2553V30.5053H43.1827V30.2553H42.9327ZM42.9327 29.3659H43.1827V29.1159H42.9327V29.3659ZM42.0433 29.3659V29.1159H41.7933V29.3659H42.0433ZM39.3757 28.4766H39.6257V28.2266H39.3757V28.4766ZM38.4863 28.4766V28.2266H38.2363V28.4766H38.4863ZM38.4863 29.3659H38.2363V29.6159H38.4863V29.3659ZM38.4866 40.0359H38.2366V40.2859H38.4866V40.0359ZM39.376 40.0359V40.2859H39.626V40.0359H39.376ZM39.376 39.1473H39.626V38.8973H39.376V39.1473ZM42.0433 30.5053H42.9327V30.0053H42.0433V30.5053ZM43.1827 30.2553V29.3659H42.6827V30.2553H43.1827ZM42.9327 29.1159H42.0433V29.6159H42.9327V29.1159ZM41.7933 29.3659V30.2553H42.2933V29.3659H41.7933ZM39.6257 29.3659V28.4766H39.1257V29.3659H39.6257ZM39.3757 28.2266H38.4863V28.7266H39.3757V28.2266ZM38.2363 28.4766V29.3659H38.7363V28.4766H38.2363ZM38.4863 29.6159H39.3757V29.1159H38.4863V29.6159ZM38.2366 39.1473V40.0359H38.7366V39.1473H38.2366ZM38.4866 40.2859H39.376V39.7859H38.4866V40.2859ZM39.626 40.0359V39.1473H39.126V40.0359H39.626ZM39.376 38.8973H38.4866V39.3973H39.376V38.8973Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3755 40.0351H40.2649V39.1465H39.3755V40.0351H39.3755Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3757 39.1471H40.2651V38.2573H39.3757V39.1471V39.1471ZM42.0433 32.9226H42.9327V32.0332H42.0433V32.9226ZM37.5972 39.1472V40.0358H38.4866V39.1472H37.5972Z" fill="white"/> +<path d="M40.2651 39.1471V39.3971H40.5151V39.1471H40.2651ZM40.2651 38.2573H40.5151V38.0073H40.2651V38.2573ZM39.3757 38.2573V38.0073H39.1257V38.2573H39.3757ZM42.0433 32.9226H41.7933V33.1726H42.0433V32.9226ZM42.9327 32.9226V33.1726H43.1827V32.9226H42.9327ZM42.9327 32.0332H43.1827V31.7832H42.9327V32.0332ZM42.0433 32.0332V31.7832H41.7933V32.0332H42.0433ZM37.5972 39.1472V38.8972H37.3472V39.1472H37.5972ZM37.5972 40.0358H37.3472V40.2858H37.5972V40.0358ZM38.4866 40.0358V40.2858H38.7366V40.0358H38.4866ZM38.4866 39.1472H38.7366V38.8972H38.4866V39.1472ZM39.3757 39.3971H40.2651V38.8971H39.3757V39.3971ZM40.5151 39.1471V38.2573H40.0151V39.1471H40.5151ZM40.2651 38.0073H39.3757V38.5073H40.2651V38.0073ZM39.1257 38.2573V39.1471H39.6257V38.2573H39.1257ZM42.0433 33.1726H42.9327V32.6726H42.0433V33.1726ZM43.1827 32.9226V32.0332H42.6827V32.9226H43.1827ZM42.9327 31.7832H42.0433V32.2832H42.9327V31.7832ZM41.7933 32.0332V32.9226H42.2933V32.0332H41.7933ZM37.3472 39.1472V40.0358H37.8472V39.1472H37.3472ZM37.5972 40.2858H38.4866V39.7858H37.5972V40.2858ZM38.7366 40.0358V39.1472H38.2366V40.0358H38.7366ZM38.4866 38.8972H37.5972V39.3972H38.4866V38.8972Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M36.7081 39.1464V40.035H37.5975V39.1464H36.7081ZM39.3756 37.3671H40.265V36.4785H39.3756V37.3671V37.3671ZM40.2649 39.1462H41.1543V38.2565H40.2649V39.1462ZM31.3738 38.2561H30.4844V39.1459H31.3738V38.2561V38.2561Z" fill="white"/> +<path d="M36.7081 39.1464V38.8964H36.4581V39.1464H36.7081ZM36.7081 40.035H36.4581V40.285H36.7081V40.035ZM37.5975 40.035V40.285H37.8475V40.035H37.5975ZM37.5975 39.1464H37.8475V38.8964H37.5975V39.1464ZM40.265 37.3671V37.6171H40.515V37.3671H40.265ZM40.265 36.4785H40.515V36.2285H40.265V36.4785ZM39.3756 36.4785V36.2285H39.1256V36.4785H39.3756ZM40.2649 39.1462H40.0149V39.3962H40.2649V39.1462ZM41.1543 39.1462V39.3962H41.4043V39.1462H41.1543ZM41.1543 38.2565H41.4043V38.0065H41.1543V38.2565ZM40.2649 38.2565V38.0065H40.0149V38.2565H40.2649ZM30.4844 38.2561V38.0061H30.2344V38.2561H30.4844ZM30.4844 39.1459H30.2344V39.3959H30.4844V39.1459ZM31.3738 39.1459V39.3959H31.6238V39.1459H31.3738ZM36.4581 39.1464V40.035H36.9581V39.1464H36.4581ZM36.7081 40.285H37.5975V39.785H36.7081V40.285ZM37.8475 40.035V39.1464H37.3475V40.035H37.8475ZM37.5975 38.8964H36.7081V39.3964H37.5975V38.8964ZM39.3756 37.6171H40.265V37.1171H39.3756V37.6171ZM40.515 37.3671V36.4785H40.015V37.3671H40.515ZM40.265 36.2285H39.3756V36.7285H40.265V36.2285ZM39.1256 36.4785V37.3671H39.6256V36.4785H39.1256ZM40.2649 39.3962H41.1543V38.8962H40.2649V39.3962ZM41.4043 39.1462V38.2565H40.9043V39.1462H41.4043ZM41.1543 38.0065H40.2649V38.5065H41.1543V38.0065ZM40.0149 38.2565V39.1462H40.5149V38.2565H40.0149ZM31.3738 38.0061H30.4844V38.5061H31.3738V38.0061ZM30.2344 38.2561V39.1459H30.7344V38.2561H30.2344ZM30.4844 39.3959H31.3738V38.8959H30.4844V39.3959ZM31.6238 39.1459V38.2561H31.1238V39.1459H31.6238Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M40.265 40.0347H41.1544V39.1461H40.265V40.0347ZM39.3757 40.0347V40.9241H40.2651V40.0347H39.3757V40.0347ZM40.265 40.9241H41.1544V40.0347H40.265V40.9241ZM40.265 38.2563H41.1544V37.3669H40.265V38.2563V38.2563ZM31.3739 34.7H30.4845V35.5894H31.3739V34.7V34.7ZM31.3739 37.3673H30.4845V38.2567H31.3739V37.3673V37.3673ZM31.3738 32.9219H30.4844V33.8109H31.3738V32.9219V32.9219Z" fill="white"/> +<path d="M40.265 40.0347H40.015V40.2847H40.265V40.0347ZM41.1544 40.0347V40.2847H41.4044V40.0347H41.1544ZM41.1544 39.1461H41.4044V38.8961H41.1544V39.1461ZM40.265 39.1461V38.8961H40.015V39.1461H40.265ZM39.3757 40.9241H39.1257V41.1741H39.3757V40.9241ZM40.2651 40.9241V41.1741H40.5151V40.9241H40.2651ZM40.2651 40.0347H40.5151V39.7847H40.2651V40.0347ZM40.265 40.9241H40.015V41.1741H40.265V40.9241ZM41.1544 40.9241V41.1741H41.4044V40.9241H41.1544ZM41.1544 40.0347H41.4044V39.7847H41.1544V40.0347ZM40.265 40.0347V39.7847H40.015V40.0347H40.265ZM41.1544 38.2563V38.5063H41.4044V38.2563H41.1544ZM41.1544 37.3669H41.4044V37.1169H41.1544V37.3669ZM40.265 37.3669V37.1169H40.015V37.3669H40.265ZM30.4845 34.7V34.45H30.2345V34.7H30.4845ZM30.4845 35.5894H30.2345V35.8394H30.4845V35.5894ZM31.3739 35.5894V35.8394H31.6239V35.5894H31.3739ZM30.4845 37.3673V37.1173H30.2345V37.3673H30.4845ZM30.4845 38.2567H30.2345V38.5067H30.4845V38.2567ZM31.3739 38.2567V38.5067H31.6239V38.2567H31.3739ZM30.4844 32.9219V32.6719H30.2344V32.9219H30.4844ZM30.4844 33.8109H30.2344V34.0609H30.4844V33.8109ZM31.3738 33.8109V34.0609H31.6238V33.8109H31.3738ZM40.265 40.2847H41.1544V39.7847H40.265V40.2847ZM41.4044 40.0347V39.1461H40.9044V40.0347H41.4044ZM41.1544 38.8961H40.265V39.3961H41.1544V38.8961ZM40.015 39.1461V40.0347H40.515V39.1461H40.015ZM39.1257 40.0347V40.9241H39.6257V40.0347H39.1257ZM39.3757 41.1741H40.2651V40.6741H39.3757V41.1741ZM40.5151 40.9241V40.0347H40.0151V40.9241H40.5151ZM40.2651 39.7847H39.3757V40.2847H40.2651V39.7847ZM40.265 41.1741H41.1544V40.6741H40.265V41.1741ZM41.4044 40.9241V40.0347H40.9044V40.9241H41.4044ZM41.1544 39.7847H40.265V40.2847H41.1544V39.7847ZM40.015 40.0347V40.9241H40.515V40.0347H40.015ZM40.265 38.5063H41.1544V38.0063H40.265V38.5063ZM41.4044 38.2563V37.3669H40.9044V38.2563H41.4044ZM41.1544 37.1169H40.265V37.6169H41.1544V37.1169ZM40.015 37.3669V38.2563H40.515V37.3669H40.015ZM31.3739 34.45H30.4845V34.95H31.3739V34.45ZM30.2345 34.7V35.5894H30.7345V34.7H30.2345ZM30.4845 35.8394H31.3739V35.3394H30.4845V35.8394ZM31.6239 35.5894V34.7H31.1239V35.5894H31.6239ZM31.3739 37.1173H30.4845V37.6173H31.3739V37.1173ZM30.2345 37.3673V38.2567H30.7345V37.3673H30.2345ZM30.4845 38.5067H31.3739V38.0067H30.4845V38.5067ZM31.6239 38.2567V37.3673H31.1239V38.2567H31.6239ZM31.3738 32.6719H30.4844V33.1719H31.3738V32.6719ZM30.2344 32.9219V33.8109H30.7344V32.9219H30.2344ZM30.4844 34.0609H31.3738V33.5609H30.4844V34.0609ZM31.6238 33.8109V32.9219H31.1238V33.8109H31.6238Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M31.3738 35.5898H30.4844V36.4792H31.3738V35.5898V35.5898ZM31.3739 36.4792H30.4845V37.3679H31.3739V36.4792V36.4792Z" fill="white"/> +<path d="M30.4844 35.5898V35.3398H30.2344V35.5898H30.4844ZM30.4844 36.4792H30.2344V36.7292H30.4844V36.4792ZM31.3738 36.4792V36.7292H31.6238V36.4792H31.3738ZM30.4845 36.4792V36.2292H30.2345V36.4792H30.4845ZM30.4845 37.3679H30.2345V37.6179H30.4845V37.3679ZM31.3739 37.3679V37.6179H31.6239V37.3679H31.3739ZM31.3738 35.3398H30.4844V35.8398H31.3738V35.3398ZM30.2344 35.5898V36.4792H30.7344V35.5898H30.2344ZM30.4844 36.7292H31.3738V36.2292H30.4844V36.7292ZM31.6238 36.4792V35.5898H31.1238V36.4792H31.6238ZM31.3739 36.2292H30.4845V36.7292H31.3739V36.2292ZM30.2345 36.4792V37.3679H30.7345V36.4792H30.2345ZM30.4845 37.6179H31.3739V37.1179H30.4845V37.6179ZM31.6239 37.3679V36.4792H31.1239V37.3679H31.6239Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M32.2629 37.3672H31.3735V38.2566H32.2629V37.3672V37.3672ZM36.7083 40.0345V40.9239H37.5976V40.0345H36.7083ZM32.2629 39.1464H31.3735V40.035H32.2629V39.1464V39.1464Z" fill="white"/> +<path d="M31.3735 37.3672V37.1172H31.1235V37.3672H31.3735ZM31.3735 38.2566H31.1235V38.5066H31.3735V38.2566ZM32.2629 38.2566V38.5066H32.5129V38.2566H32.2629ZM36.7083 40.0345V39.7845H36.4583V40.0345H36.7083ZM36.7083 40.9239H36.4583V41.1739H36.7083V40.9239ZM37.5976 40.9239V41.1739H37.8476V40.9239H37.5976ZM37.5976 40.0345H37.8476V39.7845H37.5976V40.0345ZM31.3735 39.1464V38.8964H31.1235V39.1464H31.3735ZM31.3735 40.035H31.1235V40.285H31.3735V40.035ZM32.2629 40.035V40.285H32.5129V40.035H32.2629ZM32.2629 37.1172H31.3735V37.6172H32.2629V37.1172ZM31.1235 37.3672V38.2566H31.6235V37.3672H31.1235ZM31.3735 38.5066H32.2629V38.0066H31.3735V38.5066ZM32.5129 38.2566V37.3672H32.0129V38.2566H32.5129ZM36.4583 40.0345V40.9239H36.9583V40.0345H36.4583ZM36.7083 41.1739H37.5976V40.6739H36.7083V41.1739ZM37.8476 40.9239V40.0345H37.3476V40.9239H37.8476ZM37.5976 39.7845H36.7083V40.2845H37.5976V39.7845ZM32.2629 38.8964H31.3735V39.3964H32.2629V38.8964ZM31.1235 39.1464V40.035H31.6235V39.1464H31.1235ZM31.3735 40.285H32.2629V39.785H31.3735V40.285ZM32.5129 40.035V39.1464H32.0129V40.035H32.5129Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M32.2629 38.2561H31.3735V39.1459H32.2629V38.2561V38.2561ZM32.2629 36.4785H31.3735V37.3671H32.2629V36.4785V36.4785ZM31.3738 40.0345V40.9239H32.2632V40.0345H31.3738V40.0345ZM34.9302 40.0345V40.9239H35.8192V40.0345H34.9302ZM35.8193 40.0345V40.9239H36.7083V40.0345H35.8193Z" fill="white"/> +<path d="M31.3735 38.2561V38.0061H31.1235V38.2561H31.3735ZM31.3735 39.1459H31.1235V39.3959H31.3735V39.1459ZM32.2629 39.1459V39.3959H32.5129V39.1459H32.2629ZM31.3735 36.4785V36.2285H31.1235V36.4785H31.3735ZM31.3735 37.3671H31.1235V37.6171H31.3735V37.3671ZM32.2629 37.3671V37.6171H32.5129V37.3671H32.2629ZM31.3738 40.9239H31.1238V41.1739H31.3738V40.9239ZM32.2632 40.9239V41.1739H32.5132V40.9239H32.2632ZM32.2632 40.0345H32.5132V39.7845H32.2632V40.0345ZM34.9302 40.0345V39.7845H34.6802V40.0345H34.9302ZM34.9302 40.9239H34.6802V41.1739H34.9302V40.9239ZM35.8192 40.9239V41.1739H36.0692V40.9239H35.8192ZM35.8192 40.0345H36.0692V39.7845H35.8192V40.0345ZM35.8193 40.0345V39.7845H35.5693V40.0345H35.8193ZM35.8193 40.9239H35.5693V41.1739H35.8193V40.9239ZM36.7083 40.9239V41.1739H36.9583V40.9239H36.7083ZM36.7083 40.0345H36.9583V39.7845H36.7083V40.0345ZM32.2629 38.0061H31.3735V38.5061H32.2629V38.0061ZM31.1235 38.2561V39.1459H31.6235V38.2561H31.1235ZM31.3735 39.3959H32.2629V38.8959H31.3735V39.3959ZM32.5129 39.1459V38.2561H32.0129V39.1459H32.5129ZM32.2629 36.2285H31.3735V36.7285H32.2629V36.2285ZM31.1235 36.4785V37.3671H31.6235V36.4785H31.1235ZM31.3735 37.6171H32.2629V37.1171H31.3735V37.6171ZM32.5129 37.3671V36.4785H32.0129V37.3671H32.5129ZM31.1238 40.0345V40.9239H31.6238V40.0345H31.1238ZM31.3738 41.1739H32.2632V40.6739H31.3738V41.1739ZM32.5132 40.9239V40.0345H32.0132V40.9239H32.5132ZM32.2632 39.7845H31.3738V40.2845H32.2632V39.7845ZM34.6802 40.0345V40.9239H35.1802V40.0345H34.6802ZM34.9302 41.1739H35.8192V40.6739H34.9302V41.1739ZM36.0692 40.9239V40.0345H35.5692V40.9239H36.0692ZM35.8192 39.7845H34.9302V40.2845H35.8192V39.7845ZM35.5693 40.0345V40.9239H36.0693V40.0345H35.5693ZM35.8193 41.1739H36.7083V40.6739H35.8193V41.1739ZM36.9583 40.9239V40.0345H36.4583V40.9239H36.9583ZM36.7083 39.7845H35.8193V40.2845H36.7083V39.7845Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M32.2629 40.0352V40.9246H33.1519V40.0352H32.2629ZM34.0413 40.0352V40.9246H34.9306V40.0352H34.0413ZM31.3738 32.0332H30.4844V32.9226H31.3738V32.0332V32.0332Z" fill="white"/> +<path d="M32.2629 40.0352V39.7852H32.0129V40.0352H32.2629ZM32.2629 40.9246H32.0129V41.1746H32.2629V40.9246ZM33.1519 40.9246V41.1746H33.4019V40.9246H33.1519ZM33.1519 40.0352H33.4019V39.7852H33.1519V40.0352ZM34.0413 40.0352V39.7852H33.7913V40.0352H34.0413ZM34.0413 40.9246H33.7913V41.1746H34.0413V40.9246ZM34.9306 40.9246V41.1746H35.1806V40.9246H34.9306ZM34.9306 40.0352H35.1806V39.7852H34.9306V40.0352ZM30.4844 32.0332V31.7832H30.2344V32.0332H30.4844ZM30.4844 32.9226H30.2344V33.1726H30.4844V32.9226ZM31.3738 32.9226V33.1726H31.6238V32.9226H31.3738ZM32.0129 40.0352V40.9246H32.5129V40.0352H32.0129ZM32.2629 41.1746H33.1519V40.6746H32.2629V41.1746ZM33.4019 40.9246V40.0352H32.9019V40.9246H33.4019ZM33.1519 39.7852H32.2629V40.2852H33.1519V39.7852ZM33.7913 40.0352V40.9246H34.2913V40.0352H33.7913ZM34.0413 41.1746H34.9306V40.6746H34.0413V41.1746ZM35.1806 40.9246V40.0352H34.6806V40.9246H35.1806ZM34.9306 39.7852H34.0413V40.2852H34.9306V39.7852ZM31.3738 31.7832H30.4844V32.2832H31.3738V31.7832ZM30.2344 32.0332V32.9226H30.7344V32.0332H30.2344ZM30.4844 33.1726H31.3738V32.6726H30.4844V33.1726ZM31.6238 32.9226V32.0332H31.1238V32.9226H31.6238Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M33.1519 40.0347V40.9241H34.0412V40.0347H33.1519V40.0347ZM40.265 32.0326H41.1544V31.1436H40.265V32.0326ZM40.265 35.5893H41.1544V34.6999H40.265V35.5893V35.5893ZM40.265 32.9219H41.1544V32.0325H40.265V32.9219ZM40.265 33.8109H41.1544V32.9219H40.265V33.8109ZM40.265 37.3673H41.1544V36.4787H40.265V37.3673Z" fill="white"/> +<path d="M33.1519 40.9241H32.9019V41.1741H33.1519V40.9241ZM34.0412 40.9241V41.1741H34.2912V40.9241H34.0412ZM34.0412 40.0347H34.2912V39.7847H34.0412V40.0347ZM40.265 32.0326H40.015V32.2826H40.265V32.0326ZM41.1544 32.0326V32.2826H41.4044V32.0326H41.1544ZM41.1544 31.1436H41.4044V30.8936H41.1544V31.1436ZM40.265 31.1436V30.8936H40.015V31.1436H40.265ZM41.1544 35.5893V35.8393H41.4044V35.5893H41.1544ZM41.1544 34.6999H41.4044V34.4499H41.1544V34.6999ZM40.265 34.6999V34.4499H40.015V34.6999H40.265ZM40.265 32.9219H40.015V33.1719H40.265V32.9219ZM41.1544 32.9219V33.1719H41.4044V32.9219H41.1544ZM41.1544 32.0325H41.4044V31.7825H41.1544V32.0325ZM40.265 32.0325V31.7825H40.015V32.0325H40.265ZM40.265 33.8109H40.015V34.0609H40.265V33.8109ZM41.1544 33.8109V34.0609H41.4044V33.8109H41.1544ZM41.1544 32.9219H41.4044V32.6719H41.1544V32.9219ZM40.265 32.9219V32.6719H40.015V32.9219H40.265ZM40.265 37.3673H40.015V37.6173H40.265V37.3673ZM41.1544 37.3673V37.6173H41.4044V37.3673H41.1544ZM41.1544 36.4787H41.4044V36.2287H41.1544V36.4787ZM40.265 36.4787V36.2287H40.015V36.4787H40.265ZM32.9019 40.0347V40.9241H33.4019V40.0347H32.9019ZM33.1519 41.1741H34.0412V40.6741H33.1519V41.1741ZM34.2912 40.9241V40.0347H33.7912V40.9241H34.2912ZM34.0412 39.7847H33.1519V40.2847H34.0412V39.7847ZM40.265 32.2826H41.1544V31.7826H40.265V32.2826ZM41.4044 32.0326V31.1436H40.9044V32.0326H41.4044ZM41.1544 30.8936H40.265V31.3936H41.1544V30.8936ZM40.015 31.1436V32.0326H40.515V31.1436H40.015ZM40.265 35.8393H41.1544V35.3393H40.265V35.8393ZM41.4044 35.5893V34.6999H40.9044V35.5893H41.4044ZM41.1544 34.4499H40.265V34.9499H41.1544V34.4499ZM40.015 34.6999V35.5893H40.515V34.6999H40.015ZM40.265 33.1719H41.1544V32.6719H40.265V33.1719ZM41.4044 32.9219V32.0325H40.9044V32.9219H41.4044ZM41.1544 31.7825H40.265V32.2825H41.1544V31.7825ZM40.015 32.0325V32.9219H40.515V32.0325H40.015ZM40.265 34.0609H41.1544V33.5609H40.265V34.0609ZM41.4044 33.8109V32.9219H40.9044V33.8109H41.4044ZM41.1544 32.6719H40.265V33.1719H41.1544V32.6719ZM40.015 32.9219V33.8109H40.515V32.9219H40.015ZM40.265 37.6173H41.1544V37.1173H40.265V37.6173ZM41.4044 37.3673V36.4787H40.9044V37.3673H41.4044ZM41.1544 36.2287H40.265V36.7287H41.1544V36.2287ZM40.015 36.4787V37.3673H40.515V36.4787H40.015Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M40.2653 34.7006H41.1546V33.8112H40.2653V34.7006ZM23.3715 20.708C23.1189 20.9203 22.8716 21.1389 22.6299 21.3634H23.3715V20.708V20.708ZM49.1572 20.7485V21.3648H49.8521C49.6254 21.1539 49.3937 20.9484 49.1572 20.7485V20.7485ZM35.8193 31.1443V30.2549H34.9303V31.1443H35.8193V31.1443ZM31.374 30.2554H30.4846V31.1448H31.374V30.2554V30.2554ZM36.7085 31.1443V30.2549H35.8195V31.1443H36.7085V31.1443Z" fill="white"/> +<path d="M40.2653 34.7006H40.0153V34.9506H40.2653V34.7006ZM41.1546 34.7006V34.9506H41.4046V34.7006H41.1546ZM41.1546 33.8112H41.4046V33.5612H41.1546V33.8112ZM40.2653 33.8112V33.5612H40.0153V33.8112H40.2653ZM22.6299 21.3634L22.4597 21.1802L21.9934 21.6134H22.6299V21.3634ZM23.3715 21.3634V21.6134H23.6215V21.3634H23.3715ZM49.1572 21.3648H48.9072V21.6148H49.1572V21.3648ZM49.8521 21.3648V21.6148H50.4879L50.0223 21.1817L49.8521 21.3648ZM35.8193 30.2549H36.0693V30.0049H35.8193V30.2549ZM34.9303 30.2549V30.0049H34.6803V30.2549H34.9303ZM34.9303 31.1443H34.6803V31.3943H34.9303V31.1443ZM30.4846 30.2554V30.0054H30.2346V30.2554H30.4846ZM30.4846 31.1448H30.2346V31.3948H30.4846V31.1448ZM31.374 31.1448V31.3948H31.624V31.1448H31.374ZM36.7085 30.2549H36.9585V30.0049H36.7085V30.2549ZM35.8195 30.2549V30.0049H35.5695V30.2549H35.8195ZM35.8195 31.1443H35.5695V31.3943H35.8195V31.1443ZM40.2653 34.9506H41.1546V34.4506H40.2653V34.9506ZM41.4046 34.7006V33.8112H40.9046V34.7006H41.4046ZM41.1546 33.5612H40.2653V34.0612H41.1546V33.5612ZM40.0153 33.8112V34.7006H40.5153V33.8112H40.0153ZM23.2106 20.5166C22.9549 20.7316 22.7045 20.9529 22.4597 21.1802L22.8 21.5466C23.0388 21.3248 23.2829 21.109 23.5324 20.8994L23.2106 20.5166ZM22.6299 21.6134H23.3715V21.1134H22.6299V21.6134ZM23.6215 21.3634V20.708H23.1215V21.3634H23.6215ZM48.9072 20.7485V21.3648H49.4072V20.7485H48.9072ZM49.1572 21.6148H49.8521V21.1148H49.1572V21.6148ZM50.0223 21.1817C49.7927 20.9681 49.5581 20.76 49.3186 20.5576L48.9958 20.9395C49.2293 21.1368 49.458 21.3396 49.6818 21.5478L50.0223 21.1817ZM36.0693 31.1443V30.2549H35.5693V31.1443H36.0693ZM35.8193 30.0049H34.9303V30.5049H35.8193V30.0049ZM34.6803 30.2549V31.1443H35.1803V30.2549H34.6803ZM34.9303 31.3943H35.8193V30.8943H34.9303V31.3943ZM31.374 30.0054H30.4846V30.5054H31.374V30.0054ZM30.2346 30.2554V31.1448H30.7346V30.2554H30.2346ZM30.4846 31.3948H31.374V30.8948H30.4846V31.3948ZM31.624 31.1448V30.2554H31.124V31.1448H31.624ZM36.9585 31.1443V30.2549H36.4585V31.1443H36.9585ZM36.7085 30.0049H35.8195V30.5049H36.7085V30.0049ZM35.5695 30.2549V31.1443H36.0695V30.2549H35.5695ZM35.8195 31.3943H36.7085V30.8943H35.8195V31.3943Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M31.3738 31.1436H30.4844V32.0326H31.3738V31.1436V31.1436ZM41.1544 41.813H42.0438V40.9236H41.1544V41.813V41.813ZM32.263 32.9218H31.3737V33.8108H32.263V32.9218V32.9218Z" fill="white"/> +<path d="M30.4844 31.1436V30.8936H30.2344V31.1436H30.4844ZM30.4844 32.0326H30.2344V32.2826H30.4844V32.0326ZM31.3738 32.0326V32.2826H31.6238V32.0326H31.3738ZM42.0438 41.813V42.063H42.2938V41.813H42.0438ZM42.0438 40.9236H42.2938V40.6736H42.0438V40.9236ZM41.1544 40.9236V40.6736H40.9044V40.9236H41.1544ZM31.3737 32.9218V32.6718H31.1237V32.9218H31.3737ZM31.3737 33.8108H31.1237V34.0608H31.3737V33.8108ZM32.263 33.8108V34.0608H32.513V33.8108H32.263ZM31.3738 30.8936H30.4844V31.3936H31.3738V30.8936ZM30.2344 31.1436V32.0326H30.7344V31.1436H30.2344ZM30.4844 32.2826H31.3738V31.7826H30.4844V32.2826ZM31.6238 32.0326V31.1436H31.1238V32.0326H31.6238ZM41.1544 42.063H42.0438V41.563H41.1544V42.063ZM42.2938 41.813V40.9236H41.7938V41.813H42.2938ZM42.0438 40.6736H41.1544V41.1736H42.0438V40.6736ZM40.9044 40.9236V41.813H41.4044V40.9236H40.9044ZM32.263 32.6718H31.3737V33.1718H32.263V32.6718ZM31.1237 32.9218V33.8108H31.6237V32.9218H31.1237ZM31.3737 34.0608H32.263V33.5608H31.3737V34.0608ZM32.513 33.8108V32.9218H32.013V33.8108H32.513Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M32.2629 32.0332H31.3735V32.9226H32.2629V32.0332V32.0332Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M32.2629 31.1437H31.3735V32.0327H32.2629V31.1437V31.1437ZM50.753 22.253C50.5232 22.0107 50.2873 21.7742 50.0454 21.5439V22.253H50.753ZM41.1544 32.9219H42.0438V32.0325H41.1544V32.9219ZM32.2629 35.5894H31.3735V36.4787H32.2629V35.5894V35.5894Z" fill="white"/> +<path d="M31.3735 31.1437V30.8937H31.1235V31.1437H31.3735ZM31.3735 32.0327H31.1235V32.2827H31.3735V32.0327ZM32.2629 32.0327V32.2827H32.5129V32.0327H32.2629ZM50.753 22.253V22.503H51.3344L50.9344 22.0811L50.753 22.253ZM50.0454 21.5439L50.2178 21.3629L49.7954 20.9608V21.5439H50.0454ZM50.0454 22.253H49.7954V22.503H50.0454V22.253ZM41.1544 32.9219H40.9044V33.1719H41.1544V32.9219ZM42.0438 32.9219V33.1719H42.2938V32.9219H42.0438ZM42.0438 32.0325H42.2938V31.7825H42.0438V32.0325ZM41.1544 32.0325V31.7825H40.9044V32.0325H41.1544ZM31.3735 35.5894V35.3394H31.1235V35.5894H31.3735ZM31.3735 36.4787H31.1235V36.7287H31.3735V36.4787ZM32.2629 36.4787V36.7287H32.5129V36.4787H32.2629ZM32.2629 30.8937H31.3735V31.3937H32.2629V30.8937ZM31.1235 31.1437V32.0327H31.6235V31.1437H31.1235ZM31.3735 32.2827H32.2629V31.7827H31.3735V32.2827ZM32.5129 32.0327V31.1437H32.0129V32.0327H32.5129ZM50.9344 22.0811C50.7017 21.8356 50.4628 21.5961 50.2178 21.3629L49.873 21.725C50.1118 21.9523 50.3447 22.1857 50.5715 22.425L50.9344 22.0811ZM49.7954 21.5439V22.253H50.2954V21.5439H49.7954ZM50.0454 22.503H50.753V22.003H50.0454V22.503ZM41.1544 33.1719H42.0438V32.6719H41.1544V33.1719ZM42.2938 32.9219V32.0325H41.7938V32.9219H42.2938ZM42.0438 31.7825H41.1544V32.2825H42.0438V31.7825ZM40.9044 32.0325V32.9219H41.4044V32.0325H40.9044ZM32.2629 35.3394H31.3735V35.8394H32.2629V35.3394ZM31.1235 35.5894V36.4787H31.6235V35.5894H31.1235ZM31.3735 36.7287H32.2629V36.2287H31.3735V36.7287ZM32.5129 36.4787V35.5894H32.0129V36.4787H32.5129Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M32.2629 34.7003H31.3735V35.5896H32.2629V34.7003V34.7003ZM41.1544 33.8112H42.0438V32.9222H41.1544V33.8112ZM35.8192 35.5897H34.9302V36.479H35.8192V35.5897V35.5897ZM34.9302 36.4791V37.3677H35.8192V36.4791H34.9302ZM35.8193 36.4791V37.3677H36.7083V36.4791H35.8193ZM50.0456 36.479V35.5897H49.157V36.479H50.0456V36.479ZM51.5473 23.1423C51.3485 22.9064 51.1445 22.675 50.9353 22.4482V23.1423H51.5473V23.1423Z" fill="white"/> +<path d="M31.3735 34.7003V34.4503H31.1235V34.7003H31.3735ZM31.3735 35.5896H31.1235V35.8396H31.3735V35.5896ZM32.2629 35.5896V35.8396H32.5129V35.5896H32.2629ZM41.1544 33.8112H40.9044V34.0612H41.1544V33.8112ZM42.0438 33.8112V34.0612H42.2938V33.8112H42.0438ZM42.0438 32.9222H42.2938V32.6722H42.0438V32.9222ZM41.1544 32.9222V32.6722H40.9044V32.9222H41.1544ZM34.9302 35.5897V35.3397H34.6802V35.5897H34.9302ZM34.9302 36.479H34.6802V36.729H34.9302V36.479ZM35.8192 36.479V36.729H36.0692V36.479H35.8192ZM34.9302 36.4791V36.2291H34.6802V36.4791H34.9302ZM34.9302 37.3677H34.6802V37.6177H34.9302V37.3677ZM35.8192 37.3677V37.6177H36.0692V37.3677H35.8192ZM35.8192 36.4791H36.0692V36.2291H35.8192V36.4791ZM35.8193 36.4791V36.2291H35.5693V36.4791H35.8193ZM35.8193 37.3677H35.5693V37.6177H35.8193V37.3677ZM36.7083 37.3677V37.6177H36.9583V37.3677H36.7083ZM36.7083 36.4791H36.9583V36.2291H36.7083V36.4791ZM50.0456 35.5897H50.2956V35.3397H50.0456V35.5897ZM49.157 35.5897V35.3397H48.907V35.5897H49.157ZM49.157 36.479H48.907V36.729H49.157V36.479ZM50.9353 22.4482L51.119 22.2787L50.6853 21.8086V22.4482H50.9353ZM50.9353 23.1423H50.6853V23.3923H50.9353V23.1423ZM32.2629 34.4503H31.3735V34.9503H32.2629V34.4503ZM31.1235 34.7003V35.5896H31.6235V34.7003H31.1235ZM31.3735 35.8396H32.2629V35.3396H31.3735V35.8396ZM32.5129 35.5896V34.7003H32.0129V35.5896H32.5129ZM41.1544 34.0612H42.0438V33.5612H41.1544V34.0612ZM42.2938 33.8112V32.9222H41.7938V33.8112H42.2938ZM42.0438 32.6722H41.1544V33.1722H42.0438V32.6722ZM40.9044 32.9222V33.8112H41.4044V32.9222H40.9044ZM35.8192 35.3397H34.9302V35.8397H35.8192V35.3397ZM34.6802 35.5897V36.479H35.1802V35.5897H34.6802ZM34.9302 36.729H35.8192V36.229H34.9302V36.729ZM36.0692 36.479V35.5897H35.5692V36.479H36.0692ZM34.6802 36.4791V37.3677H35.1802V36.4791H34.6802ZM34.9302 37.6177H35.8192V37.1177H34.9302V37.6177ZM36.0692 37.3677V36.4791H35.5692V37.3677H36.0692ZM35.8192 36.2291H34.9302V36.7291H35.8192V36.2291ZM35.5693 36.4791V37.3677H36.0693V36.4791H35.5693ZM35.8193 37.6177H36.7083V37.1177H35.8193V37.6177ZM36.9583 37.3677V36.4791H36.4583V37.3677H36.9583ZM36.7083 36.2291H35.8193V36.7291H36.7083V36.2291ZM50.2956 36.479V35.5897H49.7956V36.479H50.2956ZM50.0456 35.3397H49.157V35.8397H50.0456V35.3397ZM48.907 35.5897V36.479H49.407V35.5897H48.907ZM49.157 36.729H50.0456V36.229H49.157V36.729ZM51.7385 22.9812C51.5373 22.7424 51.3308 22.5082 51.119 22.2787L50.7516 22.6178C50.9582 22.8417 51.1598 23.0703 51.3561 23.3034L51.7385 22.9812ZM50.6853 22.4482V23.1423H51.1853V22.4482H50.6853ZM50.9353 23.3923H51.5473V22.8923H50.9353V23.3923Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M35.8194 34.7H34.9304V35.5894H35.8194V34.7ZM35.8196 36.4787H36.7086V35.5894H35.8196V36.4787V36.4787ZM36.7086 35.5894V34.7H35.8196V35.5894H36.7086V35.5894ZM21.7285 22.252H22.482V21.5C22.2242 21.7439 21.9729 21.9946 21.7285 22.252V22.252ZM31.374 40.9241V41.8135H32.2634V40.9241H31.374V40.9241Z" fill="white"/> +<path d="M35.8194 34.7H36.0694V34.45H35.8194V34.7ZM34.9304 34.7V34.45H34.6804V34.7H34.9304ZM34.9304 35.5894H34.6804V35.8394H34.9304V35.5894ZM35.8194 35.5894V35.8394H36.0694V35.5894H35.8194ZM36.7086 36.4787V36.7287H36.9586V36.4787H36.7086ZM36.7086 35.5894H36.9586V35.3394H36.7086V35.5894ZM35.8196 35.5894V35.3394H35.5696V35.5894H35.8196ZM36.7086 34.7H36.9586V34.45H36.7086V34.7ZM35.8196 34.7V34.45H35.5696V34.7H35.8196ZM35.8196 35.5894H35.5696V35.8394H35.8196V35.5894ZM22.482 22.252V22.502H22.732V22.252H22.482ZM22.482 21.5H22.732V20.9195L22.3103 21.3184L22.482 21.5ZM31.374 41.8135H31.124V42.0635H31.374V41.8135ZM32.2634 41.8135V42.0635H32.5134V41.8135H32.2634ZM32.2634 40.9241H32.5134V40.6741H32.2634V40.9241ZM35.8194 34.45H34.9304V34.95H35.8194V34.45ZM34.6804 34.7V35.5894H35.1804V34.7H34.6804ZM34.9304 35.8394H35.8194V35.3394H34.9304V35.8394ZM36.0694 35.5894V34.7H35.5694V35.5894H36.0694ZM35.8196 36.7287H36.7086V36.2287H35.8196V36.7287ZM36.9586 36.4787V35.5894H36.4586V36.4787H36.9586ZM36.7086 35.3394H35.8196V35.8394H36.7086V35.3394ZM35.5696 35.5894V36.4787H36.0696V35.5894H35.5696ZM36.9586 35.5894V34.7H36.4586V35.5894H36.9586ZM36.7086 34.45H35.8196V34.95H36.7086V34.45ZM35.5696 34.7V35.5894H36.0696V34.7H35.5696ZM35.8196 35.8394H36.7086V35.3394H35.8196V35.8394ZM21.7285 22.502H22.482V22.002H21.7285V22.502ZM22.732 22.252V21.5H22.232V22.252H22.732ZM22.3103 21.3184C22.0492 21.5653 21.7947 21.8192 21.5472 22.0798L21.9098 22.4241C22.1511 22.17 22.3992 21.9224 22.6538 21.6816L22.3103 21.3184ZM31.124 40.9241V41.8135H31.624V40.9241H31.124ZM31.374 42.0635H32.2634V41.5635H31.374V42.0635ZM32.5134 41.8135V40.9241H32.0134V41.8135H32.5134ZM32.2634 40.6741H31.374V41.1741H32.2634V40.6741Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M32.2632 40.9248V41.8142H33.1522V40.9248H32.2632Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M33.1519 40.9249V41.8142H34.0412V40.9249H33.1519V40.9249ZM34.9302 40.9249V41.8142H35.8192V40.9249H34.9302ZM35.8193 40.9249V41.8142H36.7083V40.9249H35.8193ZM36.7083 40.9249V41.8142H37.5976V40.9249H36.7083ZM24.2609 20.001C24.0551 20.1547 23.8535 20.3135 23.6543 20.4746H24.2609V20.001ZM41.1544 34.7006H42.0438V33.8112H41.1544V34.7006ZM48.2678 20.0376V20.475H48.827C48.6432 20.3259 48.4568 20.1801 48.2678 20.0376V20.0376ZM31.3738 39.1473H30.4844V40.036H31.3738V39.1473V39.1473Z" fill="white"/> +<path d="M33.1519 41.8142H32.9019V42.0642H33.1519V41.8142ZM34.0412 41.8142V42.0642H34.2912V41.8142H34.0412ZM34.0412 40.9249H34.2912V40.6749H34.0412V40.9249ZM34.9302 40.9249V40.6749H34.6802V40.9249H34.9302ZM34.9302 41.8142H34.6802V42.0642H34.9302V41.8142ZM35.8192 41.8142V42.0642H36.0692V41.8142H35.8192ZM35.8192 40.9249H36.0692V40.6749H35.8192V40.9249ZM35.8193 40.9249V40.6749H35.5693V40.9249H35.8193ZM35.8193 41.8142H35.5693V42.0642H35.8193V41.8142ZM36.7083 41.8142V42.0642H36.9583V41.8142H36.7083ZM36.7083 40.9249H36.9583V40.6749H36.7083V40.9249ZM36.7083 40.9249V40.6749H36.4583V40.9249H36.7083ZM36.7083 41.8142H36.4583V42.0642H36.7083V41.8142ZM37.5976 41.8142V42.0642H37.8476V41.8142H37.5976ZM37.5976 40.9249H37.8476V40.6749H37.5976V40.9249ZM24.2609 20.001H24.5109V19.5021L24.1112 19.8007L24.2609 20.001ZM23.6543 20.4746L23.4971 20.2802L22.9475 20.7246H23.6543V20.4746ZM24.2609 20.4746V20.7246H24.5109V20.4746H24.2609ZM41.1544 34.7006H40.9044V34.9506H41.1544V34.7006ZM42.0438 34.7006V34.9506H42.2938V34.7006H42.0438ZM42.0438 33.8112H42.2938V33.5612H42.0438V33.8112ZM41.1544 33.8112V33.5612H40.9044V33.8112H41.1544ZM48.2678 20.475H48.0178V20.725H48.2678V20.475ZM48.827 20.475V20.725H49.5322L48.9845 20.2808L48.827 20.475ZM30.4844 39.1473V38.8973H30.2344V39.1473H30.4844ZM30.4844 40.036H30.2344V40.286H30.4844V40.036ZM31.3738 40.036V40.286H31.6238V40.036H31.3738ZM32.9019 40.9249V41.8142H33.4019V40.9249H32.9019ZM33.1519 42.0642H34.0412V41.5642H33.1519V42.0642ZM34.2912 41.8142V40.9249H33.7912V41.8142H34.2912ZM34.0412 40.6749H33.1519V41.1749H34.0412V40.6749ZM34.6802 40.9249V41.8142H35.1802V40.9249H34.6802ZM34.9302 42.0642H35.8192V41.5642H34.9302V42.0642ZM36.0692 41.8142V40.9249H35.5692V41.8142H36.0692ZM35.8192 40.6749H34.9302V41.1749H35.8192V40.6749ZM35.5693 40.9249V41.8142H36.0693V40.9249H35.5693ZM35.8193 42.0642H36.7083V41.5642H35.8193V42.0642ZM36.9583 41.8142V40.9249H36.4583V41.8142H36.9583ZM36.7083 40.6749H35.8193V41.1749H36.7083V40.6749ZM36.4583 40.9249V41.8142H36.9583V40.9249H36.4583ZM36.7083 42.0642H37.5976V41.5642H36.7083V42.0642ZM37.8476 41.8142V40.9249H37.3476V41.8142H37.8476ZM37.5976 40.6749H36.7083V41.1749H37.5976V40.6749ZM24.1112 19.8007C23.9021 19.957 23.6979 20.1178 23.4971 20.2802L23.8115 20.669C24.0091 20.5092 24.2081 20.3525 24.4105 20.2012L24.1112 19.8007ZM23.6543 20.7246H24.2609V20.2246H23.6543V20.7246ZM24.5109 20.4746V20.001H24.0109V20.4746H24.5109ZM41.1544 34.9506H42.0438V34.4506H41.1544V34.9506ZM42.2938 34.7006V33.8112H41.7938V34.7006H42.2938ZM42.0438 33.5612H41.1544V34.0612H42.0438V33.5612ZM40.9044 33.8112V34.7006H41.4044V33.8112H40.9044ZM48.0178 20.0376V20.475H48.5178V20.0376H48.0178ZM48.2678 20.725H48.827V20.225H48.2678V20.725ZM48.9845 20.2808C48.7984 20.1299 48.6096 19.9823 48.4184 19.838L48.1173 20.2372C48.3039 20.3779 48.488 20.522 48.6695 20.6692L48.9845 20.2808ZM31.3738 38.8973H30.4844V39.3973H31.3738V38.8973ZM30.2344 39.1473V40.036H30.7344V39.1473H30.2344ZM30.4844 40.286H31.3738V39.786H30.4844V40.286ZM31.6238 40.036V39.1473H31.1238V40.036H31.6238Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M31.3738 40.035H30.4844V40.9244H31.3738V40.035V40.035ZM30.4844 40.9245V41.8139H31.3738V40.9245H30.4844ZM41.1543 38.2566H42.0437V37.3672H41.1543V38.2566V38.2566ZM41.1543 39.1468H42.0437V38.2571H41.1543V39.1468Z" fill="white"/> +<path d="M30.4844 40.035V39.785H30.2344V40.035H30.4844ZM30.4844 40.9244H30.2344V41.1744H30.4844V40.9244ZM31.3738 40.9244V41.1744H31.6238V40.9244H31.3738ZM30.4844 40.9245V40.6745H30.2344V40.9245H30.4844ZM30.4844 41.8139H30.2344V42.0639H30.4844V41.8139ZM31.3738 41.8139V42.0639H31.6238V41.8139H31.3738ZM31.3738 40.9245H31.6238V40.6745H31.3738V40.9245ZM42.0437 38.2566V38.5066H42.2937V38.2566H42.0437ZM42.0437 37.3672H42.2937V37.1172H42.0437V37.3672ZM41.1543 37.3672V37.1172H40.9043V37.3672H41.1543ZM41.1543 39.1468H40.9043V39.3968H41.1543V39.1468ZM42.0437 39.1468V39.3968H42.2937V39.1468H42.0437ZM42.0437 38.2571H42.2937V38.0071H42.0437V38.2571ZM41.1543 38.2571V38.0071H40.9043V38.2571H41.1543ZM31.3738 39.785H30.4844V40.285H31.3738V39.785ZM30.2344 40.035V40.9244H30.7344V40.035H30.2344ZM30.4844 41.1744H31.3738V40.6744H30.4844V41.1744ZM31.6238 40.9244V40.035H31.1238V40.9244H31.6238ZM30.2344 40.9245V41.8139H30.7344V40.9245H30.2344ZM30.4844 42.0639H31.3738V41.5639H30.4844V42.0639ZM31.6238 41.8139V40.9245H31.1238V41.8139H31.6238ZM31.3738 40.6745H30.4844V41.1745H31.3738V40.6745ZM41.1543 38.5066H42.0437V38.0066H41.1543V38.5066ZM42.2937 38.2566V37.3672H41.7937V38.2566H42.2937ZM42.0437 37.1172H41.1543V37.6172H42.0437V37.1172ZM40.9043 37.3672V38.2566H41.4043V37.3672H40.9043ZM41.1543 39.3968H42.0437V38.8968H41.1543V39.3968ZM42.2937 39.1468V38.2571H41.7937V39.1468H42.2937ZM42.0437 38.0071H41.1543V38.5071H42.0437V38.0071ZM40.9043 38.2571V39.1468H41.4043V38.2571H40.9043Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M41.1543 40.0345H42.0437V39.1459H41.1543V40.0345ZM41.1544 37.3671H42.0438V36.4785H41.1544V37.3671Z" fill="white"/> +<path d="M41.1543 40.0345H40.9043V40.2845H41.1543V40.0345ZM42.0437 40.0345V40.2845H42.2937V40.0345H42.0437ZM42.0437 39.1459H42.2937V38.8959H42.0437V39.1459ZM41.1543 39.1459V38.8959H40.9043V39.1459H41.1543ZM41.1544 37.3671H40.9044V37.6171H41.1544V37.3671ZM42.0438 37.3671V37.6171H42.2938V37.3671H42.0438ZM42.0438 36.4785H42.2938V36.2285H42.0438V36.4785ZM41.1544 36.4785V36.2285H40.9044V36.4785H41.1544ZM41.1543 40.2845H42.0437V39.7845H41.1543V40.2845ZM42.2937 40.0345V39.1459H41.7937V40.0345H42.2937ZM42.0437 38.8959H41.1543V39.3959H42.0437V38.8959ZM40.9043 39.1459V40.0345H41.4043V39.1459H40.9043ZM41.1544 37.6171H42.0438V37.1171H41.1544V37.6171ZM42.2938 37.3671V36.4785H41.7938V37.3671H42.2938ZM42.0438 36.2285H41.1544V36.7285H42.0438V36.2285ZM40.9044 36.4785V37.3671H41.4044V36.4785H40.9044Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M41.1545 36.4792H42.0439V35.5898H41.1545V36.4792V36.4792ZM41.1545 35.5898H42.0439V34.7004H41.1545V35.5898V35.5898ZM41.1545 40.9245H42.0439V40.0352H41.1545V40.9245ZM39.3759 40.9246V41.8139H40.2652V40.9246H39.3759V40.9246ZM39.3758 30.255V29.3657H38.4865V30.255H39.3758V30.255ZM40.2653 40.9246V41.8139H41.1546V40.9246H40.2653ZM40.2653 36.4792H41.1546V35.5898H40.2653V36.4792V36.4792ZM38.4867 27.5876V26.6982H37.5973V27.5876H38.4867V27.5876ZM29.5957 42.7028V43.5922H30.4847V42.7028H29.5957V42.7028ZM43.822 32.9223H44.7114V32.033H43.822V32.9223V32.9223ZM40.2652 27.5876V26.6982H39.3759V27.5876H40.2652Z" fill="white"/> +<path d="M42.0439 36.4792V36.7292H42.2939V36.4792H42.0439ZM42.0439 35.5898H42.2939V35.3398H42.0439V35.5898ZM41.1545 35.5898V35.3398H40.9045V35.5898H41.1545ZM42.0439 35.5898V35.8398H42.2939V35.5898H42.0439ZM42.0439 34.7004H42.2939V34.4504H42.0439V34.7004ZM41.1545 34.7004V34.4504H40.9045V34.7004H41.1545ZM41.1545 40.9245H40.9045V41.1745H41.1545V40.9245ZM42.0439 40.9245V41.1745H42.2939V40.9245H42.0439ZM42.0439 40.0352H42.2939V39.7852H42.0439V40.0352ZM41.1545 40.0352V39.7852H40.9045V40.0352H41.1545ZM39.3759 41.8139H39.1259V42.0639H39.3759V41.8139ZM40.2652 41.8139V42.0639H40.5152V41.8139H40.2652ZM40.2652 40.9246H40.5152V40.6746H40.2652V40.9246ZM39.3758 29.3657H39.6258V29.1157H39.3758V29.3657ZM38.4865 29.3657V29.1157H38.2365V29.3657H38.4865ZM38.4865 30.255H38.2365V30.505H38.4865V30.255ZM40.2653 40.9246V40.6746H40.0153V40.9246H40.2653ZM40.2653 41.8139H40.0153V42.0639H40.2653V41.8139ZM41.1546 41.8139V42.0639H41.4046V41.8139H41.1546ZM41.1546 40.9246H41.4046V40.6746H41.1546V40.9246ZM41.1546 36.4792V36.7292H41.4046V36.4792H41.1546ZM41.1546 35.5898H41.4046V35.3398H41.1546V35.5898ZM40.2653 35.5898V35.3398H40.0153V35.5898H40.2653ZM38.4867 26.6982H38.7367V26.4482H38.4867V26.6982ZM37.5973 26.6982V26.4482H37.3473V26.6982H37.5973ZM37.5973 27.5876H37.3473V27.8376H37.5973V27.5876ZM29.5957 43.5922H29.3457V43.8422H29.5957V43.5922ZM30.4847 43.5922V43.8422H30.7347V43.5922H30.4847ZM30.4847 42.7028H30.7347V42.4528H30.4847V42.7028ZM44.7114 32.9223V33.1723H44.9614V32.9223H44.7114ZM44.7114 32.033H44.9614V31.783H44.7114V32.033ZM43.822 32.033V31.783H43.572V32.033H43.822ZM40.2652 27.5876V27.8376H40.5152V27.5876H40.2652ZM40.2652 26.6982H40.5152V26.4482H40.2652V26.6982ZM39.3759 26.6982V26.4482H39.1259V26.6982H39.3759ZM39.3759 27.5876H39.1259V27.8376H39.3759V27.5876ZM41.1545 36.7292H42.0439V36.2292H41.1545V36.7292ZM42.2939 36.4792V35.5898H41.7939V36.4792H42.2939ZM42.0439 35.3398H41.1545V35.8398H42.0439V35.3398ZM40.9045 35.5898V36.4792H41.4045V35.5898H40.9045ZM41.1545 35.8398H42.0439V35.3398H41.1545V35.8398ZM42.2939 35.5898V34.7004H41.7939V35.5898H42.2939ZM42.0439 34.4504H41.1545V34.9504H42.0439V34.4504ZM40.9045 34.7004V35.5898H41.4045V34.7004H40.9045ZM41.1545 41.1745H42.0439V40.6745H41.1545V41.1745ZM42.2939 40.9245V40.0352H41.7939V40.9245H42.2939ZM42.0439 39.7852H41.1545V40.2852H42.0439V39.7852ZM40.9045 40.0352V40.9245H41.4045V40.0352H40.9045ZM39.1259 40.9246V41.8139H39.6259V40.9246H39.1259ZM39.3759 42.0639H40.2652V41.5639H39.3759V42.0639ZM40.5152 41.8139V40.9246H40.0152V41.8139H40.5152ZM40.2652 40.6746H39.3759V41.1746H40.2652V40.6746ZM39.6258 30.255V29.3657H39.1258V30.255H39.6258ZM39.3758 29.1157H38.4865V29.6157H39.3758V29.1157ZM38.2365 29.3657V30.255H38.7365V29.3657H38.2365ZM38.4865 30.505H39.3758V30.005H38.4865V30.505ZM40.0153 40.9246V41.8139H40.5153V40.9246H40.0153ZM40.2653 42.0639H41.1546V41.5639H40.2653V42.0639ZM41.4046 41.8139V40.9246H40.9046V41.8139H41.4046ZM41.1546 40.6746H40.2653V41.1746H41.1546V40.6746ZM40.2653 36.7292H41.1546V36.2292H40.2653V36.7292ZM41.4046 36.4792V35.5898H40.9046V36.4792H41.4046ZM41.1546 35.3398H40.2653V35.8398H41.1546V35.3398ZM40.0153 35.5898V36.4792H40.5153V35.5898H40.0153ZM38.7367 27.5876V26.6982H38.2367V27.5876H38.7367ZM38.4867 26.4482H37.5973V26.9482H38.4867V26.4482ZM37.3473 26.6982V27.5876H37.8473V26.6982H37.3473ZM37.5973 27.8376H38.4867V27.3376H37.5973V27.8376ZM29.3457 42.7028V43.5922H29.8457V42.7028H29.3457ZM29.5957 43.8422H30.4847V43.3422H29.5957V43.8422ZM30.7347 43.5922V42.7028H30.2347V43.5922H30.7347ZM30.4847 42.4528H29.5957V42.9528H30.4847V42.4528ZM43.822 33.1723H44.7114V32.6723H43.822V33.1723ZM44.9614 32.9223V32.033H44.4614V32.9223H44.9614ZM44.7114 31.783H43.822V32.283H44.7114V31.783ZM43.572 32.033V32.9223H44.072V32.033H43.572ZM40.5152 27.5876V26.6982H40.0152V27.5876H40.5152ZM40.2652 26.4482H39.3759V26.9482H40.2652V26.4482ZM39.1259 26.6982V27.5876H39.6259V26.6982H39.1259ZM39.3759 27.8376H40.2652V27.3376H39.3759V27.8376Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3757 27.5876V26.6982H38.4863V27.5876H39.3757V27.5876ZM43.8219 31.144H44.7113V30.2546H43.8219V31.144V31.144Z" fill="white"/> +<path d="M39.3757 26.6982H39.6257V26.4482H39.3757V26.6982ZM38.4863 26.6982V26.4482H38.2363V26.6982H38.4863ZM38.4863 27.5876H38.2363V27.8376H38.4863V27.5876ZM44.7113 31.144V31.394H44.9613V31.144H44.7113ZM44.7113 30.2546H44.9613V30.0046H44.7113V30.2546ZM43.8219 30.2546V30.0046H43.5719V30.2546H43.8219ZM39.6257 27.5876V26.6982H39.1257V27.5876H39.6257ZM39.3757 26.4482H38.4863V26.9482H39.3757V26.4482ZM38.2363 26.6982V27.5876H38.7363V26.6982H38.2363ZM38.4863 27.8376H39.3757V27.3376H38.4863V27.8376ZM43.8219 31.394H44.7113V30.894H43.8219V31.394ZM44.9613 31.144V30.2546H44.4613V31.144H44.9613ZM44.7113 30.0046H43.8219V30.5046H44.7113V30.0046ZM43.5719 30.2546V31.144H44.0719V30.2546H43.5719Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M43.8218 32.0331H44.7112V31.1441H43.8218V32.0331V32.0331ZM43.8218 30.2551H44.7112V29.3657H43.8218V30.2551V30.2551ZM44.7112 27.5876V26.6982H43.8218V27.5876H44.7112V27.5876ZM43.8218 29.3657H44.7112V28.4763H43.8218V29.3657V29.3657Z" fill="white"/> +<path d="M44.7112 32.0331V32.2831H44.9612V32.0331H44.7112ZM44.7112 31.1441H44.9612V30.8941H44.7112V31.1441ZM43.8218 31.1441V30.8941H43.5718V31.1441H43.8218ZM44.7112 30.2551V30.5051H44.9612V30.2551H44.7112ZM44.7112 29.3657H44.9612V29.1157H44.7112V29.3657ZM43.8218 29.3657V29.1157H43.5718V29.3657H43.8218ZM44.7112 26.6982H44.9612V26.4482H44.7112V26.6982ZM43.8218 26.6982V26.4482H43.5718V26.6982H43.8218ZM43.8218 27.5876H43.5718V27.8376H43.8218V27.5876ZM44.7112 29.3657V29.6157H44.9612V29.3657H44.7112ZM44.7112 28.4763H44.9612V28.2263H44.7112V28.4763ZM43.8218 28.4763V28.2263H43.5718V28.4763H43.8218ZM43.8218 32.2831H44.7112V31.7831H43.8218V32.2831ZM44.9612 32.0331V31.1441H44.4612V32.0331H44.9612ZM44.7112 30.8941H43.8218V31.3941H44.7112V30.8941ZM43.5718 31.1441V32.0331H44.0718V31.1441H43.5718ZM43.8218 30.5051H44.7112V30.0051H43.8218V30.5051ZM44.9612 30.2551V29.3657H44.4612V30.2551H44.9612ZM44.7112 29.1157H43.8218V29.6157H44.7112V29.1157ZM43.5718 29.3657V30.2551H44.0718V29.3657H43.5718ZM44.9612 27.5876V26.6982H44.4612V27.5876H44.9612ZM44.7112 26.4482H43.8218V26.9482H44.7112V26.4482ZM43.5718 26.6982V27.5876H44.0718V26.6982H43.5718ZM43.8218 27.8376H44.7112V27.3376H43.8218V27.8376ZM43.8218 29.6157H44.7112V29.1157H43.8218V29.6157ZM44.9612 29.3657V28.4763H44.4612V29.3657H44.9612ZM44.7112 28.2263H43.8218V28.7263H44.7112V28.2263ZM43.5718 28.4763V29.3657H44.0718V28.4763H43.5718Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M43.8219 28.4766H44.7113V27.5876H43.8219V28.4766V28.4766ZM29.5954 27.5876V26.6982H28.7061V27.5876H29.5954ZM31.3739 27.5877V26.6983H30.4845V27.5877H31.3739V27.5877ZM30.4846 27.5877V26.6983H29.5956V27.5877H30.4846ZM35.8192 27.5877V26.6983H34.9302V27.5877H35.8192ZM38.4866 32.9224V32.033H37.5972V32.9224H38.4866V32.9224ZM43.8219 35.5898H44.7113V34.7004H43.8219V35.5898V35.5898ZM43.8219 40.0352H44.7113V39.1465H43.8219V40.0352V40.0352ZM43.8219 40.9246H44.7113V40.0352H43.8219V40.9246V40.9246ZM43.8219 38.2568H44.7113V37.3674H43.8219V38.2568V38.2568Z" fill="white"/> +<path d="M44.7113 28.4766V28.7266H44.9613V28.4766H44.7113ZM44.7113 27.5876H44.9613V27.3376H44.7113V27.5876ZM43.8219 27.5876V27.3376H43.5719V27.5876H43.8219ZM29.5954 27.5876V27.8376H29.8454V27.5876H29.5954ZM29.5954 26.6982H29.8454V26.4482H29.5954V26.6982ZM28.7061 26.6982V26.4482H28.4561V26.6982H28.7061ZM28.7061 27.5876H28.4561V27.8376H28.7061V27.5876ZM31.3739 26.6983H31.6239V26.4483H31.3739V26.6983ZM30.4845 26.6983V26.4483H30.2345V26.6983H30.4845ZM30.4845 27.5877H30.2345V27.8377H30.4845V27.5877ZM30.4846 27.5877V27.8377H30.7346V27.5877H30.4846ZM30.4846 26.6983H30.7346V26.4483H30.4846V26.6983ZM29.5956 26.6983V26.4483H29.3456V26.6983H29.5956ZM29.5956 27.5877H29.3456V27.8377H29.5956V27.5877ZM35.8192 27.5877V27.8377H36.0692V27.5877H35.8192ZM35.8192 26.6983H36.0692V26.4483H35.8192V26.6983ZM34.9302 26.6983V26.4483H34.6802V26.6983H34.9302ZM34.9302 27.5877H34.6802V27.8377H34.9302V27.5877ZM38.4866 32.033H38.7366V31.783H38.4866V32.033ZM37.5972 32.033V31.783H37.3472V32.033H37.5972ZM37.5972 32.9224H37.3472V33.1724H37.5972V32.9224ZM44.7113 35.5898V35.8398H44.9613V35.5898H44.7113ZM44.7113 34.7004H44.9613V34.4504H44.7113V34.7004ZM43.8219 34.7004V34.4504H43.5719V34.7004H43.8219ZM44.7113 40.0352V40.2852H44.9613V40.0352H44.7113ZM44.7113 39.1465H44.9613V38.8965H44.7113V39.1465ZM43.8219 39.1465V38.8965H43.5719V39.1465H43.8219ZM44.7113 40.9246V41.1746H44.9613V40.9246H44.7113ZM44.7113 40.0352H44.9613V39.7852H44.7113V40.0352ZM43.8219 40.0352V39.7852H43.5719V40.0352H43.8219ZM44.7113 38.2568V38.5068H44.9613V38.2568H44.7113ZM44.7113 37.3674H44.9613V37.1174H44.7113V37.3674ZM43.8219 37.3674V37.1174H43.5719V37.3674H43.8219ZM43.8219 28.7266H44.7113V28.2266H43.8219V28.7266ZM44.9613 28.4766V27.5876H44.4613V28.4766H44.9613ZM44.7113 27.3376H43.8219V27.8376H44.7113V27.3376ZM43.5719 27.5876V28.4766H44.0719V27.5876H43.5719ZM29.8454 27.5876V26.6982H29.3454V27.5876H29.8454ZM29.5954 26.4482H28.7061V26.9482H29.5954V26.4482ZM28.4561 26.6982V27.5876H28.9561V26.6982H28.4561ZM28.7061 27.8376H29.5954V27.3376H28.7061V27.8376ZM31.6239 27.5877V26.6983H31.1239V27.5877H31.6239ZM31.3739 26.4483H30.4845V26.9483H31.3739V26.4483ZM30.2345 26.6983V27.5877H30.7345V26.6983H30.2345ZM30.4845 27.8377H31.3739V27.3377H30.4845V27.8377ZM30.7346 27.5877V26.6983H30.2346V27.5877H30.7346ZM30.4846 26.4483H29.5956V26.9483H30.4846V26.4483ZM29.3456 26.6983V27.5877H29.8456V26.6983H29.3456ZM29.5956 27.8377H30.4846V27.3377H29.5956V27.8377ZM36.0692 27.5877V26.6983H35.5692V27.5877H36.0692ZM35.8192 26.4483H34.9302V26.9483H35.8192V26.4483ZM34.6802 26.6983V27.5877H35.1802V26.6983H34.6802ZM34.9302 27.8377H35.8192V27.3377H34.9302V27.8377ZM38.7366 32.9224V32.033H38.2366V32.9224H38.7366ZM38.4866 31.783H37.5972V32.283H38.4866V31.783ZM37.3472 32.033V32.9224H37.8472V32.033H37.3472ZM37.5972 33.1724H38.4866V32.6724H37.5972V33.1724ZM43.8219 35.8398H44.7113V35.3398H43.8219V35.8398ZM44.9613 35.5898V34.7004H44.4613V35.5898H44.9613ZM44.7113 34.4504H43.8219V34.9504H44.7113V34.4504ZM43.5719 34.7004V35.5898H44.0719V34.7004H43.5719ZM43.8219 40.2852H44.7113V39.7852H43.8219V40.2852ZM44.9613 40.0352V39.1465H44.4613V40.0352H44.9613ZM44.7113 38.8965H43.8219V39.3965H44.7113V38.8965ZM43.5719 39.1465V40.0352H44.0719V39.1465H43.5719ZM43.8219 41.1746H44.7113V40.6746H43.8219V41.1746ZM44.9613 40.9246V40.0352H44.4613V40.9246H44.9613ZM44.7113 39.7852H43.8219V40.2852H44.7113V39.7852ZM43.5719 40.0352V40.9246H44.0719V40.0352H43.5719ZM43.8219 38.5068H44.7113V38.0068H43.8219V38.5068ZM44.9613 38.2568V37.3674H44.4613V38.2568H44.9613ZM44.7113 37.1174H43.8219V37.6174H44.7113V37.1174ZM43.5719 37.3674V38.2568H44.0719V37.3674H43.5719Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M43.8218 37.3671H44.7112V36.4785H43.8218V37.3671H43.8218Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M43.8218 36.4792H44.7112V35.5898H43.8218V36.4792V36.4792ZM43.8218 39.1469H44.7112V38.2571H43.8218V39.1469V39.1469ZM43.8218 44.4813H44.7112V43.5919H43.8218V44.4813V44.4813Z" fill="white"/> +<path d="M44.7112 36.4792V36.7292H44.9612V36.4792H44.7112ZM44.7112 35.5898H44.9612V35.3398H44.7112V35.5898ZM43.8218 35.5898V35.3398H43.5718V35.5898H43.8218ZM44.7112 39.1469V39.3969H44.9612V39.1469H44.7112ZM44.7112 38.2571H44.9612V38.0071H44.7112V38.2571ZM43.8218 38.2571V38.0071H43.5718V38.2571H43.8218ZM44.7112 44.4813V44.7313H44.9612V44.4813H44.7112ZM44.7112 43.5919H44.9612V43.3419H44.7112V43.5919ZM43.8218 43.5919V43.3419H43.5718V43.5919H43.8218ZM43.8218 36.7292H44.7112V36.2292H43.8218V36.7292ZM44.9612 36.4792V35.5898H44.4612V36.4792H44.9612ZM44.7112 35.3398H43.8218V35.8398H44.7112V35.3398ZM43.5718 35.5898V36.4792H44.0718V35.5898H43.5718ZM43.8218 39.3969H44.7112V38.8969H43.8218V39.3969ZM44.9612 39.1469V38.2571H44.4612V39.1469H44.9612ZM44.7112 38.0071H43.8218V38.5071H44.7112V38.0071ZM43.5718 38.2571V39.1469H44.0718V38.2571H43.5718ZM43.8218 44.7313H44.7112V44.2313H43.8218V44.7313ZM44.9612 44.4813V43.5919H44.4612V44.4813H44.9612ZM44.7112 43.3419H43.8218V43.8419H44.7112V43.3419ZM43.5718 43.5919V44.4813H44.0718V43.5919H43.5718Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9326 43.5918V44.4812H43.822V43.5918H42.9326L42.9326 43.5918Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0435 43.5916V44.481H42.9328V43.5916H42.0435V43.5916ZM43.8219 41.8132H44.7113V40.9238H43.8219V41.8132V41.8132ZM43.8219 43.5917H44.7113V42.7023H43.8219V43.5917V43.5917Z" fill="white"/> +<path d="M42.0435 44.481H41.7935V44.731H42.0435V44.481ZM42.9328 44.481V44.731H43.1828V44.481H42.9328ZM42.9328 43.5916H43.1828V43.3416H42.9328V43.5916ZM44.7113 41.8132V42.0632H44.9613V41.8132H44.7113ZM44.7113 40.9238H44.9613V40.6738H44.7113V40.9238ZM43.8219 40.9238V40.6738H43.5719V40.9238H43.8219ZM44.7113 43.5917V43.8417H44.9613V43.5917H44.7113ZM44.7113 42.7023H44.9613V42.4523H44.7113V42.7023ZM43.8219 42.7023V42.4523H43.5719V42.7023H43.8219ZM41.7935 43.5916V44.481H42.2935V43.5916H41.7935ZM42.0435 44.731H42.9328V44.231H42.0435V44.731ZM43.1828 44.481V43.5916H42.6828V44.481H43.1828ZM42.9328 43.3416H42.0435V43.8416H42.9328V43.3416ZM43.8219 42.0632H44.7113V41.5632H43.8219V42.0632ZM44.9613 41.8132V40.9238H44.4613V41.8132H44.9613ZM44.7113 40.6738H43.8219V41.1738H44.7113V40.6738ZM43.5719 40.9238V41.8132H44.0719V40.9238H43.5719ZM43.8219 43.8417H44.7113V43.3417H43.8219V43.8417ZM44.9613 43.5917V42.7023H44.4613V43.5917H44.9613ZM44.7113 42.4523H43.8219V42.9523H44.7113V42.4523ZM43.5719 42.7023V43.5917H44.0719V42.7023H43.5719Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M43.8217 42.703H44.711V41.8136H43.8217V42.703V42.703ZM37.5969 32.9226V32.0332H36.7075V32.9226H37.5969Z" fill="white"/> +<path d="M44.711 42.703V42.953H44.961V42.703H44.711ZM44.711 41.8136H44.961V41.5636H44.711V41.8136ZM43.8217 41.8136V41.5636H43.5717V41.8136H43.8217ZM37.5969 32.9226V33.1726H37.8469V32.9226H37.5969ZM37.5969 32.0332H37.8469V31.7832H37.5969V32.0332ZM36.7075 32.0332V31.7832H36.4575V32.0332H36.7075ZM36.7075 32.9226H36.4575V33.1726H36.7075V32.9226ZM43.8217 42.953H44.711V42.453H43.8217V42.953ZM44.961 42.703V41.8136H44.461V42.703H44.961ZM44.711 41.5636H43.8217V42.0636H44.711V41.5636ZM43.5717 41.8136V42.703H44.0717V41.8136H43.5717ZM37.8469 32.9226V32.0332H37.3469V32.9226H37.8469ZM37.5969 31.7832H36.7075V32.2832H37.5969V31.7832ZM36.4575 32.0332V32.9226H36.9575V32.0332H36.4575ZM36.7075 33.1726H37.5969V32.6726H36.7075V33.1726Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M36.7082 32.9226V32.0333H35.8192V32.9226H36.7082ZM35.8192 32.9226V32.0333H34.9302V32.9226H35.8192ZM27.8171 27.5879H26.9277V28.4769H27.8171V27.5879ZM39.3756 32.9226V32.0333H38.4862V32.9226H39.3756V32.9226ZM38.4865 33.8117H39.3758V32.9227H38.4865V33.8117V33.8117ZM43.8218 34.7005H44.7112V33.8112H43.8218V34.7005V34.7005Z" fill="white"/> +<path d="M36.7082 32.9226V33.1726H36.9582V32.9226H36.7082ZM36.7082 32.0333H36.9582V31.7833H36.7082V32.0333ZM35.8192 32.0333V31.7833H35.5692V32.0333H35.8192ZM35.8192 32.9226H35.5692V33.1726H35.8192V32.9226ZM35.8192 32.9226V33.1726H36.0692V32.9226H35.8192ZM35.8192 32.0333H36.0692V31.7833H35.8192V32.0333ZM34.9302 32.0333V31.7833H34.6802V32.0333H34.9302ZM34.9302 32.9226H34.6802V33.1726H34.9302V32.9226ZM27.8171 27.5879H28.0671V27.3379H27.8171V27.5879ZM26.9277 27.5879V27.3379H26.6777V27.5879H26.9277ZM26.9277 28.4769H26.6777V28.7269H26.9277V28.4769ZM27.8171 28.4769V28.7269H28.0671V28.4769H27.8171ZM39.3756 32.0333H39.6256V31.7833H39.3756V32.0333ZM38.4862 32.0333V31.7833H38.2362V32.0333H38.4862ZM38.4862 32.9226H38.2362V33.1726H38.4862V32.9226ZM39.3758 33.8117V34.0617H39.6258V33.8117H39.3758ZM39.3758 32.9227H39.6258V32.6727H39.3758V32.9227ZM38.4865 32.9227V32.6727H38.2365V32.9227H38.4865ZM44.7112 34.7005V34.9505H44.9612V34.7005H44.7112ZM44.7112 33.8112H44.9612V33.5612H44.7112V33.8112ZM43.8218 33.8112V33.5612H43.5718V33.8112H43.8218ZM36.9582 32.9226V32.0333H36.4582V32.9226H36.9582ZM36.7082 31.7833H35.8192V32.2833H36.7082V31.7833ZM35.5692 32.0333V32.9226H36.0692V32.0333H35.5692ZM35.8192 33.1726H36.7082V32.6726H35.8192V33.1726ZM36.0692 32.9226V32.0333H35.5692V32.9226H36.0692ZM35.8192 31.7833H34.9302V32.2833H35.8192V31.7833ZM34.6802 32.0333V32.9226H35.1802V32.0333H34.6802ZM34.9302 33.1726H35.8192V32.6726H34.9302V33.1726ZM27.8171 27.3379H26.9277V27.8379H27.8171V27.3379ZM26.6777 27.5879V28.4769H27.1777V27.5879H26.6777ZM26.9277 28.7269H27.8171V28.2269H26.9277V28.7269ZM28.0671 28.4769V27.5879H27.5671V28.4769H28.0671ZM39.6256 32.9226V32.0333H39.1256V32.9226H39.6256ZM39.3756 31.7833H38.4862V32.2833H39.3756V31.7833ZM38.2362 32.0333V32.9226H38.7362V32.0333H38.2362ZM38.4862 33.1726H39.3756V32.6726H38.4862V33.1726ZM38.4865 34.0617H39.3758V33.5617H38.4865V34.0617ZM39.6258 33.8117V32.9227H39.1258V33.8117H39.6258ZM39.3758 32.6727H38.4865V33.1727H39.3758V32.6727ZM38.2365 32.9227V33.8117H38.7365V32.9227H38.2365ZM43.8218 34.9505H44.7112V34.4505H43.8218V34.9505ZM44.9612 34.7005V33.8112H44.4612V34.7005H44.9612ZM44.7112 33.5612H43.8218V34.0612H44.7112V33.5612ZM43.5718 33.8112V34.7005H44.0718V33.8112H43.5718Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M43.8219 33.8115H44.7113V32.9225H43.8219V33.8115V33.8115ZM34.0412 32.9226V32.0332H33.1519V32.9226H34.0412ZM38.4865 34.7004H39.3758V33.811H38.4865V34.7004V34.7004Z" fill="white"/> +<path d="M44.7113 33.8115V34.0615H44.9613V33.8115H44.7113ZM44.7113 32.9225H44.9613V32.6725H44.7113V32.9225ZM43.8219 32.9225V32.6725H43.5719V32.9225H43.8219ZM34.0412 32.9226V33.1726H34.2912V32.9226H34.0412ZM34.0412 32.0332H34.2912V31.7832H34.0412V32.0332ZM33.1519 32.0332V31.7832H32.9019V32.0332H33.1519ZM33.1519 32.9226H32.9019V33.1726H33.1519V32.9226ZM39.3758 34.7004V34.9504H39.6258V34.7004H39.3758ZM39.3758 33.811H39.6258V33.561H39.3758V33.811ZM38.4865 33.811V33.561H38.2365V33.811H38.4865ZM43.8219 34.0615H44.7113V33.5615H43.8219V34.0615ZM44.9613 33.8115V32.9225H44.4613V33.8115H44.9613ZM44.7113 32.6725H43.8219V33.1725H44.7113V32.6725ZM43.5719 32.9225V33.8115H44.0719V32.9225H43.5719ZM34.2912 32.9226V32.0332H33.7912V32.9226H34.2912ZM34.0412 31.7832H33.1519V32.2832H34.0412V31.7832ZM32.9019 32.0332V32.9226H33.4019V32.0332H32.9019ZM33.1519 33.1726H34.0412V32.6726H33.1519V33.1726ZM38.4865 34.9504H39.3758V34.4504H38.4865V34.9504ZM39.6258 34.7004V33.811H39.1258V34.7004H39.6258ZM39.3758 33.561H38.4865V34.061H39.3758V33.561ZM38.2365 33.811V34.7004H38.7365V33.811H38.2365Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M34.9303 32.9226V32.0332H34.0409V32.9226H34.9303ZM35.8191 37.3679V38.2573H36.7081V37.3679H35.8191V37.3679ZM34.0414 44.4814V45.3708H34.9308V44.4814H34.0414ZM27.8171 41.8137H26.9277V42.703H27.8171V41.8137V41.8137ZM27.8171 43.5921H26.9277V44.4815H27.8171V43.5921V43.5921Z" fill="white"/> +<path d="M34.9303 32.9226V33.1726H35.1803V32.9226H34.9303ZM34.9303 32.0332H35.1803V31.7832H34.9303V32.0332ZM34.0409 32.0332V31.7832H33.7909V32.0332H34.0409ZM34.0409 32.9226H33.7909V33.1726H34.0409V32.9226ZM35.8191 38.2573H35.5691V38.5073H35.8191V38.2573ZM36.7081 38.2573V38.5073H36.9581V38.2573H36.7081ZM36.7081 37.3679H36.9581V37.1179H36.7081V37.3679ZM34.0414 44.4814V44.2314H33.7914V44.4814H34.0414ZM34.0414 45.3708H33.7914V45.6208H34.0414V45.3708ZM34.9308 45.3708V45.6208H35.1808V45.3708H34.9308ZM34.9308 44.4814H35.1808V44.2314H34.9308V44.4814ZM26.9277 41.8137V41.5637H26.6777V41.8137H26.9277ZM26.9277 42.703H26.6777V42.953H26.9277V42.703ZM27.8171 42.703V42.953H28.0671V42.703H27.8171ZM26.9277 43.5921V43.3421H26.6777V43.5921H26.9277ZM26.9277 44.4815H26.6777V44.7315H26.9277V44.4815ZM27.8171 44.4815V44.7315H28.0671V44.4815H27.8171ZM35.1803 32.9226V32.0332H34.6803V32.9226H35.1803ZM34.9303 31.7832H34.0409V32.2832H34.9303V31.7832ZM33.7909 32.0332V32.9226H34.2909V32.0332H33.7909ZM34.0409 33.1726H34.9303V32.6726H34.0409V33.1726ZM35.5691 37.3679V38.2573H36.0691V37.3679H35.5691ZM35.8191 38.5073H36.7081V38.0073H35.8191V38.5073ZM36.9581 38.2573V37.3679H36.4581V38.2573H36.9581ZM36.7081 37.1179H35.8191V37.6179H36.7081V37.1179ZM33.7914 44.4814V45.3708H34.2914V44.4814H33.7914ZM34.0414 45.6208H34.9308V45.1208H34.0414V45.6208ZM35.1808 45.3708V44.4814H34.6808V45.3708H35.1808ZM34.9308 44.2314H34.0414V44.7314H34.9308V44.2314ZM27.8171 41.5637H26.9277V42.0637H27.8171V41.5637ZM26.6777 41.8137V42.703H27.1777V41.8137H26.6777ZM26.9277 42.953H27.8171V42.453H26.9277V42.953ZM28.0671 42.703V41.8137H27.5671V42.703H28.0671ZM27.8171 43.3421H26.9277V43.8421H27.8171V43.3421ZM26.6777 43.5921V44.4815H27.1777V43.5921H26.6777ZM26.9277 44.7315H27.8171V44.2315H26.9277V44.7315ZM28.0671 44.4815V43.5921H27.5671V44.4815H28.0671Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M27.8171 42.7025H26.9277V43.5918H27.8171V42.7025V42.7025ZM26.9277 44.4809V45.3703H27.8171V44.4809H26.9277V44.4809ZM27.8171 44.4809V45.3703H28.7065V44.4809H27.8171ZM42.0435 44.4809V45.3703H42.9328V44.4809H42.0435ZM37.5972 34.6999H38.4866V33.8105H37.5972V34.6999ZM37.5972 35.5893H38.4866V34.7H37.5972V35.5893V35.5893Z" fill="white"/> +<path d="M26.9277 42.7025V42.4525H26.6777V42.7025H26.9277ZM26.9277 43.5918H26.6777V43.8418H26.9277V43.5918ZM27.8171 43.5918V43.8418H28.0671V43.5918H27.8171ZM26.9277 45.3703H26.6777V45.6203H26.9277V45.3703ZM27.8171 45.3703V45.6203H28.0671V45.3703H27.8171ZM27.8171 44.4809H28.0671V44.2309H27.8171V44.4809ZM27.8171 44.4809V44.2309H27.5671V44.4809H27.8171ZM27.8171 45.3703H27.5671V45.6203H27.8171V45.3703ZM28.7065 45.3703V45.6203H28.9565V45.3703H28.7065ZM28.7065 44.4809H28.9565V44.2309H28.7065V44.4809ZM42.0435 44.4809V44.2309H41.7935V44.4809H42.0435ZM42.0435 45.3703H41.7935V45.6203H42.0435V45.3703ZM42.9328 45.3703V45.6203H43.1828V45.3703H42.9328ZM42.9328 44.4809H43.1828V44.2309H42.9328V44.4809ZM37.5972 34.6999H37.3472V34.9499H37.5972V34.6999ZM38.4866 34.6999V34.9499H38.7366V34.6999H38.4866ZM38.4866 33.8105H38.7366V33.5605H38.4866V33.8105ZM37.5972 33.8105V33.5605H37.3472V33.8105H37.5972ZM38.4866 35.5893V35.8393H38.7366V35.5893H38.4866ZM38.4866 34.7H38.7366V34.45H38.4866V34.7ZM37.5972 34.7V34.45H37.3472V34.7H37.5972ZM27.8171 42.4525H26.9277V42.9525H27.8171V42.4525ZM26.6777 42.7025V43.5918H27.1777V42.7025H26.6777ZM26.9277 43.8418H27.8171V43.3418H26.9277V43.8418ZM28.0671 43.5918V42.7025H27.5671V43.5918H28.0671ZM26.6777 44.4809V45.3703H27.1777V44.4809H26.6777ZM26.9277 45.6203H27.8171V45.1203H26.9277V45.6203ZM28.0671 45.3703V44.4809H27.5671V45.3703H28.0671ZM27.8171 44.2309H26.9277V44.7309H27.8171V44.2309ZM27.5671 44.4809V45.3703H28.0671V44.4809H27.5671ZM27.8171 45.6203H28.7065V45.1203H27.8171V45.6203ZM28.9565 45.3703V44.4809H28.4565V45.3703H28.9565ZM28.7065 44.2309H27.8171V44.7309H28.7065V44.2309ZM41.7935 44.4809V45.3703H42.2935V44.4809H41.7935ZM42.0435 45.6203H42.9328V45.1203H42.0435V45.6203ZM43.1828 45.3703V44.4809H42.6828V45.3703H43.1828ZM42.9328 44.2309H42.0435V44.7309H42.9328V44.2309ZM37.5972 34.9499H38.4866V34.4499H37.5972V34.9499ZM38.7366 34.6999V33.8105H38.2366V34.6999H38.7366ZM38.4866 33.5605H37.5972V34.0605H38.4866V33.5605ZM37.3472 33.8105V34.6999H37.8472V33.8105H37.3472ZM37.5972 35.8393H38.4866V35.3393H37.5972V35.8393ZM38.7366 35.5893V34.7H38.2366V35.5893H38.7366ZM38.4866 34.45H37.5972V34.95H38.4866V34.45ZM37.3472 34.7V35.5893H37.8472V34.7H37.3472Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9327 44.4813V45.3707H43.8221V44.4813H42.9327V44.4813ZM37.5972 36.4792H38.4866V35.5898H37.5972V36.4792V36.4792Z" fill="white"/> +<path d="M42.9327 45.3707H42.6827V45.6207H42.9327V45.3707ZM43.8221 45.3707V45.6207H44.0721V45.3707H43.8221ZM43.8221 44.4813H44.0721V44.2313H43.8221V44.4813ZM38.4866 36.4792V36.7292H38.7366V36.4792H38.4866ZM38.4866 35.5898H38.7366V35.3398H38.4866V35.5898ZM37.5972 35.5898V35.3398H37.3472V35.5898H37.5972ZM42.6827 44.4813V45.3707H43.1827V44.4813H42.6827ZM42.9327 45.6207H43.8221V45.1207H42.9327V45.6207ZM44.0721 45.3707V44.4813H43.5721V45.3707H44.0721ZM43.8221 44.2313H42.9327V44.7313H43.8221V44.2313ZM37.5972 36.7292H38.4866V36.2292H37.5972V36.7292ZM38.7366 36.4792V35.5898H38.2366V36.4792H38.7366ZM38.4866 35.3398H37.5972V35.8398H38.4866V35.3398ZM37.3472 35.5898V36.4792H37.8472V35.5898H37.3472Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M43.8217 44.4814V45.3708H44.711V44.4814H43.8217V44.4814ZM38.4863 44.4814V45.3708H39.3757V44.4814H38.4863V44.4814ZM40.2648 44.4814V45.3708H41.1542V44.4814H40.2648Z" fill="white"/> +<path d="M43.8217 45.3708H43.5717V45.6208H43.8217V45.3708ZM44.711 45.3708V45.6208H44.961V45.3708H44.711ZM44.711 44.4814H44.961V44.2314H44.711V44.4814ZM38.4863 45.3708H38.2363V45.6208H38.4863V45.3708ZM39.3757 45.3708V45.6208H39.6257V45.3708H39.3757ZM39.3757 44.4814H39.6257V44.2314H39.3757V44.4814ZM40.2648 44.4814V44.2314H40.0148V44.4814H40.2648ZM40.2648 45.3708H40.0148V45.6208H40.2648V45.3708ZM41.1542 45.3708V45.6208H41.4042V45.3708H41.1542ZM41.1542 44.4814H41.4042V44.2314H41.1542V44.4814ZM43.5717 44.4814V45.3708H44.0717V44.4814H43.5717ZM43.8217 45.6208H44.711V45.1208H43.8217V45.6208ZM44.961 45.3708V44.4814H44.461V45.3708H44.961ZM44.711 44.2314H43.8217V44.7314H44.711V44.2314ZM38.2363 44.4814V45.3708H38.7363V44.4814H38.2363ZM38.4863 45.6208H39.3757V45.1208H38.4863V45.6208ZM39.6257 45.3708V44.4814H39.1257V45.3708H39.6257ZM39.3757 44.2314H38.4863V44.7314H39.3757V44.2314ZM40.0148 44.4814V45.3708H40.5148V44.4814H40.0148ZM40.2648 45.6208H41.1542V45.1208H40.2648V45.6208ZM41.4042 45.3708V44.4814H40.9042V45.3708H41.4042ZM41.1542 44.2314H40.2648V44.7314H41.1542V44.2314Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3759 44.4806V45.37H40.2652V44.4806H39.3759V44.4806ZM38.4867 37.3671H39.3761V36.4785H38.4867V37.3671V37.3671ZM34.9304 36.4785H34.041V37.3671H34.9304V36.4785Z" fill="white"/> +<path d="M39.3759 45.37H39.1259V45.62H39.3759V45.37ZM40.2652 45.37V45.62H40.5152V45.37H40.2652ZM40.2652 44.4806H40.5152V44.2306H40.2652V44.4806ZM39.3761 37.3671V37.6171H39.6261V37.3671H39.3761ZM39.3761 36.4785H39.6261V36.2285H39.3761V36.4785ZM38.4867 36.4785V36.2285H38.2367V36.4785H38.4867ZM34.9304 36.4785H35.1804V36.2285H34.9304V36.4785ZM34.041 36.4785V36.2285H33.791V36.4785H34.041ZM34.041 37.3671H33.791V37.6171H34.041V37.3671ZM34.9304 37.3671V37.6171H35.1804V37.3671H34.9304ZM39.1259 44.4806V45.37H39.6259V44.4806H39.1259ZM39.3759 45.62H40.2652V45.12H39.3759V45.62ZM40.5152 45.37V44.4806H40.0152V45.37H40.5152ZM40.2652 44.2306H39.3759V44.7306H40.2652V44.2306ZM38.4867 37.6171H39.3761V37.1171H38.4867V37.6171ZM39.6261 37.3671V36.4785H39.1261V37.3671H39.6261ZM39.3761 36.2285H38.4867V36.7285H39.3761V36.2285ZM38.2367 36.4785V37.3671H38.7367V36.4785H38.2367ZM34.9304 36.2285H34.041V36.7285H34.9304V36.2285ZM33.791 36.4785V37.3671H34.291V36.4785H33.791ZM34.041 37.6171H34.9304V37.1171H34.041V37.6171ZM35.1804 37.3671V36.4785H34.6804V37.3671H35.1804Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M34.0415 37.3677V38.2571H34.9309V37.3677H34.0415V37.3677ZM34.9304 35.5898H34.041V36.4792H34.9304V35.5898V35.5898Z" fill="white"/> +<path d="M34.0415 38.2571H33.7915V38.5071H34.0415V38.2571ZM34.9309 38.2571V38.5071H35.1809V38.2571H34.9309ZM34.9309 37.3677H35.1809V37.1177H34.9309V37.3677ZM34.041 35.5898V35.3398H33.791V35.5898H34.041ZM34.041 36.4792H33.791V36.7292H34.041V36.4792ZM34.9304 36.4792V36.7292H35.1804V36.4792H34.9304ZM33.7915 37.3677V38.2571H34.2915V37.3677H33.7915ZM34.0415 38.5071H34.9309V38.0071H34.0415V38.5071ZM35.1809 38.2571V37.3677H34.6809V38.2571H35.1809ZM34.9309 37.1177H34.0415V37.6177H34.9309V37.1177ZM34.9304 35.3398H34.041V35.8398H34.9304V35.3398ZM33.791 35.5898V36.4792H34.291V35.5898H33.791ZM34.041 36.7292H34.9304V36.2292H34.041V36.7292ZM35.1804 36.4792V35.5898H34.6804V36.4792H35.1804Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M34.9303 37.3676V38.257H35.8193V37.3676H34.9303V37.3676ZM27.8171 28.4766H26.9277V29.3659H27.8171V28.4766V28.4766ZM27.8171 30.2549H26.9277V31.1443H27.8171V30.2549Z" fill="white"/> +<path d="M34.9303 38.257H34.6803V38.507H34.9303V38.257ZM35.8193 38.257V38.507H36.0693V38.257H35.8193ZM35.8193 37.3676H36.0693V37.1176H35.8193V37.3676ZM26.9277 28.4766V28.2266H26.6777V28.4766H26.9277ZM26.9277 29.3659H26.6777V29.6159H26.9277V29.3659ZM27.8171 29.3659V29.6159H28.0671V29.3659H27.8171ZM27.8171 30.2549H28.0671V30.0049H27.8171V30.2549ZM26.9277 30.2549V30.0049H26.6777V30.2549H26.9277ZM26.9277 31.1443H26.6777V31.3943H26.9277V31.1443ZM27.8171 31.1443V31.3943H28.0671V31.1443H27.8171ZM34.6803 37.3676V38.257H35.1803V37.3676H34.6803ZM34.9303 38.507H35.8193V38.007H34.9303V38.507ZM36.0693 38.257V37.3676H35.5693V38.257H36.0693ZM35.8193 37.1176H34.9303V37.6176H35.8193V37.1176ZM27.8171 28.2266H26.9277V28.7266H27.8171V28.2266ZM26.6777 28.4766V29.3659H27.1777V28.4766H26.6777ZM26.9277 29.6159H27.8171V29.1159H26.9277V29.6159ZM28.0671 29.3659V28.4766H27.5671V29.3659H28.0671ZM27.8171 30.0049H26.9277V30.5049H27.8171V30.0049ZM26.6777 30.2549V31.1443H27.1777V30.2549H26.6777ZM26.9277 31.3943H27.8171V30.8943H26.9277V31.3943ZM28.0671 31.1443V30.2549H27.5671V31.1443H28.0671Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M27.8171 29.3652H26.9277V30.2546H27.8171V29.3652V29.3652ZM38.4866 36.4787H39.376V35.5894H38.4866V36.4787V36.4787ZM36.7083 37.3673V38.2567H37.5976V37.3673H36.7083V37.3673ZM27.8171 40.9241H26.9277V41.8135H27.8171V40.9241ZM38.4866 35.5894H39.376V34.7H38.4866V35.5894V35.5894ZM27.8171 35.5894H26.9277V36.4787H27.8171V35.5894V35.5894ZM27.8171 40.0347H26.9277V40.9241H27.8171V40.0347Z" fill="white"/> +<path d="M26.9277 29.3652V29.1152H26.6777V29.3652H26.9277ZM26.9277 30.2546H26.6777V30.5046H26.9277V30.2546ZM27.8171 30.2546V30.5046H28.0671V30.2546H27.8171ZM39.376 36.4787V36.7287H39.626V36.4787H39.376ZM39.376 35.5894H39.626V35.3394H39.376V35.5894ZM38.4866 35.5894V35.3394H38.2366V35.5894H38.4866ZM36.7083 38.2567H36.4583V38.5067H36.7083V38.2567ZM37.5976 38.2567V38.5067H37.8476V38.2567H37.5976ZM37.5976 37.3673H37.8476V37.1173H37.5976V37.3673ZM27.8171 40.9241H28.0671V40.6741H27.8171V40.9241ZM26.9277 40.9241V40.6741H26.6777V40.9241H26.9277ZM26.9277 41.8135H26.6777V42.0635H26.9277V41.8135ZM27.8171 41.8135V42.0635H28.0671V41.8135H27.8171ZM39.376 35.5894V35.8394H39.626V35.5894H39.376ZM39.376 34.7H39.626V34.45H39.376V34.7ZM38.4866 34.7V34.45H38.2366V34.7H38.4866ZM26.9277 35.5894V35.3394H26.6777V35.5894H26.9277ZM26.9277 36.4787H26.6777V36.7287H26.9277V36.4787ZM27.8171 36.4787V36.7287H28.0671V36.4787H27.8171ZM27.8171 40.0347H28.0671V39.7847H27.8171V40.0347ZM26.9277 40.0347V39.7847H26.6777V40.0347H26.9277ZM26.9277 40.9241H26.6777V41.1741H26.9277V40.9241ZM27.8171 40.9241V41.1741H28.0671V40.9241H27.8171ZM27.8171 29.1152H26.9277V29.6152H27.8171V29.1152ZM26.6777 29.3652V30.2546H27.1777V29.3652H26.6777ZM26.9277 30.5046H27.8171V30.0046H26.9277V30.5046ZM28.0671 30.2546V29.3652H27.5671V30.2546H28.0671ZM38.4866 36.7287H39.376V36.2287H38.4866V36.7287ZM39.626 36.4787V35.5894H39.126V36.4787H39.626ZM39.376 35.3394H38.4866V35.8394H39.376V35.3394ZM38.2366 35.5894V36.4787H38.7366V35.5894H38.2366ZM36.4583 37.3673V38.2567H36.9583V37.3673H36.4583ZM36.7083 38.5067H37.5976V38.0067H36.7083V38.5067ZM37.8476 38.2567V37.3673H37.3476V38.2567H37.8476ZM37.5976 37.1173H36.7083V37.6173H37.5976V37.1173ZM27.8171 40.6741H26.9277V41.1741H27.8171V40.6741ZM26.6777 40.9241V41.8135H27.1777V40.9241H26.6777ZM26.9277 42.0635H27.8171V41.5635H26.9277V42.0635ZM28.0671 41.8135V40.9241H27.5671V41.8135H28.0671ZM38.4866 35.8394H39.376V35.3394H38.4866V35.8394ZM39.626 35.5894V34.7H39.126V35.5894H39.626ZM39.376 34.45H38.4866V34.95H39.376V34.45ZM38.2366 34.7V35.5894H38.7366V34.7H38.2366ZM27.8171 35.3394H26.9277V35.8394H27.8171V35.3394ZM26.6777 35.5894V36.4787H27.1777V35.5894H26.6777ZM26.9277 36.7287H27.8171V36.2287H26.9277V36.7287ZM28.0671 36.4787V35.5894H27.5671V36.4787H28.0671ZM27.8171 39.7847H26.9277V40.2847H27.8171V39.7847ZM26.6777 40.0347V40.9241H27.1777V40.0347H26.6777ZM26.9277 41.1741H27.8171V40.6741H26.9277V41.1741ZM28.0671 40.9241V40.0347H27.5671V40.9241H28.0671Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M27.8171 34.7002H26.9277V35.5896H27.8171V34.7002ZM37.597 37.3676H38.4864V36.479H37.597V37.3676Z" fill="white"/> +<path d="M27.8171 34.7002H28.0671V34.4502H27.8171V34.7002ZM26.9277 34.7002V34.4502H26.6777V34.7002H26.9277ZM26.9277 35.5896H26.6777V35.8396H26.9277V35.5896ZM27.8171 35.5896V35.8396H28.0671V35.5896H27.8171ZM37.597 37.3676H37.347V37.6176H37.597V37.3676ZM38.4864 37.3676V37.6176H38.7364V37.3676H38.4864ZM38.4864 36.479H38.7364V36.229H38.4864V36.479ZM37.597 36.479V36.229H37.347V36.479H37.597ZM27.8171 34.4502H26.9277V34.9502H27.8171V34.4502ZM26.6777 34.7002V35.5896H27.1777V34.7002H26.6777ZM26.9277 35.8396H27.8171V35.3396H26.9277V35.8396ZM28.0671 35.5896V34.7002H27.5671V35.5896H28.0671ZM37.597 37.6176H38.4864V37.1176H37.597V37.6176ZM38.7364 37.3676V36.479H38.2364V37.3676H38.7364ZM38.4864 36.229H37.597V36.729H38.4864V36.229ZM37.347 36.479V37.3676H37.847V36.479H37.347Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M37.5972 38.2569H38.4866V37.3676H37.5972V38.2569V38.2569ZM27.8171 32.9227H26.9277V33.8117H27.8171V32.9227ZM42.9329 31.1443H43.8222V30.2549H42.9329V31.1443V31.1443ZM42.9329 32.9226H43.8222V32.0333H42.9329V32.9226V32.9226Z" fill="white"/> +<path d="M38.4866 38.2569V38.5069H38.7366V38.2569H38.4866ZM38.4866 37.3676H38.7366V37.1176H38.4866V37.3676ZM37.5972 37.3676V37.1176H37.3472V37.3676H37.5972ZM27.8171 32.9227H28.0671V32.6727H27.8171V32.9227ZM26.9277 32.9227V32.6727H26.6777V32.9227H26.9277ZM26.9277 33.8117H26.6777V34.0617H26.9277V33.8117ZM27.8171 33.8117V34.0617H28.0671V33.8117H27.8171ZM43.8222 31.1443V31.3943H44.0722V31.1443H43.8222ZM43.8222 30.2549H44.0722V30.0049H43.8222V30.2549ZM42.9329 30.2549V30.0049H42.6829V30.2549H42.9329ZM43.8222 32.9226V33.1726H44.0722V32.9226H43.8222ZM43.8222 32.0333H44.0722V31.7833H43.8222V32.0333ZM42.9329 32.0333V31.7833H42.6829V32.0333H42.9329ZM37.5972 38.5069H38.4866V38.0069H37.5972V38.5069ZM38.7366 38.2569V37.3676H38.2366V38.2569H38.7366ZM38.4866 37.1176H37.5972V37.6176H38.4866V37.1176ZM37.3472 37.3676V38.2569H37.8472V37.3676H37.3472ZM27.8171 32.6727H26.9277V33.1727H27.8171V32.6727ZM26.6777 32.9227V33.8117H27.1777V32.9227H26.6777ZM26.9277 34.0617H27.8171V33.5617H26.9277V34.0617ZM28.0671 33.8117V32.9227H27.5671V33.8117H28.0671ZM42.9329 31.3943H43.8222V30.8943H42.9329V31.3943ZM44.0722 31.1443V30.2549H43.5722V31.1443H44.0722ZM43.8222 30.0049H42.9329V30.5049H43.8222V30.0049ZM42.6829 30.2549V31.1443H43.1829V30.2549H42.6829ZM42.9329 33.1726H43.8222V32.6726H42.9329V33.1726ZM44.0722 32.9226V32.0333H43.5722V32.9226H44.0722ZM43.8222 31.7833H42.9329V32.2833H43.8222V31.7833ZM42.6829 32.0333V32.9226H43.1829V32.0333H42.6829Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9326 30.2553H43.822V29.366H42.9326V30.2553V30.2553ZM42.9326 32.0333H43.822V31.1443H42.9326V32.0333V32.0333ZM43.8215 28.4769V27.5879H42.9321V28.4769H43.8215V28.4769Z" fill="white"/> +<path d="M43.822 30.2553V30.5053H44.072V30.2553H43.822ZM43.822 29.366H44.072V29.116H43.822V29.366ZM42.9326 29.366V29.116H42.6826V29.366H42.9326ZM43.822 32.0333V32.2833H44.072V32.0333H43.822ZM43.822 31.1443H44.072V30.8943H43.822V31.1443ZM42.9326 31.1443V30.8943H42.6826V31.1443H42.9326ZM43.8215 27.5879H44.0715V27.3379H43.8215V27.5879ZM42.9321 27.5879V27.3379H42.6821V27.5879H42.9321ZM42.9321 28.4769H42.6821V28.7269H42.9321V28.4769ZM42.9326 30.5053H43.822V30.0053H42.9326V30.5053ZM44.072 30.2553V29.366H43.572V30.2553H44.072ZM43.822 29.116H42.9326V29.616H43.822V29.116ZM42.6826 29.366V30.2553H43.1826V29.366H42.6826ZM42.9326 32.2833H43.822V31.7833H42.9326V32.2833ZM44.072 32.0333V31.1443H43.572V32.0333H44.072ZM43.822 30.8943H42.9326V31.3943H43.822V30.8943ZM42.6826 31.1443V32.0333H43.1826V31.1443H42.6826ZM44.0715 28.4769V27.5879H43.5715V28.4769H44.0715ZM43.8215 27.3379H42.9321V27.8379H43.8215V27.3379ZM42.6821 27.5879V28.4769H43.1821V27.5879H42.6821ZM42.9321 28.7269H43.8215V28.2269H42.9321V28.7269Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9326 29.3659H43.822V28.4766H42.9326V29.3659V29.3659ZM42.9326 38.2569H43.822V37.3675H42.9326V38.2569V38.2569Z" fill="white"/> +<path d="M43.822 29.3659V29.6159H44.072V29.3659H43.822ZM43.822 28.4766H44.072V28.2266H43.822V28.4766ZM42.9326 28.4766V28.2266H42.6826V28.4766H42.9326ZM43.822 38.2569V38.5069H44.072V38.2569H43.822ZM43.822 37.3675H44.072V37.1175H43.822V37.3675ZM42.9326 37.3675V37.1175H42.6826V37.3675H42.9326ZM42.9326 29.6159H43.822V29.1159H42.9326V29.6159ZM44.072 29.3659V28.4766H43.572V29.3659H44.072ZM43.822 28.2266H42.9326V28.7266H43.822V28.2266ZM42.6826 28.4766V29.3659H43.1826V28.4766H42.6826ZM42.9326 38.5069H43.822V38.0069H42.9326V38.5069ZM44.072 38.2569V37.3675H43.572V38.2569H44.072ZM43.822 37.1175H42.9326V37.6175H43.822V37.1175ZM42.6826 37.3675V38.2569H43.1826V37.3675H42.6826Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9326 37.3671H43.822V36.4785H42.9326V37.3671H42.9326Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.933 36.4795H43.8224V35.5901H42.933V36.4795V36.4795ZM42.9328 28.4769V27.5879H42.0435V28.4769H42.9328V28.4769ZM42.933 35.5901H43.8224V34.7007H42.933V35.5901V35.5901ZM42.933 33.8117H43.8224V32.9227H42.933V33.8117V33.8117Z" fill="white"/> +<path d="M43.8224 36.4795V36.7295H44.0724V36.4795H43.8224ZM43.8224 35.5901H44.0724V35.3401H43.8224V35.5901ZM42.933 35.5901V35.3401H42.683V35.5901H42.933ZM42.9328 27.5879H43.1828V27.3379H42.9328V27.5879ZM42.0435 27.5879V27.3379H41.7935V27.5879H42.0435ZM42.0435 28.4769H41.7935V28.7269H42.0435V28.4769ZM43.8224 35.5901V35.8401H44.0724V35.5901H43.8224ZM43.8224 34.7007H44.0724V34.4507H43.8224V34.7007ZM42.933 34.7007V34.4507H42.683V34.7007H42.933ZM43.8224 33.8117V34.0617H44.0724V33.8117H43.8224ZM43.8224 32.9227H44.0724V32.6727H43.8224V32.9227ZM42.933 32.9227V32.6727H42.683V32.9227H42.933ZM42.933 36.7295H43.8224V36.2295H42.933V36.7295ZM44.0724 36.4795V35.5901H43.5724V36.4795H44.0724ZM43.8224 35.3401H42.933V35.8401H43.8224V35.3401ZM42.683 35.5901V36.4795H43.183V35.5901H42.683ZM43.1828 28.4769V27.5879H42.6828V28.4769H43.1828ZM42.9328 27.3379H42.0435V27.8379H42.9328V27.3379ZM41.7935 27.5879V28.4769H42.2935V27.5879H41.7935ZM42.0435 28.7269H42.9328V28.2269H42.0435V28.7269ZM42.933 35.8401H43.8224V35.3401H42.933V35.8401ZM44.0724 35.5901V34.7007H43.5724V35.5901H44.0724ZM43.8224 34.4507H42.933V34.9507H43.8224V34.4507ZM42.683 34.7007V35.5901H43.183V34.7007H42.683ZM42.933 34.0617H43.8224V33.5617H42.933V34.0617ZM44.0724 33.8117V32.9227H43.5724V33.8117H44.0724ZM43.8224 32.6727H42.933V33.1727H43.8224V32.6727ZM42.683 32.9227V33.8117H43.183V32.9227H42.683Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9327 34.7005H43.8221V33.8112H42.9327V34.7005V34.7005ZM40.2651 28.4769V27.5879H39.3757V28.4769H40.2651ZM42.9327 39.1472H43.8221V38.2574H42.9327V39.1472V39.1472ZM38.4866 28.4769V27.5879H37.5972V28.4769H38.4866V28.4769Z" fill="white"/> +<path d="M43.8221 34.7005V34.9505H44.0721V34.7005H43.8221ZM43.8221 33.8112H44.0721V33.5612H43.8221V33.8112ZM42.9327 33.8112V33.5612H42.6827V33.8112H42.9327ZM40.2651 28.4769V28.7269H40.5151V28.4769H40.2651ZM40.2651 27.5879H40.5151V27.3379H40.2651V27.5879ZM39.3757 27.5879V27.3379H39.1257V27.5879H39.3757ZM39.3757 28.4769H39.1257V28.7269H39.3757V28.4769ZM43.8221 39.1472V39.3972H44.0721V39.1472H43.8221ZM43.8221 38.2574H44.0721V38.0074H43.8221V38.2574ZM42.9327 38.2574V38.0074H42.6827V38.2574H42.9327ZM38.4866 27.5879H38.7366V27.3379H38.4866V27.5879ZM37.5972 27.5879V27.3379H37.3472V27.5879H37.5972ZM37.5972 28.4769H37.3472V28.7269H37.5972V28.4769ZM42.9327 34.9505H43.8221V34.4505H42.9327V34.9505ZM44.0721 34.7005V33.8112H43.5721V34.7005H44.0721ZM43.8221 33.5612H42.9327V34.0612H43.8221V33.5612ZM42.6827 33.8112V34.7005H43.1827V33.8112H42.6827ZM40.5151 28.4769V27.5879H40.0151V28.4769H40.5151ZM40.2651 27.3379H39.3757V27.8379H40.2651V27.3379ZM39.1257 27.5879V28.4769H39.6257V27.5879H39.1257ZM39.3757 28.7269H40.2651V28.2269H39.3757V28.7269ZM42.9327 39.3972H43.8221V38.8972H42.9327V39.3972ZM44.0721 39.1472V38.2574H43.5721V39.1472H44.0721ZM43.8221 38.0074H42.9327V38.5074H43.8221V38.0074ZM42.6827 38.2574V39.1472H43.1827V38.2574H42.6827ZM38.7366 28.4769V27.5879H38.2366V28.4769H38.7366ZM38.4866 27.3379H37.5972V27.8379H38.4866V27.3379ZM37.3472 27.5879V28.4769H37.8472V27.5879H37.3472ZM37.5972 28.7269H38.4866V28.2269H37.5972V28.7269Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3758 28.4769V27.5879H38.4865V28.4769H39.3758V28.4769ZM34.9304 33.8116H34.041V34.701H34.9304V33.8116ZM36.7084 36.4795H37.5978V35.5901H36.7084V36.4795V36.4795ZM35.8194 34.7005V33.8112H34.9304V34.7005H35.8194ZM36.7084 35.5901H37.5978V34.7007H36.7084V35.5901V35.5901ZM37.5973 34.7005V33.8112H36.7079V34.7005H37.5973Z" fill="white"/> +<path d="M39.3758 27.5879H39.6258V27.3379H39.3758V27.5879ZM38.4865 27.5879V27.3379H38.2365V27.5879H38.4865ZM38.4865 28.4769H38.2365V28.7269H38.4865V28.4769ZM34.9304 33.8116H35.1804V33.5616H34.9304V33.8116ZM34.041 33.8116V33.5616H33.791V33.8116H34.041ZM34.041 34.701H33.791V34.951H34.041V34.701ZM34.9304 34.701V34.951H35.1804V34.701H34.9304ZM37.5978 36.4795V36.7295H37.8478V36.4795H37.5978ZM37.5978 35.5901H37.8478V35.3401H37.5978V35.5901ZM36.7084 35.5901V35.3401H36.4584V35.5901H36.7084ZM35.8194 34.7005V34.9505H36.0694V34.7005H35.8194ZM35.8194 33.8112H36.0694V33.5612H35.8194V33.8112ZM34.9304 33.8112V33.5612H34.6804V33.8112H34.9304ZM34.9304 34.7005H34.6804V34.9505H34.9304V34.7005ZM37.5978 35.5901V35.8401H37.8478V35.5901H37.5978ZM37.5978 34.7007H37.8478V34.4507H37.5978V34.7007ZM36.7084 34.7007V34.4507H36.4584V34.7007H36.7084ZM37.5973 34.7005V34.9505H37.8473V34.7005H37.5973ZM37.5973 33.8112H37.8473V33.5612H37.5973V33.8112ZM36.7079 33.8112V33.5612H36.4579V33.8112H36.7079ZM36.7079 34.7005H36.4579V34.9505H36.7079V34.7005ZM39.6258 28.4769V27.5879H39.1258V28.4769H39.6258ZM39.3758 27.3379H38.4865V27.8379H39.3758V27.3379ZM38.2365 27.5879V28.4769H38.7365V27.5879H38.2365ZM38.4865 28.7269H39.3758V28.2269H38.4865V28.7269ZM34.9304 33.5616H34.041V34.0616H34.9304V33.5616ZM33.791 33.8116V34.701H34.291V33.8116H33.791ZM34.041 34.951H34.9304V34.451H34.041V34.951ZM35.1804 34.701V33.8116H34.6804V34.701H35.1804ZM36.7084 36.7295H37.5978V36.2295H36.7084V36.7295ZM37.8478 36.4795V35.5901H37.3478V36.4795H37.8478ZM37.5978 35.3401H36.7084V35.8401H37.5978V35.3401ZM36.4584 35.5901V36.4795H36.9584V35.5901H36.4584ZM36.0694 34.7005V33.8112H35.5694V34.7005H36.0694ZM35.8194 33.5612H34.9304V34.0612H35.8194V33.5612ZM34.6804 33.8112V34.7005H35.1804V33.8112H34.6804ZM34.9304 34.9505H35.8194V34.4505H34.9304V34.9505ZM36.7084 35.8401H37.5978V35.3401H36.7084V35.8401ZM37.8478 35.5901V34.7007H37.3478V35.5901H37.8478ZM37.5978 34.4507H36.7084V34.9507H37.5978V34.4507ZM36.4584 34.7007V35.5901H36.9584V34.7007H36.4584ZM37.8473 34.7005V33.8112H37.3473V34.7005H37.8473ZM37.5973 33.5612H36.7079V34.0612H37.5973V33.5612ZM36.4579 33.8112V34.7005H36.9579V33.8112H36.4579ZM36.7079 34.9505H37.5973V34.4505H36.7079V34.9505Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M36.7086 34.6999V33.8105H35.8196V34.6999H36.7086ZM36.7085 37.3673H37.5979V36.4787H36.7085V37.3673ZM33.1522 38.2564H32.2632V39.1462H33.1522V38.2564ZM33.1521 39.1465V40.0351H34.0415V39.1465H33.1521V39.1465Z" fill="white"/> +<path d="M36.7086 34.6999V34.9499H36.9586V34.6999H36.7086ZM36.7086 33.8105H36.9586V33.5605H36.7086V33.8105ZM35.8196 33.8105V33.5605H35.5696V33.8105H35.8196ZM35.8196 34.6999H35.5696V34.9499H35.8196V34.6999ZM36.7085 37.3673H36.4585V37.6173H36.7085V37.3673ZM37.5979 37.3673V37.6173H37.8479V37.3673H37.5979ZM37.5979 36.4787H37.8479V36.2287H37.5979V36.4787ZM36.7085 36.4787V36.2287H36.4585V36.4787H36.7085ZM33.1522 38.2564H33.4022V38.0064H33.1522V38.2564ZM32.2632 38.2564V38.0064H32.0132V38.2564H32.2632ZM32.2632 39.1462H32.0132V39.3962H32.2632V39.1462ZM33.1522 39.1462V39.3962H33.4022V39.1462H33.1522ZM33.1521 40.0351H32.9021V40.2851H33.1521V40.0351ZM34.0415 40.0351V40.2851H34.2915V40.0351H34.0415ZM34.0415 39.1465H34.2915V38.8965H34.0415V39.1465ZM36.9586 34.6999V33.8105H36.4586V34.6999H36.9586ZM36.7086 33.5605H35.8196V34.0605H36.7086V33.5605ZM35.5696 33.8105V34.6999H36.0696V33.8105H35.5696ZM35.8196 34.9499H36.7086V34.4499H35.8196V34.9499ZM36.7085 37.6173H37.5979V37.1173H36.7085V37.6173ZM37.8479 37.3673V36.4787H37.3479V37.3673H37.8479ZM37.5979 36.2287H36.7085V36.7287H37.5979V36.2287ZM36.4585 36.4787V37.3673H36.9585V36.4787H36.4585ZM33.1522 38.0064H32.2632V38.5064H33.1522V38.0064ZM32.0132 38.2564V39.1462H32.5132V38.2564H32.0132ZM32.2632 39.3962H33.1522V38.8962H32.2632V39.3962ZM33.4022 39.1462V38.2564H32.9022V39.1462H33.4022ZM32.9021 39.1465V40.0351H33.4021V39.1465H32.9021ZM33.1521 40.2851H34.0415V39.7851H33.1521V40.2851ZM34.2915 40.0351V39.1465H33.7915V40.0351H34.2915ZM34.0415 38.8965H33.1521V39.3965H34.0415V38.8965Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M32.2632 39.1465V40.0352H33.1522V39.1465H32.2632ZM34.9304 39.1465V40.0351H35.8194V39.1465H34.9304Z" fill="white"/> +<path d="M32.2632 39.1465V38.8965H32.0132V39.1465H32.2632ZM32.2632 40.0352H32.0132V40.2852H32.2632V40.0352ZM33.1522 40.0352V40.2852H33.4022V40.0352H33.1522ZM33.1522 39.1465H33.4022V38.8965H33.1522V39.1465ZM34.9304 39.1465V38.8965H34.6804V39.1465H34.9304ZM34.9304 40.0351H34.6804V40.2851H34.9304V40.0351ZM35.8194 40.0351V40.2851H36.0694V40.0351H35.8194ZM35.8194 39.1465H36.0694V38.8965H35.8194V39.1465ZM32.0132 39.1465V40.0352H32.5132V39.1465H32.0132ZM32.2632 40.2852H33.1522V39.7852H32.2632V40.2852ZM33.4022 40.0352V39.1465H32.9022V40.0352H33.4022ZM33.1522 38.8965H32.2632V39.3965H33.1522V38.8965ZM34.6804 39.1465V40.0351H35.1804V39.1465H34.6804ZM34.9304 40.2851H35.8194V39.7851H34.9304V40.2851ZM36.0694 40.0351V39.1465H35.5694V40.0351H36.0694ZM35.8194 38.8965H34.9304V39.3965H35.8194V38.8965Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M34.0415 39.1465V40.0352H34.9309V39.1465H34.0415ZM35.8196 39.1465V40.0351H36.7086V39.1465H35.8196ZM42.933 42.7023H43.8224V41.8129H42.933V42.7023V42.7023Z" fill="white"/> +<path d="M34.0415 39.1465V38.8965H33.7915V39.1465H34.0415ZM34.0415 40.0352H33.7915V40.2852H34.0415V40.0352ZM34.9309 40.0352V40.2852H35.1809V40.0352H34.9309ZM34.9309 39.1465H35.1809V38.8965H34.9309V39.1465ZM35.8196 39.1465V38.8965H35.5696V39.1465H35.8196ZM35.8196 40.0351H35.5696V40.2851H35.8196V40.0351ZM36.7086 40.0351V40.2851H36.9586V40.0351H36.7086ZM36.7086 39.1465H36.9586V38.8965H36.7086V39.1465ZM43.8224 42.7023V42.9523H44.0724V42.7023H43.8224ZM43.8224 41.8129H44.0724V41.5629H43.8224V41.8129ZM42.933 41.8129V41.5629H42.683V41.8129H42.933ZM33.7915 39.1465V40.0352H34.2915V39.1465H33.7915ZM34.0415 40.2852H34.9309V39.7852H34.0415V40.2852ZM35.1809 40.0352V39.1465H34.6809V40.0352H35.1809ZM34.9309 38.8965H34.0415V39.3965H34.9309V38.8965ZM35.5696 39.1465V40.0351H36.0696V39.1465H35.5696ZM35.8196 40.2851H36.7086V39.7851H35.8196V40.2851ZM36.9586 40.0351V39.1465H36.4586V40.0351H36.9586ZM36.7086 38.8965H35.8196V39.3965H36.7086V38.8965ZM42.933 42.9523H43.8224V42.4523H42.933V42.9523ZM44.0724 42.7023V41.8129H43.5724V42.7023H44.0724ZM43.8224 41.5629H42.933V42.0629H43.8224V41.5629ZM42.683 41.8129V42.7023H43.183V41.8129H42.683Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9326 43.5915H43.822V42.7021H42.9326V43.5915H42.9326Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0435 42.7031V43.5925H42.9328V42.7031H42.0435V42.7031Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M41.1543 42.7029V43.5923H42.0437V42.7029H41.1543V42.7029ZM42.9326 40.9245H43.822V40.0352H42.9326V40.9245V40.9245Z" fill="white"/> +<path d="M41.1543 43.5923H40.9043V43.8423H41.1543V43.5923ZM42.0437 43.5923V43.8423H42.2937V43.5923H42.0437ZM42.0437 42.7029H42.2937V42.4529H42.0437V42.7029ZM43.822 40.9245V41.1745H44.072V40.9245H43.822ZM43.822 40.0352H44.072V39.7852H43.822V40.0352ZM42.9326 40.0352V39.7852H42.6826V40.0352H42.9326ZM40.9043 42.7029V43.5923H41.4043V42.7029H40.9043ZM41.1543 43.8423H42.0437V43.3423H41.1543V43.8423ZM42.2937 43.5923V42.7029H41.7937V43.5923H42.2937ZM42.0437 42.4529H41.1543V42.9529H42.0437V42.4529ZM42.9326 41.1745H43.822V40.6745H42.9326V41.1745ZM44.072 40.9245V40.0352H43.572V40.9245H44.072ZM43.822 39.7852H42.9326V40.2852H43.822V39.7852ZM42.6826 40.0352V40.9245H43.1826V40.0352H42.6826Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9325 41.8136H43.8219V40.9242H42.9325V41.8136V41.8136ZM42.9325 40.0351H43.8219V39.1465H42.9325V40.0351V40.0351ZM36.708 42.7028V43.5922H37.5974V42.7028H36.708V42.7028Z" fill="white"/> +<path d="M43.8219 41.8136V42.0636H44.0719V41.8136H43.8219ZM43.8219 40.9242H44.0719V40.6742H43.8219V40.9242ZM42.9325 40.9242V40.6742H42.6825V40.9242H42.9325ZM43.8219 40.0351V40.2851H44.0719V40.0351H43.8219ZM43.8219 39.1465H44.0719V38.8965H43.8219V39.1465ZM42.9325 39.1465V38.8965H42.6825V39.1465H42.9325ZM36.708 43.5922H36.458V43.8422H36.708V43.5922ZM37.5974 43.5922V43.8422H37.8474V43.5922H37.5974ZM37.5974 42.7028H37.8474V42.4528H37.5974V42.7028ZM42.9325 42.0636H43.8219V41.5636H42.9325V42.0636ZM44.0719 41.8136V40.9242H43.5719V41.8136H44.0719ZM43.8219 40.6742H42.9325V41.1742H43.8219V40.6742ZM42.6825 40.9242V41.8136H43.1825V40.9242H42.6825ZM42.9325 40.2851H43.8219V39.7851H42.9325V40.2851ZM44.0719 40.0351V39.1465H43.5719V40.0351H44.0719ZM43.8219 38.8965H42.9325V39.3965H43.8219V38.8965ZM42.6825 39.1465V40.0351H43.1825V39.1465H42.6825ZM36.458 42.7028V43.5922H36.958V42.7028H36.458ZM36.708 43.8422H37.5974V43.3422H36.708V43.8422ZM37.8474 43.5922V42.7028H37.3474V43.5922H37.8474ZM37.5974 42.4528H36.708V42.9528H37.5974V42.4528Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M37.5972 42.7031V43.5925H38.4866V42.7031H37.5972V42.7031Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M38.4865 42.7031V43.5924H39.3758V42.7031H38.4865V42.7031ZM33.1517 33.8115H32.2627V34.7008H33.1517V33.8115ZM52.2564 24.0317C52.1157 23.8444 51.9712 23.6602 51.8236 23.4775V24.0317H52.2564ZM27.8169 43.5919V44.4813H28.7063V43.5919H27.8169V43.5919ZM33.1517 37.3678H32.2627V38.2572H33.1517V37.3678V37.3678ZM34.9302 34.7005H34.0408V35.5899H34.9302V34.7005Z" fill="white"/> +<path d="M38.4865 43.5924H38.2365V43.8424H38.4865V43.5924ZM39.3758 43.5924V43.8424H39.6258V43.5924H39.3758ZM39.3758 42.7031H39.6258V42.4531H39.3758V42.7031ZM33.1517 33.8115H33.4017V33.5615H33.1517V33.8115ZM32.2627 33.8115V33.5615H32.0127V33.8115H32.2627ZM32.2627 34.7008H32.0127V34.9508H32.2627V34.7008ZM33.1517 34.7008V34.9508H33.4017V34.7008H33.1517ZM52.2564 24.0317V24.2817H52.7568L52.4563 23.8816L52.2564 24.0317ZM51.8236 23.4775L52.0181 23.3204L51.5736 22.7704V23.4775H51.8236ZM51.8236 24.0317H51.5736V24.2817H51.8236V24.0317ZM27.8169 44.4813H27.5669V44.7313H27.8169V44.4813ZM28.7063 44.4813V44.7313H28.9563V44.4813H28.7063ZM28.7063 43.5919H28.9563V43.3419H28.7063V43.5919ZM32.2627 37.3678V37.1178H32.0127V37.3678H32.2627ZM32.2627 38.2572H32.0127V38.5072H32.2627V38.2572ZM33.1517 38.2572V38.5072H33.4017V38.2572H33.1517ZM34.9302 34.7005H35.1802V34.4505H34.9302V34.7005ZM34.0408 34.7005V34.4505H33.7908V34.7005H34.0408ZM34.0408 35.5899H33.7908V35.8399H34.0408V35.5899ZM34.9302 35.5899V35.8399H35.1802V35.5899H34.9302ZM38.2365 42.7031V43.5924H38.7365V42.7031H38.2365ZM38.4865 43.8424H39.3758V43.3424H38.4865V43.8424ZM39.6258 43.5924V42.7031H39.1258V43.5924H39.6258ZM39.3758 42.4531H38.4865V42.9531H39.3758V42.4531ZM33.1517 33.5615H32.2627V34.0615H33.1517V33.5615ZM32.0127 33.8115V34.7008H32.5127V33.8115H32.0127ZM32.2627 34.9508H33.1517V34.4508H32.2627V34.9508ZM33.4017 34.7008V33.8115H32.9017V34.7008H33.4017ZM52.4563 23.8816C52.3135 23.6915 52.1672 23.5049 52.0181 23.3204L51.6292 23.6347C51.7753 23.8155 51.9179 23.9973 52.0565 24.1819L52.4563 23.8816ZM51.5736 23.4775V24.0317H52.0736V23.4775H51.5736ZM51.8236 24.2817H52.2564V23.7817H51.8236V24.2817ZM27.5669 43.5919V44.4813H28.0669V43.5919H27.5669ZM27.8169 44.7313H28.7063V44.2313H27.8169V44.7313ZM28.9563 44.4813V43.5919H28.4563V44.4813H28.9563ZM28.7063 43.3419H27.8169V43.8419H28.7063V43.3419ZM33.1517 37.1178H32.2627V37.6178H33.1517V37.1178ZM32.0127 37.3678V38.2572H32.5127V37.3678H32.0127ZM32.2627 38.5072H33.1517V38.0072H32.2627V38.5072ZM33.4017 38.2572V37.3678H32.9017V38.2572H33.4017ZM34.9302 34.4505H34.0408V34.9505H34.9302V34.4505ZM33.7908 34.7005V35.5899H34.2908V34.7005H33.7908ZM34.0408 35.8399H34.9302V35.3399H34.0408V35.8399ZM35.1802 35.5899V34.7005H34.6802V35.5899H35.1802Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M33.1522 36.479H32.2632V37.3676H33.1522V36.479ZM33.1522 34.7002H32.2632V35.5896H33.1522V34.7002ZM28.7063 42.7026H27.8169V43.592H28.7063V42.7026V42.7026Z" fill="white"/> +<path d="M33.1522 36.479H33.4022V36.229H33.1522V36.479ZM32.2632 36.479V36.229H32.0132V36.479H32.2632ZM32.2632 37.3676H32.0132V37.6176H32.2632V37.3676ZM33.1522 37.3676V37.6176H33.4022V37.3676H33.1522ZM33.1522 34.7002H33.4022V34.4502H33.1522V34.7002ZM32.2632 34.7002V34.4502H32.0132V34.7002H32.2632ZM32.2632 35.5896H32.0132V35.8396H32.2632V35.5896ZM33.1522 35.5896V35.8396H33.4022V35.5896H33.1522ZM27.8169 42.7026V42.4526H27.5669V42.7026H27.8169ZM27.8169 43.592H27.5669V43.842H27.8169V43.592ZM28.7063 43.592V43.842H28.9563V43.592H28.7063ZM33.1522 36.229H32.2632V36.729H33.1522V36.229ZM32.0132 36.479V37.3676H32.5132V36.479H32.0132ZM32.2632 37.6176H33.1522V37.1176H32.2632V37.6176ZM33.4022 37.3676V36.479H32.9022V37.3676H33.4022ZM33.1522 34.4502H32.2632V34.9502H33.1522V34.4502ZM32.0132 34.7002V35.5896H32.5132V34.7002H32.0132ZM32.2632 35.8396H33.1522V35.3396H32.2632V35.8396ZM33.4022 35.5896V34.7002H32.9022V35.5896H33.4022ZM28.7063 42.4526H27.8169V42.9526H28.7063V42.4526ZM27.5669 42.7026V43.592H28.0669V42.7026H27.5669ZM27.8169 43.842H28.7063V43.342H27.8169V43.842ZM28.9563 43.592V42.7026H28.4563V43.592H28.9563Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M33.1522 35.5898H32.2632V36.4792H33.1522V35.5898V35.5898ZM37.5974 43.5919V44.4813H38.4868V43.5919H37.5974V43.5919ZM39.3759 43.5919V44.4813H40.2652V43.5919H39.3759V43.5919Z" fill="white"/> +<path d="M32.2632 35.5898V35.3398H32.0132V35.5898H32.2632ZM32.2632 36.4792H32.0132V36.7292H32.2632V36.4792ZM33.1522 36.4792V36.7292H33.4022V36.4792H33.1522ZM37.5974 44.4813H37.3474V44.7313H37.5974V44.4813ZM38.4868 44.4813V44.7313H38.7368V44.4813H38.4868ZM38.4868 43.5919H38.7368V43.3419H38.4868V43.5919ZM39.3759 44.4813H39.1259V44.7313H39.3759V44.4813ZM40.2652 44.4813V44.7313H40.5152V44.4813H40.2652ZM40.2652 43.5919H40.5152V43.3419H40.2652V43.5919ZM33.1522 35.3398H32.2632V35.8398H33.1522V35.3398ZM32.0132 35.5898V36.4792H32.5132V35.5898H32.0132ZM32.2632 36.7292H33.1522V36.2292H32.2632V36.7292ZM33.4022 36.4792V35.5898H32.9022V36.4792H33.4022ZM37.3474 43.5919V44.4813H37.8474V43.5919H37.3474ZM37.5974 44.7313H38.4868V44.2313H37.5974V44.7313ZM38.7368 44.4813V43.5919H38.2368V44.4813H38.7368ZM38.4868 43.3419H37.5974V43.8419H38.4868V43.3419ZM39.1259 43.5919V44.4813H39.6259V43.5919H39.1259ZM39.3759 44.7313H40.2652V44.2313H39.3759V44.7313ZM40.5152 44.4813V43.5919H40.0152V44.4813H40.5152ZM40.2652 43.3419H39.3759V43.8419H40.2652V43.3419Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M38.4867 43.5922V44.4815H39.3761V43.5922H38.4867V43.5922ZM34.0415 43.5922V44.4815H34.9309V43.5922H34.0415V43.5922ZM29.5957 28.4769V27.5879H28.7063V28.4769H29.5957ZM30.4847 28.4769V27.5879H29.5957V28.4769H30.4847ZM28.7063 40.0355H27.8169V40.9248H28.7063V40.0355ZM28.7063 36.4795H27.8169V37.3681H28.7063V36.4795Z" fill="white"/> +<path d="M38.4867 44.4815H38.2367V44.7315H38.4867V44.4815ZM39.3761 44.4815V44.7315H39.6261V44.4815H39.3761ZM39.3761 43.5922H39.6261V43.3422H39.3761V43.5922ZM34.0415 44.4815H33.7915V44.7315H34.0415V44.4815ZM34.9309 44.4815V44.7315H35.1809V44.4815H34.9309ZM34.9309 43.5922H35.1809V43.3422H34.9309V43.5922ZM29.5957 28.4769V28.7269H29.8457V28.4769H29.5957ZM29.5957 27.5879H29.8457V27.3379H29.5957V27.5879ZM28.7063 27.5879V27.3379H28.4563V27.5879H28.7063ZM28.7063 28.4769H28.4563V28.7269H28.7063V28.4769ZM30.4847 28.4769V28.7269H30.7347V28.4769H30.4847ZM30.4847 27.5879H30.7347V27.3379H30.4847V27.5879ZM29.5957 27.5879V27.3379H29.3457V27.5879H29.5957ZM29.5957 28.4769H29.3457V28.7269H29.5957V28.4769ZM28.7063 40.0355H28.9563V39.7855H28.7063V40.0355ZM27.8169 40.0355V39.7855H27.5669V40.0355H27.8169ZM27.8169 40.9248H27.5669V41.1748H27.8169V40.9248ZM28.7063 40.9248V41.1748H28.9563V40.9248H28.7063ZM28.7063 36.4795H28.9563V36.2295H28.7063V36.4795ZM27.8169 36.4795V36.2295H27.5669V36.4795H27.8169ZM27.8169 37.3681H27.5669V37.6181H27.8169V37.3681ZM28.7063 37.3681V37.6181H28.9563V37.3681H28.7063ZM38.2367 43.5922V44.4815H38.7367V43.5922H38.2367ZM38.4867 44.7315H39.3761V44.2315H38.4867V44.7315ZM39.6261 44.4815V43.5922H39.1261V44.4815H39.6261ZM39.3761 43.3422H38.4867V43.8422H39.3761V43.3422ZM33.7915 43.5922V44.4815H34.2915V43.5922H33.7915ZM34.0415 44.7315H34.9309V44.2315H34.0415V44.7315ZM35.1809 44.4815V43.5922H34.6809V44.4815H35.1809ZM34.9309 43.3422H34.0415V43.8422H34.9309V43.3422ZM29.8457 28.4769V27.5879H29.3457V28.4769H29.8457ZM29.5957 27.3379H28.7063V27.8379H29.5957V27.3379ZM28.4563 27.5879V28.4769H28.9563V27.5879H28.4563ZM28.7063 28.7269H29.5957V28.2269H28.7063V28.7269ZM30.7347 28.4769V27.5879H30.2347V28.4769H30.7347ZM30.4847 27.3379H29.5957V27.8379H30.4847V27.3379ZM29.3457 27.5879V28.4769H29.8457V27.5879H29.3457ZM29.5957 28.7269H30.4847V28.2269H29.5957V28.7269ZM28.7063 39.7855H27.8169V40.2855H28.7063V39.7855ZM27.5669 40.0355V40.9248H28.0669V40.0355H27.5669ZM27.8169 41.1748H28.7063V40.6748H27.8169V41.1748ZM28.9563 40.9248V40.0355H28.4563V40.9248H28.9563ZM28.7063 36.2295H27.8169V36.7295H28.7063V36.2295ZM27.5669 36.4795V37.3681H28.0669V36.4795H27.5669ZM27.8169 37.6181H28.7063V37.1181H27.8169V37.6181ZM28.9563 37.3681V36.4795H28.4563V37.3681H28.9563Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M28.7063 39.1464H27.8169V40.035H28.7063V39.1464ZM28.7063 37.3672H27.8169V38.2566H28.7063V37.3672V37.3672ZM28.7063 40.924H27.8169V41.8134H28.7063V40.924Z" fill="white"/> +<path d="M28.7063 39.1464H28.9563V38.8964H28.7063V39.1464ZM27.8169 39.1464V38.8964H27.5669V39.1464H27.8169ZM27.8169 40.035H27.5669V40.285H27.8169V40.035ZM28.7063 40.035V40.285H28.9563V40.035H28.7063ZM27.8169 37.3672V37.1172H27.5669V37.3672H27.8169ZM27.8169 38.2566H27.5669V38.5066H27.8169V38.2566ZM28.7063 38.2566V38.5066H28.9563V38.2566H28.7063ZM28.7063 40.924H28.9563V40.674H28.7063V40.924ZM27.8169 40.924V40.674H27.5669V40.924H27.8169ZM27.8169 41.8134H27.5669V42.0634H27.8169V41.8134ZM28.7063 41.8134V42.0634H28.9563V41.8134H28.7063ZM28.7063 38.8964H27.8169V39.3964H28.7063V38.8964ZM27.5669 39.1464V40.035H28.0669V39.1464H27.5669ZM27.8169 40.285H28.7063V39.785H27.8169V40.285ZM28.9563 40.035V39.1464H28.4563V40.035H28.9563ZM28.7063 37.1172H27.8169V37.6172H28.7063V37.1172ZM27.5669 37.3672V38.2566H28.0669V37.3672H27.5669ZM27.8169 38.5066H28.7063V38.0066H27.8169V38.5066ZM28.9563 38.2566V37.3672H28.4563V38.2566H28.9563ZM28.7063 40.674H27.8169V41.174H28.7063V40.674ZM27.5669 40.924V41.8134H28.0669V40.924H27.5669ZM27.8169 42.0634H28.7063V41.5634H27.8169V42.0634ZM28.9563 41.8134V40.924H28.4563V41.8134H28.9563Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M28.7063 41.8129H27.8169V42.7022H28.7063V41.8129V41.8129ZM28.7063 31.1436H27.8169V32.0326H28.7063V31.1436ZM28.7063 32.9218H27.8169V33.8108H28.7063V32.9218Z" fill="white"/> +<path d="M27.8169 41.8129V41.5629H27.5669V41.8129H27.8169ZM27.8169 42.7022H27.5669V42.9522H27.8169V42.7022ZM28.7063 42.7022V42.9522H28.9563V42.7022H28.7063ZM28.7063 31.1436H28.9563V30.8936H28.7063V31.1436ZM27.8169 31.1436V30.8936H27.5669V31.1436H27.8169ZM27.8169 32.0326H27.5669V32.2826H27.8169V32.0326ZM28.7063 32.0326V32.2826H28.9563V32.0326H28.7063ZM28.7063 32.9218H28.9563V32.6718H28.7063V32.9218ZM27.8169 32.9218V32.6718H27.5669V32.9218H27.8169ZM27.8169 33.8108H27.5669V34.0608H27.8169V33.8108ZM28.7063 33.8108V34.0608H28.9563V33.8108H28.7063ZM28.7063 41.5629H27.8169V42.0629H28.7063V41.5629ZM27.5669 41.8129V42.7022H28.0669V41.8129H27.5669ZM27.8169 42.9522H28.7063V42.4522H27.8169V42.9522ZM28.9563 42.7022V41.8129H28.4563V42.7022H28.9563ZM28.7063 30.8936H27.8169V31.3936H28.7063V30.8936ZM27.5669 31.1436V32.0326H28.0669V31.1436H27.5669ZM27.8169 32.2826H28.7063V31.7826H27.8169V32.2826ZM28.9563 32.0326V31.1436H28.4563V32.0326H28.9563ZM28.7063 32.6718H27.8169V33.1718H28.7063V32.6718ZM27.5669 32.9218V33.8108H28.0669V32.9218H27.5669ZM27.8169 34.0608H28.7063V33.5608H27.8169V34.0608ZM28.9563 33.8108V32.9218H28.4563V33.8108H28.9563Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M28.706 32.0328H27.8167V32.9222H28.706V32.0328ZM28.706 35.5897H27.8167V36.4791H28.706V35.5897V35.5897ZM29.5953 41.8134V42.7027H30.4843V41.8134H29.5953V41.8134ZM26.0386 19.5851H26.928V18.6957H26.2387C26.1717 18.7345 26.1055 18.7746 26.0386 18.8138V19.5851ZM40.2649 19.5851V18.6957H39.3755V19.5851H40.2649ZM41.1543 18.6956V17.8066H40.2649V18.6956H41.1543ZM40.2649 17.8066H39.3755V18.6956H40.2649V17.8066Z" fill="white"/> +<path d="M28.706 32.0328H28.956V31.7828H28.706V32.0328ZM27.8167 32.0328V31.7828H27.5667V32.0328H27.8167ZM27.8167 32.9222H27.5667V33.1722H27.8167V32.9222ZM28.706 32.9222V33.1722H28.956V32.9222H28.706ZM27.8167 35.5897V35.3397H27.5667V35.5897H27.8167ZM27.8167 36.4791H27.5667V36.7291H27.8167V36.4791ZM28.706 36.4791V36.7291H28.956V36.4791H28.706ZM29.5953 42.7027H29.3453V42.9527H29.5953V42.7027ZM30.4843 42.7027V42.9527H30.7343V42.7027H30.4843ZM30.4843 41.8134H30.7343V41.5634H30.4843V41.8134ZM26.0386 19.5851H25.7886V19.8351H26.0386V19.5851ZM26.928 19.5851V19.8351H27.178V19.5851H26.928ZM26.928 18.6957H27.178V18.4457H26.928V18.6957ZM26.2387 18.6957V18.4457H26.1714L26.1132 18.4795L26.2387 18.6957ZM26.0386 18.8138L25.9121 18.5982L25.7886 18.6706V18.8138H26.0386ZM40.2649 19.5851V19.8351H40.5149V19.5851H40.2649ZM40.2649 18.6957H40.5149V18.4457H40.2649V18.6957ZM39.3755 18.6957V18.4457H39.1255V18.6957H39.3755ZM39.3755 19.5851H39.1255V19.8351H39.3755V19.5851ZM41.1543 18.6956V18.9456H41.4043V18.6956H41.1543ZM41.1543 17.8066H41.4043V17.5566H41.1543V17.8066ZM40.2649 17.8066V17.5566H40.0149V17.8066H40.2649ZM40.2649 18.6956H40.0149V18.9456H40.2649V18.6956ZM40.2649 17.8066H40.5149V17.5566H40.2649V17.8066ZM39.3755 17.8066V17.5566H39.1255V17.8066H39.3755ZM39.3755 18.6956H39.1255V18.9456H39.3755V18.6956ZM40.2649 18.6956V18.9456H40.5149V18.6956H40.2649ZM28.706 31.7828H27.8167V32.2828H28.706V31.7828ZM27.5667 32.0328V32.9222H28.0667V32.0328H27.5667ZM27.8167 33.1722H28.706V32.6722H27.8167V33.1722ZM28.956 32.9222V32.0328H28.456V32.9222H28.956ZM28.706 35.3397H27.8167V35.8397H28.706V35.3397ZM27.5667 35.5897V36.4791H28.0667V35.5897H27.5667ZM27.8167 36.7291H28.706V36.2291H27.8167V36.7291ZM28.956 36.4791V35.5897H28.456V36.4791H28.956ZM29.3453 41.8134V42.7027H29.8453V41.8134H29.3453ZM29.5953 42.9527H30.4843V42.4527H29.5953V42.9527ZM30.7343 42.7027V41.8134H30.2343V42.7027H30.7343ZM30.4843 41.5634H29.5953V42.0634H30.4843V41.5634ZM26.0386 19.8351H26.928V19.3351H26.0386V19.8351ZM27.178 19.5851V18.6957H26.678V19.5851H27.178ZM26.928 18.4457H26.2387V18.9457H26.928V18.4457ZM26.1132 18.4795C26.0478 18.5174 25.973 18.5625 25.9121 18.5982L26.165 19.0295C26.2381 18.9867 26.2956 18.9517 26.3642 18.9119L26.1132 18.4795ZM25.7886 18.8138V19.5851H26.2886V18.8138H25.7886ZM40.5149 19.5851V18.6957H40.0149V19.5851H40.5149ZM40.2649 18.4457H39.3755V18.9457H40.2649V18.4457ZM39.1255 18.6957V19.5851H39.6255V18.6957H39.1255ZM39.3755 19.8351H40.2649V19.3351H39.3755V19.8351ZM41.4043 18.6956V17.8066H40.9043V18.6956H41.4043ZM41.1543 17.5566H40.2649V18.0566H41.1543V17.5566ZM40.0149 17.8066V18.6956H40.5149V17.8066H40.0149ZM40.2649 18.9456H41.1543V18.4456H40.2649V18.9456ZM40.2649 17.5566H39.3755V18.0566H40.2649V17.5566ZM39.1255 17.8066V18.6956H39.6255V17.8066H39.1255ZM39.3755 18.9456H40.2649V18.4456H39.3755V18.9456ZM40.5149 18.6956V17.8066H40.0149V18.6956H40.5149Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3757 19.5847V18.6953H38.4863V19.5847H39.3757V19.5847ZM40.265 19.5848H41.1544V18.6954H40.265V19.5848ZM44.7113 19.5848V18.6954H43.8219V19.5848H44.7113V19.5848ZM42.9327 19.5848V18.6954H42.0433V19.5848H42.9327V19.5848Z" fill="white"/> +<path d="M39.3757 18.6953H39.6257V18.4453H39.3757V18.6953ZM38.4863 18.6953V18.4453H38.2363V18.6953H38.4863ZM38.4863 19.5847H38.2363V19.8347H38.4863V19.5847ZM40.265 19.5848H40.015V19.8348H40.265V19.5848ZM41.1544 19.5848V19.8348H41.4044V19.5848H41.1544ZM41.1544 18.6954H41.4044V18.4454H41.1544V18.6954ZM40.265 18.6954V18.4454H40.015V18.6954H40.265ZM44.7113 18.6954H44.9613V18.4454H44.7113V18.6954ZM43.8219 18.6954V18.4454H43.5719V18.6954H43.8219ZM43.8219 19.5848H43.5719V19.8348H43.8219V19.5848ZM42.9327 18.6954H43.1827V18.4454H42.9327V18.6954ZM42.0433 18.6954V18.4454H41.7933V18.6954H42.0433ZM42.0433 19.5848H41.7933V19.8348H42.0433V19.5848ZM39.6257 19.5847V18.6953H39.1257V19.5847H39.6257ZM39.3757 18.4453H38.4863V18.9453H39.3757V18.4453ZM38.2363 18.6953V19.5847H38.7363V18.6953H38.2363ZM38.4863 19.8347H39.3757V19.3347H38.4863V19.8347ZM40.265 19.8348H41.1544V19.3348H40.265V19.8348ZM41.4044 19.5848V18.6954H40.9044V19.5848H41.4044ZM41.1544 18.4454H40.265V18.9454H41.1544V18.4454ZM40.015 18.6954V19.5848H40.515V18.6954H40.015ZM44.9613 19.5848V18.6954H44.4613V19.5848H44.9613ZM44.7113 18.4454H43.8219V18.9454H44.7113V18.4454ZM43.5719 18.6954V19.5848H44.0719V18.6954H43.5719ZM43.8219 19.8348H44.7113V19.3348H43.8219V19.8348ZM43.1827 19.5848V18.6954H42.6827V19.5848H43.1827ZM42.9327 18.4454H42.0433V18.9454H42.9327V18.4454ZM41.7933 18.6954V19.5848H42.2933V18.6954H41.7933ZM42.0433 19.8348H42.9327V19.3348H42.0433V19.8348Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0432 19.5847V18.6953H41.1538V19.5847H42.0432ZM45.5998 19.5848V18.6954H44.7104V19.5848H45.5998ZM52.713 45.3702V46.2596H53.4488C53.5 46.173 53.552 46.0868 53.602 45.9995V45.3702H52.713ZM53.6018 46C53.7211 45.7921 53.8365 45.582 53.9479 45.3699H53.6018V46Z" fill="white"/> +<path d="M42.0432 19.5847V19.8347H42.2932V19.5847H42.0432ZM42.0432 18.6953H42.2932V18.4453H42.0432V18.6953ZM41.1538 18.6953V18.4453H40.9038V18.6953H41.1538ZM41.1538 19.5847H40.9038V19.8347H41.1538V19.5847ZM45.5998 19.5848V19.8348H45.8498V19.5848H45.5998ZM45.5998 18.6954H45.8498V18.4454H45.5998V18.6954ZM44.7104 18.6954V18.4454H44.4604V18.6954H44.7104ZM44.7104 19.5848H44.4604V19.8348H44.7104V19.5848ZM52.713 45.3702V45.1202H52.463V45.3702H52.713ZM52.713 46.2596H52.463V46.5096H52.713V46.2596ZM53.4488 46.2596V46.5096H53.5915L53.6641 46.3868L53.4488 46.2596ZM53.602 45.9995L53.819 46.1237L53.852 46.066V45.9995H53.602ZM53.602 45.3702H53.852V45.1202H53.602V45.3702ZM53.6018 46H53.3518V46.9379L53.8186 46.1244L53.6018 46ZM53.9479 45.3699L54.1692 45.4861L54.3615 45.1199H53.9479V45.3699ZM53.6018 45.3699V45.1199H53.3518V45.3699H53.6018ZM42.2932 19.5847V18.6953H41.7932V19.5847H42.2932ZM42.0432 18.4453H41.1538V18.9453H42.0432V18.4453ZM40.9038 18.6953V19.5847H41.4038V18.6953H40.9038ZM41.1538 19.8347H42.0432V19.3347H41.1538V19.8347ZM45.8498 19.5848V18.6954H45.3498V19.5848H45.8498ZM45.5998 18.4454H44.7104V18.9454H45.5998V18.4454ZM44.4604 18.6954V19.5848H44.9604V18.6954H44.4604ZM44.7104 19.8348H45.5998V19.3348H44.7104V19.8348ZM52.463 45.3702V46.2596H52.963V45.3702H52.463ZM52.713 46.5096H53.4488V46.0096H52.713V46.5096ZM53.6641 46.3868C53.7138 46.3027 53.7678 46.213 53.819 46.1237L53.3851 45.8752C53.3362 45.9606 53.2863 46.0434 53.2336 46.1324L53.6641 46.3868ZM53.852 45.9995V45.3702H53.352V45.9995H53.852ZM53.602 45.1202H52.713V45.6202H53.602V45.1202ZM53.8186 46.1244C53.9395 45.9138 54.0564 45.701 54.1692 45.4861L53.7265 45.2536C53.6166 45.4631 53.5027 45.6704 53.385 45.8755L53.8186 46.1244ZM53.9479 45.1199H53.6018V45.6199H53.9479V45.1199ZM53.3518 45.3699V46H53.8518V45.3699H53.3518Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M53.948 45.37C54.102 45.0775 54.2494 44.7815 54.3891 44.4806H53.6021V45.37H53.948ZM53.6021 40.9239H54.4914V40.0345H53.6021V40.9239ZM53.6021 39.1462H54.4914V38.2565H53.6021V39.1462ZM53.6021 37.3671H54.4914V36.4785H53.6021V37.3671Z" fill="white"/> +<path d="M53.948 45.37V45.62H54.099L54.1693 45.4864L53.948 45.37ZM54.3891 44.4806L54.6158 44.5859L54.7807 44.2306H54.3891V44.4806ZM53.6021 44.4806V44.2306H53.3521V44.4806H53.6021ZM53.6021 45.37H53.3521V45.62H53.6021V45.37ZM53.6021 40.9239H53.3521V41.1739H53.6021V40.9239ZM54.4914 40.9239V41.1739H54.7414V40.9239H54.4914ZM54.4914 40.0345H54.7414V39.7845H54.4914V40.0345ZM53.6021 40.0345V39.7845H53.3521V40.0345H53.6021ZM53.6021 39.1462H53.3521V39.3962H53.6021V39.1462ZM54.4914 39.1462V39.3962H54.7414V39.1462H54.4914ZM54.4914 38.2565H54.7414V38.0065H54.4914V38.2565ZM53.6021 38.2565V38.0065H53.3521V38.2565H53.6021ZM53.6021 37.3671H53.3521V37.6171H53.6021V37.3671ZM54.4914 37.3671V37.6171H54.7414V37.3671H54.4914ZM54.4914 36.4785H54.7414V36.2285H54.4914V36.4785ZM53.6021 36.4785V36.2285H53.3521V36.4785H53.6021ZM54.1693 45.4864C54.3249 45.1906 54.4742 44.8909 54.6158 44.5859L54.1623 44.3753C54.0245 44.6721 53.879 44.9644 53.7268 45.2535L54.1693 45.4864ZM54.3891 44.2306H53.6021V44.7306H54.3891V44.2306ZM53.3521 44.4806V45.37H53.8521V44.4806H53.3521ZM53.6021 45.62H53.948V45.12H53.6021V45.62ZM53.6021 41.1739H54.4914V40.6739H53.6021V41.1739ZM54.7414 40.9239V40.0345H54.2414V40.9239H54.7414ZM54.4914 39.7845H53.6021V40.2845H54.4914V39.7845ZM53.3521 40.0345V40.9239H53.8521V40.0345H53.3521ZM53.6021 39.3962H54.4914V38.8962H53.6021V39.3962ZM54.7414 39.1462V38.2565H54.2414V39.1462H54.7414ZM54.4914 38.0065H53.6021V38.5065H54.4914V38.0065ZM53.3521 38.2565V39.1462H53.8521V38.2565H53.3521ZM53.6021 37.6171H54.4914V37.1171H53.6021V37.6171ZM54.7414 37.3671V36.4785H54.2414V37.3671H54.7414ZM54.4914 36.2285H53.6021V36.7285H54.4914V36.2285ZM53.3521 36.4785V37.3671H53.8521V36.4785H53.3521Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M52.7134 40.035V40.9244H53.6028V40.035H52.7134ZM53.6023 38.2566H54.4917V37.3672H53.6023V38.2566V38.2566ZM53.6023 40.0349H54.4917V39.1463H53.6023V40.0349ZM52.7134 45.3706H53.6028V44.4812H52.7134V45.3706ZM52.7134 44.4812H53.6028V43.5918H52.7134V44.4812ZM52.7134 42.7028H53.6028V41.8134H52.7134V42.7028V42.7028Z" fill="white"/> +<path d="M52.7134 40.035V39.785H52.4634V40.035H52.7134ZM52.7134 40.9244H52.4634V41.1744H52.7134V40.9244ZM53.6028 40.9244V41.1744H53.8528V40.9244H53.6028ZM53.6028 40.035H53.8528V39.785H53.6028V40.035ZM54.4917 38.2566V38.5066H54.7417V38.2566H54.4917ZM54.4917 37.3672H54.7417V37.1172H54.4917V37.3672ZM53.6023 37.3672V37.1172H53.3523V37.3672H53.6023ZM53.6023 40.0349H53.3523V40.2849H53.6023V40.0349ZM54.4917 40.0349V40.2849H54.7417V40.0349H54.4917ZM54.4917 39.1463H54.7417V38.8963H54.4917V39.1463ZM53.6023 39.1463V38.8963H53.3523V39.1463H53.6023ZM52.7134 45.3706H52.4634V45.6206H52.7134V45.3706ZM53.6028 45.3706V45.6206H53.8528V45.3706H53.6028ZM53.6028 44.4812H53.8528V44.2312H53.6028V44.4812ZM52.7134 44.4812V44.2312H52.4634V44.4812H52.7134ZM52.7134 44.4812H52.4634V44.7312H52.7134V44.4812ZM53.6028 44.4812V44.7312H53.8528V44.4812H53.6028ZM53.6028 43.5918H53.8528V43.3418H53.6028V43.5918ZM52.7134 43.5918V43.3418H52.4634V43.5918H52.7134ZM53.6028 42.7028V42.9528H53.8528V42.7028H53.6028ZM53.6028 41.8134H53.8528V41.5634H53.6028V41.8134ZM52.7134 41.8134V41.5634H52.4634V41.8134H52.7134ZM52.4634 40.035V40.9244H52.9634V40.035H52.4634ZM52.7134 41.1744H53.6028V40.6744H52.7134V41.1744ZM53.8528 40.9244V40.035H53.3528V40.9244H53.8528ZM53.6028 39.785H52.7134V40.285H53.6028V39.785ZM53.6023 38.5066H54.4917V38.0066H53.6023V38.5066ZM54.7417 38.2566V37.3672H54.2417V38.2566H54.7417ZM54.4917 37.1172H53.6023V37.6172H54.4917V37.1172ZM53.3523 37.3672V38.2566H53.8523V37.3672H53.3523ZM53.6023 40.2849H54.4917V39.7849H53.6023V40.2849ZM54.7417 40.0349V39.1463H54.2417V40.0349H54.7417ZM54.4917 38.8963H53.6023V39.3963H54.4917V38.8963ZM53.3523 39.1463V40.0349H53.8523V39.1463H53.3523ZM52.7134 45.6206H53.6028V45.1206H52.7134V45.6206ZM53.8528 45.3706V44.4812H53.3528V45.3706H53.8528ZM53.6028 44.2312H52.7134V44.7312H53.6028V44.2312ZM52.4634 44.4812V45.3706H52.9634V44.4812H52.4634ZM52.7134 44.7312H53.6028V44.2312H52.7134V44.7312ZM53.8528 44.4812V43.5918H53.3528V44.4812H53.8528ZM53.6028 43.3418H52.7134V43.8418H53.6028V43.3418ZM52.4634 43.5918V44.4812H52.9634V43.5918H52.4634ZM52.7134 42.9528H53.6028V42.4528H52.7134V42.9528ZM53.8528 42.7028V41.8134H53.3528V42.7028H53.8528ZM53.6028 41.5634H52.7134V42.0634H53.6028V41.5634ZM52.4634 41.8134V42.7028H52.9634V41.8134H52.4634Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M52.7131 41.8134H53.6025V40.924H52.7131V41.8134V41.8134ZM52.7131 43.5918H53.6025V42.7024H52.7131V43.5918V43.5918ZM53.6019 36.479H54.4913V35.5896H53.6019V36.479V36.479ZM24.2603 20.474H25.1493V19.585H24.8394C24.6443 19.7204 24.4504 19.8582 24.2603 20.001V20.474ZM25.149 20.474H26.0384V19.585H25.149V20.474Z" fill="white"/> +<path d="M53.6025 41.8134V42.0634H53.8525V41.8134H53.6025ZM53.6025 40.924H53.8525V40.674H53.6025V40.924ZM52.7131 40.924V40.674H52.4631V40.924H52.7131ZM53.6025 43.5918V43.8418H53.8525V43.5918H53.6025ZM53.6025 42.7024H53.8525V42.4524H53.6025V42.7024ZM52.7131 42.7024V42.4524H52.4631V42.7024H52.7131ZM54.4913 36.479V36.729H54.7413V36.479H54.4913ZM54.4913 35.5896H54.7413V35.3396H54.4913V35.5896ZM53.6019 35.5896V35.3396H53.3519V35.5896H53.6019ZM24.2603 20.474H24.0103V20.724H24.2603V20.474ZM25.1493 20.474V20.724H25.3993V20.474H25.1493ZM25.1493 19.585H25.3993V19.335H25.1493V19.585ZM24.8394 19.585V19.335H24.7612L24.6969 19.3796L24.8394 19.585ZM24.2603 20.001L24.1101 19.8011L24.0103 19.8761V20.001H24.2603ZM25.149 20.474H24.899V20.724H25.149V20.474ZM26.0384 20.474V20.724H26.2884V20.474H26.0384ZM26.0384 19.585H26.2884V19.335H26.0384V19.585ZM25.149 19.585V19.335H24.899V19.585H25.149ZM52.7131 42.0634H53.6025V41.5634H52.7131V42.0634ZM53.8525 41.8134V40.924H53.3525V41.8134H53.8525ZM53.6025 40.674H52.7131V41.174H53.6025V40.674ZM52.4631 40.924V41.8134H52.9631V40.924H52.4631ZM52.7131 43.8418H53.6025V43.3418H52.7131V43.8418ZM53.8525 43.5918V42.7024H53.3525V43.5918H53.8525ZM53.6025 42.4524H52.7131V42.9524H53.6025V42.4524ZM52.4631 42.7024V43.5918H52.9631V42.7024H52.4631ZM53.6019 36.729H54.4913V36.229H53.6019V36.729ZM54.7413 36.479V35.5896H54.2413V36.479H54.7413ZM54.4913 35.3396H53.6019V35.8396H54.4913V35.3396ZM53.3519 35.5896V36.479H53.8519V35.5896H53.3519ZM24.2603 20.724H25.1493V20.224H24.2603V20.724ZM25.3993 20.474V19.585H24.8993V20.474H25.3993ZM25.1493 19.335H24.8394V19.835H25.1493V19.335ZM24.6969 19.3796C24.5004 19.516 24.3037 19.6557 24.1101 19.8011L24.4104 20.2009C24.5971 20.0607 24.7883 19.9248 24.982 19.7903L24.6969 19.3796ZM24.0103 20.001V20.474H24.5103V20.001H24.0103ZM25.149 20.724H26.0384V20.224H25.149V20.724ZM26.2884 20.474V19.585H25.7884V20.474H26.2884ZM26.0384 19.335H25.149V19.835H26.0384V19.335ZM24.899 19.585V20.474H25.399V19.585H24.899Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.9275 20.474V19.585H26.0381V20.474H26.9275V20.474Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M25.1501 19.373C25.0456 19.4424 24.9423 19.5133 24.8398 19.5846H25.1501V19.373Z" fill="#323B92" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.0388 19.5852V18.8144C25.7375 18.9933 25.4407 19.1796 25.1494 19.374V19.5852H26.0388V19.5852ZM45.6003 18.3418C45.3077 18.1865 45.0111 18.0386 44.7109 17.8984V18.6962H45.6003V18.3418ZM52.7134 34.7004H53.6028V33.811H52.7134V34.7004ZM52.7134 35.5899H53.6028V34.7006H52.7134V35.5899V35.5899ZM52.7134 36.4793H53.6028V35.5899H52.7134V36.4793V36.4793Z" fill="white"/> +<path d="M26.0388 18.8144H26.2888V18.3752L25.9111 18.5994L26.0388 18.8144ZM25.1494 19.374L25.0107 19.166L24.8994 19.2402V19.374H25.1494ZM25.1494 19.5852H24.8994V19.8352H25.1494V19.5852ZM45.6003 18.3418H45.8503V18.1914L45.7175 18.121L45.6003 18.3418ZM44.7109 17.8984L44.8167 17.6719L44.4609 17.5057V17.8984H44.7109ZM44.7109 18.6962H44.4609V18.9462H44.7109V18.6962ZM45.6003 18.6962V18.9462H45.8503V18.6962H45.6003ZM52.7134 34.7004H52.4634V34.9504H52.7134V34.7004ZM53.6028 34.7004V34.9504H53.8528V34.7004H53.6028ZM53.6028 33.811H53.8528V33.561H53.6028V33.811ZM52.7134 33.811V33.561H52.4634V33.811H52.7134ZM53.6028 35.5899V35.8399H53.8528V35.5899H53.6028ZM53.6028 34.7006H53.8528V34.4506H53.6028V34.7006ZM52.7134 34.7006V34.4506H52.4634V34.7006H52.7134ZM53.6028 36.4793V36.7293H53.8528V36.4793H53.6028ZM53.6028 35.5899H53.8528V35.3399H53.6028V35.5899ZM52.7134 35.5899V35.3399H52.4634V35.5899H52.7134ZM26.2888 19.5852V18.8144H25.7888V19.5852H26.2888ZM25.9111 18.5994C25.6063 18.7805 25.3058 18.9691 25.0107 19.166L25.2882 19.5819C25.5756 19.3901 25.8686 19.2062 26.1665 19.0293L25.9111 18.5994ZM24.8994 19.374V19.5852H25.3994V19.374H24.8994ZM25.1494 19.8352H26.0388V19.3352H25.1494V19.8352ZM45.7175 18.121C45.4211 17.9637 45.1208 17.8139 44.8167 17.6719L44.6051 18.1249C44.9015 18.2634 45.1942 18.4093 45.4831 18.5626L45.7175 18.121ZM44.4609 17.8984V18.6962H44.9609V17.8984H44.4609ZM44.7109 18.9462H45.6003V18.4462H44.7109V18.9462ZM45.8503 18.6962V18.3418H45.3503V18.6962H45.8503ZM52.7134 34.9504H53.6028V34.4504H52.7134V34.9504ZM53.8528 34.7004V33.811H53.3528V34.7004H53.8528ZM53.6028 33.561H52.7134V34.061H53.6028V33.561ZM52.4634 33.811V34.7004H52.9634V33.811H52.4634ZM52.7134 35.8399H53.6028V35.3399H52.7134V35.8399ZM53.8528 35.5899V34.7006H53.3528V35.5899H53.8528ZM53.6028 34.4506H52.7134V34.9506H53.6028V34.4506ZM52.4634 34.7006V35.5899H52.9634V34.7006H52.4634ZM52.7134 36.7293H53.6028V36.2293H52.7134V36.7293ZM53.8528 36.4793V35.5899H53.3528V36.4793H53.8528ZM53.6028 35.3399H52.7134V35.8399H53.6028V35.3399ZM52.4634 35.5899V36.4793H52.9634V35.5899H52.4634Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M52.7131 33.8115H53.6025V32.9225H52.7131V33.8115ZM51.8237 32.9226H52.7131V32.0332H51.8237V32.9226Z" fill="white"/> +<path d="M52.7131 33.8115H52.4631V34.0615H52.7131V33.8115ZM53.6025 33.8115V34.0615H53.8525V33.8115H53.6025ZM53.6025 32.9225H53.8525V32.6725H53.6025V32.9225ZM52.7131 32.9225V32.6725H52.4631V32.9225H52.7131ZM51.8237 32.9226H51.5737V33.1726H51.8237V32.9226ZM52.7131 32.9226V33.1726H52.9631V32.9226H52.7131ZM52.7131 32.0332H52.9631V31.7832H52.7131V32.0332ZM51.8237 32.0332V31.7832H51.5737V32.0332H51.8237ZM52.7131 34.0615H53.6025V33.5615H52.7131V34.0615ZM53.8525 33.8115V32.9225H53.3525V33.8115H53.8525ZM53.6025 32.6725H52.7131V33.1725H53.6025V32.6725ZM52.4631 32.9225V33.8115H52.9631V32.9225H52.4631ZM51.8237 33.1726H52.7131V32.6726H51.8237V33.1726ZM52.9631 32.9226V32.0332H52.4631V32.9226H52.9631ZM52.7131 31.7832H51.8237V32.2832H52.7131V31.7832ZM51.5737 32.0332V32.9226H52.0737V32.0332H51.5737Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M53.602 32.9218V32.0324H52.7126V32.9218H53.602ZM52.7131 38.2562H53.6025V37.3668H52.7131V38.2562V38.2562ZM52.7131 40.0345H53.6025V39.1459H52.7131V40.0345ZM51.8237 39.1464V40.035H52.7131V39.1464H51.8237ZM51.8237 32.0326H52.7131V31.1436H51.8237V32.0326Z" fill="white"/> +<path d="M53.602 32.9218V33.1718H53.852V32.9218H53.602ZM53.602 32.0324H53.852V31.7824H53.602V32.0324ZM52.7126 32.0324V31.7824H52.4626V32.0324H52.7126ZM52.7126 32.9218H52.4626V33.1718H52.7126V32.9218ZM53.6025 38.2562V38.5062H53.8525V38.2562H53.6025ZM53.6025 37.3668H53.8525V37.1168H53.6025V37.3668ZM52.7131 37.3668V37.1168H52.4631V37.3668H52.7131ZM52.7131 40.0345H52.4631V40.2845H52.7131V40.0345ZM53.6025 40.0345V40.2845H53.8525V40.0345H53.6025ZM53.6025 39.1459H53.8525V38.8959H53.6025V39.1459ZM52.7131 39.1459V38.8959H52.4631V39.1459H52.7131ZM51.8237 39.1464V38.8964H51.5737V39.1464H51.8237ZM51.8237 40.035H51.5737V40.285H51.8237V40.035ZM52.7131 40.035V40.285H52.9631V40.035H52.7131ZM52.7131 39.1464H52.9631V38.8964H52.7131V39.1464ZM51.8237 32.0326H51.5737V32.2826H51.8237V32.0326ZM52.7131 32.0326V32.2826H52.9631V32.0326H52.7131ZM52.7131 31.1436H52.9631V30.8936H52.7131V31.1436ZM51.8237 31.1436V30.8936H51.5737V31.1436H51.8237ZM53.852 32.9218V32.0324H53.352V32.9218H53.852ZM53.602 31.7824H52.7126V32.2824H53.602V31.7824ZM52.4626 32.0324V32.9218H52.9626V32.0324H52.4626ZM52.7126 33.1718H53.602V32.6718H52.7126V33.1718ZM52.7131 38.5062H53.6025V38.0062H52.7131V38.5062ZM53.8525 38.2562V37.3668H53.3525V38.2562H53.8525ZM53.6025 37.1168H52.7131V37.6168H53.6025V37.1168ZM52.4631 37.3668V38.2562H52.9631V37.3668H52.4631ZM52.7131 40.2845H53.6025V39.7845H52.7131V40.2845ZM53.8525 40.0345V39.1459H53.3525V40.0345H53.8525ZM53.6025 38.8959H52.7131V39.3959H53.6025V38.8959ZM52.4631 39.1459V40.0345H52.9631V39.1459H52.4631ZM51.5737 39.1464V40.035H52.0737V39.1464H51.5737ZM51.8237 40.285H52.7131V39.785H51.8237V40.285ZM52.9631 40.035V39.1464H52.4631V40.035H52.9631ZM52.7131 38.8964H51.8237V39.3964H52.7131V38.8964ZM51.8237 32.2826H52.7131V31.7826H51.8237V32.2826ZM52.9631 32.0326V31.1436H52.4631V32.0326H52.9631ZM52.7131 30.8936H51.8237V31.3936H52.7131V30.8936ZM51.5737 31.1436V32.0326H52.0737V31.1436H51.5737Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M52.7131 37.3671H53.6025V36.4785H52.7131V37.3671ZM52.7131 39.1462H53.6025V38.2564H52.7131V39.1462ZM51.8237 29.365H52.7131V28.4756H51.8237V29.365V29.365ZM51.8237 24.0303V24.9197H52.7131V24.6668C52.5651 24.4517 52.4126 24.2396 52.2559 24.0307L51.8237 24.0303V24.0303Z" fill="white"/> +<path d="M52.7131 37.3671H52.4631V37.6171H52.7131V37.3671ZM53.6025 37.3671V37.6171H53.8525V37.3671H53.6025ZM53.6025 36.4785H53.8525V36.2285H53.6025V36.4785ZM52.7131 36.4785V36.2285H52.4631V36.4785H52.7131ZM52.7131 39.1462H52.4631V39.3962H52.7131V39.1462ZM53.6025 39.1462V39.3962H53.8525V39.1462H53.6025ZM53.6025 38.2564H53.8525V38.0064H53.6025V38.2564ZM52.7131 38.2564V38.0064H52.4631V38.2564H52.7131ZM52.7131 29.365V29.615H52.9631V29.365H52.7131ZM52.7131 28.4756H52.9631V28.2256H52.7131V28.4756ZM51.8237 28.4756V28.2256H51.5737V28.4756H51.8237ZM51.8237 24.9197H51.5737V25.1697H51.8237V24.9197ZM52.7131 24.9197V25.1697H52.9631V24.9197H52.7131ZM52.7131 24.6668H52.9631V24.5891L52.9191 24.5251L52.7131 24.6668ZM52.2559 24.0307L52.4559 23.8806L52.381 23.7808L52.2561 23.7807L52.2559 24.0307ZM52.7131 37.6171H53.6025V37.1171H52.7131V37.6171ZM53.8525 37.3671V36.4785H53.3525V37.3671H53.8525ZM53.6025 36.2285H52.7131V36.7285H53.6025V36.2285ZM52.4631 36.4785V37.3671H52.9631V36.4785H52.4631ZM52.7131 39.3962H53.6025V38.8962H52.7131V39.3962ZM53.8525 39.1462V38.2564H53.3525V39.1462H53.8525ZM53.6025 38.0064H52.7131V38.5064H53.6025V38.0064ZM52.4631 38.2564V39.1462H52.9631V38.2564H52.4631ZM51.8237 29.615H52.7131V29.115H51.8237V29.615ZM52.9631 29.365V28.4756H52.4631V29.365H52.9631ZM52.7131 28.2256H51.8237V28.7256H52.7131V28.2256ZM51.5737 28.4756V29.365H52.0737V28.4756H51.5737ZM51.5737 24.0303V24.9197H52.0737V24.0303H51.5737ZM51.8237 25.1697H52.7131V24.6697H51.8237V25.1697ZM52.9631 24.9197V24.6668H52.4631V24.9197H52.9631ZM52.9191 24.5251C52.7691 24.3071 52.6147 24.0923 52.4559 23.8806L52.0559 24.1807C52.2106 24.3869 52.3611 24.5962 52.5072 24.8085L52.9191 24.5251ZM52.2561 23.7807L51.824 23.7803L51.8235 24.2803L52.2557 24.2807L52.2561 23.7807Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M52.7134 25.8095H53.4477C53.2683 25.5081 53.0811 25.2116 52.8862 24.9201H52.7134V25.8095V25.8095ZM51.824 31.1442H52.7134V30.2548H51.824V31.1442V31.1442ZM46.2429 18.6963C46.0307 18.5744 45.8164 18.4562 45.6001 18.3418V18.6963H46.2429V18.6963Z" fill="white"/> +<path d="M53.4477 25.8095V26.0595H53.8874L53.6625 25.6816L53.4477 25.8095ZM52.8862 24.9201L53.094 24.7811L53.0197 24.6701H52.8862V24.9201ZM52.7134 24.9201V24.6701H52.4634V24.9201H52.7134ZM52.7134 31.1442V31.3942H52.9634V31.1442H52.7134ZM52.7134 30.2548H52.9634V30.0048H52.7134V30.2548ZM51.824 30.2548V30.0048H51.574V30.2548H51.824ZM45.6001 18.3418L45.717 18.1208L45.3501 17.9268V18.3418H45.6001ZM45.6001 18.6963H45.3501V18.9463H45.6001V18.6963ZM52.7134 26.0595H53.4477V25.5595H52.7134V26.0595ZM53.6625 25.6816C53.4809 25.3765 53.2914 25.0762 53.094 24.7811L52.6784 25.059C52.8709 25.3469 53.0557 25.6397 53.2328 25.9373L53.6625 25.6816ZM52.8862 24.6701H52.7134V25.1701H52.8862V24.6701ZM52.4634 24.9201V25.8095H52.9634V24.9201H52.4634ZM51.824 31.3942H52.7134V30.8942H51.824V31.3942ZM52.9634 31.1442V30.2548H52.4634V31.1442H52.9634ZM52.7134 30.0048H51.824V30.5048H52.7134V30.0048ZM51.574 30.2548V31.1442H52.074V30.2548H51.574ZM46.3675 18.4796C46.1528 18.3562 45.9359 18.2366 45.717 18.1208L45.4832 18.5628C45.697 18.6758 45.9087 18.7926 46.1183 18.9131L46.3675 18.4796ZM45.3501 18.3418V18.6963H45.8501V18.3418H45.3501ZM45.6001 18.9463H46.2429V18.4463H45.6001V18.9463Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M51.824 24.9202V25.8096H52.7134V24.9202H51.824V24.9202ZM45.6001 19.5853H46.4895V18.8425C46.4067 18.7933 46.3248 18.744 46.242 18.6963H45.6001V19.5853ZM51.824 26.6986H52.7134V25.8096H51.824V26.6986ZM51.824 40.9247H52.7134V40.0353H51.824V40.9247ZM51.824 30.2553H52.7134V29.366H51.824V30.2553V30.2553ZM51.824 27.5879H52.7134V26.6985H51.824V27.5879Z" fill="white"/> +<path d="M51.824 25.8096H51.574V26.0596H51.824V25.8096ZM52.7134 25.8096V26.0596H52.9634V25.8096H52.7134ZM52.7134 24.9202H52.9634V24.6702H52.7134V24.9202ZM45.6001 19.5853H45.3501V19.8353H45.6001V19.5853ZM46.4895 19.5853V19.8353H46.7395V19.5853H46.4895ZM46.4895 18.8425H46.7395V18.7004L46.6174 18.6277L46.4895 18.8425ZM46.242 18.6963L46.3669 18.4797L46.3089 18.4463H46.242V18.6963ZM45.6001 18.6963V18.4463H45.3501V18.6963H45.6001ZM51.824 26.6986H51.574V26.9486H51.824V26.6986ZM52.7134 26.6986V26.9486H52.9634V26.6986H52.7134ZM52.7134 25.8096H52.9634V25.5596H52.7134V25.8096ZM51.824 25.8096V25.5596H51.574V25.8096H51.824ZM51.824 40.9247H51.574V41.1747H51.824V40.9247ZM52.7134 40.9247V41.1747H52.9634V40.9247H52.7134ZM52.7134 40.0353H52.9634V39.7853H52.7134V40.0353ZM51.824 40.0353V39.7853H51.574V40.0353H51.824ZM52.7134 30.2553V30.5053H52.9634V30.2553H52.7134ZM52.7134 29.366H52.9634V29.116H52.7134V29.366ZM51.824 29.366V29.116H51.574V29.366H51.824ZM51.824 27.5879H51.574V27.8379H51.824V27.5879ZM52.7134 27.5879V27.8379H52.9634V27.5879H52.7134ZM52.7134 26.6985H52.9634V26.4485H52.7134V26.6985ZM51.824 26.6985V26.4485H51.574V26.6985H51.824ZM51.574 24.9202V25.8096H52.074V24.9202H51.574ZM51.824 26.0596H52.7134V25.5596H51.824V26.0596ZM52.9634 25.8096V24.9202H52.4634V25.8096H52.9634ZM52.7134 24.6702H51.824V25.1702H52.7134V24.6702ZM45.6001 19.8353H46.4895V19.3353H45.6001V19.8353ZM46.7395 19.5853V18.8425H46.2395V19.5853H46.7395ZM46.6174 18.6277C46.5359 18.5792 46.4516 18.5286 46.3669 18.4797L46.1171 18.9129C46.1979 18.9594 46.2776 19.0074 46.3616 19.0573L46.6174 18.6277ZM46.242 18.4463H45.6001V18.9463H46.242V18.4463ZM45.3501 18.6963V19.5853H45.8501V18.6963H45.3501ZM51.824 26.9486H52.7134V26.4486H51.824V26.9486ZM52.9634 26.6986V25.8096H52.4634V26.6986H52.9634ZM52.7134 25.5596H51.824V26.0596H52.7134V25.5596ZM51.574 25.8096V26.6986H52.074V25.8096H51.574ZM51.824 41.1747H52.7134V40.6747H51.824V41.1747ZM52.9634 40.9247V40.0353H52.4634V40.9247H52.9634ZM52.7134 39.7853H51.824V40.2853H52.7134V39.7853ZM51.574 40.0353V40.9247H52.074V40.0353H51.574ZM51.824 30.5053H52.7134V30.0053H51.824V30.5053ZM52.9634 30.2553V29.366H52.4634V30.2553H52.9634ZM52.7134 29.116H51.824V29.616H52.7134V29.116ZM51.574 29.366V30.2553H52.074V29.366H51.574ZM51.824 27.8379H52.7134V27.3379H51.824V27.8379ZM52.9634 27.5879V26.6985H52.4634V27.5879H52.9634ZM52.7134 26.4485H51.824V26.9485H52.7134V26.4485ZM51.574 26.6985V27.5879H52.074V26.6985H51.574Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M51.8237 28.4766H52.7131V27.5876H51.8237V28.4766ZM52.8863 24.9202C52.8292 24.835 52.771 24.751 52.7132 24.667V24.9202H52.8863ZM51.8237 41.8135H52.7131V40.9241H51.8237V41.8135V41.8135ZM51.8237 44.4812H52.7131V43.5919H51.8237V44.4812ZM51.8237 46.2597H52.7131V45.3703H51.8237V46.2597Z" fill="white"/> +<path d="M51.8237 28.4766H51.5737V28.7266H51.8237V28.4766ZM52.7131 28.4766V28.7266H52.9631V28.4766H52.7131ZM52.7131 27.5876H52.9631V27.3376H52.7131V27.5876ZM51.8237 27.5876V27.3376H51.5737V27.5876H51.8237ZM52.8863 24.9202V25.1702H53.3546L53.094 24.7811L52.8863 24.9202ZM52.7132 24.667L52.9192 24.5253L52.4632 23.8626V24.667H52.7132ZM52.7132 24.9202H52.4632V25.1702H52.7132V24.9202ZM52.7131 41.8135V42.0635H52.9631V41.8135H52.7131ZM52.7131 40.9241H52.9631V40.6741H52.7131V40.9241ZM51.8237 40.9241V40.6741H51.5737V40.9241H51.8237ZM51.8237 44.4812H51.5737V44.7312H51.8237V44.4812ZM52.7131 44.4812V44.7312H52.9631V44.4812H52.7131ZM52.7131 43.5919H52.9631V43.3419H52.7131V43.5919ZM51.8237 43.5919V43.3419H51.5737V43.5919H51.8237ZM51.8237 46.2597H51.5737V46.5097H51.8237V46.2597ZM52.7131 46.2597V46.5097H52.9631V46.2597H52.7131ZM52.7131 45.3703H52.9631V45.1203H52.7131V45.3703ZM51.8237 45.3703V45.1203H51.5737V45.3703H51.8237ZM51.8237 28.7266H52.7131V28.2266H51.8237V28.7266ZM52.9631 28.4766V27.5876H52.4631V28.4766H52.9631ZM52.7131 27.3376H51.8237V27.8376H52.7131V27.3376ZM51.5737 27.5876V28.4766H52.0737V27.5876H51.5737ZM53.094 24.7811C53.0358 24.6942 52.9764 24.6084 52.9192 24.5253L52.5073 24.8087C52.5657 24.8936 52.6226 24.9758 52.6785 25.0593L53.094 24.7811ZM52.4632 24.667V24.9202H52.9632V24.667H52.4632ZM52.7132 25.1702H52.8863V24.6702H52.7132V25.1702ZM51.8237 42.0635H52.7131V41.5635H51.8237V42.0635ZM52.9631 41.8135V40.9241H52.4631V41.8135H52.9631ZM52.7131 40.6741H51.8237V41.1741H52.7131V40.6741ZM51.5737 40.9241V41.8135H52.0737V40.9241H51.5737ZM51.8237 44.7312H52.7131V44.2312H51.8237V44.7312ZM52.9631 44.4812V43.5919H52.4631V44.4812H52.9631ZM52.7131 43.3419H51.8237V43.8419H52.7131V43.3419ZM51.5737 43.5919V44.4812H52.0737V43.5919H51.5737ZM51.8237 46.5097H52.7131V46.0097H51.8237V46.5097ZM52.9631 46.2597V45.3703H52.4631V46.2597H52.9631ZM52.7131 45.1203H51.8237V45.6203H52.7131V45.1203ZM51.5737 45.3703V46.2597H52.0737V45.3703H51.5737Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M51.8237 43.5915H52.7131V42.7021H51.8237V43.5915V43.5915Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M51.8237 42.7029H52.7131V41.8135H51.8237V42.7029V42.7029ZM51.8237 47.1491H52.7131V46.2597H51.8237V47.1491V47.1491ZM51.8237 45.3707H52.7131V44.4813H51.8237V45.3707Z" fill="white"/> +<path d="M52.7131 42.7029V42.9529H52.9631V42.7029H52.7131ZM52.7131 41.8135H52.9631V41.5635H52.7131V41.8135ZM51.8237 41.8135V41.5635H51.5737V41.8135H51.8237ZM52.7131 47.1491V47.3991H52.9631V47.1491H52.7131ZM52.7131 46.2597H52.9631V46.0097H52.7131V46.2597ZM51.8237 46.2597V46.0097H51.5737V46.2597H51.8237ZM51.8237 45.3707H51.5737V45.6207H51.8237V45.3707ZM52.7131 45.3707V45.6207H52.9631V45.3707H52.7131ZM52.7131 44.4813H52.9631V44.2313H52.7131V44.4813ZM51.8237 44.4813V44.2313H51.5737V44.4813H51.8237ZM51.8237 42.9529H52.7131V42.4529H51.8237V42.9529ZM52.9631 42.7029V41.8135H52.4631V42.7029H52.9631ZM52.7131 41.5635H51.8237V42.0635H52.7131V41.5635ZM51.5737 41.8135V42.7029H52.0737V41.8135H51.5737ZM51.8237 47.3991H52.7131V46.8991H51.8237V47.3991ZM52.9631 47.1491V46.2597H52.4631V47.1491H52.9631ZM52.7131 46.0097H51.8237V46.5097H52.7131V46.0097ZM51.5737 46.2597V47.1491H52.0737V46.2597H51.5737ZM51.8237 45.6207H52.7131V45.1207H51.8237V45.6207ZM52.9631 45.3707V44.4813H52.4631V45.3707H52.9631ZM52.7131 44.2313H51.8237V44.7313H52.7131V44.2313ZM51.5737 44.4813V45.3707H52.0737V44.4813H51.5737Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M51.8237 47.1486V48.038H52.2582C52.4137 47.8298 52.5649 47.6185 52.7131 47.4045V47.149L51.8237 47.1486V47.1486ZM52.8875 47.1487C53.0824 46.8572 53.2696 46.5606 53.449 46.2593H52.7131V47.1487H52.8875V47.1487ZM52.7131 30.2546H53.6025V29.3652H52.7131V30.2546V30.2546ZM55.3803 31.1435V30.2542H54.491V31.1435H55.3803V31.1435Z" fill="white"/> +<path d="M51.8237 48.038H51.5737V48.288H51.8237V48.038ZM52.2582 48.038V48.288H52.3835L52.4585 48.1876L52.2582 48.038ZM52.7131 47.4045L52.9186 47.5469L52.9631 47.4827V47.4045H52.7131ZM52.7131 47.149H52.9631V46.8991L52.7132 46.899L52.7131 47.149ZM53.449 46.2593L53.6638 46.3871L53.8887 46.0093H53.449V46.2593ZM52.7131 46.2593V46.0093H52.4631V46.2593H52.7131ZM52.7131 47.1487H52.4631V47.3987H52.7131V47.1487ZM53.6025 30.2546V30.5046H53.8525V30.2546H53.6025ZM53.6025 29.3652H53.8525V29.1152H53.6025V29.3652ZM52.7131 29.3652V29.1152H52.4631V29.3652H52.7131ZM55.3803 30.2542H55.6303V30.0042H55.3803V30.2542ZM54.491 30.2542V30.0042H54.241V30.2542H54.491ZM54.491 31.1435H54.241V31.3935H54.491V31.1435ZM51.5737 47.1486V48.038H52.0737V47.1486H51.5737ZM51.8237 48.288H52.2582V47.788H51.8237V48.288ZM52.4585 48.1876C52.616 47.9767 52.769 47.763 52.9186 47.5469L52.5076 47.2622C52.3609 47.4741 52.2114 47.6829 52.0579 47.8884L52.4585 48.1876ZM52.9631 47.4045V47.149H52.4631V47.4045H52.9631ZM52.7132 46.899L51.8238 46.8986L51.8236 47.3986L52.713 47.399L52.7132 46.899ZM53.0953 47.2876C53.2927 46.9925 53.4822 46.6922 53.6638 46.3871L53.2341 46.1314C53.057 46.429 52.8722 46.7218 52.6797 47.0097L53.0953 47.2876ZM53.449 46.0093H52.7131V46.5093H53.449V46.0093ZM52.4631 46.2593V47.1487H52.9631V46.2593H52.4631ZM52.7131 47.3987H52.8875V46.8987H52.7131V47.3987ZM52.7131 30.5046H53.6025V30.0046H52.7131V30.5046ZM53.8525 30.2546V29.3652H53.3525V30.2546H53.8525ZM53.6025 29.1152H52.7131V29.6152H53.6025V29.1152ZM52.4631 29.3652V30.2546H52.9631V29.3652H52.4631ZM55.6303 31.1435V30.2542H55.1303V31.1435H55.6303ZM55.3803 30.0042H54.491V30.5042H55.3803V30.0042ZM54.241 30.2542V31.1435H54.741V30.2542H54.241ZM54.491 31.3935H55.3803V30.8935H54.491V31.3935Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M54.4915 32.0333H55.3808V31.1443H54.4915V32.0333ZM53.6021 31.1442H54.4914V30.2548H53.6021V31.1442V31.1442ZM53.6021 28.477V29.3664H54.4914V28.477H53.6021V28.477ZM54.4915 29.3659H55.1145C55.0096 29.0666 54.8968 28.77 54.7762 28.4766H54.4915V29.3659V29.3659ZM54.4915 32.9226H55.3808V32.0333H54.4915V32.9226Z" fill="white"/> +<path d="M54.4915 32.0333H54.2415V32.2833H54.4915V32.0333ZM55.3808 32.0333V32.2833H55.6308V32.0333H55.3808ZM55.3808 31.1443H55.6308V30.8943H55.3808V31.1443ZM54.4915 31.1443V30.8943H54.2415V31.1443H54.4915ZM54.4914 31.1442V31.3942H54.7414V31.1442H54.4914ZM54.4914 30.2548H54.7414V30.0048H54.4914V30.2548ZM53.6021 30.2548V30.0048H53.3521V30.2548H53.6021ZM53.6021 29.3664H53.3521V29.6164H53.6021V29.3664ZM54.4914 29.3664V29.6164H54.7414V29.3664H54.4914ZM54.4914 28.477H54.7414V28.227H54.4914V28.477ZM55.1145 29.3659V29.6159H55.4671L55.3505 29.2833L55.1145 29.3659ZM54.7762 28.4766L55.0075 28.3816L54.9438 28.2266H54.7762V28.4766ZM54.4915 28.4766V28.2266H54.2415V28.4766H54.4915ZM54.4915 32.9226H54.2415V33.1726H54.4915V32.9226ZM55.3808 32.9226V33.1726H55.6308V32.9226H55.3808ZM55.3808 32.0333H55.6308V31.7833H55.3808V32.0333ZM54.4915 32.0333V31.7833H54.2415V32.0333H54.4915ZM54.4915 32.2833H55.3808V31.7833H54.4915V32.2833ZM55.6308 32.0333V31.1443H55.1308V32.0333H55.6308ZM55.3808 30.8943H54.4915V31.3943H55.3808V30.8943ZM54.2415 31.1443V32.0333H54.7415V31.1443H54.2415ZM53.6021 31.3942H54.4914V30.8942H53.6021V31.3942ZM54.7414 31.1442V30.2548H54.2414V31.1442H54.7414ZM54.4914 30.0048H53.6021V30.5048H54.4914V30.0048ZM53.3521 30.2548V31.1442H53.8521V30.2548H53.3521ZM53.3521 28.477V29.3664H53.8521V28.477H53.3521ZM53.6021 29.6164H54.4914V29.1164H53.6021V29.6164ZM54.7414 29.3664V28.477H54.2414V29.3664H54.7414ZM54.4914 28.227H53.6021V28.727H54.4914V28.227ZM54.4915 29.6159H55.1145V29.1159H54.4915V29.6159ZM55.3505 29.2833C55.2441 28.9797 55.1297 28.6791 55.0075 28.3816L54.545 28.5716C54.6639 28.8609 54.7751 29.1534 54.8786 29.4486L55.3505 29.2833ZM54.7762 28.2266H54.4915V28.7266H54.7762V28.2266ZM54.2415 28.4766V29.3659H54.7415V28.4766H54.2415ZM54.4915 33.1726H55.3808V32.6726H54.4915V33.1726ZM55.6308 32.9226V32.0333H55.1308V32.9226H55.6308ZM55.3808 31.7833H54.4915V32.2833H55.3808V31.7833ZM54.2415 32.0333V32.9226H54.7415V32.0333H54.2415Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M53.6021 30.2546H54.4914V29.3652H53.6021V30.2546V30.2546ZM54.4915 37.3674H55.3808V36.4788H54.4915V37.3674Z" fill="white"/> +<path d="M54.4914 30.2546V30.5046H54.7414V30.2546H54.4914ZM54.4914 29.3652H54.7414V29.1152H54.4914V29.3652ZM53.6021 29.3652V29.1152H53.3521V29.3652H53.6021ZM54.4915 37.3674H54.2415V37.6174H54.4915V37.3674ZM55.3808 37.3674V37.6174H55.6308V37.3674H55.3808ZM55.3808 36.4788H55.6308V36.2288H55.3808V36.4788ZM54.4915 36.4788V36.2288H54.2415V36.4788H54.4915ZM53.6021 30.5046H54.4914V30.0046H53.6021V30.5046ZM54.7414 30.2546V29.3652H54.2414V30.2546H54.7414ZM54.4914 29.1152H53.6021V29.6152H54.4914V29.1152ZM53.3521 29.3652V30.2546H53.8521V29.3652H53.3521ZM54.4915 37.6174H55.3808V37.1174H54.4915V37.6174ZM55.6308 37.3674V36.4788H55.1308V37.3674H55.6308ZM55.3808 36.2288H54.4915V36.7288H55.3808V36.2288ZM54.2415 36.4788V37.3674H54.7415V36.4788H54.2415Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M54.4917 36.4788H55.3811V35.5894H54.4917V36.4788V36.4788ZM54.4918 33.8109H55.3812V32.9219H54.4918V33.8109ZM54.4917 35.5894H55.3811V34.7H54.4917V35.5894V35.5894Z" fill="white"/> +<path d="M55.3811 36.4788V36.7288H55.6311V36.4788H55.3811ZM55.3811 35.5894H55.6311V35.3394H55.3811V35.5894ZM54.4917 35.5894V35.3394H54.2417V35.5894H54.4917ZM54.4918 33.8109H54.2418V34.0609H54.4918V33.8109ZM55.3812 33.8109V34.0609H55.6312V33.8109H55.3812ZM55.3812 32.9219H55.6312V32.6719H55.3812V32.9219ZM54.4918 32.9219V32.6719H54.2418V32.9219H54.4918ZM55.3811 35.5894V35.8394H55.6311V35.5894H55.3811ZM55.3811 34.7H55.6311V34.45H55.3811V34.7ZM54.4917 34.7V34.45H54.2417V34.7H54.4917ZM54.4917 36.7288H55.3811V36.2288H54.4917V36.7288ZM55.6311 36.4788V35.5894H55.1311V36.4788H55.6311ZM55.3811 35.3394H54.4917V35.8394H55.3811V35.3394ZM54.2417 35.5894V36.4788H54.7417V35.5894H54.2417ZM54.4918 34.0609H55.3812V33.5609H54.4918V34.0609ZM55.6312 33.8109V32.9219H55.1312V33.8109H55.6312ZM55.3812 32.6719H54.4918V33.1719H55.3812V32.6719ZM54.2418 32.9219V33.8109H54.7418V32.9219H54.2418ZM54.4917 35.8394H55.3811V35.3394H54.4917V35.8394ZM55.6311 35.5894V34.7H55.1311V35.5894H55.6311ZM55.3811 34.45H54.4917V34.95H55.3811V34.45ZM54.2417 34.7V35.5894H54.7417V34.7H54.2417Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M54.4916 34.7005H55.381V33.8112H54.4916V34.7005ZM54.7769 28.4779C54.6863 28.2534 54.5912 28.0307 54.4918 27.81V28.4779H54.7769ZM42.0433 17.807H42.9327V17.169C42.6839 17.0801 42.4334 16.9965 42.1811 16.918H42.0437L42.0433 17.807V17.807ZM41.1545 16.9176V16.6298C40.8597 16.555 40.5631 16.487 40.2651 16.4258V16.9176H41.1545V16.9176Z" fill="white"/> +<path d="M54.4916 34.7005H54.2416V34.9505H54.4916V34.7005ZM55.381 34.7005V34.9505H55.631V34.7005H55.381ZM55.381 33.8112H55.631V33.5612H55.381V33.8112ZM54.4916 33.8112V33.5612H54.2416V33.8112H54.4916ZM54.7769 28.4779V28.7279H55.1475L55.0088 28.3843L54.7769 28.4779ZM54.4918 27.81L54.7197 27.7073L54.2418 27.81H54.4918ZM54.4918 28.4779H54.2418V28.7279H54.4918V28.4779ZM42.9327 17.807V18.057H43.1827V17.807H42.9327ZM42.9327 17.169H43.1827V16.9928L43.0168 16.9335L42.9327 17.169ZM42.1811 16.918L42.2553 16.6793L42.2191 16.668H42.1811V16.918ZM42.0437 16.918V16.668H41.7938L41.7937 16.9179L42.0437 16.918ZM41.1545 16.6298H41.4045V16.4352L41.216 16.3874L41.1545 16.6298ZM40.2651 16.4258L40.3154 16.1809L40.0151 16.1192V16.4258H40.2651ZM40.2651 16.9176H40.0151V17.1676H40.2651V16.9176ZM54.4916 34.9505H55.381V34.4505H54.4916V34.9505ZM55.631 34.7005V33.8112H55.131V34.7005H55.631ZM55.381 33.5612H54.4916V34.0612H55.381V33.5612ZM54.2416 33.8112V34.7005H54.7416V33.8112H54.2416ZM55.0088 28.3843C54.9169 28.1567 54.8205 27.931 54.7197 27.7073L54.2638 27.9127C54.3619 28.1304 54.4557 28.35 54.5451 28.5715L55.0088 28.3843ZM54.2418 27.81V28.4779H54.7418V27.81H54.2418ZM54.4918 28.7279H54.7769V28.2279H54.4918V28.7279ZM42.0433 18.057H42.9327V17.557H42.0433V18.057ZM43.1827 17.807V17.169H42.6827V17.807H43.1827ZM43.0168 16.9335C42.7648 16.8435 42.5109 16.7588 42.2553 16.6793L42.1069 17.1568C42.3558 17.2342 42.6031 17.3167 42.8487 17.4044L43.0168 16.9335ZM42.1811 16.668H42.0437V17.168H42.1811V16.668ZM41.7937 16.9179L41.7933 17.8069L42.2933 17.8071L42.2937 16.9181L41.7937 16.9179ZM41.4045 16.9176V16.6298H40.9045V16.9176H41.4045ZM41.216 16.3874C40.9174 16.3117 40.6171 16.2428 40.3154 16.1809L40.2149 16.6707C40.5091 16.7311 40.8019 16.7982 41.0931 16.8721L41.216 16.3874ZM40.0151 16.4258V16.9176H40.5151V16.4258H40.0151ZM40.2651 17.1676H41.1545V16.6676H40.2651V17.1676Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M53.6021 27.5879V28.4769H54.4914V27.8099C54.4576 27.7357 54.4222 27.6618 54.3875 27.5879H53.6021Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.1814 16.9172C42.1363 16.903 42.0897 16.8902 42.0438 16.8764V16.9172H42.1814Z" fill="#323B92" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.3805 31.1433H55.6518C55.577 30.8449 55.495 30.5484 55.4059 30.2539H55.3805V31.1433V31.1433Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.4066 30.255L55.3811 30.1694V30.255H55.4066Z" fill="#323B92" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M54.4918 29.3652V30.2546H55.3812V30.1692C55.2983 29.8993 55.2097 29.6313 55.1153 29.3652H54.4918ZM54.4917 38.2563H55.3811V37.3669H54.4917V38.2563V38.2563Z" fill="white"/> +<path d="M54.4918 29.3652V29.1152H54.2418V29.3652H54.4918ZM54.4918 30.2546H54.2418V30.5046H54.4918V30.2546ZM55.3812 30.2546V30.5046H55.6312V30.2546H55.3812ZM55.3812 30.1692H55.6312V30.1317L55.6202 30.0958L55.3812 30.1692ZM55.1153 29.3652L55.3509 29.2816L55.2918 29.1152H55.1153V29.3652ZM55.3811 38.2563V38.5063H55.6311V38.2563H55.3811ZM55.3811 37.3669H55.6311V37.1169H55.3811V37.3669ZM54.4917 37.3669V37.1169H54.2417V37.3669H54.4917ZM54.2418 29.3652V30.2546H54.7418V29.3652H54.2418ZM54.4918 30.5046H55.3812V30.0046H54.4918V30.5046ZM55.6312 30.2546V30.1692H55.1312V30.2546H55.6312ZM55.6202 30.0958C55.5363 29.8225 55.4465 29.5511 55.3509 29.2816L54.8797 29.4488C54.9729 29.7115 55.0604 29.9761 55.1422 30.2426L55.6202 30.0958ZM55.1153 29.1152H54.4918V29.6152H55.1153V29.1152ZM54.4917 38.5063H55.3811V38.0063H54.4917V38.5063ZM55.6311 38.2563V37.3669H55.1311V38.2563H55.6311ZM55.3811 37.1169H54.4917V37.6169H55.3811V37.1169ZM54.2417 37.3669V38.2563H54.7417V37.3669H54.2417Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M36.7083 16.0283V16.0268C36.5524 16.0228 36.3964 16.0207 36.2404 16.0206C36.0995 16.0206 35.9598 16.0229 35.8193 16.026V16.0279L36.7083 16.0283V16.0283Z" fill="#323B92" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.3804 32.0326H55.8537C55.793 31.7348 55.7256 31.4383 55.6517 31.1436H55.3804V32.0326H55.3804Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M36.7814 16.0284C36.7571 16.0277 36.7328 16.0272 36.7085 16.0269V16.0284H36.7814V16.0284Z" fill="#323B92" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.3805 32.9226H56.0194C55.9728 32.6249 55.9192 32.3284 55.8586 32.0332H55.3809L55.3805 32.9226V32.9226ZM55.3804 35.5899H56.2574C56.2504 35.2932 56.2369 34.9967 56.217 34.7006H55.3804V35.5899V35.5899Z" fill="white"/> +<path d="M56.0194 32.9226V33.1726H56.3116L56.2664 32.8839L56.0194 32.9226ZM55.8586 32.0332L56.1035 31.983L56.0625 31.7832H55.8586V32.0332ZM55.3809 32.0332V31.7832H55.131L55.1309 32.0331L55.3809 32.0332ZM56.2574 35.5899V35.8399H56.5133L56.5073 35.5841L56.2574 35.5899ZM56.217 34.7006L56.4664 34.6838L56.4507 34.4506H56.217V34.7006ZM55.3804 34.7006V34.4506H55.1304V34.7006H55.3804ZM55.3805 33.1726H56.0194V32.6726H55.3805V33.1726ZM56.2664 32.8839C56.2191 32.5824 56.1648 32.282 56.1035 31.983L55.6137 32.0834C55.6735 32.3748 55.7264 32.6675 55.7724 32.9613L56.2664 32.8839ZM55.8586 31.7832H55.3809V32.2832H55.8586V31.7832ZM55.1309 32.0331L55.1305 32.9225L55.6305 32.9227L55.6309 32.0333L55.1309 32.0331ZM55.3804 35.8399H56.2574V35.3399H55.3804V35.8399ZM56.5073 35.5841C56.5002 35.2837 56.4866 34.9835 56.4664 34.6838L55.9675 34.7173C55.9872 35.0099 56.0005 35.3028 56.0074 35.5958L56.5073 35.5841ZM56.217 34.4506H55.3804V34.9506H56.217V34.4506ZM55.1304 34.7006V35.5899H55.6304V34.7006H55.1304Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.3804 36.4789H56.252C56.255 36.3315 56.2574 36.1833 56.2574 36.0355C56.2571 35.8868 56.2553 35.7381 56.252 35.5895H55.3804V36.4789V36.4789ZM55.3805 34.6999H56.2119C56.1923 34.4029 56.1661 34.1064 56.1336 33.8105H55.3805V34.6999Z" fill="white"/> +<path d="M56.252 36.4789V36.7289H56.4968L56.5019 36.4841L56.252 36.4789ZM56.2574 36.0355L56.5074 36.0355L56.5074 36.0351L56.2574 36.0355ZM56.252 35.5895L56.5019 35.5838L56.4964 35.3395H56.252V35.5895ZM55.3804 35.5895V35.3395H55.1304V35.5895H55.3804ZM55.3805 34.6999H55.1305V34.9499H55.3805V34.6999ZM56.2119 34.6999V34.9499H56.479L56.4614 34.6834L56.2119 34.6999ZM56.1336 33.8105L56.3821 33.7832L56.3576 33.5605H56.1336V33.8105ZM55.3805 33.8105V33.5605H55.1305V33.8105H55.3805ZM55.3804 36.7289H56.252V36.2289H55.3804V36.7289ZM56.5019 36.4841C56.505 36.3359 56.5074 36.1858 56.5074 36.0355H56.0074C56.0074 36.1808 56.0051 36.327 56.002 36.4736L56.5019 36.4841ZM56.5074 36.0351C56.5071 35.8847 56.5053 35.7342 56.5019 35.5838L56.002 35.5951C56.0053 35.742 56.0071 35.889 56.0074 36.0359L56.5074 36.0351ZM56.252 35.3395H55.3804V35.8395H56.252V35.3395ZM55.1304 35.5895V36.4789H55.6304V35.5895H55.1304ZM55.3805 34.9499H56.2119V34.4499H55.3805V34.9499ZM56.4614 34.6834C56.4415 34.3828 56.415 34.0827 56.3821 33.7832L55.8851 33.8379C55.9173 34.1302 55.9431 34.4231 55.9625 34.7164L56.4614 34.6834ZM56.1336 33.5605H55.3805V34.0605H56.1336V33.5605ZM55.1305 33.8105V34.6999H55.6305V33.8105H55.1305Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.3808 33.8109H56.1316C56.0987 33.5137 56.0593 33.2173 56.0134 32.9219H55.3804L55.3808 33.8109V33.8109Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M35.8193 56.0396V56.045C35.9594 56.048 36.0995 56.0504 36.2404 56.0504C36.397 56.0504 36.5532 56.048 36.7083 56.0442V56.0396H35.8193H35.8193Z" fill="#323B92" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M35.625 56.0404C35.6897 56.0428 35.7549 56.0443 35.8196 56.0458V56.0404H35.625ZM36.7086 56.045C36.7583 56.0442 36.8072 56.0419 36.8562 56.0403H36.7086V56.045ZM35.8197 16.0264C35.7796 16.0271 35.7396 16.0271 35.6999 16.0283H35.8197V16.0264Z" fill="#323B92"/> +<path d="M35.625 56.0404V55.7904L35.6161 56.2903L35.625 56.0404ZM35.8196 56.0458L35.8137 56.2958L36.0696 56.3019V56.0458H35.8196ZM35.8196 56.0404H36.0696V55.7904H35.8196V56.0404ZM36.7086 56.045H36.4586V56.2989L36.7124 56.2949L36.7086 56.045ZM36.8562 56.0403L36.864 56.2902L36.8562 55.7903V56.0403ZM36.7086 56.0403V55.7903H36.4586V56.0403H36.7086ZM35.8197 16.0264H36.0697V15.7715L35.8149 15.7764L35.8197 16.0264ZM35.6999 16.0283L35.6926 15.7784L35.6999 16.2783V16.0283ZM35.8197 16.0283V16.2783H36.0697V16.0283H35.8197ZM35.6161 56.2903C35.6826 56.2927 35.7492 56.2942 35.8137 56.2958L35.8256 55.7959C35.7605 55.7944 35.6969 55.7929 35.6339 55.7906L35.6161 56.2903ZM36.0696 56.0458V56.0404H35.5696V56.0458H36.0696ZM35.8196 55.7904H35.625V56.2904H35.8196V55.7904ZM36.7124 56.2949C36.7645 56.2941 36.8206 56.2916 36.864 56.2902L36.8483 55.7905C36.7939 55.7922 36.752 55.7943 36.7047 55.795L36.7124 56.2949ZM36.8562 55.7903H36.7086V56.2903H36.8562V55.7903ZM36.4586 56.0403V56.045H36.9586V56.0403H36.4586ZM35.8149 15.7764C35.783 15.777 35.7322 15.7772 35.6926 15.7784L35.7071 16.2782C35.7469 16.277 35.7763 16.2772 35.8245 16.2763L35.8149 15.7764ZM35.6999 16.2783H35.8197V15.7783H35.6999V16.2783ZM36.0697 16.0283V16.0264H35.5697V16.0283H36.0697Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.3804 37.3671H56.2093C56.2291 37.0712 56.2424 36.775 56.2494 36.4785H55.3804V37.3671H55.3804Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.3804 38.2566H56.1312C56.1635 37.9625 56.1897 37.6658 56.2093 37.3672H55.3804V38.2566V38.2566Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.3808 41.9019L55.407 41.8136H55.3808V41.9019Z" fill="#323B92" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.3804 40.9245H55.7571C55.8588 40.6305 55.9526 40.3345 56.0368 40.0351H55.3804V40.9245ZM55.3805 40.0351H56.0369C56.1195 39.7401 56.193 39.4438 56.2575 39.1465H55.3805V40.0351V40.0351Z" fill="white"/> +<path d="M55.3804 40.9245H55.1304V41.1745H55.3804V40.9245ZM55.7571 40.9245V41.1745H55.9351L55.9933 41.0062L55.7571 40.9245ZM56.0368 40.0351L56.2774 40.1028L56.3668 39.7851H56.0368V40.0351ZM55.3804 40.0351V39.7851H55.1304V40.0351H55.3804ZM56.0369 40.0351V40.2851H56.2265L56.2776 40.1025L56.0369 40.0351ZM56.2575 39.1465L56.5018 39.1994L56.5675 38.8965H56.2575V39.1465ZM55.3805 39.1465V38.8965H55.1305V39.1465H55.3805ZM55.3804 41.1745H55.7571V40.6745H55.3804V41.1745ZM55.9933 41.0062C56.0965 40.7081 56.1918 40.4074 56.2774 40.1028L55.7961 39.9674C55.7134 40.2616 55.6211 40.5528 55.5208 40.8427L55.9933 41.0062ZM56.0368 39.7851H55.3804V40.2851H56.0368V39.7851ZM55.1304 40.0351V40.9245H55.6304V40.0351H55.1304ZM55.3805 40.2851H56.0369V39.7851H55.3805V40.2851ZM56.2776 40.1025C56.3616 39.8028 56.4363 39.5017 56.5018 39.1994L56.0132 39.0935C55.9498 39.386 55.8774 39.6774 55.7962 39.9677L56.2776 40.1025ZM56.2575 38.8965H55.3805V39.3965H56.2575V38.8965ZM55.1305 39.1465V40.0351H55.6305V39.1465H55.1305Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M55.3804 39.1466H56.0138C56.0594 38.8509 56.0986 38.5542 56.1312 38.2568H55.3804V39.1466Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0437 55.1949C42.0926 55.1807 42.1424 55.1664 42.1913 55.1514H42.0437V55.1949Z" fill="#323B92" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M52.7134 31.1442H53.6028V30.2548H52.7134V31.1442V31.1442ZM52.7134 28.4769H53.6028V27.5879H52.7134V28.4769Z" fill="white"/> +<path d="M53.6028 31.1442V31.3942H53.8528V31.1442H53.6028ZM53.6028 30.2548H53.8528V30.0048H53.6028V30.2548ZM52.7134 30.2548V30.0048H52.4634V30.2548H52.7134ZM52.7134 28.4769H52.4634V28.7269H52.7134V28.4769ZM53.6028 28.4769V28.7269H53.8528V28.4769H53.6028ZM53.6028 27.5879H53.8528V27.3379H53.6028V27.5879ZM52.7134 27.5879V27.3379H52.4634V27.5879H52.7134ZM52.7134 31.3942H53.6028V30.8942H52.7134V31.3942ZM53.8528 31.1442V30.2548H53.3528V31.1442H53.8528ZM53.6028 30.0048H52.7134V30.5048H53.6028V30.0048ZM52.4634 30.2548V31.1442H52.9634V30.2548H52.4634ZM52.7134 28.7269H53.6028V28.2269H52.7134V28.7269ZM53.8528 28.4769V27.5879H53.3528V28.4769H53.8528ZM53.6028 27.3379H52.7134V27.8379H53.6028V27.3379ZM52.4634 27.5879V28.4769H52.9634V27.5879H52.4634Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M52.7134 29.3657H53.6028V28.4763H52.7134V29.3657V29.3657ZM52.7134 26.6982V27.5876H53.6028V26.6982H52.7134Z" fill="white"/> +<path d="M53.6028 29.3657V29.6157H53.8528V29.3657H53.6028ZM53.6028 28.4763H53.8528V28.2263H53.6028V28.4763ZM52.7134 28.4763V28.2263H52.4634V28.4763H52.7134ZM52.7134 26.6982V26.4482H52.4634V26.6982H52.7134ZM52.7134 27.5876H52.4634V27.8376H52.7134V27.5876ZM53.6028 27.5876V27.8376H53.8528V27.5876H53.6028ZM53.6028 26.6982H53.8528V26.4482H53.6028V26.6982ZM52.7134 29.6157H53.6028V29.1157H52.7134V29.6157ZM53.8528 29.3657V28.4763H53.3528V29.3657H53.8528ZM53.6028 28.2263H52.7134V28.7263H53.6028V28.2263ZM52.4634 28.4763V29.3657H52.9634V28.4763H52.4634ZM52.4634 26.6982V27.5876H52.9634V26.6982H52.4634ZM52.7134 27.8376H53.6028V27.3376H52.7134V27.8376ZM53.8528 27.5876V26.6982H53.3528V27.5876H53.8528ZM53.6028 26.4482H52.7134V26.9482H53.6028V26.4482Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M53.6021 27.5876H54.3875C54.2479 27.2876 54.1008 26.991 53.9465 26.6982H53.6021V27.5876ZM54.4914 32.0331V31.1441H53.6021V32.0331H54.4914ZM53.6021 34.7004H54.4914V33.811H53.6021V34.7004Z" fill="white"/> +<path d="M53.6021 27.5876H53.3521V27.8376H53.6021V27.5876ZM54.3875 27.5876V27.8376H54.7797L54.6142 27.4821L54.3875 27.5876ZM53.9465 26.6982L54.1677 26.5817L54.0973 26.4482H53.9465V26.6982ZM53.6021 26.6982V26.4482H53.3521V26.6982H53.6021ZM54.4914 32.0331V32.2831H54.7414V32.0331H54.4914ZM54.4914 31.1441H54.7414V30.8941H54.4914V31.1441ZM53.6021 31.1441V30.8941H53.3521V31.1441H53.6021ZM53.6021 32.0331H53.3521V32.2831H53.6021V32.0331ZM53.6021 34.7004H53.3521V34.9504H53.6021V34.7004ZM54.4914 34.7004V34.9504H54.7414V34.7004H54.4914ZM54.4914 33.811H54.7414V33.561H54.4914V33.811ZM53.6021 33.811V33.561H53.3521V33.811H53.6021ZM53.6021 27.8376H54.3875V27.3376H53.6021V27.8376ZM54.6142 27.4821C54.4728 27.1783 54.3239 26.8781 54.1677 26.5817L53.7253 26.8148C53.8777 27.1039 54.0229 27.3968 54.1609 27.6931L54.6142 27.4821ZM53.9465 26.4482H53.6021V26.9482H53.9465V26.4482ZM53.3521 26.6982V27.5876H53.8521V26.6982H53.3521ZM54.7414 32.0331V31.1441H54.2414V32.0331H54.7414ZM54.4914 30.8941H53.6021V31.3941H54.4914V30.8941ZM53.3521 31.1441V32.0331H53.8521V31.1441H53.3521ZM53.6021 32.2831H54.4914V31.7831H53.6021V32.2831ZM53.6021 34.9504H54.4914V34.4504H53.6021V34.9504ZM54.7414 34.7004V33.811H54.2414V34.7004H54.7414ZM54.4914 33.561H53.6021V34.061H54.4914V33.561ZM53.3521 33.811V34.7004H53.8521V33.811H53.3521Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M53.6022 33.8109H54.4916V32.9219H53.6022V33.8109ZM52.7134 32.0326H53.6028V31.1436H52.7134V32.0326ZM53.9474 26.6988C53.8363 26.4877 53.7213 26.2786 53.6025 26.0718V26.6988H53.9474V26.6988ZM53.6022 32.9219H54.4916V32.0325H53.6022V32.9219ZM41.1545 17.8064V16.917H40.2651V17.8064H41.1545Z" fill="white"/> +<path d="M53.6022 33.8109H53.3522V34.0609H53.6022V33.8109ZM54.4916 33.8109V34.0609H54.7416V33.8109H54.4916ZM54.4916 32.9219H54.7416V32.6719H54.4916V32.9219ZM53.6022 32.9219V32.6719H53.3522V32.9219H53.6022ZM52.7134 32.0326H52.4634V32.2826H52.7134V32.0326ZM53.6028 32.0326V32.2826H53.8528V32.0326H53.6028ZM53.6028 31.1436H53.8528V30.8936H53.6028V31.1436ZM52.7134 31.1436V30.8936H52.4634V31.1436H52.7134ZM53.6025 26.0718L53.8193 25.9473L53.3525 25.1346V26.0718H53.6025ZM53.6025 26.6988H53.3525V26.9488H53.6025V26.6988ZM53.6022 32.9219H53.3522V33.1719H53.6022V32.9219ZM54.4916 32.9219V33.1719H54.7416V32.9219H54.4916ZM54.4916 32.0325H54.7416V31.7825H54.4916V32.0325ZM53.6022 32.0325V31.7825H53.3522V32.0325H53.6022ZM41.1545 17.8064V18.0564H41.4045V17.8064H41.1545ZM41.1545 16.917H41.4045V16.667H41.1545V16.917ZM40.2651 16.917V16.667H40.0151V16.917H40.2651ZM40.2651 17.8064H40.0151V18.0564H40.2651V17.8064ZM53.6022 34.0609H54.4916V33.5609H53.6022V34.0609ZM54.7416 33.8109V32.9219H54.2416V33.8109H54.7416ZM54.4916 32.6719H53.6022V33.1719H54.4916V32.6719ZM53.3522 32.9219V33.8109H53.8522V32.9219H53.3522ZM52.7134 32.2826H53.6028V31.7826H52.7134V32.2826ZM53.8528 32.0326V31.1436H53.3528V32.0326H53.8528ZM53.6028 30.8936H52.7134V31.3936H53.6028V30.8936ZM52.4634 31.1436V32.0326H52.9634V31.1436H52.4634ZM54.1687 26.5824C54.0561 26.3685 53.9396 26.1568 53.8193 25.9473L53.3857 26.1963C53.503 26.4005 53.6165 26.6068 53.7262 26.8152L54.1687 26.5824ZM53.3525 26.0718V26.6988H53.8525V26.0718H53.3525ZM53.6025 26.9488H53.9474V26.4488H53.6025V26.9488ZM53.6022 33.1719H54.4916V32.6719H53.6022V33.1719ZM54.7416 32.9219V32.0325H54.2416V32.9219H54.7416ZM54.4916 31.7825H53.6022V32.2825H54.4916V31.7825ZM53.3522 32.0325V32.9219H53.8522V32.0325H53.3522ZM41.4045 17.8064V16.917H40.9045V17.8064H41.4045ZM41.1545 16.667H40.2651V17.167H41.1545V16.667ZM40.0151 16.917V17.8064H40.5151V16.917H40.0151ZM40.2651 18.0564H41.1545V17.5564H40.2651V18.0564Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0433 17.8064V16.917H41.1539V17.8064H42.0433ZM40.265 17.8064V16.917H39.3756V17.8064H40.265ZM39.3757 18.6953V17.8063H38.4863V18.6953H39.3757V18.6953ZM41.1544 18.6953H42.0438V17.8063H41.1544V18.6953ZM43.8219 18.6953H44.7113V17.8975C44.6459 17.8671 44.5812 17.836 44.515 17.8063H43.8219V18.6953V18.6953ZM44.516 17.8068C44.2866 17.7027 44.0552 17.6031 43.8219 17.5081V17.8068H44.516V17.8068ZM52.7134 25.8089V26.6979H53.6028V26.0717C53.5523 25.9836 53.4996 25.8963 53.4481 25.8089H52.7134V25.8089Z" fill="white"/> +<path d="M42.0433 17.8064V18.0564H42.2933V17.8064H42.0433ZM42.0433 16.917H42.2933V16.667H42.0433V16.917ZM41.1539 16.917V16.667H40.9039V16.917H41.1539ZM41.1539 17.8064H40.9039V18.0564H41.1539V17.8064ZM40.265 17.8064V18.0564H40.515V17.8064H40.265ZM40.265 16.917H40.515V16.667H40.265V16.917ZM39.3756 16.917V16.667H39.1256V16.917H39.3756ZM39.3756 17.8064H39.1256V18.0564H39.3756V17.8064ZM39.3757 17.8063H39.6257V17.5563H39.3757V17.8063ZM38.4863 17.8063V17.5563H38.2363V17.8063H38.4863ZM38.4863 18.6953H38.2363V18.9453H38.4863V18.6953ZM41.1544 18.6953H40.9044V18.9453H41.1544V18.6953ZM42.0438 18.6953V18.9453H42.2938V18.6953H42.0438ZM42.0438 17.8063H42.2938V17.5563H42.0438V17.8063ZM41.1544 17.8063V17.5563H40.9044V17.8063H41.1544ZM44.7113 18.6953V18.9453H44.9613V18.6953H44.7113ZM44.7113 17.8975H44.9613V17.738L44.8166 17.6708L44.7113 17.8975ZM44.515 17.8063L44.6172 17.5782L44.5684 17.5563H44.515V17.8063ZM43.8219 17.8063V17.5563H43.5719V17.8063H43.8219ZM43.8219 17.5081L43.9162 17.2766L43.5719 17.1365V17.5081H43.8219ZM43.8219 17.8068H43.5719V18.0568H43.8219V17.8068ZM52.7134 26.6979H52.4634V26.9479H52.7134V26.6979ZM53.6028 26.6979V26.9479H53.8528V26.6979H53.6028ZM53.6028 26.0717H53.8528V26.0053L53.8198 25.9476L53.6028 26.0717ZM53.4481 25.8089L53.6633 25.6818L53.5908 25.5589H53.4481V25.8089ZM42.2933 17.8064V16.917H41.7933V17.8064H42.2933ZM42.0433 16.667H41.1539V17.167H42.0433V16.667ZM40.9039 16.917V17.8064H41.4039V16.917H40.9039ZM41.1539 18.0564H42.0433V17.5564H41.1539V18.0564ZM40.515 17.8064V16.917H40.015V17.8064H40.515ZM40.265 16.667H39.3756V17.167H40.265V16.667ZM39.1256 16.917V17.8064H39.6256V16.917H39.1256ZM39.3756 18.0564H40.265V17.5564H39.3756V18.0564ZM39.6257 18.6953V17.8063H39.1257V18.6953H39.6257ZM39.3757 17.5563H38.4863V18.0563H39.3757V17.5563ZM38.2363 17.8063V18.6953H38.7363V17.8063H38.2363ZM38.4863 18.9453H39.3757V18.4453H38.4863V18.9453ZM41.1544 18.9453H42.0438V18.4453H41.1544V18.9453ZM42.2938 18.6953V17.8063H41.7938V18.6953H42.2938ZM42.0438 17.5563H41.1544V18.0563H42.0438V17.5563ZM40.9044 17.8063V18.6953H41.4044V17.8063H40.9044ZM43.8219 18.9453H44.7113V18.4453H43.8219V18.9453ZM44.9613 18.6953V17.8975H44.4613V18.6953H44.9613ZM44.8166 17.6708C44.7558 17.6425 44.6852 17.6086 44.6172 17.5782L44.4129 18.0345C44.4772 18.0633 44.536 18.0917 44.6059 18.1243L44.8166 17.6708ZM44.515 17.5563H43.8219V18.0563H44.515V17.5563ZM43.5719 17.8063V18.6953H44.0719V17.8063H43.5719ZM44.6193 17.5792C44.3869 17.4737 44.1525 17.3728 43.9162 17.2766L43.7276 17.7397C43.9579 17.8334 44.1863 17.9317 44.4126 18.0344L44.6193 17.5792ZM43.5719 17.5081V17.8068H44.0719V17.5081H43.5719ZM43.8219 18.0568H44.516V17.5568H43.8219V18.0568ZM52.4634 25.8089V26.6979H52.9634V25.8089H52.4634ZM52.7134 26.9479H53.6028V26.4479H52.7134V26.9479ZM53.8528 26.6979V26.0717H53.3528V26.6979H53.8528ZM53.8198 25.9476C53.7682 25.8576 53.7132 25.7663 53.6633 25.6818L53.2328 25.936C53.286 26.0262 53.3364 26.1097 53.3858 26.1959L53.8198 25.9476ZM53.4481 25.5589H52.7134V26.0589H53.4481V25.5589Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M43.8216 18.696V17.807H42.9323V18.696H43.8216V18.696ZM43.8215 17.5078C43.5278 17.3875 43.2312 17.2742 42.9321 17.168V17.806H43.8215V17.5078V17.5078Z" fill="white"/> +<path d="M43.8216 17.807H44.0716V17.557H43.8216V17.807ZM42.9323 17.807V17.557H42.6823V17.807H42.9323ZM42.9323 18.696H42.6823V18.946H42.9323V18.696ZM42.9321 17.168L43.0158 16.9324L42.6821 16.8139V17.168H42.9321ZM42.9321 17.806H42.6821V18.056H42.9321V17.806ZM43.8215 17.806V18.056H44.0715V17.806H43.8215ZM44.0716 18.696V17.807H43.5716V18.696H44.0716ZM43.8216 17.557H42.9323V18.057H43.8216V17.557ZM42.6823 17.807V18.696H43.1823V17.807H42.6823ZM42.9323 18.946H43.8216V18.446H42.9323V18.946ZM43.9163 17.2764C43.6189 17.1546 43.3186 17.0399 43.0158 16.9324L42.8485 17.4036C43.1438 17.5085 43.4367 17.6204 43.7268 17.7391L43.9163 17.2764ZM42.6821 17.168V17.806H43.1821V17.168H42.6821ZM42.9321 18.056H43.8215V17.556H42.9321V18.056ZM44.0715 17.806V17.5078H43.5715V17.806H44.0715Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9328 18.6956V17.8066H42.0435V18.6956H42.9328V18.6956ZM53.6024 43.592H54.4918V42.7026H53.6024V43.592V43.592ZM53.6024 40.9245V41.8139H54.4918V40.9245H53.6024Z" fill="white"/> +<path d="M42.9328 17.8066H43.1828V17.5566H42.9328V17.8066ZM42.0435 17.8066V17.5566H41.7935V17.8066H42.0435ZM42.0435 18.6956H41.7935V18.9456H42.0435V18.6956ZM54.4918 43.592V43.842H54.7418V43.592H54.4918ZM54.4918 42.7026H54.7418V42.4526H54.4918V42.7026ZM53.6024 42.7026V42.4526H53.3524V42.7026H53.6024ZM53.6024 40.9245V40.6745H53.3524V40.9245H53.6024ZM53.6024 41.8139H53.3524V42.0639H53.6024V41.8139ZM54.4918 41.8139V42.0639H54.7418V41.8139H54.4918ZM54.4918 40.9245H54.7418V40.6745H54.4918V40.9245ZM43.1828 18.6956V17.8066H42.6828V18.6956H43.1828ZM42.9328 17.5566H42.0435V18.0566H42.9328V17.5566ZM41.7935 17.8066V18.6956H42.2935V17.8066H41.7935ZM42.0435 18.9456H42.9328V18.4456H42.0435V18.9456ZM53.6024 43.842H54.4918V43.342H53.6024V43.842ZM54.7418 43.592V42.7026H54.2418V43.592H54.7418ZM54.4918 42.4526H53.6024V42.9526H54.4918V42.4526ZM53.3524 42.7026V43.592H53.8524V42.7026H53.3524ZM53.3524 40.9245V41.8139H53.8524V40.9245H53.3524ZM53.6024 42.0639H54.4918V41.5639H53.6024V42.0639ZM54.7418 41.8139V40.9245H54.2418V41.8139H54.7418ZM54.4918 40.6745H53.6024V41.1745H54.4918V40.6745Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M53.6021 42.7026H54.4914V41.8132H53.6021V42.7026V42.7026ZM53.6021 35.5896H54.4914V34.7002H53.6021V35.5896V35.5896ZM53.6021 43.5917V44.4811H54.3891C54.4237 44.4083 54.4583 44.3352 54.4914 44.2617V43.5921L53.6021 43.5917V43.5917ZM54.4915 40.0349H55.3808V39.1463H54.4915V40.0349Z" fill="white"/> +<path d="M54.4914 42.7026V42.9526H54.7414V42.7026H54.4914ZM54.4914 41.8132H54.7414V41.5632H54.4914V41.8132ZM53.6021 41.8132V41.5632H53.3521V41.8132H53.6021ZM54.4914 35.5896V35.8396H54.7414V35.5896H54.4914ZM54.4914 34.7002H54.7414V34.4502H54.4914V34.7002ZM53.6021 34.7002V34.4502H53.3521V34.7002H53.6021ZM53.6021 44.4811H53.3521V44.7311H53.6021V44.4811ZM54.3891 44.4811V44.7311H54.5469L54.6148 44.5885L54.3891 44.4811ZM54.4914 44.2617L54.7194 44.3643L54.7414 44.3154V44.2617H54.4914ZM54.4914 43.5921H54.7414V43.3422L54.4915 43.3421L54.4914 43.5921ZM54.4915 40.0349H54.2415V40.2849H54.4915V40.0349ZM55.3808 40.0349V40.2849H55.6308V40.0349H55.3808ZM55.3808 39.1463H55.6308V38.8963H55.3808V39.1463ZM54.4915 39.1463V38.8963H54.2415V39.1463H54.4915ZM53.6021 42.9526H54.4914V42.4526H53.6021V42.9526ZM54.7414 42.7026V41.8132H54.2414V42.7026H54.7414ZM54.4914 41.5632H53.6021V42.0632H54.4914V41.5632ZM53.3521 41.8132V42.7026H53.8521V41.8132H53.3521ZM53.6021 35.8396H54.4914V35.3396H53.6021V35.8396ZM54.7414 35.5896V34.7002H54.2414V35.5896H54.7414ZM54.4914 34.4502H53.6021V34.9502H54.4914V34.4502ZM53.3521 34.7002V35.5896H53.8521V34.7002H53.3521ZM53.3521 43.5917V44.4811H53.8521V43.5917H53.3521ZM53.6021 44.7311H54.3891V44.2311H53.6021V44.7311ZM54.6148 44.5885C54.6494 44.5158 54.6851 44.4405 54.7194 44.3643L54.2635 44.1591C54.2316 44.2299 54.198 44.3009 54.1633 44.3736L54.6148 44.5885ZM54.7414 44.2617V43.5921H54.2414V44.2617H54.7414ZM54.4915 43.3421L53.6022 43.3417L53.6019 43.8417L54.4913 43.8421L54.4915 43.3421ZM54.4915 40.2849H55.3808V39.7849H54.4915V40.2849ZM55.6308 40.0349V39.1463H55.1308V40.0349H55.6308ZM55.3808 38.8963H54.4915V39.3963H55.3808V38.8963ZM54.2415 39.1463V40.0349H54.7415V39.1463H54.2415Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M54.4918 39.1472H55.3812V38.2574H54.4918V39.1472ZM50.936 36.4795H51.8246V35.5901H50.936V36.4795V36.4795ZM49.1572 28.4769H50.0458V27.5879H49.1572V28.4769ZM49.1572 32.9226H50.0458V32.0333H49.1572V32.9226ZM49.1572 31.1442H50.0458V30.2548H49.1572V31.1442V31.1442Z" fill="white"/> +<path d="M54.4918 39.1472H54.2418V39.3972H54.4918V39.1472ZM55.3812 39.1472V39.3972H55.6312V39.1472H55.3812ZM55.3812 38.2574H55.6312V38.0074H55.3812V38.2574ZM54.4918 38.2574V38.0074H54.2418V38.2574H54.4918ZM51.8246 36.4795V36.7295H52.0746V36.4795H51.8246ZM51.8246 35.5901H52.0746V35.3401H51.8246V35.5901ZM50.936 35.5901V35.3401H50.686V35.5901H50.936ZM49.1572 28.4769H48.9072V28.7269H49.1572V28.4769ZM50.0458 28.4769V28.7269H50.2958V28.4769H50.0458ZM50.0458 27.5879H50.2958V27.3379H50.0458V27.5879ZM49.1572 27.5879V27.3379H48.9072V27.5879H49.1572ZM49.1572 32.9226H48.9072V33.1726H49.1572V32.9226ZM50.0458 32.9226V33.1726H50.2958V32.9226H50.0458ZM50.0458 32.0333H50.2958V31.7833H50.0458V32.0333ZM49.1572 32.0333V31.7833H48.9072V32.0333H49.1572ZM50.0458 31.1442V31.3942H50.2958V31.1442H50.0458ZM50.0458 30.2548H50.2958V30.0048H50.0458V30.2548ZM49.1572 30.2548V30.0048H48.9072V30.2548H49.1572ZM54.4918 39.3972H55.3812V38.8972H54.4918V39.3972ZM55.6312 39.1472V38.2574H55.1312V39.1472H55.6312ZM55.3812 38.0074H54.4918V38.5074H55.3812V38.0074ZM54.2418 38.2574V39.1472H54.7418V38.2574H54.2418ZM50.936 36.7295H51.8246V36.2295H50.936V36.7295ZM52.0746 36.4795V35.5901H51.5746V36.4795H52.0746ZM51.8246 35.3401H50.936V35.8401H51.8246V35.3401ZM50.686 35.5901V36.4795H51.186V35.5901H50.686ZM49.1572 28.7269H50.0458V28.2269H49.1572V28.7269ZM50.2958 28.4769V27.5879H49.7958V28.4769H50.2958ZM50.0458 27.3379H49.1572V27.8379H50.0458V27.3379ZM48.9072 27.5879V28.4769H49.4072V27.5879H48.9072ZM49.1572 33.1726H50.0458V32.6726H49.1572V33.1726ZM50.2958 32.9226V32.0333H49.7958V32.9226H50.2958ZM50.0458 31.7833H49.1572V32.2833H50.0458V31.7833ZM48.9072 32.0333V32.9226H49.4072V32.0333H48.9072ZM49.1572 31.3942H50.0458V30.8942H49.1572V31.3942ZM50.2958 31.1442V30.2548H49.7958V31.1442H50.2958ZM50.0458 30.0048H49.1572V30.5048H50.0458V30.0048ZM48.9072 30.2548V31.1442H49.4072V30.2548H48.9072Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M49.157 30.2553H50.0456V29.3659H49.157V30.2553V30.2553ZM49.157 29.3659H50.0456V28.4766H49.157V29.3659V29.3659ZM49.157 33.8116H50.0456V32.9226H49.157V33.8116ZM49.157 32.0333H50.0456V31.1443H49.157V32.0333ZM37.5972 48.9277V49.8171H38.4866V48.9277H37.5972ZM50.0454 37.368H50.9352V36.4794H50.0454V37.368Z" fill="white"/> +<path d="M50.0456 30.2553V30.5053H50.2956V30.2553H50.0456ZM50.0456 29.3659H50.2956V29.1159H50.0456V29.3659ZM49.157 29.3659V29.1159H48.907V29.3659H49.157ZM50.0456 29.3659V29.6159H50.2956V29.3659H50.0456ZM50.0456 28.4766H50.2956V28.2266H50.0456V28.4766ZM49.157 28.4766V28.2266H48.907V28.4766H49.157ZM49.157 33.8116H48.907V34.0616H49.157V33.8116ZM50.0456 33.8116V34.0616H50.2956V33.8116H50.0456ZM50.0456 32.9226H50.2956V32.6726H50.0456V32.9226ZM49.157 32.9226V32.6726H48.907V32.9226H49.157ZM49.157 32.0333H48.907V32.2833H49.157V32.0333ZM50.0456 32.0333V32.2833H50.2956V32.0333H50.0456ZM50.0456 31.1443H50.2956V30.8943H50.0456V31.1443ZM49.157 31.1443V30.8943H48.907V31.1443H49.157ZM37.5972 48.9277V48.6777H37.3472V48.9277H37.5972ZM37.5972 49.8171H37.3472V50.0671H37.5972V49.8171ZM38.4866 49.8171V50.0671H38.7366V49.8171H38.4866ZM38.4866 48.9277H38.7366V48.6777H38.4866V48.9277ZM50.0454 37.368H49.7954V37.618H50.0454V37.368ZM50.9352 37.368V37.618H51.1852V37.368H50.9352ZM50.9352 36.4794H51.1852V36.2294H50.9352V36.4794ZM50.0454 36.4794V36.2294H49.7954V36.4794H50.0454ZM49.157 30.5053H50.0456V30.0053H49.157V30.5053ZM50.2956 30.2553V29.3659H49.7956V30.2553H50.2956ZM50.0456 29.1159H49.157V29.6159H50.0456V29.1159ZM48.907 29.3659V30.2553H49.407V29.3659H48.907ZM49.157 29.6159H50.0456V29.1159H49.157V29.6159ZM50.2956 29.3659V28.4766H49.7956V29.3659H50.2956ZM50.0456 28.2266H49.157V28.7266H50.0456V28.2266ZM48.907 28.4766V29.3659H49.407V28.4766H48.907ZM49.157 34.0616H50.0456V33.5616H49.157V34.0616ZM50.2956 33.8116V32.9226H49.7956V33.8116H50.2956ZM50.0456 32.6726H49.157V33.1726H50.0456V32.6726ZM48.907 32.9226V33.8116H49.407V32.9226H48.907ZM49.157 32.2833H50.0456V31.7833H49.157V32.2833ZM50.2956 32.0333V31.1443H49.7956V32.0333H50.2956ZM50.0456 30.8943H49.157V31.3943H50.0456V30.8943ZM48.907 31.1443V32.0333H49.407V31.1443H48.907ZM37.3472 48.9277V49.8171H37.8472V48.9277H37.3472ZM37.5972 50.0671H38.4866V49.5671H37.5972V50.0671ZM38.7366 49.8171V48.9277H38.2366V49.8171H38.7366ZM38.4866 48.6777H37.5972V49.1777H38.4866V48.6777ZM50.0454 37.618H50.9352V37.118H50.0454V37.618ZM51.1852 37.368V36.4794H50.6852V37.368H51.1852ZM50.9352 36.2294H50.0454V36.7294H50.9352V36.2294ZM49.7954 36.4794V37.368H50.2954V36.4794H49.7954Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M49.1572 34.7005H50.0458V33.8111H49.1572V34.7005ZM49.1572 36.4794V37.368H50.0458V36.4794H49.1572ZM50.9359 35.59V34.7006H50.0461V35.59H50.9359V35.59ZM49.1572 35.59H50.0458V34.7006H49.1572V35.59V35.59ZM47.3786 22.2527V21.3633H46.4893V22.2527H47.3786Z" fill="white"/> +<path d="M49.1572 34.7005H48.9072V34.9505H49.1572V34.7005ZM50.0458 34.7005V34.9505H50.2958V34.7005H50.0458ZM50.0458 33.8111H50.2958V33.5611H50.0458V33.8111ZM49.1572 33.8111V33.5611H48.9072V33.8111H49.1572ZM49.1572 36.4794V36.2294H48.9072V36.4794H49.1572ZM49.1572 37.368H48.9072V37.618H49.1572V37.368ZM50.0458 37.368V37.618H50.2958V37.368H50.0458ZM50.0458 36.4794H50.2958V36.2294H50.0458V36.4794ZM50.9359 34.7006H51.1859V34.4506H50.9359V34.7006ZM50.0461 34.7006V34.4506H49.7961V34.7006H50.0461ZM50.0461 35.59H49.7961V35.84H50.0461V35.59ZM50.0458 35.59V35.84H50.2958V35.59H50.0458ZM50.0458 34.7006H50.2958V34.4506H50.0458V34.7006ZM49.1572 34.7006V34.4506H48.9072V34.7006H49.1572ZM47.3786 22.2527V22.5027H47.6286V22.2527H47.3786ZM47.3786 21.3633H47.6286V21.1133H47.3786V21.3633ZM46.4893 21.3633V21.1133H46.2393V21.3633H46.4893ZM46.4893 22.2527H46.2393V22.5027H46.4893V22.2527ZM49.1572 34.9505H50.0458V34.4505H49.1572V34.9505ZM50.2958 34.7005V33.8111H49.7958V34.7005H50.2958ZM50.0458 33.5611H49.1572V34.0611H50.0458V33.5611ZM48.9072 33.8111V34.7005H49.4072V33.8111H48.9072ZM48.9072 36.4794V37.368H49.4072V36.4794H48.9072ZM49.1572 37.618H50.0458V37.118H49.1572V37.618ZM50.2958 37.368V36.4794H49.7958V37.368H50.2958ZM50.0458 36.2294H49.1572V36.7294H50.0458V36.2294ZM51.1859 35.59V34.7006H50.6859V35.59H51.1859ZM50.9359 34.4506H50.0461V34.9506H50.9359V34.4506ZM49.7961 34.7006V35.59H50.2961V34.7006H49.7961ZM50.0461 35.84H50.9359V35.34H50.0461V35.84ZM49.1572 35.84H50.0458V35.34H49.1572V35.84ZM50.2958 35.59V34.7006H49.7958V35.59H50.2958ZM50.0458 34.4506H49.1572V34.9506H50.0458V34.4506ZM48.9072 34.7006V35.59H49.4072V34.7006H48.9072ZM47.6286 22.2527V21.3633H47.1286V22.2527H47.6286ZM47.3786 21.1133H46.4893V21.6133H47.3786V21.1133ZM46.2393 21.3633V22.2527H46.7393V21.3633H46.2393ZM46.4893 22.5027H47.3786V22.0027H46.4893V22.5027Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M49.157 38.2568H50.0456V37.3674H49.157V38.2568V38.2568ZM50.0456 22.2527V21.5445C49.9817 21.4837 49.9163 21.4237 49.8509 21.3633H49.157V22.2527H50.0456ZM49.157 22.2527V21.3633H48.2676V22.2527H49.157Z" fill="white"/> +<path d="M50.0456 38.2568V38.5068H50.2956V38.2568H50.0456ZM50.0456 37.3674H50.2956V37.1174H50.0456V37.3674ZM49.157 37.3674V37.1174H48.907V37.3674H49.157ZM50.0456 22.2527V22.5027H50.2956V22.2527H50.0456ZM50.0456 21.5445H50.2956V21.4374L50.218 21.3635L50.0456 21.5445ZM49.8509 21.3633L50.0205 21.1796L49.9486 21.1133H49.8509V21.3633ZM49.157 21.3633V21.1133H48.907V21.3633H49.157ZM49.157 22.2527H48.907V22.5027H49.157V22.2527ZM49.157 22.2527V22.5027H49.407V22.2527H49.157ZM49.157 21.3633H49.407V21.1133H49.157V21.3633ZM48.2676 21.3633V21.1133H48.0176V21.3633H48.2676ZM48.2676 22.2527H48.0176V22.5027H48.2676V22.2527ZM49.157 38.5068H50.0456V38.0068H49.157V38.5068ZM50.2956 38.2568V37.3674H49.7956V38.2568H50.2956ZM50.0456 37.1174H49.157V37.6174H50.0456V37.1174ZM48.907 37.3674V38.2568H49.407V37.3674H48.907ZM50.2956 22.2527V21.5445H49.7956V22.2527H50.2956ZM50.218 21.3635C50.1523 21.301 50.085 21.2392 50.0205 21.1796L49.6812 21.5469C49.7475 21.6082 49.8111 21.6665 49.8732 21.7256L50.218 21.3635ZM49.8509 21.1133H49.157V21.6133H49.8509V21.1133ZM48.907 21.3633V22.2527H49.407V21.3633H48.907ZM49.157 22.5027H50.0456V22.0027H49.157V22.5027ZM49.407 22.2527V21.3633H48.907V22.2527H49.407ZM49.157 21.1133H48.2676V21.6133H49.157V21.1133ZM48.0176 21.3633V22.2527H48.5176V21.3633H48.0176ZM48.2676 22.5027H49.157V22.0027H48.2676V22.5027Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2682 22.2527V21.3633H47.3788V22.2527H48.2682V22.2527ZM45.6003 22.2527V21.3633H44.7109V22.2527H45.6003ZM46.4898 22.2527V21.3633H45.6005V22.2527H46.4898ZM49.1572 25.8095H50.0458V24.9201H49.1572V25.8095ZM49.1572 26.6985H50.0458V25.8095H49.1572V26.6985ZM49.1572 27.5878H50.0458V26.6984H49.1572V27.5878ZM49.1572 24.0311H50.0458V23.1417H49.1572V24.0311ZM49.1572 23.1417H50.0458V22.2523H49.1572V23.1417Z" fill="white"/> +<path d="M48.2682 21.3633H48.5182V21.1133H48.2682V21.3633ZM47.3788 21.3633V21.1133H47.1288V21.3633H47.3788ZM47.3788 22.2527H47.1288V22.5027H47.3788V22.2527ZM45.6003 22.2527V22.5027H45.8503V22.2527H45.6003ZM45.6003 21.3633H45.8503V21.1133H45.6003V21.3633ZM44.7109 21.3633V21.1133H44.4609V21.3633H44.7109ZM44.7109 22.2527H44.4609V22.5027H44.7109V22.2527ZM46.4898 22.2527V22.5027H46.7398V22.2527H46.4898ZM46.4898 21.3633H46.7398V21.1133H46.4898V21.3633ZM45.6005 21.3633V21.1133H45.3505V21.3633H45.6005ZM45.6005 22.2527H45.3505V22.5027H45.6005V22.2527ZM49.1572 25.8095H48.9072V26.0595H49.1572V25.8095ZM50.0458 25.8095V26.0595H50.2958V25.8095H50.0458ZM50.0458 24.9201H50.2958V24.6701H50.0458V24.9201ZM49.1572 24.9201V24.6701H48.9072V24.9201H49.1572ZM49.1572 26.6985H48.9072V26.9485H49.1572V26.6985ZM50.0458 26.6985V26.9485H50.2958V26.6985H50.0458ZM50.0458 25.8095H50.2958V25.5595H50.0458V25.8095ZM49.1572 25.8095V25.5595H48.9072V25.8095H49.1572ZM49.1572 27.5878H48.9072V27.8378H49.1572V27.5878ZM50.0458 27.5878V27.8378H50.2958V27.5878H50.0458ZM50.0458 26.6984H50.2958V26.4484H50.0458V26.6984ZM49.1572 26.6984V26.4484H48.9072V26.6984H49.1572ZM49.1572 24.0311H48.9072V24.2811H49.1572V24.0311ZM50.0458 24.0311V24.2811H50.2958V24.0311H50.0458ZM50.0458 23.1417H50.2958V22.8917H50.0458V23.1417ZM49.1572 23.1417V22.8917H48.9072V23.1417H49.1572ZM49.1572 23.1417H48.9072V23.3917H49.1572V23.1417ZM50.0458 23.1417V23.3917H50.2958V23.1417H50.0458ZM50.0458 22.2523H50.2958V22.0023H50.0458V22.2523ZM49.1572 22.2523V22.0023H48.9072V22.2523H49.1572ZM48.5182 22.2527V21.3633H48.0182V22.2527H48.5182ZM48.2682 21.1133H47.3788V21.6133H48.2682V21.1133ZM47.1288 21.3633V22.2527H47.6288V21.3633H47.1288ZM47.3788 22.5027H48.2682V22.0027H47.3788V22.5027ZM45.8503 22.2527V21.3633H45.3503V22.2527H45.8503ZM45.6003 21.1133H44.7109V21.6133H45.6003V21.1133ZM44.4609 21.3633V22.2527H44.9609V21.3633H44.4609ZM44.7109 22.5027H45.6003V22.0027H44.7109V22.5027ZM46.7398 22.2527V21.3633H46.2398V22.2527H46.7398ZM46.4898 21.1133H45.6005V21.6133H46.4898V21.1133ZM45.3505 21.3633V22.2527H45.8505V21.3633H45.3505ZM45.6005 22.5027H46.4898V22.0027H45.6005V22.5027ZM49.1572 26.0595H50.0458V25.5595H49.1572V26.0595ZM50.2958 25.8095V24.9201H49.7958V25.8095H50.2958ZM50.0458 24.6701H49.1572V25.1701H50.0458V24.6701ZM48.9072 24.9201V25.8095H49.4072V24.9201H48.9072ZM49.1572 26.9485H50.0458V26.4485H49.1572V26.9485ZM50.2958 26.6985V25.8095H49.7958V26.6985H50.2958ZM50.0458 25.5595H49.1572V26.0595H50.0458V25.5595ZM48.9072 25.8095V26.6985H49.4072V25.8095H48.9072ZM49.1572 27.8378H50.0458V27.3378H49.1572V27.8378ZM50.2958 27.5878V26.6984H49.7958V27.5878H50.2958ZM50.0458 26.4484H49.1572V26.9484H50.0458V26.4484ZM48.9072 26.6984V27.5878H49.4072V26.6984H48.9072ZM49.1572 24.2811H50.0458V23.7811H49.1572V24.2811ZM50.2958 24.0311V23.1417H49.7958V24.0311H50.2958ZM50.0458 22.8917H49.1572V23.3917H50.0458V22.8917ZM48.9072 23.1417V24.0311H49.4072V23.1417H48.9072ZM49.1572 23.3917H50.0458V22.8917H49.1572V23.3917ZM50.2958 23.1417V22.2523H49.7958V23.1417H50.2958ZM50.0458 22.0023H49.1572V22.5023H50.0458V22.0023ZM48.9072 22.2523V23.1417H49.4072V22.2523H48.9072Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M49.1571 24.92H50.0457V24.0306H49.1571V24.92V24.92ZM47.3785 48.9277V49.8171H48.2679V48.9277H47.3785ZM44.7112 22.2527V21.3633H43.8218V22.2527H44.7112V22.2527Z" fill="white"/> +<path d="M50.0457 24.92V25.17H50.2957V24.92H50.0457ZM50.0457 24.0306H50.2957V23.7806H50.0457V24.0306ZM49.1571 24.0306V23.7806H48.9071V24.0306H49.1571ZM47.3785 48.9277V48.6777H47.1285V48.9277H47.3785ZM47.3785 49.8171H47.1285V50.0671H47.3785V49.8171ZM48.2679 49.8171V50.0671H48.5179V49.8171H48.2679ZM48.2679 48.9277H48.5179V48.6777H48.2679V48.9277ZM44.7112 21.3633H44.9612V21.1133H44.7112V21.3633ZM43.8218 21.3633V21.1133H43.5718V21.3633H43.8218ZM43.8218 22.2527H43.5718V22.5027H43.8218V22.2527ZM49.1571 25.17H50.0457V24.67H49.1571V25.17ZM50.2957 24.92V24.0306H49.7957V24.92H50.2957ZM50.0457 23.7806H49.1571V24.2806H50.0457V23.7806ZM48.9071 24.0306V24.92H49.4071V24.0306H48.9071ZM47.1285 48.9277V49.8171H47.6285V48.9277H47.1285ZM47.3785 50.0671H48.2679V49.5671H47.3785V50.0671ZM48.5179 49.8171V48.9277H48.0179V49.8171H48.5179ZM48.2679 48.6777H47.3785V49.1777H48.2679V48.6777ZM44.9612 22.2527V21.3633H44.4612V22.2527H44.9612ZM44.7112 21.1133H43.8218V21.6133H44.7112V21.1133ZM43.5718 21.3633V22.2527H44.0718V21.3633H43.5718ZM43.8218 22.5027H44.7112V22.0027H43.8218V22.5027Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2681 48.9272V49.8166H49.1574V48.9272H48.2681V48.9272ZM49.157 39.1466H50.0456V38.2568H49.157V39.1466ZM49.157 42.7026H50.0456V41.8132H49.157V42.7026V42.7026Z" fill="white"/> +<path d="M48.2681 49.8166H48.0181V50.0666H48.2681V49.8166ZM49.1574 49.8166V50.0666H49.4074V49.8166H49.1574ZM49.1574 48.9272H49.4074V48.6772H49.1574V48.9272ZM49.157 39.1466H48.907V39.3966H49.157V39.1466ZM50.0456 39.1466V39.3966H50.2956V39.1466H50.0456ZM50.0456 38.2568H50.2956V38.0068H50.0456V38.2568ZM49.157 38.2568V38.0068H48.907V38.2568H49.157ZM50.0456 42.7026V42.9526H50.2956V42.7026H50.0456ZM50.0456 41.8132H50.2956V41.5632H50.0456V41.8132ZM49.157 41.8132V41.5632H48.907V41.8132H49.157ZM48.0181 48.9272V49.8166H48.5181V48.9272H48.0181ZM48.2681 50.0666H49.1574V49.5666H48.2681V50.0666ZM49.4074 49.8166V48.9272H48.9074V49.8166H49.4074ZM49.1574 48.6772H48.2681V49.1772H49.1574V48.6772ZM49.157 39.3966H50.0456V38.8966H49.157V39.3966ZM50.2956 39.1466V38.2568H49.7956V39.1466H50.2956ZM50.0456 38.0068H49.157V38.5068H50.0456V38.0068ZM48.907 38.2568V39.1466H49.407V38.2568H48.907ZM49.157 42.9526H50.0456V42.4526H49.157V42.9526ZM50.2956 42.7026V41.8132H49.7956V42.7026H50.2956ZM50.0456 41.5632H49.157V42.0632H50.0456V41.5632ZM48.907 41.8132V42.7026H49.407V41.8132H48.907Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M49.1572 43.5915H50.0458V42.7021H49.1572V43.5915V43.5915Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M49.1572 44.4812H50.0458V43.5918H49.1572V44.4812ZM49.1572 48.0379H50.0458V47.1485H49.1572V48.0379V48.0379Z" fill="white"/> +<path d="M49.1572 44.4812H48.9072V44.7312H49.1572V44.4812ZM50.0458 44.4812V44.7312H50.2958V44.4812H50.0458ZM50.0458 43.5918H50.2958V43.3418H50.0458V43.5918ZM49.1572 43.5918V43.3418H48.9072V43.5918H49.1572ZM50.0458 48.0379V48.2879H50.2958V48.0379H50.0458ZM50.0458 47.1485H50.2958V46.8985H50.0458V47.1485ZM49.1572 47.1485V46.8985H48.9072V47.1485H49.1572ZM49.1572 44.7312H50.0458V44.2312H49.1572V44.7312ZM50.2958 44.4812V43.5918H49.7958V44.4812H50.2958ZM50.0458 43.3418H49.1572V43.8418H50.0458V43.3418ZM48.9072 43.5918V44.4812H49.4072V43.5918H48.9072ZM49.1572 48.2879H50.0458V47.7879H49.1572V48.2879ZM50.2958 48.0379V47.1485H49.7958V48.0379H50.2958ZM50.0458 46.8985H49.1572V47.3985H50.0458V46.8985ZM48.9072 47.1485V48.0379H49.4072V47.1485H48.9072Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M49.1572 47.1493H50.0458V46.2599H49.1572V47.1493V47.1493ZM49.1572 45.3708H50.0458V44.4814H49.1572V45.3708Z" fill="white"/> +<path d="M50.0458 47.1493V47.3993H50.2958V47.1493H50.0458ZM50.0458 46.2599H50.2958V46.0099H50.0458V46.2599ZM49.1572 46.2599V46.0099H48.9072V46.2599H49.1572ZM49.1572 45.3708H48.9072V45.6208H49.1572V45.3708ZM50.0458 45.3708V45.6208H50.2958V45.3708H50.0458ZM50.0458 44.4814H50.2958V44.2314H50.0458V44.4814ZM49.1572 44.4814V44.2314H48.9072V44.4814H49.1572ZM49.1572 47.3993H50.0458V46.8993H49.1572V47.3993ZM50.2958 47.1493V46.2599H49.7958V47.1493H50.2958ZM50.0458 46.0099H49.1572V46.5099H50.0458V46.0099ZM48.9072 46.2599V47.1493H49.4072V46.2599H48.9072ZM49.1572 45.6208H50.0458V45.1208H49.1572V45.6208ZM50.2958 45.3708V44.4814H49.7958V45.3708H50.2958ZM50.0458 44.2314H49.1572V44.7314H50.0458V44.2314ZM48.9072 44.4814V45.3708H49.4072V44.4814H48.9072Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M49.1567 46.2597H50.0454V45.3703H49.1567V46.2597ZM50.0452 36.4792H50.9349V35.5898H50.0452V36.4792V36.4792ZM22.4818 40.9246H21.5928V41.8139H22.4818V40.9246ZM22.4818 43.5919H21.5928V44.4813H22.4818V43.5919V43.5919Z" fill="white"/> +<path d="M49.1567 46.2597H48.9067V46.5097H49.1567V46.2597ZM50.0454 46.2597V46.5097H50.2954V46.2597H50.0454ZM50.0454 45.3703H50.2954V45.1203H50.0454V45.3703ZM49.1567 45.3703V45.1203H48.9067V45.3703H49.1567ZM50.9349 36.4792V36.7292H51.1849V36.4792H50.9349ZM50.9349 35.5898H51.1849V35.3398H50.9349V35.5898ZM50.0452 35.5898V35.3398H49.7952V35.5898H50.0452ZM22.4818 40.9246H22.7318V40.6746H22.4818V40.9246ZM21.5928 40.9246V40.6746H21.3428V40.9246H21.5928ZM21.5928 41.8139H21.3428V42.0639H21.5928V41.8139ZM22.4818 41.8139V42.0639H22.7318V41.8139H22.4818ZM21.5928 43.5919V43.3419H21.3428V43.5919H21.5928ZM21.5928 44.4813H21.3428V44.7313H21.5928V44.4813ZM22.4818 44.4813V44.7313H22.7318V44.4813H22.4818ZM49.1567 46.5097H50.0454V46.0097H49.1567V46.5097ZM50.2954 46.2597V45.3703H49.7954V46.2597H50.2954ZM50.0454 45.1203H49.1567V45.6203H50.0454V45.1203ZM48.9067 45.3703V46.2597H49.4067V45.3703H48.9067ZM50.0452 36.7292H50.9349V36.2292H50.0452V36.7292ZM51.1849 36.4792V35.5898H50.6849V36.4792H51.1849ZM50.9349 35.3398H50.0452V35.8398H50.9349V35.3398ZM49.7952 35.5898V36.4792H50.2952V35.5898H49.7952ZM22.4818 40.6746H21.5928V41.1746H22.4818V40.6746ZM21.3428 40.9246V41.8139H21.8428V40.9246H21.3428ZM21.5928 42.0639H22.4818V41.5639H21.5928V42.0639ZM22.7318 41.8139V40.9246H22.2318V41.8139H22.7318ZM22.4818 43.3419H21.5928V43.8419H22.4818V43.3419ZM21.3428 43.5919V44.4813H21.8428V43.5919H21.3428ZM21.5928 44.7313H22.4818V44.2313H21.5928V44.7313ZM22.7318 44.4813V43.5919H22.2318V44.4813H22.7318Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M22.4818 41.8137H21.5928V42.703H22.4818V41.8137V41.8137ZM22.4818 42.7031H21.5928V43.5924H22.4818V42.7031V42.7031ZM22.4818 44.4814H21.5928V45.3708H22.4818V44.4814ZM22.4818 40.0352H21.5928V40.9246H22.4818V40.0352ZM43.8214 22.2527V21.3633H42.932V22.2527H43.8214V22.2527ZM38.4863 22.2527V21.3633H37.5969V22.2527H38.4863V22.2527ZM37.5969 22.2527V21.3633H36.7075V22.2527H37.5969ZM40.2649 22.2527V21.3633H39.3755V22.2527H40.2649Z" fill="white"/> +<path d="M21.5928 41.8137V41.5637H21.3428V41.8137H21.5928ZM21.5928 42.703H21.3428V42.953H21.5928V42.703ZM22.4818 42.703V42.953H22.7318V42.703H22.4818ZM21.5928 42.7031V42.4531H21.3428V42.7031H21.5928ZM21.5928 43.5924H21.3428V43.8424H21.5928V43.5924ZM22.4818 43.5924V43.8424H22.7318V43.5924H22.4818ZM22.4818 44.4814H22.7318V44.2314H22.4818V44.4814ZM21.5928 44.4814V44.2314H21.3428V44.4814H21.5928ZM21.5928 45.3708H21.3428V45.6208H21.5928V45.3708ZM22.4818 45.3708V45.6208H22.7318V45.3708H22.4818ZM22.4818 40.0352H22.7318V39.7852H22.4818V40.0352ZM21.5928 40.0352V39.7852H21.3428V40.0352H21.5928ZM21.5928 40.9246H21.3428V41.1746H21.5928V40.9246ZM22.4818 40.9246V41.1746H22.7318V40.9246H22.4818ZM43.8214 21.3633H44.0714V21.1133H43.8214V21.3633ZM42.932 21.3633V21.1133H42.682V21.3633H42.932ZM42.932 22.2527H42.682V22.5027H42.932V22.2527ZM38.4863 21.3633H38.7363V21.1133H38.4863V21.3633ZM37.5969 21.3633V21.1133H37.3469V21.3633H37.5969ZM37.5969 22.2527H37.3469V22.5027H37.5969V22.2527ZM37.5969 22.2527V22.5027H37.8469V22.2527H37.5969ZM37.5969 21.3633H37.8469V21.1133H37.5969V21.3633ZM36.7075 21.3633V21.1133H36.4575V21.3633H36.7075ZM36.7075 22.2527H36.4575V22.5027H36.7075V22.2527ZM40.2649 22.2527V22.5027H40.5149V22.2527H40.2649ZM40.2649 21.3633H40.5149V21.1133H40.2649V21.3633ZM39.3755 21.3633V21.1133H39.1255V21.3633H39.3755ZM39.3755 22.2527H39.1255V22.5027H39.3755V22.2527ZM22.4818 41.5637H21.5928V42.0637H22.4818V41.5637ZM21.3428 41.8137V42.703H21.8428V41.8137H21.3428ZM21.5928 42.953H22.4818V42.453H21.5928V42.953ZM22.7318 42.703V41.8137H22.2318V42.703H22.7318ZM22.4818 42.4531H21.5928V42.9531H22.4818V42.4531ZM21.3428 42.7031V43.5924H21.8428V42.7031H21.3428ZM21.5928 43.8424H22.4818V43.3424H21.5928V43.8424ZM22.7318 43.5924V42.7031H22.2318V43.5924H22.7318ZM22.4818 44.2314H21.5928V44.7314H22.4818V44.2314ZM21.3428 44.4814V45.3708H21.8428V44.4814H21.3428ZM21.5928 45.6208H22.4818V45.1208H21.5928V45.6208ZM22.7318 45.3708V44.4814H22.2318V45.3708H22.7318ZM22.4818 39.7852H21.5928V40.2852H22.4818V39.7852ZM21.3428 40.0352V40.9246H21.8428V40.0352H21.3428ZM21.5928 41.1746H22.4818V40.6746H21.5928V41.1746ZM22.7318 40.9246V40.0352H22.2318V40.9246H22.7318ZM44.0714 22.2527V21.3633H43.5714V22.2527H44.0714ZM43.8214 21.1133H42.932V21.6133H43.8214V21.1133ZM42.682 21.3633V22.2527H43.182V21.3633H42.682ZM42.932 22.5027H43.8214V22.0027H42.932V22.5027ZM38.7363 22.2527V21.3633H38.2363V22.2527H38.7363ZM38.4863 21.1133H37.5969V21.6133H38.4863V21.1133ZM37.3469 21.3633V22.2527H37.8469V21.3633H37.3469ZM37.5969 22.5027H38.4863V22.0027H37.5969V22.5027ZM37.8469 22.2527V21.3633H37.3469V22.2527H37.8469ZM37.5969 21.1133H36.7075V21.6133H37.5969V21.1133ZM36.4575 21.3633V22.2527H36.9575V21.3633H36.4575ZM36.7075 22.5027H37.5969V22.0027H36.7075V22.5027ZM40.5149 22.2527V21.3633H40.0149V22.2527H40.5149ZM40.2649 21.1133H39.3755V21.6133H40.2649V21.1133ZM39.1255 21.3633V22.2527H39.6255V21.3633H39.1255ZM39.3755 22.5027H40.2649V22.0027H39.3755V22.5027Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3757 22.2527V21.3633H38.4863V22.2527H39.3757V22.2527ZM41.1544 22.2527V21.3633H40.265V22.2527H41.1544ZM25.1495 22.2527V21.3633H24.2605V22.2527H25.1495ZM26.0387 22.2527V21.3633H25.1493V22.2527H26.0387V22.2527ZM22.4819 22.2527H23.3713V21.3633H22.6297C22.5805 21.4091 22.5312 21.4541 22.4823 21.5003L22.4819 22.2527Z" fill="white"/> +<path d="M39.3757 21.3633H39.6257V21.1133H39.3757V21.3633ZM38.4863 21.3633V21.1133H38.2363V21.3633H38.4863ZM38.4863 22.2527H38.2363V22.5027H38.4863V22.2527ZM41.1544 22.2527V22.5027H41.4044V22.2527H41.1544ZM41.1544 21.3633H41.4044V21.1133H41.1544V21.3633ZM40.265 21.3633V21.1133H40.015V21.3633H40.265ZM40.265 22.2527H40.015V22.5027H40.265V22.2527ZM25.1495 22.2527V22.5027H25.3995V22.2527H25.1495ZM25.1495 21.3633H25.3995V21.1133H25.1495V21.3633ZM24.2605 21.3633V21.1133H24.0105V21.3633H24.2605ZM24.2605 22.2527H24.0105V22.5027H24.2605V22.2527ZM26.0387 21.3633H26.2887V21.1133H26.0387V21.3633ZM25.1493 21.3633V21.1133H24.8993V21.3633H25.1493ZM25.1493 22.2527H24.8993V22.5027H25.1493V22.2527ZM22.4819 22.2527L22.2319 22.2525L22.2318 22.5027H22.4819V22.2527ZM23.3713 22.2527V22.5027H23.6213V22.2527H23.3713ZM23.3713 21.3633H23.6213V21.1133H23.3713V21.3633ZM22.6297 21.3633V21.1133H22.5315L22.4595 21.1802L22.6297 21.3633ZM22.4823 21.5003L22.3106 21.3186L22.2324 21.3925L22.2323 21.5002L22.4823 21.5003ZM39.6257 22.2527V21.3633H39.1257V22.2527H39.6257ZM39.3757 21.1133H38.4863V21.6133H39.3757V21.1133ZM38.2363 21.3633V22.2527H38.7363V21.3633H38.2363ZM38.4863 22.5027H39.3757V22.0027H38.4863V22.5027ZM41.4044 22.2527V21.3633H40.9044V22.2527H41.4044ZM41.1544 21.1133H40.265V21.6133H41.1544V21.1133ZM40.015 21.3633V22.2527H40.515V21.3633H40.015ZM40.265 22.5027H41.1544V22.0027H40.265V22.5027ZM25.3995 22.2527V21.3633H24.8995V22.2527H25.3995ZM25.1495 21.1133H24.2605V21.6133H25.1495V21.1133ZM24.0105 21.3633V22.2527H24.5105V21.3633H24.0105ZM24.2605 22.5027H25.1495V22.0027H24.2605V22.5027ZM26.2887 22.2527V21.3633H25.7887V22.2527H26.2887ZM26.0387 21.1133H25.1493V21.6133H26.0387V21.1133ZM24.8993 21.3633V22.2527H25.3993V21.3633H24.8993ZM25.1493 22.5027H26.0387V22.0027H25.1493V22.5027ZM22.4819 22.5027H23.3713V22.0027H22.4819V22.5027ZM23.6213 22.2527V21.3633H23.1213V22.2527H23.6213ZM23.3713 21.1133H22.6297V21.6133H23.3713V21.1133ZM22.4595 21.1802C22.4124 21.2239 22.3603 21.2716 22.3106 21.3186L22.654 21.682C22.7021 21.6366 22.7485 21.5942 22.7999 21.5464L22.4595 21.1802ZM22.2323 21.5002L22.2319 22.2525L22.7319 22.2528L22.7323 21.5004L22.2323 21.5002Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.9276 22.2527V21.3633H26.0382V22.2527H26.9276V22.2527ZM24.2605 22.2527V21.3633H23.3711V22.2527H24.2605ZM43.8216 23.1417V22.2523H42.9323V23.1417H43.8216V23.1417ZM44.7113 23.1417V22.2523H43.8219V23.1417H44.7113V23.1417Z" fill="white"/> +<path d="M26.9276 21.3633H27.1776V21.1133H26.9276V21.3633ZM26.0382 21.3633V21.1133H25.7882V21.3633H26.0382ZM26.0382 22.2527H25.7882V22.5027H26.0382V22.2527ZM24.2605 22.2527V22.5027H24.5105V22.2527H24.2605ZM24.2605 21.3633H24.5105V21.1133H24.2605V21.3633ZM23.3711 21.3633V21.1133H23.1211V21.3633H23.3711ZM23.3711 22.2527H23.1211V22.5027H23.3711V22.2527ZM43.8216 22.2523H44.0716V22.0023H43.8216V22.2523ZM42.9323 22.2523V22.0023H42.6823V22.2523H42.9323ZM42.9323 23.1417H42.6823V23.3917H42.9323V23.1417ZM44.7113 22.2523H44.9613V22.0023H44.7113V22.2523ZM43.8219 22.2523V22.0023H43.5719V22.2523H43.8219ZM43.8219 23.1417H43.5719V23.3917H43.8219V23.1417ZM27.1776 22.2527V21.3633H26.6776V22.2527H27.1776ZM26.9276 21.1133H26.0382V21.6133H26.9276V21.1133ZM25.7882 21.3633V22.2527H26.2882V21.3633H25.7882ZM26.0382 22.5027H26.9276V22.0027H26.0382V22.5027ZM24.5105 22.2527V21.3633H24.0105V22.2527H24.5105ZM24.2605 21.1133H23.3711V21.6133H24.2605V21.1133ZM23.1211 21.3633V22.2527H23.6211V21.3633H23.1211ZM23.3711 22.5027H24.2605V22.0027H23.3711V22.5027ZM44.0716 23.1417V22.2523H43.5716V23.1417H44.0716ZM43.8216 22.0023H42.9323V22.5023H43.8216V22.0023ZM42.6823 22.2523V23.1417H43.1823V22.2523H42.6823ZM42.9323 23.3917H43.8216V22.8917H42.9323V23.3917ZM44.9613 23.1417V22.2523H44.4613V23.1417H44.9613ZM44.7113 22.0023H43.8219V22.5023H44.7113V22.0023ZM43.5719 22.2523V23.1417H44.0719V22.2523H43.5719ZM43.8219 23.3917H44.7113V22.8917H43.8219V23.3917Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.9325 23.1413V22.252H42.0431V23.1413H42.9325V23.1413ZM45.6 23.1413V22.252H44.7106V23.1413H45.6ZM41.1542 23.1413V22.252H40.2648V23.1413H41.1542ZM48.2676 24.0307H49.157V23.1414H48.2676V24.0307V24.0307ZM40.2649 23.1413V22.252H39.3755V23.1413H40.2649Z" fill="white"/> +<path d="M42.9325 22.252H43.1825V22.002H42.9325V22.252ZM42.0431 22.252V22.002H41.7931V22.252H42.0431ZM42.0431 23.1413H41.7931V23.3913H42.0431V23.1413ZM45.6 23.1413V23.3913H45.85V23.1413H45.6ZM45.6 22.252H45.85V22.002H45.6V22.252ZM44.7106 22.252V22.002H44.4606V22.252H44.7106ZM44.7106 23.1413H44.4606V23.3913H44.7106V23.1413ZM41.1542 23.1413V23.3913H41.4042V23.1413H41.1542ZM41.1542 22.252H41.4042V22.002H41.1542V22.252ZM40.2648 22.252V22.002H40.0148V22.252H40.2648ZM40.2648 23.1413H40.0148V23.3913H40.2648V23.1413ZM49.157 24.0307V24.2807H49.407V24.0307H49.157ZM49.157 23.1414H49.407V22.8914H49.157V23.1414ZM48.2676 23.1414V22.8914H48.0176V23.1414H48.2676ZM40.2649 23.1413V23.3913H40.5149V23.1413H40.2649ZM40.2649 22.252H40.5149V22.002H40.2649V22.252ZM39.3755 22.252V22.002H39.1255V22.252H39.3755ZM39.3755 23.1413H39.1255V23.3913H39.3755V23.1413ZM43.1825 23.1413V22.252H42.6825V23.1413H43.1825ZM42.9325 22.002H42.0431V22.502H42.9325V22.002ZM41.7931 22.252V23.1413H42.2931V22.252H41.7931ZM42.0431 23.3913H42.9325V22.8913H42.0431V23.3913ZM45.85 23.1413V22.252H45.35V23.1413H45.85ZM45.6 22.002H44.7106V22.502H45.6V22.002ZM44.4606 22.252V23.1413H44.9606V22.252H44.4606ZM44.7106 23.3913H45.6V22.8913H44.7106V23.3913ZM41.4042 23.1413V22.252H40.9042V23.1413H41.4042ZM41.1542 22.002H40.2648V22.502H41.1542V22.002ZM40.0148 22.252V23.1413H40.5148V22.252H40.0148ZM40.2648 23.3913H41.1542V22.8913H40.2648V23.3913ZM48.2676 24.2807H49.157V23.7807H48.2676V24.2807ZM49.407 24.0307V23.1414H48.907V24.0307H49.407ZM49.157 22.8914H48.2676V23.3914H49.157V22.8914ZM48.0176 23.1414V24.0307H48.5176V23.1414H48.0176ZM40.5149 23.1413V22.252H40.0149V23.1413H40.5149ZM40.2649 22.002H39.3755V22.502H40.2649V22.002ZM39.1255 22.252V23.1413H39.6255V22.252H39.1255ZM39.3755 23.3913H40.2649V22.8913H39.3755V23.3913Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2678 24.9196H49.1572V24.0302H48.2678V24.9196V24.9196ZM49.157 23.1413V22.252H48.2676V23.1413H49.157Z" fill="white"/> +<path d="M49.1572 24.9196V25.1696H49.4072V24.9196H49.1572ZM49.1572 24.0302H49.4072V23.7802H49.1572V24.0302ZM48.2678 24.0302V23.7802H48.0178V24.0302H48.2678ZM49.157 23.1413V23.3913H49.407V23.1413H49.157ZM49.157 22.252H49.407V22.002H49.157V22.252ZM48.2676 22.252V22.002H48.0176V22.252H48.2676ZM48.2676 23.1413H48.0176V23.3913H48.2676V23.1413ZM48.2678 25.1696H49.1572V24.6696H48.2678V25.1696ZM49.4072 24.9196V24.0302H48.9072V24.9196H49.4072ZM49.1572 23.7802H48.2678V24.2802H49.1572V23.7802ZM48.0178 24.0302V24.9196H48.5178V24.0302H48.0178ZM49.407 23.1413V22.252H48.907V23.1413H49.407ZM49.157 22.002H48.2676V22.502H49.157V22.002ZM48.0176 22.252V23.1413H48.5176V22.252H48.0176ZM48.2676 23.3913H49.157V22.8913H48.2676V23.3913Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2679 23.1413V22.252H47.3785V23.1413H48.2679V23.1413ZM46.4895 23.1413V22.252H45.6001V23.1413H46.4895Z" fill="white"/> +<path d="M48.2679 22.252H48.5179V22.002H48.2679V22.252ZM47.3785 22.252V22.002H47.1285V22.252H47.3785ZM47.3785 23.1413H47.1285V23.3913H47.3785V23.1413ZM46.4895 23.1413V23.3913H46.7395V23.1413H46.4895ZM46.4895 22.252H46.7395V22.002H46.4895V22.252ZM45.6001 22.252V22.002H45.3501V22.252H45.6001ZM45.6001 23.1413H45.3501V23.3913H45.6001V23.1413ZM48.5179 23.1413V22.252H48.0179V23.1413H48.5179ZM48.2679 22.002H47.3785V22.502H48.2679V22.002ZM47.1285 22.252V23.1413H47.6285V22.252H47.1285ZM47.3785 23.3913H48.2679V22.8913H47.3785V23.3913ZM46.7395 23.1413V22.252H46.2395V23.1413H46.7395ZM46.4895 22.002H45.6001V22.502H46.4895V22.002ZM45.3501 22.252V23.1413H45.8501V22.252H45.3501ZM45.6001 23.3913H46.4895V22.8913H45.6001V23.3913Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M47.3785 23.1413V22.252H46.4891V23.1413H47.3785ZM37.5971 23.1413V22.252H36.7078V23.1413H37.5971ZM29.5954 23.1413V22.252H28.7061V23.1413H29.5954ZM38.4866 23.1413V22.252H37.5972V23.1413H38.4866V23.1413ZM48.2679 25.8091H49.1573V24.9197H48.2679V25.8091V25.8091Z" fill="white"/> +<path d="M47.3785 23.1413V23.3913H47.6285V23.1413H47.3785ZM47.3785 22.252H47.6285V22.002H47.3785V22.252ZM46.4891 22.252V22.002H46.2391V22.252H46.4891ZM46.4891 23.1413H46.2391V23.3913H46.4891V23.1413ZM37.5971 23.1413V23.3913H37.8471V23.1413H37.5971ZM37.5971 22.252H37.8471V22.002H37.5971V22.252ZM36.7078 22.252V22.002H36.4578V22.252H36.7078ZM36.7078 23.1413H36.4578V23.3913H36.7078V23.1413ZM29.5954 23.1413V23.3913H29.8454V23.1413H29.5954ZM29.5954 22.252H29.8454V22.002H29.5954V22.252ZM28.7061 22.252V22.002H28.4561V22.252H28.7061ZM28.7061 23.1413H28.4561V23.3913H28.7061V23.1413ZM38.4866 22.252H38.7366V22.002H38.4866V22.252ZM37.5972 22.252V22.002H37.3472V22.252H37.5972ZM37.5972 23.1413H37.3472V23.3913H37.5972V23.1413ZM49.1573 25.8091V26.0591H49.4073V25.8091H49.1573ZM49.1573 24.9197H49.4073V24.6697H49.1573V24.9197ZM48.2679 24.9197V24.6697H48.0179V24.9197H48.2679ZM47.6285 23.1413V22.252H47.1285V23.1413H47.6285ZM47.3785 22.002H46.4891V22.502H47.3785V22.002ZM46.2391 22.252V23.1413H46.7391V22.252H46.2391ZM46.4891 23.3913H47.3785V22.8913H46.4891V23.3913ZM37.8471 23.1413V22.252H37.3471V23.1413H37.8471ZM37.5971 22.002H36.7078V22.502H37.5971V22.002ZM36.4578 22.252V23.1413H36.9578V22.252H36.4578ZM36.7078 23.3913H37.5971V22.8913H36.7078V23.3913ZM29.8454 23.1413V22.252H29.3454V23.1413H29.8454ZM29.5954 22.002H28.7061V22.502H29.5954V22.002ZM28.4561 22.252V23.1413H28.9561V22.252H28.4561ZM28.7061 23.3913H29.5954V22.8913H28.7061V23.3913ZM38.7366 23.1413V22.252H38.2366V23.1413H38.7366ZM38.4866 22.002H37.5972V22.502H38.4866V22.002ZM37.3472 22.252V23.1413H37.8472V22.252H37.3472ZM37.5972 23.3913H38.4866V22.8913H37.5972V23.3913ZM48.2679 26.0591H49.1573V25.5591H48.2679V26.0591ZM49.4073 25.8091V24.9197H48.9073V25.8091H49.4073ZM49.1573 24.6697H48.2679V25.1697H49.1573V24.6697ZM48.0179 24.9197V25.8091H48.5179V24.9197H48.0179Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3756 23.1413V22.252H38.4862V23.1413H39.3756V23.1413ZM35.8192 23.1413V22.252H34.9302V23.1413H35.8192ZM36.7082 23.1413V22.252H35.8192V23.1413H36.7082ZM48.2678 43.5917H49.1572V42.7023H48.2678V43.5917V43.5917ZM48.2678 38.2564H49.1572V37.3671H48.2678V38.2564V38.2564Z" fill="white"/> +<path d="M39.3756 22.252H39.6256V22.002H39.3756V22.252ZM38.4862 22.252V22.002H38.2362V22.252H38.4862ZM38.4862 23.1413H38.2362V23.3913H38.4862V23.1413ZM35.8192 23.1413V23.3913H36.0692V23.1413H35.8192ZM35.8192 22.252H36.0692V22.002H35.8192V22.252ZM34.9302 22.252V22.002H34.6802V22.252H34.9302ZM34.9302 23.1413H34.6802V23.3913H34.9302V23.1413ZM36.7082 23.1413V23.3913H36.9582V23.1413H36.7082ZM36.7082 22.252H36.9582V22.002H36.7082V22.252ZM35.8192 22.252V22.002H35.5692V22.252H35.8192ZM35.8192 23.1413H35.5692V23.3913H35.8192V23.1413ZM49.1572 43.5917V43.8417H49.4072V43.5917H49.1572ZM49.1572 42.7023H49.4072V42.4523H49.1572V42.7023ZM48.2678 42.7023V42.4523H48.0178V42.7023H48.2678ZM49.1572 38.2564V38.5064H49.4072V38.2564H49.1572ZM49.1572 37.3671H49.4072V37.1171H49.1572V37.3671ZM48.2678 37.3671V37.1171H48.0178V37.3671H48.2678ZM39.6256 23.1413V22.252H39.1256V23.1413H39.6256ZM39.3756 22.002H38.4862V22.502H39.3756V22.002ZM38.2362 22.252V23.1413H38.7362V22.252H38.2362ZM38.4862 23.3913H39.3756V22.8913H38.4862V23.3913ZM36.0692 23.1413V22.252H35.5692V23.1413H36.0692ZM35.8192 22.002H34.9302V22.502H35.8192V22.002ZM34.6802 22.252V23.1413H35.1802V22.252H34.6802ZM34.9302 23.3913H35.8192V22.8913H34.9302V23.3913ZM36.9582 23.1413V22.252H36.4582V23.1413H36.9582ZM36.7082 22.002H35.8192V22.502H36.7082V22.002ZM35.5692 22.252V23.1413H36.0692V22.252H35.5692ZM35.8192 23.3913H36.7082V22.8913H35.8192V23.3913ZM48.2678 43.8417H49.1572V43.3417H48.2678V43.8417ZM49.4072 43.5917V42.7023H48.9072V43.5917H49.4072ZM49.1572 42.4523H48.2678V42.9523H49.1572V42.4523ZM48.0178 42.7023V43.5917H48.5178V42.7023H48.0178ZM48.2678 38.5064H49.1572V38.0064H48.2678V38.5064ZM49.4072 38.2564V37.3671H48.9072V38.2564H49.4072ZM49.1572 37.1171H48.2678V37.6171H49.1572V37.1171ZM48.0178 37.3671V38.2564H48.5178V37.3671H48.0178Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2681 42.7026H49.1574V41.8132H48.2681V42.7026V42.7026ZM48.2681 39.1466H49.1574V38.2568H48.2681V39.1466V39.1466Z" fill="white"/> +<path d="M49.1574 42.7026V42.9526H49.4074V42.7026H49.1574ZM49.1574 41.8132H49.4074V41.5632H49.1574V41.8132ZM48.2681 41.8132V41.5632H48.0181V41.8132H48.2681ZM49.1574 39.1466V39.3966H49.4074V39.1466H49.1574ZM49.1574 38.2568H49.4074V38.0068H49.1574V38.2568ZM48.2681 38.2568V38.0068H48.0181V38.2568H48.2681ZM48.2681 42.9526H49.1574V42.4526H48.2681V42.9526ZM49.4074 42.7026V41.8132H48.9074V42.7026H49.4074ZM49.1574 41.5632H48.2681V42.0632H49.1574V41.5632ZM48.0181 41.8132V42.7026H48.5181V41.8132H48.0181ZM48.2681 39.3966H49.1574V38.8966H48.2681V39.3966ZM49.4074 39.1466V38.2568H48.9074V39.1466H49.4074ZM49.1574 38.0068H48.2681V38.5068H49.1574V38.0068ZM48.0181 38.2568V39.1466H48.5181V38.2568H48.0181Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2681 40.0351H49.1574V39.1465H48.2681V40.0351V40.0351ZM48.2681 48.0379H49.1574V47.1485H48.2681V48.0379V48.0379Z" fill="white"/> +<path d="M49.1574 40.0351V40.2851H49.4074V40.0351H49.1574ZM49.1574 39.1465H49.4074V38.8965H49.1574V39.1465ZM48.2681 39.1465V38.8965H48.0181V39.1465H48.2681ZM49.1574 48.0379V48.2879H49.4074V48.0379H49.1574ZM49.1574 47.1485H49.4074V46.8985H49.1574V47.1485ZM48.2681 47.1485V46.8985H48.0181V47.1485H48.2681ZM48.2681 40.2851H49.1574V39.7851H48.2681V40.2851ZM49.4074 40.0351V39.1465H48.9074V40.0351H49.4074ZM49.1574 38.8965H48.2681V39.3965H49.1574V38.8965ZM48.0181 39.1465V40.0351H48.5181V39.1465H48.0181ZM48.2681 48.2879H49.1574V47.7879H48.2681V48.2879ZM49.4074 48.0379V47.1485H48.9074V48.0379H49.4074ZM49.1574 46.8985H48.2681V47.3985H49.1574V46.8985ZM48.0181 47.1485V48.0379H48.5181V47.1485H48.0181Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2681 47.1491H49.1574V46.2597H48.2681V47.1491V47.1491ZM48.2681 45.3707H49.1574V44.4813H48.2681V45.3707V45.3707ZM48.2681 44.4813H49.1574V43.5919H48.2681V44.4813V44.4813ZM48.2681 27.5876H49.1574V26.6982H48.2681V27.5876V27.5876ZM48.2681 30.2551H49.1574V29.3657H48.2681V30.2551V30.2551ZM48.2681 29.3657H49.1574V28.4763H48.2681V29.3657V29.3657Z" fill="white"/> +<path d="M49.1574 47.1491V47.3991H49.4074V47.1491H49.1574ZM49.1574 46.2597H49.4074V46.0097H49.1574V46.2597ZM48.2681 46.2597V46.0097H48.0181V46.2597H48.2681ZM49.1574 45.3707V45.6207H49.4074V45.3707H49.1574ZM49.1574 44.4813H49.4074V44.2313H49.1574V44.4813ZM48.2681 44.4813V44.2313H48.0181V44.4813H48.2681ZM49.1574 44.4813V44.7313H49.4074V44.4813H49.1574ZM49.1574 43.5919H49.4074V43.3419H49.1574V43.5919ZM48.2681 43.5919V43.3419H48.0181V43.5919H48.2681ZM49.1574 27.5876V27.8376H49.4074V27.5876H49.1574ZM49.1574 26.6982H49.4074V26.4482H49.1574V26.6982ZM48.2681 26.6982V26.4482H48.0181V26.6982H48.2681ZM49.1574 30.2551V30.5051H49.4074V30.2551H49.1574ZM49.1574 29.3657H49.4074V29.1157H49.1574V29.3657ZM48.2681 29.3657V29.1157H48.0181V29.3657H48.2681ZM49.1574 29.3657V29.6157H49.4074V29.3657H49.1574ZM49.1574 28.4763H49.4074V28.2263H49.1574V28.4763ZM48.2681 28.4763V28.2263H48.0181V28.4763H48.2681ZM48.2681 47.3991H49.1574V46.8991H48.2681V47.3991ZM49.4074 47.1491V46.2597H48.9074V47.1491H49.4074ZM49.1574 46.0097H48.2681V46.5097H49.1574V46.0097ZM48.0181 46.2597V47.1491H48.5181V46.2597H48.0181ZM48.2681 45.6207H49.1574V45.1207H48.2681V45.6207ZM49.4074 45.3707V44.4813H48.9074V45.3707H49.4074ZM49.1574 44.2313H48.2681V44.7313H49.1574V44.2313ZM48.0181 44.4813V45.3707H48.5181V44.4813H48.0181ZM48.2681 44.7313H49.1574V44.2313H48.2681V44.7313ZM49.4074 44.4813V43.5919H48.9074V44.4813H49.4074ZM49.1574 43.3419H48.2681V43.8419H49.1574V43.3419ZM48.0181 43.5919V44.4813H48.5181V43.5919H48.0181ZM48.2681 27.8376H49.1574V27.3376H48.2681V27.8376ZM49.4074 27.5876V26.6982H48.9074V27.5876H49.4074ZM49.1574 26.4482H48.2681V26.9482H49.1574V26.4482ZM48.0181 26.6982V27.5876H48.5181V26.6982H48.0181ZM48.2681 30.5051H49.1574V30.0051H48.2681V30.5051ZM49.4074 30.2551V29.3657H48.9074V30.2551H49.4074ZM49.1574 29.1157H48.2681V29.6157H49.1574V29.1157ZM48.0181 29.3657V30.2551H48.5181V29.3657H48.0181ZM48.2681 29.6157H49.1574V29.1157H48.2681V29.6157ZM49.4074 29.3657V28.4763H48.9074V29.3657H49.4074ZM49.1574 28.2263H48.2681V28.7263H49.1574V28.2263ZM48.0181 28.4763V29.3657H48.5181V28.4763H48.0181Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2681 31.1433H49.1574V30.2539H48.2681V31.1433H48.2681Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2681 32.0334H49.1574V31.1444H48.2681V32.0334V32.0334ZM48.2681 26.6986H49.1574V25.8096H48.2681V26.6986V26.6986ZM48.2681 28.4769H49.1574V27.5879H48.2681V28.4769V28.4769ZM48.2681 35.5901H49.1574V34.7007H48.2681V35.5901V35.5901ZM48.2681 37.3681H49.1574V36.4795H48.2681V37.3681V37.3681Z" fill="white"/> +<path d="M49.1574 32.0334V32.2834H49.4074V32.0334H49.1574ZM49.1574 31.1444H49.4074V30.8944H49.1574V31.1444ZM48.2681 31.1444V30.8944H48.0181V31.1444H48.2681ZM49.1574 26.6986V26.9486H49.4074V26.6986H49.1574ZM49.1574 25.8096H49.4074V25.5596H49.1574V25.8096ZM48.2681 25.8096V25.5596H48.0181V25.8096H48.2681ZM49.1574 28.4769V28.7269H49.4074V28.4769H49.1574ZM49.1574 27.5879H49.4074V27.3379H49.1574V27.5879ZM48.2681 27.5879V27.3379H48.0181V27.5879H48.2681ZM49.1574 35.5901V35.8401H49.4074V35.5901H49.1574ZM49.1574 34.7007H49.4074V34.4507H49.1574V34.7007ZM48.2681 34.7007V34.4507H48.0181V34.7007H48.2681ZM49.1574 37.3681V37.6181H49.4074V37.3681H49.1574ZM49.1574 36.4795H49.4074V36.2295H49.1574V36.4795ZM48.2681 36.4795V36.2295H48.0181V36.4795H48.2681ZM48.2681 32.2834H49.1574V31.7834H48.2681V32.2834ZM49.4074 32.0334V31.1444H48.9074V32.0334H49.4074ZM49.1574 30.8944H48.2681V31.3944H49.1574V30.8944ZM48.0181 31.1444V32.0334H48.5181V31.1444H48.0181ZM48.2681 26.9486H49.1574V26.4486H48.2681V26.9486ZM49.4074 26.6986V25.8096H48.9074V26.6986H49.4074ZM49.1574 25.5596H48.2681V26.0596H49.1574V25.5596ZM48.0181 25.8096V26.6986H48.5181V25.8096H48.0181ZM48.2681 28.7269H49.1574V28.2269H48.2681V28.7269ZM49.4074 28.4769V27.5879H48.9074V28.4769H49.4074ZM49.1574 27.3379H48.2681V27.8379H49.1574V27.3379ZM48.0181 27.5879V28.4769H48.5181V27.5879H48.0181ZM48.2681 35.8401H49.1574V35.3401H48.2681V35.8401ZM49.4074 35.5901V34.7007H48.9074V35.5901H49.4074ZM49.1574 34.4507H48.2681V34.9507H49.1574V34.4507ZM48.0181 34.7007V35.5901H48.5181V34.7007H48.0181ZM48.2681 37.6181H49.1574V37.1181H48.2681V37.6181ZM49.4074 37.3681V36.4795H48.9074V37.3681H49.4074ZM49.1574 36.2295H48.2681V36.7295H49.1574V36.2295ZM48.0181 36.4795V37.3681H48.5181V36.4795H48.0181Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2681 36.4788H49.1574V35.5894H48.2681V36.4788V36.4788ZM48.2681 33.8109H49.1574V32.9219H48.2681V33.8109V33.8109Z" fill="white"/> +<path d="M49.1574 36.4788V36.7288H49.4074V36.4788H49.1574ZM49.1574 35.5894H49.4074V35.3394H49.1574V35.5894ZM48.2681 35.5894V35.3394H48.0181V35.5894H48.2681ZM49.1574 33.8109V34.0609H49.4074V33.8109H49.1574ZM49.1574 32.9219H49.4074V32.6719H49.1574V32.9219ZM48.2681 32.9219V32.6719H48.0181V32.9219H48.2681ZM48.2681 36.7288H49.1574V36.2288H48.2681V36.7288ZM49.4074 36.4788V35.5894H48.9074V36.4788H49.4074ZM49.1574 35.3394H48.2681V35.8394H49.1574V35.3394ZM48.0181 35.5894V36.4788H48.5181V35.5894H48.0181ZM48.2681 34.0609H49.1574V33.5609H48.2681V34.0609ZM49.4074 33.8109V32.9219H48.9074V33.8109H49.4074ZM49.1574 32.6719H48.2681V33.1719H49.1574V32.6719ZM48.0181 32.9219V33.8109H48.5181V32.9219H48.0181Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M48.2678 34.7005H49.1572V33.8111H48.2678V34.7005ZM48.2678 32.9226H49.1572V32.0332H48.2678V32.9226ZM23.3713 40.9246H22.4819V41.814H23.3713V40.9246ZM23.3713 42.7031H22.4819V43.5924H23.3713V42.7031V42.7031ZM23.3713 45.3708H22.4819V46.2602H23.3713V45.3708Z" fill="white"/> +<path d="M48.2678 34.7005H48.0178V34.9505H48.2678V34.7005ZM49.1572 34.7005V34.9505H49.4072V34.7005H49.1572ZM49.1572 33.8111H49.4072V33.5611H49.1572V33.8111ZM48.2678 33.8111V33.5611H48.0178V33.8111H48.2678ZM48.2678 32.9226H48.0178V33.1726H48.2678V32.9226ZM49.1572 32.9226V33.1726H49.4072V32.9226H49.1572ZM49.1572 32.0332H49.4072V31.7832H49.1572V32.0332ZM48.2678 32.0332V31.7832H48.0178V32.0332H48.2678ZM23.3713 40.9246H23.6213V40.6746H23.3713V40.9246ZM22.4819 40.9246V40.6746H22.2319V40.9246H22.4819ZM22.4819 41.814H22.2319V42.064H22.4819V41.814ZM23.3713 41.814V42.064H23.6213V41.814H23.3713ZM22.4819 42.7031V42.4531H22.2319V42.7031H22.4819ZM22.4819 43.5924H22.2319V43.8424H22.4819V43.5924ZM23.3713 43.5924V43.8424H23.6213V43.5924H23.3713ZM23.3713 45.3708H23.6213V45.1208H23.3713V45.3708ZM22.4819 45.3708V45.1208H22.2319V45.3708H22.4819ZM22.4819 46.2602H22.2319V46.5102H22.4819V46.2602ZM23.3713 46.2602V46.5102H23.6213V46.2602H23.3713ZM48.2678 34.9505H49.1572V34.4505H48.2678V34.9505ZM49.4072 34.7005V33.8111H48.9072V34.7005H49.4072ZM49.1572 33.5611H48.2678V34.0611H49.1572V33.5611ZM48.0178 33.8111V34.7005H48.5178V33.8111H48.0178ZM48.2678 33.1726H49.1572V32.6726H48.2678V33.1726ZM49.4072 32.9226V32.0332H48.9072V32.9226H49.4072ZM49.1572 31.7832H48.2678V32.2832H49.1572V31.7832ZM48.0178 32.0332V32.9226H48.5178V32.0332H48.0178ZM23.3713 40.6746H22.4819V41.1746H23.3713V40.6746ZM22.2319 40.9246V41.814H22.7319V40.9246H22.2319ZM22.4819 42.064H23.3713V41.564H22.4819V42.064ZM23.6213 41.814V40.9246H23.1213V41.814H23.6213ZM23.3713 42.4531H22.4819V42.9531H23.3713V42.4531ZM22.2319 42.7031V43.5924H22.7319V42.7031H22.2319ZM22.4819 43.8424H23.3713V43.3424H22.4819V43.8424ZM23.6213 43.5924V42.7031H23.1213V43.5924H23.6213ZM23.3713 45.1208H22.4819V45.6208H23.3713V45.1208ZM22.2319 45.3708V46.2602H22.7319V45.3708H22.2319ZM22.4819 46.5102H23.3713V46.0102H22.4819V46.5102ZM23.6213 46.2602V45.3708H23.1213V46.2602H23.6213Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M23.3713 43.5913H22.4819V44.4807H23.3713V43.5913V43.5913ZM23.3713 44.4807H22.4819V45.3701H23.3713V44.4807ZM23.3713 41.8129H22.4819V42.7022H23.3713V41.8129V41.8129ZM23.3713 39.1465H22.4819V40.0351H23.3713V39.1465Z" fill="white"/> +<path d="M22.4819 43.5913V43.3413H22.2319V43.5913H22.4819ZM22.4819 44.4807H22.2319V44.7307H22.4819V44.4807ZM23.3713 44.4807V44.7307H23.6213V44.4807H23.3713ZM23.3713 44.4807H23.6213V44.2307H23.3713V44.4807ZM22.4819 44.4807V44.2307H22.2319V44.4807H22.4819ZM22.4819 45.3701H22.2319V45.6201H22.4819V45.3701ZM23.3713 45.3701V45.6201H23.6213V45.3701H23.3713ZM22.4819 41.8129V41.5629H22.2319V41.8129H22.4819ZM22.4819 42.7022H22.2319V42.9522H22.4819V42.7022ZM23.3713 42.7022V42.9522H23.6213V42.7022H23.3713ZM23.3713 39.1465H23.6213V38.8965H23.3713V39.1465ZM22.4819 39.1465V38.8965H22.2319V39.1465H22.4819ZM22.4819 40.0351H22.2319V40.2851H22.4819V40.0351ZM23.3713 40.0351V40.2851H23.6213V40.0351H23.3713ZM23.3713 43.3413H22.4819V43.8413H23.3713V43.3413ZM22.2319 43.5913V44.4807H22.7319V43.5913H22.2319ZM22.4819 44.7307H23.3713V44.2307H22.4819V44.7307ZM23.6213 44.4807V43.5913H23.1213V44.4807H23.6213ZM23.3713 44.2307H22.4819V44.7307H23.3713V44.2307ZM22.2319 44.4807V45.3701H22.7319V44.4807H22.2319ZM22.4819 45.6201H23.3713V45.1201H22.4819V45.6201ZM23.6213 45.3701V44.4807H23.1213V45.3701H23.6213ZM23.3713 41.5629H22.4819V42.0629H23.3713V41.5629ZM22.2319 41.8129V42.7022H22.7319V41.8129H22.2319ZM22.4819 42.9522H23.3713V42.4522H22.4819V42.9522ZM23.6213 42.7022V41.8129H23.1213V42.7022H23.6213ZM23.3713 38.8965H22.4819V39.3965H23.3713V38.8965ZM22.2319 39.1465V40.0351H22.7319V39.1465H22.2319ZM22.4819 40.2851H23.3713V39.7851H22.4819V40.2851ZM23.6213 40.0351V39.1465H23.1213V40.0351H23.6213Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M23.3713 40.0352H22.4819V40.9245H23.3713V40.0352ZM50.9358 48.038H51.8244V47.1486H50.9358V48.038V48.038Z" fill="white"/> +<path d="M23.3713 40.0352H23.6213V39.7852H23.3713V40.0352ZM22.4819 40.0352V39.7852H22.2319V40.0352H22.4819ZM22.4819 40.9245H22.2319V41.1745H22.4819V40.9245ZM23.3713 40.9245V41.1745H23.6213V40.9245H23.3713ZM51.8244 48.038V48.288H52.0744V48.038H51.8244ZM51.8244 47.1486H52.0744V46.8986H51.8244V47.1486ZM50.9358 47.1486V46.8986H50.6858V47.1486H50.9358ZM23.3713 39.7852H22.4819V40.2852H23.3713V39.7852ZM22.2319 40.0352V40.9245H22.7319V40.0352H22.2319ZM22.4819 41.1745H23.3713V40.6745H22.4819V41.1745ZM23.6213 40.9245V40.0352H23.1213V40.9245H23.6213ZM50.9358 48.288H51.8244V47.788H50.9358V48.288ZM52.0744 48.038V47.1486H51.5744V48.038H52.0744ZM51.8244 46.8986H50.9358V47.3986H51.8244V46.8986ZM50.6858 47.1486V48.038H51.1858V47.1486H50.6858Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.9358 47.1488H51.8244V46.2595H50.9358V47.1488V47.1488ZM44.7112 20.474V19.585H43.8218V20.474H44.7112V20.474Z" fill="white"/> +<path d="M51.8244 47.1488V47.3988H52.0744V47.1488H51.8244ZM51.8244 46.2595H52.0744V46.0095H51.8244V46.2595ZM50.9358 46.2595V46.0095H50.6858V46.2595H50.9358ZM44.7112 19.585H44.9612V19.335H44.7112V19.585ZM43.8218 19.585V19.335H43.5718V19.585H43.8218ZM43.8218 20.474H43.5718V20.724H43.8218V20.474ZM50.9358 47.3988H51.8244V46.8988H50.9358V47.3988ZM52.0744 47.1488V46.2595H51.5744V47.1488H52.0744ZM51.8244 46.0095H50.9358V46.5095H51.8244V46.0095ZM50.6858 46.2595V47.1488H51.1858V46.2595H50.6858ZM44.9612 20.474V19.585H44.4612V20.474H44.9612ZM44.7112 19.335H43.8218V19.835H44.7112V19.335ZM43.5718 19.585V20.474H44.0718V19.585H43.5718ZM43.8218 20.724H44.7112V20.224H43.8218V20.724Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M45.6002 20.474V19.585H44.7108V20.474H45.6002ZM46.4895 20.474V19.585H45.6001V20.474H46.4895ZM50.9358 24.9196H51.8244V24.0302H50.9358V24.9196V24.9196ZM41.1545 20.474V19.585H40.2651V20.474H41.1545Z" fill="white"/> +<path d="M45.6002 20.474V20.724H45.8502V20.474H45.6002ZM45.6002 19.585H45.8502V19.335H45.6002V19.585ZM44.7108 19.585V19.335H44.4608V19.585H44.7108ZM44.7108 20.474H44.4608V20.724H44.7108V20.474ZM46.4895 20.474V20.724H46.7395V20.474H46.4895ZM46.4895 19.585H46.7395V19.335H46.4895V19.585ZM45.6001 19.585V19.335H45.3501V19.585H45.6001ZM45.6001 20.474H45.3501V20.724H45.6001V20.474ZM51.8244 24.9196V25.1696H52.0744V24.9196H51.8244ZM51.8244 24.0302H52.0744V23.7802H51.8244V24.0302ZM50.9358 24.0302V23.7802H50.6858V24.0302H50.9358ZM41.1545 20.474V20.724H41.4045V20.474H41.1545ZM41.1545 19.585H41.4045V19.335H41.1545V19.585ZM40.2651 19.585V19.335H40.0151V19.585H40.2651ZM40.2651 20.474H40.0151V20.724H40.2651V20.474ZM45.8502 20.474V19.585H45.3502V20.474H45.8502ZM45.6002 19.335H44.7108V19.835H45.6002V19.335ZM44.4608 19.585V20.474H44.9608V19.585H44.4608ZM44.7108 20.724H45.6002V20.224H44.7108V20.724ZM46.7395 20.474V19.585H46.2395V20.474H46.7395ZM46.4895 19.335H45.6001V19.835H46.4895V19.335ZM45.3501 19.585V20.474H45.8501V19.585H45.3501ZM45.6001 20.724H46.4895V20.224H45.6001V20.724ZM50.9358 25.1696H51.8244V24.6696H50.9358V25.1696ZM52.0744 24.9196V24.0302H51.5744V24.9196H52.0744ZM51.8244 23.7802H50.9358V24.2802H51.8244V23.7802ZM50.6858 24.0302V24.9196H51.1858V24.0302H50.6858ZM41.4045 20.474V19.585H40.9045V20.474H41.4045ZM41.1545 19.335H40.2651V19.835H41.1545V19.335ZM40.0151 19.585V20.474H40.5151V19.585H40.0151ZM40.2651 20.724H41.1545V20.224H40.2651V20.724Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0432 20.474V19.585H41.1538V20.474H42.0432ZM50.9357 23.1414V24.0307H51.8243V23.4773C51.7332 23.3642 51.6407 23.2522 51.5468 23.1414H50.9357V23.1414ZM47.3783 20.474H48.2677V20.0372C48.0617 19.8824 47.8527 19.7316 47.6408 19.585H47.3783V20.474V20.474ZM47.3783 19.4044C47.0869 19.209 46.7903 19.0214 46.4889 18.8418V19.5846H47.3783V19.4044ZM47.3783 20.474V19.585H46.4889V20.474H47.3783Z" fill="white"/> +<path d="M42.0432 20.474V20.724H42.2932V20.474H42.0432ZM42.0432 19.585H42.2932V19.335H42.0432V19.585ZM41.1538 19.585V19.335H40.9038V19.585H41.1538ZM41.1538 20.474H40.9038V20.724H41.1538V20.474ZM50.9357 24.0307H50.6857V24.2807H50.9357V24.0307ZM51.8243 24.0307V24.2807H52.0743V24.0307H51.8243ZM51.8243 23.4773H52.0743V23.3892L52.019 23.3205L51.8243 23.4773ZM51.5468 23.1414L51.7376 22.9798L51.6627 22.8914H51.5468V23.1414ZM48.2677 20.474V20.724H48.5177V20.474H48.2677ZM48.2677 20.0372H48.5177V19.9124L48.4179 19.8374L48.2677 20.0372ZM47.6408 19.585L47.783 19.3794L47.7188 19.335H47.6408V19.585ZM47.3783 19.585V19.335H47.1283V19.585H47.3783ZM47.3783 19.4044H47.6283V19.2711L47.5175 19.1968L47.3783 19.4044ZM46.4889 18.8418L46.6168 18.627L46.2389 18.4018V18.8418H46.4889ZM46.4889 19.5846H46.2389V19.8346H46.4889V19.5846ZM47.3783 19.5846V19.8346H47.6283V19.5846H47.3783ZM47.3783 20.474V20.724H47.6283V20.474H47.3783ZM47.3783 19.585H47.6283V19.335H47.3783V19.585ZM46.4889 19.585V19.335H46.2389V19.585H46.4889ZM46.4889 20.474H46.2389V20.724H46.4889V20.474ZM42.2932 20.474V19.585H41.7932V20.474H42.2932ZM42.0432 19.335H41.1538V19.835H42.0432V19.335ZM40.9038 19.585V20.474H41.4038V19.585H40.9038ZM41.1538 20.724H42.0432V20.224H41.1538V20.724ZM50.6857 23.1414V24.0307H51.1857V23.1414H50.6857ZM50.9357 24.2807H51.8243V23.7807H50.9357V24.2807ZM52.0743 24.0307V23.4773H51.5743V24.0307H52.0743ZM52.019 23.3205C51.9266 23.2058 51.8328 23.0922 51.7376 22.9798L51.356 23.3029C51.4486 23.4122 51.5398 23.5226 51.6296 23.6341L52.019 23.3205ZM51.5468 22.8914H50.9357V23.3914H51.5468V22.8914ZM47.3783 20.724H48.2677V20.224H47.3783V20.724ZM48.5177 20.474V20.0372H48.0177V20.474H48.5177ZM48.4179 19.8374C48.2093 19.6806 47.9976 19.5279 47.783 19.3794L47.4985 19.7906C47.7078 19.9354 47.9141 20.0842 48.1175 20.2371L48.4179 19.8374ZM47.6408 19.335H47.3783V19.835H47.6408V19.335ZM47.1283 19.585V20.474H47.6283V19.585H47.1283ZM47.5175 19.1968C47.2224 18.9989 46.9221 18.8089 46.6168 18.627L46.3609 19.0566C46.6585 19.2339 46.9513 19.4191 47.239 19.6121L47.5175 19.1968ZM46.2389 18.8418V19.5846H46.7389V18.8418H46.2389ZM46.4889 19.8346H47.3783V19.3346H46.4889V19.8346ZM47.6283 19.5846V19.4044H47.1283V19.5846H47.6283ZM47.6283 20.474V19.585H47.1283V20.474H47.6283ZM47.3783 19.335H46.4889V19.835H47.3783V19.335ZM46.2389 19.585V20.474H46.7389V19.585H46.2389ZM46.4889 20.724H47.3783V20.224H46.4889V20.724Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M47.6415 19.5856C47.5545 19.5247 47.4668 19.4645 47.3787 19.4052V19.5856H47.6415Z" fill="#323B92" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M38.4866 20.474V19.585H37.5972V20.474H38.4866V20.474Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3757 20.474V19.585H38.4863V20.474H39.3757V20.474Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M40.2649 20.474V19.585H39.3755V20.474H40.2649ZM50.9355 44.4811H51.8242V43.5917H50.9355V44.4811ZM51.8237 39.1467H52.7131V38.2569H51.8237V39.1467Z" fill="white"/> +<path d="M40.2649 20.474V20.724H40.5149V20.474H40.2649ZM40.2649 19.585H40.5149V19.335H40.2649V19.585ZM39.3755 19.585V19.335H39.1255V19.585H39.3755ZM39.3755 20.474H39.1255V20.724H39.3755V20.474ZM50.9355 44.4811H50.6855V44.7311H50.9355V44.4811ZM51.8242 44.4811V44.7311H52.0742V44.4811H51.8242ZM51.8242 43.5917H52.0742V43.3417H51.8242V43.5917ZM50.9355 43.5917V43.3417H50.6855V43.5917H50.9355ZM51.8237 39.1467H51.5737V39.3967H51.8237V39.1467ZM52.7131 39.1467V39.3967H52.9631V39.1467H52.7131ZM52.7131 38.2569H52.9631V38.0069H52.7131V38.2569ZM51.8237 38.2569V38.0069H51.5737V38.2569H51.8237ZM40.5149 20.474V19.585H40.0149V20.474H40.5149ZM40.2649 19.335H39.3755V19.835H40.2649V19.335ZM39.1255 19.585V20.474H39.6255V19.585H39.1255ZM39.3755 20.724H40.2649V20.224H39.3755V20.724ZM50.9355 44.7311H51.8242V44.2311H50.9355V44.7311ZM52.0742 44.4811V43.5917H51.5742V44.4811H52.0742ZM51.8242 43.3417H50.9355V43.8417H51.8242V43.3417ZM50.6855 43.5917V44.4811H51.1855V43.5917H50.6855ZM51.8237 39.3967H52.7131V38.8967H51.8237V39.3967ZM52.9631 39.1467V38.2569H52.4631V39.1467H52.9631ZM52.7131 38.0069H51.8237V38.5069H52.7131V38.0069ZM51.5737 38.2569V39.1467H52.0737V38.2569H51.5737Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.9355 38.2568V39.1465H51.8242V38.2568H50.9355ZM51.8237 36.4792H52.7131V35.5898H51.8237V36.4792V36.4792Z" fill="white"/> +<path d="M50.9355 38.2568V38.0068H50.6855V38.2568H50.9355ZM50.9355 39.1465H50.6855V39.3965H50.9355V39.1465ZM51.8242 39.1465V39.3965H52.0742V39.1465H51.8242ZM51.8242 38.2568H52.0742V38.0068H51.8242V38.2568ZM52.7131 36.4792V36.7292H52.9631V36.4792H52.7131ZM52.7131 35.5898H52.9631V35.3398H52.7131V35.5898ZM51.8237 35.5898V35.3398H51.5737V35.5898H51.8237ZM50.6855 38.2568V39.1465H51.1855V38.2568H50.6855ZM50.9355 39.3965H51.8242V38.8965H50.9355V39.3965ZM52.0742 39.1465V38.2568H51.5742V39.1465H52.0742ZM51.8242 38.0068H50.9355V38.5068H51.8242V38.0068ZM51.8237 36.7292H52.7131V36.2292H51.8237V36.7292ZM52.9631 36.4792V35.5898H52.4631V36.4792H52.9631ZM52.7131 35.3398H51.8237V35.8398H52.7131V35.3398ZM51.5737 35.5898V36.4792H52.0737V35.5898H51.5737Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M51.8237 37.3671H52.7131V36.4785H51.8237V37.3671Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M51.8237 38.2566H52.7131V37.3672H51.8237V38.2566V38.2566ZM50.9355 40.0349H51.8242V39.1463H50.9355V40.0349ZM50.9355 46.2596H51.8242V45.3702H50.9355V46.2596Z" fill="white"/> +<path d="M52.7131 38.2566V38.5066H52.9631V38.2566H52.7131ZM52.7131 37.3672H52.9631V37.1172H52.7131V37.3672ZM51.8237 37.3672V37.1172H51.5737V37.3672H51.8237ZM50.9355 40.0349H50.6855V40.2849H50.9355V40.0349ZM51.8242 40.0349V40.2849H52.0742V40.0349H51.8242ZM51.8242 39.1463H52.0742V38.8963H51.8242V39.1463ZM50.9355 39.1463V38.8963H50.6855V39.1463H50.9355ZM50.9355 46.2596H50.6855V46.5096H50.9355V46.2596ZM51.8242 46.2596V46.5096H52.0742V46.2596H51.8242ZM51.8242 45.3702H52.0742V45.1202H51.8242V45.3702ZM50.9355 45.3702V45.1202H50.6855V45.3702H50.9355ZM51.8237 38.5066H52.7131V38.0066H51.8237V38.5066ZM52.9631 38.2566V37.3672H52.4631V38.2566H52.9631ZM52.7131 37.1172H51.8237V37.6172H52.7131V37.1172ZM51.5737 37.3672V38.2566H52.0737V37.3672H51.5737ZM50.9355 40.2849H51.8242V39.7849H50.9355V40.2849ZM52.0742 40.0349V39.1463H51.5742V40.0349H52.0742ZM51.8242 38.8963H50.9355V39.3963H51.8242V38.8963ZM50.6855 39.1463V40.0349H51.1855V39.1463H50.6855ZM50.9355 46.5096H51.8242V46.0096H50.9355V46.5096ZM52.0742 46.2596V45.3702H51.5742V46.2596H52.0742ZM51.8242 45.1202H50.9355V45.6202H51.8242V45.1202ZM50.6855 45.3702V46.2596H51.1855V45.3702H50.6855Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.9355 45.3707H51.8242V44.4813H50.9355V45.3707ZM50.9357 42.7029H51.8243V41.8135H50.9357V42.7029V42.7029Z" fill="white"/> +<path d="M50.9355 45.3707H50.6855V45.6207H50.9355V45.3707ZM51.8242 45.3707V45.6207H52.0742V45.3707H51.8242ZM51.8242 44.4813H52.0742V44.2313H51.8242V44.4813ZM50.9355 44.4813V44.2313H50.6855V44.4813H50.9355ZM51.8243 42.7029V42.9529H52.0743V42.7029H51.8243ZM51.8243 41.8135H52.0743V41.5635H51.8243V41.8135ZM50.9357 41.8135V41.5635H50.6857V41.8135H50.9357ZM50.9355 45.6207H51.8242V45.1207H50.9355V45.6207ZM52.0742 45.3707V44.4813H51.5742V45.3707H52.0742ZM51.8242 44.2313H50.9355V44.7313H51.8242V44.2313ZM50.6855 44.4813V45.3707H51.1855V44.4813H50.6855ZM50.9357 42.9529H51.8243V42.4529H50.9357V42.9529ZM52.0743 42.7029V41.8135H51.5743V42.7029H52.0743ZM51.8243 41.5635H50.9357V42.0635H51.8243V41.5635ZM50.6857 41.8135V42.7029H51.1857V41.8135H50.6857Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.9355 43.5921H51.8242V42.7028H50.9355V43.5921V43.5921ZM50.9355 32.0333H51.8242V31.1443H50.9355V32.0333ZM50.9357 29.3659H51.8243V28.4766H50.9357V29.3659V29.3659ZM50.9355 30.2553H51.8242V29.3659H50.9355V30.2553V30.2553Z" fill="white"/> +<path d="M51.8242 43.5921V43.8421H52.0742V43.5921H51.8242ZM51.8242 42.7028H52.0742V42.4528H51.8242V42.7028ZM50.9355 42.7028V42.4528H50.6855V42.7028H50.9355ZM50.9355 32.0333H50.6855V32.2833H50.9355V32.0333ZM51.8242 32.0333V32.2833H52.0742V32.0333H51.8242ZM51.8242 31.1443H52.0742V30.8943H51.8242V31.1443ZM50.9355 31.1443V30.8943H50.6855V31.1443H50.9355ZM51.8243 29.3659V29.6159H52.0743V29.3659H51.8243ZM51.8243 28.4766H52.0743V28.2266H51.8243V28.4766ZM50.9357 28.4766V28.2266H50.6857V28.4766H50.9357ZM51.8242 30.2553V30.5053H52.0742V30.2553H51.8242ZM51.8242 29.3659H52.0742V29.1159H51.8242V29.3659ZM50.9355 29.3659V29.1159H50.6855V29.3659H50.9355ZM50.9355 43.8421H51.8242V43.3421H50.9355V43.8421ZM52.0742 43.5921V42.7028H51.5742V43.5921H52.0742ZM51.8242 42.4528H50.9355V42.9528H51.8242V42.4528ZM50.6855 42.7028V43.5921H51.1855V42.7028H50.6855ZM50.9355 32.2833H51.8242V31.7833H50.9355V32.2833ZM52.0742 32.0333V31.1443H51.5742V32.0333H52.0742ZM51.8242 30.8943H50.9355V31.3943H51.8242V30.8943ZM50.6855 31.1443V32.0333H51.1855V31.1443H50.6855ZM50.9357 29.6159H51.8243V29.1159H50.9357V29.6159ZM52.0743 29.3659V28.4766H51.5743V29.3659H52.0743ZM51.8243 28.2266H50.9357V28.7266H51.8243V28.2266ZM50.6857 28.4766V29.3659H51.1857V28.4766H50.6857ZM50.9355 30.5053H51.8242V30.0053H50.9355V30.5053ZM52.0742 30.2553V29.3659H51.5742V30.2553H52.0742ZM51.8242 29.1159H50.9355V29.6159H51.8242V29.1159ZM50.6855 29.3659V30.2553H51.1855V29.3659H50.6855Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.9355 28.4769H51.8242V27.5879H50.9355V28.4769Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.9355 27.5879H51.8242V26.6985H50.9355V27.5879ZM51.8237 35.5901H52.7131V34.7007H51.8237V35.5901V35.5901ZM50.9355 31.1443H51.8242V30.2549H50.9355V31.1443V31.1443ZM50.9357 26.6986H51.8243V25.8096H50.9357V26.6986ZM51.8237 34.7006H52.7131V33.8112H51.8237V34.7006Z" fill="white"/> +<path d="M50.9355 27.5879H50.6855V27.8379H50.9355V27.5879ZM51.8242 27.5879V27.8379H52.0742V27.5879H51.8242ZM51.8242 26.6985H52.0742V26.4485H51.8242V26.6985ZM50.9355 26.6985V26.4485H50.6855V26.6985H50.9355ZM52.7131 35.5901V35.8401H52.9631V35.5901H52.7131ZM52.7131 34.7007H52.9631V34.4507H52.7131V34.7007ZM51.8237 34.7007V34.4507H51.5737V34.7007H51.8237ZM51.8242 31.1443V31.3943H52.0742V31.1443H51.8242ZM51.8242 30.2549H52.0742V30.0049H51.8242V30.2549ZM50.9355 30.2549V30.0049H50.6855V30.2549H50.9355ZM50.9357 26.6986H50.6857V26.9486H50.9357V26.6986ZM51.8243 26.6986V26.9486H52.0743V26.6986H51.8243ZM51.8243 25.8096H52.0743V25.5596H51.8243V25.8096ZM50.9357 25.8096V25.5596H50.6857V25.8096H50.9357ZM51.8237 34.7006H51.5737V34.9506H51.8237V34.7006ZM52.7131 34.7006V34.9506H52.9631V34.7006H52.7131ZM52.7131 33.8112H52.9631V33.5612H52.7131V33.8112ZM51.8237 33.8112V33.5612H51.5737V33.8112H51.8237ZM50.9355 27.8379H51.8242V27.3379H50.9355V27.8379ZM52.0742 27.5879V26.6985H51.5742V27.5879H52.0742ZM51.8242 26.4485H50.9355V26.9485H51.8242V26.4485ZM50.6855 26.6985V27.5879H51.1855V26.6985H50.6855ZM51.8237 35.8401H52.7131V35.3401H51.8237V35.8401ZM52.9631 35.5901V34.7007H52.4631V35.5901H52.9631ZM52.7131 34.4507H51.8237V34.9507H52.7131V34.4507ZM51.5737 34.7007V35.5901H52.0737V34.7007H51.5737ZM50.9355 31.3943H51.8242V30.8943H50.9355V31.3943ZM52.0742 31.1443V30.2549H51.5742V31.1443H52.0742ZM51.8242 30.0049H50.9355V30.5049H51.8242V30.0049ZM50.6855 30.2549V31.1443H51.1855V30.2549H50.6855ZM50.9357 26.9486H51.8243V26.4486H50.9357V26.9486ZM52.0743 26.6986V25.8096H51.5743V26.6986H52.0743ZM51.8243 25.5596H50.9357V26.0596H51.8243V25.5596ZM50.6857 25.8096V26.6986H51.1857V25.8096H50.6857ZM51.8237 34.9506H52.7131V34.4506H51.8237V34.9506ZM52.9631 34.7006V33.8112H52.4631V34.7006H52.9631ZM52.7131 33.5612H51.8237V34.0612H52.7131V33.5612ZM51.5737 33.8112V34.7006H52.0737V33.8112H51.5737Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M52.7131 33.8109V32.9219H51.8237V33.8109H52.7131Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.9357 33.8114H51.8243V32.9224H50.9357V33.8114ZM50.9357 25.8093H51.8243V24.9199H50.9357V25.8093ZM50.9357 32.9224H51.8243V32.033H50.9357V32.9224ZM50.0454 47.1491H50.9352V46.2597H50.0454V47.1491V47.1491Z" fill="white"/> +<path d="M50.9357 33.8114H50.6857V34.0614H50.9357V33.8114ZM51.8243 33.8114V34.0614H52.0743V33.8114H51.8243ZM51.8243 32.9224H52.0743V32.6724H51.8243V32.9224ZM50.9357 32.9224V32.6724H50.6857V32.9224H50.9357ZM50.9357 25.8093H50.6857V26.0593H50.9357V25.8093ZM51.8243 25.8093V26.0593H52.0743V25.8093H51.8243ZM51.8243 24.9199H52.0743V24.6699H51.8243V24.9199ZM50.9357 24.9199V24.6699H50.6857V24.9199H50.9357ZM50.9357 32.9224H50.6857V33.1724H50.9357V32.9224ZM51.8243 32.9224V33.1724H52.0743V32.9224H51.8243ZM51.8243 32.033H52.0743V31.783H51.8243V32.033ZM50.9357 32.033V31.783H50.6857V32.033H50.9357ZM50.9352 47.1491V47.3991H51.1852V47.1491H50.9352ZM50.9352 46.2597H51.1852V46.0097H50.9352V46.2597ZM50.0454 46.2597V46.0097H49.7954V46.2597H50.0454ZM50.9357 34.0614H51.8243V33.5614H50.9357V34.0614ZM52.0743 33.8114V32.9224H51.5743V33.8114H52.0743ZM51.8243 32.6724H50.9357V33.1724H51.8243V32.6724ZM50.6857 32.9224V33.8114H51.1857V32.9224H50.6857ZM50.9357 26.0593H51.8243V25.5593H50.9357V26.0593ZM52.0743 25.8093V24.9199H51.5743V25.8093H52.0743ZM51.8243 24.6699H50.9357V25.1699H51.8243V24.6699ZM50.6857 24.9199V25.8093H51.1857V24.9199H50.6857ZM50.9357 33.1724H51.8243V32.6724H50.9357V33.1724ZM52.0743 32.9224V32.033H51.5743V32.9224H52.0743ZM51.8243 31.783H50.9357V32.283H51.8243V31.783ZM50.6857 32.033V32.9224H51.1857V32.033H50.6857ZM50.0454 47.3991H50.9352V46.8991H50.0454V47.3991ZM51.1852 47.1491V46.2597H50.6852V47.1491H51.1852ZM50.9352 46.0097H50.0454V46.5097H50.9352V46.0097ZM49.7954 46.2597V47.1491H50.2954V46.2597H49.7954Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.0454 48.0373H50.9352V47.1479H50.0454V48.0373V48.0373ZM50.0454 46.259H50.9352V45.3696H50.0454V46.259ZM50.9357 37.3671H51.8243V36.4785H50.9357V37.3671Z" fill="white"/> +<path d="M50.9352 48.0373V48.2873H51.1852V48.0373H50.9352ZM50.9352 47.1479H51.1852V46.8979H50.9352V47.1479ZM50.0454 47.1479V46.8979H49.7954V47.1479H50.0454ZM50.0454 46.259H49.7954V46.509H50.0454V46.259ZM50.9352 46.259V46.509H51.1852V46.259H50.9352ZM50.9352 45.3696H51.1852V45.1196H50.9352V45.3696ZM50.0454 45.3696V45.1196H49.7954V45.3696H50.0454ZM50.9357 37.3671H50.6857V37.6171H50.9357V37.3671ZM51.8243 37.3671V37.6171H52.0743V37.3671H51.8243ZM51.8243 36.4785H52.0743V36.2285H51.8243V36.4785ZM50.9357 36.4785V36.2285H50.6857V36.4785H50.9357ZM50.0454 48.2873H50.9352V47.7873H50.0454V48.2873ZM51.1852 48.0373V47.1479H50.6852V48.0373H51.1852ZM50.9352 46.8979H50.0454V47.3979H50.9352V46.8979ZM49.7954 47.1479V48.0373H50.2954V47.1479H49.7954ZM50.0454 46.509H50.9352V46.009H50.0454V46.509ZM51.1852 46.259V45.3696H50.6852V46.259H51.1852ZM50.9352 45.1196H50.0454V45.6196H50.9352V45.1196ZM49.7954 45.3696V46.259H50.2954V45.3696H49.7954ZM50.9357 37.6171H51.8243V37.1171H50.9357V37.6171ZM52.0743 37.3671V36.4785H51.5743V37.3671H52.0743ZM51.8243 36.2285H50.9357V36.7285H51.8243V36.2285ZM50.6857 36.4785V37.3671H51.1857V36.4785H50.6857Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.0454 45.3703H50.9352V44.481H50.0454V45.3703ZM50.0454 39.1466H50.9352V38.2568H50.0454V39.1466ZM50.0454 43.5915H50.9352V42.7021H50.0454V43.5915V43.5915Z" fill="white"/> +<path d="M50.0454 45.3703H49.7954V45.6203H50.0454V45.3703ZM50.9352 45.3703V45.6203H51.1852V45.3703H50.9352ZM50.9352 44.481H51.1852V44.231H50.9352V44.481ZM50.0454 44.481V44.231H49.7954V44.481H50.0454ZM50.0454 39.1466H49.7954V39.3966H50.0454V39.1466ZM50.9352 39.1466V39.3966H51.1852V39.1466H50.9352ZM50.9352 38.2568H51.1852V38.0068H50.9352V38.2568ZM50.0454 38.2568V38.0068H49.7954V38.2568H50.0454ZM50.9352 43.5915V43.8415H51.1852V43.5915H50.9352ZM50.9352 42.7021H51.1852V42.4521H50.9352V42.7021ZM50.0454 42.7021V42.4521H49.7954V42.7021H50.0454ZM50.0454 45.6203H50.9352V45.1203H50.0454V45.6203ZM51.1852 45.3703V44.481H50.6852V45.3703H51.1852ZM50.9352 44.231H50.0454V44.731H50.9352V44.231ZM49.7954 44.481V45.3703H50.2954V44.481H49.7954ZM50.0454 39.3966H50.9352V38.8966H50.0454V39.3966ZM51.1852 39.1466V38.2568H50.6852V39.1466H51.1852ZM50.9352 38.0068H50.0454V38.5068H50.9352V38.0068ZM49.7954 38.2568V39.1466H50.2954V38.2568H49.7954ZM50.0454 43.8415H50.9352V43.3415H50.0454V43.8415ZM51.1852 43.5915V42.7021H50.6852V43.5915H51.1852ZM50.9352 42.4521H50.0454V42.9521H50.9352V42.4521ZM49.7954 42.7021V43.5915H50.2954V42.7021H49.7954Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.0454 44.4812H50.9352V43.5918H50.0454V44.4812ZM50.0454 42.7027H50.9352V41.8134H50.0454V42.7027V42.7027ZM50.9358 35.5897H51.8244V34.7003H50.9358V35.5897V35.5897ZM38.4866 21.363V20.4736H37.5972V21.363H38.4866V21.363Z" fill="white"/> +<path d="M50.0454 44.4812H49.7954V44.7312H50.0454V44.4812ZM50.9352 44.4812V44.7312H51.1852V44.4812H50.9352ZM50.9352 43.5918H51.1852V43.3418H50.9352V43.5918ZM50.0454 43.5918V43.3418H49.7954V43.5918H50.0454ZM50.9352 42.7027V42.9527H51.1852V42.7027H50.9352ZM50.9352 41.8134H51.1852V41.5634H50.9352V41.8134ZM50.0454 41.8134V41.5634H49.7954V41.8134H50.0454ZM51.8244 35.5897V35.8397H52.0744V35.5897H51.8244ZM51.8244 34.7003H52.0744V34.4503H51.8244V34.7003ZM50.9358 34.7003V34.4503H50.6858V34.7003H50.9358ZM38.4866 20.4736H38.7366V20.2236H38.4866V20.4736ZM37.5972 20.4736V20.2236H37.3472V20.4736H37.5972ZM37.5972 21.363H37.3472V21.613H37.5972V21.363ZM50.0454 44.7312H50.9352V44.2312H50.0454V44.7312ZM51.1852 44.4812V43.5918H50.6852V44.4812H51.1852ZM50.9352 43.3418H50.0454V43.8418H50.9352V43.3418ZM49.7954 43.5918V44.4812H50.2954V43.5918H49.7954ZM50.0454 42.9527H50.9352V42.4527H50.0454V42.9527ZM51.1852 42.7027V41.8134H50.6852V42.7027H51.1852ZM50.9352 41.5634H50.0454V42.0634H50.9352V41.5634ZM49.7954 41.8134V42.7027H50.2954V41.8134H49.7954ZM50.9358 35.8397H51.8244V35.3397H50.9358V35.8397ZM52.0744 35.5897V34.7003H51.5744V35.5897H52.0744ZM51.8244 34.4503H50.9358V34.9503H51.8244V34.4503ZM50.6858 34.7003V35.5897H51.1858V34.7003H50.6858ZM38.7366 21.363V20.4736H38.2366V21.363H38.7366ZM38.4866 20.2236H37.5972V20.7236H38.4866V20.2236ZM37.3472 20.4736V21.363H37.8472V20.4736H37.3472ZM37.5972 21.613H38.4866V21.113H37.5972V21.613Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M39.3756 21.363V20.4736H38.4862V21.363H39.3756V21.363ZM27.8172 21.363V20.4736H26.9279V21.363H27.8172ZM26.0388 21.363V20.4736H25.1494V21.363H26.0388V21.363Z" fill="white"/> +<path d="M39.3756 20.4736H39.6256V20.2236H39.3756V20.4736ZM38.4862 20.4736V20.2236H38.2362V20.4736H38.4862ZM38.4862 21.363H38.2362V21.613H38.4862V21.363ZM27.8172 21.363V21.613H28.0672V21.363H27.8172ZM27.8172 20.4736H28.0672V20.2236H27.8172V20.4736ZM26.9279 20.4736V20.2236H26.6779V20.4736H26.9279ZM26.9279 21.363H26.6779V21.613H26.9279V21.363ZM26.0388 20.4736H26.2888V20.2236H26.0388V20.4736ZM25.1494 20.4736V20.2236H24.8994V20.4736H25.1494ZM25.1494 21.363H24.8994V21.613H25.1494V21.363ZM39.6256 21.363V20.4736H39.1256V21.363H39.6256ZM39.3756 20.2236H38.4862V20.7236H39.3756V20.2236ZM38.2362 20.4736V21.363H38.7362V20.4736H38.2362ZM38.4862 21.613H39.3756V21.113H38.4862V21.613ZM28.0672 21.363V20.4736H27.5672V21.363H28.0672ZM27.8172 20.2236H26.9279V20.7236H27.8172V20.2236ZM26.6779 20.4736V21.363H27.1779V20.4736H26.6779ZM26.9279 21.613H27.8172V21.113H26.9279V21.613ZM26.2888 21.363V20.4736H25.7888V21.363H26.2888ZM26.0388 20.2236H25.1494V20.7236H26.0388V20.2236ZM24.8994 20.4736V21.363H25.3994V20.4736H24.8994ZM25.1494 21.613H26.0388V21.113H25.1494V21.613Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M26.9273 21.363V20.4736H26.038V21.363H26.9273V21.363ZM25.1493 21.363V20.4736H24.2603V21.363H25.1493Z" fill="white"/> +<path d="M26.9273 20.4736H27.1773V20.2236H26.9273V20.4736ZM26.038 20.4736V20.2236H25.788V20.4736H26.038ZM26.038 21.363H25.788V21.613H26.038V21.363ZM25.1493 21.363V21.613H25.3993V21.363H25.1493ZM25.1493 20.4736H25.3993V20.2236H25.1493V20.4736ZM24.2603 20.4736V20.2236H24.0103V20.4736H24.2603ZM24.2603 21.363H24.0103V21.613H24.2603V21.363ZM27.1773 21.363V20.4736H26.6773V21.363H27.1773ZM26.9273 20.2236H26.038V20.7236H26.9273V20.2236ZM25.788 20.4736V21.363H26.288V20.4736H25.788ZM26.038 21.613H26.9273V21.113H26.038V21.613ZM25.3993 21.363V20.4736H24.8993V21.363H25.3993ZM25.1493 20.2236H24.2603V20.7236H25.1493V20.2236ZM24.0103 20.4736V21.363H24.5103V20.4736H24.0103ZM24.2603 21.613H25.1493V21.113H24.2603V21.613Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M23.3711 21.363H24.2605V20.4736H23.6547C23.5597 20.551 23.465 20.6287 23.3715 20.7072L23.3711 21.363V21.363ZM50.0452 25.8092H50.9349V24.9199H50.0452V25.8092ZM50.0452 28.4765H50.9349V27.5875H50.0452V28.4765Z" fill="white"/> +<path d="M24.2605 21.363V21.613H24.5105V21.363H24.2605ZM24.2605 20.4736H24.5105V20.2236H24.2605V20.4736ZM23.6547 20.4736V20.2236H23.5659L23.4969 20.2797L23.6547 20.4736ZM23.3715 20.7072L23.2107 20.5158L23.1215 20.5906L23.1215 20.7071L23.3715 20.7072ZM50.0452 25.8092H49.7952V26.0592H50.0452V25.8092ZM50.9349 25.8092V26.0592H51.1849V25.8092H50.9349ZM50.9349 24.9199H51.1849V24.6699H50.9349V24.9199ZM50.0452 24.9199V24.6699H49.7952V24.9199H50.0452ZM50.0452 28.4765H49.7952V28.7265H50.0452V28.4765ZM50.9349 28.4765V28.7265H51.1849V28.4765H50.9349ZM50.9349 27.5875H51.1849V27.3375H50.9349V27.5875ZM50.0452 27.5875V27.3375H49.7952V27.5875H50.0452ZM23.3711 21.613H24.2605V21.113H23.3711V21.613ZM24.5105 21.363V20.4736H24.0105V21.363H24.5105ZM24.2605 20.2236H23.6547V20.7236H24.2605V20.2236ZM23.4969 20.2797C23.4013 20.3575 23.3056 20.4361 23.2107 20.5158L23.5322 20.8987C23.6244 20.8213 23.718 20.7445 23.8125 20.6675L23.4969 20.2797ZM23.1215 20.7071L23.1211 21.3629L23.6211 21.3632L23.6215 20.7074L23.1215 20.7071ZM50.0452 26.0592H50.9349V25.5592H50.0452V26.0592ZM51.1849 25.8092V24.9199H50.6849V25.8092H51.1849ZM50.9349 24.6699H50.0452V25.1699H50.9349V24.6699ZM49.7952 24.9199V25.8092H50.2952V24.9199H49.7952ZM50.0452 28.7265H50.9349V28.2265H50.0452V28.7265ZM51.1849 28.4765V27.5875H50.6849V28.4765H51.1849ZM50.9349 27.3375H50.0452V27.8375H50.9349V27.3375ZM49.7952 27.5875V28.4765H50.2952V27.5875H49.7952Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.0454 29.3655H50.9352V28.4761H50.0454V29.3655V29.3655ZM50.0454 24.9197H50.9352V24.0303H50.0454V24.9197V24.9197ZM50.0454 27.5874H50.9352V26.698H50.0454V27.5874ZM50.0454 26.6981H50.9352V25.8091H50.0454V26.6981ZM51.8238 34.7001V33.8107H50.9352V34.7001H51.8238ZM50.0454 30.2549H50.9352V29.3655H50.0454V30.2549V30.2549Z" fill="white"/> +<path d="M50.9352 29.3655V29.6155H51.1852V29.3655H50.9352ZM50.9352 28.4761H51.1852V28.2261H50.9352V28.4761ZM50.0454 28.4761V28.2261H49.7954V28.4761H50.0454ZM50.9352 24.9197V25.1697H51.1852V24.9197H50.9352ZM50.9352 24.0303H51.1852V23.7803H50.9352V24.0303ZM50.0454 24.0303V23.7803H49.7954V24.0303H50.0454ZM50.0454 27.5874H49.7954V27.8374H50.0454V27.5874ZM50.9352 27.5874V27.8374H51.1852V27.5874H50.9352ZM50.9352 26.698H51.1852V26.448H50.9352V26.698ZM50.0454 26.698V26.448H49.7954V26.698H50.0454ZM50.0454 26.6981H49.7954V26.9481H50.0454V26.6981ZM50.9352 26.6981V26.9481H51.1852V26.6981H50.9352ZM50.9352 25.8091H51.1852V25.5591H50.9352V25.8091ZM50.0454 25.8091V25.5591H49.7954V25.8091H50.0454ZM51.8238 34.7001V34.9501H52.0738V34.7001H51.8238ZM51.8238 33.8107H52.0738V33.5607H51.8238V33.8107ZM50.9352 33.8107V33.5607H50.6852V33.8107H50.9352ZM50.9352 34.7001H50.6852V34.9501H50.9352V34.7001ZM50.9352 30.2549V30.5049H51.1852V30.2549H50.9352ZM50.9352 29.3655H51.1852V29.1155H50.9352V29.3655ZM50.0454 29.3655V29.1155H49.7954V29.3655H50.0454ZM50.0454 29.6155H50.9352V29.1155H50.0454V29.6155ZM51.1852 29.3655V28.4761H50.6852V29.3655H51.1852ZM50.9352 28.2261H50.0454V28.7261H50.9352V28.2261ZM49.7954 28.4761V29.3655H50.2954V28.4761H49.7954ZM50.0454 25.1697H50.9352V24.6697H50.0454V25.1697ZM51.1852 24.9197V24.0303H50.6852V24.9197H51.1852ZM50.9352 23.7803H50.0454V24.2803H50.9352V23.7803ZM49.7954 24.0303V24.9197H50.2954V24.0303H49.7954ZM50.0454 27.8374H50.9352V27.3374H50.0454V27.8374ZM51.1852 27.5874V26.698H50.6852V27.5874H51.1852ZM50.9352 26.448H50.0454V26.948H50.9352V26.448ZM49.7954 26.698V27.5874H50.2954V26.698H49.7954ZM50.0454 26.9481H50.9352V26.4481H50.0454V26.9481ZM51.1852 26.6981V25.8091H50.6852V26.6981H51.1852ZM50.9352 25.5591H50.0454V26.0591H50.9352V25.5591ZM49.7954 25.8091V26.6981H50.2954V25.8091H49.7954ZM52.0738 34.7001V33.8107H51.5738V34.7001H52.0738ZM51.8238 33.5607H50.9352V34.0607H51.8238V33.5607ZM50.6852 33.8107V34.7001H51.1852V33.8107H50.6852ZM50.9352 34.9501H51.8238V34.4501H50.9352V34.9501ZM50.0454 30.5049H50.9352V30.0049H50.0454V30.5049ZM51.1852 30.2549V29.3655H50.6852V30.2549H51.1852ZM50.9352 29.1155H50.0454V29.6155H50.9352V29.1155ZM49.7954 29.3655V30.2549H50.2954V29.3655H49.7954Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.0454 33.8109H50.9352V32.9219H50.0454V33.8109Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.0454 34.6997H50.9352V33.8103H50.0454V34.6997ZM50.0454 32.0326H50.9352V31.1436H50.0454V32.0326ZM50.0454 32.9218H50.9352V32.0324H50.0454V32.9218Z" fill="white"/> +<path d="M50.0454 34.6997H49.7954V34.9497H50.0454V34.6997ZM50.9352 34.6997V34.9497H51.1852V34.6997H50.9352ZM50.9352 33.8103H51.1852V33.5603H50.9352V33.8103ZM50.0454 33.8103V33.5603H49.7954V33.8103H50.0454ZM50.0454 32.0326H49.7954V32.2826H50.0454V32.0326ZM50.9352 32.0326V32.2826H51.1852V32.0326H50.9352ZM50.9352 31.1436H51.1852V30.8936H50.9352V31.1436ZM50.0454 31.1436V30.8936H49.7954V31.1436H50.0454ZM50.0454 32.9218H49.7954V33.1718H50.0454V32.9218ZM50.9352 32.9218V33.1718H51.1852V32.9218H50.9352ZM50.9352 32.0324H51.1852V31.7824H50.9352V32.0324ZM50.0454 32.0324V31.7824H49.7954V32.0324H50.0454ZM50.0454 34.9497H50.9352V34.4497H50.0454V34.9497ZM51.1852 34.6997V33.8103H50.6852V34.6997H51.1852ZM50.9352 33.5603H50.0454V34.0603H50.9352V33.5603ZM49.7954 33.8103V34.6997H50.2954V33.8103H49.7954ZM50.0454 32.2826H50.9352V31.7826H50.0454V32.2826ZM51.1852 32.0326V31.1436H50.6852V32.0326H51.1852ZM50.9352 30.8936H50.0454V31.3936H50.9352V30.8936ZM49.7954 31.1436V32.0326H50.2954V31.1436H49.7954ZM50.0454 33.1718H50.9352V32.6718H50.0454V33.1718ZM51.1852 32.9218V32.0324H50.6852V32.9218H51.1852ZM50.9352 31.7824H50.0454V32.2824H50.9352V31.7824ZM49.7954 32.0324V32.9218H50.2954V32.0324H49.7954Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.0454 31.1438H50.9352V30.2545H50.0454V31.1438V31.1438ZM44.7112 21.363V20.4736H43.8218V21.363H44.7112V21.363Z" fill="white"/> +<path d="M50.9352 31.1438V31.3938H51.1852V31.1438H50.9352ZM50.9352 30.2545H51.1852V30.0045H50.9352V30.2545ZM50.0454 30.2545V30.0045H49.7954V30.2545H50.0454ZM44.7112 20.4736H44.9612V20.2236H44.7112V20.4736ZM43.8218 20.4736V20.2236H43.5718V20.4736H43.8218ZM43.8218 21.363H43.5718V21.613H43.8218V21.363ZM50.0454 31.3938H50.9352V30.8938H50.0454V31.3938ZM51.1852 31.1438V30.2545H50.6852V31.1438H51.1852ZM50.9352 30.0045H50.0454V30.5045H50.9352V30.0045ZM49.7954 30.2545V31.1438H50.2954V30.2545H49.7954ZM44.9612 21.363V20.4736H44.4612V21.363H44.9612ZM44.7112 20.2236H43.8218V20.7236H44.7112V20.2236ZM43.5718 20.4736V21.363H44.0718V20.4736H43.5718ZM43.8218 21.613H44.7112V21.113H43.8218V21.613Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M34.9304 40.9248H34.041V41.8142H34.9304V40.9248ZM52.7137 47.4054C52.7723 47.3202 52.8312 47.2355 52.8883 47.1495H52.7137V47.4054ZM44.7114 44.4816V45.371H45.6008V44.4816H44.7114V44.4816Z" fill="#8294AA"/> +<path d="M34.9304 40.9248H35.1804V40.6748H34.9304V40.9248ZM34.041 40.9248V40.6748H33.791V40.9248H34.041ZM34.041 41.8142H33.791V42.0642H34.041V41.8142ZM34.9304 41.8142V42.0642H35.1804V41.8142H34.9304ZM52.7137 47.4054H52.4637V48.2101L52.9197 47.5471L52.7137 47.4054ZM52.8883 47.1495L53.0966 47.2878L53.3542 46.8995H52.8883V47.1495ZM52.7137 47.1495V46.8995H52.4637V47.1495H52.7137ZM44.7114 45.371H44.4614V45.621H44.7114V45.371ZM45.6008 45.371V45.621H45.8508V45.371H45.6008ZM45.6008 44.4816H45.8508V44.2316H45.6008V44.4816ZM34.9304 40.6748H34.041V41.1748H34.9304V40.6748ZM33.791 40.9248V41.8142H34.291V40.9248H33.791ZM34.041 42.0642H34.9304V41.5642H34.041V42.0642ZM35.1804 41.8142V40.9248H34.6804V41.8142H35.1804ZM52.9197 47.5471C52.9772 47.4634 53.038 47.376 53.0966 47.2878L52.68 47.0113C52.6244 47.095 52.5673 47.1771 52.5077 47.2637L52.9197 47.5471ZM52.8883 46.8995H52.7137V47.3995H52.8883V46.8995ZM52.4637 47.1495V47.4054H52.9637V47.1495H52.4637ZM44.4614 44.4816V45.371H44.9614V44.4816H44.4614ZM44.7114 45.621H45.6008V45.121H44.7114V45.621ZM45.8508 45.371V44.4816H45.3508V45.371H45.8508ZM45.6008 44.2316H44.7114V44.7316H45.6008V44.2316Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M43.8214 21.363V20.4736H42.932V21.363H43.8214V21.363ZM40.2649 21.363V20.4736H39.3755V21.363H40.2649ZM45.6 21.363V20.4736H44.7106V21.363H45.6ZM41.1542 21.363V20.4736H40.2648V21.363H41.1542Z" fill="white"/> +<path d="M43.8214 20.4736H44.0714V20.2236H43.8214V20.4736ZM42.932 20.4736V20.2236H42.682V20.4736H42.932ZM42.932 21.363H42.682V21.613H42.932V21.363ZM40.2649 21.363V21.613H40.5149V21.363H40.2649ZM40.2649 20.4736H40.5149V20.2236H40.2649V20.4736ZM39.3755 20.4736V20.2236H39.1255V20.4736H39.3755ZM39.3755 21.363H39.1255V21.613H39.3755V21.363ZM45.6 21.363V21.613H45.85V21.363H45.6ZM45.6 20.4736H45.85V20.2236H45.6V20.4736ZM44.7106 20.4736V20.2236H44.4606V20.4736H44.7106ZM44.7106 21.363H44.4606V21.613H44.7106V21.363ZM41.1542 21.363V21.613H41.4042V21.363H41.1542ZM41.1542 20.4736H41.4042V20.2236H41.1542V20.4736ZM40.2648 20.4736V20.2236H40.0148V20.4736H40.2648ZM40.2648 21.363H40.0148V21.613H40.2648V21.363ZM44.0714 21.363V20.4736H43.5714V21.363H44.0714ZM43.8214 20.2236H42.932V20.7236H43.8214V20.2236ZM42.682 20.4736V21.363H43.182V20.4736H42.682ZM42.932 21.613H43.8214V21.113H42.932V21.613ZM40.5149 21.363V20.4736H40.0149V21.363H40.5149ZM40.2649 20.2236H39.3755V20.7236H40.2649V20.2236ZM39.1255 20.4736V21.363H39.6255V20.4736H39.1255ZM39.3755 21.613H40.2649V21.113H39.3755V21.613ZM45.85 21.363V20.4736H45.35V21.363H45.85ZM45.6 20.2236H44.7106V20.7236H45.6V20.2236ZM44.4606 20.4736V21.363H44.9606V20.4736H44.4606ZM44.7106 21.613H45.6V21.113H44.7106V21.613ZM41.4042 21.363V20.4736H40.9042V21.363H41.4042ZM41.1542 20.2236H40.2648V20.7236H41.1542V20.2236ZM40.0148 20.4736V21.363H40.5148V20.4736H40.0148ZM40.2648 21.613H41.1542V21.113H40.2648V21.613Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M42.0432 21.363V20.4736H41.1538V21.363H42.0432ZM49.1566 21.363V20.7476C49.0469 20.6553 48.9372 20.5637 48.826 20.4736H48.2676V21.363H49.1566ZM50.0452 22.2524V23.1418H50.9349V22.4487C50.8741 22.3832 50.8133 22.317 50.7514 22.2524H50.0452Z" fill="white"/> +<path d="M42.0432 21.363V21.613H42.2932V21.363H42.0432ZM42.0432 20.4736H42.2932V20.2236H42.0432V20.4736ZM41.1538 20.4736V20.2236H40.9038V20.4736H41.1538ZM41.1538 21.363H40.9038V21.613H41.1538V21.363ZM49.1566 21.363V21.613H49.4066V21.363H49.1566ZM49.1566 20.7476H49.4066V20.6313L49.3176 20.5564L49.1566 20.7476ZM48.826 20.4736L48.9833 20.2793L48.9145 20.2236H48.826V20.4736ZM48.2676 20.4736V20.2236H48.0176V20.4736H48.2676ZM48.2676 21.363H48.0176V21.613H48.2676V21.363ZM50.0452 22.2524V22.0024H49.7952V22.2524H50.0452ZM50.0452 23.1418H49.7952V23.3918H50.0452V23.1418ZM50.9349 23.1418V23.3918H51.1849V23.1418H50.9349ZM50.9349 22.4487H51.1849V22.3504L51.1181 22.2785L50.9349 22.4487ZM50.7514 22.2524L50.9319 22.0794L50.858 22.0024H50.7514V22.2524ZM42.2932 21.363V20.4736H41.7932V21.363H42.2932ZM42.0432 20.2236H41.1538V20.7236H42.0432V20.2236ZM40.9038 20.4736V21.363H41.4038V20.4736H40.9038ZM41.1538 21.613H42.0432V21.113H41.1538V21.613ZM49.4066 21.363V20.7476H48.9066V21.363H49.4066ZM49.3176 20.5564C49.2075 20.4637 49.0964 20.3709 48.9833 20.2793L48.6687 20.6679C48.778 20.7565 48.8863 20.8469 48.9955 20.9389L49.3176 20.5564ZM48.826 20.2236H48.2676V20.7236H48.826V20.2236ZM48.0176 20.4736V21.363H48.5176V20.4736H48.0176ZM48.2676 21.613H49.1566V21.113H48.2676V21.613ZM49.7952 22.2524V23.1418H50.2952V22.2524H49.7952ZM50.0452 23.3918H50.9349V22.8918H50.0452V23.3918ZM51.1849 23.1418V22.4487H50.6849V23.1418H51.1849ZM51.1181 22.2785C51.0586 22.2145 50.9956 22.1459 50.9319 22.0794L50.5709 22.4254C50.6311 22.4882 50.6897 22.552 50.7518 22.6188L51.1181 22.2785ZM50.7514 22.0024H50.0452V22.5024H50.7514V22.0024Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M50.0454 24.0308H50.9352V23.1414H50.0454V24.0308ZM46.4895 21.363V20.4736H45.6001V21.363H46.4895ZM48.2679 21.363V20.4736H47.3785V21.363H48.2679V21.363Z" fill="white"/> +<path d="M50.0454 24.0308H49.7954V24.2808H50.0454V24.0308ZM50.9352 24.0308V24.2808H51.1852V24.0308H50.9352ZM50.9352 23.1414H51.1852V22.8914H50.9352V23.1414ZM50.0454 23.1414V22.8914H49.7954V23.1414H50.0454ZM46.4895 21.363V21.613H46.7395V21.363H46.4895ZM46.4895 20.4736H46.7395V20.2236H46.4895V20.4736ZM45.6001 20.4736V20.2236H45.3501V20.4736H45.6001ZM45.6001 21.363H45.3501V21.613H45.6001V21.363ZM48.2679 20.4736H48.5179V20.2236H48.2679V20.4736ZM47.3785 20.4736V20.2236H47.1285V20.4736H47.3785ZM47.3785 21.363H47.1285V21.613H47.3785V21.363ZM50.0454 24.2808H50.9352V23.7808H50.0454V24.2808ZM51.1852 24.0308V23.1414H50.6852V24.0308H51.1852ZM50.9352 22.8914H50.0454V23.3914H50.9352V22.8914ZM49.7954 23.1414V24.0308H50.2954V23.1414H49.7954ZM46.7395 21.363V20.4736H46.2395V21.363H46.7395ZM46.4895 20.2236H45.6001V20.7236H46.4895V20.2236ZM45.3501 20.4736V21.363H45.8501V20.4736H45.3501ZM45.6001 21.613H46.4895V21.113H45.6001V21.613ZM48.5179 21.363V20.4736H48.0179V21.363H48.5179ZM48.2679 20.2236H47.3785V20.7236H48.2679V20.2236ZM47.1285 20.4736V21.363H47.6285V20.4736H47.1285ZM47.3785 21.613H48.2679V21.113H47.3785V21.613Z" fill="#5A5C87"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M47.3786 21.363V20.4736H46.4893V21.363H47.3786Z" fill="white" stroke="#5A5C87" stroke-width="0.5"/> +</g> +</svg> diff --git a/src/components/blocks/partners/index.js b/src/components/blocks/partners/index.js new file mode 100644 index 0000000000..22f2766ae5 --- /dev/null +++ b/src/components/blocks/partners/index.js @@ -0,0 +1 @@ +export { Partners } from './partners.view'; diff --git a/src/components/blocks/partners/partners.module.scss b/src/components/blocks/partners/partners.module.scss new file mode 100644 index 0000000000..2e6fd31338 --- /dev/null +++ b/src/components/blocks/partners/partners.module.scss @@ -0,0 +1,44 @@ +.wrapper { + @include default-section-spacing; +} + +.title { + margin-top: 0; + margin-bottom: 30px; +} + +.logos-wrapper { + display: flex; + justify-content: space-between; + align-items: center; + margin-right: -12.5px; + margin-bottom: -25px; + margin-left: -12.5px; + + @include sm-down { + flex-wrap: wrap; + justify-content: space-around; + } +} + +.logo-wrapper { + display: flex; + justify-content: center; + align-items: center; + padding-right: 12.5px; + padding-left: 12.5px; + padding-bottom: 25px; + + @include sm-down { + flex-basis: 33.333%; + } +} + +.logo { + @include md-down { + max-width: 75%; + &.round { + max-width: 60%; + } + } +} diff --git a/src/components/blocks/partners/partners.story.js b/src/components/blocks/partners/partners.story.js new file mode 100644 index 0000000000..4409358763 --- /dev/null +++ b/src/components/blocks/partners/partners.story.js @@ -0,0 +1,7 @@ +import React from "react"; +import { storiesOf } from "@storybook/react"; +import { Partners } from "."; + +storiesOf("Partners", module).add("default", () => ( + <Partners title={"Loved by developers. Trusted by businesses"} /> +)); diff --git a/src/components/blocks/partners/partners.view.js b/src/components/blocks/partners/partners.view.js new file mode 100644 index 0000000000..fe5bf6008d --- /dev/null +++ b/src/components/blocks/partners/partners.view.js @@ -0,0 +1,48 @@ +import React from 'react'; +import { Heading } from 'components/shared/heading'; +import styles from './partners.module.scss'; +import classNames from 'classnames'; +import amazonLogo from './images/amazon.svg'; +import noaaLogo from './images/noaa.svg'; +import sephoraLogo from './images/sephora.svg'; +import citrixLogo from './images/citrix.svg'; +import uefaLogo from './images/uefa.svg'; +import koneLogo from './images/kone.svg'; + +export const Partners = ({ title }) => ( + <section className={styles.wrapper}> + <div className={'container'}> + <Heading className={styles.title} tag={'h2'} size={'xs'}> + {title} + </Heading> + <div className={styles.logosWrapper}> + <div className={styles.logoWrapper}> + <img className={styles.logo} src={amazonLogo} alt={'Amazon'}/> + </div> + <div className={styles.logoWrapper}> + <img + className={classNames(styles.logo, styles.round)} + src={noaaLogo} + alt={'Noaa'} + /> + </div> + <div className={styles.logoWrapper}> + <img className={styles.logo} src={sephoraLogo} alt={'Serphora'}/> + </div> + <div className={styles.logoWrapper}> + <img className={styles.logo} src={citrixLogo} alt={'Citrix'}/> + </div> + <div className={styles.logoWrapper}> + <img + className={classNames(styles.logo, styles.round)} + src={uefaLogo} + alt={'Uefa'} + /> + </div> + <div className={styles.logoWrapper}> + <img className={styles.logo} src={koneLogo} alt={'Kone'}/> + </div> + </div> + </div> + </section> +); diff --git a/src/components/pages/404/not-found/index.js b/src/components/pages/404/not-found/index.js new file mode 100644 index 0000000000..497052e618 --- /dev/null +++ b/src/components/pages/404/not-found/index.js @@ -0,0 +1 @@ +export { NotFound } from './not-found.view'; diff --git a/src/components/pages/404/not-found/not-found.module.scss b/src/components/pages/404/not-found/not-found.module.scss new file mode 100644 index 0000000000..8077a66d37 --- /dev/null +++ b/src/components/pages/404/not-found/not-found.module.scss @@ -0,0 +1,43 @@ +.wrapper { + padding-top: 180px; + width: 100%; + height: 100%; + @include default-section-spacing; + @include lg-down { + padding-top: 160px; + } + @include md-down { + padding-top: 140px; + } + @include sm-down { + padding-top: 120px; + } +} + +.content-wrapper { + display: flex; + flex-flow: column; + align-items: center; +} + +.illustration-wrapper { + width: 200px; + height: auto; +} + +.title { + margin-top: 60px; + margin-bottom: 10px; +} + +.description { + font-size: $font-size-lg; + line-height: $line-height-lg; + color: $color-secondary; + margin-top: 0; + margin-bottom: 30px; + @include md-down { + font-size: $font-size-base; + line-height: $line-height-base; + } +} diff --git a/src/components/pages/404/not-found/not-found.view.js b/src/components/pages/404/not-found/not-found.view.js new file mode 100644 index 0000000000..22db27933e --- /dev/null +++ b/src/components/pages/404/not-found/not-found.view.js @@ -0,0 +1,35 @@ +import React from 'react'; +import styles from './not-found.module.scss'; +import NotFoundIllustration from './svg/not-found.inline.svg'; +import { Button } from 'components/shared/button'; +import { Heading } from 'components/shared/heading'; + +export const NotFound = props => ( + <section className={styles.wrapper}> + <div className={`container ${styles.inner}`}> + <div className={'row'}> + <div className={'offset-lg-3 col-lg-6 col-12'}> + <div className={styles.contentWrapper}> + <div className={styles.illustrationWrapper}> + <NotFoundIllustration /> + </div> + <Heading className={styles.title} tag={'h1'}> + Oops! 404 page - page not found + </Heading> + <p className={styles.description}> + The page you requested could not be found + </p> + <Button + className={styles.button} + onClick={() => window.history.back()} + tag={'button'} + cursor + > + Go back + </Button> + </div> + </div> + </div> + </div> + </section> +); diff --git a/src/components/pages/404/not-found/svg/not-found.inline.svg b/src/components/pages/404/not-found/svg/not-found.inline.svg new file mode 100644 index 0000000000..15eca6ab2d --- /dev/null +++ b/src/components/pages/404/not-found/svg/not-found.inline.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 394.67 392.08"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#8764ff;}.cls-3,.cls-4,.cls-5,.cls-7,.cls-8,.cls-9{fill:none;}.cls-3,.cls-4,.cls-5{stroke:#8764ff;}.cls-3,.cls-5,.cls-7,.cls-8,.cls-9{stroke-linejoin:round;}.cls-3,.cls-5,.cls-7{stroke-width:2px;}.cls-4{stroke-miterlimit:10;}.cls-5,.cls-7,.cls-8,.cls-9{stroke-linecap:round;}.cls-6{fill:#3c3c64;}.cls-7,.cls-8,.cls-9{stroke:#3c3c64;}.cls-8{stroke-width:3px;}.cls-9{stroke-width:4.21px;}</style></defs><title>w1334кAsset 1 \ No newline at end of file diff --git a/src/components/pages/doc-examples/doc-links-block/doc-links-block.module.scss b/src/components/pages/doc-examples/doc-links-block/doc-links-block.module.scss new file mode 100644 index 0000000000..17a1854308 --- /dev/null +++ b/src/components/pages/doc-examples/doc-links-block/doc-links-block.module.scss @@ -0,0 +1,54 @@ +.wrapper { + @include doc-section-spacing; + &_last { + padding-bottom: 0; + } +} + +.title { + margin-bottom: 15px; +} + +.links-wrapper { + list-style-type: none; + padding: 0; + box-shadow: $light-block-shadow; + margin: 0; +} + +.link-wrapper { + border: 1px solid $color-additional-2; + &:not(:last-child) { + margin-bottom: -1px; + } +} + +.link { + text-decoration: none; + outline: none; + padding: 20px; + display: block; + min-height: 115px; + cursor: pointer; + &:hover { + .link-title { + color: $color-accent-primary; + } + } +} + +.link-title { + font-weight: 500; + color: $color-secondary; + font-size: $font-size-lg; + line-height: $line-height-lg; + transition: color 0.3s ease; + margin: 0 0 5px 0; +} + +.description { + font-size: $font-size-sm; + line-height: $line-height-sm; + color: $color-secondary; + margin: 0; +} diff --git a/src/components/pages/doc-examples/doc-links-block/doc-links-block.view.js b/src/components/pages/doc-examples/doc-links-block/doc-links-block.view.js new file mode 100644 index 0000000000..4185728aa7 --- /dev/null +++ b/src/components/pages/doc-examples/doc-links-block/doc-links-block.view.js @@ -0,0 +1,29 @@ +import React from 'react'; +import { Link } from 'gatsby'; +import { Heading } from 'components/shared/heading'; +import styles from './doc-links-block.module.scss'; + +export const DocLinksBlock = ({ title, links, last }) => ( +
+ + {title} + + +
+); diff --git a/src/components/pages/doc-examples/doc-links-block/index.js b/src/components/pages/doc-examples/doc-links-block/index.js new file mode 100644 index 0000000000..bc7c9beaa5 --- /dev/null +++ b/src/components/pages/doc-examples/doc-links-block/index.js @@ -0,0 +1 @@ +export { DocLinksBlock } from './doc-links-block.view'; diff --git a/src/components/pages/doc-integrations/doc-icons-row/doc-icons-row.module.scss b/src/components/pages/doc-integrations/doc-icons-row/doc-icons-row.module.scss new file mode 100644 index 0000000000..ac24b2f735 --- /dev/null +++ b/src/components/pages/doc-integrations/doc-icons-row/doc-icons-row.module.scss @@ -0,0 +1,43 @@ +.wrapper { + @include doc-section-spacing; +} + +.subtitle { + margin-top: 10px; + color: $color-secondary; + font-size: $font-size-lg; + line-height: $line-height-lg; +} + +.icons-container { + list-style-type: none; + padding: 0; +} + +.icon-wrapper { + &:not(:last-child) { + margin-right: 50px; + @include md-down { + margin-right: 0; + } + } +} + +.icon { + width: 70px; + flex: 1; +} + +.link { + text-decoration: none; + outline: none; + display: flex; + flex-flow: column nowrap; + justify-content: center; + align-items: center; + height: 100%; + p { + white-space: nowrap; + margin: 0; + } +} diff --git a/src/components/pages/doc-integrations/doc-icons-row/doc-icons-row.view.js b/src/components/pages/doc-integrations/doc-icons-row/doc-icons-row.view.js new file mode 100644 index 0000000000..1cd9221551 --- /dev/null +++ b/src/components/pages/doc-integrations/doc-icons-row/doc-icons-row.view.js @@ -0,0 +1,33 @@ +import React from 'react'; +import { Link } from 'gatsby'; +import { Heading } from 'components/shared/heading'; +import styles from './doc-icons-row.module.scss'; + +export const DocIconsRow = ({ className, title, subtitle, iconsData }) => ( +
+ + {title} + + {subtitle &&

{subtitle}

} + +
+); diff --git a/src/components/pages/doc-integrations/doc-icons-row/index.js b/src/components/pages/doc-integrations/doc-icons-row/index.js new file mode 100644 index 0000000000..f3c273b7c0 --- /dev/null +++ b/src/components/pages/doc-integrations/doc-icons-row/index.js @@ -0,0 +1 @@ +export { DocIconsRow } from './doc-icons-row.view'; diff --git a/src/components/pages/doc-integrations/doc-integrations.module.scss b/src/components/pages/doc-integrations/doc-integrations.module.scss new file mode 100644 index 0000000000..b8f86f9cd6 --- /dev/null +++ b/src/components/pages/doc-integrations/doc-integrations.module.scss @@ -0,0 +1,43 @@ +.ci-row { + ul { + a svg { + max-height: 150px; + } + } +} + +.store-row { + ul { + li { + &:nth-of-type(3) { + a svg { + width: 40px; + } + } + &:last-child { + p { + word-wrap: normal; + } + } + } + } +} + +.double-icon { + display: flex; + align-items: center; + width: 160px; + height: 100%; + @include xs-down { + width: 140px; + } + svg { + width: 100%; + } + span { + display: inline-flex; + color: $color-primary; + font-size: $font-size-xl; + padding: 0 10px; + } +} diff --git a/src/components/pages/doc-integrations/external-links-dashboard/external-links-dashboard.module.scss b/src/components/pages/doc-integrations/external-links-dashboard/external-links-dashboard.module.scss new file mode 100644 index 0000000000..ca20302c92 --- /dev/null +++ b/src/components/pages/doc-integrations/external-links-dashboard/external-links-dashboard.module.scss @@ -0,0 +1,49 @@ +.wrapper { + @include doc-section-spacing; +} + +.dashboard { + padding: 0; + list-style-type: none; +} + +.link-wrapper { + display: flex; + align-items: flex-start; + padding: 25px; + border: 1px solid $color-additional-2; + &:not(:last-child) { + margin-bottom: -1px; + } + @include sm-down { + flex-flow: column; + } +} + +.picture-wrapper { + margin-right: 20px; + @include sm-down { + margin: 0 0 10px 0; + } +} + +.content { + max-width: 100%; +} + +.link-title { + margin: 0 0 10px 0; + font-size: $font-size-lg; + line-height: $line-height-lg; +} + +.link-description { + margin: 0 0 10px 0; + max-width: 100%; +} + +.link { + margin: 0; + max-width: 100%; + word-break: break-all; +} diff --git a/src/components/pages/doc-integrations/external-links-dashboard/external-links-dashboard.view.js b/src/components/pages/doc-integrations/external-links-dashboard/external-links-dashboard.view.js new file mode 100644 index 0000000000..c557ec28c8 --- /dev/null +++ b/src/components/pages/doc-integrations/external-links-dashboard/external-links-dashboard.view.js @@ -0,0 +1,32 @@ +import React from 'react'; +import Img from 'gatsby-image'; +import { Heading } from 'components/shared/heading'; +import styles from './external-links-dashboard.module.scss'; + +export const ExternalLinksDashboard = ({ dashboardTitle, linksData }) => ( +
+ + {dashboardTitle} + + +
+); diff --git a/src/components/pages/doc-integrations/external-links-dashboard/index.js b/src/components/pages/doc-integrations/external-links-dashboard/index.js new file mode 100644 index 0000000000..0a7a35e843 --- /dev/null +++ b/src/components/pages/doc-integrations/external-links-dashboard/index.js @@ -0,0 +1 @@ +export { ExternalLinksDashboard } from './external-links-dashboard.view'; diff --git a/src/components/pages/doc-javascript-api/doc-javascript-api.module.scss b/src/components/pages/doc-javascript-api/doc-javascript-api.module.scss new file mode 100644 index 0000000000..82318d2833 --- /dev/null +++ b/src/components/pages/doc-javascript-api/doc-javascript-api.module.scss @@ -0,0 +1,18 @@ +.js-api-wrapper { + table { + tr { + td:first-child { + width: 35%; + } + } + } + div + div > h2 { + margin-top: 20px !important; + } +} + +.table-wrapper { + width: 100%; + overflow: auto; + margin: 40px 0; +} diff --git a/src/components/pages/doc-page/doc-blockquote/doc-blockquote.module.scss b/src/components/pages/doc-page/doc-blockquote/doc-blockquote.module.scss new file mode 100644 index 0000000000..bada570131 --- /dev/null +++ b/src/components/pages/doc-page/doc-blockquote/doc-blockquote.module.scss @@ -0,0 +1,14 @@ +/* main blockquote styles in html-content.module.scss */ + +blockquote.doc-blockquote-warning { + border-left: 2px solid $color-error; + span { + display: inline-block; + text-transform: uppercase; + font-size: $font-size-xs; + line-height: $line-height-xs; + color: $color-error; + margin-bottom: 15px; + font-weight: 600; + } +} diff --git a/src/components/pages/doc-page/doc-blockquote/doc-blockquote.view.js b/src/components/pages/doc-page/doc-blockquote/doc-blockquote.view.js new file mode 100644 index 0000000000..19578116df --- /dev/null +++ b/src/components/pages/doc-page/doc-blockquote/doc-blockquote.view.js @@ -0,0 +1,26 @@ +import React from 'react'; +import classNames from 'classnames'; +import styles from './doc-blockquote.module.scss'; + +export const DocBlockquote = ({ mdBlockContent, mod = 'default' }) => { + // prevent nesting blockquote tags + const blockquoteInner = mdBlockContent.replace(/<\/?blockquote>/g, ''); + // create optional kicker in case of modifications + const getKicker = mod => { + const kickers = { + warning: 'warning!', + default: '' + }; + return kickers[mod] ? `${kickers[mod]}` : kickers[mod]; + }; + return ( +
+ ); +}; diff --git a/src/components/pages/doc-page/doc-blockquote/index.js b/src/components/pages/doc-page/doc-blockquote/index.js new file mode 100644 index 0000000000..bbf8a5f861 --- /dev/null +++ b/src/components/pages/doc-page/doc-blockquote/index.js @@ -0,0 +1 @@ +export { DocBlockquote } from './doc-blockquote.view'; diff --git a/src/components/pages/doc-page/doc-page-nav/doc-page-nav.module.scss b/src/components/pages/doc-page/doc-page-nav/doc-page-nav.module.scss new file mode 100644 index 0000000000..71c3cbacfe --- /dev/null +++ b/src/components/pages/doc-page/doc-page-nav/doc-page-nav.module.scss @@ -0,0 +1,39 @@ +.wrapper { + width: 275px; +} + +.anchor-wrapper { + padding: 0; + margin: 0; + box-shadow: $light-block-shadow; + display: flex; + flex-flow: column; + border: 1px solid $color-additional-2; + list-style: none; +} + +.anchor-box { + &:not(:last-child) { + border-bottom: 1px solid $color-additional-2; + } + display: flex; + align-items: center; + min-height: 50px; +} + +.anchor { + text-decoration: none; + font-size: $font-size-base; + line-height: 20px; + color: $color-secondary; + transition: all 0.3s ease; + display: inline-block; + width: 100%; + padding: 15px 20px; + &_active { + color: $color-accent-primary; + } + &:hover { + color: $color-accent-primary; + } +} diff --git a/src/components/pages/doc-page/doc-page-nav/doc-page-nav.view.js b/src/components/pages/doc-page/doc-page-nav/doc-page-nav.view.js new file mode 100644 index 0000000000..db40acd42d --- /dev/null +++ b/src/components/pages/doc-page/doc-page-nav/doc-page-nav.view.js @@ -0,0 +1,42 @@ +import React, { useState, useEffect } from 'react'; +import classNames from 'classnames'; +import styles from './doc-page-nav.module.scss'; +import { getAnchorLinks } from 'utils'; +import { Link } from 'gatsby'; + +export const DocPageNav = ({ content, label, currentPath, active = 0 }) => { + const links = getAnchorLinks(content); + + const handleAnchorClick = (e, anchor) => { + e.preventDefault(); + document.querySelector(anchor).scrollIntoView({ + behavior: 'smooth', + block: 'start', + }); + // changing hash without default jumps to anchor + if (history.pushState) { + history.pushState(false, false, anchor); + } else { + // old browser support + window.location.hash = anchor; + } + }; + + return links.length ? ( + + ) : null; +}; diff --git a/src/components/pages/doc-page/doc-page-nav/index.js b/src/components/pages/doc-page/doc-page-nav/index.js new file mode 100644 index 0000000000..0679bb5a3a --- /dev/null +++ b/src/components/pages/doc-page/doc-page-nav/index.js @@ -0,0 +1 @@ +export { DocPageNav } from './doc-page-nav.view'; diff --git a/src/components/pages/doc-page/doc-page-title-group/doc-page-title-group.module.scss b/src/components/pages/doc-page/doc-page-title-group/doc-page-title-group.module.scss new file mode 100644 index 0000000000..50e2f11a92 --- /dev/null +++ b/src/components/pages/doc-page/doc-page-title-group/doc-page-title-group.module.scss @@ -0,0 +1,56 @@ +.wrapper { + display: flex; + position: relative; + max-width: calc(100% - 325px); + margin: 15px 0 50px; + @include lg-down { + max-width: calc(100% - 240px); + flex-flow: column-reverse; + } + @include md-down { + max-width: 100%; + } +} + +.title { + flex: 1; +} + +.edit-link { + position: absolute; + right: -50px; + top: 25px; + transform: translateX(100%); + font-size: $font-size-xs; + text-transform: uppercase; + font-weight: 600; + letter-spacing: 0.5px; + text-decoration: none; + color: $color-primary; + transition: 0.3s ease; + display: flex; + align-items: center; + svg { + width: 18px; + height: auto; + margin-right: 10px; + path { + transition: 0.3s ease; + } + } + @include lg-down { + position: initial; + top: unset; + right: unset; + margin-bottom: 10px; + transform: unset; + } + &:hover { + color: $color-accent-primary; + svg { + path { + fill: $color-accent-primary; + } + } + } +} diff --git a/src/components/pages/doc-page/doc-page-title-group/doc-page-title-group.view.js b/src/components/pages/doc-page/doc-page-title-group/doc-page-title-group.view.js new file mode 100644 index 0000000000..fa538ed054 --- /dev/null +++ b/src/components/pages/doc-page/doc-page-title-group/doc-page-title-group.view.js @@ -0,0 +1,24 @@ +import React from 'react'; +import styles from './doc-page-title-group.module.scss'; +import Pencil from './svg/pencil-icon.inline.svg'; +import { Heading } from 'components/shared/heading'; + +export const DocPageTitleGroup = ({ title, articleSrc }) => { + if (process.env.GATSBY_FEATURE_EDIT_ARTICLE_BTN) { + console.log(typeof process.env.GATSBY_FEATURE_EDIT_ARTICLE_BTN); + return ( +
+ {title} + + + suggest edits + +
+ ); + } + return ( +
+ {title} +
+ ); +}; diff --git a/src/components/pages/doc-page/doc-page-title-group/index.js b/src/components/pages/doc-page/doc-page-title-group/index.js new file mode 100644 index 0000000000..2e42a42e04 --- /dev/null +++ b/src/components/pages/doc-page/doc-page-title-group/index.js @@ -0,0 +1 @@ +export { DocPageTitleGroup } from './doc-page-title-group.view'; diff --git a/src/components/pages/doc-page/doc-page-title-group/svg/pencil-icon.inline.svg b/src/components/pages/doc-page/doc-page-title-group/svg/pencil-icon.inline.svg new file mode 100644 index 0000000000..8e2b2d859d --- /dev/null +++ b/src/components/pages/doc-page/doc-page-title-group/svg/pencil-icon.inline.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/components/pages/doc-welcome/cloud/cloud.module.scss b/src/components/pages/doc-welcome/cloud/cloud.module.scss new file mode 100644 index 0000000000..31097e7d61 --- /dev/null +++ b/src/components/pages/doc-welcome/cloud/cloud.module.scss @@ -0,0 +1,56 @@ +.wrapper { + border: 1px solid $color-additional-2; + box-shadow: $light-block-shadow; + padding: 20px; + @include xs-down { + max-width: calc(100% - 40px); + } +} + +.inner { + @media screen and (max-width: 1350px) and (min-width: 1200px) { + flex-flow: column; + } +} + +.hook { + @media screen and (max-width: 1350px) and (min-width: 1200px) { + flex: 0 0 100% !important; + max-width: unset; + } + @media screen and (max-width: 855px) and (min-width: 768px) { + flex: 0 0 100% !important; + max-width: unset; + } +} + +.cloud-text { + display: flex; + flex-flow: column; + justify-content: center; + height: 100%; + padding-left: 20px; + @media screen and (max-width: 1350px) and (min-width: 1200px) { + padding-left: 0px; + } + @include md-down { + padding-left: 0px; + } +} +.button { + max-width: 235px; + @include xs-down { + max-width: unset; + } +} + +.img-wrapper { + width: 100%; + height: 100%; +} + +.img { + display: flex; + align-items: center; + height: 100%; +} diff --git a/src/components/pages/doc-welcome/cloud/cloud.view.js b/src/components/pages/doc-welcome/cloud/cloud.view.js new file mode 100644 index 0000000000..a07b5c2322 --- /dev/null +++ b/src/components/pages/doc-welcome/cloud/cloud.view.js @@ -0,0 +1,44 @@ +import * as React from 'react'; +import Img from 'gatsby-image'; +import { graphql, useStaticQuery } from 'gatsby'; +import styles from './cloud.module.scss'; +import { Button } from 'components/shared/button'; + +export const Cloud = props => { + const { title, description, buttonText, href = '/cloud' } = props; + const { + file: { + childImageSharp: { fluid }, + }, + } = useStaticQuery(graphql` + query cloudImageQuery { + file(name: { eq: "cloud-promo@2x" }) { + childImageSharp { + fluid(maxWidth: 370) { + ...GatsbyImageSharpFluid_withWebp_noBase64 + } + } + } + } + `); + return ( +
+
+
+
+ +
+
+
+
+

{title}

+

{description}

+ +
+
+
+
+ ); +}; diff --git a/src/components/pages/doc-welcome/cloud/index.js b/src/components/pages/doc-welcome/cloud/index.js new file mode 100644 index 0000000000..ce920c1853 --- /dev/null +++ b/src/components/pages/doc-welcome/cloud/index.js @@ -0,0 +1 @@ +export * from './cloud.view.js'; \ No newline at end of file diff --git a/src/components/pages/doc-welcome/features/doc-welcome-features.module.scss b/src/components/pages/doc-welcome/features/doc-welcome-features.module.scss new file mode 100644 index 0000000000..7ee4c20242 --- /dev/null +++ b/src/components/pages/doc-welcome/features/doc-welcome-features.module.scss @@ -0,0 +1,21 @@ +.container { + @include doc-section-spacing; +} + +.title { + margin-bottom: 15px; +} + +.description { + font-size: $font-size-lg; + line-height: $line-height-lg; + margin: 0 0 20px; +} + +.trait { + margin-left: 20px; +} + +.trait + .trait { + margin-top: 8px; +} diff --git a/src/components/pages/doc-welcome/features/doc-welcome-features.view.js b/src/components/pages/doc-welcome/features/doc-welcome-features.view.js new file mode 100644 index 0000000000..b0174f152b --- /dev/null +++ b/src/components/pages/doc-welcome/features/doc-welcome-features.view.js @@ -0,0 +1,44 @@ +import * as React from 'react'; + +import { Heading } from 'components/shared/heading'; +import { Trait } from 'components/shared/trait'; +import { Link } from 'gatsby'; + +import styles from './doc-welcome-features.module.scss'; + +export const Features = () => ( +
+ + Key features + +

+ k6 is packed with features, which you can learn all about in the documentation. + Key features include: +

+ +
+
+ + CLI tool with developer-friendly APIs. + + + + Scripting in JavaScript ES2015/ES6 - with support for{' '} + + local and remote modules + + + + + Checks + {' '} + and{' '} + + Thresholds + {' '} + - for goal-oriented, automation-friendly load testing + +
+
+
+); diff --git a/src/components/pages/doc-welcome/features/index.js b/src/components/pages/doc-welcome/features/index.js new file mode 100644 index 0000000000..f46b484736 --- /dev/null +++ b/src/components/pages/doc-welcome/features/index.js @@ -0,0 +1 @@ +export { Features } from './doc-welcome-features.view'; diff --git a/src/components/pages/doc-welcome/help/doc-welcome-help-image.png b/src/components/pages/doc-welcome/help/doc-welcome-help-image.png new file mode 100644 index 0000000000..99ae4e31d9 Binary files /dev/null and b/src/components/pages/doc-welcome/help/doc-welcome-help-image.png differ diff --git a/src/components/pages/doc-welcome/help/doc-welcome-help.module.scss b/src/components/pages/doc-welcome/help/doc-welcome-help.module.scss new file mode 100644 index 0000000000..38f022b9cc --- /dev/null +++ b/src/components/pages/doc-welcome/help/doc-welcome-help.module.scss @@ -0,0 +1,16 @@ +.container { + li + li { + margin-top: 5px; + } +} + +.title { + margin-bottom: 15px; +} + +.description { + font-size: $font-size-lg; + line-height: $line-height-lg; + color: $color-secondary; + margin: 0 0 20px; +} diff --git a/src/components/pages/doc-welcome/help/doc-welcome-help.view.js b/src/components/pages/doc-welcome/help/doc-welcome-help.view.js new file mode 100644 index 0000000000..ad2c59faca --- /dev/null +++ b/src/components/pages/doc-welcome/help/doc-welcome-help.view.js @@ -0,0 +1,54 @@ +import * as React from 'react'; + +import { Heading } from 'components/shared/heading'; +import styles from './doc-welcome-help.module.scss'; + +export const Help = () => ( +
+
+
+ + Need help or want to contribute to k6? + +

+ Types of questions and where to ask: +

+ +
    +
  • + How do I? - Stack Overflow (use + tags: k6, javascript, load-testing) +
  • +
  • + How do I? Get k6 community support -{' '} + Community Forum +
  • +
  • + I got this error, why? -{' '} + Stack Overflow +
  • +
  • + I got this error and I'm sure it's a bug -{' '} + file an issue +
  • +
  • + I have an idea/request -{' '} + file an issue +
  • +
  • + Why do you? - Slack +
  • +
  • + When will you? - Slack +
  • +
  • + I want to contribute/help with development -{' '} + Start here, then{' '} + Slack and{' '} + issues +
  • +
+
+
+
+); diff --git a/src/components/pages/doc-welcome/help/index.js b/src/components/pages/doc-welcome/help/index.js new file mode 100644 index 0000000000..5bf7bcf76b --- /dev/null +++ b/src/components/pages/doc-welcome/help/index.js @@ -0,0 +1 @@ +export { Help } from './doc-welcome-help.view'; diff --git a/src/components/pages/doc-welcome/index.js b/src/components/pages/doc-welcome/index.js new file mode 100644 index 0000000000..0220d91c36 --- /dev/null +++ b/src/components/pages/doc-welcome/index.js @@ -0,0 +1,9 @@ +export * from './cloud'; +export * from './features'; +export * from './help'; +export * from './page-info'; +export * from './quickstart'; +export * from './showcase'; +export * from './what-is'; +export * from './whats-new'; +export * from './manifesto'; diff --git a/src/components/pages/doc-welcome/k6-does-not/index.js b/src/components/pages/doc-welcome/k6-does-not/index.js new file mode 100644 index 0000000000..1d5e4293f0 --- /dev/null +++ b/src/components/pages/doc-welcome/k6-does-not/index.js @@ -0,0 +1 @@ +export { K6DoesNot } from './k6-does-not.component'; diff --git a/src/components/pages/doc-welcome/k6-does-not/k6-does-not.component.js b/src/components/pages/doc-welcome/k6-does-not/k6-does-not.component.js new file mode 100644 index 0000000000..1e3afb24e2 --- /dev/null +++ b/src/components/pages/doc-welcome/k6-does-not/k6-does-not.component.js @@ -0,0 +1,57 @@ +import React from 'react'; +import { Link } from 'gatsby'; +import { Heading } from 'components/shared/heading'; +import styles from './k6-does-not.module.scss'; + +export const K6DoesNot = ({ style }) => ( +
+ + What k6 does not + +

+ k6 is a high-performing load testing tool, scriptable in JavaScript. The + architectural design to have these capabilities brings some trade-offs: +

+ +
+); diff --git a/src/components/pages/doc-welcome/k6-does-not/k6-does-not.module.scss b/src/components/pages/doc-welcome/k6-does-not/k6-does-not.module.scss new file mode 100644 index 0000000000..3d15598e0e --- /dev/null +++ b/src/components/pages/doc-welcome/k6-does-not/k6-does-not.module.scss @@ -0,0 +1,7 @@ +.container { + margin-bottom: 60px; +} + +.title { + margin-bottom: 15px; +} diff --git a/src/components/pages/doc-welcome/manifesto/index.js b/src/components/pages/doc-welcome/manifesto/index.js new file mode 100644 index 0000000000..fbeffd1b35 --- /dev/null +++ b/src/components/pages/doc-welcome/manifesto/index.js @@ -0,0 +1 @@ +export { Manifesto } from './manifesto.component'; diff --git a/src/components/pages/doc-welcome/manifesto/manifesto.component.js b/src/components/pages/doc-welcome/manifesto/manifesto.component.js new file mode 100644 index 0000000000..14d4a1b3c0 --- /dev/null +++ b/src/components/pages/doc-welcome/manifesto/manifesto.component.js @@ -0,0 +1,50 @@ +import React from 'react'; +import { Heading } from 'components/shared/heading'; +import styles from './manifesto.module.scss'; +import { main } from 'utils/urls'; + +const bullets = [ + { + title: 'Simple testing is better than no testing', + url: `${main}/our-beliefs/#simple-testing-is-better-than-no-testing`, + }, + { + title: 'Load testing should be goal oriented', + url: `${main}/our-beliefs/#load-testing-should-be-goal-oriented`, + }, + { + title: 'Load testing by developers', + url: `${main}/our-beliefs/#load-testing-by-developers`, + }, + { + title: 'Developer experience is super important', + url: `${main}/our-beliefs/#developer-experience-is-super-important`, + }, + { + title: 'Load test in a pre-production environment', + url: `${main}/our-beliefs/#load-test-in-a-pre-production-environment`, + }, +]; + +export const Manifesto = () => { + return ( +
+ + Load Testing Manifesto + + Our load testing manifesto is the result of having spent years hip deep in + the trenches, doing performance- and load testing. We’ve created it to be + used as guidance, helping you in getting your performance testing on the + right track! + +
+ ); +}; diff --git a/src/components/pages/doc-welcome/manifesto/manifesto.module.scss b/src/components/pages/doc-welcome/manifesto/manifesto.module.scss new file mode 100644 index 0000000000..3d15598e0e --- /dev/null +++ b/src/components/pages/doc-welcome/manifesto/manifesto.module.scss @@ -0,0 +1,7 @@ +.container { + margin-bottom: 60px; +} + +.title { + margin-bottom: 15px; +} diff --git a/src/components/pages/doc-welcome/page-info/doc-welcome-page-info.module.scss b/src/components/pages/doc-welcome/page-info/doc-welcome-page-info.module.scss new file mode 100644 index 0000000000..e83171f674 --- /dev/null +++ b/src/components/pages/doc-welcome/page-info/doc-welcome-page-info.module.scss @@ -0,0 +1,32 @@ +.container { + margin-bottom: 50px; + margin-top: 135px; + @include lg-down { + margin-top: 200px; + } + @include md-down { + margin-top: 245px; + } + @include sm-down { + margin-top: 265px; + } +} + +.title { + margin-bottom: 15px; + max-width: calc(100% - 325px); // preserving the spacing and width in adaptive + @include lg-down { + max-width: 100%; + } +} + +.description { + font-size: $font-size-lg; + line-height: $line-height-lg; + margin-top: 0; + margin-bottom: 0; + max-width: calc(100% - 325px); // preserving the spacing and width in adaptive + @include lg-down { + max-width: 100%; + } +} diff --git a/src/components/pages/doc-welcome/page-info/doc-welcome-page-info.view.js b/src/components/pages/doc-welcome/page-info/doc-welcome-page-info.view.js new file mode 100644 index 0000000000..e2c8987571 --- /dev/null +++ b/src/components/pages/doc-welcome/page-info/doc-welcome-page-info.view.js @@ -0,0 +1,13 @@ +import React from 'react'; +import { Heading } from 'components/shared/heading'; + +import styles from './doc-welcome-page-info.module.scss'; + +export const PageInfo = ({ title, description, className }) => ( +
+ {title} +

+

+); diff --git a/src/components/pages/doc-welcome/page-info/index.js b/src/components/pages/doc-welcome/page-info/index.js new file mode 100644 index 0000000000..1dca071b3e --- /dev/null +++ b/src/components/pages/doc-welcome/page-info/index.js @@ -0,0 +1 @@ +export { PageInfo } from './doc-welcome-page-info.view'; diff --git a/src/components/pages/doc-welcome/quickstart/index.js b/src/components/pages/doc-welcome/quickstart/index.js new file mode 100644 index 0000000000..9c87702b49 --- /dev/null +++ b/src/components/pages/doc-welcome/quickstart/index.js @@ -0,0 +1 @@ +export { Quickstart } from "./quickstart.component"; diff --git a/src/components/pages/doc-welcome/quickstart/quickstart.component.js b/src/components/pages/doc-welcome/quickstart/quickstart.component.js new file mode 100644 index 0000000000..641561db1a --- /dev/null +++ b/src/components/pages/doc-welcome/quickstart/quickstart.component.js @@ -0,0 +1,34 @@ +import React from 'react'; +import styles from './quickstart.module.scss'; +import { ItemCardsRow } from '../../../blocks/item-cards-row'; + +const quickstart = { + blockTitle: 'Quickstart', + cardsData: [ + { + to: '/getting-started/installation', + title: '🚀 Installation', + text: + 'Get up and running in no-time, using either a package manager, standalone installer ' + + 'or the official docker image.', + }, + { + to: '/getting-started/running-k6', + title: '🏎💨 Running k6', + text: + 'Write and execute your first load test locally using javascript and the k6 api, ' + + 'adding multiple virtual users, checks and ramping stages', + }, + { + to: '/getting-started/results-output', + title: '⏱ Results Output', + text: + 'Learn how to leverage the results output to gain actionable insight about your ' + + 'applications performance.', + }, + ], +}; + +export const Quickstart = () => ( + +); diff --git a/src/components/pages/doc-welcome/quickstart/quickstart.module.scss b/src/components/pages/doc-welcome/quickstart/quickstart.module.scss new file mode 100644 index 0000000000..d2d09798ab --- /dev/null +++ b/src/components/pages/doc-welcome/quickstart/quickstart.module.scss @@ -0,0 +1,14 @@ +.quickstart-card { + @media screen and (max-width: 1300px) { + flex: 1 1 100%; + max-width: 100%; + } + @include lg-down { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + @include md-down { + flex: 1 1 100%; + max-width: 100%; + } +} diff --git a/src/components/pages/doc-welcome/showcase/index.js b/src/components/pages/doc-welcome/showcase/index.js new file mode 100644 index 0000000000..89f3fa0ad9 --- /dev/null +++ b/src/components/pages/doc-welcome/showcase/index.js @@ -0,0 +1 @@ +export { Showcase } from './showcase.view'; diff --git a/src/components/pages/doc-welcome/showcase/showcase.module.scss b/src/components/pages/doc-welcome/showcase/showcase.module.scss new file mode 100644 index 0000000000..b710ff8d49 --- /dev/null +++ b/src/components/pages/doc-welcome/showcase/showcase.module.scss @@ -0,0 +1,3 @@ +.container { + margin-bottom: 60px; +} diff --git a/src/components/pages/doc-welcome/showcase/showcase.view.js b/src/components/pages/doc-welcome/showcase/showcase.view.js new file mode 100644 index 0000000000..ad5ffcb042 --- /dev/null +++ b/src/components/pages/doc-welcome/showcase/showcase.view.js @@ -0,0 +1,73 @@ +import React from 'react'; +import { FeaturedPostCard } from 'components/blocks/featured-post-card'; +import { graphql, useStaticQuery } from 'gatsby'; + +import { getDateAndSlugFromPath } from 'utils'; +import styles from './showcase.module.scss'; +import { blog } from 'utils/urls'; + +export const Showcase = () => { + const { + allMarkdownRemark: { edges: featuredPost }, + } = useStaticQuery(graphql` + query featuredPostQuery { + allMarkdownRemark( + filter: { fileAbsolutePath: { regex: "/markdown/posts/" } } + ) { + edges { + node { + frontmatter { + cover { + childImageSharp { + fluid( + maxWidth: 540 + fit: CONTAIN + quality: 100 + background: "rgb(255,255,255)" + ) { + aspectRatio + src + srcSet + srcWebp + srcSetWebp + sizes + } + } + } + category + title + covertext + summary + } + fileAbsolutePath + } + } + } + } + `); + + const featuredPostData = featuredPost.length ? featuredPost[0].node : false; + // inject date and slug manually + if (featuredPostData) { + const { date, slug } = getDateAndSlugFromPath( + featuredPostData.fileAbsolutePath, + ); + featuredPostData.frontmatter.date = date; + featuredPostData.frontmatter.slug = slug; + } + + return featuredPostData ? ( +
+ +
+ ) : null; +}; diff --git a/src/components/pages/doc-welcome/use-cases/index.js b/src/components/pages/doc-welcome/use-cases/index.js new file mode 100644 index 0000000000..f174a27435 --- /dev/null +++ b/src/components/pages/doc-welcome/use-cases/index.js @@ -0,0 +1 @@ +export * from './use-cases.view'; diff --git a/src/components/pages/doc-welcome/use-cases/use-cases.module.scss b/src/components/pages/doc-welcome/use-cases/use-cases.module.scss new file mode 100644 index 0000000000..3d15598e0e --- /dev/null +++ b/src/components/pages/doc-welcome/use-cases/use-cases.module.scss @@ -0,0 +1,7 @@ +.container { + margin-bottom: 60px; +} + +.title { + margin-bottom: 15px; +} diff --git a/src/components/pages/doc-welcome/use-cases/use-cases.view.js b/src/components/pages/doc-welcome/use-cases/use-cases.view.js new file mode 100644 index 0000000000..790a916681 --- /dev/null +++ b/src/components/pages/doc-welcome/use-cases/use-cases.view.js @@ -0,0 +1,43 @@ +import React from 'react'; +import { Heading } from 'components/shared/heading'; +import styles from './use-cases.module.scss'; + +export const UseCases = () => { + return ( +
+ + Use cases + +

+ k6 users are typically Developers, QA Engineers, and DevOps. They use k6 + for testing the performance of APIs, microservices, and websites. Common + k6 use cases are: +

+
    +
  • + + Load Testing + +

    + k6 is optimized for minimal consumption of system resources. It’s a + high-performance tool designed for running tests with high load. You + can use it for running tests with a high load (spike, stress, + endurance tests) in pre-production and QA environments. +

    +
  • +
  • + + Performance monitoring + +

    + k6 provides great primitives for code modularization, performance + thresholds, and automation. These features make it an excellent + choice for performance monitoring. You could run tests with a small + amount of load to continuously monitor the performance of your + production environment. +

    +
  • +
+
+ ); +}; diff --git a/src/components/pages/doc-welcome/what-is/doc-welcome-what-is.module.scss b/src/components/pages/doc-welcome/what-is/doc-welcome-what-is.module.scss new file mode 100644 index 0000000000..2c7bd9174c --- /dev/null +++ b/src/components/pages/doc-welcome/what-is/doc-welcome-what-is.module.scss @@ -0,0 +1,17 @@ +.container { + @include doc-section-spacing; +} + +.title { + margin-bottom: 15px; +} + +.description { + font-size: $font-size-lg; + line-height: $line-height-lg; + margin: 0 0 20px; +} + +.traits { + margin-bottom: 20px; +} diff --git a/src/components/pages/doc-welcome/what-is/doc-welcome-what-is.view.js b/src/components/pages/doc-welcome/what-is/doc-welcome-what-is.view.js new file mode 100644 index 0000000000..3f34395861 --- /dev/null +++ b/src/components/pages/doc-welcome/what-is/doc-welcome-what-is.view.js @@ -0,0 +1,23 @@ +import * as React from 'react'; +import { Heading } from 'components/shared/heading'; +import { Trait } from 'components/shared/trait'; +import styles from './doc-welcome-what-is.module.scss'; + +export const WhatIs = () => { + return ( +
+ + What is k6? + +

+ k6 is a developer-centric, free and open-source load testing tool built + for making performance testing a productive and enjoyable experience. +

+

+ Using k6, you'll be able to catch performance regression and problems + earlier, allowing you to build resilient systems and robust + applications. +

+
+ ); +}; diff --git a/src/components/pages/doc-welcome/what-is/index.js b/src/components/pages/doc-welcome/what-is/index.js new file mode 100644 index 0000000000..e6aac7118c --- /dev/null +++ b/src/components/pages/doc-welcome/what-is/index.js @@ -0,0 +1 @@ +export { WhatIs } from './doc-welcome-what-is.view'; diff --git a/src/components/pages/doc-welcome/whats-new/doc-change.svg b/src/components/pages/doc-welcome/whats-new/doc-change.svg new file mode 100644 index 0000000000..dc12877682 --- /dev/null +++ b/src/components/pages/doc-welcome/whats-new/doc-change.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/src/components/pages/doc-welcome/whats-new/doc-welcome-whats-new.module.scss b/src/components/pages/doc-welcome/whats-new/doc-welcome-whats-new.module.scss new file mode 100644 index 0000000000..8ca14c0f26 --- /dev/null +++ b/src/components/pages/doc-welcome/whats-new/doc-welcome-whats-new.module.scss @@ -0,0 +1,52 @@ +.container { + margin-bottom: 60px; +} + +.title { + margin-bottom: 15px; +} + +.item { + display: flex; + align-items: center; +} + +.item + .item { + border-top: 1px solid $color-additional-2; +} + +.item-image { + flex-shrink: 0; + margin-right: 20px; +} + +.item-content { + flex-grow: 1; +} + +.item-title { + margin-bottom: 5px; +} + +.item-text { + font-size: $font-size-sm; + line-height: $line-height-sm; + + strong { + font-weight: 500; + color: $color-accent-primary; + } +} + +.item-date { + margin-left: 20px; + font-size: $font-size-xs; + line-height: $line-height-xs; + letter-spacing: 0.5px; + text-transform: uppercase; + font-weight: 500; +} + +.card-footer { + text-align: right; +} diff --git a/src/components/pages/doc-welcome/whats-new/doc-welcome-whats-new.view.js b/src/components/pages/doc-welcome/whats-new/doc-welcome-whats-new.view.js new file mode 100644 index 0000000000..1027c4f8fd --- /dev/null +++ b/src/components/pages/doc-welcome/whats-new/doc-welcome-whats-new.view.js @@ -0,0 +1,56 @@ +import * as React from 'react'; +import dateFormat from 'dateformat'; +import { Link } from 'gatsby'; + +import { Heading } from 'components/shared/heading'; +import { styles as itemCardStyles } from 'components/shared/item-card'; +import styles from './doc-welcome-whats-new.module.scss'; +import docChangeImage from './doc-change.svg'; + +export const WhatsNew = () => { + const item = { + title: 'Documentation for our integration', + text: + 'Our integration is now documented in our main docs!', + date: new Date(2019, 6, 28), + }; + + const items = [item, item, item]; + + return ( +
+ + What's new in the docs + + +
+ {items.map(item => ( +
+ {'change'} +
+ + {item.title} + +
+
+ + {dateFormat(item.date, '— dd mmmm, yyyy')} + +
+ ))} +
+ + See full changelog + +
+
+
+ ); +}; diff --git a/src/components/pages/doc-welcome/whats-new/index.js b/src/components/pages/doc-welcome/whats-new/index.js new file mode 100644 index 0000000000..ad80ddab58 --- /dev/null +++ b/src/components/pages/doc-welcome/whats-new/index.js @@ -0,0 +1 @@ +export { WhatsNew } from './doc-welcome-whats-new.view'; diff --git a/src/components/shared/button/button.module.scss b/src/components/shared/button/button.module.scss new file mode 100644 index 0000000000..948c5f02b4 --- /dev/null +++ b/src/components/shared/button/button.module.scss @@ -0,0 +1,356 @@ +$gradient-transition: transform 1.3s cubic-bezier(0.8, 1, 0.8, 1); + +.theme-base { + display: inline-block; + font-weight: 700; + letter-spacing: 0.5px; + text-decoration: none; + text-transform: uppercase; + text-align: center; + cursor: pointer; + outline: none; + transition: 0.3s; + -webkit-appearance: none; + position: relative; + @include hover-supported { + &:not(.disabled):hover { + .cursor { + animation: cursor 1s infinite; + } + } + } +} + +.theme-default { + composes: theme-base; + border: 2px solid $color-accent-primary; + background-color: $color-accent-primary; + color: $color-tertiary; +} + +.theme-additional { + composes: theme-base; + border-color: $color-primary; + border: 2px solid $color-primary; + color: $color-primary; + background-color: transparent; + @include hover-supported { + &:not(.disabled):hover { + border-color: $color-accent-primary; + color: $color-accent-primary; + } + } +} + +.theme-transparent { + composes: theme-base; + border-color: transparent; + font-weight: 500; + color: $color-primary; + background-color: transparent; + @include hover-supported { + &:not(.disabled):hover { + color: $color-accent-primary; + } + } +} + +.theme-gradient-primary { + composes: theme-base; + position: relative; + color: $color-tertiary; + + &.size-sm { + min-width: 115px; + + @include md-down { + min-width: 0; + } + } + @include hover-supported { + &:not(.disabled):hover { + .border-inner-gradient { + transform: rotate(360deg); + transition: $gradient-transition; + } + + .blur-inner-gradient { + transform: rotate(360deg); + transition: $gradient-transition; + } + } + } + + .border-inner-gradient { + background-image: linear-gradient( + 65deg, + $color-accent-primary 0%, + $color-accent-primary 40%, + $color-tertiary 50%, + $color-accent-secondary 60%, + $color-accent-secondary 100% + ); + } + + .blur-inner-gradient { + background-image: linear-gradient( + 65deg, + $color-accent-primary 0%, + $color-accent-primary 23.4%, + $color-tertiary 51.23%, + $color-accent-secondary 72.41%, + $color-accent-secondary 100% + ); + } + + .fill { + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; + background-color: $color-primary; + transition: 0.5s ease; + } +} + +.theme-gradient-secondary { + composes: theme-base; + position: relative; + color: $color-tertiary; + + &.size-sm { + min-width: 115px; + + @include md-down { + min-width: 0; + } + } + @include hover-supported { + &:not(.disabled):hover { + .border-inner-gradient { + transform: rotate(360deg); + transition: $gradient-transition; + } + + .blur-inner-gradient { + transform: rotate(360deg); + transition: $gradient-transition; + } + } + } + + .border-inner-gradient { + background-image: linear-gradient( + 43.66deg, + $color-additional-1 0%, + $color-additional-1 23.4%, + $color-tertiary 51.23%, + $color-additional-1 72.41%, + $color-additional-1 100% + ); + } + + .blur-inner-gradient { + background-image: linear-gradient( + 43.66deg, + $color-additional-1 0%, + $color-additional-1 23.4%, + $color-tertiary 51.23%, + $color-additional-1 72.41%, + $color-additional-1 100% + ); + } + + .fill { + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; + background-color: $color-primary; + } +} + +.border { + position: absolute; + top: -2px; + right: -2px; + bottom: -2px; + left: -2px; + box-shadow: 0 5px 5px rgba(55, 60, 100, 0.25); + overflow: hidden; +} + +.border-inner { + content: ""; + position: absolute; + top: 50%; + left: 50%; + width: calc(100% + 12px); + background-size: cover; + transform: translate(-50%, -50%); +} + +.border-inner-space { + display: block; + margin-top: 100%; // Link to the hack explanation — https://stackoverflow.com/a/6615994 +} + +.border-inner-gradient { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + transition: all 0s; +} + +.blur { + position: absolute; + top: 50%; + left: 50%; + width: calc(100% + 34px); + height: calc(100% + 34px); + filter: blur(35px); + opacity: 0.25; + overflow: hidden; + transform: translate(-50%, -50%); + transition: 0.5s ease opacity; + @include ios-specific { + width: 100%; + height: 100%; + backdrop-filter: blur(35px); + } +} + +.blur-inner { + content: ""; + position: absolute; + top: 50%; + left: 50%; + width: calc(100% + 15px); + transform: translate(-50%, -50%); +} + +.blur-inner-space { + display: block; + margin-top: 100%; // Link to the hack explanation — https://stackoverflow.com/a/6615994 +} + +.blur-inner-gradient { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-size: cover; + transition: all 0s; +} + +.text { + position: relative; + z-index: 1; + transition: 0.5s; + transition-delay: 0.25s; +} + +.size-lg { + min-width: 275px; + padding: 25px 30px 25px; + font-size: $font-size-sm; + line-height: 1; + @include md-down { + min-width: 210px; + } + @include xs-down { + min-width: 100%; + } +} + +.size-md { + min-width: 235px; + font-size: $font-size-xs; + line-height: 1; + padding: 19px 20px 19px; + + @include md-down { + min-width: 210px; + } + @include xs-down { + min-width: 100%; + } +} + +.size-sm { + font-size: 12px; + padding: 14px 28px 14px; + line-height: 1; +} + +.round { + border-radius: 50%; + min-width: unset; + width: 90px; + height: 90px; + padding: 0; + display: block; + .border, + .fill, + .blur { + border-radius: 50%; + } +} + +.disabled { + opacity: 0.5; +} + +.loader { + position: absolute; + left: 50%; + transform: translateX(-50%) translateY(-50%); + top: 50%; + svg { + display: block; + } + & + .button-content { + visibility: hidden; + } +} + +@keyframes cursor { + 0% { + opacity: 0; + } + 40% { + opacity: 0; + } + 50% { + opacity: 1; + } + 90% { + opacity: 1; + } + 100% { + opacity: 0; + } +} + +@keyframes rotate { + 0% { + opacity: 0; + } + 40% { + opacity: 0; + } + 50% { + opacity: 1; + } + 60% { + opacity: 1; + } + 100% { + opacity: 0; + } +} diff --git a/src/components/shared/button/button.story.js b/src/components/shared/button/button.story.js new file mode 100644 index 0000000000..a53a8750da --- /dev/null +++ b/src/components/shared/button/button.story.js @@ -0,0 +1,68 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { Button } from '.'; + +storiesOf('Button/Default theme', module) + .add('Default size', () => ) + .add('Size "lg"', () => ( + + )) + .add('Size "sm"', () => ); + +storiesOf('Button/Theme "additional"', module) + .add('Default size', () => ( + + )) + .add('Size "lg"', () => ( + + )) + .add('Size "sm"', () => ( + + )); + +storiesOf('Button/Theme "gradient-primary"', module) + .add('Default size', () => ( + + )) + .add('Size "lg"', () => ( + + )) + .add('Size "sm"', () => ( + + )) + .add('Shape "round"', () => ( + + )); + +storiesOf('Button/Theme "gradient-secondary"', module) + .add('Default size', () => ( + + )) + .add('Size "lg"', () => ( + + )) + .add('Size "sm"', () => ( + + )); diff --git a/src/components/shared/button/button.view.js b/src/components/shared/button/button.view.js new file mode 100644 index 0000000000..2f5f750e0f --- /dev/null +++ b/src/components/shared/button/button.view.js @@ -0,0 +1,109 @@ +import React from 'react'; +import classNames from 'classnames/bind'; +import { Link } from 'gatsby'; +import Loader from './loader.inline.svg'; +import styles from './button.module.scss'; + +const cx = classNames.bind(styles); +export const Button = (props) => { + const { + className, + tag = 'button', + type = 'button', + disabled, + size, + theme, + cursor, + children, + shape, + loading = false, + ...attributes + } = props; + + const buttonClassName = cx( + { themeDefault: !theme }, + { themeAdditional: theme === 'additional' }, + { themeTransparent: theme === 'transparent' }, + { themeGradientPrimary: theme === 'gradient-primary' }, + { themeGradientSecondary: theme === 'gradient-secondary' }, + { sizeMd: !size }, + { sizeLg: size === 'lg' }, + { sizeSm: size === 'sm' }, + { round: shape === 'round' }, + { disabled: disabled === true }, + className, + ); + + const innerContent = ( + <> + {theme === 'gradient-primary' || theme === 'gradient-secondary' ? ( + <> + + + + + + + + + + + + + + + + {children} + {cursor && ( + <> + {/* No-break space and > */} +  > + _ + + )} + + + ) : ( + <> + {loading &&
} + {children} + {cursor && ( + <> + {/* No-break space and > */} +  > + _ + + )} + + + )} + + ); + + switch (tag) { + case 'a': + return ( + + {innerContent} + + ); + case 'link': + return ( + + {innerContent} + + ); + case 'button': + default: + return ( + + ); + } +}; diff --git a/src/components/shared/button/index.js b/src/components/shared/button/index.js new file mode 100644 index 0000000000..a82dacca7d --- /dev/null +++ b/src/components/shared/button/index.js @@ -0,0 +1 @@ +export { Button } from './button.view'; diff --git a/src/components/shared/button/loader.inline.svg b/src/components/shared/button/loader.inline.svg new file mode 100644 index 0000000000..6f83889275 --- /dev/null +++ b/src/components/shared/button/loader.inline.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/shared/checkbox-field/checkbox-field.module.scss b/src/components/shared/checkbox-field/checkbox-field.module.scss new file mode 100644 index 0000000000..6a2f616967 --- /dev/null +++ b/src/components/shared/checkbox-field/checkbox-field.module.scss @@ -0,0 +1,39 @@ +.input { + opacity: 0; + position: absolute; +} + +.label { + position: relative; + z-index: 1; + display: block; + font-size: $font-size-sm; + line-height: $line-height-sm; + color: $color-secondary; + padding-left: 28px; + cursor: pointer; + + &:before { + content: ""; + display: block; + width: 18px; + height: 18px; + border: 1px solid $color-secondary; + color: $color-accent-primary; + background: #fff; + position: absolute; + left: 0; + text-align: center; + transition: 0.3s; + } + + &:hover:before { + border-color: $color-accent-primary; + } +} + +.input:checked + label:before { + content: url("./svg/checkmark.svg"); + background: $color-accent-primary; + border: 1px solid $color-accent-primary; +} diff --git a/src/components/shared/checkbox-field/checkbox-field.story.js b/src/components/shared/checkbox-field/checkbox-field.story.js new file mode 100644 index 0000000000..08ec2909f2 --- /dev/null +++ b/src/components/shared/checkbox-field/checkbox-field.story.js @@ -0,0 +1,18 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { CheckboxField } from '.'; +import { Link } from 'gatsby'; + +storiesOf('CheckboxField', module) + .add('default', () => ( + + Yes, I'd like to receive more information on k6 products, events and promotions via email. + Refer to k6’s Privacy Policy + + )) + .add('checked', () => ( + + Yes, I'd like to receive more information on k6 products, events and promotions via email. + Refer to k6’s Privacy Policy + + )); diff --git a/src/components/shared/checkbox-field/checkbox-field.view.js b/src/components/shared/checkbox-field/checkbox-field.view.js new file mode 100644 index 0000000000..46417eacab --- /dev/null +++ b/src/components/shared/checkbox-field/checkbox-field.view.js @@ -0,0 +1,17 @@ +import React from 'react'; + +import styles from './checkbox-field.module.scss'; + + +export const CheckboxField = (props) => { + const { id, children, checked, onChange, onBlur } = props; + + return ( +
+ + +
+ ); +}; diff --git a/src/components/shared/checkbox-field/index.js b/src/components/shared/checkbox-field/index.js new file mode 100644 index 0000000000..6a602c71d9 --- /dev/null +++ b/src/components/shared/checkbox-field/index.js @@ -0,0 +1 @@ +export { CheckboxField } from './checkbox-field.view'; diff --git a/src/components/shared/checkbox-field/svg/checkmark.svg b/src/components/shared/checkbox-field/svg/checkmark.svg new file mode 100644 index 0000000000..982c7b19f6 --- /dev/null +++ b/src/components/shared/checkbox-field/svg/checkmark.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/shared/code/code.module.scss b/src/components/shared/code/code.module.scss new file mode 100644 index 0000000000..cf47f360b6 --- /dev/null +++ b/src/components/shared/code/code.module.scss @@ -0,0 +1,106 @@ +.code { + flex-grow: 1; + height: 100%; + overflow-y: auto; + @include no-scrollbars; +} + +.codeContainer { + :global { + pre { + display: flex; + margin-top: 0 !important; + margin-bottom: 0 !important; + background: $color-primary; + padding-top: 15px !important; + padding-bottom: 15px !important; + padding-left: 60px !important; + @include no-scrollbars; + /* preparing for hiding line numbers on md-down */ + @include md-down { + padding-left: 20px !important; + } + } + + code { + flex-grow: 1; + display: block; + // font-family: $font-family-secondary !important; + // font-size: $font-size-code; + // line-height: $line-height-code; + // color: $color-tertiary !important; + text-shadow: none !important; + padding-right: 15px !important; + + font-family: Roboto Mono, sans-serif !important; + font-size: 14px; + line-height: 24px; + color: #e2e2e2 !important; + } + + .token { + &.keyword { + color: #00cdff; + } + &.property { + color: $color-tertiary; + } + &.boolean, + &.string { + // color: #bc70fd !important; + color: rgba(233, 149, 255, 1); + } + + &.number { + // color: $color-accent-secondary !important; + color: rgb(195, 232, 141); + } + + &.operator { + // color: $color-accent-primary !important; + background-color: transparent !important; + color: rgb(181, 181, 181) !important; + } + + &.constant { + color: $color-accent-secondary !important; + } + + &.function { + // color: #ff21c3 !important; + color: rgb(255, 255, 255); + } + + &.punctuation { + color: $color-tertiary !important; + } + } + + .line-numbers-rows { + left: -40px !important; + width: auto !important; + letter-spacing: 0 !important; + border-right: none !important; + /* hiding line numbers on md-down */ + @include md-down { + display: none; + } + + span { + &:before { + font-family: $font-family-secondary !important; + font-weight: 300; + color: $color-additional-1 !important; + padding-right: 0 !important; + } + } + } + } +} + +// to override existing padding settings in case of no line numbers required +.no-line-numbers { + pre { + padding-left: 20px !important; + } +} diff --git a/src/components/shared/code/code.story.js b/src/components/shared/code/code.story.js new file mode 100644 index 0000000000..1200bebcc5 --- /dev/null +++ b/src/components/shared/code/code.story.js @@ -0,0 +1,18 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { Code } from '.'; + +const codeSample = `\ +import http from "k6/http"; +export default function() { + let res = http.get("https://test.k6.io/"); + check(res, { + "is status 200": (r) => r.status === 200 + }); +}; +`; + +storiesOf('Code', module) + .add('default', () => ( + {codeSample} + )); diff --git a/src/components/shared/code/code.utils.js b/src/components/shared/code/code.utils.js new file mode 100644 index 0000000000..eaa8b5f482 --- /dev/null +++ b/src/components/shared/code/code.utils.js @@ -0,0 +1,13 @@ +import * as React from 'react'; +import Prism from 'prismjs'; +import 'prismjs/components/prism-bash'; +import 'prismjs/components/prism-json'; +import 'prismjs/plugins/line-numbers/prism-line-numbers'; + +export function highlightCodeInRef(ref, deps = []) { + React.useEffect(() => { + if (ref && ref.current) { + Prism.highlightAllUnder(ref.current); + } + }, [ref, ...deps]); +} diff --git a/src/components/shared/code/code.view.js b/src/components/shared/code/code.view.js new file mode 100644 index 0000000000..5f462d630f --- /dev/null +++ b/src/components/shared/code/code.view.js @@ -0,0 +1,34 @@ +import * as React from 'react'; + +import { highlightCodeInRef } from './code.utils'; +import styles from './code.module.scss'; + +export const Code = (props) => { + const { children, language, className, noLineNumbers } = props; + const ref = React.useRef(null); + + highlightCodeInRef(ref, [children]); + + // TODO: Replace with Prism.highlight, it will fix flashing + // Today's problem: line-numbers don't appear if use Prism.highlight. + // + // const html = Prism.highlight(children, Prism.languages[language], language) + // Then + + return ( +
+
+        {children}
+      
+
+ ); +}; diff --git a/src/components/shared/code/index.js b/src/components/shared/code/index.js new file mode 100644 index 0000000000..6d9faa42c0 --- /dev/null +++ b/src/components/shared/code/index.js @@ -0,0 +1,3 @@ +export { Code } from './code.view'; +export { highlightCodeInRef } from './code.utils'; +export { default as styles } from './code.module.scss'; diff --git a/src/components/shared/cookie-consent/cookie-consent.js b/src/components/shared/cookie-consent/cookie-consent.js new file mode 100644 index 0000000000..2778454127 --- /dev/null +++ b/src/components/shared/cookie-consent/cookie-consent.js @@ -0,0 +1,29 @@ +import React from 'react'; +import styles from './cookie-consent.module.scss'; +import { Button } from '../button'; + +import { main } from 'utils/urls'; + +const CookieConsent = ({ onAccept }) => ( +
+
+ + This site uses cookies. Using k6.io means you agree to use of our + cookies. Please, feel free read our{' '} + + Privacy Policy + {' '} + for further information. + + +
+
+); + +export default CookieConsent; diff --git a/src/components/shared/cookie-consent/cookie-consent.module.scss b/src/components/shared/cookie-consent/cookie-consent.module.scss new file mode 100644 index 0000000000..0f2cc6dc19 --- /dev/null +++ b/src/components/shared/cookie-consent/cookie-consent.module.scss @@ -0,0 +1,24 @@ +.wrapper { + background: $color-primary; + padding-top: 10px; + padding-bottom: 10px; + color: $color-tertiary; + position: fixed; + bottom: 0; + left: 0; + right: 0; + border-top: 2px solid $color-accent-primary; + z-index: 5; // otherwise twitter cards and hot it works video wins +} +.message { + margin-right: 20px; +} +.btn { + @include lg-down { + display: block; + margin-top: 20px; + } + @include xs-down { + width: 100%; + } +} diff --git a/src/components/shared/cookie-consent/index.js b/src/components/shared/cookie-consent/index.js new file mode 100644 index 0000000000..9a4b251171 --- /dev/null +++ b/src/components/shared/cookie-consent/index.js @@ -0,0 +1,3 @@ +import CookieConsent from './cookie-consent' + +export default CookieConsent diff --git a/src/components/shared/custom-content-container/custom-content-container.js b/src/components/shared/custom-content-container/custom-content-container.js new file mode 100644 index 0000000000..9bec49d6ac --- /dev/null +++ b/src/components/shared/custom-content-container/custom-content-container.js @@ -0,0 +1,15 @@ +import React from 'react'; +import classNames from 'classnames'; +import styles from './custom-content-container.module.scss'; + +const TextBlock = ({ label, children }) => ( +
+
+
+
{children}
+
+
+
+); + +export default TextBlock; diff --git a/src/components/shared/custom-content-container/custom-content-container.module.scss b/src/components/shared/custom-content-container/custom-content-container.module.scss new file mode 100644 index 0000000000..b1093acb75 --- /dev/null +++ b/src/components/shared/custom-content-container/custom-content-container.module.scss @@ -0,0 +1,9 @@ +/* your css code */ +.wrapper { + p { + margin: 0; + &:not(:last-child) { + margin-bottom: 15px; + } + } +} diff --git a/src/components/shared/custom-content-container/index.js b/src/components/shared/custom-content-container/index.js new file mode 100644 index 0000000000..1bfdd553d3 --- /dev/null +++ b/src/components/shared/custom-content-container/index.js @@ -0,0 +1,3 @@ +import CustomContentContainer from './custom-content-container'; + +export default CustomContentContainer; diff --git a/src/components/shared/field/field.module.scss b/src/components/shared/field/field.module.scss new file mode 100644 index 0000000000..1d47d8eb61 --- /dev/null +++ b/src/components/shared/field/field.module.scss @@ -0,0 +1,14 @@ +.wrapper { + +} + +.label { + display: block; + font-size: $font-size-xs; + line-height: $line-height-xs; + font-weight: 500; + letter-spacing: 0.5px; + text-transform: uppercase; + color: $color-secondary; + margin-bottom: 5px; +} diff --git a/src/components/shared/field/field.story.js b/src/components/shared/field/field.story.js new file mode 100644 index 0000000000..484d531c36 --- /dev/null +++ b/src/components/shared/field/field.story.js @@ -0,0 +1,15 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { Field } from '.'; + + +storiesOf('Field', module) + .add('Default', () => ( + + )) + .add('As tag "textarea"', () => ( + + )) + .add('Invalid', () => ( + + )); diff --git a/src/components/shared/field/field.view.js b/src/components/shared/field/field.view.js new file mode 100644 index 0000000000..b28280b2a7 --- /dev/null +++ b/src/components/shared/field/field.view.js @@ -0,0 +1,20 @@ +import React from 'react'; +import classNames from 'classnames'; +import { TextField } from '../text-field'; + +import styles from './field.module.scss'; + + +export const Field = ({ className, id, label, tag, isInvalid, onChange, ...attributes }) => { + const wrapperClassName = classNames( + styles.wrapper, + className, + ); + + return ( +
+ + +
+ ); +}; diff --git a/src/components/shared/field/index.js b/src/components/shared/field/index.js new file mode 100644 index 0000000000..1fbb6fcab1 --- /dev/null +++ b/src/components/shared/field/index.js @@ -0,0 +1 @@ +export { Field } from './field.view'; diff --git a/src/components/shared/heading/heading.module.scss b/src/components/shared/heading/heading.module.scss new file mode 100644 index 0000000000..3ef6e960cb --- /dev/null +++ b/src/components/shared/heading/heading.module.scss @@ -0,0 +1,30 @@ +.wrapper { + // font-size variables system is completely broken due to + // absent 25/35 values that must be lg. That's why md size set to a lg values + &_size_lg { + font-size: 25px; // no variables exists + line-height: 35px; + } + + &_size_md { + font-size: $font-size-lg; + line-height: $line-height-lg; + } + + &_size_sm { + font-size: $font-size-sm; + line-height: $line-height-sm; + } + + &_size_xs { + font-size: $font-size-xs; + line-height: $line-height-xs; + // no other variants of these params exist at xs size, + // so they're hardcoded here + letter-spacing: 0.5px; + text-transform: uppercase; + font-weight: 500; + color: $color-secondary; + text-align: center; + } +} diff --git a/src/components/shared/heading/heading.story.js b/src/components/shared/heading/heading.story.js new file mode 100644 index 0000000000..4191bed95f --- /dev/null +++ b/src/components/shared/heading/heading.story.js @@ -0,0 +1,15 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { Heading } from '.'; + + +storiesOf('Heading', module) + .add('Default size', () => ( + TT Norms pro, 30px/40px, regular, #3C3C64 + )) + .add('Size "md"', () => ( + TT Norms pro, 25px/35px, regular, #5A5C87 + )) + .add('Size "sm"', () => ( + TT Norms pro, 20px/25px, regular, #5A5C87 + )); diff --git a/src/components/shared/heading/heading.view.js b/src/components/shared/heading/heading.view.js new file mode 100644 index 0000000000..fa957507f2 --- /dev/null +++ b/src/components/shared/heading/heading.view.js @@ -0,0 +1,21 @@ +import React from 'react'; +import classNames from 'classnames'; + +import styles from './heading.module.scss'; + +export const Heading = ({ className, id, tag = 'h1', size, children }) => { + const wrapperClassName = classNames( + styles.wrapper, + { [styles.wrapper_size_lg]: size === 'lg' }, + { [styles.wrapper_size_md]: size === 'md' }, + { [styles.wrapper_size_sm]: size === 'sm' }, + { [styles.wrapper_size_xs]: size === 'xs' }, + className, + ); + + return React.createElement( + tag, + { className: wrapperClassName, id }, + children, + ); +}; diff --git a/src/components/shared/heading/index.js b/src/components/shared/heading/index.js new file mode 100644 index 0000000000..5f49296f9e --- /dev/null +++ b/src/components/shared/heading/index.js @@ -0,0 +1 @@ +export { Heading } from './heading.view'; diff --git a/src/components/shared/helper-widget/helper-widget.js b/src/components/shared/helper-widget/helper-widget.js new file mode 100644 index 0000000000..5892deaa7c --- /dev/null +++ b/src/components/shared/helper-widget/helper-widget.js @@ -0,0 +1,132 @@ +import React, { useState, useEffect } from 'react'; +import { Link, navigate } from 'gatsby'; +import styles from './helper-widget.module.scss'; +// icons +import OpenIcon from './svg/open.inline.svg'; +import CloseIcon from './svg/close.inline.svg'; +import Slack from './svg/slack.inline.svg'; +import Cloud from './svg/cloud.inline.svg'; +import Message from './svg/message.inline.svg'; + +const CHAT_ONLY_PATHS = [ + '/cloud', + '/cloud/', + '/docs/cloud', + '/docs/cloud/', + '/pricing', + '/pricing/', +]; + +const HelperWidget = props => { + // states + const [shouldRender, setShouldRender] = useState(false); + const [driftReady, setDriftReady] = useState(false); + const [defaultWidgetIsOpen, setDefaultWidgetIsOpen] = useState(false); + + const widgetClickOutside = e => { + const widget = document.getElementById('custom-drift-widget-container'); + if (!widget.contains(e.target)) { + setDefaultWidgetIsOpen(false); + document.removeEventListener('click', widgetClickOutside); + } + }; + + useEffect(() => { + // checking if drift obj is presented at all + if (typeof window.drift !== 'undefined') { + // try to send an opaque get request to drift api + fetch('https://js.driftt.com/', { mode: 'no-cors' }) + .then(res => { + // if successfull (endpoint is not blocked by ad blocker) + // use native drift listener + window.drift.on('ready', api => { + setDriftReady(true); + setShouldRender(true); + }); + }) + .catch(err => { + // else just render without setting drifReady flag + setShouldRender(true); + }); + } + }, [shouldRender]); + + const handleCloudClick = () => { + if (driftReady) { + window.drift.api.sidebar.open(); + setDefaultWidgetIsOpen(false); + document.removeEventListener('click', widgetClickOutside); + } else { + navigate('/contact'); + } + }; + // handlers + const handleOpenClick = () => { + const showChatOnly = CHAT_ONLY_PATHS.some(path => + window.location.pathname.includes(path), + ); + if (showChatOnly) { + handleCloudClick(); + } else { + setDefaultWidgetIsOpen(true); + document.addEventListener('click', widgetClickOutside); + } + }; + const handleCloseClick = () => { + if (defaultWidgetIsOpen) { + setDefaultWidgetIsOpen(false); + document.removeEventListener('click', widgetClickOutside); + } + }; + return shouldRender ? ( +
+
+ {!defaultWidgetIsOpen && ( + + )} + {defaultWidgetIsOpen && ( + + )} + {defaultWidgetIsOpen && ( + + )} +
+
+ ) : null; +}; + +export default HelperWidget; diff --git a/src/components/shared/helper-widget/helper-widget.module.scss b/src/components/shared/helper-widget/helper-widget.module.scss new file mode 100644 index 0000000000..40309ecdf2 --- /dev/null +++ b/src/components/shared/helper-widget/helper-widget.module.scss @@ -0,0 +1,91 @@ +.wrapper { + position: fixed; + right: 40px; + bottom: 40px; + display: flex; + z-index: 5; +} + +.button { + background: transparent; + appearance: none; + outline: none; + border: none; + padding: 0; + &:hover { + cursor: pointer; + } +} + +.menu-wrapper { + display: flex; + flex-flow: column; + align-items: flex-end; +} + +.list { + padding: 0; + margin: 0; + display: flex; + flex-flow: column; + list-style: none; + border: 1px solid $color-additional-2; + border-radius: 10px; + background: $color-tertiary; + box-shadow: $light-block-shadow; + margin-bottom: 15px; +} + +.list-item svg { + margin-right: 10px; + path { + transition: all 0.3s ease; + } +} + +.list-item a, +.list-item button { + appearance: none; + outline: none; + text-decoration: none; + display: flex; + font-size: $font-size-xs; + line-height: 1; + font-weight: 500; + color: $color-primary; + align-items: center; + text-transform: uppercase; + transition: all 0.3s ease; + padding: 15px 20px; + margin: 0; + width: 100%; + min-height: 50px; + cursor: pointer; + border: none; + &:hover { + svg path { + fill: $color-accent-primary; + } + } +} + +.title { + font-size: $font-size-sm; + line-height: $line-height-sm; + text-transform: none; + padding: 15px 20px; + font-weight: 500; + color: $color-primary; + margin: 0; +} + +.list-item { + display: flex; + &:first-child { + background-color: $color-additional-3; + border-radius: 10px 10px 0 0; + } + &:not(:last-child) { + border-bottom: 1px solid $color-additional-2; + } +} diff --git a/src/components/shared/helper-widget/index.js b/src/components/shared/helper-widget/index.js new file mode 100644 index 0000000000..52185e9dac --- /dev/null +++ b/src/components/shared/helper-widget/index.js @@ -0,0 +1,3 @@ +import HelperWidget from './helper-widget' + +export default HelperWidget diff --git a/src/components/shared/helper-widget/svg/close.inline.svg b/src/components/shared/helper-widget/svg/close.inline.svg new file mode 100644 index 0000000000..ca380b7357 --- /dev/null +++ b/src/components/shared/helper-widget/svg/close.inline.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/components/shared/helper-widget/svg/cloud.inline.svg b/src/components/shared/helper-widget/svg/cloud.inline.svg new file mode 100644 index 0000000000..574bb219ca --- /dev/null +++ b/src/components/shared/helper-widget/svg/cloud.inline.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/shared/helper-widget/svg/message.inline.svg b/src/components/shared/helper-widget/svg/message.inline.svg new file mode 100644 index 0000000000..5a4397d332 --- /dev/null +++ b/src/components/shared/helper-widget/svg/message.inline.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/components/shared/helper-widget/svg/open.inline.svg b/src/components/shared/helper-widget/svg/open.inline.svg new file mode 100644 index 0000000000..be506f4eae --- /dev/null +++ b/src/components/shared/helper-widget/svg/open.inline.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/components/shared/helper-widget/svg/slack.inline.svg b/src/components/shared/helper-widget/svg/slack.inline.svg new file mode 100644 index 0000000000..71d0ba7a84 --- /dev/null +++ b/src/components/shared/helper-widget/svg/slack.inline.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/components/shared/hero-frame/hero-frame.module.scss b/src/components/shared/hero-frame/hero-frame.module.scss new file mode 100644 index 0000000000..8c9f73ee62 --- /dev/null +++ b/src/components/shared/hero-frame/hero-frame.module.scss @@ -0,0 +1,22 @@ +.background-wrapper { + position: absolute; + bottom: 0; + left: 50%; + width: 2200px; + transform: translateY(100%) translateX(-50%); + + svg { + display: inline-block; + vertical-align: top; + } + + @media only screen and (min-width: 2201px) { + display: none; + } +} + +.background-line { + position: absolute; + bottom: 0; + left: 0; +} diff --git a/src/components/shared/hero-frame/hero-frame.scss b/src/components/shared/hero-frame/hero-frame.scss new file mode 100644 index 0000000000..041ff314b8 --- /dev/null +++ b/src/components/shared/hero-frame/hero-frame.scss @@ -0,0 +1,11 @@ +@keyframes hero-frame-background-line-animation { + from { + width: 450px; + x: 0px; + } + + to { + width: 450px; + x: 2200px; + } +} diff --git a/src/components/shared/hero-frame/hero-frame.view.js b/src/components/shared/hero-frame/hero-frame.view.js new file mode 100644 index 0000000000..fad2365499 --- /dev/null +++ b/src/components/shared/hero-frame/hero-frame.view.js @@ -0,0 +1,17 @@ +import React from 'react'; +import Background from './svg/background.inline.svg'; +import BackgroundLine from './svg/background-line.inline.svg'; +import styles from './hero-frame.module.scss'; +import './hero-frame.scss'; + +export const HeroFrame = (props) => { + const { wrapperLabel, backgroundLabel, lineLabel } = props; + return ( +
+ + +
+ ); +}; diff --git a/src/components/shared/hero-frame/index.js b/src/components/shared/hero-frame/index.js new file mode 100644 index 0000000000..7a91b6ff57 --- /dev/null +++ b/src/components/shared/hero-frame/index.js @@ -0,0 +1 @@ +export { HeroFrame } from './hero-frame.view'; diff --git a/src/components/shared/hero-frame/svg/background-line.inline.svg b/src/components/shared/hero-frame/svg/background-line.inline.svg new file mode 100644 index 0000000000..2dca70cfe3 --- /dev/null +++ b/src/components/shared/hero-frame/svg/background-line.inline.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/components/shared/hero-frame/svg/background.inline.svg b/src/components/shared/hero-frame/svg/background.inline.svg new file mode 100644 index 0000000000..dac8d41874 --- /dev/null +++ b/src/components/shared/hero-frame/svg/background.inline.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/shared/item-card/index.js b/src/components/shared/item-card/index.js new file mode 100644 index 0000000000..e002e9fbf1 --- /dev/null +++ b/src/components/shared/item-card/index.js @@ -0,0 +1,2 @@ +export { ItemCard } from './item-card.view'; +export { default as styles } from './item-card.module.scss'; diff --git a/src/components/shared/item-card/item-card.module.scss b/src/components/shared/item-card/item-card.module.scss new file mode 100644 index 0000000000..82a01755aa --- /dev/null +++ b/src/components/shared/item-card/item-card.module.scss @@ -0,0 +1,110 @@ +.wrapper { + position: relative; + display: flex; + flex-direction: column; + height: 100%; + text-decoration: none; + color: inherit; + box-shadow: 0 1px 5px rgba($color-primary, 0.05); + transition: 0.3s; + overflow: hidden; + + // to emulate the border + // this complex emulation required for hover effect (see .circleWrapper and .circle in this file) + padding: 1px; + background: $color-additional-2; + @include hover-supported { + &:hover { + box-shadow: 0 5px 10px rgba($color-primary, 0.05); + transform: translateY(-4px); + + .corner { + opacity: 1; + visibility: visible; + } + .circle-wrapper { + display: block; + opacity: 1; + } + } + } + + &_lifted { + top: -50px; + + @include sm-down { + top: 0px; + } + } +} + +.circle-wrapper { + position: absolute; + width: 100%; + height: 100%; + opacity: 0; + transition: 0.3s ease opacity; + transform: translate3d(100%, 0, 0); + + &2 { + transform: translate3d(100%, 100%, 0); + } +} + +.circle { + width: 150px; + height: 150px; + background: radial-gradient(#7d64ff, #ece8f1 77%, #ece8f1); + position: absolute; + transform: translate(-50%, -50%); + border-radius: 50%; +} + +.content { + position: relative; + padding: 25px 20px; + background: white; + flex-grow: 1; +} + +.title { + margin-bottom: 10px; + font-size: $font-size-lg; + line-height: $line-height-lg; +} + +.text { + font-size: $font-size-sm; + line-height: $line-height-sm; + color: $color-secondary; + margin-top: 0; + margin-bottom: 0; +} + +.footer { + position: relative; + border-top: 1px solid $color-additional-2; + background-color: $color-additional-3; + padding-top: 10px; + padding-right: 20px; + padding-bottom: 10px; + padding-left: 20px; + margin-top: auto; +} + +.link { + font-size: $font-size-sm; + line-height: $line-height-sm; + font-weight: 500; + text-decoration: none; + color: $color-accent-primary; +} + +.corner { + position: absolute; + top: -1px; + right: -1px; + opacity: 0; + visibility: hidden; + transition: 0.3s; +} diff --git a/src/components/shared/item-card/item-card.story.js b/src/components/shared/item-card/item-card.story.js new file mode 100644 index 0000000000..8b70b8c208 --- /dev/null +++ b/src/components/shared/item-card/item-card.story.js @@ -0,0 +1,25 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { ItemCard, styles as itemCardStyles } from '.'; + +storiesOf('ItemCard', module) + .add('default', () => ( +
+
+
+ +
+
Results output
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. + Lorem Ipsum has been the industrys standard dummy text +
+
+
+
Read more
+
+
+
+
+
+ )); diff --git a/src/components/shared/item-card/item-card.view.js b/src/components/shared/item-card/item-card.view.js new file mode 100644 index 0000000000..04fbcbf32e --- /dev/null +++ b/src/components/shared/item-card/item-card.view.js @@ -0,0 +1,24 @@ +import React from 'react'; +import styles from './item-card.module.scss'; +import { Link } from 'gatsby'; + +export const ItemCard = (props) => { + const { children, lifted, as, label, noBorderOnHover, ...rest } = props; + const Component = as || Link; + + return ( + + {!noBorderOnHover && ( +
+
+
+ )} + {children} + + ); +}; diff --git a/src/components/shared/lines/index.js b/src/components/shared/lines/index.js new file mode 100644 index 0000000000..9d5102edd9 --- /dev/null +++ b/src/components/shared/lines/index.js @@ -0,0 +1 @@ +export { Lines } from './lines.view'; diff --git a/src/components/shared/lines/lines.module.scss b/src/components/shared/lines/lines.module.scss new file mode 100644 index 0000000000..e8c35d01a8 --- /dev/null +++ b/src/components/shared/lines/lines.module.scss @@ -0,0 +1,9 @@ +.wrapper { + position: absolute; + top: 80px; + left: 50%; + width: 100%; + z-index: -1; + min-width: 1480px; + transform: translateX(-50%); +} diff --git a/src/components/shared/lines/lines.scss b/src/components/shared/lines/lines.scss new file mode 100644 index 0000000000..fdecbd72c9 --- /dev/null +++ b/src/components/shared/lines/lines.scss @@ -0,0 +1,13 @@ +@keyframes lines-animation { + from { + y: -200px + } + + 33% { + y: 100%; + } + + to { + y: 100%; + } +} diff --git a/src/components/shared/lines/lines.story.js b/src/components/shared/lines/lines.story.js new file mode 100644 index 0000000000..48bc5b361d --- /dev/null +++ b/src/components/shared/lines/lines.story.js @@ -0,0 +1,27 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { Lines } from '.'; + + +storiesOf('Lines', module) + .add('Image number 1', () => ( + + )) + .add('Image number 2', () => ( + + )) + .add('Image number 3', () => ( + + )) + .add('Image number 4', () => ( + + )) + .add('Image number 5', () => ( + + )) + .add('Image number 6', () => ( + + )) + .add('Image number 7', () => ( + + )); diff --git a/src/components/shared/lines/lines.view.js b/src/components/shared/lines/lines.view.js new file mode 100644 index 0000000000..71333b509f --- /dev/null +++ b/src/components/shared/lines/lines.view.js @@ -0,0 +1,27 @@ +import React from 'react'; + +import Image1 from './svg/image1.inline.svg'; +import Image2 from './svg/image2.inline.svg'; +import Image3 from './svg/image3.inline.svg'; +import Image4 from './svg/image4.inline.svg'; +import Image5 from './svg/image5.inline.svg'; +import Image6 from './svg/image6.inline.svg'; +import Image7 from './svg/image7.inline.svg'; +import styles from './lines.module.scss'; +import './lines.scss'; + +const images = { + 1: , + 2: , + 3: , + 4: , + 5: , + 6: , + 7: , +}; + +export const Lines = ({ className, imageNumber }) => ( +
+ {images[imageNumber]} +
+); diff --git a/src/components/shared/lines/svg/image1.inline.svg b/src/components/shared/lines/svg/image1.inline.svg new file mode 100644 index 0000000000..de663e1861 --- /dev/null +++ b/src/components/shared/lines/svg/image1.inline.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/shared/lines/svg/image2.inline.svg b/src/components/shared/lines/svg/image2.inline.svg new file mode 100644 index 0000000000..a73c9d7b4d --- /dev/null +++ b/src/components/shared/lines/svg/image2.inline.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/shared/lines/svg/image3.inline.svg b/src/components/shared/lines/svg/image3.inline.svg new file mode 100644 index 0000000000..3f37e980d5 --- /dev/null +++ b/src/components/shared/lines/svg/image3.inline.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/shared/lines/svg/image4.inline.svg b/src/components/shared/lines/svg/image4.inline.svg new file mode 100644 index 0000000000..efa204ae97 --- /dev/null +++ b/src/components/shared/lines/svg/image4.inline.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/shared/lines/svg/image5.inline.svg b/src/components/shared/lines/svg/image5.inline.svg new file mode 100644 index 0000000000..394d316dbf --- /dev/null +++ b/src/components/shared/lines/svg/image5.inline.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/shared/lines/svg/image6.inline.svg b/src/components/shared/lines/svg/image6.inline.svg new file mode 100644 index 0000000000..16ca700bb3 --- /dev/null +++ b/src/components/shared/lines/svg/image6.inline.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/shared/lines/svg/image7.inline.svg b/src/components/shared/lines/svg/image7.inline.svg new file mode 100644 index 0000000000..e439e4cbd7 --- /dev/null +++ b/src/components/shared/lines/svg/image7.inline.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/shared/search-box/hit-comps.js b/src/components/shared/search-box/hit-comps.js new file mode 100644 index 0000000000..8611960a2c --- /dev/null +++ b/src/components/shared/search-box/hit-comps.js @@ -0,0 +1,21 @@ +import React from 'react'; +import { Heading } from 'components/shared/heading'; +import { Highlight, Snippet } from 'react-instantsearch-dom'; +import { Link } from 'gatsby'; +import styles from './search-box.module.scss'; + +export const docPageHit = clickHandler => ({ hit }) => ( +
+ + + + + + +
+); diff --git a/src/components/shared/search-box/index.js b/src/components/shared/search-box/index.js new file mode 100644 index 0000000000..9a6100a83d --- /dev/null +++ b/src/components/shared/search-box/index.js @@ -0,0 +1 @@ +export { SearchBox } from './search-box.view'; diff --git a/src/components/shared/search-box/search-box.module.scss b/src/components/shared/search-box/search-box.module.scss new file mode 100644 index 0000000000..6fe4583cc5 --- /dev/null +++ b/src/components/shared/search-box/search-box.module.scss @@ -0,0 +1,221 @@ +.wrapper { + display: inline-flex; + height: 45px; + position: relative; + width: 100%; + > form { + flex: 1 0 230px; + height: 100%; + } +} +.search-input { + flex: 1; + height: 100%; + box-shadow: $light-block-shadow; + text-align: left; + overflow-x: auto; + color: $color-primary; + font-weight: 500; + border: 1px solid $color-secondary; + padding: 0 40px 0 15px; + outline: none; + font-size: $font-size-sm; + line-height: $line-height-sm; + border-radius: 0; + appearance: none; + &::placeholder { + color: $color-secondary; + font-weight: 400; + } + &:focus { + border: 1px solid $color-accent-primary; + } +} + +.clear-button { + position: absolute; + right: 13px; + top: calc(50% - 7.5px); + width: 15px; + height: 15px; + opacity: 1; + transition: all 0.3s; + border: none; + outline: none; + cursor: pointer; + background: transparent; + &.inactive { + opacity: 0; + cursor: text; + } + &:before, + &:after { + position: absolute; + top: 0; + background-color: $color-additional-1; + content: ''; + height: 100%; + width: 1px; + transition: all 0.3s; + } + &:before { + transform: rotate(45deg); + } + &:after { + transform: rotate(-45deg); + } + &:hover { + &:before, + &:after { + background-color: $color-primary; + } + } +} + +.root { + position: relative; + display: grid; + grid-gap: 1em; +} + +.focuses { + background: white; + color: $color-accent-primary; + cursor: text; + width: 5em; +} + +.search-form { + display: flex; + flex-direction: row-reverse; + align-items: center; +} + +.hits-wrapper { + display: none; + max-height: 75vh; + overflow: scroll; + z-index: 2; + -webkit-overflow-scrolling: touch; + position: absolute; + right: 0; + top: calc(100% + 15px); + width: calc(1175px / 2); + box-shadow: 0 5px 10px rgba(60, 60, 100, 0.05); + background: $color-tertiary; + border: 1px solid $color-additional-2; + @include lg-down { + width: 100%; + } + &_show { + display: grid; + } + li { + padding: 10px 15px; + } + li + li { + border-top: 1px solid $color-additional-2; + } + ul { + list-style: none; + padding: 0; + margin: 0; + } + mark { + color: $color-accent-primary; + background: $color-additional-2; + } + header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 15px; + border-bottom: 1px solid $color-additional-2; + } +} + +.index-heading { + &-keyword { + font-weight: 500; + } +} +.stats { + font-size: $font-size-xs; + font-weight: 500; +} + +.hit-entry { + text-decoration: none; +} + +.hit-heading { + color: $color-secondary; + font-weight: 500; + outline: none; + display: inline-flex; + &:hover { + border-color: rgba(90, 92, 135, 0.5); + } +} + +.excerpt { + display: block; + color: $color-primary; + font-size: $font-size-sm; + line-height: $line-height-sm; +} + +.powered-by { + border-top: 1px solid $color-additional-2; + display: flex; + align-items: center; + padding: 10px 15px; + font-size: $font-size-sm; + line-height: 1; + a { + display: inline-flex; + align-items: center; + margin-left: auto; + } + svg { + height: 15px; + width: auto; + margin-right: 5px; + margin-left: 10px; + } +} + +.no-results { + padding: 5px 15px; + font-size: $font-size-sm; + color: $color-primary; +} + +.toggle-results-btn { + outline: none; + appearance: none; + border: none; + padding: 0 0 1px 0; + transition: all 0.3s ease; + position: relative; + background: none; + @include no-highlights-on-tap; + &:after { + content: ''; + position: absolute; + right: -15px; + top: 0; + display: block; + width: 8px; + height: 8px; + transform: translateY(35%) rotate(225deg); + border: 2px solid $color-accent-primary; + border-right-color: transparent; + border-bottom-color: transparent; + } + &_open { + &:after { + transform: translateY(100%) rotate(45deg); + } + } +} diff --git a/src/components/shared/search-box/search-box.view.js b/src/components/shared/search-box/search-box.view.js new file mode 100644 index 0000000000..90fc820411 --- /dev/null +++ b/src/components/shared/search-box/search-box.view.js @@ -0,0 +1,147 @@ +import React, { useState, useEffect, useRef } from 'react'; +import { + InstantSearch, + Index, + connectStateResults, + connectHits, +} from 'react-instantsearch-dom'; +import algoliasearch from 'algoliasearch/lite'; +import Input from './search-input'; +import * as hitComps from './hit-comps'; +import classNames from 'classnames'; +import styles from './search-box.module.scss'; +import { Heading } from 'components/shared/heading'; +import Algolia from 'svg/icon-algolia.inline.svg'; + +const Hits = connectHits(({ showAll, hitComponent: Comp, hits }) => ( +
    + {hits.slice(0, showAll ? hits.length - 1 : 5).map((hit, i) => ( +
  • + +
  • + ))} +
+)); + +const Results = connectStateResults( + ({ setResultsExist, searchState: state, searchResults: res, children }) => { + if (res && res.nbHits > 0) { + setResultsExist(true); + return null; + } + setResultsExist(false); + return null; + }, +); + +const Stats = connectStateResults(({ setResultsExist, searchResults: res }) => { + if (res && res.nbHits > 0) { + setResultsExist(true); + return ( + + {`${res.nbHits} result${res.nbHits > 1 ? 's' : ''}`} + + ); + } else { + setResultsExist(false); + return null; + } +}); + +const useClickOutside = (ref, handler, events) => { + if (!events) events = ['mousedown', 'touchstart']; + const detectClickOutside = (event) => + !ref.current.contains(event.target) && handler(); + useEffect(() => { + for (const event of events) { + document.addEventListener(event, detectClickOutside); + } + return () => { + for (const event of events) { + document.removeEventListener(event, detectClickOutside); + } + }; + }); +}; + +export const SearchBox = ({ inputLabel, indices }) => { + if ( + !process.env.GATSBY_ALGOLIA_APP_ID || + !process.env.GATSBY_ALGOLIA_SEARCH_ONLY_KEY + ) { + return null; + } + const rootRef = useRef(null); + const [query, setQuery] = useState(''); + const [focus, setFocus] = useState(false); + const [allResultsShown, setAllResultsShown] = useState(false); + const [resultsExist, setResultsExist] = useState(false); + + const searchClient = algoliasearch( + process.env.GATSBY_ALGOLIA_APP_ID, + process.env.GATSBY_ALGOLIA_SEARCH_ONLY_KEY, + ); + useClickOutside(rootRef, () => setFocus(false)); + return ( +
+ setQuery(query)} + placeholder={'Search'} + showReset + > + setFocus(true)} + /> +
0 && focus, + })} + > + {indices.map(({ name, hitComp }) => ( + +
+ + {resultsExist ? 'Search results for' : 'No results for'} + "{query}" + + +
+ {resultsExist && ( + setFocus(false))} + /> + )} +
+ ))} + + {resultsExist && ( + + )} + + Powered by + + Algolia + + +
+
+
+ ); +}; diff --git a/src/components/shared/search-box/search-input.js b/src/components/shared/search-box/search-input.js new file mode 100644 index 0000000000..99be8a376f --- /dev/null +++ b/src/components/shared/search-box/search-input.js @@ -0,0 +1,33 @@ +import React, { useRef } from 'react'; +import classNames from 'classnames'; +import { connectSearchBox } from 'react-instantsearch-dom'; +import styles from './search-box.module.scss'; + +export default connectSearchBox( + ({ refine, label, queryLength, clearQuery, onFocus, clear }) => { + const inputRef = useRef(null); + return ( +
+ refine(e.target.value)} + onFocus={onFocus} + /> +
diff --git a/src/data/markdown/docs/02 javascript api/05 k6-html/Element -k6-html-.md b/src/data/markdown/docs/02 javascript api/05 k6-html/Element -k6-html-.md new file mode 100644 index 0000000000..073927ae7f --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/05 k6-html/Element -k6-html-.md @@ -0,0 +1,162 @@ +--- +title: "Element" +category: "k6api-class" +description: "An HTML DOM element as returned by the Selection API." +--- +Represents a DOM element matched by a [Selection](/javascript-api/k6-html/selection), +and provides an API to inspect the element content. + +Use [Selection.get(index)](/javascript-api/k6-html/selection/selection-get-index) to return an Element object. + +The Element object provides a similar API to the [DOM Element API](https://developer.mozilla.org/en-US/Web/API/Element) to retrieve element information. + +| Method | Description | +|------------------------|--------------------------------------------------------------------| +| nodeName | The name of the element. | +| nodeType | The type of the element. | +| nodeValue | The element value. | +| id | The id of the element. | +| innerHTML | Is a DOMString representing the markup of the element's content. | +| textContent | The element content. | +| ownerDocument | [Element](/javascript-api/k6-html/element) | +| attributes | An array of attributes. | +| firstChild | [Element](/javascript-api/k6-html/element) | +| lastChild | [Element](/javascript-api/k6-html/element) | +| childElementCount | The number of children elements. | +| firstElementChild | [Element](/javascript-api/k6-html/element) | +| lastElementChild | [Element](/javascript-api/k6-html/element) | +| previousSibling | [Element](/javascript-api/k6-html/element) | +| nextSibling | [Element](/javascript-api/k6-html/element) | +| previousElementSibling | [Element](/javascript-api/k6-html/element) | +| nextElementSibling | [Element](/javascript-api/k6-html/element) | +| parentElement | [Element](/javascript-api/k6-html/element) | +| parentNode | [Element](/javascript-api/k6-html/element) | +| childNodes | Array of [Element](/javascript-api/k6-html/element) | +| children | Array of [Element](/javascript-api/k6-html/element) | +| classList | An array of class names. | +| className | The class name string | +| lang | The value of the lang attribute. | +| toString | The element string representation. | +| hasAttribute | Boolean | +| getAttribute | getAttributeNode | +| hasAttributes | Boolean | +| hasChildNodes | Boolean | +| isSameNode | Boolean | +| isEqualNode | Boolean | +| getElementsByClassName | Return an array of [Element](/javascript-api/k6-html/element). | +| getElementsByTagName | Return an array of [Element](/javascript-api/k6-html/element). | +| querySelector | Returns the first [Element](/javascript-api/k6-html/element) which matches the specified selector string relative to the element | +| querySelectorAll | Returns all the [Element](/javascript-api/k6-html/element) which matches the specified selector string relative to the element | +| contains | | +| matches | Returns a Boolean indicating whether or not the element would be selected by the specified selector string| +| namespaceURI | The namespace URI of the element. | +| isDefaultNamespace | Returns a Boolean indicating whether the element has the default namespace.| + + +Additionally, Element can provide more methods depending on the Element type. + +- **AnchorElement**: hash, host, hostname, port, username, password, origin, pathname, protocol, relist, search, text. + +- **ButtonElement**: form, formAction, formEnctype, formMethod, formNoValidate, formTarget, labels, name, value. + +- **CanvasElement**: width, height + +- **DataListElement**: options + +- **FieldSetElement**: elements, type, form + +- **FormElement**: elements, length, method + +- **InputElement**: form + +- **LabelElement**: control, form + +- **LegendElement**: form + +- **LinkElement**: relList + +- **MapElement**: areas, images + +- **ObjectElement**: form + +- **OptionElement**: disabled, form, index, label, text, value + +- **OutputElement**: value, labels + +- **ProgressElement**: max, value, position + +- **ScriptElement**: text + +- **SelectElement**: form, length, options, selectedOptions, selectedIndex, value + +- **StyleElement**: text + +- **TableElement**: caption, thead, tbody, tfoot, rows + +- **TableCellElement**: cellIndex, colSpan, rowSpan, headers + +- **TableRowElement**: cells, colSpan, sectionRowIndex, rowIndex + +- **VideoElement**: textTracks + +- **TitleElement**: text + + +### Example + +
+ +```js +import {parseHTML} from "k6/html"; +import {sleep} from "k6"; + +export default function() { + const content = ` +
+
Value term 1
+
Value term 2
+
+ `; + const sel = parseHTML(content).find('dl').children(); + + const el1 = sel.get(0); + const el2 = sel.get(1); + + console.log(el1.nodeName()); + console.log(el1.id()); + console.log(el1.textContent()); + + console.log(el2.nodeName()); + console.log(el2.id()); + console.log(el2.textContent()); + + sleep(1); +}; +``` + +
+ +
+ +```js +import {parseHTML} from "k6/html"; +import {sleep} from "k6"; + +export default function() { + + const content = ` +\t6 + `; + const el = parseHTML(content).find('a').get(0); + + console.log(el.nodeName()); + console.log(el.innerHTML()); + console.log(el.host()); + console.log(el.hostname()); + console.log(el.protocol()); + + sleep(1); +}; +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/05 k6-html/parseHTML- src -.md b/src/data/markdown/docs/02 javascript api/05 k6-html/parseHTML- src -.md new file mode 100644 index 0000000000..84a8c39204 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/05 k6-html/parseHTML- src -.md @@ -0,0 +1,37 @@ +--- +title: "parseHTML( src )" +description: "Parse an HTML string and populate a Selection object." +--- +Parse an HTML string and populate a [Selection](/javascript-api/k6-html/selection) object. + + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| src | string | HTML source. | + + +### Returns + +| Type | Description | +| ---- | ----------- | +| [Selection](/javascript-api/k6-html/selection) | A Selection object. | + + +### Example + + +
+ +```js +import {parseHTML} from "k6/html"; +import http from "k6/http"; + +export default function() { + const res = http.get("https://k6.io"); + const doc = parseHTML(res.body); // equivalent to res.html() + const pageTitle = doc.find('head title').text(); + const langAttr = doc.find('html').attr('lang'); +}; +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http.md b/src/data/markdown/docs/02 javascript api/06 k6-http.md new file mode 100644 index 0000000000..671d60548d --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http.md @@ -0,0 +1,5 @@ +--- +title: 'k6/http' +--- + +The k6/http module contains functionality for performing HTTP transactions. diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/60 CookieJar.md b/src/data/markdown/docs/02 javascript api/06 k6-http/60 CookieJar.md new file mode 100644 index 0000000000..ab7e856306 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/60 CookieJar.md @@ -0,0 +1,34 @@ +--- +title: "CookieJar (k6/http)" +category: "k6api-class" +description: "Used for storing cookies, set by the server and/or added by the client." +--- + +_CookieJar_ is an object for storing cookies, set by the server and/or added by the client. As described in the how-to guide on using [Cookies](/using-k6/cookies), k6 handles cookies automatically by default. If you need more control over cookies you can however create your own cookie jar and select it as the active jar (instead of the default one created by k6) for one or more requests. + +| Method | Description | +| ---------------- | ----------- | +| [cookiesForURL(url)](/javascript-api/k6-http/cookiejar/cookiejar-cookiesforurl-url) | Get Object of cookies where the key is the cookie name and the value is an array. | +| [set(name, value, [options])](/javascript-api/k6-http/cookiejar/cookiejar-set-name-value-options) | Set a cookie in the jar by specifying name, value and some other optional settings like domain, path etc. | + + +### Example + +
+ +```js +import http from "k6/http"; +import { check } from "k6"; + +export default function() { + let res = http.get("https://httpbin.org/cookies/set?my_cookie=hello%20world", { redirects: 0 }); + let jar = http.cookieJar(); + let cookies = jar.cookiesForURL("http://httpbin.org/"); + check(res, { + "has cookie 'my_cookie'": (r) => cookies.my_cookie.length > 0, + "cookie has correct value": (r) => cookies.my_cookie[0] === "hello world" + }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/60 CookieJar/CookieJar-cookiesForUrl-url-.md b/src/data/markdown/docs/02 javascript api/06 k6-http/60 CookieJar/CookieJar-cookiesForUrl-url-.md new file mode 100644 index 0000000000..cd1e931869 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/60 CookieJar/CookieJar-cookiesForUrl-url-.md @@ -0,0 +1,40 @@ +--- +title: 'CookieJar.cookiesForUrl(url)' +excerpt: '' +--- + +| Parameter | Type | Description | +| --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| url | string | The URL for which to get cookies. | + + +### Returns + +| Type | Description | +| ---- | ----------- | +| object | Object of cookies where the key is the cookie name and the value is an array. | + + +### Example + +
+ +```js +import http from 'k6/http'; +import { check } from 'k6'; + +export default function() { + let res = http.get( + 'https://httpbin.org/cookies/set?my_cookie=hello%20world', + { redirects: 0 }, + ); + let jar = http.cookieJar(); + let cookies = jar.cookiesForURL('http://httpbin.org/'); + check(res, { + "has cookie 'my_cookie'": r => cookies.my_cookie.length > 0, + 'cookie has correct value': r => cookies.my_cookie[0] === 'hello world', + }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/60 CookieJar/CookieJar-set-name- value- -options--.md b/src/data/markdown/docs/02 javascript api/06 k6-http/60 CookieJar/CookieJar-set-name- value- -options--.md new file mode 100644 index 0000000000..6ffce5fd61 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/60 CookieJar/CookieJar-set-name- value- -options--.md @@ -0,0 +1,40 @@ +--- +title: 'CookieJar.set(name, value, [options])' +--- + +Set a cookie in the jar by specifying name, value and some other optional settings like domain, path, etc. + +| Parameter | Type | Description | +| --------- | -------- | ------------ | +| name | string | Cookie name | +| value | string | Cookie value | +| options (optional) | object | Specific cookie settings: `domain`, `path`, `expires`, `max_age`, `secure` and `http_only`. | + + +### Example + +
+ +```js +import http from 'k6/http'; +import { check } from 'k6'; + +export default function() { + let jar = http.cookieJar(); + jar.set('https://httpbin.org/cookies', 'my_cookie', 'hello world', { + domain: 'httpbin.org', + path: '/cookies', + secure: true, + max_age: 600, + }); + let res = http.get('https://httpbin.org/cookies'); + check(res, { + 'has status 200': r => r.status === 200, + "has cookie 'my_cookie'": r => r.json().cookies.my_cookie !== null, + 'cookie has correct value': r => + r.json().cookies.my_cookie == 'hello world', + }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/61 Response.md b/src/data/markdown/docs/02 javascript api/06 k6-http/61 Response.md new file mode 100644 index 0000000000..5920e8dd20 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/61 Response.md @@ -0,0 +1,74 @@ +--- +title: 'Response (k6/http)' +category: 'k6api-class' +description: 'Returned by the http.* methods that generate HTTP requests.' +--- + +Response is used by the http.\* methods that generate HTTP request. Those methods return one (or more, in the case of `http.batch()`) Response objects that contain HTTP response contents and performance timing measurements. + +Note that in the case of redirects, all the information in the Response object will pertain to the last request (the one that doesn't get redirected). + +| Name | Type | Description | +| ------------------------------------------------------------------------------------------------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Response.body` | string | Response body content.

See [Params.responseType](/javascript-api/k6-http/params-k6-http) and [options.discardResponseBodies](/using-k6/options) for how to discard the body when it's not needed (and to save memory) or when handling bodies with binary data. | +| `Response.cookies` | object | Response cookies. The object properties are the cookie names and the value is an array of cookie objects (with `name`, `value`, `domain`, `path`, `httpOnly`, `secure`, `maxAge` and `expires` fields). | +| `Response.error` | string | Error message if there was a non-HTTP error while trying to send the request. | +| `Response.error_code` | number | [Error code](/javascript-api/error-codes) if there was a non-HTTP error or 4xx or 5xx HTTP error it will be set to a specific code that describes the error. (Added in 0.24.0) | +| `Response.headers` | object | Key-value pairs representing all HTTP headers sent by the server. | +| `Response.ocsp.produced_at` | number | If a stapled OSCP response was provided by server, the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC, representing the time when this OCSP stapled response was signed by CA (or by CA entrusted OCSP responder) | +| `Response.ocsp.this_update` | number | If a stapled OSCP response was provided by server, the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC, representing the time at which the status being indicated was known to be correct. | +| `Response.ocsp.next_update` | number | If a stapled OSCP response was provided by server, the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC, representing the time when this OCSP stapled response will be refreshed with CA (or by CA entrusted OCSP responder). | +| `Response.ocsp.revocation_reason` | string | The reason for revocation of the certificate (if that is the status), one of the following constants: `http.OCSP_REASON_UNSPECIFIED`, `http.OCSP_REASON_KEY_COMPROMISE`, `http.OCSP_REASON_CA_COMPROMISE`,
`http.OCSP_REASON_AFFILIATION_CHANGED`,
`http.OCSP_REASON_SUPERSEDED`,
`http.OCSP_REASON_CESSATION_OF_OPERATION`,
`http.OCSP_REASON_CERTIFICATE_HOLD`,
`http.OCSP_REASON_REMOVE_FROM_CRL`,
`http.OCSP_REASON_PRIVILEGE_WITHDRAWN` or
`http.OCSP_REASON_AA_COMPROMISE`. | +| `Response.ocsp.revoked_at` | number | If a stapled OSCP response was provided by server, the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC, representing the time when this certificate was revoked (if that is the status). | +| `Response.ocsp.status` | string | The status of the certificate, one of the following constants: `http.OCSP_STATUS_GOOD`, `http.OCSP_STATUS_REVOKED`, `http.OCSP_STATUS_UNKNOWN` or `http.OCSP_STATUS_SERVER_FAILED`. | +| `Response.proto` | string | Protocol used to perform the transfer. Possible values are "HTTP/1.0", "HTTP/1.1", or "HTTP/2.0". | +| `Response.remote_ip` | string | The IP address of the server handling the request. | +| `Response.remote_port` | number | The port that was connected to on the server side. | +| `Response.request.body` | string | Request body content. | +| `Response.request.cookies` | object | Request cookies. The object properties are the cookie names and the value is an array of cookie objects (with `name`, `value` and `replace` fields). | +| `Response.request.headers` | object | Request headers. | +| `Response.request.method` | string | Request HTTP method. | +| `Response.request.url` | string | Request URL. | +| `Response.status` | number | HTTP status code returned by server. | +| `Response.timings` | object | Performance timing information for the HTTP request. | +| `Response.timings.blocked` | float | Containing time (ms) spent blocked before initiating request. | +| `Response.timings.looking_up` (currently unavailable) | float | Containing time (ms) spent looking up host name in DNS. | +| `Response.timings.connecting` | float | Containing time (ms) spent setting up TCP connection to host. | +| `Response.timings.tls_handshaking` | float | Containing time (ms) spent handshaking TLS session with host. | +| `Response.timings.sending` | float | Containing time (ms) spent sending request. | +| `Response.timings.waiting` | float | Containing time (ms) spent waiting for server response. | +| `Response.timings.receiving` | float | Containing time (ms) spent receiving response data. | +| `Response.timings.duration` | float | Total time for the request (ms). It's equal to `sending + waiting + receiving`, i.e. how long did the remote server take to process the request and respond, without the initial DNS lookup/connection times. | +| `Response.tls_cipher_suite` | string | If a TLS session was established, the cipher suite that was used. | +| `Response.tls_version` | string | If a TLS session was established, the version of SSL/TLS that was used. | +| `Response.url` | string | The URL that was ultimately fetched (i.e. after any potential redirects). | +| `[Response.clickLink( [params] )](/javascript-api/k6-http/response/response-clicklink-params)` | function | Parses response as HTML, looks for a specific link and does the request-level equivalent of a click on that link. | +| `Response.html()` | function | Returns an object that supports [Selection.find(selector)](/javascript-api/k6-html/selection/selection-find-selector). | +| `Response.json([selector])` | function | Parses the response body data as JSON and returns a JS object or array. This call caches the deserialized JSON data, additional calls will return the cached data. An optional selector can be specified to extract a specific part of the data, see [here for selector syntax](https://github.com/tidwall/gjson#path-syntax). | +| `[Response.submitForm( [params] )](/javascript-api/k6-http/response/response-submitform-params)` | function | Parses response as HTML, parses the specified form (defaults to looking for a "form" element) with option to override fields and then submits form taking form's `method` and `action` into account. | + +### Example + +
+ +```js +import { check } from 'k6'; +import http from 'k6/http'; + +export default function() { + let res = http.get('https://k6.io'); + for (var p in res.headers) { + if (res.headers.hasOwnProperty(p)) { + console.log(p + ' : ' + res.headers[p]); + } + } + check(res, { + 'status is 200': r => r.status === 200, + 'caption is correct': r => r.html('h1').text() == 'Example Domain', + }); +} +``` + +
+ +_A k6 script that will make an HTTP request and print all HTTP response headers_ diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/61 Response/Response-clickLink- -params- -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/61 Response/Response-clickLink- -params- -.md new file mode 100644 index 0000000000..b94d9aa5de --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/61 Response/Response-clickLink- -params- -.md @@ -0,0 +1,37 @@ +--- +title: 'Response.clickLink( [params] )' +excerpt: '' +--- + +Create and make a request corresponding to a link, found in the HTML of response, being clicked. By default it will look for the first `a` tag with a `href` attribute in the HTML, but this can be overridden using the `selector` option. + +This method takes an object argument where the following properties can be set: + +| Param | Type | Description | +| -------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| selector | string | A selector string passed to [Selection.find(selector)](/javascript-api/k6-html/selection/selection-find-selector) to locate the link to click. By default this is `"a[href]"`. | +| params | object | A [Params](/javascript-api/k6-http/params-k6-http) object that will be forwarded to the link click request. Can be used to set headers, cookies etc. | + +### Returns + +| Type | Description | +| -------------------------------------------------------- | ----------------------- | +| [Response](/javascript-api/k6-http/response-k6-http) | The link click response | + +### Example + +
+ +```js +import http from 'k6/http'; + +export default function() { + // Request page with links + let res = http.get('https://httpbin.org/links/10/0'); + + // Now, click the 4th link on the page + res = res.clickLink({ selector: 'a:nth-child(4)' }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/61 Response/Response-submitForm- -params- -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/61 Response/Response-submitForm- -params- -.md new file mode 100644 index 0000000000..0e35d058eb --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/61 Response/Response-submitForm- -params- -.md @@ -0,0 +1,43 @@ +--- +title: 'Response.submitForm( [params] )' +excerpt: '' +--- + +Fill in and submit form found in HTML of response. By default it will look for the first `form` tag in the HTML, but this can be overridden using the `formSelector` option. To set/override the form fields you set properties of an object in the `fields` option. + +This method takes an object argument where the following properties can be set: + +| Param | Type | Description | +| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| formSelector | string | A selector string passed to [Selection.find(selector)](/javascript-api/k6-html/selection/selection-find-selector) to locate the form to fill in and submit. By default this is `"form"`. | +| fields | object | The form fields to set/override. The keys are the form fields names and the values are the form field values. | +| submitSelector | string | A selector string used to locate the submit button in the form. By default this is `'[type="submit"]'`. | +| params | object | A [Params (k6/http)](/javascript-api/k6-http/params-k6-http) object that will be forwarded to the form submit request. Can be used to set headers, cookies etc. | + +### Returns + +| Type | Description | +| ------------------------------------------------------------------ | ------------------------- | +| [Response (k6/http)](/javascript-api/k6-http/response-k6-http) | The form submit response. | + +### Example + +
+ +```js +import http from 'k6/http'; + +export default function() { + // Request page containing a form + let res = http.get('https://httpbin.org/forms/post'); + + // Now, submit form setting/overriding some fields of the form + res = res.submitForm({ + formSelector: '//form[@action="/post"]', + fields: { custname: 'test', extradata: 'test2' }, + submitSelector: 'mySubmit', + }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/FileData -k6-http-.md b/src/data/markdown/docs/02 javascript api/06 k6-http/FileData -k6-http-.md new file mode 100644 index 0000000000..fe69c54f78 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/FileData -k6-http-.md @@ -0,0 +1,35 @@ +--- +title: "FileData (k6/http)" +category: "k6api-class" +description: "Used for wrapping data representing a file when doing multipart requests (file uploads)." +--- + +_FileData_ is an object for wrapping data representing a file when doing [multipart requests (file uploads)](/using-k6/multipart-requests-file-uploads). You create it by calling [http.file( data, [filename], [contentType] )](/javascript-api/k6-http/file-data-filename-contenttype). + +| Name | Type | Description | +| ---- | ---- | ----------- | +| FileData.data | string / bytes | The bytes representing the file contents. | +| FileData.content_type | string | The content type that will be specified in the multipart request. | +| FileData.filename | string | The filename that will be specified in the multipart request. | + + +### Example + +
+ +```js +import { sleep } from "k6"; +import { md5 } from "k6/crypto"; +import http from "k6/http"; + +let binFile = open("/path/to/file.bin", "b"); + +export default function() { + let f = http.file(binFile, "test.bin"); + console.log(md5(f.data, "hex")); + console.log(f.filename); + console.log(f.content_type); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/Params -k6-http-.md b/src/data/markdown/docs/02 javascript api/06 k6-http/Params -k6-http-.md new file mode 100644 index 0000000000..bd0354e715 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/Params -k6-http-.md @@ -0,0 +1,119 @@ +--- +title: 'Params (k6/http)' +category: 'k6api-class' +description: 'Used for setting various HTTP request-specific parameters such as headers, cookies, etc.' +--- + +_Params_ is an object used by the http.\* methods that generate HTTP requests. _Params_ contains request-specific options like e.g. HTTP headers that should be inserted into the request. + +| Name | Type | Description | +| --------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Params.auth` | string | The authentication method used for the request. It currently supports `digest`, `ntlm`, and `basic` authentication methods. | +| `Params.cookies` | object | Object with key-value pairs representing request scoped cookies (they won't be added to VU cookie jar)
`{cookies: { key: "val", key2: "val2" }}`

You also have the option to say that a request scoped cookie should override a cookie in the VU cookie jar:
`{cookies: { key: { value: "val", replace: true }}}` | +| `Params.headers` | object | Object with key-value pairs representing custom HTTP headers the user would like to add to the request. | +| `Params.jar` | object | http.CookieJar object to override default VU cookie jar with. Cookies added to request will be sourced from this jar and cookies set by server will be added to this jar. | +| `Params.redirects` | number | The number of redirects to follow for this request. Overrides the global test option [`maxRedirects`](/using-k6/options). | +| `Params.tags` | object | Key-value pairs where the keys are names of tags and the values are tag values. Response time metrics generated as a result of the request will have these tags added to them, allowing the user to filter out those results specifically, when looking at results data. | +| `Params.timeout` | number | Request timeout to use in milliseconds. Default timeout is 60000ms(60 seconds). | +| `Params.compression` | string | Sets whether the request body should be compressed. If set to `gzip` it will use gzip to compress the body and set the appropriate `Content-Length` and `Content-Encoding` headers.

Possible values: `gzip`, `deflate`, `br`, `zstd`, and any comma-separated combination of them (for stacked compression) | +| `Params.responseType` | string | ResponseType is used to specify how to treat the body of the response. The three options are:
- text: k6 will return it as a string. This might not be what you want in cases of binary data as the conversation to UTF-16 will probably break it. This is also the default if
[discardResponseBodies](/using-k6/options) is set to false or not set at all.
- `binary`: k6 will return an array of ints/bytes
- `none`: k6 will return null as the body. The whole body will be ignored. This is the default when [discardResponseBodies](/using-k6/options) is set to true. | + +### Example of custom HTTP headers and tags + +_A k6 script that will make an HTTP request with a custom HTTP header and tag results data with a specific tag_ + +
+ +```js +import http from 'k6/http'; + +export default function() { + let params = { + cookies: { my_cookie: 'value' }, + headers: { 'X-MyHeader': 'k6test' }, + redirects: 5, + tags: { k6test: 'yes' }, + }; + let res = http.get('https://k6.io', params); +} +``` + +
+ +### Example using http.batch() with Params + +Here is another example using [http.batch()](/javascript-api/k6-http/batch-requests) with a `Params` argument: + +
+ +```js +import http from 'k6/http'; + +let url1 = 'https://api.k6.io/v3/account/me'; +let url2 = 'http://httpbin.org/get'; +let apiToken = + 'f232831bda15dd233c53b9c548732c0197619a3d3c451134d9abded7eb5bb195'; +let requestHeaders = { + 'User-Agent': 'k6', + Authorization: 'Token ' + apiToken, +}; + +export default function() { + let res = http.batch([ + { method: 'GET', url: url1, params: { headers: requestHeaders } }, + { method: 'GET', url: url2 }, + ]); +} +``` + +
+ +### Example of Digest Authentication + +Here is one example of how to use the `Params` to Digest Authentication. + +
+ +```js +import http from 'k6/http'; +import { check } from 'k6'; + +export default function() { + // Passing username and password as part of URL plus the auth option will authenticate using HTTP Digest authentication + let res = http.get( + 'http://user:passwd@httpbin.org/digest-auth/auth/user/passwd', + { auth: 'digest' }, + ); + + // Verify response + check(res, { + 'status is 200': r => r.status === 200, + 'is authenticated': r => r.json().authenticated === true, + 'is correct user': r => r.json().user === 'user', + }); +} +``` + +
+Example how to overwrite discardResponseBodies: + +### Example of overwrite discardResponseBodies + +
+ +```js +import http from 'k6/http'; + +export var options = { discardResponseBodies: true }; +export default function() {} +export function setup() { + // Get 10 random bytes in as an array of ints/bytes, without the responseType the body will be null + const response = http.get('https://httpbin.org/bytes/10', { + responseType: 'binary', + }); + // Print the array. Will look something like `176,61,15,66,233,98,223,196,43,1` + console.log(response.body); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/batch- requests -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/batch- requests -.md new file mode 100644 index 0000000000..0f85e00b52 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/batch- requests -.md @@ -0,0 +1,164 @@ +--- +title: "batch( requests )" +description: "Issue multiple HTTP requests in parallel (like e.g. browsers tend to do)." +--- + +Batch multiple HTTP requests together, to issue them in parallel over multiple TCP connections. + +| Parameter | Type | Description | +| --------- | -------------- | ---------------------------------------------------------------- | +| requests | array \| object | An array or object containing requests, in string or object form | + +When each request is specified as an array, the order of the arguments for each request is as follows: + + +### Returns + +| Type | Description | +| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| object | An object containing [Response](/javascript-api/k6-http/response-k6-http) objects.

It has integer keys when users pass an array as `requests` and string keys when named requests are used (see below). | + + +| Position | Name | Type | Description | +| -------- | ---- | ---- | ----------- | +| 1 | method | string | Mandatory. The HTTP method of the request. One of GET, POST, PUT, PATCH, DELETE, HEAD or OPTION. | +| 2 | url | string | Mandatory. The URL to request. | +| 3 | body (optional) | string \| object | The body of the request if relevant. Can be set to `null` if not applicable but you want to set the last `params` argument. | +| 4 | params (optional) | object | [Params](/javascript-api/k6-http/params-k6-http) like auth, custom headers and tags. | + + +### Example with request as an array + +
+ +```js +import http from 'k6/http'; +import { check } from 'k6'; + +export default function() { + let responses = http.batch([ + ['GET', 'https://test.k6.io', null, { tags: { ctype: 'html' } }], + [ + 'GET', + 'https://test.k6.io/style.css', + null, + { tags: { ctype: 'css' } }, + ], + [ + 'GET', + 'https://test.k6.io/images/logo.png', + null, + { tags: { ctype: 'images' } }, + ], + ]); + check(responses[0], { + 'main page status was 200': res => res.status === 200, + }); +} +``` + +
+ +### Example batching three URLs for parallel fetching + +
+ +```js +import http from 'k6/http'; +import { check } from 'k6'; + +export default function() { + let responses = http.batch([ + ['GET', 'https://test.k6.io', null, { tags: { ctype: 'html' } }], + [ + 'GET', + 'https://test.k6.io/style.css', + null, + { tags: { ctype: 'css' } }, + ], + [ + 'GET', + 'https://test.k6.io/images/logo.png', + null, + { tags: { ctype: 'images' } }, + ], + ]); + check(responses[0], { + 'main page status was 200': res => res.status === 200, + }); +} +``` + +
+ +### Example with request objects + +You can also use objects to hold information about a request. Here is an example where we do that in order to send a POST request, plus use custom HTTP headers by adding a [Params](/javascript-api/k6-http/params-k6-http) object to the request: + +
+ +```js +import http from 'k6/http'; +import { check } from 'k6'; + +export default function() { + let req1 = { + method: 'GET', + url: 'https://httpbin.org/get', + }; + let req2 = { + method: 'GET', + url: 'https://test.k6.io', + }; + let req3 = { + method: 'POST', + url: 'https://httpbin.org/post', + body: { + hello: 'world!', + }, + params: { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + }, + }; + let responses = http.batch([req1, req2, req3]); + // httpbin.org should return our POST data in the response body, so + // we check the third response object to see that the POST worked. + check(responses[2], { + 'form data OK': res => JSON.parse(res.body)['form']['hello'] == 'world!', + }); +} +``` + +
+ +_Note that the requests in the example above may happen in any order, or simultaneously. There is no guarantee that e.g. req1 will happen before req2 or req3_ + +### Example with named requests + +Finally, you can also send in named requests by using an object instead of an array as the parameter to http.batch(). In the following example we do this, and we also show that it is possible to mix string URLs and request objects + +
+ +```js +import http from 'k6/http'; +import { check } from 'k6'; + +export default function() { + let requests = { + 'front page': 'https://k6.io', + 'features page': { + method: 'GET', + url: 'https://k6.io/features', + params: { headers: { 'User-Agent': 'k6' } }, + }, + }; + let responses = http.batch(requests); + // when accessing results, we use the name of the request as index + // in order to find the corresponding Response object + check(responses['front page'], { + 'front page status was 200': res => res.status === 200, + }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/cookieJar--.md b/src/data/markdown/docs/02 javascript api/06 k6-http/cookieJar--.md new file mode 100644 index 0000000000..4f901d2deb --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/cookieJar--.md @@ -0,0 +1,24 @@ +--- +title: "cookieJar()" +description: "Get active HTTP Cookie jar." +--- + +Get the active cookie jar. + +| Type | Description | +| ---------------------------------------------------------- | ------------------- | +| [CookieJar](/javascript-api/k6-http/cookiejar-k6-http) | A CookieJar object. | + +### Example + +
+ +```js +import http from 'k6/http'; + +export default function() { + let jar = http.cookieJar(); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/del- url- -body-- -params- -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/del- url- -body-- -params- -.md new file mode 100644 index 0000000000..aaeb79ab10 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/del- url- -body-- -params- -.md @@ -0,0 +1,18 @@ +--- +title: "del( url, [body], [params] )" +description: "Issue an HTTP DELETE request." +--- + +Make a DELETE request. + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| url | string | Request URL (e.g. `http://example.com`). | +| body (optional, discouraged) | string | object | Request body; objects will be `x-www-form-urlencoded`. This is discouraged, because sending a DELETE request with a body has [no defined semantics](https://tools.ietf.org/html/rfc7231#section-4.3.5) and may cause some servers to reject it. | +| params (optional) | object | [Params](/javascript-api/k6-http/params-k6-http) object containing additional request parameters. | + +### Returns + +| Type | Description | +| -------- | --------------------------------------------------------------------- | +| Response | HTTP [Response](/javascript-api/k6-http/response-k6-http) object. | diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/file- data- -filename-- -contentType- -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/file- data- -filename-- -contentType- -.md new file mode 100644 index 0000000000..48293aaab4 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/file- data- -filename-- -contentType- -.md @@ -0,0 +1,40 @@ +--- +title: "file( data, [filename], [contentType] )" +description: "Create a file object that is used for building multi-part requests." +--- + +Create a file object that is used for building [Multipart requests (file uploads)](/using-k6/multipart-requests-file-uploads). + +| Parameter | Type | Description | +| ----------- | -------------- | -------------------------------------------------------------------------------- | +| data | string / bytes | An array or object containing requests, in string or object form. | +| filename | string | The filename to specify for this field (or "part") of the multipart request. | +| contentType | string | The content type to specify for this field (or "part") of the multipart request. | + + +### Returns + +| Type | Description | +| -------- | ------------------------------------------------------------------ | +| [FileData](/javascript-api/k6-http/filedata-k6-http) | A FileData object. | + +### Example + +
+ +```js +import { sleep } from 'k6'; +import { md5 } from 'k6/crypto'; +import http from 'k6/http'; + +let binFile = open('/path/to/file.bin', 'b'); + +export default function() { + let f = http.file(binFile, 'test.bin'); + console.log(md5(f.data, 'hex')); + console.log(f.filename); + console.log(f.content_type); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/get- url- -params- -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/get- url- -params- -.md new file mode 100644 index 0000000000..6635aadba0 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/get- url- -params- -.md @@ -0,0 +1,32 @@ +--- +title: "get( url, [params] )" +description: "Issue an HTTP GET request." +--- + +Make a GET request. + +| Parameter | Type | Description | +| ----------------- | ------ | ----------------------------------------------------------------------------------------------------- | +| url | string | Request URL (e.g. `http://example.com`). | +| params (optional) | object | [Params](/javascript-api/k6-http/params-k6-http) object containing additional request parameters. | + +### Returns + +| Type | Description | +| -------- | ----------- | +| [Response](/javascript-api/k6-http/response-k6-http) | HTTP Response object. | + + +### Example fetching a URL + +
+ +```js +import http from 'k6/http'; + +export default function() { + let res = http.get('https://k6.io'); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/options- url- -body-- -params- -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/options- url- -body-- -params- -.md new file mode 100644 index 0000000000..c4543cd4a8 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/options- url- -body-- -params- -.md @@ -0,0 +1,17 @@ +--- +title: "options( url, [body], [params] )" +description: "Issue an HTTP GET request." +--- + +| Parameter | Type | Description | +| ----------------- | --------------- | ----------------------------------------------------------------------------------------------------- | +| url | string | Request URL (e.g. `http://example.com`). | +| body (optional) | string / object | Request body; objects will be `x-www-form-urlencoded`. | +| params (optional) | object | [Params](/javascript-api/k6-http/params-k6-http) object containing additional request parameters. | + + +### Returns + +| Type | Description | +| -------- | --------------------------------------------------------------------- | +| Response | HTTP [Response](/javascript-api/k6-http/response-k6-http) object. | diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/patch- url- -body-- -params- -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/patch- url- -body-- -params- -.md new file mode 100644 index 0000000000..8112a389c0 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/patch- url- -body-- -params- -.md @@ -0,0 +1,17 @@ +--- +title: "patch( url, [body], [params] )" +description: "Issue an HTTP PATCH request." +--- + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| url | string | Request URL (e.g. `http://example.com`). | +| body (optional) | string / object | Request body; objects will be `x-www-form-urlencoded`. | +| params (optional) | object | [Params](/javascript-api/k6-http/params-k6-http) object containing additional request parameters | + + +### Returns + +| Type | Description | +| ---- | ----------- | +| [Response](/javascript-api/k6-http/response-k6-http) | HTTP Response object. | diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/post- url- -body-- -params- -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/post- url- -body-- -params- -.md new file mode 100644 index 0000000000..2978e62279 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/post- url- -body-- -params- -.md @@ -0,0 +1,55 @@ +--- +title: 'post( url, [body], [params] )' +description: 'Issue an HTTP POST request.' +--- + +| Parameter | Type | Description | +| ------------------- | --------------- | ------------------------------------------------------------------------------------------------ | +| `url` | string | Request URL (e.g. `http://example.com`). | +| `body` | string / object | Request body; objects will be `x-www-form-urlencoded`. | +| `params` (optional) | object | [Params](/javascript-api/k6-http/params-k6-http) object containing additional request parameters | + +### Returns + +| Type | Description | +| ---------- | ----------------------------------------------------------------- | +| `Response` | HTTP [Response](/javascript-api/k6-http/response-k6-http) object. | + +### Example + +Using http.post() to perform a user login at an E-commerce site: + +
+ +```js +import http from 'k6/http'; +import { check, fail } from 'k6'; + +export let options = { maxRedirects: 10 }; + +const baseURL = 'https://dev-li-david.pantheonsite.io'; + +export default function() { + // Fetch the login page, with the login HTML form + let res = http.get(baseURL + '/user/login'); + // Extract hidden value needed to POST form + let formBuildID = res.body.match('name="form_build_id" value="(.*)"')[1]; + // Create an Object containing the form data + let formdata = { + name: 'testuser1', + pass: 'testuser1', + form_build_id: formBuildID, + form_id: 'user_login', + op: 'Log in', + }; + let headers = { 'Content-Type': 'application/x-www-form-urlencoded' }; + // Send login request + res = http.post(baseURL + '/user/login', formdata, { headers: headers }); + // Verify that we ended up on the user page + check(res, { + 'login succeeded': res => res.url == `${baseURL}/users/testuser1`, + }) || fail('login failed'); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/put- url- -body-- -params- -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/put- url- -body-- -params- -.md new file mode 100644 index 0000000000..69e33092a9 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/put- url- -body-- -params- -.md @@ -0,0 +1,17 @@ +--- +title: "put( url, [body], [params] )" +description: "Issue an HTTP PUT request." +--- + +| Parameter | Type | Description | +| ----------------- | ------ | ----------------------------------------------------------------------------------------------------- | +| url | string | Request URL (e.g. `http://example.com`). | +| body (optional) | string | object | Request body; objects will be `x-www-form-urlencoded`. | +| params (optional) | object | [Params](/javascript-api/k6-http/params-k6-http) object containing additional request parameters. | + + +### Returns + +| Type | Description | +| -------- | --------------------------------------------------------------------- | +| Response | HTTP [Response](/javascript-api/k6-http/response-k6-http) object. | diff --git a/src/data/markdown/docs/02 javascript api/06 k6-http/request- method- url- -body-- -params- -.md b/src/data/markdown/docs/02 javascript api/06 k6-http/request- method- url- -body-- -params- -.md new file mode 100644 index 0000000000..5fd5883b67 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/06 k6-http/request- method- url- -body-- -params- -.md @@ -0,0 +1,57 @@ +--- +title: "request( method, url, [body], [params] )" +description: "Issue any type of HTTP request." +--- + +| Parameter | Type | Description | +| ----------------- | --------------- | ----------------------------------------------------------------------------------------------------- | +| url | string | Request URL (e.g. `http://example.com`). | +| body (optional) | string / object | Request body; objects will be `x-www-form-urlencoded`. | +| params (optional) | object | [Params](/javascript-api/k6-http/params-k6-http) object containing additional request parameters. | + + +### Returns + +| Type | Description | +| -------- | --------------------------------------------------------------------- | +| Response | HTTP [Response](/javascript-api/k6-http/response-k6-http) object. | + +### Example + +Using http.request() to issue a POST request, logging in to an e-commerce site: + +
+ +```js +import http from 'k6/http'; +import { check, fail } from 'k6'; + +export let options = { maxRedirects: 10 }; + +const baseURL = 'https://dev-li-david.pantheonsite.io'; + +export default function() { + // Fetch the login page, with the login HTML form + let res = http.get(baseURL + '/user/login'); + // Extract hidden value needed to POST form + let formBuildID = res.body.match('name="form_build_id" value="(.*)"')[1]; + // Create an Object containing the form data + let formdata = { + name: 'testuser1', + pass: 'testuser1', + form_build_id: formBuildID, + form_id: 'user_login', + op: 'Log in', + }; + // Use http.request to send login POST request + res = http.request('POST', baseURL + '/usr/login', formdata, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + }); + // Verify that we ended up on the user page + check(res, { + 'login succeeded': res => res.url == `${baseURL}/users/testuser1`, + }) || fail('login failed'); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/07 k6-metrics.md b/src/data/markdown/docs/02 javascript api/07 k6-metrics.md new file mode 100644 index 0000000000..64dea311c8 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/07 k6-metrics.md @@ -0,0 +1,45 @@ +--- +title: 'k6/metrics' +excerpt: 'k6 Custom Metrics API' +--- + +The metrics module provides functionality to create [custom metrics](/using-k6/metrics) of various types. All metrics (both the built-in ones and the custom ones) have a type. There are four different metrics types, and they are: `Counter`, `Gauge`, `Rate` and `Trend`. + +All values added to a custom metric can optionally be [tagged](/using-k6/tags-and-groups) which can be very useful when analysing the results after a test run. + +| Metric type | Description | +| ------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- | +| [Counter](/javascript-api/k6-metrics/counter-k6-metrics) | A metric that cumulatively sums added values. | +| [Gauge](/javascript-api/k6-metrics/gauge-k6-metrics) | A metric that stores the min, max and last values added to it. | +| [Rate](/javascript-api/k6-metrics/rate-k6-metrics) | A metric that tracks the percentage of added values that are non-zero. | +| [Trend](/javascript-api/k6-metrics/trend-k6-metrics) | A metric that allows for calculating statistics on the added values (min, max, average and percentiles). | + +### Example + +
+ +```js +import { Counter, Gauge, Rate, Trend } from 'k6/metrics'; +import { check } from 'k6'; + +var myCounter = new Counter('my_counter'); +var myGauge = new Gauge('my_gauge'); +var myRate = new Rate('my_rate'); +var myTrend = new Trend('my_trend'); + +export default function() { + myCounter.add(1); + myCounter.add(2, { tag1: 'myValue', tag2: 'myValue2' }); + + myGauge.add(123); + myGauge.add(456, { tag1: 'myValue', tag2: 'myValue2' }); + + myRate.add(true); + myRate.add(false, { tag1: 'value', tag2: 'value2' }); + + myTrend.add(1); + myTrend.add(2, { tag1: 'value', tag2: 'value2' }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/07 k6-metrics/70 Counter.md b/src/data/markdown/docs/02 javascript api/07 k6-metrics/70 Counter.md new file mode 100644 index 0000000000..0a9e9acc41 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/07 k6-metrics/70 Counter.md @@ -0,0 +1,96 @@ +--- +title: "Counter (k6/metrics)" +--- + +_Counter_ is an object for representing a custom cumulative counter metric. It is one of the four custom metric types. + +| Parameter | Type | Description | +| --------- | ------- | ------------------------------ | +| `name` | string | The name of the custom metric. | + +| Method | Description | +| -------------------------------------------------------------------------------------------- | ---------------------------------- | +| [Counter.add(value, [tags])](/javascript-api/k6-metrics/counter/counter-add-value-tags) | Add a value to the counter metric. | + +## Counter usage in Thresholds + +When `Counter` is used in a threshold expression, the variable must be called `count` or `rate` (lower case). +For example: + - `count >= 200` // value of the counter must be larger or equal to 200 + - `count < 10` // less than 10. + +### Examples + +
+ +```javaScript +import { Counter } from 'k6/metrics'; + +var myCounter = new Counter('my_counter'); + +export default function() { + myCounter.add(1); + myCounter.add(3); +} +``` +
+ + +
+ +```javaScript +import http from "k6/http"; +import { Counter } from "k6/metrics"; + +let CounterErrors = new Counter("Errors"); + +export let options = { thresholds: { "Errors": ["count<100"] } }; + +export default function() { + let res = http.get('https://test-api.k6.io/public/crocodiles/1/'); + let contentOK = res.json("name") === 'Bert'; + CounterErrors.add(!contentOK); +}; +``` +
+ + +
+ +```javaScript +import { Counter } from 'k6/metrics'; +import { sleep } from 'k6'; +import http from 'k6/http'; + +let allErrors = new Counter('error_counter'); + +export let options = { + vus: 1, + duration: '1m', + thresholds: { + 'error_counter': [ + 'count < 10', // 10 or fewer total errors are tolerated + ], + 'error_counter{errorType:authError}': [ // Threshold on a sub-metric (tagged values) + 'count <= 2', // max 2 authentication errors are tolerated + ] + } +}; + +export default function () { + let auth_resp = http.post('https://test-api.k6.io/auth/token/login/', + {username: 'test-user', 'password': 'supersecure'}); + + if (auth_resp.status >= 400){ + allErrors.add(1, { errorType: 'authError' }); // tagged value creates submetric (useful for making thresholds specific) + } + + let other_resp = http.get('https://test-api.k6.io/public/crocodiles/1/'); + if (other_resp.status >= 400) { + allErrors.add(1); // untagged value + } + + sleep(1); +} +``` +
diff --git a/src/data/markdown/docs/02 javascript api/07 k6-metrics/70 Counter/Counter-add-value- -tags--.md b/src/data/markdown/docs/02 javascript api/07 k6-metrics/70 Counter/Counter-add-value- -tags--.md new file mode 100644 index 0000000000..a42948438d --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/07 k6-metrics/70 Counter/Counter-add-value- -tags--.md @@ -0,0 +1,28 @@ +--- +title: "Counter.add(value, [tags])" +--- + +Add a value to the `Counter` metric. + +| Parameter | Type | Description | +| --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| value | number | The value to add to the counter. | +| tags | object | Set of [tags](/using-k6/tags-and-groups) that will be tagged to the added data point (note that tags are added per data point and not for the entire metric). | + + +### Example + +
+ +```js +import { Counter } from 'k6/metrics'; + +var myCounter = new Counter('my_counter'); + +export default function() { + myCounter.add(1); + myCounter.add(2, { tag1: 'myValue', tag2: 'myValue2' }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/07 k6-metrics/71 Gauge.md b/src/data/markdown/docs/02 javascript api/07 k6-metrics/71 Gauge.md new file mode 100644 index 0000000000..15eaa133ff --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/07 k6-metrics/71 Gauge.md @@ -0,0 +1,64 @@ +--- +title: 'Gauge (k6/metrics)' +--- + +_Gauge_ is an object for representing a custom metric holding only the latest value added. It is one of the four [custom metrics](/javascript-api/k6-metrics). + +| Parameter | Type | Description | +| --------- | ------- | --------------------------------------------------------------------------------------------------- | +| `name` | string | The name of the custom metric. | +| `isTime` | boolean | A boolean indicating whether the values added to the metric are time values or just untyped values. | + +| Method | Description | +| --------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| [Gauge.add(value, [tags])](/javascript-api/k6-metrics/gauge/gauge-add-value-tags) | Add a value to the gauge metric. Only the latest value added will be kept. | + +## Gauge usage in Thresholds + +When gauge is used in a threshold expression, the variable must be called `value` (lower case). +For example: + - `value < 200` + - `value > 1` + +### Example + +
+ +```js +import { Gauge } from 'k6/metrics'; + +var myGauge = new Gauge('my_gauge'); + +export default function() { + myGauge.add(3); + myGauge.add(1); + myGauge.add(2, { tag1: 'value', tag2: 'value2' }); +} +``` + +
+ +
+ +```js +import http from "k6/http"; +import { sleep } from 'k6'; +import { Gauge } from "k6/metrics"; + +let GaugeContentSize = new Gauge("ContentSize"); + +export let options = { + thresholds: { + "ContentSize": ["value<4000"], + } +}; + +export default function() { + let res = http.get("https://test-api.k6.io/public/crocodiles/1/"); + GaugeContentSize.add(res.body.length); + sleep(1); +} + +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/07 k6-metrics/71 Gauge/Gauge-add-value- -tags--.md b/src/data/markdown/docs/02 javascript api/07 k6-metrics/71 Gauge/Gauge-add-value- -tags--.md new file mode 100644 index 0000000000..e308b3be45 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/07 k6-metrics/71 Gauge/Gauge-add-value- -tags--.md @@ -0,0 +1,29 @@ +--- +title: "Gauge.add(value, [tags])" +--- + +Set the value of the `Gauge` metric. + +| Parameter | Type | Description | +| --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| value | number | The value to set the gauge to. | +| tags | object | Set of [tags](/using-k6/tags-and-groups) that will be tagged to the added data point (note that tags are added per data point and not for the entire metric). | + + +### Example + +
+ +```js +import { Gauge } from 'k6/metrics'; + +var myGauge = new Gauge('my_gauge'); + +export default function() { + myGauge.add(3); + myGauge.add(1); + myGauge.add(2, { tag1: 'value', tag2: 'value2' }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/07 k6-metrics/72 Rate.md b/src/data/markdown/docs/02 javascript api/07 k6-metrics/72 Rate.md new file mode 100644 index 0000000000..5ca5609ab4 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/07 k6-metrics/72 Rate.md @@ -0,0 +1,73 @@ +--- +title: 'Rate (k6/metrics)' +--- + +_Rate_ is an object for representing a custom metric keeping track of the percentage of added values that are non-zero. It is one of the four [custom metrics](/javascript-api/k6-metrics). + +| Parameter | Type | Description | +| --------- | ------- | --------------------------------------------------------------------------------------------------- | +| `name` | string | The name of the custom metric. | + +| Method | Description | +| -------------------------------------------------------------------------------- | ------------------------------- | +| [Rate.add(value, [tags])](/javascript-api/k6-metrics/rate/rate-add-value-tags) ] | Add a value to the rate metric. | + + +## Rate usage in Thresholds + +When `Rate` is used in a threshold expression, the variable must be called `rate` (lower case). +For example: + - `rate < 0.1` // less than 10% + - `rate >= 0.9` // more or equal to 90% + +The value of the `rate` variable ranges between `0.00` and `1.00`. + +### Examples + +
+ +```javaScript +import { Rate } from 'k6/metrics'; + +var myRate = new Rate('my_rate'); + +export default function() { + myRate.add(true); + myRate.add(false); + myRate.add(1); + myRate.add(0, { tag1: 'value', tag2: 'value2' }); +} +``` + +
+ + +
+ +```javaScript +import { Rate } from 'k6/metrics'; +import { sleep } from 'k6'; +import http from 'k6/http'; + +let errorRate = new Rate('errorRate'); + +export let options = { + vus: 1, + duration: '5m', + thresholds: { + 'errorRate': [ + // more than 10% of errors will abort the test + { threshold: 'rate < 0.1', abortOnFail: true, delayAbortEval: '1m' } + ] + } +}; + +export default function () { + let resp = http.get('https://test-api.k6.io/public/crocodiles/1/'); + + errorRate.add(resp.status >= 400); + + sleep(1); +} +``` +
diff --git a/src/data/markdown/docs/02 javascript api/07 k6-metrics/72 Rate/Rate-add-value- -tags--.md b/src/data/markdown/docs/02 javascript api/07 k6-metrics/72 Rate/Rate-add-value- -tags--.md new file mode 100644 index 0000000000..8abcafa4d7 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/07 k6-metrics/72 Rate/Rate-add-value- -tags--.md @@ -0,0 +1,30 @@ +--- +title: "Rate.add(value, [tags])" +--- + +Set the value of the `Rate` metric. + +| Parameter | Type | Description | +| --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| value | number | The value to add to the rate metric. | +| tags | object | Set of [tags](/using-k6/tags-and-groups) that will be tagged to the added data point (note that tags are added per data point and not for the entire metric). | + + +### Example + +
+ +```js +import { Rate } from 'k6/metrics'; + +var myRate = new Rate('my_rate'); + +export default function() { + myRate.add(true); + myRate.add(false); + myRate.add(1); + myRate.add(0, { tag1: 'value', tag2: 'value2' }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/07 k6-metrics/73 Trend.md b/src/data/markdown/docs/02 javascript api/07 k6-metrics/73 Trend.md new file mode 100644 index 0000000000..bcac287c00 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/07 k6-metrics/73 Trend.md @@ -0,0 +1,86 @@ +--- +title: 'Trend (k6/metrics)' +--- + +_Trend_ is an object for representing a custom metric that allows for calculating different statistics on the added values (min, max, average or percentiles). It is one of the four [custom metrics](/javascript-api/k6-metrics). + +| Parameter | Type | Description | +| --------- | ------- | --------------------------------------------------------------------------------------------------- | +| `name` | string | The name of the custom metric. | +| `isTime` | boolean | A boolean indicating whether the values added to the metric are time values or just untyped values. | + +| Method | Description | +| --------------------------------------------------------------------------------- | -------------------------------- | +| [Trend.add(value, [tags])](/javascript-api/k6-metrics/trend/trend-add-value-tags) | Add a value to the trend metric. | + + +## Trend usage in Thresholds + +When `Trend` is used in a threshold expression, there are a range of variables that can be used. + - `avg` for average + - `min` for minimum + - `max` for maximum + - `med` for median + - `p(N)` for specific percentile. `N` is a number between `0.0` and `100.0` meaning the percentile value to look at, eg. `p(99.99)` means the 99.99th percentile. + +The unit of these variables and functions are all in milliseconds. + +### Example threshold expressions: + + - `p(95) < 400` // 95% of requests must finish below 400ms + - `p(99) < 1000` // 99% of requests must finish within 1s. + - `p(50) < 200` // half of requests must finish within 200ms. + - `max < 3000` // the slowest request must finish within 3s. + +
+ +> ### ⚠️ Don't use `min` and `max` in thresholds. +> We don't recommend using `min` and `max` for specifying thresholds because these +> values represent outliers. Use percentiles instead. + +
+ + +### Examples + +
+ +```javaScript +import { Trend } from 'k6/metrics'; + +var myTrend = new Trend('my_trend'); + +export default function() { + myTrend.add(1); + myTrend.add(2, { tag1: 'value', tag2: 'value2' }); +} +``` +
+ + +
+ +```javaScript +import { Trend } from 'k6/metrics'; +import { sleep } from 'k6'; +import http from 'k6/http'; + +let serverWaitingTimeOnLogin = new Trend('serverWaitingTimeOnLogin', true); + +export let options = { + vus: 1, + duration: '1m', + thresholds: { + 'serverWaitingTimeOnLogin': [ + 'p(95) < 200', + ], + } +}; + +export default function () { + let resp = http.post('https://test-api.k6.io/auth/token/login/', { username: 'test-user', 'password': 'supersecure' }); + + serverWaitingTimeOnLogin.add(resp.timings.waiting); + sleep(1); +} +``` \ No newline at end of file diff --git a/src/data/markdown/docs/02 javascript api/07 k6-metrics/73 Trend/Trend-add-value- -tags--.md b/src/data/markdown/docs/02 javascript api/07 k6-metrics/73 Trend/Trend-add-value- -tags--.md new file mode 100644 index 0000000000..22b5370bb6 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/07 k6-metrics/73 Trend/Trend-add-value- -tags--.md @@ -0,0 +1,28 @@ +--- +title: "Trend.add(value, [tags])" +--- + +Add a value to the `Trend` metric. + +| Parameter | Type | Description | +| --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| value | number | The value to add to the trend metric. | +| tags | object | Set of [tags](/using-k6/tags-and-groups) that will be tagged to the added data point (note that tags are added per data point and not for the entire metric). | + + +### Example + +
+ +```js +import { Trend } from 'k6/metrics'; + +var myTrend = new Trend('my_trend'); + +export default function() { + myTrend.add(1); + myTrend.add(2, { tag1: 'value', tag2: 'value2' }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/08 k6-ws.md b/src/data/markdown/docs/02 javascript api/08 k6-ws.md new file mode 100644 index 0000000000..c875fcdd94 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/08 k6-ws.md @@ -0,0 +1,94 @@ +--- +title: "k6/ws" +excerpt: "k6 WebSocket API" +--- + +The ws module provides a [WebSocket](https://en.wikipedia.org/wiki/WebSocket) client implementing the [WebSocket protocol](http://www.rfc-editor.org/rfc/rfc6455.txt). + +| Class | Description | +| ----- | ----------- | +| [Socket](/javascript-api/k6-ws/socket) | WebSocket client used to interact with a WS connection. | + + +| Function | Description | +| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [connect( url, params, callback )](/javascript-api/k6-ws/connect-url-params-callback) | Create a WebSocket connection, and provides a [Socket](/javascript-api/k6-ws/socket) client to interact with the service. The method returns a [Response](/javascript-api/k6-http/response-k6-http) object and blocks the test finalization until the connection is closed. | + + +### WebSocket built-in metrics + +`k6` will automatically collect some metrics when interacting with a WebSocket service through the `k6/ws` API. + +| Metric name | Type | Description | +| ------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------ | +| ws\_connecting | Trend | Total duration for the WebSocket connection request. | +| ws\_session\_duration | Trend | Duration of the WebSocket session. Time between the start of the connection and the end of the VU execution. | +| ws\_sessions | Counter | Total number of started WebSocket sessions. | +| ws\_ping | Trend | Duration between a ping request and its pong reception | +| ws\_msgs\_sent | Counter | Total number of messages sent through [Socket.send(data)](/javascript-api/k6-ws/socket/socket-send-data) | +| ws\_msgs\_received | Counter | Total number of received messages [Socket.on('message', callback)](/javascript-api/k6-ws/socket/socket-on-event-callback). | + +Check out the [Results output article](/getting-started/results-output) for more information about how to process the metric information. + +### Example + +
+ +```js +import ws from 'k6/ws'; +import { check } from 'k6'; + +export default function() { + var url = 'ws://echo.websocket.org'; + var params = { tags: { my_tag: 'hello' } }; + + var response = ws.connect(url, params, function(socket) { + socket.on('open', function open() { + console.log('connected'); + socket.send(Date.now()); + + socket.setInterval(function timeout() { + socket.ping(); + console.log('Pinging every 1sec (setInterval test)'); + }, 1000); + }); + + socket.on('ping', function() { + console.log('PING!'); + }); + + socket.on('pong', function() { + console.log('PONG!'); + }); + + socket.on('pong', function() { + // Multiple event handlers on the same event + console.log('OTHER PONG!'); + }); + + socket.on('message', function(message) { + console.log(`Received message: ${message}`); + }); + + socket.on('close', function() { + console.log('disconnected'); + }); + + socket.on('error', function(e) { + if (e.error() != 'websocket: close sent') { + console.log('An unexpected error occured: ', e.error()); + } + }); + + socket.setTimeout(function() { + console.log('2 seconds passed, closing the socket'); + socket.close(); + }, 2000); + }); + + check(response, { 'status is 101': r => r && r.status === 101 }); +} +//VU execution won't be completely finished until the connection is closed. +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket.md b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket.md new file mode 100644 index 0000000000..73e291faf1 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket.md @@ -0,0 +1,14 @@ +--- +title: "Socket" +--- + +`Socket` is a WebSocket client to interact with a WebSocket connection. You can use it to listen various events happening on the WebSocket connection and send messages to the server. Additionally, you can use socket.setTimeout() and socket.setInterval() to execute code in the background, or repeatedly, while the WebSocket connection is open. + +| Method | Description | +| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Socket.close()](/javascript-api/k6-ws/socket/socket-close) | Close the WebSocket connection. | +| [Socket.on(event, callback)](/javascript-api/k6-ws/socket/socket-on-event-callback) | Set up an event listener on the connection for any of the following events:
- open
- message
- ping
- pong
- close
- error. | +| [Socket.ping()](/javascript-api/k6-ws/socket/socket-ping) | Send a ping. | +| [Socket.send(data)](/javascript-api/k6-ws/socket/socket-send-data) | Send data. | +| [Socket.setInterval(callback, interval)](/javascript-api/k6-ws/socket/socket-setinterval-callback-interval) | Call a function repeatedly at certain intervals, while the connection is open. | +| [Socket.setTimeout(callback, period)](/javascript-api/k6-ws/socket/socket-settimeout-callback-delay) | Call a function with a delay, if the connection is open. | diff --git a/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-close--.md b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-close--.md new file mode 100644 index 0000000000..4b742c7d0e --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-close--.md @@ -0,0 +1,25 @@ +--- +title: "Socket.close()" +--- + +Close the WebSocket connection. + + +### Example + +
+ +```js +import ws from 'k6/ws'; + +export default function() { + var url = 'ws://echo.websocket.org'; + var response = ws.connect(url, null, function(socket) { + socket.on('open', function() { + socket.close(); + }); + }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-on-event- callback-.md b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-on-event- callback-.md new file mode 100644 index 0000000000..4c32bfa171 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-on-event- callback-.md @@ -0,0 +1,82 @@ +--- +title: "Socket.on(event, callback)" +--- + +Set up callback functions for various events on the WebSocket connection. Multiple handlers can be defined for the same event. + + +| Parameter | Type | Description | +| --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| event | string | The event name to define a callback for. | +| callback | function | The function to call when the event happens. | + +| Event name | Description | +| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| open | Emitted when the connection is established | +| message | Emitted when a message is received from the server. | +| ping | Emitted when a ping is received from the server. The client will automatically send back a `pong`. | +| pong | Emitted when a pong is received from the server. | +| close | Emitted when the connection is closed by the client [Socket.close()](/javascript-api/k6-ws/socket/socket-close) or when the server sends the `close` event with code status 1000 (normal closure). | +| error | Emitted when an error occurs. Non-normal closure errors will be forwarded. | + +### Example + +
+ +```js +import ws from 'k6/ws'; +import { check } from 'k6'; + +export default function() { + var url = 'ws://echo.websocket.org'; + var params = { tags: { my_tag: 'hello' } }; + + var response = ws.connect(url, params, function(socket) { + socket.on('open', function open() { + console.log('connected'); + socket.send(Date.now()); + + socket.setInterval(function timeout() { + socket.ping(); + console.log('Pinging every 1sec (setInterval test)'); + }, 1000); + }); + + socket.on('ping', function() { + console.log('PING!'); + }); + + socket.on('pong', function() { + console.log('PONG!'); + }); + + socket.on('pong', function() { + // Multiple event handlers on the same event + console.log('OTHER PONG!'); + }); + + socket.on('message', function(message) { + console.log(`Received message: ${message}`); + }); + + socket.on('close', function() { + console.log('disconnected'); + }); + + socket.on('error', function(e) { + if (e.error() != 'websocket: close sent') { + console.log('An unexpected error occured: ', e.error()); + } + }); + + socket.setTimeout(function() { + console.log('2 seconds passed, closing the socket'); + socket.close(); + }, 2000); + }); + + check(response, { 'status is 101': r => r && r.status === 101 }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-ping--.md b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-ping--.md new file mode 100644 index 0000000000..6edaf7f305 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-ping--.md @@ -0,0 +1,30 @@ +--- +title: "Socket.ping()" +--- + +Send a ping. Ping messages can be used to verify that the remote endpoint is responsive. + + +### Example + +
+ +```js +import ws from 'k6/ws'; + +export default function() { + var url = 'ws://echo.websocket.org'; + var response = ws.connect(url, null, function(socket) { + socket.on('open', function() { + socket.on('pong', function() { + // As required by the spec, when the ping is received, the recipient must send back a pong. + console.log('connection is alive'); + }); + + socket.ping(); + }); + }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-send-data-.md b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-send-data-.md new file mode 100644 index 0000000000..7dc1187b11 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-send-data-.md @@ -0,0 +1,31 @@ +--- +title: "Socket.send(data)" +--- + +Send a data string through the connection. Binary data is not currently supported. +You can use `JSON.stringify` to convert a JSON or JavaScript values to a JSON string. + + +| Parameter | Type | Description | +| --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| data | string | The data to send. | + +### Example + +
+ +```js +import ws from 'k6/ws'; + +export default function() { + var url = 'ws://echo.websocket.org'; + var response = ws.connect(url, null, function(socket) { + socket.on('open', function() { + socket.send('my-message'); + socket.send(JSON.stringify({ data: 'hola' })); + }); + }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-setInterval-callback- interval-.md b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-setInterval-callback- interval-.md new file mode 100644 index 0000000000..882e5a4142 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-setInterval-callback- interval-.md @@ -0,0 +1,44 @@ +--- +title: "Socket.setInterval(callback, interval)" +--- + +Call a function repeatedly, while the WebSocket connection is open. + + +| Parameter | Type | Description | +| --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| callback | function | The function to call every `interval` milliseconds. | +| interval | number | The number of milliseconds between two calls to `callback`. | + +### Example + +
+ +```js +import ws from 'k6/ws'; +import { check } from 'k6'; + +export default function() { + var url = 'ws://echo.websocket.org'; + var params = { tags: { my_tag: 'hello' } }; + + var res = ws.connect(url, params, function(socket) { + socket.on('open', function open() { + console.log('connected'); + + socket.setInterval(function timeout() { + socket.ping(); + console.log('Pinging every 1sec (setInterval test)'); + }, 1000); + }); + + socket.on('pong', function() { + console.log('PONG!'); + }); + }); + + check(res, { 'status is 101': r => r && r.status === 101 }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-setTimeout-callback- delay-.md b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-setTimeout-callback- delay-.md new file mode 100644 index 0000000000..9ed5e8546c --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/08 k6-ws/80 Socket/Socket-setTimeout-callback- delay-.md @@ -0,0 +1,44 @@ +--- +title: "Socket.setTimeout(callback, delay)" +--- + +Call a function at a later time, if the WebSocket connection is still open then. + + +| Parameter | Type | Description | +| --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| callback | function | The function to call when `delay` has expired. | +| delay | number | The delay time, in milliseconds. | + + +### Example + +
+ +```js +import ws from 'k6/ws'; +import { sleep } from 'k6'; + +export default function() { + console.log('T0: Script started'); + var url = 'ws://echo.websocket.org'; + var response = ws.connect(url, null, function(socket) { + console.log('T0: Entered WebSockets run loop'); + socket.setTimeout(function() { + console.log('T0+1: This is printed'); + }, 1000); + socket.setTimeout(function() { + console.log('T0+2: Closing socket'); + socket.close(); + }, 2000); + socket.setTimeout(function() { + console.log('T0+3: This is not printed, because socket is closed'); + }, 3000); + }); + console.log('T0+2: Exited WebSockets run loop'); + sleep(2); + console.log('T0+4: Script finished'); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/08 k6-ws/connect- url- params- callback -.md b/src/data/markdown/docs/02 javascript api/08 k6-ws/connect- url- params- callback -.md new file mode 100644 index 0000000000..20bd2d4c8a --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/08 k6-ws/connect- url- params- callback -.md @@ -0,0 +1,46 @@ +--- +title: "connect( url, params, callback )" +description: "Create a WebSocket connection, and provides a Socket client to interact with the service." +--- + +Initiate a WebSocket connection to a remote host. + +Calling connect will block the VU finalization until the WebSocket connection is closed. Instead of continuously looping the main function (`export default function() { ... }`) over an over, each VU will be halted listening to async events and executing their event handlers until the connection is closed. + +The following events can close the connection: + +- remote host close event. +- [Socket.close()](/javascript-api/k6-ws/socket/socket-close). +- k6 VU interruption based on test configuration or CLI commands. + +| Parameter | Type | Description | +| --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| url | string | Request URL (e.g. "ws://echo.websocket.org"). | +| params | object | [Params](/javascript-api/k6-http/params-k6-http) object containing additional request parameters. | +| callback | function | The callback function that will be called when the WebSocket connection is initiated. A [Socket](/javascript-api/k6-ws/socket) object will be passed to the function, and this object can be used to set up callbacks etc when things happen on the WebSocket connection | + +### Returns + +| Type | Description | +| -------- | --------------------------------------------------------------------- | +| [Response](/javascript-api/k6-http/response-k6-http) | HTTP Response object. | + +### Example + +
+ +```js +import ws from 'k6/ws'; + +export default function() { + var url = 'ws://echo.websocket.org'; + var resp = ws.connect(url, null, function(socket) { + socket.on('open', function() { + console.log('WebSocket connection established!'); + socket.close(); + }); + }); +} +``` + +
diff --git a/src/data/markdown/docs/02 javascript api/09 Error Codes.md b/src/data/markdown/docs/02 javascript api/09 Error Codes.md new file mode 100644 index 0000000000..6cb427ce21 --- /dev/null +++ b/src/data/markdown/docs/02 javascript api/09 Error Codes.md @@ -0,0 +1,45 @@ +--- +title: 'Error Codes' +excerpt: '' +--- + +Error codes, introduced in k6 0.24.0, are unique numbers that can be used to identify and handle different application and network errors more easily. For the moment, these error codes are applicable only for errors that happen during HTTP requests, but they will be reused and extended to support other protocols in future k6 releases. + +When an error occurs, its code is determined and returned as both the `error_code` field of the [`http.Response`](/javascript-api/k6-http/response-k6-http) object, and also attached as the `error_code` [tag](/using-k6/tags-and-groups) to any [metrics](/using-k6/metrics) associated with that request. Additionally, for more details, the `error` metric tag and `http.Response` field will still contain the actual string error message. + +Error codes for different errors are as distinct as possible, but for easier handling and grouping, codes in different error categories are also grouped in broad ranges. The current error code ranges are: + +- 1000-1099 - General errors +- 1100-1199 - DNS errors +- 1200-1299 - TCP errors +- 1300-1399 - TLS errors +- 1400-1499 - HTTP 4xx errors +- 1500-1599 - HTTP 5xx errors +- 1600-1699 - HTTP/2 specific errors + +The following specific error codes are currently defined: + +- 1000: A generic error that isn't any of the ones listed below. +- 1010: A non-TCP network error - this is a place holder there is no error currently known to trigger it. +- 1100: A generic DNS error that isn't any of the ones listed below. +- 1101: No IP for the provided host was found. +- 1110: Blacklisted IP was resolved or a connection to such was tried to be established. +- 1200: A generic TCP error that isn't any of the ones listed below. +- 1201: A "broken pipe" on write - the other side has likely closed the connection. +- 1202: An unknown TCP error - We got an error that we don't recognize but it is from the operating system and has `errno` set on it. The message in `error` includes the operation(write,read) and the errno, the OS, and the original message of the error. +- 1210: General TCP dial error. +- 1211: Dial timeout error - the timeout for the dial was reached. +- 1212: Dial connection refused - the connection was refused by the other party on dial. +- 1220: Reset by peer - the connection was reset by the other party, most likely a server. +- 1300: General TLS error +- 1310: Unknown authority - the certificate issuer is unknown. +- 1311: The certificate doesn't match the hostname. +- 1400 to 1499: error codes that correspond to the [HTTP 4xx status codes for client errors](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_errors) +- 1500 to 1599: error codes that correspond to the [HTTP 5xx status codes for server errors](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_Server_errors) +- 1600: A generic HTTP/2 error that isn't any of the ones listed below. +- 1610: A general HTTP/2 GoAway error. +- 1611 to 1629: HTTP/2 GoAway errors with the value of the specific [HTTP/2 error code](https://tools.ietf.org/html/rfc7540#section-7) added to 1611. +- 1630: A general HTTP/2 stream error. +- 1631 to 1649: HTTP/2 stream errors with the value of the specific [HTTP/2 error code](https://tools.ietf.org/html/rfc7540#section-7) added to 1631. +- 1650: A general HTTP/2 connection error. +- 1651 to 1669: HTTP/2 connection errors with the value of the specific [HTTP/2 error code](https://tools.ietf.org/html/rfc7540#section-7) added to 1651. diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/01 Test Builder.md b/src/data/markdown/docs/03 cloud/01 Creating and running a test/01 Test Builder.md new file mode 100644 index 0000000000..f25304f051 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/01 Creating and running a test/01 Test Builder.md @@ -0,0 +1,83 @@ +--- +title: "Test Builder" +excerpt: "Details on using the k6 Request Builder to generate test scripts and take the guess work out of scripting" +--- + +## Background + +The k6 Test Builder allows you to utilize a graphical interface to create a test script. +Based on your inputs, we will automatically generate the proper required JavaScript to +execute the test within the app or from the command line. Use the Test Builder to help +speed up your scripting efforts. + +> ### HAR Import +> +> The test builder also accepts importing a HAR file. When creating your HAR file, you +> should filter out third party requests and be mindful of your session length. Too many +> requests as a result of a long journey or third party requests will be overwhelming. + +## Test Builder Configuration + +The top configuration section allows to: + +- `Create` (save) or `Create and Run` your test +- Give your test a meaningful name +- Import a HAR file +- Configure ramping, VUs, and duration + +To input a HAR file, simply click on `IMPORT HAR` on the right, and select your file to be converted. +We will automatically populate the Test Builder with your requests, including any `Headers` sent. +You are able to modify/delete various parts of the requests to meet your requirements. + +![Test Builder Configuration](images/01 Test Builder/test-builder-config.png) + + +## Test Builder Requests + +Whether you are importing a HAR file or starting from a blank slate, the `REQUESTS` section +allows you to explicitly control requests, the data sent with them, and even save data from the response. + +Requests will be listed in order on the left. You can reorganize requests by clicking and dragging. +You can also duplicate or delete requests when hovering over a specific request. +To add a new request, click `ADD REQUEST`. Your test will execute in the order of these requests. + +To modify requests, move over to the right side of the `REQUESTS` section. You are able to: + + +- Give your request a name to better describe it. +- Change the `HTTP METHOD` by using the drop down prepopulated with `GET`. +- Change the URL/Endpoint (This is predefine as `http://test.k6.io/` for example purposes) +- Specify Headers (If you have imported a HAR file, we will include some Headers here) +- Specify Query Parameters +- Create Checks +- Capture a variable (Helpful for dealing with dynamic data, such as authentication tokens) +- For POST/PUT/PATCH, you can also specify a request body (JSON, Text, or File Content) + +> ### Examples +> +> We also include some examples of common actions. This is accessible by using the +> `Test builder examples` drop down in the title bar of the section. Use these for +> inspiration and guidance as you use the test builder. +>
+> +> **NOTE:** Choosing one of the examples will replace the current requests in the Test Builder. + +![Test Builder Requests](images/01 Test Builder/test-builder-requests.png) + +## Test Builder Script + +After you have completed building your requests. You can click on the `` in the +top right corner of the title bar to view the script we have generated for you. + +This script is syntactically correct and may be used run right from the web app. +You may wish to copy it to your local IDE to place in version control, parameterize data, +or add more business logic. It's highly recommended to add some Thresholds. + +If this is your first time using the Test Builder or k6. We recommend taking a moment to +familiarize yourself with the generated script and how the different parts relate to inputs. +For example, the option object reflects your configuration, names of requests are comments above the +actual requests, checks are implemented with requests, and more. + +## See Also + +- [Projects](/cloud/analyzing-results/analysis-tab) diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/02 In-app script editor.md b/src/data/markdown/docs/03 cloud/01 Creating and running a test/02 In-app script editor.md new file mode 100644 index 0000000000..b71433fd8f --- /dev/null +++ b/src/data/markdown/docs/03 cloud/01 Creating and running a test/02 In-app script editor.md @@ -0,0 +1,34 @@ +--- +title: "In-app script editor" +excerpt: "How to use the k6 in-app script editor" +--- + +
+ +> ### Limitations of the in-app editor +> +> The in-app editor has access to all built-in k6 modules and remote modules available via +> the web. If you need to import a custom library or file for parameterization, you +> must trigger your test using the CLI. +
+ + +## Background + +The in-app script is designed to allow you to quickly write and mock up test scripts right within the web app. We believe most users will quickly graduate to using k6 as a CLI and their IDE of choice locally. However, organizational security rules vary from organization to organization and some may not be able to install a program without review from their security team. The script editor allows you to utilize just about all features of k6 right within the web app. + +Use the script editor as a stepping stone, if needed, before you move to running tests from the command line. + +## Usage + +Usage of the script editor is straight forward and you can use it like any other editor. Note some of the built in functionality to aide you in scripting + + +- Built in examples + - Clicking on any example from the drop down will launch a side by side window for you to use as guidance to adapt your script. +- Validation/error checking + - If you have a syntactical error, we will alert you of that/prevent you from running the script. If you have such an error you will see `There are validation errors, please fix them in order to run the test` above the example drop down. +- Code Folding + - We allow you to fold/collapse blocks of code for easier reading. You can fold by using the down arrow next to the line numbers. +- Variable highlighting + - Selecting any variable will result in other references to that variable being highlighted in your script diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/03 Recording a test script.md b/src/data/markdown/docs/03 cloud/01 Creating and running a test/03 Recording a test script.md new file mode 100644 index 0000000000..cd02627e7c --- /dev/null +++ b/src/data/markdown/docs/03 cloud/01 Creating and running a test/03 Recording a test script.md @@ -0,0 +1,45 @@ +--- +title: 'Recording a test script' +excerpt: 'A guide on how to use the k6 Cloud Chrome extension to record user behavior to quickly create load test scripts.' +--- + +## Background + + +The k6 Cloud Test Script Recorder Chrome extension allows you to generate the bulk of your test scripts simply by browsing like a user would on your site or web app. The script created gives you a foundation which you can further edit, as required. + +The k6 Cloud Chrome extension will capture everything – every single HTTP(s) request being loaded into the browser as you click – including ads, images, documents, etc., so you get a far more accurate read of what’s going on. Just press “record”, start browsing and when complete, the script will automatically upload to your k6 Cloud account. + +>### Consider this: +> The Chrome extension will not record other tabs or pop up windows. If you need to capture this information, you should check out [converting from a HAR file](/using-k6/session-recording-har-support). + +*Note:* Before you begin, please be sure to force refresh the k6 Cloud app to ensure you are on the most recent version of the k6 Cloud app. + +## Here's how to start: + + 1. Download and install the k6 Browser Recorder. + + 2. **Start a recording** + Open the extension by clicking the k6 logo, and press "Start recording" to begin recording the current browser tab. Now browse like a user would or how you want our Virtual Users to execute. We suggest basing this on _real user behavior_ - don't try to visit every single page on your site or app. Focus on common journeys. +![Step 2](images/03 Recording a test script/Step 2.png) + + 3. **Stop recording** + When done, press "Stop recording", you'll be taken to the app to review the recorded test script +![Step 3](images/03 Recording a test script/Step 3.png) + + 4. **Save your test scripts** + Save the recorded script in any of your projects. + If any _third party requests_ or requests to download assets were made during the recording those requests will be filtered out by default. + Would you want to include some of the requests in the _third party list_ simply deselect the ones you want to include then hit save. +![Step 4](images/03 Recording a test script/Step 4.png) + + 5. **You can now edit your script as necessary.** k6 Cloud's in app IDE will update in real time to alert you of any syntax errors. You may need to edit your script to deal with CSRF tokens, adding advanced business logic, creating custom metrics, etc. + + 6. **Once done, press run to start your test** + + +> ## Important things to note +> +> - The default configuration will be a 12 minute test that ramps to 10 Virtual Users over 1 minute, stays at 10 for 10 minutes, then ramps back to 0 over 1 minute. You can change this in the stages section of the script. Refer to [this article](/test-types/introduction) for more information on ramping configurations. +> - No load zone is specified and it will run out of Ashburn by default. You can specify different load zones by adding a `ext.loadimpact.distribution` option. See [this article](/using-k6/options) for more information +> - We have set `discardResponseBodies: true`. This will discard all response bodies by default. diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/04 Converters.md b/src/data/markdown/docs/03 cloud/01 Creating and running a test/04 Converters.md new file mode 100644 index 0000000000..46e27f4204 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/01 Creating and running a test/04 Converters.md @@ -0,0 +1,53 @@ +--- +title: 'Converters' +redirect: 'https://k6.io/docs/integrations#converters' +--- + diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/05 Scheduling a test.md b/src/data/markdown/docs/03 cloud/01 Creating and running a test/05 Scheduling a test.md new file mode 100644 index 0000000000..42f6e54f2a --- /dev/null +++ b/src/data/markdown/docs/03 cloud/01 Creating and running a test/05 Scheduling a test.md @@ -0,0 +1,29 @@ +--- +title: 'Scheduling Tests' +excerpt: 'A guide on how to schedule your load tests to run in the future or on a schedule within the k6 Cloud Web UI.' +--- + +## Background + +It's not always feasible to be able to trigger a test to run when you need it. The scheduling option in k6 Cloud allows you to configure a test to execute at a particular time, and on a regular interval, if needed. + +Some reasons include, but are not limited to: +- You need to test a production system and want to do it during hours with minimal usage +- You want to build a performance trend to monitor for regressions (but aren't ready to integrate it as a step in a CI Pipeline + + +## Scheduling + +You have the ability to schedule any tests that currently exists in your k6 Cloud account that has been executed on our cloud service (you can not schedule a locally run test through the web UI). You may also schedule tests that you create within the web UI after saving your configuration. + +You can schedule any of your tests from the page with the performance trending graph as shown below. This is helpful if you have triggered a cloud test from the command line and want to automatically run it regularly (without using a CI tool) + +![Scheduling](images/05 Scheduling a test/scheduling.png) + +## Scheduling options + +In both cases, after clicking "Schedule" you are presented with the following options. You are able to run a test now or at a later date. You can also set the execution to repeat on an Hourly, Daily, Weekly, or Monthly interval. You can also control how long the test will run for, either after a set number of occurrences, or after a certain date. There is some very granular control here, so do explore the option. + +![Scheduling options](images/05 Scheduling a test/schedule-options.png) + +Finally - we do recommend setting up [notifications](/cloud/integrations/notifications) and [thresholds](/using-k6/thresholds) to complete an automated loop. Schedule your test to run and get notified if the test has passed or failed. diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/06 Running a test from the CLI.md b/src/data/markdown/docs/03 cloud/01 Creating and running a test/06 Running a test from the CLI.md new file mode 100644 index 0000000000..cc6a8b1bd9 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/01 Creating and running a test/06 Running a test from the CLI.md @@ -0,0 +1,47 @@ +--- +title: 'Cloud tests from the CLI' +excerpt: 'How to run cloud tests from the k6 CLI.' +--- + +## Background + +Running tests within the web app is helpful when getting a feel for the tool or +building a proof of concept. However, many users will find great flexibility +when using k6 to trigger tests from the command line. + +Reasons for triggering cloud tests from the command line include: + +- Integrating testing in CI/CD pipelines +- Storing test scripts in local version control +- Modularization of scripts for collaboration and easier maintenance +- Preference to work in your local environment + + +## Quick Start to using the CLI for cloud tests + +Assuming you have k6 installed and a script saved locally, the first step would +be to authenticate against the k6 Cloud, like so: + +
+ +```shell +k6 login cloud +``` + +
+ +Alternatively, you could also get your token from the [API token +page](https://app.k6.io/account/api-token) and set the +environment variable `K6_CLOUD_TOKEN` or use `k6 login cloud --token YOUR_TOKEN`. + +Once authenticated, you can trigger a test by using the `cloud` command: + +
+ +```shell +k6 cloud nameOfYourScript.js +``` +
+ +For more in depth instructions, please refer to our full article on +[cloud execution](/using-k6/cloud-execution#getting-started) diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/01 Test Builder/test-builder-config.png b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/01 Test Builder/test-builder-config.png new file mode 100644 index 0000000000..4faab2f884 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/01 Test Builder/test-builder-config.png differ diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/01 Test Builder/test-builder-requests.png b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/01 Test Builder/test-builder-requests.png new file mode 100644 index 0000000000..ec6a9a5c83 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/01 Test Builder/test-builder-requests.png differ diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/03 Recording a test script/Step 2.png b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/03 Recording a test script/Step 2.png new file mode 100644 index 0000000000..ba280d0eb9 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/03 Recording a test script/Step 2.png differ diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/03 Recording a test script/Step 3.png b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/03 Recording a test script/Step 3.png new file mode 100644 index 0000000000..270bd41c59 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/03 Recording a test script/Step 3.png differ diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/03 Recording a test script/Step 4.png b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/03 Recording a test script/Step 4.png new file mode 100644 index 0000000000..dec2dd5f95 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/03 Recording a test script/Step 4.png differ diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/05 Scheduling a test/schedule-options.png b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/05 Scheduling a test/schedule-options.png new file mode 100644 index 0000000000..5a0695659d Binary files /dev/null and b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/05 Scheduling a test/schedule-options.png differ diff --git a/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/05 Scheduling a test/scheduling.png b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/05 Scheduling a test/scheduling.png new file mode 100644 index 0000000000..8ed37f7e7a Binary files /dev/null and b/src/data/markdown/docs/03 cloud/01 Creating and running a test/images/05 Scheduling a test/scheduling.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/01 Overview.md b/src/data/markdown/docs/03 cloud/02 Analyzing Results/01 Overview.md new file mode 100644 index 0000000000..f68a64eab0 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/02 Analyzing Results/01 Overview.md @@ -0,0 +1,93 @@ +--- +title: 'Overview' +excerpt: 'An overview of using k6 Cloud Results as a premiere analysis tool' +--- + +## Background + +As part of the k6 Cloud offering, k6 Cloud Results enables you to visualize, store, analyze, and trend your test results. All tests that utilize k6 Clouds Results will be analyzed by our Performance Insights algorithms to detect patterns associated with performance issues. + +As you continue to use k6 Cloud Results, we will also automatically create trending graphs so that you can keep track of how performance of your system changes over time. This is helpful for identifying creeping performance issues before they become larger problems. + +## Test Navigation and Metadata + +The top of the page provides a breadcrumb menu and an overview of details about your test. + +The breadcrumb menu allows to quickly navigate between the latest runs of the test, the test page or all the tests in the current project. + +![Test result navigation](images/cloud/01 Overview/test-run-navigation.png) + +Additionally, you can see metadata about the current test. Status, Duration, VUs, Regions used, and who started a test. To the write, you have various buttons and menus to let you re-run, share, compare, configure, or delete your test. + +![Test result metadata](images/cloud/01 Overview/test-metadata.png) + +## Performance Overview + +The Performance Overview section displays high level data for your test. If the test is running live metrics are displayed. + +![Performance overview of a running test](images/cloud/01 Overview/running-performance-overview.png) + +After the test has finished the section is updated to show HTTP failures and peak RPS in place of Active VUs and current RPS. If any Performance Alerts have been detected, we will also display that information to you. In this test, our automated algorithms did not find any problems. + +![Performance overview of a finished test](images/cloud/01 Overview/finished-performance-overview.png) + +The first signal of a good or bad result will generally be in the Performance Overview panel. Here are the most common patterns to consider. + +Typical signs of a good result: + +- Response time has a flat trend for the duration of the test +- Request rates follow the same ramping pattern as Virtual Users(if VUs increase, so does request rate) + +Typical signs of a performance issue/bottleneck + +- Response times rise during the test +- Response times rise, then quickly bottom out and stay flat +- Request rates do not rise with VUs (and response times start to increase) + +This is not an all inclusive list. You should use these patterns as a first indicator of good or bad performance of your test. + +## Result Tabs + +The result tabs allow you to dig into the specific result data sets from your test. We present the following tabs to organize your result data: + +| Tab Name | Definition | Add to analysis? | Sorting | +| ---------- | ------------------------------------------------------------------------------- | ---------------- | ----------------------- | +| Thresholds | List of your Thresholds in the order they are defined in your script (if used). | Yes | In order defined | +| Checks | List of Checks, organized into Groups (if used). | Yes | By group, or list (all) | +| HTTP | List of HTTP requests made, organized into Groups (if used). | Yes | By group, or list (all) | +| Websocket | List of Websocket requests made, organized into groups (if used). | Yes | By group, or list (all) | +| Analysis | Tab used to compare data for analysis | N/A | N/A | +| Script | Script used to run your test (k6 cloud tests only) | N/A | N/A | + +These tabs let you dig into your test data in a visual and error-driven way. You are able to click on any metric to expand a graph to dig deeper. You can also add these graphs to the Analysis tab. This allows you to look for interesting correlations in your result data. Within each tab note the ✓ or ✕ next to the individual metrics if failures were encountered. In the example below, we have two checks with failures which are clearly apparent. + +![Checks tab with a failing check](images/cloud//01 Overview/checks-tab-with-failures.png) + +Refer to these articles for more specific information on: + +- [Thresholds](/cloud/analyzing-results/threshold-tab) +- [Checks](/cloud/analyzing-results/checks-tab) +- [HTTP Table](/cloud/analyzing-results/http-tab) + +## Analysis + +The analysis tab enables you to analyze and compare metrics. This is helpful for viewing very specific pieces of your data and finding correlations. Added metrics will first appear as a small chart. You can change your aggregation or select Filters to visualize the data in different ways. Finally, you can use the + to add the data to the large chart for comparison. + +Here are some general tips to consider when adding metrics and using this tab. + +- Ensure that VUs and Request rate follow the same trend. +- Add and compare interesting requests from the HTTP and Websocket tabs to compare with other metrics +- Add the load generator CPU and Memory consumption metrics to ensure they are not saturated (metrics only available for tests run in the cloud) +- Add thresholds that have been exceeded +- Add checks that have failures +- Add metrics for endpoints that you have specific SLAs/SLOs on + +The above list is not meant to be all inclusive, rather a starting point in helping you dig into performance related issues so you can identify them. + +## See Also + +- [Performance Insights](/cloud/analyzing-results/performance-trending) +- [Thresholds](/cloud/analyzing-results/threshold-tab) +- [Checks](/cloud/analyzing-results/checks-tab) +- [HTTP Table](/cloud/analyzing-results/http-tab) +- [Analysis and Comparison Tab](/cloud/analyzing-results/test-comparison) diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/02 Performance Insights.md b/src/data/markdown/docs/03 cloud/02 Analyzing Results/02 Performance Insights.md new file mode 100644 index 0000000000..c7c083eb54 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/02 Analyzing Results/02 Performance Insights.md @@ -0,0 +1,152 @@ +--- +title: 'Performance Insights' +excerpt: 'Performance Insights are automated algorithms designed to help highlight performance issues automatically' +--- + +## Background + +k6 Cloud's Performance Insights are algorithms built into k6 Cloud Test Results. Our algorithms are automatically executed as part of test result processing. This happens when you run a cloud test `k6 cloud myScript.js` or when you stream a local execution to the cloud `k6 run myScript.js -o cloud`. + +> ### Using Performance Insights +> +> In order to utilize Performance Insights, all you need to do is run a test. The algorithms automatically analyze +> the raw metrics and data. If we find something, we will let you know in the Performance Overview section at the top of your test + +## Throughput Limit + +This alert is raised when a throughput limit has been detected. The number of active in-flight requests continue to grow as the number of Virtual Users are increasing, while the request rate (finished requests) has flatlined. This is indicative that the system under test is overloaded, thus resulting in higher response times. We recommend that you correlate the performance bottleneck with data from an APM and/or server monitoring tool. After making changes, you should run your tests again at the same Virtual User level, to verify if your changes have improved performance on the system under test. + +## Increased HTTP failure rate + +This alert is raised when a period of elevated HTTP errors has been detected (10% higher than in the beginning of the test). There could be a number of reasons for this, e.g. web server configuration (timeouts, rate limiting etc.) or internal errors caused by saturation of a resource (CPU, memory, disk I/O or database connections). It typically means the target system is close to its performance limit. + +**Note:** Failed responses are often returned much faster than successful responses. Consequently, an increased HTTP error rate may produce misleading request rate and response time metrics. + +## High HTTP failure rate + +The total number of HTTP(s) errors is higher than 15% during the first 100 completed script iterations. + +Errors that occur early on are typically not considered to be performance related. Our algorithms also have not detected an increase in the error rate as load has increased. +With that in mind, there are a number of non-performance related reasons for errors, which includes, but is not limited to: + +- You're making invalid requests: + - Invalid URLs, eg. with a typo in it or a hostname that is not in the public DNS system. + - Missing required headers, eg. authentication/authorization headers or user-agent. + - Sending the wrong body data. +- You're trying to test a system that's behind a firewall. +- You're hitting a rate limit. + +**Note:** Failed responses are often returned much faster than successful responses. + +## Not Enough Training Data + +This alert is raised because our Smart Results algorithms need at least 100 complete VU iterations of training data plus an additional 15 seconds to produce meaningful output. Your test did not complete the 100 VU iterations necessary for the training data. We recommend increasing the test duration to get the full benefits of Performance Insights. + +## Test Health and Informational Performance Insights + +Test Health Performance Insights are alerts that intend to highlight test or script related issues. These issues, if not addressed, can either skew your results or make result analysis harder to parse through. These alerts are often quickly solved through changes in the test script or test configuration. + +**Important**: The `Third Party Content` and `Too Many URLs` alerts are more informational alerts. Depending on what you are testing, it may be appropriate to disregard these alerts. High CPU or Memory usage **should never** be ignored. + +## Third Party Content + +**This is an best practice alert, we strongly recommend you remove third party requests from your test** + +This alert is raised when we detect many different domains in a test. This is typically caused by your test script containing requests to 3rd party resources such as CDNs, social media scripts, analytic tools, etc. It's recommended to remove third party requests as it may violate the terms of service of that third party, that third party may throttle your requests skewing the percentiles of your results, or you may have no ability to impact performance of that third party. + +_Special Notes:_ + +- You may have a valid reason to test your CDN. Most CDNs charge based on usage so your tests could result in additional costs from your CDN. +- Your system under test may utilize multiple domains, in which case you can ignore this alert. + +## Too Many URLs + +**This is an best practice alert, we strongly recommend you aggregate dynamic URLs as it will make analysis easier** + +This alert is raised when we detect more than 500 unique URLs in your test results. This is commonly caused by a URL that contains a query parameter or other ID that is unique per iteration. e.g. tokens, session IDs, etc. + +In the following example, our query parameter would produce large number of URL metrics: + +
+ +```javascript +for (var id = 1; id <= 600; id++) { + http.get(`http://test.k6.io/?ts=${id}`); +} +// But you can group all these URL metrics together +// in our result analysis using the name tag, +// making it easier for you to interpret the data. +// Note that you must use the name tag for grouping. + +for (var id = 1; id <= 600; id++) { + http.get(`http://test.k6.io/?ts=${id}`, { + tags: { name: 'test.k6.io?ts' }, + }); +} +``` + +
+ +_Note:_ In some cases, the unique URL may be generated by a third party resource. As mentioned in the Third Party Content alert, it is a best practice to not include third party resources in your test scripts. + +## Too Many Groups + +**This is an best practice alert, we recommend reviewing how you use the [Group name](/javascript-api/k6/group-name-fn) in your test script.** + +This alert is raised when we detect a high number of groups in your test script. The most common reason for this alert is an incorrect usage of the [Group name](/javascript-api/k6/group-name-fn) using it for aggregating different HTTP requests, or within a loop statement. When aggregating URLs, please use the name tag. + +Groups are meant to organize and provide an overview of your result tests allowing you a BDD-style of testing. By allowing this organization, you can quickly find specific parts of your test. For example, the point where users are on a certain page or taking specific actions. + +
+ +```javascript +import { group } from 'k6'; + +export default function() { + group('user flow: returning user', function() { + group('visit homepage', function() { + // load homepage resources + }); + group('login', function() { + // perform login + }); + }); +} +``` + +
+ +If you want to group multiple HTTP requests, we suggest you use the [URL grouping](/using-k6/http-requests#url-grouping) feature of k6 to aggregate data into a single URL metric. + +## High Load Generator CPU Usage + +**This is a Test Health Alert. You should address this to ensure accurate results** + +This alert is raised when we detect high utilization of the load generator CPU during a test. Over utilization of the load generator can skew your test results producing data that varies from test to test and unpredictably. Virtual Users will naturally try to execute as quickly as possible. The exact cause of over utilization can vary, but is likely due to one of the following reasons: + +- Lack of sleep times in your scripts + - Sleep times help with pacing and emulating real user behaviour +- High RPS per VU + - When testing API endpoints you may configure your test to aggressively request an endpoint. +- Large number of requests in a single request batch + - Requests made in a request batch will be made in parallel up to the default or defined limits +- Large amounts of data are returned in responses resulting in high memory utilization + - When the memory of the load generator reaches near total consumption, the garbage collection efforts of the Load Generator can cause increase CPU utilization. +- A JavaScript exception is being thrown early in VU execution. This results in an endless restart loop until all CPU cycles are consumed. + +Possible fixes: + +- Increase sleep times where appropriate +- Increase the number of VUs to produce less RPS per VU (thus the same total load) +- Utilize multiple load zones to spread VUs out across multiple regions + +## High Load Generator Memory Usage + +**This is a Test Health Alert. You should address this to ensure accurate results** + +This alert is raised when we detect high utilization of load generator memory during a test. When memory is highly utilized in a test, it can result in some unexpected behaviour or failures. It may also cause high CPU utilization as garage collection efforts consume more and more of the CPU cycles. + +Possible fixes: + +- Utilize the test option `discardResponseBodies` to throw away the response body by Default + - Use `responseType:` to capture the responseBodies you may require diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/03 Threshold Tab.md b/src/data/markdown/docs/03 cloud/02 Analyzing Results/03 Threshold Tab.md new file mode 100644 index 0000000000..39e3422dad --- /dev/null +++ b/src/data/markdown/docs/03 cloud/02 Analyzing Results/03 Threshold Tab.md @@ -0,0 +1,23 @@ +--- +title: "Threshold Tab" +excerpt: "The Threshold Tab allows you to visually inspect the performance of your Thresholds during a k6 test. " +--- + +## Cloud Results: Thresholds + +The Threshold Tab allow you to visually inspect and analyze `Thresholds` in your test. The number in the tab represents passing Thresholds / Total Thresholds so you can quickly see if something needs your attention. + +Further within this tab, you are able to: + +- Easily see failing checks. In the example below, our `check_failure_rate` custom metric is failing. Take notice of the ✓ or ✕ on the left side of each row. +- Expand a threshold to view it's graph. In our example below, the expanded threshold is below the threshold of 100 ms +- Add the chart to the `Analysis Tab` for further correlation with other data + +![Thresholds Tab](images/03 Threshold Tab/thresholds-tab.png) + +Next, [Checks Tab](/cloud/analyzing-results/checks-tab) + + +## See Also + +For more information on defining `Thresholds` in your test, please refer to our documentation on [Thresholds](/using-k6/thresholds) diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/04 Checks Tab.md b/src/data/markdown/docs/03 cloud/02 Analyzing Results/04 Checks Tab.md new file mode 100644 index 0000000000..5d7ff658ea --- /dev/null +++ b/src/data/markdown/docs/03 cloud/02 Analyzing Results/04 Checks Tab.md @@ -0,0 +1,24 @@ +--- +title: "Checks Tab" +excerpt: "The Checks tab allow you to visualize performance of your checks in your k6 test" +--- + +## Cloud Results: Checks + +The Checks Tab allow you to visually inspect and analyze `Checks` in your test. The number in the tab represents passing Checks / total Checks so you can quickly see if something needs your attention. + +As you further examine this tab, you are able to: + +- Easily see `checks` that have failures. Take notice of the ✓ or ✕ on the left side of each row. + - In the example below, the `Check` "is welcome header present" is succeeding only 32.7% of the time +- Expand a `Check` to view it's graph. We can see how many failures occur at different points in the test. +- Add the chart to the `Analysis Tab` for further correlation with other data + +![Checks Tab](images/04 Checks Tab/checks-tab.png) + +Next, [HTTP Tab](/cloud/analyzing-results/http-tab) + + +## See Also + +For more information on using `Checks` in your test, please refer to our documentation on [Checks](/using-k6/checks) diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/05 HTTP Tab.md b/src/data/markdown/docs/03 cloud/02 Analyzing Results/05 HTTP Tab.md new file mode 100644 index 0000000000..622b4256cf --- /dev/null +++ b/src/data/markdown/docs/03 cloud/02 Analyzing Results/05 HTTP Tab.md @@ -0,0 +1,23 @@ +--- +title: "HTTP Tab" +excerpt: "The HTTP tab allows you to inspect individual requests in your k6 test" +--- + +## Cloud Results: HTTP Tab + +The HTTP Tab allow you to inspect individual HTTP requests made in your test. The number in the tab represents total passing HTTP Requests / Total HTTP Requests. This provides a quick hint to any failing requests. Displayed in the tab will be a row for each HTTP request by resource, method used, and status code returned. If an endpoint has multiple request methods or status codes, we separate them. Note the login endpoint which was requested via a POST but has had two different status codes returned, 200 and 302. + + +On this tab, we can easily see `HTTP` requests with failures that have failures. Take notice of the ✓ on the left of each row. If we had failures they would be marked with a ✕ + +![HTTP Tab](images/05 HTTP Tab/http-tab.png) + +When you click on a row to expand, you can also: + +- View additional metrics for the request, such as time spent handshaking +- Change the aggregation (Mean, Median, Min, Max, Std Deviation, or 95th percentile) +- Add the chart (plus additional metrics) to the analysis tab. + +![HTTP Tab](images/05 HTTP Tab/http-tab-graph.png) + +Next, [Analysis Tab](/cloud/analyzing-results/analysis-tab) diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/06 Analysis Tab.md b/src/data/markdown/docs/03 cloud/02 Analyzing Results/06 Analysis Tab.md new file mode 100644 index 0000000000..31608b7125 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/02 Analyzing Results/06 Analysis Tab.md @@ -0,0 +1,25 @@ +--- +title: "Analysis Tab" +excerpt: "The Analysis tab allows you to compare and correlate data from your k6 test." +--- + +## Cloud Results: Analysis Tab + +The Analysis Tab allow you to gather all interesting data points from your test to compare and correlate. Any metrics you that you click on `ADD CHART TO ANALYSIS` will show up here. In our example below, we've added some metrics from the previous three articles in this section. The number in the tab, will show how many metrics have been added, for quick reference. + +By default the comparison chart will be blank, we've added VUs and response time from the `ADD NEW METRIC` button in the top right corner. Clicking on this button will open a modal for you to add more metrics: + +![Add Metric Modal](images/06 Analysis Tab/add-metric-modal.png) + +Other things you can do on this tab: + + +- When viewing the chart, hovering over any single point will show you data from that point in the test. +- View metrics you added from previous tabs. They will show up below the main chart. + - You may also change aggregation of these metrics in this tab or filter on tags +- Add small charts to the larger chart by clicking on the "+" in the top right corner of the small charts +- Add additional metrics to the small chart area by clickin `ADD NEW METRIC` in the small chart area + +![Analysis Tab](images/06 Analysis Tab/analysis-tab.png) + +Next, [Test Comparison](/cloud/analyzing-results/test-comparison) diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/07 Test Comparison.md b/src/data/markdown/docs/03 cloud/02 Analyzing Results/07 Test Comparison.md new file mode 100644 index 0000000000..972d2f3090 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/02 Analyzing Results/07 Test Comparison.md @@ -0,0 +1,71 @@ +--- +title: "Test comparison" +excerpt: "Use the k6 Cloud Results test comparison feature to compare data across different test runs." +--- + +
+ +> ### Test Comparison is for comparing runs of the same Test Script +> +> When using test comparison, you may only compare tests from the same series of test runs. You are not able to compare two different test scripts. + +
+ +The test comparison feature built-in to k6 Cloud Results that allows you to compare the results of two different test runs of the same test script. You can compare high-level metrics, individual checks and URL endpoints. You may wish to compare against a previous test run to look for a measurable difference in some change you made. Or you may be comparing against a known baseline. + +## Setting a baseline test + +Comparing results against a known [baseline](#phase-2---baseline-testing-scaling-your-tests-and-complex-cases) is a core part of the General Methodology for [performance testing](/testing-guides/automated-performance-testing). Baseline tests are important as they allow you to compare against a control to look for differences. Baseline tests should produce enough load to contain meaningful data and ideal results. In other words, a heavy stress test isn't a good baseline. Think much smaller. + +In order to set your baseline, open up the results for the test run you wish to be your baseline. Click on the three dots in the top right corner -> set as Baseline test run. Baseline tests are exempt from data retention policies. + +![k6 Cloud Results: Set a baseline](images/07 Test Comparison/set-baseline-test.png) + +## Selecting test runs to compare + +To compare two test runs, open up one of the test runs. Then select the test run you want to compare it to using the select drop down on the right side of the test result page, just above the Performance Overview section. + +![k6 Cloud Results: Select test run for comparison](images/07 Test Comparison/select-test-comparison.png) + +## Test Comparison Mode + +After you select a test you will be brought into comparison mode. While in this mode you will see two charts in the Performance Overview section and are able to change the base and target test you are comparing. This lets you quickly change between different test runs and visually see if there are any obvious performance differences. + +![k6 Cloud Results: Performance overview comparison](images/07 Test Comparison/comparison-mode.png) + +## Thresholds Tab Test Comparison + +In the thresholds tab, additional data is added to the table for the base and target test run These columns will show the current vs compared test run's Threshold `value` for each Threshold and the `pass/fail` status. Clicking on any threshold will display a separate threshold chart for each test run. + +![k6 Cloud Results: Thresholds comparison](images/07 Test Comparison/thresholds-comparison.png) + +## Checks Tab Test Comparison + +In the checks tab, additional data is added to the table for the base and target test run. These column will show the difference in `Success Rate`, `Success Count` and `Fail Count` between the current and compared test runs. clicking on any Check will display a separate checks charts for each test run. + +![k6 Cloud Results: Checks comparison](images/07 Test Comparison/checks-comparison.png) + +## HTTP Tab Test comparison + +In the HTTP Tab, additional data is added to the table for the base and target test run. Here you can compare `Count`, `p95`, and `p99` metrics for individual HTTP requests. + +Clicking on a row will also show two separate charts, one for each test run. You can also change aggregation of the data to add additional metrics, such as timing breakdown for each HTTP request. + +![k6 Cloud Results: HTTP comparison](images/07 Test Comparison/http-comparison.png) + +Next, [Sharing Results](/cloud/analyzing-results/test-results-menu#share-test-results) + + + + diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/08 Test Results Menu.md b/src/data/markdown/docs/03 cloud/02 Analyzing Results/08 Test Results Menu.md new file mode 100644 index 0000000000..95c4c1a1d0 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/02 Analyzing Results/08 Test Results Menu.md @@ -0,0 +1,54 @@ +--- +title: "Test Results Menu" +excerpt: "Additional options available in the test results menu" +--- + +The Test Results menu allows you to take some more actions on your specific test. + +![Test Results Menu](images/08 Test Results Menu/test-results-menu.png) + +## Export data + +Starts a data export. For more information on the structure of the export, please refer to this [documentation](/cloud/analyzing-results/result-export) + + +## Share test results + +Generates a URL that you can use to share test results. + + +
+ +> ### Test Result Sharing URL +> +> The generated URL does not require a user to be authenticated to view. If you want to share sensitive results, considering add users as [Team Members](/cloud/project-and-team-management/team-members) instead. +> +> **Note**: The URL is not generated until after you choose the option to share. + +
+ +![Test Sharing](images/08 Test Results Menu/test-share.png) + +## Delete test results + +Deletes the current test result. + +
+ +> ### Test Deletion is not reversible +> +> + +
+ +## Set as baseline + +Sets the current test run as your baseline test. You are able to specify one test run per test as baseline. This allows you to compare performance over a longer period of time. + +![Set Baseline](images/08 Test Results Menu/set-baseline.png) + +## Create Note + +The `Create Note` option launches a modal window with a text box. You can use this to enter notes regarding the test, changes made, or anything that may be worth noting about your test. + +![Test Note](images/08 Test Results Menu/test-note.png) diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/09 Performance Trending.md b/src/data/markdown/docs/03 cloud/02 Analyzing Results/09 Performance Trending.md new file mode 100644 index 0000000000..695e85d3bf --- /dev/null +++ b/src/data/markdown/docs/03 cloud/02 Analyzing Results/09 Performance Trending.md @@ -0,0 +1,20 @@ +--- +title: "Performance Trending" +excerpt: "The performance trending graph allows you to quickly see how performance changes over between test runs" +--- + +## Background + +The performance trending graph is automatically created as you continue to run your tests. It's intended to provide a high level overview of your test performance over time. The bars on the graph also signal the status of a specific test. You are able to view the performance trending graph both from the dashboard. In both cases we plot the `p95` response time metric for all HTTP requests from the test run. + +## Dashboard Performance Trending + +Directly from the dashboard you can see all of your tests and the status of the test runs. This view is helpful to get a high level view of how performance is trending over time. In our example below, we can see `Insights Demo with Cloud Execution` is currently running, but has quite a few failures before this test run. Our script, `api.js` is passing and trending down, which is a good sign. + +![Dashboard Performance Trending](images/09 Performance Trending/dashboard-perf-trending.png) + +## Test Performance Trending + +By clicking on the name of any of your tests will bring you to a performance trending graph for that specific test run. We show more data points over time in this graph. You can see more information by hovering over any bar in the graph. This test has stable response times between test runs, but is failing by [Thresholds](/using-k6/thresholds) + +![Performance Trending](images/09 Performance Trending/performance-trending.png) diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/10 Result Export.md b/src/data/markdown/docs/03 cloud/02 Analyzing Results/10 Result Export.md new file mode 100644 index 0000000000..615e95a625 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/02 Analyzing Results/10 Result Export.md @@ -0,0 +1,37 @@ +--- +title: 'Result Export' +excerpt: 'Structure for the CSV export for cloud results' +--- + +Test result data can be exported after a test has finished and data processing complete. To do so, use the [test results menu](/cloud/analyzing-results/test-results-menu) in the top right of a test result and select `Export Data`. The data will be exported as a `.tar.gz` file with a `.csv` contained inside. + +## Structure of the CSV data + +The CSV data has the following columns of data: + +
+ +``` +"time","metric","group_id","response_time","url","method","status","count","load_zone","tags" +``` + +
+ +Here's example data, units (where necessary) and description of each field present in the CSV data. + +| Column | Example | Data/Unit | Description | +| --------------- | -------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `time` | 2019-03-25 11:12:48.927949+00:00 | datetime (UTC) | The ISO-8601 timestamp when this data point was captured (when the HTTP request was made). | +| `metric` | http_req_duration | string | The metric name that this data point represents. | +| `group_id` | e1158ec16fa10dcfd16f4bd7309e2c55 | string | The ID of the k6 [`group()`](/using-k6/tags-and-groups) from where this request was made. | +| `response_time` | 2.008016 | number (ms) | The HTTP response time of the request that this data point represents (if `count` > 1 then this will be an aggregate value, the average). | +| `url` | http://test.k6.io/style.css | string | The URL requested. | +| `method` | GET | string | The HTTP method of the request that this data point represents. | +| `status` | 200 | number | The HTTP response status code of the request that this data point represents. | +| `count` | 1.0 | number | Number of samples that this data point represents (if > 1 `response_time` is an aggregate value). | +| `load_zone` | amazon:us:ashburn | string | The load zone where the request(s) was made from. | +| `tags` | staticAsset=true | string | Pipe (`|`) separated list of `name=value` tags as specified for the request in the script. | + +### Future + +The exported CSV file currently only contains data from the primary HTTP response time metric (`http_req_duration`). In the future we'll expand the export feature with more HTTP data, WebSocket data, Checks data, Thresholds data as well as Custom metrics data. diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/checks-tab-with-failures.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/checks-tab-with-failures.png new file mode 100644 index 0000000000..afcce7461c Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/checks-tab-with-failures.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/finished-performance-overview.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/finished-performance-overview.png new file mode 100644 index 0000000000..11d164a2c5 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/finished-performance-overview.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/running-performance-overview.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/running-performance-overview.png new file mode 100644 index 0000000000..c56fc43b08 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/running-performance-overview.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/test-metadata.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/test-metadata.png new file mode 100644 index 0000000000..1ea30d742a Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/test-metadata.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/test-run-navigation.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/test-run-navigation.png new file mode 100644 index 0000000000..3930479fe9 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/01 Overview/test-run-navigation.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/03 Threshold Tab/thresholds-tab.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/03 Threshold Tab/thresholds-tab.png new file mode 100644 index 0000000000..3a634403c8 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/03 Threshold Tab/thresholds-tab.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/04 Checks Tab/checks-tab.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/04 Checks Tab/checks-tab.png new file mode 100644 index 0000000000..93b19381fb Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/04 Checks Tab/checks-tab.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/05 HTTP Tab/http-tab-graph.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/05 HTTP Tab/http-tab-graph.png new file mode 100644 index 0000000000..a15bed1e6a Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/05 HTTP Tab/http-tab-graph.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/05 HTTP Tab/http-tab.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/05 HTTP Tab/http-tab.png new file mode 100644 index 0000000000..a1204624fb Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/05 HTTP Tab/http-tab.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/06 Analysis Tab/add-metric-modal.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/06 Analysis Tab/add-metric-modal.png new file mode 100644 index 0000000000..01c66a566a Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/06 Analysis Tab/add-metric-modal.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/06 Analysis Tab/analysis-tab.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/06 Analysis Tab/analysis-tab.png new file mode 100644 index 0000000000..cffcd544a6 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/06 Analysis Tab/analysis-tab.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/checks-comparison.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/checks-comparison.png new file mode 100644 index 0000000000..0feea46f66 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/checks-comparison.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/comparison-mode.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/comparison-mode.png new file mode 100644 index 0000000000..a64ea257ef Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/comparison-mode.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/http-comparison.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/http-comparison.png new file mode 100644 index 0000000000..5908670a40 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/http-comparison.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/select-test-comparison.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/select-test-comparison.png new file mode 100644 index 0000000000..a7723e08b4 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/select-test-comparison.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/set-baseline-test.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/set-baseline-test.png new file mode 100644 index 0000000000..83f7ef927a Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/set-baseline-test.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/thresholds-comparison.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/thresholds-comparison.png new file mode 100644 index 0000000000..ae3a7061c6 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/07 Test Comparison/thresholds-comparison.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/set-baseline.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/set-baseline.png new file mode 100644 index 0000000000..d4027eaafa Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/set-baseline.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/test-note.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/test-note.png new file mode 100644 index 0000000000..db3239f499 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/test-note.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/test-results-menu.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/test-results-menu.png new file mode 100644 index 0000000000..3dbaea0487 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/test-results-menu.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/test-share.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/test-share.png new file mode 100644 index 0000000000..6062897357 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/08 Test Results Menu/test-share.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/09 Performance Trending/dashboard-perf-trending.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/09 Performance Trending/dashboard-perf-trending.png new file mode 100644 index 0000000000..6072681132 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/09 Performance Trending/dashboard-perf-trending.png differ diff --git a/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/09 Performance Trending/performance-trending.png b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/09 Performance Trending/performance-trending.png new file mode 100644 index 0000000000..2cdb51ca73 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/02 Analyzing Results/images/09 Performance Trending/performance-trending.png differ diff --git a/src/data/markdown/docs/03 cloud/03 Integrations/02 CI.md b/src/data/markdown/docs/03 cloud/03 Integrations/02 CI.md new file mode 100644 index 0000000000..4fcbfcf12e --- /dev/null +++ b/src/data/markdown/docs/03 cloud/03 Integrations/02 CI.md @@ -0,0 +1,20 @@ +--- +title: 'CI' +excerpt: 'Overview of Integrations page in k6 Cloud web UI' +--- + +## K6 as a CLI + +One of the main features in k6 is its ability to act as a command line interface with k6 cloud. This makes it effortless to integrate into your CI/CD pipelines and making sure that your build is free of performance regressions. + +Our [Integrations](/integrations) section contains guides for all major CI tools with more on the horizon. + +## Converters + +With k6 being an open source project, community contributed to multiple converters that make it easier to port your JMeter or Postman scripts to k6. Our Har to k6 converter can help you quickly convert HAR files exported from any browser or third party application. + +There is more information available in our [Integrations](/integrations) section. + +*** + +Check out our [Automated performance testing guide too!](/testing-guides/automated-performance-testing) diff --git a/src/data/markdown/docs/03 cloud/03 Integrations/03 Notifications.md b/src/data/markdown/docs/03 cloud/03 Integrations/03 Notifications.md new file mode 100644 index 0000000000..f8bc5f0907 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/03 Integrations/03 Notifications.md @@ -0,0 +1,140 @@ +--- +title: 'Notifications' +excerpt: '' +--- + +Notifications allow you to subscribe to events happening in your organizations/projects. You can receive notifications to be aware when: + +- A test has started. + - With option to notify on "manual" or "scheduled" tests. +- A test has completed + - With option to notify based on specific result statuses, eg. only on test failure (like a [threshold](/using-k6/thresholds) failing). + +You will likely want to use notifications when you schedule your performance tests and/or configure them into your Continuous Integration pipeline. + +k6 supports two different notification options: + +- Slack +- WebHook + +**Note:** Notifications are configured per organization by the organization owner or an admin member. + +![k6 Notifications](images/03 Notifications/k6-notifications-slack-webhook.png) + +## Slack + +Slack is a messaging app for teams. Follow these instructions to configure Slack notifications: + +1. From Slack, add a Custom Integration and select Incoming WebHook app. +2. Select or create a channel and copy the generated WebHook URL. +3. From the k6 web app, select "Integrations" from the left menubar, and from there select "Setup" for Slack. +4. Add Slack WebHook URL into the URL input field and click Save Changes or Test Hook. + +![Slack Setup](images/03 Notifications/slack-webhook-setup.png) + +--- + +## WebHooks + +When an event is triggered, we'll send a HTTP POST request to the configured URL with a JSON payload containing event specific data. The format is explained in the following section. + +--- + +## Notification events + +Headers sent with all requests + +| Header | Description | +| ------------------ | --------------------------------------------------------------------- | +| X-LoadImpact-ID | Unique ID for this request | +| X-LoadImpact-Event | Name of the event | +| User-Agent | User agent for webhook requests always start with `LoadImpactWebHook` | + +
+ +``` +Example headers: +X-LoadImpact-ID: 19c5d426-3b4d-43c3-8277-37ad7d457430 +X-LoadImpact-Event: test.started +User-Agent: LoadImpactWebHook +``` + +
+ +## Load test run started event + +Sent when a load test is starting. + +Example JSON body: + +
+ +```json +{ + "status": 2, + "status_text": "Running", + "user_id": 1, + "name": "Load test", + "organization_id": 1, + "load_test_id": 1, + "load_test_run_id": 1, + "project_id": 1, + "event": "test.started" +} +``` + +
+ +## Load test run finished event + +Sent when a load test finishes, aborts or fails + +Example JSON body: + +
+ +```json +{ + "status": 3, + "status_text": "Finished", + "user_id": 1, + "name": "Load test", + "organization_id": 1, + "load_test_id": 1, + "load_test_run_id": 1, + "project_id": 1, + "event": "test.finished" +} +``` + +
+ +## Status Codes + +| Status | Description +|------- | ------------ +| -2 | Created +| -1 | Validated +| 0 | Queued +| 1 | Initializing +| 2 | Running +| 3 | Finished +| 4 | Timed out +| 5 | Aborted by user +| 6 | Aborted by system +| 7 | Aborted by script error +| 8 | Aborted by threshold +| 9 | Aborted by limit + +--- + +## Test notification channel event + +Test event that can be triggered from the UI to test webhook + +Example JSON body: +```json +{ +"event": "test.notification_channel" +} +``` diff --git a/src/data/markdown/docs/03 cloud/03 Integrations/04 Token.md b/src/data/markdown/docs/03 cloud/03 Integrations/04 Token.md new file mode 100644 index 0000000000..0685376827 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/03 Integrations/04 Token.md @@ -0,0 +1,106 @@ +--- +title: 'Token' +excerpt: 'How to authenticate with k6 Cloud token' +--- + +Before you can interact with the k6 Cloud service, whether it's for streaming results or running tests in the cloud, you'll need to authenticate. Your Auth Token is what enables this and allows you to interact with the k6 Cloud using the k6 CLI or through the REST API. To get your Auth Token, please visit this [page](https://app.k6.io/account/token). + +Below are some examples on how to utilize the token to authenticate. + + +
+ +> ### Google/Github Single Sign-On Users +For Single Sign-On (SSO) users, `k6 login cloud` requires a k6 cloud account email and password. You will need to create a password by using [Forgot Password](), or you'll instead need to get your API authentication token from the app and supply that explicitly: `k6 login cloud --token YOUR_API_AUTH_TOKEN`. +See below for more information. + +
+ +
+ +> ### Docker Users +If you're running k6 in a Docker container you'll need to make sure that the k6 config file where the k6 cloud API authentication information (an API authentication token) will be stored to is persisted via a Docker volume to the host machine using the `-c/--config PATH/TO/CONFIG_FILE` CLI flag, e.g. `docker run -i -v /path/on-host:/path/in-container/ loadimpact/k6 login cloud -c /path/in-container/config.json`. + +
+ +
+ +> ### Integrating with CI +If you are integrating k6 into your CI pipeline, we recommend using one of the token methods to authenticate and not exposing your username/password within your CI configuration files or as variables. + +
+ + + +## Authenticate with email/password + +You can forego using a token and use your k6 cloud email/password credentials by entering the following command into your terminal: + +
+ +```shell +k6 login cloud +``` + +
+ + + +This will login to your account, fetch (and create of necessary) your k6 cloud API authentication token, and save it to a [k6 configuration file](#using-config-file). + +## Authenticating with API token + +If you're a Google/Github Single Sign-On (SSO) user or if you have a use case where using your k6 cloud account credentials is not appropriate you can choose to enter your k6 cloud API authentication token directly by entering the following command into your terminal: + +
+ +```C +k6 login cloud --token YOUR_API_AUTH_TOKEN +``` + +
+ + +## API Token as an environment variables + +You can also authenticate with your k6 cloud API authentication token via environment variables. If you make sure the `K6_CLOUD_TOKEN` has been set to your k6 cloud API authentication token k6 will pick it up when executing. + +## Authentication with a config file + +You can also directly add your k6 cloud API authentication token to a configuration file. Either in the default path that k6 will look for it by default: + +
+ +``` +${HOME}/.config/loadimpact/k6/config.json +``` + +``` +${HOME}/Library/Application Support/LoadImpact/k6/config.json +``` + +``` +C:\Users\<User>\AppData\Roaming\loadimpact\k6\config.json +``` + + +
+ + +or by specifying the `-c/--config PATH/TO/CONFIG_FILE` CLI flag. + +When your k6 cloud API authentication token has been added to the config file, it should look something like this (removing any other config options from the file): + +
+ +```json +{ + "collectors" { + "cloud": { + "token": "YOUR_API_AUTH_TOKEN" + } + } +} +``` + +
diff --git a/src/data/markdown/docs/03 cloud/03 Integrations/images/03 Notifications/k6-notifications-slack-webhook.png b/src/data/markdown/docs/03 cloud/03 Integrations/images/03 Notifications/k6-notifications-slack-webhook.png new file mode 100644 index 0000000000..27d0ed3abd Binary files /dev/null and b/src/data/markdown/docs/03 cloud/03 Integrations/images/03 Notifications/k6-notifications-slack-webhook.png differ diff --git a/src/data/markdown/docs/03 cloud/03 Integrations/images/03 Notifications/slack-webhook-setup.png b/src/data/markdown/docs/03 cloud/03 Integrations/images/03 Notifications/slack-webhook-setup.png new file mode 100644 index 0000000000..a9b3f3661f Binary files /dev/null and b/src/data/markdown/docs/03 cloud/03 Integrations/images/03 Notifications/slack-webhook-setup.png differ diff --git a/src/data/markdown/docs/03 cloud/04 Project and Team Management/01 Organizations.md b/src/data/markdown/docs/03 cloud/04 Project and Team Management/01 Organizations.md new file mode 100644 index 0000000000..8166f32d31 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/04 Project and Team Management/01 Organizations.md @@ -0,0 +1,37 @@ +--- +title: 'Organizations' +excerpt: 'Explanation of organizations and the hierarchy in the k6 web app' +--- + +
+ +> Running tests in another Organization
+> If you have been invited to another organization as a Team Member, you must specify a projectId in `ext.loadimpact.projectId` in order to use that organization's subscription to run your test. + +
+ +## Background + +Organizations are a hierarchical tier within k6. Organizations are owned by a single user (the account owner). + +## Using Organizations + +By default, all users have one Organization within their k6 account, this is automatically created and assigned during account registration. If you purchase a subscription, it is associated with the organization. As an organization owner, you may invite [Team Members](/cloud/project-and-team-management/team-members) as either Admins or Project Members. These users will be able to utilize the subscription and access projects in the organization. + +If you have been invited to another user's Organization, you will have access based on the role the owner assigned to you (Admin or Project Member). You may utilize the subscription associated with that Organization. + +> ### Note on Organizations +> +> Most users will only require 1 organization for their subscription. Some larger companies may wish to use multiple organizations to manage multiple unique subscriptions. + +## Hierarchy Diagram + +Please refer to the following diagram to visualize the relationship of different aspects of the web application + + +![Hierarchy](images/01 Organizations/organization-hierarchy-diagram.png) + +## See also + +- [Projects](/cloud/project-and-team-management/projects) +- [Team Members](/cloud/project-and-team-management/team-members) diff --git a/src/data/markdown/docs/03 cloud/04 Project and Team Management/02 Projects.md b/src/data/markdown/docs/03 cloud/04 Project and Team Management/02 Projects.md new file mode 100644 index 0000000000..c5859faaf1 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/04 Project and Team Management/02 Projects.md @@ -0,0 +1,26 @@ +--- +title: 'Projects' +excerpt: 'Keep your tests and team members organized with projects, a foldering system built into the k6 web app' +--- + +## Background + +Projects are a way to stay organized within your account in k6. In the simpliest terms, projects can be considered a foldering system which you can use to organize your tests. Projects are assigned on a per organization level. Organization owners and admins can invite users to be members of a project. Only Read/Write members can be explicitly restricted from accessing a project. + +## Using Projects + +Projects are a simple foldering system. They are flexible enough to allow you to use them in a way that makes sense to you, but simple enough to not lose information in a deep nested structure. + +Here are some ways we have seen users utilize Projects to stay organized: + +- Per team: Each team is given their own project for them to do their work and collaborate +- Per component: A project is created for each component or service you are testing. +- Per brand: E-commerce customers may want to use projects per brand to stay organized +- Per Customer: When dealing with custom software, you may wish to organize by customer to ensure each unique system is tested +- Per Major Release: After your systems go through a major change, you may wish to create a new project to organize the most recent data + +## Running CLI Tests in a Specific Project + +If you are using the CLI to trigger your tests, you will need to specify a projectId in order to use the correct subscription and organize your results in the correct project. You will need to get the project ID from the top left corner of the dashboard: + +![Test result navigation](images/02 Projects/projectID.png) diff --git a/src/data/markdown/docs/03 cloud/04 Project and Team Management/03 Team Members.md b/src/data/markdown/docs/03 cloud/04 Project and Team Management/03 Team Members.md new file mode 100644 index 0000000000..f0b6a54e62 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/04 Project and Team Management/03 Team Members.md @@ -0,0 +1,59 @@ +--- +title: 'Team Members' +excerpt: 'Guide on inviting Team Members to your k6 account for collaboration' +--- + +
+ +> Team Members must specify a projectId
+> Invited Team members must specify a `projectId` in `options.ext.loadimpact.projectId` of the options object of their test in order to use the subscription of the organization they have been invited to. + +
+ +## Background + +The Team Member functionality allows you to invite others users to gain access to your Organization and Subscription within the k6 web app. This make it easy to collaborate and share results to key stakeholders across your company. + +--- + +## Adding Team Members + +To add Team Members, click "Members" under "Organization Settings" in the drop down menu in the top left corner. + +![User Drop Down Menu](images/03 Team Members/drop-down-menu.png) + +--- + +Next, click "Invite New Members" + +![Invite Team Members](images/03 Team Members/invite-new-members.png) + +--- + +Then, within the modal window, enter the email address and select a role for the user. For the Project Member permission role, users can be specifically assigned to projects. Admins are able to see all projects + +![Invite Modal](images/03 Team Members/invite-modal.png) + +--- + +## Specify a projectId + +
+ +```javascript +export let options = { + // Truncated for brevity + ext: { + loadimpact: { + name: 'My Test Name', + projectId: 1234567, // Replace with your projectId + distribution: { + scenarioLabel1: { loadZone: 'amazon:us:ashburn', percent: 50 }, + scenarioLabel2: { loadZone: 'amazon:ie:dublin', percent: 50 }, + }, + }, + }, +}; +``` + +
diff --git a/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/01 Organizations/organization-hierarchy-diagram.png b/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/01 Organizations/organization-hierarchy-diagram.png new file mode 100644 index 0000000000..1cb7f6e7a3 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/01 Organizations/organization-hierarchy-diagram.png differ diff --git a/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/02 Projects/projectID.png b/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/02 Projects/projectID.png new file mode 100644 index 0000000000..934892ad42 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/02 Projects/projectID.png differ diff --git a/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/03 Team Members/drop-down-menu.png b/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/03 Team Members/drop-down-menu.png new file mode 100644 index 0000000000..5e28532816 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/03 Team Members/drop-down-menu.png differ diff --git a/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/03 Team Members/invite-modal.png b/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/03 Team Members/invite-modal.png new file mode 100644 index 0000000000..497fd7e8cd Binary files /dev/null and b/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/03 Team Members/invite-modal.png differ diff --git a/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/03 Team Members/invite-new-members.png b/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/03 Team Members/invite-new-members.png new file mode 100644 index 0000000000..0b8e74aa02 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/04 Project and Team Management/images/03 Team Members/invite-new-members.png differ diff --git a/src/data/markdown/docs/03 cloud/05 Billing & User Menu/01 Settings.mdx b/src/data/markdown/docs/03 cloud/05 Billing & User Menu/01 Settings.mdx new file mode 100644 index 0000000000..1e6acca9d6 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/05 Billing & User Menu/01 Settings.mdx @@ -0,0 +1,6 @@ +--- +title: "Settings" +excerpt: "" +--- + +Not sure what to put in this doc? You can only change your org name.... diff --git a/src/data/markdown/docs/03 cloud/05 Billing & User Menu/02 Subscription.md b/src/data/markdown/docs/03 cloud/05 Billing & User Menu/02 Subscription.md new file mode 100644 index 0000000000..3248ec5d8f --- /dev/null +++ b/src/data/markdown/docs/03 cloud/05 Billing & User Menu/02 Subscription.md @@ -0,0 +1,26 @@ +--- +title: 'Subscription' +excerpt: 'Details of what is available within the k6 subscription menu' +--- + +## Background + +The subscription menu gives you a simple view of the limits of your current plan as well as how many tests remain for your current period. + +## Your Subscription + +Details of your current active subscription and any add-ons you may have. Note the counter in the right corner displaying usage for the current period of your subscription. + +![subscription rules](images/02 Subscription/subscription.png) + +## Upgrades + +If you have paid online with a credit card, you may upgrade at any time. We will prorate your existing subscripition towards the cost of a new one. + +## Downgrades + +To downgrade your subscription, you may select a new plan at any time. We will bill the new cost immediately and start the new plan at the conclusion of your current period. + +## Cancelation / Data Retention + +You may cancel your online subscription at any time through the web app. When canceling you are able to opt into Data Retention to save your result data longer term / between projects. If you do not choose data retention all test result data is deleted 7 days after your subscription expires. When canceling you may use your plan through the end of the current period. diff --git a/src/data/markdown/docs/03 cloud/05 Billing & User Menu/03 Billing.md b/src/data/markdown/docs/03 cloud/05 Billing & User Menu/03 Billing.md new file mode 100644 index 0000000000..20dbfc4c19 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/05 Billing & User Menu/03 Billing.md @@ -0,0 +1,41 @@ +--- +title: 'Billing' +excerpt: 'Update and view information such as Billing address, VAT, Credit Cards, and receipts' +--- + +
+ +> VAT for EU Organizations
+> If you are making a purchase from within the EU, Please be sure to enter your VAT number before purchase. +> If you do not enter a VAT number, we must collect VAT and are unable to refund VAT if you present a valid number later on. +> Due to regulations, all purchases made within Sweden will include VAT. + +
+ +## Background + +The billing allows you to manages things such as billing address, VAT numbers, payment methods and receipts. This menu is only accessible to Account Owners and Admins. The billing menu can be accessed by clicking on the Account Menu -> `Billing` + +## Billing Information + +Use this section to update your billing email, billing address and VAT (if applicable). To update this information click "Update Billing Information" + +![Updating Billing Information](images/03 Billing/update-billing.png) + +--- + +## Credit Cards + +Use this section to add/remove/change your Credit Card on file. When updating cards, please remove old/expired cards to ensure no lapse in service. To add a card, click `Add New Card` + +--- + +## Payments and Receipts + +The Payments section will include all of your receipts for purchases made with a Credit Card in our web app. If you have paid via wire / invoice please reach out to support for help on retrieving historical payment details. + +--- + +## Invoicing and Wire Transfer + +For annual agreements we do offer wire transfer / invoicing as a method of payment. In order to get started, please reach out to sales@k6.io. diff --git a/src/data/markdown/docs/03 cloud/05 Billing & User Menu/images/02 Subscription/subscription.png b/src/data/markdown/docs/03 cloud/05 Billing & User Menu/images/02 Subscription/subscription.png new file mode 100644 index 0000000000..c541d0eba9 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/05 Billing & User Menu/images/02 Subscription/subscription.png differ diff --git a/src/data/markdown/docs/03 cloud/05 Billing & User Menu/images/03 Billing/update-billing.png b/src/data/markdown/docs/03 cloud/05 Billing & User Menu/images/03 Billing/update-billing.png new file mode 100644 index 0000000000..5126b6c733 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/05 Billing & User Menu/images/03 Billing/update-billing.png differ diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/01 Pricing.md b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/01 Pricing.md new file mode 100644 index 0000000000..2e13b0b36e --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/01 Pricing.md @@ -0,0 +1,65 @@ +--- +title: "Pricing FAQ" +excerpt: "Frequently asked questions about k6 cloud pricing and subscriptions" +--- + + +This document contains some of our most frequently asked questions about pricing. If your question isn't answered here, please contact [support](mailto:support@k6.io). + + +## Does k6 have a concept of VU Hours? + +No - There is no concept of VU hours for our plans. You can run all your tests up to the maximum limits as defined by your subscription. + +## What tests count against my monthly limit? + +Only tests executed from or streamed to the k6 cloud will count against your total number of tests. Specifically tests run with the `cloud` command or `-o cloud` flag. e.g. `k6 cloud myScript.js` or `k6 run myScript.js -o cloud` + +## Can I pay with a PO or Wire transfer? + +Yes - please contact sales or support to initiate the process + +## Do you offer discounts for: Non-profits? Gov't organizations? Education institutions? Start-ups? + +Yes we offer discounts on our base subscriptions. Please contact [sales](mailto:sales@k6.io.com?subject=Not-for-profit%2FStart-up%2FEducational%20Discount%20Inquiry) to confirm your eligibility and a custom quote + +## Do plans auto renew? + +Yes - our online plans will auto renew, however they can be canceled at any time in app, for any reason. + +## Can I upgrade or downgrade my plan? + +Yes - You can upgrade or downgrade. + +Upgrades result in a prorated amount being applied towards your new plan. For example, if you are 15 days into a month and upgrade, about 50% of your current subscription would be applied towards the new plan's cost. + +Downgrades are charged immediately but do not start until the next billing cycle. You retain the ability to test with your current plan until the next billing cycle starts. + +## Can I specify a billing contact to receive monthly receipts? + +Yes - within the billing menu, you can specify a billing email address. We will send a copy of the receipt to this email upon each renewal. + +## How do I get an invoice/receipt for my purchase? + +These are located in the billing menu + +To get a invoice/receipt for your purchase: +Click drop down next to your name in app -> billing +Scroll down to the “Payments” category. +Click the “View receipt” button. + +You can choose to either save or print the receipt. Your receipt number is considered your invoice number. + +## My receipt details aren't correct, help! + +Please update the billing details in the billing menu. This will regenerate the receipts with proper address, company name and other details. + +## I've been charged VAT but have a valid VAT number + +For Swedish organizations - we must charge this as we are based in Sweden + +For other EU organizations - please be sure to enter your VAT number in the billing menu. If you have forgotten to add your VAT number and it is the same calendar month as your charge, please contact support for potential options on adjusting the charge. + +## Do you offer professional services or help with scripting? + +Yes - we have a professional services team that can be engaged to assist in your testing. This team can be utilized to just give a hand with scripting or execute entire projects based on your need. Please contact [sales](mailto:sales@k6.io) for more information. Note: Projects need to be scoped and typically require a 1-2 week lead time, depending on availability. diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/02 Data Retention.md b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/02 Data Retention.md new file mode 100644 index 0000000000..0867928ee2 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/02 Data Retention.md @@ -0,0 +1,45 @@ +--- +title: "What is Data Retention?" +excerpt: "What is k6 data retention and how does it work?" +--- + +
+ +> ### Data Retention +> +> Data is retained on a rolling basis. Test result data older than what is specified in +> your plan is automatically deleted. If you need to save data, please be sure to export, +> set the test as baseline, or purchase a period of data retention that meets your +> requirements. + +
+ + +## What is Data Retention? + +Generally speaking data retention is continued storage of an organization's data for various reasons. k6 differentiates between test result data and your user data (projects, profiles, etc.). In terms of data retention, we are referring only to test result data. Your specific user data and test configurations are saved indefinitely on your user profile. + +## How do I save my baseline tests? + +You can select a single test run per test as a baseline test. The purpose of this is to serve as a point of comparison for future tests. Baseline tests are exempt from data retention rules and are saved indefinitely. To mark a test as baseline, use the three dot menu in the top right corner of your test run and click `Set as Baseline` + +![Set as baseline](images/02 data retention/set-as-baseline.png) + + +## How long is my data retained? + +Data is retained on a rolling basis, depending on your subscription. For plans with 1 month of data retention, we will retain data for 30 days from the test run. After that period the data is deleted. This rolling period only applies while you have an active subscription. If you cancel your subscription, data is retained for 7 days past subscription expiration. + +> ### Buying Data Retention +>You can purchase a data retention plan during cancelation of your subscription. This allows you to retain your result data at a lower rate between testing periods. + +## Can I export my data? + +Yes, data can be exported. To export data from a specific test run, please click on the three dot menu in the top right corner of your test run -> export. + +## When can I purchase Data Retention + +A period data retention is automatically included in every subscription plan. The time your data is retained depends on specific plan you have purchased. For more info on specific plans and corresponding data retention periods please visit our [pricing](https://k6.io/pricing/) page. + +> ### Longer Periods of Retention +> For periods of data retention longer than specified in our plans, please reach out to support for pricing information. diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/03 IP addresses Used k6 cloud.md b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/03 IP addresses Used k6 cloud.md new file mode 100644 index 0000000000..0e8b320b82 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/03 IP addresses Used k6 cloud.md @@ -0,0 +1,34 @@ +--- +title: "What IP addresses are used by the k6 cloud?" +excerpt: "List of the IP addresses used by the k6 cloud" +--- + +This article contains the various IP addresses k6 uses to generate load for cloud based tests and other services. The most common reason for needing this information is to open your firewall to allow tests to reach the staging/test environment from a cloud based test. If you are streaming results to k6 Cloud utilizing `k6 run myscript.js -o cloud` you may only need to allow traffic against ingest.k6.io on port 443. + +Other methods, such as header or query parameter whitelisting, may also fit your requirements. Refer to [this article](/cloud/cloud-faq/how-to-open-your-firewall-to-k6-cloud-service-for-cloud-executed-tests) for more information on those methods. + +## Load Zones + +k6 uses AWS for cloud load generators. For the IP addresses used in the different load zones and filtering methods please refer directly to [Amazon](http://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). + +If you prefer to view the ranges directly, within the above link, the [ip-ranges.json](https://ip-ranges.amazonaws.com/ip-ranges.json) file provides the updated list of IP addresses used by our load generators. In order to know which IP ranges can be used, you need to filter the `service` of type EC2 and the `region` of the selected load zone/s in your test configuration. + +The zone codes are mapped as follows: + + +Code | Name +---------------|-------------------------- +us-east-1 | US East (Ashburn) +us-east-2 | US East (Columbus) +us-west-1 | US West (Palo Alto) +us-west-2 | US West (Portland) +ca-central-1 | Canada (Montreal) +eu-west-1 | EU (Dublin) +eu-central-1 | EU (Frankfurt) +eu-west-2 | EU (London) +ap-northeast-1 | Asia Pacific (Tokyo) +ap-northeast-2 | Asia Pacific (Seoul) +ap-southeast-1 | Asia Pacific (Singapore) +ap-southeast-2 | Asia Pacific (Sydney) +ap-south-1 | Asia Pacific (Mumbai) +sa-east-1 | South America (São Paulo) diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/04 Debugging test scripts.md b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/04 Debugging test scripts.md new file mode 100644 index 0000000000..22c3e4d73a --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/04 Debugging test scripts.md @@ -0,0 +1,77 @@ +--- +title: "What is the best way to debug my load test scripts" +excerpt: "Tips and tricks to help debug your load test scripts efficiently" +--- + +## Background + +A common task to any development is debugging your code to make sure it's producing the expect output and results. k6 utilizes JavaScript as the scripting language for writing your load tests. Because tests are written in real code, you can and should debug your tests scripts before running them. Utilize the tips in this document to aid you in speeding up your script development. + + +## Tip 1: Use k6 locally to debug your scripts + +While there is an code editor built into the k6 web application, it has limited debugging abilities. Using k6 locally, you can actually execute your test scripts on a small scale to quickly see how the script executes. + + +## Tip 2: Debug locally only. + +Building on tip 1 above, you want to avoid streaming your results to our cloud using `-o cloud` and avoid running the test using the cloud service. There are two reasons for this: + +1. Tests that run in or stream to our cloud will count against any limits you may have +2. Execution is slower when streaming or executing in the cloud. We want debugging to be a fast iterative process. + +
+ +```C +k6 run myScript.js +``` + +
+ +When debugging, you'll likely be making many changes as you work through your scripts to ensure they work as expected. The data sent or run from the cloud won't be of much value, so just keep it local until you need to run a larger test. + + +## Tip 3: Use flags to limit execution when debugging + +It's likely that you've configured Virtual Users and/or duration in your script. adding the flags `-i 1 -u 1` will instruct k6 to execute 1 iteration with 1 Virtual User. + +
+ +```C +k6 run myScript.js -i 1 -u 1 +``` + +
+ +**Note**: 1 Virtual User and 1 iteration is also the default execution for k6. If you have not defined any VUs or iterations in your test, k6 will execute with 1. + + +## Tip 4: Use builtin debugging options + +Sometimes you need to understand more details about the requests being sent and response received. Using `--http-debug` as a flag allows you to do just that. You can also print full response bodies by using `--http-debug="full"` + +
+ +```C +k6 run myScript.js --http-debug="full" +``` + +
+ +**Note**: If your test script has a large number of HTTP requests, this will produce a large output. + + +## Tip 5: Print info to the terminal window with console.log(); when debugging + +Sometimes it's just easier to print some information to the terminal window. Feel free to use `console.log();` to print useful information to the terminal window. Perhaps you want to examine some JSON returned in a response, a specific response body, or even just know if you've correctly entered/exited loops or IF statements. + +To take the above a step further, consider the following snippet of code. We are making a GET request, saving the response to `res` and then logging the complete response object. Now we can examine it to find exactly what we may be looking for to adapt our test script. + +
+ +```JavaScript +let res = http.get("http://httpbin.test.k6.io/json"); + console.log(JSON.stringify(res)); +``` + +
diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/05 I was invited to an organization and I cannot run tests.md b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/05 I was invited to an organization and I cannot run tests.md new file mode 100644 index 0000000000..2e067b68ad --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/05 I was invited to an organization and I cannot run tests.md @@ -0,0 +1,41 @@ +--- +title: "I was invited to an organization and I cannot run tests" +excerpt: "How to correctly specify/choose a correct project to run your tests in k6" +--- + +## Purpose + +The Organizations, Projects, and Team Member functionality enables account administrators to organize and control access to their k6 account and subscription for collaboration purposes. However, newly invited members, not being familiar with this structure, sometimes ask us questions or get stuck when trying to run tests. + +For example: + +>I was invited to an organization with a subscription. However, When I try to run tests, I get an error that my subscription doesn't have enough Virtual Users/exceeds the duration/uses too many load zones. Our subscription allows for the test I want to run. What is wrong and how do I fix this? + +It's important to note that every user in k6 is an owner of organization. Organizations can contain multiple Projects. Each Project can contain multiple tests. k6 subscriptions are associated with an Organization. In almost all cases, this error is a result of trying to run a test in an Organization without a subscription (likely your own default organization). + +## How do I change my Organization to fix this? + + +## In the web interface + +If you are running tests from the web interface, you will need to use the menu in the left side bar, to select a project within the organization with a subscription. The ogranization can be changed from the dropdown User menu in the top left corner. In the image below, our user is a member of two organizations, "LoadImpact" and "Second Organization". In this example "LoadImpact" is our primary organization associated with the users account and "Second Organization" is one which the user has been invited to. In order to run tests using the subscription that was purchased and associated with "Second Organization" we would need to select a Project associated with it. Once you have selected the Project, the project ID will be displayed below the project name in your main overview (top left). You can simply click the copy button next to it. + +![Select a project](images/05 team member org id/projects-in-app.png) + +## From the command line + +If you are using k6 to trigger tests from the command line, you will need to specify, in your test configuration, the project that should be used to run a test. By default, k6 will use the default Organization and default Project associated with a users account. In order to do this, the `projectId` must be set as a [test configuration option](/using-k6/options) within the `ext` object of your script. + +
+ +```JavaScript +export let options = { + ext: { + loadimpact: { + projectID: 123456 + } + } +} +``` + +
diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/06 What's the Difference Between k6 Cloud's Version 3.0 (Lua) and 4.0(JavaScript).md b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/06 What's the Difference Between k6 Cloud's Version 3.0 (Lua) and 4.0(JavaScript).md new file mode 100644 index 0000000000..eedb936000 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/06 What's the Difference Between k6 Cloud's Version 3.0 (Lua) and 4.0(JavaScript).md @@ -0,0 +1,346 @@ +--- +title: "What's the Difference Between LoadImpact's Version 3.0 (Lua) and k6 Cloud 4.0(JavaScript)" +excerpt: "A brief overview of the differences between LoadImpact 3.0 (Lua) and k6 Cloud 4.0 (JS/k6) products" +--- + +## Purpose + +An overview of some key differences between k6 Cloud (JS) and LoadImpact (Lua) + +## Overview + +From a general performance testing perspective the 3.0 and 4.0 products are more or less the same: + +1. You create one or more user scenarios that step through a particular process of your target system that you want to test. +2. You then combine your user scenario(s) with a traffic simulation profile that specifies how many Virtual Users (VUs) should be concurrently executing the user scenario(s) at different points in time of the test. +3. You execute your test, metrics data is collected and you are presented with results. + +## Differences between 3.0 and 4.0 products +When looking more closely though there are some differences in how you accomplish step 1, 2 and 3 above. + +A big difference is in the workflow that you can accomplish with each respective product. + +The 3.0 product is completely cloud based, user scenarios and test configuration are created/edited and stored in the LoadImpact cloud service, and running tests is also done exclusively from the cloud. This also means the target system that is being tested needs to be accessible from the public Internet. + +With the 4.0 product we've opened up the platform in two important ways. First, the core load testing software, [k6](https://github.com/loadimpact/k6), is now an open source tool, and secondly it can be used both [on-premise](/getting-started/running-k6) as well as from the k6 Cloud service via our [cloud execution](/using-k6/cloud-execution) functionality. The user scenarios and test configuration has been merged into one, it's now all just JavaScript code, so very version control friendly. + +This brings us to an important difference, in the 4.0 product you're responsible for storing and version controlling your tests (the JavaScript combining user scenario and test configuration), and the k6 Cloud service can provide you with result storage, visualization and trending, as well as geographically distributed cloud execution of tests. + +## User scenario + +In the 3.0 product user scenarios described using Lua code. You can end up with the Lua code in various ways, by using one of the recorder options, the Postman converter or hand coding it, but at the end of the day the output of all these various ways is a piece of Lua code. + +In the 4.0 product user scenarios are described using JavaScript, the ES6 version of JS to be precise. This means it's not only a more familiar language to most developers/testers but it also introduces a nice addition compared to the 3.0 product: support for modules, allowing code to be modularized and reused across tests and teams. + +See the Lua to JS migration guide down below for more information on how to migrate your Lua user scenarios to JS. + +## Test configuration + +In the 3.0 product you compose one or more user scenarios into a separate entity known as a "Test" (aka "Test configuration"), and then add additional configuration like traffic simulation profile and thresholds. This is done through the LoadImpact WebApp UI. + +In the 4.0 product the equivalent configuration options are specified in the script itself: + +
+ +```JavaScript +export let options = { + // Stages represents the traffic ramping profile that will be used in the test, + // controlling the VU concurrency throughout the duration of the test + 'stages': [ + // Linear ramp-up from 0 to 50 VUs for 60s + { 'target': 50, 'duration': '60s' }, + + // Stay constant at 50 VUs for 60s + { 'target': 50, 'duration': '60s' }, + + // Linear ramp-down from 50 to 0 VUs for 60s + { 'target': 0, 'duration': '60s' } + ], + + // Use thresholds to set your metric targets, thresholds are used to pass/fail tests + // and for controlling automatic test termination + thresholds: { + // Add a threshold mark test as failed is 95th percentile of overall response time goes above 500ms + 'http_req_duration': 'p(95)<500', + + // Add another threshold to fail and abort the test if the threshold hits 1s + 'http_req_duration': {'trigger': 'p(95)<1000', 'abortOnFail': true} + } +}; +``` + +
+ +*** + +## Lua to JS migration guide + +Lua and JavaScript (JS) share most of the fundamental logical constructs and control flow mechanisms that are commonly found in general purpose programming languages. Same goes for the load testing oriented APIs that we've added in each respective product. This section will look at how to convert Lua APIs into the JS equivalent. + +## High-level differences + +On highest level there are some differences to be aware of before we continue on into more details. + +## Loading of builtin modules and APIs + +In Lua all the available functionality is loaded by default, APIs can be called right away without explicit loading/importing, while In JS you need to explicitly import the builtin modules and APIs that you want to use: + +
+ +```lua linenos +http.get("https://test.k6.io/") +client.sleep(3) +``` + +```JavaScript +import {sleep} from "k6"; +import http from "k6/http"; +export default function() { + http.get("https://test.k6.io/"); + sleep(3); +} +``` + +
+ +## Scope of VU code + +In Lua VUs execute the script from top to bottom over and over, while in JS VUs execute the global scope (aka "init code") once to initialize, and then executes the "main function" (`export default function`) over and over: + + +
+ +```lua linenos +// The VU code is the same as global scope, and gets run over and over by a VU +client.sleep(3) +``` + +```JavaScript +// Imports and other global scope code +export default function() { + // The VU code, that gets run over and over by a VU +} +``` + +
+ + +## Converting Lua APIs to JS APIs + +## Client sleep/think time + +Below you have examples on how to have a VU sleep or think for a specific amount of time (in the example below for 3 seconds), pausing the VU execution: + + +
+ +```lua linenos +client.sleep(3.0) +``` + +```Java +import {sleep} from "k6"; +export default function() { + sleep(3); +} +``` + +
+ + +## Making requests + +To make HTTP requests there are a number of different Lua APIs available. In the end they're all wrappers around the `http.request_batch()` API. Below you can see a comparison for Lua and JS: + +
+ +```lua linenos +-- Send a single GET request +http.get("https://httpbin.org/") +-- Send a single POST request +http.post("https://httpbin.org", "key=val&key2=val") +-- Send several requests in parallel +http.request_batch({ + { "GET", "https://httpbin.org/" }, + { "POST", "https://httpbin.org/", "key=val&key2=val" } +}) +``` + +```JavaScript +import http from "k6/http"; +export default function() { + // Send a single GET request + http.get("https://httpbin.org/"); + // Send a single POST request + http.post("https://httpbin.org", "key=val&key2=val"); + // Send several requests in parallel + http.batch([ + "https://httpbin.org/", + { method: "POST", url: "https://httpbin.org/", body: "key=val&key2=val" } + ]); +} +``` + +
+ + + +See the [HTTP API](/using-k6/http-requests) docs for k6 for more information and examples. + +## Group requests and logic into transactions/pages +In the 3.0 product there's a concept of pages. Lua code in between calls to `http.page_start()` and `http.page_end()` will be be measured to provide a page load times in the results. The equivalent in JS would be to use [`Groups`](/using-k6/tags-and-groups#groups): + +
+ +```lua linenos +http.page_start("My page") +http.get("https://httpbin.org/") +http.request_batch({ + { "GET", "https://httpbin.org/" }, + { "GET", "https://httpbin.org/get" }, +}) +http.page_end("My page") +``` + +```JavaScript +import http from "k6/http"; +export default function() { + group("My page", function() { + http.get("https://httpbin.org/"); + http.batch([ + "https://httpbin.org/", + "https://httpbin.org/get", + ]); + }); +} +``` + +
+ + +## Data store + +In the 3.0 product there's a concept of a Datastore. A CSV file that you can upload to the service and then attach to your user scenario for accessing and using the data in your user scenario logic. + +In the 4.0 product there's no specific concept of a Datastore, but in k6 you have two different ways to separate test parameterization data from script logic. + +Both of the examples below can be run with: + +
+ +```shell +k6 run --vus 3 --iterations 3 script.js +``` + +
+ + +## Use the open() scripting API to open a CSV/JSON/TXT file: + +more info here: [open](/javascript-api/init-context/open-filepath-mode) + +
+ +```json +[ + { + "username": "user1", + "password": "password1" + }, + { + "username": "user2", + "password": "password2" + }, + { + "username": "user3", + "password": "password3" + } +] +``` + +
+ + +
+ +```JavaScript +import { sleep } from "k6"; +const users = JSON.parse(open("./users.json")); +export default function() { + let user = users[__VU - 1]; + console.log(`${user.username}, ${user.password}`); + sleep(3); +} +``` + +
+ + +## Put the data in a JS file and import it as a module: + +
+ +```JavaScript +export let users = [ + { + "username": "user1", + "password": "password1" + }, + { + "username": "user2", + "password": "password2" + }, + { + "username": "user3", + "password": "password3" + } +]; +``` + +
+ +## Main Script: + + +
+ +```JavaScript +import { sleep } from "k6"; +import { users } from "./userData.js" +export default function() { + let user = users[__VU - 1]; + console.log(`${user.username}, ${user.password}`); + sleep(3); +} +``` +
+ +## Custom metrics + +Beyond the standard metrics collected by the 3.0 product you can also collect custom metrics using the `results.custom_metric()` API in the example below. The equivalent in JS would be to use the [`Trend`](/javascript-api/k6-metrics/trend-k6-metrics) custom metric: + +
+ +```lua linenos +-- Track the time-to-first-byte (TTFB) +local res = http.get("https://httpbin.org/") +result.custom_metric("time_to_first_byte", res.time_to_first_byte) +``` + +```JavaScript +import {group} from "k6"; +import http from "k6/http"; +import {Trend} from "k6/metrics"; +let ttfbMetric = new Trend("time_to_first_byte"); +export default function() { + group("My page", function() { + let res = http.get("https://httpbin.org/"); + ttfbMetric.add(res.timings.waiting); + }); +} +``` + +
+ + +For more information, see our docs on [custom metrics](/using-k6/metrics#custom-metrics) (Additional metrics for `Counter`, `Gauge` and `Rate` are available beyond the `Trend` one used above). diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/07 Filtering Domains.mdx b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/07 Filtering Domains.mdx new file mode 100644 index 0000000000..7ed9868057 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/07 Filtering Domains.mdx @@ -0,0 +1,32 @@ +--- +title: "Why should I filter domains in my load test?" +excerpt: "Reasons why you should filter domains in your load test and how to achieve that both in-app and using k6 locally" +--- + +TODO fix links, We should consider how much we need this article. References things only related to v3.0 - e.g. enter website urls + +## Background + +Nearly all apps, sites, and services on the web make requests to external resources. It's likely that an app or site you are testing includes any or all of the following: CDNs, marketing trackers (Facebook, Twitter, etc.), analytics tools (Google Analytics), marketing automation trackers (Hubspot, Marketo, Eloqua), developer tools (Fullstory, HotJar, etc.) and more. + + +## Why should I filter domains? + +You should filter your domains for all or some of the following reasons: + +- External resources may generate unique IDs, which could produce a lot of extra URLs. This would make reviewing results harder to parse through +- External resources may throttle your requests generated from a load test, this could produce skewed results or even trigger a threshold when it should not have been. +- External resources typically don't want to be a part of a load test and including them may violate your TOS with that third party +- In most cases, even if you did notice a performance problem with a 3rd party you normally will have no way to fix that issue +- Most CDNs charge based on usage, so making requests against the CDN could have financial costs associated with the test. *Note:* You may have a valid reason to test your CDN. We have seen users specifically test CDNs in the past for various reasons. + +## Filtering test scripts created in-app +There are a few ways to filter your domains with k6. If you are using the URL analyzer or HAR file upload in-app, you can utilize the `Domain` option. This allows you to enter domains you specifically want to include within your test. e.g. If I was testing `app.example.com` I would use `example.com` in the `Domain` option. + +For both the in-app URL analyzer and HAR file upload, we would ignore requests to other domains when creating the script. + +If you are scripting in-app, it's unlikely you would manually write those third party requests, therefore no filter option is needed + +## Filtering when using k6's built in HAR file converter + +If you are not using one of the in-app options to create your script, you are likely using the built in HAR file converter available in k6. You can convert a HAR file from the command line using `k6 convert myHarFile.har -O myScript.js`. This command would convert the entire contents of the target HAR file in a script with the output denoted. diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/08 Open Firewall k6 Cloud.md b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/08 Open Firewall k6 Cloud.md new file mode 100644 index 0000000000..383e5ef46b --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/08 Open Firewall k6 Cloud.md @@ -0,0 +1,92 @@ +--- +title: "How to Open Your Firewall to k6 Cloud service For Cloud Executed Tests" +excerpt: "A guide with different methods to open your firewall to k6 cloud service execution traffic for load testing" +--- + +## Purpose + +If you are running a `k6 cloud` test, you will be utilizing k6's cloud infrastructure. These are dynamically allocated from our cloud providers and we do not know the source IP until the test is running. + +**If you are streaming results to k6 Cloud utilizing `k6 run -o cloud myscript.js` you SHOULD NOT need to whitelist anything.** + +To open your firewall to k6 cloud traffic, you have multiple options. Depending on your business needs, one may be a better fit than another. + + +1. Open up your firewall to the whole range of AWS IP addresses used by the load zones where you want to run your load test from. To use AWS to generate traffic, you will have to open up your firewall to a large IP range. + +2. Use HTTP headers, URL query parameters, or unique data that identifies the traffic as belonging to your load test, This requires that your firewall has support for scanning application payload data and apply rules based on what it finds. + + +Here is a more samples on how to complete the different options above: + +## Opening up your firewall to all IPs potentially used in the test + +We list the full range of IP addresses used in [this article](/cloud/cloud-faq/what-ip-addresses-are-used-by-the-k6-cloud). You will need to whitelist the IP ranges for the load zones you are utilizing. Please note the JSON file at the bottom of the article. + +## Using HTTP headers or URL query parameters to send an identifying token + +You can add custom HTTP headers to any request in your script. You'll need to add the header to every single request. + +
+ +```JavaScript +import http from "k6/http"; + +export default function() { + var url = "http://test.k6.io/login"; + var payload = JSON.stringify({ email: "aaa", password: "bbb" }); + var params = { headers: { "Content-Type": "application/json" , "Myheader": "TOKEN_STRING"} } + http.post(url, payload, params); +}; +``` + +
+ + +If you're not dependent on having the simulated users in your load test to be a certain user agent, you can also use the `userAgent` option to set the "User-Agent" header for all subsequent requests. That header could then contain your token value and you would not have to modify every single HTTP request in your script. In the below example the user agent is set to `MyK6UserAgentString/1.0` + +
+ +```JavaScript +// Set a custom User Agent globally in your test options. +export let options = { + userAgent: "MyK6UserAgentString/1.0" +}; +``` + +
+ + +You might also use query parameters, if it doesn't interfere with the functionality of your application: + +
+ +```JavaScript +// Add query parameters to your requests with a unique piece of data +export default function() { + http.get("http://test.k6.io/?firewall_token=TOKEN_STRING"); +} +``` + +
+ +Another option would be to request content from a certain hostname that is not in the DNS, but your site would of course need to be configured to respond to requests for that hostname. This is how you do it on the k6 cloud's side: + +
+ +```JavaScript +// In your options, map your a unique/unused/secret hostname to the IP of the server. +export let options = { + hosts: { + "https://very_difficult.to.guess.hostname.com": "1.2.3.4" + } +}; +// Make your requests to that hostname +export default function() { + http.get("https://very_difficult.to.guess.hostname.com/"); +} +``` + +
+ +Of course, this last solution requires that your firewall terminates SSL traffic, otherwise it will not see the Host header in unencrypted form. You could also use unencrypted HTTP, but get a bit less security. diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/09 Calculating Virtual Users.md b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/09 Calculating Virtual Users.md new file mode 100644 index 0000000000..87438c5228 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/09 Calculating Virtual Users.md @@ -0,0 +1,73 @@ +--- +title: "Calculating Virtual Uses with Google Analytics" +excerpt: "A guide on how to use data from Google Analytics to calculate the number of Virtual Users required for load and performance testing with k6 Cloud." +--- + +To calculate the number of Virtual Users you need to test with, you should consider this formula: + +>Virtual Users = (Hourly Sessions x Average Session Duration in seconds) / 3,600 + +Google Analytics and other tools are great for seeing where your users are coming from, and it also offers plenty of data that can help you create realistic load tests. + +Google Analytics tracks new visitors (“Users”) and how long they stay on your site. During their stay — the "Session" — they will perform actions (page loads, AJAX requests) that cause traffic to be generated that will load your servers. + +The formula above takes it's inputs and determines how many users are in the middle of a "Session" at any one time, meaning they are currently active on the site and generating traffic the servers have to handle. + + +**Where do I get this data in Google Analytics?** + + +1. Login to your Google Analytics account +2. Click the “Reporting” tab across the top +3. Select “Audience” in the sidebar menu +4. Click “Overview” +5. Set the time period you want to base your data on in the top-right corner +6. And the data you need is right in front of you! + +Check out the screenshot below to get an idea of the view and where you’ll find sessions and average session duration. + +**Note:** This screenshot is from a small site’s Google Analytics dashboard. We redacted the name in the top-right corner in the name of privacy! + +![Google Analytics Example](images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-1.png) + +And that’s it! As you can see, Google made this data pretty easy to find. + +### How to design your load test + +One good way of determining what traffic to subject your site to during a load test is to check your peak hours of traffic in Google Analytics, figure out how many sessions you faced then, and perform a test that generates a similar kind of load in a similar [pattern](/test-types/introduction). You probably want to add some margin to it also — to ensure that you can handle higher traffic levels than your latest peak. + +The reason we want to find the traffic peak and not just use the average level for the whole month is that, in most cases, average traffic will be quite low. It’s quite common for sites to have regular, recurring peak periods where they experience maybe 2-3x the average traffic levels, so it is important to test for that level of traffic, at the very least. + +Some sites or services may also have occasional (or regular) extreme traffic peaks. It can be due to the nature of the site — perhaps it’s a new release your customers are eager to try, your app that is gaining popularity as the next bit thing, a site declaring the result of an election, or a site selling concert tickets that are released at a certain date and time. + +It can also be because of user behaviour. Maybe your app provides dinner recipes, which means everyone logs on just before dinner. Regardless, such sites can have peaks that are much higher than 10x the longtime average for the site. In this case it is even more important to load test at traffic levels way beyond the average to ensure the system doesn’t break down when it counts. + +So how do we do this? Here’s the Google Analytics dashboard for a small example site that has had a (relatively) big traffic spike. For this little site, nearly 40 percent of November 2015’s traffic came on a single day — Nov. 25. Keep in mind this is example data for a super small site. + +![Google Analytics Example 2](images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-2.png) + +Here’s the basic math we used to analyze the data: + +The site averaged .08 concurrent sessions for the entire month. + +- 2,591 **monthly** sessions x 82 seconds per session / 3600 = 59.0172 +- 59.0172 / 720 (30 days in November x 24h per day = 720) = .08 average concurrent users in November + + +However, if you calculate the average concurrent sessions for just Nov. 25, you get 1.05 — that is more than 10x the monthly number. And if you calculate the average concurrent sessions between 3 p.m. and 4 p.m. on that day, when most of the traffic spike happened, the average number of concurrent sessions is 7.2. While not a huge number by itself, it is almost 100x the monthly average. + +![Google Analytics Example 3](images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-3.png) + +This illustrates how important it is to look at the right numbers, or the right time frames, when designing your load test. Even if you do not have a huge spike like in this case, chances are that you will still see temporary peaks that can reach perhaps 10x your average traffic level. + +No matter the size of your company or the amount of traffic you typically handle, a sudden increase in traffic by nearly 100x definitely has the potential to degrade performance for the user, so spike tests are always a good idea before marketing initiatives, funding announcements, new feature rollouts and just for the sake of always being prepared. + + +*** + +See also: +- [Virtual Users](/cloud/cloud-faq/what-are-vus-virtual-users) +- [Creating tests in k6 Cloud](/cloud/creating-and-running-a-test) +- [Code Samples and Scripting Examples](/examples) +- [Test configuration options](/using-k6/options) +- [Test ramping configurations](/test-types/introduction) diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/11 Test status codes.md b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/11 Test status codes.md new file mode 100644 index 0000000000..580be63b4e --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/11 Test status codes.md @@ -0,0 +1,74 @@ +--- +title: "Test Status codes" +excerpt: "List of the different test statuses that can be returned by k6 cloud service, with reasons and fixes for dealing with such a status." +--- + +## Purpose + +Explanation of the different test statuses in k6 along with the code returned. The code returned here is different than what is returned by k6. + +Status | Description +-------|------------------------ +-2 | Created +-1 | Validated +0 | Queued +1 | Initializing +2 | Running +3 | Finished +4 | Timed out +5 | Aborted by user +6 | Aborted by system +7 | Aborted by script error +8 | Aborted by threshold +9 | Aborted by limit + + + +Every successful test, will go through the following statuses. The time from Created -> Running, is typically very short and hardly noticeable as you use the platform. + +## Created +A test that is newly created, but has not yet been validated. + +## Validated +A test which has finished initial validation, but has not been queued to run yet. + +## Queued +A test which has entered our queue. Once it is picked up by a test worker, it will begin initializing. + +## Initializing +A test which has been assigned to Load Generators, but has not yet started to make HTTP requests. + +## Running +A test which is actively making HTTP(s) or websocket requests + +## Finished +A test which has finished running. If thresholds were used, no thresholds have failed. + +*** + +When a does not finish as expected, you the test will have one of the following statues. + + +## Timed Out +A test which has not received or sent any information for a long time + +## Aborted (by user) +A test which was aborted by the user. Tests aborted by user count against your total usage. + +## Aborted (by system) +A test that was aborted by the system. These tests typically abort due to a fatal error occuring. If the test fails before launch, there may be an underlying issue with the Load Zone, unrelated to k6. If the test aborts during execution, it may be due to overutilization of the Load Generators. In this case, we suggest you look at the CPU and Memory utilization and add or increase sleep times. You may also want to set the option `discardRepsonseBodies` to `true`, to lower memory pressure. + +## Aborted (script error) +A test that was aborted due to an error in your script. For example, if you were to capture data from the response body of a request that you reuse in a future request. If the first request were to fail, your future request would contain a null value. Sudden script errors can suggest a performance issue. Fix the performance issue or add error handling to account for these cases. + +## Aborted (by threshold) +A test that exceeded your defined threshold value and that threshold was given the option to automatically abort the test. + +## Aborted (by limit) +A test that has exceeded one or more of the following limits: +- There are "too many" (>40) groups in a test +- There are "too many" (>10,000) metrics reported +- The duration is longer than 60 mins (for tests longer than 60 min, please contact us) +- The max VUs is higher than 20,000 VUs (for tests higher than 20k, please contact us) + +If your test has too many groups, please reduce their number. If your test has too many metrics, please use URL grouping to combine similar URLs. You should also remove external requests from your test script. Each URL captured will account for 7 individual metrics that we keep track of. External requests can quickly produce a large number of metrics that aren't helpful to the understanding performance of the System Under Test. diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/12 Virtual Users.md b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/12 Virtual Users.md new file mode 100644 index 0000000000..b13dce5ddc --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/12 Virtual Users.md @@ -0,0 +1,44 @@ +--- +title: "What are VUs (Virtual Users)?" +excerpt: "Definition of what Virtual Users are in context of k6 cloud service." +--- + +## Background + +k6 cloud's definition of Virtual Users(VUs) along with supplemental information to cover common questions about VUs. + +Virtual Users(VUs) are the entities in k6 cloud service that execute your test script and make HTTP(s) or websocket requests. VUs are concurrent and will continuously iterate through the default function until they ramp down or the test ends. Any number of VUs will create a number of sessions a factor larger than their total count, depending on test and script length. + +For example, if you ran a test with 10 VUs for 10 minutes and the default function took each VU 30 seconds to complete, you would see roughly 200 completions/total sessions generated from this test. This is approximate and will vary based on your ramping configuration. + +## Virtual Users in context of Web Apps/Websites + +Virtual Users are designed to act and behave like real users/browsers would. That is, they are capable of making multiple network connnections in parallel, just like a real user in a browser would. When using a `http.batch()` request, HTTP requests are sent in parallel. Further, you can even control the specifics of this behavior through the [batch](/using-k6/options#batch) and [batchPerHost](/using-k6/options#batchPerHost) options. The default is 10 connections in parallel and per host. + + + + +## Virtual Users in context of APIs + +When testing individual API endpoints, you can take advantage of each VU making multiple requests each to produce requests per second(rps) a factor higher than your VU count. e.g. Your test may be stable with each VU making 10 rps each. If you wanted to reach 1000 RPS, you may only need 100 VUs in that case. This will vary based on what you are testing and the amount of data returned. For more information on testing APIs, please refer to our article [API Load Testing](/testing-guides/api-load-testing) + + +Virtual Users are using multiple parallel network connections, they will be opening multiple concurrent network connections and transferring resources in parallel. This results in faster page loads, more stress on the target server, and more realistic result data set. **Not all load testing tools operate in this more complex and realistic fashion** + +## Calculating the number of Virtual Users needed + +Calculating the number of virtual users can be done by using this formula: + +
+ +``` +VUs = (hourly sessions * average session duration in seconds)/3600 +``` + +
+ +You may want to use this formula multiple times, with different data such as sessions in your busiest/peak hour, a normal hour, etc. When setting up your test, if your user journey (default function) mimics an average user session, the number of VUs determined by the formula would produce the amount of sessions you entered if you ran your test for an hour. diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/13 (find new home) load-testing-methodology.mdx b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/13 (find new home) load-testing-methodology.mdx new file mode 100644 index 0000000000..8abb1caba6 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/13 (find new home) load-testing-methodology.mdx @@ -0,0 +1,75 @@ +--- +title: Basic Load Testing Methodology +excerpt: A simple methodology to help you start testing +--- + + +## Purpose + +This methodology is intended to walk through the high level steps that will help you get started and running more meaningful tests, faster. The best tests are the ones that simulate the most realistic conditions and user behavior. However, simple testing is better than no testing. It's easy to become overwhelmed if you attempt to do everything all at once. Treat testing like you would development, _start small and iterate, iterate, iterate._ + +## What am I testing? + +If you have not already, you start thinking about any or all of the following: + +* What are my users doing? + - What specific actions do they take the most? + - What actions are most critical on my app/website? +* What API endpoints are utilized the most? + - What API endpoints are most critical? +* What response times are acceptable to my users? + - What response times are acceptable to me? +* What SLAs, contracts, or regulations must I adhere to? + +### When do I run tests? + +As the world shifts left with DevOps, testing earlier in the development cycle is becoming the best practice. After an initial testing project, many users decide to continue to run tests, at a smaller scale, so they can identify performance issues immediately after the line of code that caused it, is built. + +### Virtual Users or Requests Per Second? + +This depends on what you are testing, and there is a good chance you want to think in terms of both. Virtual Users are complex workers that can open multiple connections in parallel, thus making multiple requests per second. + +## Virtual Users +When testing anything that is "User journey" related, webapps, websites, or API endpoints in a specific order you should think in terms of Virtual Users. It's important to also note that Virtual Users are concurrent, unless specified otherwise, they will continue to iterate through their script until the test is complete. A small number of Virtual Users can create a number of sessions magnitudes higher than their count. _This is a very common point of overestimation we see._ + +## Requests per second +When testing individual API endpoints it makes more sense to think in terms of request per second. As mentioned above, LoadImpact's virtual users are complex and can make multiple requests per second each. For example, if you wanted to test an endpoint with 100 rps you wouldn't need 100 virtual users in nearly all cases. + +## Calculating Virtual Users + +We recommend looking into any analytics tools you may have. If they list any metric for concurrent users, you can likely use that. If not, you can instead look for: + +- Hourly Sessions +- Average session duration for those Users + +If you are looking to stress your system to see what happens as you exceed your busiest traffic, you should look for the Peak hourly sessions and it's coordinating average session duration. + +For any tests you may run on a regular basis, as part of a CI pipeline or otherwise, you should instead look for your average hourly sessions, or lower, depending on your needs. + +With these two metrics, you can determine the number of Virtual Users needed, using the following formula: + +`VUs = (Peak Hourly Sessions * Average Session Duration in Seconds) / 3600` + +Depending on your goals, you may want to increase this number to provide a cushion beyond your expectations (15-30% is typical). + +## Plan your first tests + +You should plan to run the following tests: + +1. Baseline Test "Performace under ideal conditions" + - Small test relative to your total Virtual User needs + - Run for at least 5-10 minutes + - Used to set a baseline metric for you to compare future tests against + - You may want to set Thresholds based on this test +2. Stress test "Where do things break?" + - The test you likely will run the most + - Used to gradually increase load and identify performance problems + - Iterate often- analyze results, make changes, verify with another test +3. Load Test "Are my changes working?" + - The test you run to see if all your hard work in step 2 paid off + - Used to verify your system handles the load through the entire test +4. Continuous test "Is my performance regressing as new code/infrastructure updates are deployed?" + - Used to monitor for performance regressions over time + - Larger than a baseline test but smaller than a load test + - Most commonly integrated as part of automation, such as a CI pipeline + diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/14 (find new home) General Methodology.mdx b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/14 (find new home) General Methodology.mdx new file mode 100644 index 0000000000..e666088ca8 --- /dev/null +++ b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/14 (find new home) General Methodology.mdx @@ -0,0 +1,95 @@ +--- +layout: classic-docs +title: General Methodology +description: A general load testing methodology to help you strategize and get started. +categories: [guides] +order: 0 +redirect_from: + - /4.0/testing-methodologies/application-testing-methodology/ + - /4.0/testing-methodologies/ +--- + + +## Background + +This guide will speak from a high level on topics related to Load and Performance testing. + +As developers and testers we love to jump straight into the tools, but successful testing starts with successful planning. The intent of this document is to provide additional guidance to best prepare you for testing and to meet your testing goals. This methodology assumes that some initial performance testing is being done before automating testing in a CI/CD pipeline. Testing can be broken down into the following phases. + + +## Phase 0 - It's a new tool, go explore! + +If you are like us here at k6. You will probably want to spend some time clicking around, trying things without any guidance, and seeing what happens when you click that button (yes, that one). Go ahead and do that, think of questions you may have about the tool, they may get answered here. If not, you can always ask us. + + +## Phase 1 - Planning, Test Configuration, and Validation + +Phase 1 is further broken down into multiple parts. Before you get started with real testing, we recommend that you: + +### Planning + +- What are the most important parts of the system I am testing? + - _Perhaps a handful of API endpoints are most critical to the proper function of your system. e.g. Login_ +- What are my expected outcomes? + - _Is there historical performance testing or events I can use to predict initial outcomes? e.g. During a new release we experienced heavy traffic of users trying our new features out, the response times of our login process was degraded_ +- What other business rules should I consider? + - _Has the business implemented any SLAs or other rules that relate to performance. e.g. certain response times, availability, etc._ +- What environment am I testing? + - _Production? A testing environment that is identical to production? A testing environment that is scaled down?_ + - _A test environment that matches production is the most ideal, but not always available. What other considerations should I make to ensure that users aren't disrupted_ + + +Once you have thought about these high level items, you should next move into creating and configuring your tests. + +### Test Configuration + +Here are some tips to consider when you start to write/record your first test script: + +- What are the most common actions my user take as they relate to the important components I want to test? + - _Login generally tends to be one important part of an application. What are others? If testing user journeys, what logical order do users of your application follow?_ + - _Don't get caught up on trying to test everything, focus on the most important parts. So skip(for now) that feature that a handful of users use on a regular basis_ +- How much load should I put on my target system? + - _If testing individual components, such as API endpoints, think in terms of requests per Second_ + - _If testing user journeys, such as users visiting page to page or taking multiple actions, think in terms of concurrent users._ +- What test patterns will I execute? + - _Different tests will tell you different things. Refer to this article for an explanation of the different patterns:_ [Ramping configurations](/test-types/introduction) + - _Generally, this order will work for most when establishing a testing process: Baseline test, stress test, load test, spike test (if applicable)_ +- What data do I need? + - _Using the login example, testing the same user logging in will usually only test how well your system can cache responses. What data do you need to be parameterized to support your test executions?_ + +Keeping the above tips in mind, you should now start writing your scripts by hand or by using our [Chrome extension](/chrome-extension/) or the built in [HAR file converter](/using-k6/session-recording-har-support)to create a test script. **It's best to start small and then expand your test coverage. Treat writing your test scripts as you would code you are writing for your application by breaking it down into smaller, more manageable pieces.** A lot of value can be found in simple tests against the most important components. + +**Best Practice Alert:** k6 supports modularization. The script you write to perform a login function with a random user, can later become it's own module in your load testing library. This can be shared with your team through version control or other means. + +### Validation + +As you are writing your scripts and before you run them at a larger scale it's important to run validations (smoke tests) to ensure that the test works as intended. These tests are typically run with a very low number of Virtual Users for a very short amount of time. For speed, it's recommended you run these locally with output to `stdout`. In other words, don't run a validation using cloud infrastructure or streamed into the cloud for analysis. + +## Phase 2 - Baseline Testing, Scaling your tests, and Complex Cases + +If you take the time to consider all your initial planning, the next steps become much easier to complete and require less specific instruction. + +### Baseline testing + +It's not recommended to run your first test at full throttle and the maximum number of Virtual Users. When testing, it is critical to always be thinking comparatively. Your first test should then be a **baseline test.** A baseline test is a test at an ideal number of concurrent users/requests per second and run for a long enough duration to produce a clear stable result. This baseline test will give you initial performance metrics for you to compare to future test runs. The ability to compare will help highlight performance issues more quickly. + +**Common question** "What is ideal as it relates to baseline testing above?" +**Answer:** A number of Virtual Users you know your system can handle well. If you aren't sure, try 1 - 10 Virtual Users. + +**For example:** Does your application generally receive 500 concurrent users at any given time? You should be running your baseline tests below that. + +### Scaling your Tests + +After your baseline tests are complete, it's time to start to run larger tests to detect performance problems. You should utilize the Stress Test pattern to scale / step your tests up through different levels of concurrency to detect degradations. As you find these degradations and make adjustments you will iterate on the test multiple times until a satisfactory level of performance is met. + +Regardless of the complexity of your test cases, the testing you do in this step will provide the most information to take action on to improve performance. Once you have finished iterating through tests at this stage, verified by acceptable test runs that finish, you should move to a load test pattern to verify the system under test can handle an extended duration at the goal level of load. + +### Complex Cases + +If, like most users, you started by writing small simple test cases, now is the time to expand them. You may want to repeat this second phase to look for deeper performance problems, ones that could only show up when multiple components are under load. + +**Best practice Alert:** If you have been modularizing your test scripts up to this point, this step may be as easy as including them into a "master" test case. + +## Phase 3 - Ongoing performance Testing + +The final step in our methodology is one that is long term. Up until now you have spent a good deal of time and effort creating your test cases, executing your tests, fixing various issues, and improving performance. You can continue to receive returns on the time investment made by including performance testing into your Continuous integration pipelines or just by running tests on a regular basis manually. diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/02 data retention/set-as-baseline.png b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/02 data retention/set-as-baseline.png new file mode 100644 index 0000000000..d359273865 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/02 data retention/set-as-baseline.png differ diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/05 team member org id/projects-in-app.png b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/05 team member org id/projects-in-app.png new file mode 100644 index 0000000000..3242bfcc91 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/05 team member org id/projects-in-app.png differ diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-1.png b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-1.png new file mode 100644 index 0000000000..16f3756e9d Binary files /dev/null and b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-1.png differ diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-2.png b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-2.png new file mode 100644 index 0000000000..a88abc8edc Binary files /dev/null and b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-2.png differ diff --git a/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-3.png b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-3.png new file mode 100644 index 0000000000..d03a2b6673 Binary files /dev/null and b/src/data/markdown/docs/03 cloud/06 Cloud FAQ/images/09 Calculating virtual users/calculating-the-number-of-virtual-users-to-test-3.png differ diff --git a/src/data/markdown/docs/03 cloud/07 Cloud REST API/07 Cloud REST API.md b/src/data/markdown/docs/03 cloud/07 Cloud REST API/07 Cloud REST API.md new file mode 100644 index 0000000000..442b9485ef --- /dev/null +++ b/src/data/markdown/docs/03 cloud/07 Cloud REST API/07 Cloud REST API.md @@ -0,0 +1,4 @@ +--- +title: 'Cloud REST API' +redirect: 'http://developers.loadimpact.com/' +--- diff --git a/src/data/markdown/docs/04 integrations/01 Converters/01 har-to-k6.md b/src/data/markdown/docs/04 integrations/01 Converters/01 har-to-k6.md new file mode 100644 index 0000000000..65c8f47750 --- /dev/null +++ b/src/data/markdown/docs/04 integrations/01 Converters/01 har-to-k6.md @@ -0,0 +1,4 @@ +--- +title: 'HAR-to-k6' +redirect: 'https://github.com/loadimpact/har-to-k6' +--- diff --git a/src/data/markdown/docs/04 integrations/01 Converters/02 jmeter-to-k6.md b/src/data/markdown/docs/04 integrations/01 Converters/02 jmeter-to-k6.md new file mode 100644 index 0000000000..0d3412bdda --- /dev/null +++ b/src/data/markdown/docs/04 integrations/01 Converters/02 jmeter-to-k6.md @@ -0,0 +1,4 @@ +--- +title: 'JMeter-to-k6' +redirect: 'https://github.com/loadimpact/jmeter-to-k6' +--- diff --git a/src/data/markdown/docs/04 integrations/01 Converters/03 postman-to-k6.md b/src/data/markdown/docs/04 integrations/01 Converters/03 postman-to-k6.md new file mode 100644 index 0000000000..2057c3b33e --- /dev/null +++ b/src/data/markdown/docs/04 integrations/01 Converters/03 postman-to-k6.md @@ -0,0 +1,4 @@ +--- +title: 'Postman-to-k6' +redirect: 'https://github.com/loadimpact/postman-to-k6' +--- diff --git a/src/data/markdown/docs/04 integrations/02 CI tools/01 jenkins.md b/src/data/markdown/docs/04 integrations/02 CI tools/01 jenkins.md new file mode 100644 index 0000000000..47e262ea67 --- /dev/null +++ b/src/data/markdown/docs/04 integrations/02 CI tools/01 jenkins.md @@ -0,0 +1,4 @@ +--- +title: 'Jenkins' +redirect: 'https://k6.io/blog/integrating-load-testing-with-jenkins' +--- diff --git a/src/data/markdown/docs/04 integrations/02 CI tools/02 circleci.md b/src/data/markdown/docs/04 integrations/02 CI tools/02 circleci.md new file mode 100644 index 0000000000..7860963f99 --- /dev/null +++ b/src/data/markdown/docs/04 integrations/02 CI tools/02 circleci.md @@ -0,0 +1,4 @@ +--- +title: 'Circleci' +redirect: 'https://k6.io/blog/integrating-load-testing-with-circleci' +--- diff --git a/src/data/markdown/docs/04 integrations/02 CI tools/03 gitlab.md b/src/data/markdown/docs/04 integrations/02 CI tools/03 gitlab.md new file mode 100644 index 0000000000..93a7152738 --- /dev/null +++ b/src/data/markdown/docs/04 integrations/02 CI tools/03 gitlab.md @@ -0,0 +1,4 @@ +--- +title: 'Gitlab' +redirect: 'https://k6.io/blog/integrating-load-testing-with-gitlab' +--- diff --git a/src/data/markdown/docs/04 integrations/02 CI tools/04 azure.md b/src/data/markdown/docs/04 integrations/02 CI tools/04 azure.md new file mode 100644 index 0000000000..b3aeb000ee --- /dev/null +++ b/src/data/markdown/docs/04 integrations/02 CI tools/04 azure.md @@ -0,0 +1,4 @@ +--- +title: 'Azure Pipelines' +redirect: 'https://k6.io/blog/integrating-load-testing-with-azure-pipelines' +--- diff --git a/src/data/markdown/docs/04 integrations/02 CI tools/05 teamcity.md b/src/data/markdown/docs/04 integrations/02 CI tools/05 teamcity.md new file mode 100644 index 0000000000..3ab4270c60 --- /dev/null +++ b/src/data/markdown/docs/04 integrations/02 CI tools/05 teamcity.md @@ -0,0 +1,4 @@ +--- +title: 'TeamCity' +redirect: 'https://k6.io/blog/load-testing-using-teamcity-and-k6' +--- diff --git a/src/data/markdown/docs/04 integrations/02 CI tools/06 github.md b/src/data/markdown/docs/04 integrations/02 CI tools/06 github.md new file mode 100644 index 0000000000..a98c947e7a --- /dev/null +++ b/src/data/markdown/docs/04 integrations/02 CI tools/06 github.md @@ -0,0 +1,4 @@ +--- +title: 'GitHub Actions' +redirect: 'https://k6.io/blog/load-testing-using-github-actions' +--- diff --git a/src/data/markdown/docs/04 integrations/03 Community Integrations/01 easy-graphql.md b/src/data/markdown/docs/04 integrations/03 Community Integrations/01 easy-graphql.md new file mode 100644 index 0000000000..6b4030d73a --- /dev/null +++ b/src/data/markdown/docs/04 integrations/03 Community Integrations/01 easy-graphql.md @@ -0,0 +1,4 @@ +--- +title: 'easygraphql-load-tester' +redirect: 'https://github.com/EasyGraphQL/easygraphql-load-tester' +--- diff --git a/src/data/markdown/docs/04 integrations/03 Community Integrations/02 azure-integration.md b/src/data/markdown/docs/04 integrations/03 Community Integrations/02 azure-integration.md new file mode 100644 index 0000000000..1985e12887 --- /dev/null +++ b/src/data/markdown/docs/04 integrations/03 Community Integrations/02 azure-integration.md @@ -0,0 +1,4 @@ +--- +title: 'k6ToAzure' +redirect: 'https://github.com/benc-uk/smilr/blob/master/azure/load-test-reports/k6ToAzure.js' +--- diff --git a/src/data/markdown/docs/04 integrations/04 Result Store/01 json.md b/src/data/markdown/docs/04 integrations/04 Result Store/01 json.md new file mode 100644 index 0000000000..11d4184446 --- /dev/null +++ b/src/data/markdown/docs/04 integrations/04 Result Store/01 json.md @@ -0,0 +1,4 @@ +--- +title: 'JSON' +redirect: 'https://k6.io/docs/getting-started/results-output/json' +--- diff --git a/src/data/markdown/docs/04 integrations/04 Result Store/02 influxdb-grafana.md b/src/data/markdown/docs/04 integrations/04 Result Store/02 influxdb-grafana.md new file mode 100644 index 0000000000..68657cad97 --- /dev/null +++ b/src/data/markdown/docs/04 integrations/04 Result Store/02 influxdb-grafana.md @@ -0,0 +1,4 @@ +--- +title: 'InfluxDB/Grafana' +redirect: 'https://k6.io/docs/getting-started/results-output/influxdb' +--- diff --git a/src/data/markdown/docs/04 integrations/04 Result Store/03 kafka.md b/src/data/markdown/docs/04 integrations/04 Result Store/03 kafka.md new file mode 100644 index 0000000000..7411be05f4 --- /dev/null +++ b/src/data/markdown/docs/04 integrations/04 Result Store/03 kafka.md @@ -0,0 +1,4 @@ +--- +title: 'Apache Kafka' +redirect: 'https://k6.io/docs/getting-started/results-output/apache-kafka' +--- diff --git a/src/data/markdown/docs/04 integrations/04 Result Store/04 datadog.md b/src/data/markdown/docs/04 integrations/04 Result Store/04 datadog.md new file mode 100644 index 0000000000..1f285f360d --- /dev/null +++ b/src/data/markdown/docs/04 integrations/04 Result Store/04 datadog.md @@ -0,0 +1,4 @@ +--- +title: 'DataDog' +redirect: 'https://k6.io/docs/getting-started/results-output/datadog' +--- diff --git a/src/data/markdown/docs/04 integrations/04 Result Store/05 cloud-service.md b/src/data/markdown/docs/04 integrations/04 Result Store/05 cloud-service.md new file mode 100644 index 0000000000..bc462e7c1c --- /dev/null +++ b/src/data/markdown/docs/04 integrations/04 Result Store/05 cloud-service.md @@ -0,0 +1,4 @@ +--- +title: 'k6 Cloud' +redirect: 'https://k6.io/docs/getting-started/results-output/cloud' +--- diff --git a/src/data/markdown/docs/05 Examples/01 Examples/01 single-request.md b/src/data/markdown/docs/05 Examples/01 Examples/01 single-request.md new file mode 100644 index 0000000000..2711cf5b54 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/01 single-request.md @@ -0,0 +1,46 @@ +--- +title: 'Single request' +excerpt: 'Example of one HTTP GET request' +draft: 'false' +--- + +
+ +```js +import http from 'k6/http'; +import { sleep, check } from 'k6'; +import { Counter } from 'k6/metrics'; + +// A simple counter for http requests + +export const requests = new Counter('http_reqs'); + +// you can specify stages of your test (ramp up/down patterns) through the options object +// target is the number of VUs you are aiming for + +export const options = { + stages: [ + { target: 20, duration: '1m' }, + { target: 15, duration: '1m' }, + { target: 0, duration: '1m' }, + ], + thresholds: { + requests: ['count < 100'], + }, +}; + +export default function() { + // our HTTP request, note that we are saving the response to res, which can be accessed later + + const res = http.get('http://test.k6.io'); + + sleep(1); + + const checkRes = check(res, { + 'status is 200': r => r.status === 200, + 'response body': r => r.body.indexOf('Feel free to browse'), + }); +} +``` + +
diff --git a/src/data/markdown/docs/05 Examples/01 Examples/02 http-authentication.md b/src/data/markdown/docs/05 Examples/01 Examples/02 http-authentication.md new file mode 100644 index 0000000000..f38cced1f3 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/02 http-authentication.md @@ -0,0 +1,205 @@ +--- +title: 'HTTP Authentication' +excerpt: 'Scripting examples on how to use different authenitcation or authorization methods in your load test.' +--- + +Scripting examples on how to use different authentication or authorization methods in your load test. + +## Basic authentication + +
+ +```js +import encoding from 'k6/encoding'; +import http from 'k6/http'; +import { check } from 'k6'; + +const username = 'user'; +const password = 'passwd'; + +export default function() { + const credentials = `${username}:${password}`; + + // Passing username and password as part of the URL will + // allow us to authenticate using HTTP Basic Auth. + const url = `http://${credentials}@httpbin.org/basic-auth/${username}/${password}`; + + let res = http.get(url); + + // Verify response + check(res, { + 'status is 200': r => r.status === 200, + 'is authenticated': r => r.json().authenticated === true, + 'is correct user': r => r.json().user === username, + }); + + // Alternatively you can create the header yourself to authenticate + // using HTTP Basic Auth + const encodedCredentials = encoding.b64encode(credentials); + const options = { + headers: { + Authorization: `Basic ${encodedCredentials}`, + }, + }; + + res = http.get( + `http://httpbin.org/basic-auth/${username}/${password}`, + options, + ); + + // Verify response (checking the echoed data from the httpbin.org + // basic auth test API endpoint) + check(res, { + 'status is 200': r => r.status === 200, + 'is authenticated': r => r.json().authenticated === true, + 'is correct user': r => r.json().user === username, + }); +} +``` + +
+ +## Digest authentication + +
+ +```js +import http from 'k6/http'; +import { check } from 'k6'; + +const username = 'user'; +const password = 'passwd'; + +export default function() { + // Passing username and password as part of URL plus the auth option will + // authenticate using HTTP Digest authentication. + const credentials = `${username}:${password}`; + const res = http.get( + `http://${credentials}@httpbin.org/digest-auth/auth/${username}/${password}`, + { auth: 'digest' }, + ); + + // Verify response (checking the echoed data from the httpbin.org digest auth + // test API endpoint) + check(res, { + 'status is 200': r => r.status === 200, + 'is authenticated': r => r.json().authenticated === true, + 'is correct user': r => r.json().user === username, + }); +} +``` + +
+ +## NTLM authentication + +
+ +```js +import http from 'k6/http'; + +const username = 'user'; +const password = 'passwd'; + +export default function() { + // Passing username and password as part of URL and then specifying + // "ntlm" as auth type will do the trick! + const credentials = `${username}:${password}`; + let res = http.get(`http://${credentials}@example.com/`, { auth: 'ntlm' }); +} +``` + +
+ +## AWS Signature v4 authentication + +Requests to the AWS APIs requires a special type of auth, called AWS Signature Version 4. k6 +does not support this authentication mechanism out of the box, so we'll have to resort to using +a Node.js library called [awsv4.js](https://github.com/mhart/aws4) and +[Browserify](http://browserify.org/) (to make it work in k6). + +There are a few steps required to make this work: + +1. Make sure you have the necessary prerequisites installed: [Node.js](https://nodejs.org/en/download/) + and [Browserify](http://browserify.org/) +2. Install the `awsv4.js` library: + +
+ + ```shell + $ npm install aws4 + ``` + +
+ +3. Run it through browserify: + +
+ + ```shell + $ browserify node_modules/aws4/aws4.js -s aws4 > aws4.js + ``` + +
+ +4. Move the `aws4.js` file to the same folder as your script file and you'll be able to import + it into your test script: + +
+ + ```js + import aws4 from "./aws4.js"` + ``` + +
+ +Here's an example script to list all the regions available in EC2. Note that the AWS access key +and secret key needs to be provided through [environment variables](/using-k6/environment-variables). + +> ### ⚠️ CPU- and Memory-heavy +> +> As the browserified version of this Node.js library includes several Node.js APIs +> implemented in pure JS (including crypto APIs) it will be quite heavy on CPU and memory hungry +> when run with more than just a few VUs. + +
+ +```js + +import http from 'k6/http'; +import { sleep } from 'k6'; + +// Import browserified AWSv4 signature library +import aws4 from './aws4.js'; + +// Get AWS credentials from environment variables +const AWS_CREDS = { + accessKeyId: __ENV.AWS_ACCESSKEY, + secretAccessKey: __ENV.AWS_SECRETKEY, +}; + +export default function() { + // Sign the AWS API request + const signed = aws4.sign( + { + service: 'ec2', + path: '/?Action=DescribeRegions&Version=2014-06-15', + }, + AWS_CREDS, + ); + + // Make the actual request to the AWS API including the + // "Authorization" header with the signature + let res = http.get( + `https://${signed.hostname}${signed.path}`, + { headers: signed.headers }, + ); + + // Print the response + console.log(res.body); + + sleep(1); +} +``` + +
diff --git a/src/data/markdown/docs/05 Examples/01 Examples/03 correlation-and-dynamic-data.md b/src/data/markdown/docs/05 Examples/01 Examples/03 correlation-and-dynamic-data.md new file mode 100644 index 0000000000..db5b0a0616 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/03 correlation-and-dynamic-data.md @@ -0,0 +1,110 @@ +--- +title: 'Correlation and Dynamic Data' +excerpt: | + Scripting examples on how to correlate dynamic data in your test script. Correlation is + often required when using the Chrome Extension or HAR converter to generate your test script. + This is due to the fact that those tools will capture session IDs, CSRF tokens, VIEWSTATE, + wpnonce, and other dynamic values from your specific session. +--- + +Scripting examples on how to correlate dynamic data in your test script. Correlation is often +required when using the Chrome Extension or HAR converter to generate your test script. This +is because those tools will capture session IDs, CSRF tokens, VIEWSTATE, wpnonce, and other +dynamic values from your specific session. These tokens typically expire very quickly. This +is one of the most common things that users will script for when testing user journeys across +websites or web apps. + +### Correlation + +In a load testing scenario, correlation means extracting one or more values from the response +of one request and then reusing them in subsequent requests. Often, this could be getting +a token or some sort of ID necessary to fulfill a sequence of steps in a user journey. + +The [browser recording](/using-k6/session-recording-har-support) will for example capture things like CSRF tokens, +VIEWSTATES, nonce, etc. from your session. This type of data is likely to no longer be valid when +you run your test, meaning you'll need to handle the extraction of this data from the HTML/form +to include it in subsequent requests. This issue is fairly common with any site that has forms +and can be handled with a little bit of scripting. + +### Extracting values/tokens from JSON response + +
+ +```js +import http from 'k6/http'; +import { check } from 'k6'; + +export default function() { + // Make a request that returns some JSON data + let res = http.get('https://httpbin.org/json'); + + // Extract data from that JSON data by first parsing it + // using a call to "json()" and then accessing properties by + // navigating the JSON data as a JS object with dot notation. + let slide1 = res.json().slideshow.slides[0]; + check(slide1, { + 'slide 1 has correct title': s => s.title === 'Wake up to WonderWidgets!', + 'slide 1 has correct type': s => s.type === 'all', + }); + + // Now we could use the "slide1" variable in subsequent requests... +} +``` + +
+ +**Relevant k6 APIs**: + +- [Response.json()](/javascript-api/k6-http/response-k6-http) +- [JSON.parse()](https://developer.mozilla.org/en-US/Web/JavaScript/Reference/Global_Objects/JSON/parse) + (An alternative API that can be used for parsing JSON data) + +### Extracting values/tokens from form fields + +There are primarily two different ways you can choose from when deciding how to handle form +submissions. Either you use the higher-level [Response.submitForm([params])](/javascript-api/k6-http/response/response-submitform-params) API +or you extract necessary hidden fields etc. and build a request yourself and then send it using the +appropriate `http.*` family of APIs, like [http.post(url, [body], [params])](/javascript-api/k6-http/post-url-body-params). + +#### Extracting .NET ViewStates, CSRF tokens and other hidden input fields + +
+ +```js +import http from "k6/http"; +import {sleep} from "k6"; + +export default function() { + + // Request the page containing a form and save the response. This gives you access + //to the response object, `res`. + const res = http.get("https://test.k6.io/my_messages.php", {"responseType": "text"}); + + // Query the HTML for an input field named "redir". We want the value or "redir" + const elem = res.html().find('input[name=redir]'); + + // Get the value of the attribute "value" and save it to a variable + const val = elem.attr('value'); + + // Now you can concatenate this extracted value in subsequent requests that require it. + ... + // console.log() works when executing k6 scripts locally and is handy for debugging purposes + console.log("The value of the hidden field redir is: " + val); + + sleep(1); +} +``` + +
+ +> ### ⚠️ Did you know? +> +> Take note if `discardResponseBodies` is set to true in the options +> section of your script. If it is, you can either make it `false` or save the response per +> request with `{"responseType": "text"}` as shown in the example. + +**Relevant k6 APIs**: + +- [Selection.find(selector)](/javascript-api/k6-html/selection/selection-find-selector) (the [jQuery Selector API](http://api.jquery.com/category/selectors/) + docs are also a good resource on what possible selector queryies can be made) +- [Selection.attr(name)](/javascript-api/k6-html/selection/selection-attr-name) diff --git a/src/data/markdown/docs/05 Examples/01 Examples/04 data-parameterization.md b/src/data/markdown/docs/05 Examples/01 Examples/04 data-parameterization.md new file mode 100644 index 0000000000..7fba5d1c0b --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/04 data-parameterization.md @@ -0,0 +1,149 @@ +--- +title: 'Data Parameterization' +excerpt: | + Scripting examples on how to parameterize data in a test script. Parameterization is typically + necessary when Virtual Users(VUs) will make a POST, PUT, or PATCH request in a test. + + Parameterization helps to prevent server-side caching from impacting your load test. + This will, in turn, make your test more realistic. +--- + +Scripting examples on how to parameterize data in a test script. Parameterization is typically +necessary when Virtual Users(VUs) will make a POST, PUT, or PATCH request in a test. + +Parameterization helps to prevent server-side caching from impacting your load test. +This will, in turn, make your test more realistic. + + +## From a JSON file + +
+ +```json +{ + "users": [ + { username: "test", password: "qwerty" }, + { username: "test", password: "qwerty" } + ] +} +``` + +
+ +
+ +```js + +const data = JSON.parse(open('./data.json')); + +export default function() { + let user = data.users[0]; + console.log(data.users[0].username); +} +``` + +
+ +## From a CSV file + +As k6 doesn't support parsing CSV files natively, we'll have to resort to using a +library called [Papa Parse](https://www.papaparse.com/). + +You can download the library and and import it locally like this: + +
+ +```JavaScript +import papaparse from './papaparse.js'; + +const csvData = papaparse.parse(open('./data.csv'), { header: true }); + +export default function() { + // ... +} +``` + +
+ +Or you can grab it directly from [jslib.k6.io](https://jslib.k6.io/) like this. + +
+ +```JavaScript +import papaparse from "https://jslib.k6.io/papaparse/5.1.1/index.js" + +// Load CSV file and parse it using Papa Parse +const csvData = papaparse.parse(open('./data.csv'), { header: true }); + +export default function() { + // ... +} +``` + +
+ +Here's an example using Papa Parse to parse a CSV file of username/password pairs and using that +data to login to the test.k6.io test site: + +
+ +```js +/* Where contents of data.csv is: + + username,password + admin,123 + test_user,1234 +*/ +import http from 'k6/http'; +import { check, sleep } from 'k6'; +import papaparse from "https://jslib.k6.io/papaparse/5.1.1/index.js" + +// Load CSV file and parse it using Papa Parse +const csvData = papaparse.parse(open('./data.csv'), { header: true }).data; + +export default function() { + // Now you can use the CSV data in your test logic below. + // Below are some examples of how you can access the CSV data. + + // Loop through all username/password pairs + csvData.forEach(userPwdPair => { + console.log(JSON.stringify(userPwdPair)); + }); + + // Pick a random username/password pair + let randomUser = + csvData[Math.floor(Math.random() * csvData.length)]; + console.log('Random user: ', JSON.stringify(randomUser)); + + const params = { + login: randomUser.username, + password: randomUser.password, + }; + + let res = http.post('https://test.k6.io/login.php', params); + check(res, { + 'login succeeded': r => + r.status === 200 && r.body.indexOf('successfully authorized') !== -1, + }); + + sleep(1); +} +``` + +
+ +
+ +
+ +> ### ⚠️ Strive to keep the data files small +> Each VU in k6 will have its separate copy of the data file. +> If your script uses 300 VUs, there will be 300 copies of the data file in memory. +> Cloud service allots 8GB of memory for every 300VUs. +> When executing cloud tests, make sure your data files aren't exceeding this limit or your test run may get aborted. + +
+ +## Generating data + +See [this example project on GitHub](https://github.com/k6io/example-data-generation) showing how to use faker.js to generate realistic data at runtime. \ No newline at end of file diff --git a/src/data/markdown/docs/05 Examples/01 Examples/05 html-forms.md b/src/data/markdown/docs/05 Examples/01 Examples/05 html-forms.md new file mode 100644 index 0000000000..41d0a20352 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/05 html-forms.md @@ -0,0 +1,41 @@ +--- +title: "HTML Forms" +excerpt: "Scripting example on how to handle HTML forms in a load test." +--- + +Scripting example on how to handle HTML forms in a load test. + +### Filling in and submitting forms +One of the most tedious tasks when testing websites and apps are to get all the form filling to +work. You have to get all the so-called "correlations" ([see above](/examples/correlation-and-dynamic-data)) correct +which can take time, even with the help of a scenario recorder as the starting point for getting +the basic user journey down into a re-playable test. + +
+ +```js +import http from "k6/http"; +import {sleep} from "k6"; + +export default function() { + // Request page containing a form + let res = http.get("https://httpbin.org/forms/post"); + + // Now, submit form setting/overriding some fields of the form + res = res.submitForm({ + formSelector: 'form[action="/post"]', + fields: { custname: "test", extradata: "test2" }, + submitSelector: "mySubmit", + }); + + sleep(3); +} +``` + +
+ +**Relevant k6 APIs**: +- [Response.submitForm([params])](/javascript-api/k6-http/response/response-submitform-params) +- [Selection.find(selector)](/javascript-api/k6-html/selection/selection-find-selector) + (the [jQuery Selector API](http://api.jquery.com/category/selectors/) docs are also a good + resource on what possible selector queries can be made) diff --git a/src/data/markdown/docs/05 Examples/01 Examples/06 cookies-example.md b/src/data/markdown/docs/05 Examples/01 Examples/06 cookies-example.md new file mode 100644 index 0000000000..648adf30d6 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/06 cookies-example.md @@ -0,0 +1,113 @@ +--- +title: "Cookies Example" +excerpt: "Scripting examples on how you can interact with cookies during your load test if required." +--- + +Scripting examples on how you can interact with cookies during your load test if required. + +## Cookies +As HTTP is a stateless protocol, cookies are used by server-side applications to persist data +on client machines. This is used more or less everywhere on the web, commonly for user session +tracking purposes. In k6 cookies are managed automatically by default, however, there are use +cases where access to read and manipulate cookies are required. + +## From the response headers + +
+ +```js +import http from "k6/http"; +import { check, group } from "k6"; + +export default function() { + // Since this request redirects the `res.cookies` property won't contain the cookies + let res = http.get("http://httpbin.org/cookies/set?name1=value1&name2=value2"); + check(res, { + "status is 200": (r) => r.status === 200 + }); + + // Make sure cookies have been added to VU cookie jar + let vuJar = http.cookieJar(); + let cookiesForURL = vuJar.cookiesForURL(res.url); + check(null, { + "vu jar has cookie 'name1'": () => cookiesForURL.name1.length > 0, + "vu jar has cookie 'name2'": () => cookiesForURL.name2.length > 0 + }); +} +``` + +
+ +## Log all the cookies in a response +> ### ⚠️ Note that this only works when using k6 locally +> +> The `console.log()` family of APIs are currently only usable when running k6 locally. +> When running k6 tests with LoadImpact Cloud Execution the logs will be discarded. + +
+ +```js + +// Example showing two methods how to log all cookies (with attributes) from a HTTP response. + +import http from "k6/http"; + +function logCookie(cookie) { + // Here we log the name and value of the cookie along with additional attributes. + // For full list of attributes see: https://k6.io/docs/using-k6/cookies#properties-of-a-response-cookie-object + console.log(`${cookie.name}: ${cookie.value}\n\tdomain: ${cookie.domain}\n\tpath: ${cookie.path}\n\texpires: ${cookie.expires}\n\thttpOnly: ${cookie.http_only}`); +} + +export default function() { + let res = http.get("https://www.google.com/"); + + // Method 1: Use for-loop and check for non-inherited properties + for (var name in res.cookies) { + if (res.cookies.hasOwnProperty(name) !== undefined) { + logCookie(res.cookies[name][0]); + } + } + + // Method 2: Use ES6 Map to loop over Object entries + new Map(Object.entries(res.cookies)).forEach((v, k) => logCookie(v[0]) ); +} +``` + +
+ +## Setting a cookie in the VU cookie jar +To set a cookie that should be sent with every request matching a particular domain, path, etc. +you'd do something like this: + +
+ +```js +import http from "k6/http"; +import { check } from "k6"; + +export default function() { + // Get VU cookie jar and add a cookie to it providing the parameters + // that a request must match (domain, path, HTTPS or not etc.) + // to have the cookie attached to it when sent to the server. + let jar = http.cookieJar(); + jar.set("https://httpbin.org/cookies", "my_cookie", "hello world", + { domain: "httpbin.org", path: "/cookies", secure: true, max_age: 600 }); + + // As the following request is matching the above cookie in terms of domain, + // path, HTTPS (secure) and will happen within the specified "age" limit, the + // cookie will be attached to this request. + let res = http.get("https://httpbin.org/cookies"); + check(res, { + "has status 200": (r) => r.status === 200, + "has cookie 'my_cookie'": (r) => r.json().cookies.my_cookie !== null, + "cookie has correct value": (r) => r.json().cookies.my_cookie == "hello world" + }); +} +``` + +
+ +**Relevant k6 APIs**: +- [http.CookieJar](/javascript-api/k6-http/cookiejar-k6-http) + - [set(name, value, [options])](/javascript-api/k6-http/cookiejar/cookiejar-set-name-value-options) +- [http.cookieJar()](/javascript-api/k6-http/cookiejar) diff --git a/src/data/markdown/docs/05 Examples/01 Examples/07 data-uploads.md b/src/data/markdown/docs/05 Examples/01 Examples/07 data-uploads.md new file mode 100644 index 0000000000..9d22f4cb32 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/07 data-uploads.md @@ -0,0 +1,61 @@ +--- +title: "Data Uploads" +excerpt: "Scripting examples on how to execute a load test that will upload a file to the System Under Test(SUT)." +--- + +Scripting examples on how to execute a load test that will upload a file to the System Under Test(SUT). + +## Binary file upload + +
+ +```js +import http from "k6/http"; +import { sleep } from "k6"; + +const binFile = open("/path/to/file.bin", "b"); + +export default function() { + var data = { + file: http.file(binFile, "test.bin") + }; + var res = http.post("https://example.com/upload", data); + sleep(3); +} +``` + +
+ +### Relevant k6 APIs +- [open(filePath, [mode])](/javascript-api/init-context/open-filepath-mode) +- [http.file(data, [filename], [contentType])](/javascript-api/k6-http/file-data-filename-contenttype) + +## Creating a multipart request +With multipart requests, you combine pieces of data with possibly different content types into one +request body. A common scenario is, for example, a form with regular text input fields and a file +field used for uploading a file: + +
+ +```js +import http from "k6/http"; +import { sleep } from "k6"; + +let file = open("/path/to/file.txt"); + +export default function() { + var data = { + field: "this is a standard form field", + file: http.file(file, "test.txt") + }; + var res = http.post("https://example.com/upload", data); + sleep(3); +} +``` + +
+ +### Relevant k6 APIs +- [open(filePath, [mode])](/javascript-api/init-context/open-filepath-mode) +- [http.file(data, [filename], [contentType])](/javascript-api/k6-http/file-data-filename-contenttype) + diff --git a/src/data/markdown/docs/05 Examples/01 Examples/08 advanced-api-flow.md b/src/data/markdown/docs/05 Examples/01 Examples/08 advanced-api-flow.md new file mode 100644 index 0000000000..847268b821 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/08 advanced-api-flow.md @@ -0,0 +1,136 @@ +--- +title: "Advanced API flow" +excerpt: "This example covers the usage of different k6 APIs for API load testing." +--- + +
+ +```js + import http from 'k6/http'; + import {check, group, sleep, fail} from 'k6'; + + export let options = { + stages: [ + { target: 70, duration: '30s' }, + ], + thresholds: { + 'http_req_duration': ['p(95)<500', 'p(99)<1500'], + 'http_req_duration{name:PublicCrocs}': ['avg<400'], + 'http_req_duration{name:Create}': ['avg<600', 'max<1000'], + }, + }; + + function randomString(length) { + const charset = 'abcdefghijklmnopqrstuvwxyz'; + let res = ''; + while (length--) res += charset[Math.random() * charset.length | 0]; + return res; + } + + const USERNAME = `${randomString(10)}@example.com`; // Set your own email or `${randomString(10)}@example.com`; + const PASSWORD = 'superCroc2019'; + const BASE_URL = 'https://test-api.k6.io'; + + export function setup() { + // register a new user and authenticate via a Bearer token. + let res = http.post(`${BASE_URL}/user/register/`, { + first_name: 'Crocodile', + last_name: 'Owner', + username: USERNAME, + password: PASSWORD, + }); + + check(res, { 'created user': (r) => r.status === 201 }); + + let loginRes = http.post(`${BASE_URL}/auth/token/login/`, { + username: USERNAME, + password: PASSWORD + }); + + let authToken = loginRes.json('access'); + check(authToken, { 'logged in successfully': () => authToken !== '', }); + + return authToken; + } + + + export default (authToken) => { + const requestConfigWithTag = tag => ({ + headers: { + Authorization: `Bearer ${authToken}` + }, + tags: Object.assign({}, { + name: 'PrivateCrocs' + }, tag) + }); + + group('Public endpoints', () => { + // call some public endpoints in a batch + let responses = http.batch([ + ['GET', `${BASE_URL}/public/crocodiles/1/`, null, {tags: {name: 'PublicCrocs'}}], + ['GET', `${BASE_URL}/public/crocodiles/2/`, null, {tags: {name: 'PublicCrocs'}}], + ['GET', `${BASE_URL}/public/crocodiles/3/`, null, {tags: {name: 'PublicCrocs'}}], + ['GET', `${BASE_URL}/public/crocodiles/4/`, null, {tags: {name: 'PublicCrocs'}}], + ]); + + const ages = Object.values(responses).map(res => res.json('age')); + + // Functional test: check that all the public crocodiles are older than 5 + check(ages, { + 'Crocs are older than 5 years of age': Math.min(...ages) > 5 + }); + }); + + group('Create and modify crocs', () => { + let URL = `${BASE_URL}/my/crocodiles/`; + + group('Create crocs', () => { + const payload = { + name: `Name ${randomString(10)}`, + sex: 'M', + date_of_birth: '2001-01-01', + }; + + const res = http.post(URL, payload, requestConfigWithTag({ name: 'Create' })); + + if (check(res, { 'Croc created correctly': (r) => r.status === 201 })) { + URL = `${URL}${res.json('id')}/`; + } else { + console.log(`Unable to create a Croc ${res.status} ${res.body}`); + return + } + }); + + group('Update croc', () => { + const payload = { name: 'New name' }; + const res = http.patch(URL, payload, requestConfigWithTag({ name: 'Update' })); + const isSuccessfulUpdate = check(res, { + 'Update worked': () => res.status === 200, + 'Updated name is correct': () => res.json('name') === 'New name', + }); + + if (!isSuccessfulUpdate) { + console.log(`Unable to update the croc ${res.status} ${res.body}`); + return + } + }); + + const delRes = http.del(URL, null, requestConfigWithTag({ name: 'Delete' })); + + const isSuccessfulDelete = check(null, { + 'Croc was deleted correctly': () => delRes.status === 204, + }); + + if (!isSuccessfulDelete) { + console.log(`Croc was not deleted properly`); + return + } + }); + + sleep(1); + } + + +``` + +
diff --git a/src/data/markdown/docs/05 Examples/01 Examples/09 generating-uuids.md b/src/data/markdown/docs/05 Examples/01 Examples/09 generating-uuids.md new file mode 100644 index 0000000000..71efc03275 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/09 generating-uuids.md @@ -0,0 +1,65 @@ +--- +title: "Generating UUIDs" +excerpt: "Scripting example on how to generate UUIDs in your load test." +--- + +Scripting example on how to generate UUIDs in your load test. + +## Generate v1 and v4 UUIDs +Universally unique identifiers are handy in many scenarios, as k6 doesn't have built-in support +for UUIDs, we'll have to resort to using a Node.js library called [uuid](https://www.npmjs.com/package/uuid) +and [Browserify](http://browserify.org/) (to make it work in k6). + +There are a few steps required to make this work: + +1. Make sure you have the necessary prerequisites installed: + [Node.js](https://nodejs.org/en/download/) and [Browserify](http://browserify.org/) + +2. Install the `uuid` library: +
+ + ```shell + $ npm install uuid + ``` + +
+3. Run it through browserify: +
+ + ```shell + $ browserify node_modules/uuid/index.js -s uuid > uuid.js + ``` + +
+ +4. Move the `uuid.js` file to the same folder as your script file and you'll be able to import + it into your test script: + +
+ + ```js + import uuid from "./uuid.js"` + ``` + +
+ + +Here's an example generating a v1 and v4 UUID: + +
+ +```js +import uuid from "./uuid.js"; + +export default function() { + // Generate a UUID v1 + let uuid1 = uuid.v1(); + console.log(uuid1); + + // Generate a UUID v4 + let uuid4 = uuid.v4(); + console.log(uuid4); +} +``` + +
diff --git a/src/data/markdown/docs/05 Examples/01 Examples/10 http2.md b/src/data/markdown/docs/05 Examples/01 Examples/10 http2.md new file mode 100644 index 0000000000..76d3ec1078 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/10 http2.md @@ -0,0 +1,25 @@ +--- +title: "HTTP2" +excerpt: "Information on how to load test HTTP/2." +--- + +If the target system indicates that a connection can be upgraded from HTTP/1.1 to HTTP/2, k6 will do so automatically. + +## Making HTTP/2 requests + +
+ +```js +import http from "k6/http"; +import { check } from "k6"; + +export default function() { + let res = http.get("https://test-api.k6.io/"); + check(res, { + "status is 200": (r) => r.status === 200, + "protocol is HTTP/2": (r) => r.proto === "HTTP/2.0", + }); +} +``` + +
diff --git a/src/data/markdown/docs/05 Examples/01 Examples/11 websockets.md b/src/data/markdown/docs/05 Examples/01 Examples/11 websockets.md new file mode 100644 index 0000000000..7b634616f5 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/11 websockets.md @@ -0,0 +1,51 @@ +--- +title: "Websockets" +excerpt: "Scripting example on how to test websocket APIs." +--- + + +## Testing a WebSocket API + +
+ +```js +import ws from "k6/ws"; +import { check } from "k6"; + +export default function() { + var url = "ws://echo.websocket.org"; + var params = { "tags": { "my_tag": "hello" } }; + + var res = ws.connect(url, params, function(socket) { + socket.on('open', function open() { + console.log('connected'); + + socket.setInterval(function timeout() { + socket.ping(); + console.log("Pinging every 1sec (setInterval test)"); + }, 1000); + }); + + socket.on('ping', function () { + console.log("PING!"); + }); + + socket.on('pong', function () { + console.log("PONG!"); + }); + + socket.on('close', function() { + console.log('disconnected'); + }); + + socket.setTimeout(function () { + console.log('2 seconds passed, closing the socket'); + socket.close(); + }, 2000); + }); + + check(res, { "status is 101": (r) => r && r.status === 101 }); +} +``` + +
diff --git a/src/data/markdown/docs/05 Examples/01 Examples/12 soap.md b/src/data/markdown/docs/05 Examples/01 Examples/12 soap.md new file mode 100644 index 0000000000..f3de087f73 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/12 soap.md @@ -0,0 +1,43 @@ +--- +title: "SOAP" +excerpt: "Load Testing SOAP API." +--- + +Although k6 doesn't have any built-in APIs for working with SOAP or XML data in general, you +can still easily load test a SOAP-based API by crafting SOAP messages and using the HTTP request APIs. + +## Making SOAP requests + +
+ +```js +import http from "k6/http"; +import { check, sleep } from "k6"; + +const soapReqBody = ` + + + + UnitedStates + + +`; + +export default function() { + // When making a SOAP POST request we must not forget to set the content type to text/xml + let res = http.post( + "http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx?wsdl", + soapReqBody, + {headers: { 'Content-Type': 'text/xml' }}); + + // Make sure the response is correct + check(res, { + 'status is 200': (r) => r.status === 200, + 'black friday is present': (r) => r.body.indexOf('BLACK-FRIDAY') !== -1 + }); + + sleep(1); +} +``` + +
diff --git a/src/data/markdown/docs/05 Examples/01 Examples/13 tls.md b/src/data/markdown/docs/05 Examples/01 Examples/13 tls.md new file mode 100644 index 0000000000..42b3e7aba7 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/13 tls.md @@ -0,0 +1,34 @@ +--- +title: "Transport Layer Security (TLS)" +excerpt: | + TLS is the mechanism through which encrypted connections can be established between clients and + servers on the web and through which data can flow with integrity intact. +--- + +
+ +```js +import http from "k6/http"; +import { check } from "k6"; + +export let options = { + tlsCipherSuites: [ + "TLS_RSA_WITH_RC4_128_SHA", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + ], + tlsVersion: { + min: "ssl3.0", + max: "tls1.2" + } +}; + +export default function() { + let res = http.get("https://sha256.badssl.com"); + check(res, { + "is TLSv1.2": (r) => r.tls_version === http.TLS_1_2, + "is sha256 cipher suite": (r) => r.tls_cipher_suite === "TLS_RSA_WITH_AES_128_GCM_SHA256" + }); +}; +``` + +
diff --git a/src/data/markdown/docs/05 Examples/01 Examples/14 data generation.md b/src/data/markdown/docs/05 Examples/01 Examples/14 data generation.md new file mode 100644 index 0000000000..eb1cfa3029 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/14 data generation.md @@ -0,0 +1,6 @@ +--- +title: 'Generating realistic data' +redirect: 'https://github.com/k6io/example-data-generation/' +excerpt: | + Reference project demonstrating how to generate data with realistic traits at runtime using faker.js +--- diff --git a/src/data/markdown/docs/05 Examples/01 Examples/15 Bundling and transpilation.md b/src/data/markdown/docs/05 Examples/01 Examples/15 Bundling and transpilation.md new file mode 100644 index 0000000000..bca4b9b1d3 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/01 Examples/15 Bundling and transpilation.md @@ -0,0 +1,7 @@ +--- +title: 'Bundling and transpilation' +redirect: 'https://github.com/k6io/k6-es6/' +excerpt: | + Reference project demonstrating how to use webpack and babel to bundle + node modules or transpile code to ES5.1+ for usage in k6 tests. +--- \ No newline at end of file diff --git a/src/data/markdown/docs/05 Examples/02 Tutorials/01 datadog-alerts.md b/src/data/markdown/docs/05 Examples/02 Tutorials/01 datadog-alerts.md new file mode 100644 index 0000000000..92aeccabe4 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/02 Tutorials/01 datadog-alerts.md @@ -0,0 +1,4 @@ +--- +title: 'Datadog alerts and Thresholds' +redirect: 'https://k6.io/blog/datadog-alerts-fail-load-test' +--- diff --git a/src/data/markdown/docs/05 Examples/02 Tutorials/02 postman.md b/src/data/markdown/docs/05 Examples/02 Tutorials/02 postman.md new file mode 100644 index 0000000000..097eb26745 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/02 Tutorials/02 postman.md @@ -0,0 +1,4 @@ +--- +title: 'Load testing with Postman' +redirect: 'https://k6.io/blog/load-testing-with-postman-collections' +--- diff --git a/src/data/markdown/docs/05 Examples/02 Tutorials/03 openapi.md b/src/data/markdown/docs/05 Examples/02 Tutorials/03 openapi.md new file mode 100644 index 0000000000..3158c20315 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/02 Tutorials/03 openapi.md @@ -0,0 +1,4 @@ +--- +title: 'Load testing with Swagger/OpenAPI' +redirect: 'https://k6.io/blog/load-testing-your-api-with-swagger-openapi-and-k6' +--- diff --git a/src/data/markdown/docs/05 Examples/02 Tutorials/04 cron.md b/src/data/markdown/docs/05 Examples/02 Tutorials/04 cron.md new file mode 100644 index 0000000000..a3b4f132da --- /dev/null +++ b/src/data/markdown/docs/05 Examples/02 Tutorials/04 cron.md @@ -0,0 +1,4 @@ +--- +title: 'Performance monitoring with cron' +redirect: 'https://k6.io/blog/performance-monitoring-with-cron-and-k6' +--- diff --git a/src/data/markdown/docs/05 Examples/02 Tutorials/05 kafka.md b/src/data/markdown/docs/05 Examples/02 Tutorials/05 kafka.md new file mode 100644 index 0000000000..c4c1c8212d --- /dev/null +++ b/src/data/markdown/docs/05 Examples/02 Tutorials/05 kafka.md @@ -0,0 +1,4 @@ +--- +title: 'k6 output to Apache Kafka' +redirect: 'https://k6.io/blog/integrating-k6-with-apache-kafka' +--- diff --git a/src/data/markdown/docs/05 Examples/02 Tutorials/06 graphql.md b/src/data/markdown/docs/05 Examples/02 Tutorials/06 graphql.md new file mode 100644 index 0000000000..4a4ef54afc --- /dev/null +++ b/src/data/markdown/docs/05 Examples/02 Tutorials/06 graphql.md @@ -0,0 +1,4 @@ +--- +title: 'Load testing GraphQL' +redirect: 'https://k6.io/blog/load-testing-graphql-with-k6' +--- diff --git a/src/data/markdown/docs/05 Examples/02 Tutorials/07 restful-apis.md b/src/data/markdown/docs/05 Examples/02 Tutorials/07 restful-apis.md new file mode 100644 index 0000000000..d74a8c2cff --- /dev/null +++ b/src/data/markdown/docs/05 Examples/02 Tutorials/07 restful-apis.md @@ -0,0 +1,4 @@ +--- +title: 'Load testing RESTful APIs' +redirect: 'https://k6.io/blog/load-testing-restful-apis-with-k6' +--- diff --git a/src/data/markdown/docs/05 Examples/02 Tutorials/08 control-live-test.md b/src/data/markdown/docs/05 Examples/02 Tutorials/08 control-live-test.md new file mode 100644 index 0000000000..30d97ea500 --- /dev/null +++ b/src/data/markdown/docs/05 Examples/02 Tutorials/08 control-live-test.md @@ -0,0 +1,4 @@ +--- +title: 'Control a live k6 test' +redirect: 'https://k6.io/blog/how-to-control-a-live-k6-test' +--- diff --git a/src/data/markdown/posts/2020-01-15--load-impact-v3-end-of-life/cover-v3-end-of-life.png b/src/data/markdown/posts/2020-01-15--load-impact-v3-end-of-life/cover-v3-end-of-life.png new file mode 100755 index 0000000000..c376fb4961 Binary files /dev/null and b/src/data/markdown/posts/2020-01-15--load-impact-v3-end-of-life/cover-v3-end-of-life.png differ diff --git a/src/data/markdown/posts/2020-01-15--load-impact-v3-end-of-life/index.md b/src/data/markdown/posts/2020-01-15--load-impact-v3-end-of-life/index.md new file mode 100644 index 0000000000..57e72525a0 --- /dev/null +++ b/src/data/markdown/posts/2020-01-15--load-impact-v3-end-of-life/index.md @@ -0,0 +1,48 @@ +--- +title: Deprecation Timeline for LoadImpact v3.0 +summary: LoadImpact v3.0 is currently being deprecated. We plan to formally shut down v3.0 on Dec 31 2020. +category: 'Releases' +covertext: 'V3 End Of Life' +author: Mark Meier, Head of Customer Success +cover: cover-v3-end-of-life.png +socialImage: cover-v3-end-of-life.png +featured: true +--- + +In 1940, the American Football Championship Game was played between the Chicago Bears and Washington Redskins. A few weeks earlier the teams faced off and Washington won with a score of 7-3. Moving into the championship game, Chicago knew they had to make a strategic move and adapt the game to regain the upper hand. For the first time in the history of American football, a new strategy was introduced, the “T-formation”. Using this strategy, Chicago handed Washington the most lopsided margins of victory in sports history (73-0) and a Scorigami. Their adaptation resulted in the team, players and fans enjoying success from their strategic planning. + +So what does this have to do with our deprecation timeline for v3.0? I’ll be honest - it’s more of a fun story than anything. But I think there are similarities. LoadImpact v3.0 (Lua), has been a tried and tested load and performance testing solution. It’s executed millions of tests and have helped thousands of users understand how their systems react to various levels of load. But as time ticks on, you learn that things can be improved. In our case, it made sense to come up with an entirely new way to think about testing rather than making small adaptations. + +The new version of LoadImpact is the result of years of feedback we’ve gathered and experienced we gained. We think it will enable strategies for you to become more efficient and come to valuable conclusions, faster. Maybe even handing your opponent a 73-0 loss. + +I’ve had many conversations with users regarding this transition, I’ve put together some of the most common questions and answers. If you have a question that is not listed here, please reach out using the contact info at the bottom of this post. + +## Why are you releasing a new version and new load generator? + +Based on feedback we have received from users over the years and from our own observations, we wanted to create a more modern and open source tool for testing. We set out to address the following: + +- CLI tool with developer-friendly APIs. +- Load-Test-As-Code with scripting in JavaScript. +- Easy automation and powerful performance Thresholds (Pass/Fail criteria). +- Integrates with the LoadImpact cloud to accelerate and scale your performance testing. + +## What is happening to the version with Lua Scripting? + +As we call it, v3.0, is currently being deprecated. We plan to formally shut down v3.0 on Dec 31 2020. After this date it will not be possible to access the service, so we strongly urge you to back up and export any information you need to save. + +## Do I need to buy a new plan? Do I have access to v4.0? + +For most users, we already added a plan that gives v4.0 access to your account. Due to pricing differences, it is at some different limits than your v3.0 plan. If you would like, you can switch to one of our current v4.0 plans on our pricing page. If you feel your needs don’t fit into what we’ve enabled or what we have available, please contact us and we can discuss other potential options. + +You can view full details of your available plans on your Account page. + +## Where do I go if I need help getting used to v4.0? + +Myself and the rest of the customer success team are here to support you. Additionally, we have our knowledge base, extensive documentation, community forum and slack channel where you can get more information. + +- https://support.loadimpact.com/4.0/ +- https://docs.k6.io/docs +- https://community.k6.io/ +- https://k6.io/slack/ + +Finally, you are always welcome to contact us directly at support@loadimpact.com. We would be happy to set up a Q&A session or walkthrough to answer your questions after you have some time to explore v4.0 on your own. diff --git a/src/hooks/index.js b/src/hooks/index.js new file mode 100644 index 0000000000..8c6e44e368 --- /dev/null +++ b/src/hooks/index.js @@ -0,0 +1,3 @@ +import useLandmark from './useLandmark'; + +export { useLandmark }; diff --git a/src/hooks/useLandmark.js b/src/hooks/useLandmark.js new file mode 100644 index 0000000000..b26c37800c --- /dev/null +++ b/src/hooks/useLandmark.js @@ -0,0 +1,48 @@ +import React, { useState, useEffect } from 'react'; +import ReactDOM from 'react-dom'; +import { Heading } from 'components/shared/heading'; +import { slugify } from 'utils'; +import docPageContent from 'components/templates/doc-page/doc-page-content/doc-page-content.module.scss'; +import AnchorIcon from 'components/templates/doc-page/doc-page-content/svg/anchor.inline.svg'; + +// auxillary component that will replace default ones +const markHeadingComponent = ({ content }) => ( + + + + + {content} + +); + +const useLandmark = ({ selector, component = markHeadingComponent }) => { + const [links, setLinks] = useState([]); + useEffect(() => { + const Component = component; + // get all h2 headings of a parent + const allHeadingMarks = document + .querySelector(`.${selector}`) + .querySelectorAll('h2'); + allHeadingMarks.forEach(element => { + const compContent = element.innerHTML; + // Render with container replacement. + const temp = document.createElement('div'); + ReactDOM.render(, temp, () => + element.parentElement.replaceChild(temp.children[0], element), + ); + }); + setLinks( + Array.from(allHeadingMarks).map(({ innerHTML }) => ({ + title: innerHTML, + anchor: `#${slugify(innerHTML).replace(/\//g, '-')}`, + })), + ); + }, []); + return { links }; +}; +export default useLandmark; diff --git a/src/images/NetInfo-API-Blog-post.png b/src/images/NetInfo-API-Blog-post.png new file mode 100644 index 0000000000..78df4165fa Binary files /dev/null and b/src/images/NetInfo-API-Blog-post.png differ diff --git a/src/images/about/about-story-image.png b/src/images/about/about-story-image.png new file mode 100644 index 0000000000..edb8b9a6ff Binary files /dev/null and b/src/images/about/about-story-image.png differ diff --git a/src/images/about/about-team-image.png b/src/images/about/about-team-image.png new file mode 100644 index 0000000000..f8a58ad841 Binary files /dev/null and b/src/images/about/about-team-image.png differ diff --git a/src/images/about/about-team/bernard-alexander.png b/src/images/about/about-team/bernard-alexander.png new file mode 100644 index 0000000000..0759617597 Binary files /dev/null and b/src/images/about/about-team/bernard-alexander.png differ diff --git a/src/images/about/about-team/courtney-alexander.png b/src/images/about/about-team/courtney-alexander.png new file mode 100644 index 0000000000..0759617597 Binary files /dev/null and b/src/images/about/about-team/courtney-alexander.png differ diff --git a/src/images/about/about-team/ronald-edwards.png b/src/images/about/about-team/ronald-edwards.png new file mode 100644 index 0000000000..0759617597 Binary files /dev/null and b/src/images/about/about-team/ronald-edwards.png differ diff --git a/src/images/about/about-team/ted-pena.png b/src/images/about/about-team/ted-pena.png new file mode 100644 index 0000000000..0759617597 Binary files /dev/null and b/src/images/about/about-team/ted-pena.png differ diff --git a/src/images/cloud-illustrated-note/data-flow@2x.png b/src/images/cloud-illustrated-note/data-flow@2x.png new file mode 100644 index 0000000000..699e772ed0 Binary files /dev/null and b/src/images/cloud-illustrated-note/data-flow@2x.png differ diff --git a/src/images/cloud-illustrated-note/hacking-croco@2x.png b/src/images/cloud-illustrated-note/hacking-croco@2x.png new file mode 100644 index 0000000000..63263b6f81 Binary files /dev/null and b/src/images/cloud-illustrated-note/hacking-croco@2x.png differ diff --git a/src/images/cloud-promo@2x.png b/src/images/cloud-promo@2x.png new file mode 100755 index 0000000000..9891fd77e4 Binary files /dev/null and b/src/images/cloud-promo@2x.png differ diff --git a/src/images/cloud/cloud-features/first-block/01image-1@2x.jpg b/src/images/cloud/cloud-features/first-block/01image-1@2x.jpg new file mode 100644 index 0000000000..4e132e1552 Binary files /dev/null and b/src/images/cloud/cloud-features/first-block/01image-1@2x.jpg differ diff --git a/src/images/cloud/cloud-features/first-block/01image-2@2x.jpg b/src/images/cloud/cloud-features/first-block/01image-2@2x.jpg new file mode 100644 index 0000000000..ab0a70f739 Binary files /dev/null and b/src/images/cloud/cloud-features/first-block/01image-2@2x.jpg differ diff --git a/src/images/cloud/cloud-features/second-block/02image-1@2x.png b/src/images/cloud/cloud-features/second-block/02image-1@2x.png new file mode 100644 index 0000000000..5fa2da0b1a Binary files /dev/null and b/src/images/cloud/cloud-features/second-block/02image-1@2x.png differ diff --git a/src/images/cloud/cloud-features/second-block/02image-2@2x.png b/src/images/cloud/cloud-features/second-block/02image-2@2x.png new file mode 100644 index 0000000000..5a1bfd9a06 Binary files /dev/null and b/src/images/cloud/cloud-features/second-block/02image-2@2x.png differ diff --git a/src/images/cloud/cloud-features/second-block/02image-3@2x.jpg b/src/images/cloud/cloud-features/second-block/02image-3@2x.jpg new file mode 100644 index 0000000000..8dbe062718 Binary files /dev/null and b/src/images/cloud/cloud-features/second-block/02image-3@2x.jpg differ diff --git a/src/images/cloud/cloud-features/third-block/03image-1@2x.jpg b/src/images/cloud/cloud-features/third-block/03image-1@2x.jpg new file mode 100644 index 0000000000..75a8c649ab Binary files /dev/null and b/src/images/cloud/cloud-features/third-block/03image-1@2x.jpg differ diff --git a/src/images/cloud/cloud-features/third-block/03image-2@2x.jpg b/src/images/cloud/cloud-features/third-block/03image-2@2x.jpg new file mode 100644 index 0000000000..909fc2911f Binary files /dev/null and b/src/images/cloud/cloud-features/third-block/03image-2@2x.jpg differ diff --git a/src/images/cloud/cloud-hero/cloud-promo.png b/src/images/cloud/cloud-hero/cloud-promo.png new file mode 100755 index 0000000000..9a3045c9d9 Binary files /dev/null and b/src/images/cloud/cloud-hero/cloud-promo.png differ diff --git a/src/images/cloud/cloud-hero/cloud-promo@3x.png b/src/images/cloud/cloud-hero/cloud-promo@3x.png new file mode 100755 index 0000000000..7400e5511a Binary files /dev/null and b/src/images/cloud/cloud-hero/cloud-promo@3x.png differ diff --git a/src/images/cloud/cloud-hero/cloud-stub.png b/src/images/cloud/cloud-hero/cloud-stub.png new file mode 100644 index 0000000000..49ae6de2c0 Binary files /dev/null and b/src/images/cloud/cloud-hero/cloud-stub.png differ diff --git a/src/images/data-flow@2x.png b/src/images/data-flow@2x.png new file mode 100644 index 0000000000..699e772ed0 Binary files /dev/null and b/src/images/data-flow@2x.png differ diff --git a/src/images/doc-integrations/azure.png b/src/images/doc-integrations/azure.png new file mode 100644 index 0000000000..b310f2650d Binary files /dev/null and b/src/images/doc-integrations/azure.png differ diff --git a/src/images/doc-integrations/graphql.png b/src/images/doc-integrations/graphql.png new file mode 100644 index 0000000000..bad4a50d7a Binary files /dev/null and b/src/images/doc-integrations/graphql.png differ diff --git a/src/images/doc-integrations/har.jpg b/src/images/doc-integrations/har.jpg new file mode 100644 index 0000000000..4c21cdacba Binary files /dev/null and b/src/images/doc-integrations/har.jpg differ diff --git a/src/images/doc-integrations/jmeter.png b/src/images/doc-integrations/jmeter.png new file mode 100644 index 0000000000..261efeb643 Binary files /dev/null and b/src/images/doc-integrations/jmeter.png differ diff --git a/src/images/doc-integrations/openapi.png b/src/images/doc-integrations/openapi.png new file mode 100644 index 0000000000..a5fb84f67b Binary files /dev/null and b/src/images/doc-integrations/openapi.png differ diff --git a/src/images/doc-integrations/postman.png b/src/images/doc-integrations/postman.png new file mode 100644 index 0000000000..cfd823454d Binary files /dev/null and b/src/images/doc-integrations/postman.png differ diff --git a/src/images/doc-welcome-quick-start/doc-welcome-quick-start-image-1.png b/src/images/doc-welcome-quick-start/doc-welcome-quick-start-image-1.png new file mode 100644 index 0000000000..44e0e4a321 Binary files /dev/null and b/src/images/doc-welcome-quick-start/doc-welcome-quick-start-image-1.png differ diff --git a/src/images/doc-welcome-quick-start/doc-welcome-quick-start-image-2.png b/src/images/doc-welcome-quick-start/doc-welcome-quick-start-image-2.png new file mode 100644 index 0000000000..eeb50af6d8 Binary files /dev/null and b/src/images/doc-welcome-quick-start/doc-welcome-quick-start-image-2.png differ diff --git a/src/images/doc-welcome-quick-start/doc-welcome-quick-start-image-3.png b/src/images/doc-welcome-quick-start/doc-welcome-quick-start-image-3.png new file mode 100644 index 0000000000..371061e673 Binary files /dev/null and b/src/images/doc-welcome-quick-start/doc-welcome-quick-start-image-3.png differ diff --git a/src/images/favicon.png b/src/images/favicon.png new file mode 100644 index 0000000000..4b01474386 Binary files /dev/null and b/src/images/favicon.png differ diff --git a/src/images/home-built-for/developers-closed.png b/src/images/home-built-for/developers-closed.png new file mode 100644 index 0000000000..d25094d914 Binary files /dev/null and b/src/images/home-built-for/developers-closed.png differ diff --git a/src/images/home-built-for/developers.png b/src/images/home-built-for/developers.png new file mode 100644 index 0000000000..12b23afd72 Binary files /dev/null and b/src/images/home-built-for/developers.png differ diff --git a/src/images/home-built-for/devops-closed.png b/src/images/home-built-for/devops-closed.png new file mode 100644 index 0000000000..7df5f07b00 Binary files /dev/null and b/src/images/home-built-for/devops-closed.png differ diff --git a/src/images/home-built-for/devops.png b/src/images/home-built-for/devops.png new file mode 100644 index 0000000000..6acdfb9571 Binary files /dev/null and b/src/images/home-built-for/devops.png differ diff --git a/src/images/home-built-for/managers-closed.png b/src/images/home-built-for/managers-closed.png new file mode 100644 index 0000000000..f57a87238e Binary files /dev/null and b/src/images/home-built-for/managers-closed.png differ diff --git a/src/images/home-built-for/managers.png b/src/images/home-built-for/managers.png new file mode 100644 index 0000000000..2de597c284 Binary files /dev/null and b/src/images/home-built-for/managers.png differ diff --git a/src/images/how-it-works/how-it-works.png b/src/images/how-it-works/how-it-works.png new file mode 100644 index 0000000000..505a73e9f5 Binary files /dev/null and b/src/images/how-it-works/how-it-works.png differ diff --git a/src/images/how-it-works/stub.png b/src/images/how-it-works/stub.png new file mode 100644 index 0000000000..bb474cce63 Binary files /dev/null and b/src/images/how-it-works/stub.png differ diff --git a/src/images/icon.png b/src/images/icon.png new file mode 100644 index 0000000000..0419299be0 Binary files /dev/null and b/src/images/icon.png differ diff --git a/src/images/landscape-icon.png b/src/images/landscape-icon.png new file mode 100644 index 0000000000..99232924a8 Binary files /dev/null and b/src/images/landscape-icon.png differ diff --git a/src/images/native-automation-instruction/native-automation-fourth-step-image.png b/src/images/native-automation-instruction/native-automation-fourth-step-image.png new file mode 100644 index 0000000000..52d097a618 Binary files /dev/null and b/src/images/native-automation-instruction/native-automation-fourth-step-image.png differ diff --git a/src/images/native-automation-instruction/native-automation-instruction-image.png b/src/images/native-automation-instruction/native-automation-instruction-image.png new file mode 100644 index 0000000000..8a708448e6 Binary files /dev/null and b/src/images/native-automation-instruction/native-automation-instruction-image.png differ diff --git a/src/images/open-source-cases/open-source-use-cases-image.png b/src/images/open-source-cases/open-source-use-cases-image.png new file mode 100644 index 0000000000..3ce5e59874 Binary files /dev/null and b/src/images/open-source-cases/open-source-use-cases-image.png differ diff --git a/src/images/sample-image@2x.png b/src/images/sample-image@2x.png new file mode 100644 index 0000000000..be69cdd0a9 Binary files /dev/null and b/src/images/sample-image@2x.png differ diff --git a/src/images/vertical-image-query-test.jpg b/src/images/vertical-image-query-test.jpg new file mode 100644 index 0000000000..ef9acfc894 Binary files /dev/null and b/src/images/vertical-image-query-test.jpg differ diff --git a/src/layouts/default-layout/default-layout.module.scss b/src/layouts/default-layout/default-layout.module.scss new file mode 100644 index 0000000000..f871958fe3 --- /dev/null +++ b/src/layouts/default-layout/default-layout.module.scss @@ -0,0 +1,18 @@ +.button { + margin-right: 5px; + + &:last-child { + margin-right: 0; + } +} + +.buttons-wrapper { + @include md-down { + display: none; + } +} +:global .react-cookie-banner { + background-color: $color-primary; + color: $color-tertiary; + padding: 10px 20px; +} diff --git a/src/layouts/default-layout/default-layout.view.js b/src/layouts/default-layout/default-layout.view.js new file mode 100644 index 0000000000..b5c00d9b69 --- /dev/null +++ b/src/layouts/default-layout/default-layout.view.js @@ -0,0 +1,116 @@ +import React from 'react'; +import { + Cookies, + CookiesProvider, + CookieBannerUniversal, +} from 'react-cookie-banner'; +import HelperWidget from 'components/shared/helper-widget'; + +import { + Header, + HeaderNav, + HeaderLogo, + Burger, +} from 'components/blocks/header'; +import { Footer } from 'components/blocks/footer'; +import { MobileNav } from 'components/blocks/mobile-nav'; +import { SEO } from 'components/shared/seo'; +import { Button } from 'components/shared/button'; + +import styles from './default-layout.module.scss'; +import CookieConsent from 'components/shared/cookie-consent'; +import { app, main, blog, docs } from 'utils/urls'; + +const cookies = new Cookies({ 'user-has-accepted-cookies': true }); + +export const DefaultLayout = ({ pageMetadata, children }) => { + const [isMobileNavVisible, setIsMobileNavVisible] = React.useState(false); + + React.useEffect(() => { + if (isMobileNavVisible) { + document.querySelector('html').style.overflow = 'hidden'; + } else { + document.querySelector('html').style.overflow = ''; + } + }, [isMobileNavVisible]); + + const links = [ + { label: 'Cloud', to: `${main}/cloud` }, + { label: 'Open Source', to: `${main}/open-source` }, + { label: 'Documentation', to: `${docs}` }, + { label: 'Pricing', to: `${main}/pricing` }, + { + label: 'About', + submenu: [ + { label: 'Our Story', to: `${main}/about` }, + { label: 'Our Beliefs', to: `${main}/our-beliefs` }, + { label: 'Blog', to: `${blog}` }, + { label: 'Contact Us', to: `${main}/contact` }, + { label: 'Jobs', to: `${main}/jobs` }, + ], + }, + ]; + + return ( + <> + +
+
+ +
+
+ +
+
+
+ + +
+
+
+ setIsMobileNavVisible(true)} /> +
+
+ + {children} + + + cur.submenu ? acc.concat([...cur.submenu]) : acc.concat(cur), + [], + )} + isVisible={isMobileNavVisible} + onCloseButtonClick={() => setIsMobileNavVisible(false)} + /> +