From dfcf728e6f6b13563a5d6fbe7e66345b62b64029 Mon Sep 17 00:00:00 2001 From: Umputun Date: Sun, 13 Jun 2021 18:44:49 -0500 Subject: [PATCH] Site (#1049) by @akellbl4 * create infrastructure for site * wip * fix docker build and add readme * add docker-compose as a build and a run method * rename compose file yaml -> yml * add `src` as volume for watching changes * update configs * update README * add padding at the end of the pages * move demo settings in config * fetch latest release from github * update docs navigation - add sections - redirect from root of the section to first doc - nice styles for navigation - add brand colors * cache github data from first load * add redirects and fix link to docs * fix docs nav styles * add installation page placeholder * fix demo * add 404 * add dark theme, add theme switcher, remove unused files * fix dark theme on main page * fix dark theme background * fix node version * change installation docs * add note block * minor fixes * add code highlighting styles * fixes * fixes * mobile navigation, fix code highlighting colors * fix dev server * fix fetching error * fix path to edit Co-authored-by: Pavel Mineev Co-authored-by: Dmitry Verkhoturov --- .gitignore | 3 - docs/1.6/_index.md | 7 - docs/1.6/email.md | 215 - docs/1.6/nginx-proxy.md | 54 - docs/1.6/telegram.md | 36 - docs/1.6/translation.md | 56 - .../developers-guide/email-templates.md | 0 docs/{latest => }/email.md | 0 docs/{1.6 => }/images/email_auth.png | Bin docs/{1.6 => }/images/email_notifications.png | Bin docs/{latest/_index.md => index.md} | 0 docs/{latest => }/kubernetes.md | 0 docs/latest/images/email_auth.png | Bin 61581 -> 0 bytes docs/latest/images/email_notifications.png | Bin 29064 -> 0 bytes docs/latest/migration.md | 30 - docs/latest/subdomain.md | 77 - docs/{1.6 => }/migration.md | 0 docs/{latest => }/nginx-proxy.md | 0 docs/{latest => }/reproxy.md | 0 docs/{latest => }/slack.md | 0 docs/{latest => }/spa.md | 0 docs/{1.6 => }/subdomain.md | 0 docs/{latest => }/telegram.md | 0 docs/{latest => }/translation.md | 0 frontend/.gitignore | 7 +- site/.dockerignore | 6 + site/.editorconfig | 6 + site/.eleventy.js | 102 + site/.eleventyignore | 3 + site/.gitignore | 4 + site/.prettierrc | 6 + site/Dockerfile | 8 + site/README.md | 44 + site/docker-compose.yml | 27 + site/package.json | 43 + site/postcss.config.js | 6 + site/public/robots.txt | 2 + site/src/data/github.js | 28 + site/src/data/layout.js | 1 + site/src/data/site.json | 9 + site/src/docs/backup/automatic/index.md | 6 + site/src/docs/backup/index.md | 6 + site/src/docs/backup/manual/index.md | 6 + site/src/docs/backup/migration/index.md | 5 + site/src/docs/backup/restore/index.md | 6 + .../docs/configuration/authorization/index.md | 5 + site/src/docs/configuration/email/index.md | 6 + site/src/docs/configuration/frontend/index.md | 16 + site/src/docs/configuration/index.md | 6 + .../docs/configuration/kubernetes/index.md | 6 + site/src/docs/configuration/nginx/index.md | 6 + .../docs/configuration/notifications/index.md | 11 + .../src/docs/configuration/subdomain/index.md | 6 + site/src/docs/contributing/api/index.md | 5 + .../contributing/code-of-conduct/index.md | 5 + .../development-environment/index.md | 6 + .../contributing/guidlines/backend/index.md | 7 + .../contributing/guidlines/frontend/index.md | 7 + site/src/docs/contributing/guidlines/index.md | 5 + site/src/docs/contributing/index.md | 6 + .../contributing/technical-details/index.md | 29 + .../docs/contributing/translations/index.md | 6 + site/src/docs/docs.11tydata.js | 10 + site/src/docs/getting-started/index.md | 6 + .../getting-started/installation/index.md | 72 + .../system-requirements/index.md | 5 + site/src/includes/components/docs-aside.njk | 40 + site/src/includes/components/footer.njk | 1 + site/src/includes/components/head.njk | 16 + site/src/includes/components/header.njk | 24 + site/src/includes/inline.js | 5 + site/src/includes/script.js | 11 + site/src/layouts/404.njk | 8 + site/src/layouts/base.njk | 11 + site/src/layouts/demo.njk | 19 + site/src/layouts/docs.njk | 32 + site/src/layouts/home.njk | 7 + site/src/layouts/page.njk | 11 + site/src/layouts/redirect.njk | 13 + site/src/pages/404.md | 5 + site/src/pages/demo.md | 6 + site/src/pages/index.md | 34 + site/src/pages/privacy.md | 4 + site/src/pages/redirects.md | 20 + site/src/styles.css | 188 + site/tailwind.config.js | 111 + site/yarn.lock | 4087 +++++++++++++++++ 87 files changed, 5212 insertions(+), 481 deletions(-) delete mode 100644 docs/1.6/_index.md delete mode 100644 docs/1.6/email.md delete mode 100644 docs/1.6/nginx-proxy.md delete mode 100644 docs/1.6/telegram.md delete mode 100644 docs/1.6/translation.md rename docs/{latest => }/developers-guide/email-templates.md (100%) rename docs/{latest => }/email.md (100%) rename docs/{1.6 => }/images/email_auth.png (100%) rename docs/{1.6 => }/images/email_notifications.png (100%) rename docs/{latest/_index.md => index.md} (100%) rename docs/{latest => }/kubernetes.md (100%) delete mode 100644 docs/latest/images/email_auth.png delete mode 100644 docs/latest/images/email_notifications.png delete mode 100644 docs/latest/migration.md delete mode 100644 docs/latest/subdomain.md rename docs/{1.6 => }/migration.md (100%) rename docs/{latest => }/nginx-proxy.md (100%) rename docs/{latest => }/reproxy.md (100%) rename docs/{latest => }/slack.md (100%) rename docs/{latest => }/spa.md (100%) rename docs/{1.6 => }/subdomain.md (100%) rename docs/{latest => }/telegram.md (100%) rename docs/{latest => }/translation.md (100%) create mode 100644 site/.dockerignore create mode 100644 site/.editorconfig create mode 100644 site/.eleventy.js create mode 100644 site/.eleventyignore create mode 100644 site/.gitignore create mode 100644 site/.prettierrc create mode 100644 site/Dockerfile create mode 100644 site/README.md create mode 100644 site/docker-compose.yml create mode 100644 site/package.json create mode 100644 site/postcss.config.js create mode 100644 site/public/robots.txt create mode 100644 site/src/data/github.js create mode 100644 site/src/data/layout.js create mode 100644 site/src/data/site.json create mode 100644 site/src/docs/backup/automatic/index.md create mode 100644 site/src/docs/backup/index.md create mode 100644 site/src/docs/backup/manual/index.md create mode 100644 site/src/docs/backup/migration/index.md create mode 100644 site/src/docs/backup/restore/index.md create mode 100644 site/src/docs/configuration/authorization/index.md create mode 100644 site/src/docs/configuration/email/index.md create mode 100644 site/src/docs/configuration/frontend/index.md create mode 100644 site/src/docs/configuration/index.md create mode 100644 site/src/docs/configuration/kubernetes/index.md create mode 100644 site/src/docs/configuration/nginx/index.md create mode 100644 site/src/docs/configuration/notifications/index.md create mode 100644 site/src/docs/configuration/subdomain/index.md create mode 100644 site/src/docs/contributing/api/index.md create mode 100644 site/src/docs/contributing/code-of-conduct/index.md create mode 100644 site/src/docs/contributing/development-environment/index.md create mode 100644 site/src/docs/contributing/guidlines/backend/index.md create mode 100644 site/src/docs/contributing/guidlines/frontend/index.md create mode 100644 site/src/docs/contributing/guidlines/index.md create mode 100644 site/src/docs/contributing/index.md create mode 100644 site/src/docs/contributing/technical-details/index.md create mode 100644 site/src/docs/contributing/translations/index.md create mode 100644 site/src/docs/docs.11tydata.js create mode 100644 site/src/docs/getting-started/index.md create mode 100644 site/src/docs/getting-started/installation/index.md create mode 100644 site/src/docs/getting-started/system-requirements/index.md create mode 100644 site/src/includes/components/docs-aside.njk create mode 100644 site/src/includes/components/footer.njk create mode 100644 site/src/includes/components/head.njk create mode 100644 site/src/includes/components/header.njk create mode 100644 site/src/includes/inline.js create mode 100644 site/src/includes/script.js create mode 100644 site/src/layouts/404.njk create mode 100644 site/src/layouts/base.njk create mode 100644 site/src/layouts/demo.njk create mode 100644 site/src/layouts/docs.njk create mode 100644 site/src/layouts/home.njk create mode 100644 site/src/layouts/page.njk create mode 100644 site/src/layouts/redirect.njk create mode 100644 site/src/pages/404.md create mode 100644 site/src/pages/demo.md create mode 100644 site/src/pages/index.md create mode 100644 site/src/pages/privacy.md create mode 100644 site/src/pages/redirects.md create mode 100644 site/src/styles.css create mode 100644 site/tailwind.config.js create mode 100644 site/yarn.lock diff --git a/.gitignore b/.gitignore index 58bd1f5ab7..ab0e1f3085 100644 --- a/.gitignore +++ b/.gitignore @@ -8,9 +8,6 @@ debug debug.test .vscode .idea/ -/frontend/node_modules/ -/frontend/public/ -/frontend/coverage *.prof *.test /rest-client.env.json diff --git a/docs/1.6/_index.md b/docs/1.6/_index.md deleted file mode 100644 index 345c4402b9..0000000000 --- a/docs/1.6/_index.md +++ /dev/null @@ -1,7 +0,0 @@ -# Documentation and FAQ - -- [How to configure remark42 with nginx reverse proxy](nginx-proxy) -- [How to configure remark42 without a subdomain](subdomain) with Nginx or Caddy -- [Telegram notifications](telegram) -- [Setup email authentication and\or email notifications](email) -- [How to add new translation to remark42](translation) diff --git a/docs/1.6/email.md b/docs/1.6/email.md deleted file mode 100644 index 5698ff8439..0000000000 --- a/docs/1.6/email.md +++ /dev/null @@ -1,215 +0,0 @@ ---- -title: Email ---- - -## Overview - -This documentation describes how to enable the email-related capabilities of Remark. - -- email authentication for users: - - enabling this will let the user log in using their emails: - - ![Email authentication](/docs/1.6/images/email_auth.png?raw=true) - -- email notifications for any users except anonymous: - - GitHub or Google or Twitter or any other kind of user gets the ability to get - email notifications about new replies to their comments: - - ![Email notifications subscription](/docs/1.6/images/email_notifications.png?raw=true) - -## Setup email server connection - -To enable any of email functionality you need to set up email -(SMTP) server connection using these variables: - -``` -SMTP_HOST -SMTP_PORT -SMTP_TLS -SMTP_USERNAME -SMTP_PASSWORD -SMTP_TIMEOUT -``` - -### Mailgun - -This is an example of a configuration using [Mailgun](https://www.mailgun.com/) email service: - -```yaml -- SMTP_HOST=smtp.eu.mailgun.org -- SMTP_PORT=465 -- SMTP_TLS=true -- SMTP_USERNAME=postmaster@mg.example.com -- SMTP_PASSWORD=secretpassword -- AUTH_EMAIL_FROM=notify@example.com -- NOTIFY_EMAIL_FROM=notify@example.com -``` - -#### API - -When you don't want to expose your IP (which is impossible with any SMTP provider) -and for situations when connecting to external SMTP server is impossible due to firewall -settings is setting up an SMTP-to-API bridge and sending messages trough it. - -To use any of containers below with in remark42 environment set following two `SMTP` variables: - -```yaml -- SMTP_HOST=mail -- SMTP_PORT=25 -``` - -#### stevenolen/mailgun-smtp-server - -Here is `docker-compose.yml` configuration part spinning up a container for -[stevenolen/mailgun-smtp-server](https://hub.docker.com/r/stevenolen/mailgun-smtp-server): - -```yaml -mailgun: - image: stevenolen/mailgun-smtp-server - container_name: 'mail' - hostname: 'mail' - - logging: - driver: json-file - options: - max-size: '10m' - max-file: '5' - - environment: - - MG_KEY=key-123456789 - - MG_DOMAIN=example.com -``` - -Please note that before -[stevenolen/mailgun-smtp-server#5](https://github.com/stevenolen/mailgun-smtp-server/issues/5) -is fixed, Europe domain names are not supported by this tool. - -### SendGrid - -This is an example of a configuration using [SendGrid](https://sendgrid.com/) email service: - -```yaml -- SMTP_HOST=smtp.sendgrid.net -- SMTP_PORT=465 -- SMTP_TLS=true -- SMTP_USERNAME=apikey -- SMTP_PASSWORD=key-123456789 -- AUTH_EMAIL_FROM=notify@example.com -- NOTIFY_EMAIL_FROM=notify@example.com -``` - -#### API - -When you don't want to expose your IP (which is impossible with any SMTP provider) -and for situations when connecting to external SMTP server is impossible due to firewall -settings is setting up an SMTP-to-API bridge and sending messages trough it. - -To use any of containers below with in remark42 environment set following two `SMTP` variables: - -```yaml -- SMTP_HOST=mail -- SMTP_PORT=25 -``` - -#### fgribreau/smtp-to-sendgrid-gateway - -Here is `docker-compose.yml` configuration part spinning up a container for -[fgribreau/smtp-to-sendgrid-gateway](https://hub.docker.com/r/fgribreau/smtp-to-sendgrid-gateway): - -```yaml -sendgrid: - image: fgribreau/smtp-to-sendgrid-gateway - container_name: 'mail' - hostname: 'mail' - - logging: - driver: json-file - options: - max-size: '10m' - max-file: '5' - - environment: - - SENDGRID_API=key-123456789 -``` - -### Gmail - -Configuration example for Gmail: - -```yaml -- SMTP_HOST=smtp.gmail.com -- SMTP_PORT=465 -- SMTP_TLS=true -- SMTP_USERNAME=example.user@gmail.com -- SMTP_PASSWORD=secretpassword -- AUTH_EMAIL_FROM=example.user@gmail.com -- NOTIFY_EMAIL_FROM=example.user@gmail.com -``` - -### Amazon SES - -Configuration example for [Amazon SES](https://aws.amazon.com/ses/) (us-east-1 region): - -```yaml -- SMTP_HOST=email-smtp.us-east-1.amazonaws.com -- SMTP_PORT=465 -- SMTP_TLS=true -- SMTP_USERNAME=access_key_id -- SMTP_PASSWORD=secret_access_key -- AUTH_EMAIL_FROM=notify@example.com -- NOTIFY_EMAIL_FROM=notify@example.com -``` - -A domain or an email that will be used in `AUTH_EMAIL_FROM` or `NOTIFY_EMAIL_FROM` -must first be [verified](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domain-procedure.html). - -[SMTP Credentials](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-credentials.html) -must first be obtained from -[Amazon SES Console](https://console.aws.amazon.com/ses/home?region=us-east-1#smtp-settings:): - -## Setup email authentication - -Here is the list of variables which affect email authentication: - -``` -AUTH_EMAIL_ENABLE -AUTH_EMAIL_FROM -AUTH_EMAIL_SUBJ -AUTH_EMAIL_CONTENT_TYPE -AUTH_EMAIL_TEMPLATE -``` - -After you set `SMTP_` variables, you can allow email authentication by setting these two variables: - -```yaml -- AUTH_EMAIL_ENABLE=true -- AUTH_EMAIL_FROM=notify@example.com -``` - -Usually, you don't need to change/set anything else. In case if you want to use a different -email template set `AUTH_EMAIL_TEMPLATE`, for instance -`- AUTH_EMAIL_TEMPLATE="Confirmation email, token: {{.Token}}"`. -See [verified-authentication](https://github.com/go-pkgz/auth#verified-authentication) for more details. - -## Setup email notifications - -Here is the list of variables which affect email notifications: - -```yaml -NOTIFY_TYPE -NOTIFY_EMAIL_FROM -NOTIFY_EMAIL_VERIFICATION_SUBJ -# for administrator notifications for new comments on their site -ADMIN_SHARED_EMAIL -NOTIFY_EMAIL_ADMIN -``` - -After you set `SMTP_` variables, you can allow email notifications by setting these two variables: - -```yaml -- NOTIFY_TYPE=email -# - NOTIFY_TYPE=email,telegram # this is in case you want to have both email and telegram notifications enabled -- NOTIFY_EMAIL_FROM=notify@example.com -``` diff --git a/docs/1.6/nginx-proxy.md b/docs/1.6/nginx-proxy.md deleted file mode 100644 index 8c9db9f083..0000000000 --- a/docs/1.6/nginx-proxy.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Nginx ---- - -## How to configure remark42 with nginx reverse proxy - -Example of nginx configuration (reverse proxy) running remark42 service on remark42.example.com - -``` -server { - listen 443; - server_name remark42.example.com; - ssl on; - ssl_certificate /etc/nginx/ssl/remark42.example.com.crt; - ssl_certificate_key /etc/nginx/ssl/remark42.example.com.key; - - gzip on; - gzip_types text/plain application/json text/css application/javascript application/x-javascript text/javascript text/xml application/xml application/rss+xml application/atom+xml application/rdf+xml; - gzip_min_length 1000; - gzip_proxied any; - - - location ~ /\.git { - deny all; - } - - location /index.html { - proxy_redirect off; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_pass http://remark42:8080/web/index.html; - } - - location / { - proxy_redirect off; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_pass http://remark42:8080/; - } - - access_log /var/log/nginx/remark42.log; - -} - -server { - listen 80; - server_name remark42.example.com; - return 301 https://remark42.example.com$request_uri; -} -``` - -note: `proxy_pass` points to internal DNS name `remark42` and expected to run from the same compose. If nginx runs outside of compose the real IP (or docker's bridge IP) should be used diff --git a/docs/1.6/telegram.md b/docs/1.6/telegram.md deleted file mode 100644 index 3dcc85e2e2..0000000000 --- a/docs/1.6/telegram.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Telegram ---- - -## Telegram notifications - -In order to integrate notifications from remark42 with the [telegram](https://telegram.org), you should make [a channel](https://telegram.org/faq_channels) and obtain a token. This token should be used as `NOTIFY_TELEGRAM_TOKEN`. You also need to set `NOTIFY_TYPE=telegram` and set `NOTIFY_TELEGRAM_CHAN` to your channel. - -In order to get token "just talk to [BotFather](https://core.telegram.org/bots#6-botfather)". All you need is to send `/newbot` command, and choose the name for your bot (it must end in `bot`). This is it, you got a token. - -_Example of such a "talk":_ - -``` -Umputun: -/newbot - -BotFather: -Alright, a new bot. How are we going to call it? Please choose a name for your bot. - -Umputun: -example_comments - -BotFather: -Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot. - -Umputun: -example_comments_bot - -BotFather: -Done! Congratulations on your new bot. You will find it at t.me/example_comments_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this. - -Use this token to access the HTTP API: -12345678:xy778Iltzsdr45tg - -For a description of the Bot API, see this page: https://core.telegram.org/bots/api -``` diff --git a/docs/1.6/translation.md b/docs/1.6/translation.md deleted file mode 100644 index 21ee072d12..0000000000 --- a/docs/1.6/translation.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Translation ---- - -## How to add new language translation to Remark42 - -Translation files are stored in [/frontend/app/locales](https://github.com/umputun/remark42/tree/master/frontend/app/locales) -directory with `.json` extension and content like following: - -```json -{ - "anonymousLoginForm.length-limit": "Username must be at least 3 characters long", - "anonymousLoginForm.log-in": "Log in", - "anonymousLoginForm.symbol-limit": "Username must start from the letter and contain only latin letters, numbers, underscores, and spaces", -<...> -} -``` - -### How to add a new translation - -We truly appreciate people spending time contributing their translations to remark42. Please go through the steps -below in order to have your translation start being available to all remark42 users and included in the next release. - -1. create a fork of [umputun/remark42](https://github.com/umputun/remark42) repo, and if you already have one please - pull the latest changes from the upstream master branch. It could be done like that: - ```shell - git remote add upstream https://github.com/umputun/remark42.git - git fetch upstream - git rebase upstream/master - git push - ``` -1. add a new locale with [two-letter code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) - of the language you want to make the translation into to list in - [frontend/tasks/supportedLocales.json](https://github.com/umputun/remark42/blob/master/frontend/tasks/supportedLocales.json) -1. run `npm run translation:generate` in `frontend` folder -1. translate all values in the newly created json file in - [frontend/app/locales/](https://github.com/umputun/remark42/blob/master/frontend/app/locales/) -1. commit all changes above in your fork -1. test your changes in the interface: - - 1. uncomment `locale: "ru"` line in [frontend/index.ejs](https://github.com/umputun/remark42/blob/master/frontend/index.ejs#L133) - and replace `ru` with your translation language code - 1. [run remark42 in Docker](https://github.com/umputun/remark42#development) by issuing following commands - from the root directory of your remark42 fork: - - ```shell - docker-compose -f compose-dev-frontend.yml build - docker-compose -f compose-dev-frontend.yml up - ``` - - 1. open [http://127.0.0.1:8080](http://127.0.0.1:8080), log in, make a comment, make a reply to a comment, - and make sure your translation looks as you expect it to look - 1. make a screenshot from [http://127.0.0.1:8080](http://127.0.0.1:8080) with your translation in place - -1. after all previous steps are done, create a [Pull Request](https://github.com/umputun/remark42/pulls) to umputun/remark42 - repo with your changes, attaching a screenshot or two from your local test instance to it diff --git a/docs/latest/developers-guide/email-templates.md b/docs/developers-guide/email-templates.md similarity index 100% rename from docs/latest/developers-guide/email-templates.md rename to docs/developers-guide/email-templates.md diff --git a/docs/latest/email.md b/docs/email.md similarity index 100% rename from docs/latest/email.md rename to docs/email.md diff --git a/docs/1.6/images/email_auth.png b/docs/images/email_auth.png similarity index 100% rename from docs/1.6/images/email_auth.png rename to docs/images/email_auth.png diff --git a/docs/1.6/images/email_notifications.png b/docs/images/email_notifications.png similarity index 100% rename from docs/1.6/images/email_notifications.png rename to docs/images/email_notifications.png diff --git a/docs/latest/_index.md b/docs/index.md similarity index 100% rename from docs/latest/_index.md rename to docs/index.md diff --git a/docs/latest/kubernetes.md b/docs/kubernetes.md similarity index 100% rename from docs/latest/kubernetes.md rename to docs/kubernetes.md diff --git a/docs/latest/images/email_auth.png b/docs/latest/images/email_auth.png deleted file mode 100644 index 919926101b8cc744d22dcd7d8e83e4f6f924317b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61581 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 diff --git a/docs/latest/migration.md b/docs/latest/migration.md deleted file mode 100644 index cd842824a9..0000000000 --- a/docs/latest/migration.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Site URL migration ---- - -Here is an example on how to move your comments after your posts are moved, from `https://example.org/blog/` to `https://example.org/post/` in that example. - -### Rules file - -First you have to create a `rules` file in remark's `/var` folder. - -[Here is the test](https://github.com/akosourov/remark/blob/4dc123dbe84f4f248864bcdbbd6cc2b3a4dafe11/backend/app/migrator/mapper_test.go#L13-L17) with an example of rules file syntax, format is simply `old_url new_url` like following: - -``` -https://example.org/old-url-1/ https://example.org/new-url-1/ -https://example.org/old-url-2/ https://example.org/new-url-2/ -``` - -### Applying the remap - -After rules file is ready, run the following command: - -```sh -remark42 remap --admin-passwd -f var/rules -``` - -If running in a docker container, the command becomes: -```sh -docker ps # to find the container name -docker exec -it remark42 remap --admin-passwd -f var/rules -``` diff --git a/docs/latest/subdomain.md b/docs/latest/subdomain.md deleted file mode 100644 index 63e1eab438..0000000000 --- a/docs/latest/subdomain.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Subdomain ---- - -## How to configure remark42 without a subdomain - -All README examples show configurations with remark42 on its own subdomain, i.e. `https://remark42.example.com`. However, it is possible and sometimes desirable to run remark42 without a subdomain, but just under some path, i.e. `https://example.com/remark42`. - -- The frontend URL looks like this: `s.src = 'https://example.com/remark42/web/embed.js;` - -- The backend `REMARK_URL` parameter will be `https://example.com/remark42` - -- And you also need to slightly modify the callback URL for the social media login API's: - - Facebook Valid OAuth Redirect URIs: `https://example.com/remark42/auth/facebook/callback` - - Google Authorized redirect URIs: `https://example.com/remark42/auth/google/callback` - - GitHub Authorised callback URL: `https://example.com/remark42/auth/github/callback` - -### docker-compose configuration - -Both Nginx and Caddy configuration below relies on remark42 available on hostname `remark42`, which is achieved by having `container_name: remark42` in docker-compose. - -Example `docker-compose.yaml`: - -```yaml -version: '2' -services: - remark42: - image: umputun/remark42:latest - container_name: remark42 - restart: always - environment: - - REMARK_URL=https://example.com/remark42/ - - SITE= - - SECRET= - - ADMIN_SHARED_ID= - volumes: - - ./data:/srv/var - logging: - options: - max-size: '10m' - max-file: '1' -``` - -### Nginx configuration - -The `nginx.conf` would then look something like: - -``` - location /remark42/ { - rewrite /remark42/(.*) /$1 break; - proxy_pass http://remark42:8080/; // use internal docker name of remark42 container for proxy - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } -``` - -### Caddy configuration - -Example of Caddy configuration (`Caddyfile`) running remark42 service on `example.com/remark42/`: - -```caddy -example.com { - gzip - tls mail@example.com - - root /srv/www - log /logs/access.log - - # remark42 - proxy /remark42/ http://remark42:8080/ { - without /remark42 - transparent - } -} -``` diff --git a/docs/1.6/migration.md b/docs/migration.md similarity index 100% rename from docs/1.6/migration.md rename to docs/migration.md diff --git a/docs/latest/nginx-proxy.md b/docs/nginx-proxy.md similarity index 100% rename from docs/latest/nginx-proxy.md rename to docs/nginx-proxy.md diff --git a/docs/latest/reproxy.md b/docs/reproxy.md similarity index 100% rename from docs/latest/reproxy.md rename to docs/reproxy.md diff --git a/docs/latest/slack.md b/docs/slack.md similarity index 100% rename from docs/latest/slack.md rename to docs/slack.md diff --git a/docs/latest/spa.md b/docs/spa.md similarity index 100% rename from docs/latest/spa.md rename to docs/spa.md diff --git a/docs/1.6/subdomain.md b/docs/subdomain.md similarity index 100% rename from docs/1.6/subdomain.md rename to docs/subdomain.md diff --git a/docs/latest/telegram.md b/docs/telegram.md similarity index 100% rename from docs/latest/telegram.md rename to docs/telegram.md diff --git a/docs/latest/translation.md b/docs/translation.md similarity index 100% rename from docs/latest/translation.md rename to docs/translation.md diff --git a/frontend/.gitignore b/frontend/.gitignore index 55df08903d..fcf8fbbad6 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -1,6 +1,7 @@ node_modules extracted-messages -/public -/*.log +public +*.log .env -tsconfig.tsbuildinfo \ No newline at end of file +tsconfig.tsbuildinfo +coverage diff --git a/site/.dockerignore b/site/.dockerignore new file mode 100644 index 0000000000..9cc858a7a8 --- /dev/null +++ b/site/.dockerignore @@ -0,0 +1,6 @@ +node_modules +.gitignore +.prettierrc +.dockerignore +Dockerfile +public diff --git a/site/.editorconfig b/site/.editorconfig new file mode 100644 index 0000000000..7a5636ffa0 --- /dev/null +++ b/site/.editorconfig @@ -0,0 +1,6 @@ +[*] +insert_final_newline = true + +[*.{md,njk}] +indent_style = tab +trim_trailing_whitespace = false diff --git a/site/.eleventy.js b/site/.eleventy.js new file mode 100644 index 0000000000..6a560d0735 --- /dev/null +++ b/site/.eleventy.js @@ -0,0 +1,102 @@ +const { format } = require('date-fns') +const htmlmin = require('html-minifier') +const navigationPlugin = require('@11ty/eleventy-navigation') +const syntaxHighlightPlugin = require('@11ty/eleventy-plugin-syntaxhighlight') + +function noteContainer() { + const { utils } = require('markdown-it')() + const elementRegexp = /^note\s+(.*)$/ + + return { + validate(params) { + return params.trim().match(elementRegexp) + }, + + render(tokens, idx) { + const { info, nesting } = tokens[idx] + const matches = info.trim().match(elementRegexp) + + if (nesting === 1) { + const icon = utils.escapeHtml(matches[1]) + + return `` + }, + } +} + +function getMarkdownLib() { + const markdownIt = require('markdown-it') + const markdownItAnchor = require('markdown-it-anchor') + const markdownItContainer = require('markdown-it-container') + + return markdownIt({ + html: true, + breaks: true, + linkify: true, + }) + .use(markdownItAnchor, { + permalink: true, + permalinkClass: '', + permalinkSymbol: '', + }) + .use(markdownItContainer, 'note', noteContainer()) +} + +module.exports = function (eleventyConfig) { + // TODO: create version with commit sha and current version of Remark42 + eleventyConfig.addShortcode('version', () => `${Date.now()}`) + eleventyConfig.setUseGitIgnore(false) + eleventyConfig.addWatchTarget('./.tmp/style.css') + eleventyConfig.addPassthroughCopy({ './.tmp/style.css': './style.css' }) + eleventyConfig.addPassthroughCopy({ './public': './' }) + + eleventyConfig.addCollection('pages', (collection) => + collection.getFilteredByGlob('pages/*.md') + ) + + eleventyConfig.addFilter('humanizeDate', (date) => + format(new Date(date), 'LLL dd, yyyy') + ) + + eleventyConfig.addFilter('robotizeDate', (date) => + format(new Date(date), 'yyyy-MM-dd') + ) + + eleventyConfig.addFilter( + 'debug', + (content) => `
${JSON.stringify(content, null, 2)}
` + ) + + // Minify HTML output + eleventyConfig.addTransform('htmlmin', function (content, outputPath) { + if (!outputPath.endsWith('.html')) { + return content + } + + return htmlmin.minify(content, { + removeComments: true, + collapseWhitespace: true, + }) + }) + + eleventyConfig.setLibrary('md', getMarkdownLib()) + eleventyConfig.addPlugin(syntaxHighlightPlugin) + eleventyConfig.addPlugin(navigationPlugin) + + eleventyConfig.addCollection('docs', (collection) => + collection.getFilteredByGlob('src/docs/**/*.md') + ) + + return { + dir: { + input: 'src', + output: 'build', + data: 'data', + layouts: 'layouts', + includes: 'includes', + }, + } +} diff --git a/site/.eleventyignore b/site/.eleventyignore new file mode 100644 index 0000000000..be2ef528ee --- /dev/null +++ b/site/.eleventyignore @@ -0,0 +1,3 @@ +build +node_modules +yarn-*.log diff --git a/site/.gitignore b/site/.gitignore new file mode 100644 index 0000000000..4356424a01 --- /dev/null +++ b/site/.gitignore @@ -0,0 +1,4 @@ +node_modules +yarn-*.log +.tmp +build diff --git a/site/.prettierrc b/site/.prettierrc new file mode 100644 index 0000000000..89f3fb910f --- /dev/null +++ b/site/.prettierrc @@ -0,0 +1,6 @@ +{ + "semi": false, + "useTabs": true, + "singleQuote": true, + "arrowParens": "always" +} diff --git a/site/Dockerfile b/site/Dockerfile new file mode 100644 index 0000000000..b51790a5ef --- /dev/null +++ b/site/Dockerfile @@ -0,0 +1,8 @@ +FROM node:16-alpine + +WORKDIR /site +COPY ./ /site +RUN yarn --frozen-lockfile + +CMD yarn build + diff --git a/site/README.md b/site/README.md new file mode 100644 index 0000000000..8bcb11cfdf --- /dev/null +++ b/site/README.md @@ -0,0 +1,44 @@ +# Reamark42 Website + +## Work on Your Local Environment + +Requirements: + +- [Node.js v14](https://nodejs.org/en/) or higher - Install from package or with Homebrew +- Yarn 1.22 or higher - once you have Node.js run `npm i -g yarn` + +### Development + +Install dependencies and start development server: + +``` +$ yarn +$ yarn dev +``` + +### Build + +``` +$ yarn build +``` + +## Work with Docker Compose + +### Build + +Install dependencies and run development server inside Docker: + +``` +$ docker-compose build +$ docker-compose up server +``` + +Then serve files from `./build` with your favorite server + +### Development + +``` +$ docker-compose up --build server +``` + +Then head to http://localhost:8080 diff --git a/site/docker-compose.yml b/site/docker-compose.yml new file mode 100644 index 0000000000..5b2428f1e1 --- /dev/null +++ b/site/docker-compose.yml @@ -0,0 +1,27 @@ +version: '2' +services: + build: + image: remark42-site + build: . + + volumes: + - ./build:/site/build + + server: + image: remark42-site + build: . + command: yarn dev + + logging: + driver: json-file + options: + max-size: '10m' + max-file: '5' + + ports: + - '3001:3001' + - '8080:8080' + + volumes: + - ./src:/site/src + - ./build:/site/build diff --git a/site/package.json b/site/package.json new file mode 100644 index 0000000000..0883f16244 --- /dev/null +++ b/site/package.json @@ -0,0 +1,43 @@ +{ + "name": "remark42-site", + "version": "0.0.0", + "repository": "https://github.com/umputun/remark42/site", + "homepage": "https://remark42.com", + "author": "Pavel Mineev ", + "license": "MIT", + "private": true, + "engines": { + "node": ">=14.15", + "yarn": ">=1.22" + }, + "scripts": { + "dev": "npm-run-all clean -p dev:*", + "dev:11ty": "eleventy --serve --watch --quiet", + "dev:css": "postcss ./src/styles.css -o .tmp/style.css -w", + "build": "cross-env NODE_ENV=production run-s clean build:* --print-label", + "build:css": "postcss ./src/styles.css -o .tmp/style.css", + "build:11ty": "eleventy", + "clean": "rm -rf .tmp/* build/*" + }, + "devDependencies": { + "@11ty/eleventy": "^0.12.1", + "@11ty/eleventy-navigation": "^0.2.0", + "@11ty/eleventy-plugin-syntaxhighlight": "^3.1.1", + "@tailwindcss/typography": "^0.4.1", + "autoprefixer": "^10.2.6", + "cross-env": "^7.0.3", + "date-fns": "^2.22.1", + "eleventy-plugin-toc": "^1.1.0", + "eslint": "^7.28.0", + "html-minifier": "^4.0.0", + "markdown-it": "^12.0.6", + "markdown-it-anchor": "^7.1.0", + "markdown-it-container": "^3.0.0", + "node-fetch": "^2.6.1", + "npm-run-all": "^4.1.5", + "postcss": "^8.3.2", + "postcss-cli": "^8.3.1", + "prettier": "^2.3.1", + "tailwindcss": "^2.1.4" + } +} diff --git a/site/postcss.config.js b/site/postcss.config.js new file mode 100644 index 0000000000..1b69d43b0e --- /dev/null +++ b/site/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/site/public/robots.txt b/site/public/robots.txt new file mode 100644 index 0000000000..da27e09e10 --- /dev/null +++ b/site/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: /404/index.html diff --git a/site/src/data/github.js b/site/src/data/github.js new file mode 100644 index 0000000000..e0496c40c8 --- /dev/null +++ b/site/src/data/github.js @@ -0,0 +1,28 @@ +const fetch = require('node-fetch') + +const DEFAULT_DATA = { latestVersion: '' } +let currentData = null + +module.exports = async function getLatestReleaseVersion() { + if (currentData) { + return currentData + } + try { + const res = await fetch( + 'https://api.github.com/repos/umputun/remark42/releases' + ) + + if (!res.ok) { + throw new Error(`[ERROR] Status: ${res.status}: ${res.statusText}`) + } + + const data = await res.json() + + currentData = { latestVersion: data[0].tag_name || '' } + + return currentData + } catch (e) { + console.error(e.message) + return DEFAULT_DATA + } +} diff --git a/site/src/data/layout.js b/site/src/data/layout.js new file mode 100644 index 0000000000..942d273767 --- /dev/null +++ b/site/src/data/layout.js @@ -0,0 +1 @@ +module.exports = 'docs.njk' diff --git a/site/src/data/site.json b/site/src/data/site.json new file mode 100644 index 0000000000..d76cd0edae --- /dev/null +++ b/site/src/data/site.json @@ -0,0 +1,9 @@ +{ + "name": "Remark42", + "subtitle": "Privacy focused lightweight commenting system", + "description": "Remark42 is a self-hosted, lightweight, and simple (yet functional) comment engine, which doesn't spy on users. It can be embedded into blogs, articles or any other place where readers add comments.", + "url": "https://remark42.com", + "githubUrl": "https://github.com/umputun/remark42", + "githubBranch": "master", + "remark42Host": "https://demo.remark42.com" +} diff --git a/site/src/docs/backup/automatic/index.md b/site/src/docs/backup/automatic/index.md new file mode 100644 index 0000000000..392b4febf3 --- /dev/null +++ b/site/src/docs/backup/automatic/index.md @@ -0,0 +1,6 @@ +--- +title: Automatic Backup +menuTitle: Automatic +parent: Backup +order: 400 +--- diff --git a/site/src/docs/backup/index.md b/site/src/docs/backup/index.md new file mode 100644 index 0000000000..4cf637334e --- /dev/null +++ b/site/src/docs/backup/index.md @@ -0,0 +1,6 @@ +--- +layout: redirect.njk +destination: /docs/backup/automatic/ +title: Backup +order: 300 +--- diff --git a/site/src/docs/backup/manual/index.md b/site/src/docs/backup/manual/index.md new file mode 100644 index 0000000000..3b681a5ca7 --- /dev/null +++ b/site/src/docs/backup/manual/index.md @@ -0,0 +1,6 @@ +--- +title: Manual Migration +menuTitle: Manual +parent: Backup +order: 300 +--- diff --git a/site/src/docs/backup/migration/index.md b/site/src/docs/backup/migration/index.md new file mode 100644 index 0000000000..c1725e3da0 --- /dev/null +++ b/site/src/docs/backup/migration/index.md @@ -0,0 +1,5 @@ +--- +title: Migration +parent: Backup +order: 300 +--- diff --git a/site/src/docs/backup/restore/index.md b/site/src/docs/backup/restore/index.md new file mode 100644 index 0000000000..de3a7b1af2 --- /dev/null +++ b/site/src/docs/backup/restore/index.md @@ -0,0 +1,6 @@ +--- +title: Restore Backup +menuTitle: Restore +parent: Backup +order: 300 +--- diff --git a/site/src/docs/configuration/authorization/index.md b/site/src/docs/configuration/authorization/index.md new file mode 100644 index 0000000000..f320e5d17f --- /dev/null +++ b/site/src/docs/configuration/authorization/index.md @@ -0,0 +1,5 @@ +--- +title: Authorization +parent: Configuration +order: 200 +--- diff --git a/site/src/docs/configuration/email/index.md b/site/src/docs/configuration/email/index.md new file mode 100644 index 0000000000..7f95680b84 --- /dev/null +++ b/site/src/docs/configuration/email/index.md @@ -0,0 +1,6 @@ +--- +title: Email Settings +menuTitle: Email +parent: Configuration +order: 300 +--- diff --git a/site/src/docs/configuration/frontend/index.md b/site/src/docs/configuration/frontend/index.md new file mode 100644 index 0000000000..65f0a0c150 --- /dev/null +++ b/site/src/docs/configuration/frontend/index.md @@ -0,0 +1,16 @@ +--- +title: Frontend Configuration +menuTitle: Frontend +parent: Configuration +order: 100 +--- + +## Comments + +## Widgets + +### Counter widget + +### Last comments widget + +## API for Single-Page Applications diff --git a/site/src/docs/configuration/index.md b/site/src/docs/configuration/index.md new file mode 100644 index 0000000000..60271840c6 --- /dev/null +++ b/site/src/docs/configuration/index.md @@ -0,0 +1,6 @@ +--- +layout: redirect.njk +destination: /docs/configuration/frondend/ +title: Configuration +order: 200 +--- diff --git a/site/src/docs/configuration/kubernetes/index.md b/site/src/docs/configuration/kubernetes/index.md new file mode 100644 index 0000000000..3a288b6fd2 --- /dev/null +++ b/site/src/docs/configuration/kubernetes/index.md @@ -0,0 +1,6 @@ +--- +title: Deploy with Kubernetes +menuTitle: Kubernetes +parent: Configuration +order: 700 +--- diff --git a/site/src/docs/configuration/nginx/index.md b/site/src/docs/configuration/nginx/index.md new file mode 100644 index 0000000000..218e6e7726 --- /dev/null +++ b/site/src/docs/configuration/nginx/index.md @@ -0,0 +1,6 @@ +--- +title: Configure with Nginx +menuTitle: Nginx +parent: Configuration +order: 500 +--- diff --git a/site/src/docs/configuration/notifications/index.md b/site/src/docs/configuration/notifications/index.md new file mode 100644 index 0000000000..4c43a3b954 --- /dev/null +++ b/site/src/docs/configuration/notifications/index.md @@ -0,0 +1,11 @@ +--- +title: Notification +parent: Configuration +order: 400 +--- + +## Email + +## Slack + +## Telegram diff --git a/site/src/docs/configuration/subdomain/index.md b/site/src/docs/configuration/subdomain/index.md new file mode 100644 index 0000000000..f624fd9e61 --- /dev/null +++ b/site/src/docs/configuration/subdomain/index.md @@ -0,0 +1,6 @@ +--- +title: Configure Instance on Subdomain +menuTitle: Subdomain +parent: Configuration +order: 600 +--- diff --git a/site/src/docs/contributing/api/index.md b/site/src/docs/contributing/api/index.md new file mode 100644 index 0000000000..a4b122bdfe --- /dev/null +++ b/site/src/docs/contributing/api/index.md @@ -0,0 +1,5 @@ +--- +title: API +parent: Contributing +order: 400 +--- diff --git a/site/src/docs/contributing/code-of-conduct/index.md b/site/src/docs/contributing/code-of-conduct/index.md new file mode 100644 index 0000000000..c022290ed1 --- /dev/null +++ b/site/src/docs/contributing/code-of-conduct/index.md @@ -0,0 +1,5 @@ +--- +title: Code of Conduct +parent: Contributing +order: 100 +--- diff --git a/site/src/docs/contributing/development-environment/index.md b/site/src/docs/contributing/development-environment/index.md new file mode 100644 index 0000000000..ae0ae40e3f --- /dev/null +++ b/site/src/docs/contributing/development-environment/index.md @@ -0,0 +1,6 @@ +--- +title: Development Environmetn +menuTitle: Environment +parent: Contributing +order: 300 +--- diff --git a/site/src/docs/contributing/guidlines/backend/index.md b/site/src/docs/contributing/guidlines/backend/index.md new file mode 100644 index 0000000000..78102c9189 --- /dev/null +++ b/site/src/docs/contributing/guidlines/backend/index.md @@ -0,0 +1,7 @@ +--- +title: Backend Development Guidlines +menuTitle: Backend +key: Backend Guidelines +parent: Guidelines +order: 100 +--- diff --git a/site/src/docs/contributing/guidlines/frontend/index.md b/site/src/docs/contributing/guidlines/frontend/index.md new file mode 100644 index 0000000000..b4c882c0e3 --- /dev/null +++ b/site/src/docs/contributing/guidlines/frontend/index.md @@ -0,0 +1,7 @@ +--- +title: Frontend Development Guidlines +menuTitle: Frontend +key: Frontend Guidelines +parent: Guidelines +order: 100 +--- diff --git a/site/src/docs/contributing/guidlines/index.md b/site/src/docs/contributing/guidlines/index.md new file mode 100644 index 0000000000..6d40f21b66 --- /dev/null +++ b/site/src/docs/contributing/guidlines/index.md @@ -0,0 +1,5 @@ +--- +title: Guidelines +parent: Contributing +order: 200 +--- diff --git a/site/src/docs/contributing/index.md b/site/src/docs/contributing/index.md new file mode 100644 index 0000000000..2b4fea61fe --- /dev/null +++ b/site/src/docs/contributing/index.md @@ -0,0 +1,6 @@ +--- +layout: redirect.njk +destination: /docs/contributing/code-of-conduct/ +title: Contributing +order: 500 +--- diff --git a/site/src/docs/contributing/technical-details/index.md b/site/src/docs/contributing/technical-details/index.md new file mode 100644 index 0000000000..d37dd7de99 --- /dev/null +++ b/site/src/docs/contributing/technical-details/index.md @@ -0,0 +1,29 @@ +--- +title: Technical Details +order: 600 +parent: Contributing +--- + +Remark42 uses boltdb (embedded key/value database) files under `STORE_BOLT_PATH` for storing data. Each site stored in a separate boltbd file. + +In order to migrate/move Remark42 to another host boltbd files as well as avatars directory `AVATAR_FS_PATH` should be transferred. Optionally, boltdb can be used to store avatars as well. + +Automatic backup process runs every 24 hours and exports all content in json-like format to `backup-remark-YYYYMMDD.gz`. + +Authentication implemented with `go-pkgz/auth` stored in a cookie. It uses HttpOnly, secure cookies. + +All heavy REST calls cached internally in LRU cache limited by `CACHE_MAX_ITEMS` and `CACHE_MAX_SIZE` with `go-pkgz/rest` + +User's activity throttled globally (up to 1000 simultaneous requests) and limited locally (per user, usually up to 10 req/sec). Request timeout set to 60 seconds. + +Admin authentication (`--admin-password` set) allows to hit Remark42 API without social login and with admin privileges. Adds basic-auth for username: admin, password: `${ADMIN_PASSWD}`. + +User can vote for the comment multiple times but only to change the vote. Double-voting not allowed. + +User can edit comments in 5 mins (configurable) window after creation. +User ID hashed and prefixed by oauth provider name to avoid collisions and potential abuse. + +All avatars resized and cached locally to prevent rate limiters from oauth providers, part of `go-pkgz/auth` functionality. + +Images can be proxied (`IMAGE_PROXY_HTTP2HTTPS=true`) to prevent mixed `http/https`. All images can be proxied and saved (`IMAGE_PROXY_CACHE_EXTERNAL=true`) instead of serving from original location. Beware, images which are posted with this parameter enabled will be served from proxy even after it will be disabled. +Docker build uses publicly available base images. diff --git a/site/src/docs/contributing/translations/index.md b/site/src/docs/contributing/translations/index.md new file mode 100644 index 0000000000..fe996c5c64 --- /dev/null +++ b/site/src/docs/contributing/translations/index.md @@ -0,0 +1,6 @@ +--- +title: Interface Translations +menuTitle: Translations +parent: Contributing +order: 300 +--- diff --git a/site/src/docs/docs.11tydata.js b/site/src/docs/docs.11tydata.js new file mode 100644 index 0000000000..3a56809327 --- /dev/null +++ b/site/src/docs/docs.11tydata.js @@ -0,0 +1,10 @@ +module.exports = { + eleventyComputed: { + eleventyNavigation: { + key: (data) => data.key || data.menuTitle || data.title, + title: (data) => data.menuTitle || data.title, + parent: (data) => data.parent, + order: (data) => data.order, + }, + }, +} diff --git a/site/src/docs/getting-started/index.md b/site/src/docs/getting-started/index.md new file mode 100644 index 0000000000..94ea825bc2 --- /dev/null +++ b/site/src/docs/getting-started/index.md @@ -0,0 +1,6 @@ +--- +title: Getting Started +layout: redirect.njk +destination: /docs/getting-started/installation/ +order: 100 +--- diff --git a/site/src/docs/getting-started/installation/index.md b/site/src/docs/getting-started/installation/index.md new file mode 100644 index 0000000000..0be2e4c7cb --- /dev/null +++ b/site/src/docs/getting-started/installation/index.md @@ -0,0 +1,72 @@ +--- +title: Installation +parent: Getting Started +order: 100 +--- + +## Setup Remark42 Instance on Your Server + +### Installation in Docker + +_This is the recommended way to run remark42_ + +- copy provided `docker-compose.yml` and customize for your needs +- make sure you **don't keep** `ADMIN_PASSWD=something...` for any non-development deployments +- pull prepared images from the DockerHub and start - `docker-compose pull && docker-compose up -d` +- alternatively compile from the sources - `docker-compose build && docker-compose up -d` + +### Installation with Binary + +- download archive for [stable release](https://github.com/umputun/remark42/releases) or [development version](https://remark42.com/downloads) +- unpack with `gunzip` (Linux, macOS) or with `zip` (Windows) +- run as `remark42.{os}-{arch} server {parameters...}`, i.e. `remark42.linux-amd64 server --secret=12345 --url=http://127.0.0.1:8080` +- alternatively compile from the sources - `make OS=[linux|darwin|windows] ARCH=[amd64,386,arm64,arm]` + +## Setup on Your Website + +Add config for Remark on a page of your site: + +```html + +``` + +- `REMARK_URL` – the URL where is Remark42 instance is served. +- `YOUR_SITE_ID` - the ID that you passed to Remark42 instance on start. + +For example: + +```html + +``` + +After that place the code snippet right after config. + + +```html + +``` + + +::: note 💡 +**Note that:** You can place the config with the snippet in any place of the HTML code of your site. If it closer to start of the HTML (for example in ``) it will start loading sooner and show comments faster. +::: + +Put the next code snippet on a page of your site where you want to have comments: + +```html +
+``` + +After that widget will be rendered inside this node. + +If you want to set this up on a Single Page App, see [appropriate doc page](https://github.com/umputun/remark42/blob/master/docs/latest/spa.md). diff --git a/site/src/docs/getting-started/system-requirements/index.md b/site/src/docs/getting-started/system-requirements/index.md new file mode 100644 index 0000000000..d0e70bf35a --- /dev/null +++ b/site/src/docs/getting-started/system-requirements/index.md @@ -0,0 +1,5 @@ +--- +title: System Requirements +parent: Getting Started +order: 200 +--- diff --git a/site/src/includes/components/docs-aside.njk b/site/src/includes/components/docs-aside.njk new file mode 100644 index 0000000000..6ae6e9432b --- /dev/null +++ b/site/src/includes/components/docs-aside.njk @@ -0,0 +1,40 @@ +{% macro renderList(entry, level) %} + {% if level === 1 %} +
{{ entry.title }}
+ {% else %} +
  • + {{ entry.title }} + {% endif %} + {% if entry.children and level < 2 %} +
      + {% for child in entry.children %} + {{renderList(child, level + 1)}} + {% endfor %} +
    + {% endif %} + {% if entry.children and level >= 2 and page.url.startsWith(entry.url) %} +
      + {% for child in entry.children %} + {{renderList(child, level + 1)}} + {% endfor %} +
    + {% endif %} +
  • +{% endmacro %} + + diff --git a/site/src/includes/components/footer.njk b/site/src/includes/components/footer.njk new file mode 100644 index 0000000000..f455e3fca0 --- /dev/null +++ b/site/src/includes/components/footer.njk @@ -0,0 +1 @@ +
    diff --git a/site/src/includes/components/head.njk b/site/src/includes/components/head.njk new file mode 100644 index 0000000000..c916038d58 --- /dev/null +++ b/site/src/includes/components/head.njk @@ -0,0 +1,16 @@ + + + + {% if title %} + {{ title }} | {{ site.name }} + {% else %} + {{ renderData.title or site.name }} + {% endif %} + + + + {% set js %} + {% include "script.js" %} + {% endset %} + + diff --git a/site/src/includes/components/header.njk b/site/src/includes/components/header.njk new file mode 100644 index 0000000000..0fc4a79ae3 --- /dev/null +++ b/site/src/includes/components/header.njk @@ -0,0 +1,24 @@ +
    + +
    diff --git a/site/src/includes/inline.js b/site/src/includes/inline.js new file mode 100644 index 0000000000..b4009db8af --- /dev/null +++ b/site/src/includes/inline.js @@ -0,0 +1,5 @@ +const mq = window.matchMedia('(prefers-color-scheme: dark)') + +if (mq.matches) { + document.documentElement.classList.add('dark') +} diff --git a/site/src/includes/script.js b/site/src/includes/script.js new file mode 100644 index 0000000000..0251502657 --- /dev/null +++ b/site/src/includes/script.js @@ -0,0 +1,11 @@ +function toggleTheme() { + const root = document.documentElement + + root.classList.toggle('dark') + + if (window.REMARK42) { + const isDark = root.classList.contains('dark') + + window.REMARK42.changeTheme(isDark ? 'dark' : 'light') + } +} diff --git a/site/src/layouts/404.njk b/site/src/layouts/404.njk new file mode 100644 index 0000000000..0caa84d49c --- /dev/null +++ b/site/src/layouts/404.njk @@ -0,0 +1,8 @@ +--- +layout: base.njk +--- + +

    +
    404
    +
    Page Not Found
    +

    diff --git a/site/src/layouts/base.njk b/site/src/layouts/base.njk new file mode 100644 index 0000000000..b4277996b9 --- /dev/null +++ b/site/src/layouts/base.njk @@ -0,0 +1,11 @@ + + + {% include "components/head.njk" %} + + {% include "components/header.njk" %} +
    + {{ layoutContent | safe }} +
    + {% include "components/footer.njk" %} + + diff --git a/site/src/layouts/demo.njk b/site/src/layouts/demo.njk new file mode 100644 index 0000000000..6c3b6177eb --- /dev/null +++ b/site/src/layouts/demo.njk @@ -0,0 +1,19 @@ +--- +layout: page.njk +--- + +{{ content | safe }} + +
    + + + diff --git a/site/src/layouts/docs.njk b/site/src/layouts/docs.njk new file mode 100644 index 0000000000..919d6c9671 --- /dev/null +++ b/site/src/layouts/docs.njk @@ -0,0 +1,32 @@ +--- +layout: base.njk +--- + +{% include "components/docs-aside.njk" %} +
    +
    + {# TODO: implement table of content + + #} +
    +

    {{ title }}

    +
    {{ layoutContent | safe }}
    +
    +
    + + Updated + + Edit +
    +
    + {# TODO: implement navigation to next page of the docs + #} +
    diff --git a/site/src/layouts/home.njk b/site/src/layouts/home.njk new file mode 100644 index 0000000000..4de65a553e --- /dev/null +++ b/site/src/layouts/home.njk @@ -0,0 +1,7 @@ +--- +layout: base.njk +--- + +
    + {{ content |safe }} +
    diff --git a/site/src/layouts/page.njk b/site/src/layouts/page.njk new file mode 100644 index 0000000000..42ccd04973 --- /dev/null +++ b/site/src/layouts/page.njk @@ -0,0 +1,11 @@ +--- +layout: base.njk +--- + +
    +
    +

    {{ title }}

    +

    {{ description }}

    +
    + {{ content | safe }} +
    diff --git a/site/src/layouts/redirect.njk b/site/src/layouts/redirect.njk new file mode 100644 index 0000000000..ed0695575f --- /dev/null +++ b/site/src/layouts/redirect.njk @@ -0,0 +1,13 @@ +{% if not destination %} + {% set destination = redirect.destination %} +{% endif %} + + + + + + + + you should be redirecting to {{ destination }} + + diff --git a/site/src/pages/404.md b/site/src/pages/404.md new file mode 100644 index 0000000000..63de3ff626 --- /dev/null +++ b/site/src/pages/404.md @@ -0,0 +1,5 @@ +--- +layout: 404.njk +permalink: 404/index.html +title: Page Not Found +--- diff --git a/site/src/pages/demo.md b/site/src/pages/demo.md new file mode 100644 index 0000000000..c4f372764e --- /dev/null +++ b/site/src/pages/demo.md @@ -0,0 +1,6 @@ +--- +layout: demo.njk +permalink: demo/index.html +title: Demo +description: This is a page with working Remark42. Feel free to sign in and try its features. +--- diff --git a/site/src/pages/index.md b/site/src/pages/index.md new file mode 100644 index 0000000000..fc1a59f5c1 --- /dev/null +++ b/site/src/pages/index.md @@ -0,0 +1,34 @@ +--- +layout: home.njk +permalink: index.html +title: Remark42 – Privacy focused lightweight commenting engine +--- + +

    Privacy focused lightweight commenting engine

    + +Remark42 gives you opportunity to have self-hosted, lightweight, and simple (yet functional) comment engine, which doesn't spy on users. It can be embedded into blogs, articles or any other place where readers add comments. + +- Social login via Google, Twitter, Facebook, Microsoft, GitHub and Yandex +- Login via email +- Optional anonymous access +- Multi-level nested comments with both tree and plain presentations +- Import from Disqus and WordPress +- Markdown support with friendly formatter toolbar +- Moderator can remove comments and block users +- Voting, pinning and verification system +- Sortable comments +- Images upload with drag-and-drop +- Extractor for recent comments, cross-post +- RSS for all comments and each post +- Telegram, Slack and email notifications for Admins (get notified for each new comment) +- Email notifications for users (get notified when someone responds to your comment) +- Export data to json with automatic backups +- No external databases, everything embedded in a single data file +- Fully dockerized and can be deployed in a single command +- Self-contained executable can be deployed directly to Linux, Windows and MacOS +- Clean, lightweight and customizable UI with white and dark themes +- Multi-site mode from a single instance +- Integration with automatic SSL +- [Privacy focused](/privacy/) + +
    — The Remark42 Team
    diff --git a/site/src/pages/privacy.md b/site/src/pages/privacy.md new file mode 100644 index 0000000000..e4e223e69b --- /dev/null +++ b/site/src/pages/privacy.md @@ -0,0 +1,4 @@ +--- +layout: page.njk +permalink: privacy/index.html +--- diff --git a/site/src/pages/redirects.md b/site/src/pages/redirects.md new file mode 100644 index 0000000000..780359a40c --- /dev/null +++ b/site/src/pages/redirects.md @@ -0,0 +1,20 @@ +--- +# This file does hijinx with the "pagingation" system to generate many small pages from one set of data... +# and uses that do to redirects from some URLs to others. +# We use this to try to keep old links working. +# +# There's limited power to this approach (it only works for specific pages listed; it can't glob), +# but those are limitations inherent to an approach that works via static site gen, rather than via server configuration. +# The related upside of an approach that works via static site gen is the portability. +pagination: + data: redirects + size: 1 + alias: redirect +# Add your redirection tuples to this list! +redirects: + - { 'from': '/docs/', 'destination': '/docs/getting-started/installation/' } +# The "permalink" attribute determines where the output page will be located. +permalink: '{{ redirect.from }}' +# The "redirect" layout just has a small html header with the meta tags that do redirection. +layout: redirect +--- diff --git a/site/src/styles.css b/site/src/styles.css new file mode 100644 index 0000000000..18c60282ec --- /dev/null +++ b/site/src/styles.css @@ -0,0 +1,188 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +.burger-icon { + @apply relative inline-block w-4 h-4 mr-3; +} + +.burger-icon div { + @apply absolute bg-gray-400 rounded transition-all transform w-full h-[2px]; +} + +.burger-icon div:nth-child(1) { + @apply left-0 top-0; +} + +.burger-icon div:nth-child(2) { + @apply left-0 top-[7px]; +} + +.burger-icon div:nth-child(3) { + @apply left-0 bottom-0; +} + +.menu-state:checked ~ nav { + @apply block; +} + +.menu-state:checked ~ label .burger-icon div:nth-child(1) { + @apply -rotate-45 scale-x-[0.7] top-[7px] left-[-3px]; +} +.menu-state:checked ~ label .burger-icon div:nth-child(2) { + @apply scale-0 duration-75; +} +.menu-state:checked ~ label .burger-icon div:nth-child(3) { + @apply rotate-45 scale-x-[0.7] top-[7px] left-[4px]; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata, +.token.punctuation { + @apply text-gray-700 dark:text-gray-300; +} + +.token.punctuation { + @apply text-brand-800 dark:text-brand-200; +} + +.token.delimiter.important, +.token.selector .parent, +.token.tag, +.token.tag .token.punctuation { + @apply text-brand-600 dark:text-brand-300 font-semibold; +} + +.token.attr-name, +.token.boolean, +.token.boolean.important, +.token.number, +.token.constant, +.token.selector .token.attribute { + @apply font-normal text-yellow-600 dark:text-yellow-500; +} + +.token.class-name, +.token.key, +.token.parameter, +.token.property, +.token.property-access, +.token.variable { + @apply text-yellow-600 dark:text-yellow-400; +} + +.token.attr-value, +.token.inserted, +.token.color, +.token.selector .token.value, +.token.string, +.token.string .token.url-link { + @apply text-brand-800 dark:text-brand-300 font-normal; +} + +.token.builtin, +.token.keyword-array, +.token.package, +.token.regex { + color: #af00af; +} + +.token.function, +.token.selector .token.class, +.token.selector .token.id { + color: #7c00aa; +} + +.token.atrule .token.rule, +.token.combinator, +.token.keyword, +.token.operator, +.token.pseudo-class, +.token.pseudo-element, +.token.selector, +.token.unit { + @apply text-pink-700 dark:text-pink-300; +} + +.token.deleted, +.token.important { + color: #c22f2e; +} + +.token.keyword-this, +.token.this { + color: #005a8e; +} + +.token.important, +.token.keyword-this, +.token.this, +.token.bold { + font-weight: bold; +} + +.token.delimiter.important { + font-weight: inherit; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.language-markdown .token.title, +.language-markdown .token.title .token.punctuation { + color: #005a8e; + font-weight: bold; +} + +.language-markdown .token.blockquote.punctuation { + color: #af00af; +} + +.language-markdown .token.code { + color: #006d6d; +} + +.language-markdown .token.hr.punctuation { + color: #005a8e; +} + +.language-markdown .token.url > .token.content { + color: #116b00; +} + +.language-markdown .token.url-link { + color: #755f00; +} + +.language-markdown .token.list.punctuation { + color: #af00af; +} + +.language-markdown .token.table-header { + color: #111b27; +} + +.language-json .token.operator { + color: #111b27; +} + +.language-scss .token.variable { + color: #006d6d; +} + +/* overrides color-values for the Show Invisibles plugin + * https://prismjs.com/plugins/show-invisibles/ + */ +.token.tab:not(:empty):before, +.token.cr:before, +.token.lf:before, +.token.space:before { + color: #3c526d; +} diff --git a/site/tailwind.config.js b/site/tailwind.config.js new file mode 100644 index 0000000000..49e2328468 --- /dev/null +++ b/site/tailwind.config.js @@ -0,0 +1,111 @@ +const colors = require('tailwindcss/colors') +const { spacing } = require('tailwindcss/defaultTheme') + +module.exports = { + purge: ['.eleventy.js', 'src/**/*.{njk,md,html,js}'], + mode: 'jit', + darkMode: 'class', + theme: { + extend: { + colors: { + trueGray: colors.trueGray, + brand: { + 50: '#edfdfb', + 100: '#e0fbf8', + 200: '#aef4ee', + 300: '#4be7dc', + 400: '#1ccac1', + 500: '#16a29f', + 600: '#157f7f', + 700: '#126263', + 800: '#125254', + 900: '#134b4e', + }, + }, + container: { + center: true, + padding: spacing[4], + screens: { + sm: '100%', + md: '860px', + lg: '940px', + xl: false, + }, + }, + typography: (theme) => ({ + DEFAULT: { + css: { + 'h1, h2': { color: theme('colors.brand.900') }, + 'h3,h4,h5,h6': { color: theme('colors.gray.700') }, + pre: { + color: theme('colors.gray.500'), + backgroundColor: theme('colors.gray.100'), + }, + }, + }, + dark: { + css: [ + { + color: theme('colors.gray.300'), + a: { + color: theme('colors.gray.200'), + }, + strong: { + color: theme('colors.gray.200'), + }, + 'ol > li::before': { + color: theme('colors.gray.400'), + }, + 'ul > li::before': { + backgroundColor: theme('colors.gray.600'), + }, + hr: { + borderColor: theme('colors.gray.300'), + }, + blockquote: { + color: theme('colors.gray.300'), + borderLeftColor: theme('colors.gray.600'), + }, + h1: { + color: theme('colors.gray.200'), + }, + h2: { + color: theme('colors.gray.200'), + }, + h3: { + color: theme('colors.gray.200'), + }, + h4: { + color: theme('colors.gray.200'), + }, + 'figure figcaption': { + color: theme('colors.gray.400'), + }, + code: { + color: theme('colors.gray.200'), + }, + 'a code': { + color: theme('colors.gray.200'), + }, + pre: { + backgroundColor: theme('colors.gray.800'), + }, + thead: { + color: theme('colors.gray.200'), + borderBottomColor: theme('colors.gray.400'), + }, + 'tbody tr': { + borderBottomColor: theme('colors.gray.600'), + }, + hr: { + borderColor: theme('colors.gray.500'), + }, + }, + ], + }, + }), + }, + }, + variants: {}, + plugins: [require('@tailwindcss/typography')], +} diff --git a/site/yarn.lock b/site/yarn.lock new file mode 100644 index 0000000000..fd1d938c4e --- /dev/null +++ b/site/yarn.lock @@ -0,0 +1,4087 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@11ty/dependency-tree@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@11ty/dependency-tree/-/dependency-tree-1.0.0.tgz#b1fa53da49aafe0ab3fe38bc6b6058b704aa59a1" + integrity sha512-2FWYlkphQ/83MG7b9qqBJfJJ0K9zupNz/6n4EdDuNLw6hQHGp4Sp4UMDRyBvA/xCTYDBaPSuSjHuu45tSujegg== + +"@11ty/eleventy-navigation@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@11ty/eleventy-navigation/-/eleventy-navigation-0.2.0.tgz#fd610a4a3d52934b54832be5268dddf4b2fd22f4" + integrity sha512-mkFoNpL32FosMTuZwxcY3KXVVYLRt7zBqVWP9X+0GMufnRNGpLZd+BYwD0vmYHLAxz1ol/RLlL2Hmkgp/YJ4TQ== + dependencies: + dependency-graph "^0.11.0" + +"@11ty/eleventy-plugin-syntaxhighlight@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@11ty/eleventy-plugin-syntaxhighlight/-/eleventy-plugin-syntaxhighlight-3.1.1.tgz#0abfd8f0b2902629bd90aea69e8c8a0236d03ca4" + integrity sha512-5zVJj3dIXPi8t2Mm+40qk6fHjyCrxTFbJ8SMQgrKyflgHiFNZRH28isKtz/K3Qq7eu6o7BYSsk2ed7aqmtJhxg== + dependencies: + linkedom "^0.5.5" + prismjs "^1.23.0" + +"@11ty/eleventy@^0.12.1": + version "0.12.1" + resolved "https://registry.yarnpkg.com/@11ty/eleventy/-/eleventy-0.12.1.tgz#a957985e783bb5eeb8c1a97e661c5252014b2fd3" + integrity sha512-YGG1Vk0IPXsExSAwIyv6zccxxlaxXLb4PvO/G+SW66Dsz2l1ZSObJuukVTLc6iMpqZCS+LZQNXnaqG9PuRmy7w== + dependencies: + "@11ty/dependency-tree" "^1.0.0" + browser-sync "^2.26.14" + chalk "^4.1.0" + chokidar "^3.5.1" + debug "^4.3.1" + dependency-graph "^0.11.0" + ejs "^2.7.4" + fast-glob "^3.2.5" + fs-extra "^8.1.0" + gray-matter "^4.0.2" + hamljs "^0.6.2" + handlebars "^4.7.7" + javascript-stringify "^2.0.1" + liquidjs "^6.4.3" + lodash "^4.17.21" + luxon "^1.26.0" + markdown-it "^10.0.0" + minimist "^1.2.5" + moo "^0.5.1" + multimatch "^4.0.0" + mustache "^2.3.2" + normalize-path "^3.0.0" + nunjucks "^3.2.3" + parse-filepath "^1.0.2" + please-upgrade-node "^3.2.0" + pretty "^2.0.0" + pug "^3.0.2" + recursive-copy "^2.0.11" + semver "^7.3.4" + slugify "^1.4.7" + time-require "^0.1.2" + valid-url "^1.0.9" + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + dependencies: + "@babel/highlight" "^7.12.13" + +"@babel/helper-validator-identifier@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" + integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" + integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.0" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.6.0", "@babel/parser@^7.9.6": + version "7.14.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.4.tgz#a5c560d6db6cd8e6ed342368dea8039232cbab18" + integrity sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA== + +"@babel/types@^7.6.1", "@babel/types@^7.9.6": + version "7.14.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.4.tgz#bfd6980108168593b38b3eb48a24aa026b919bc0" + integrity sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw== + dependencies: + "@babel/helper-validator-identifier" "^7.14.0" + to-fast-properties "^2.0.0" + +"@eslint/eslintrc@^0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179" + integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@fullhuman/postcss-purgecss@^3.1.3": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.1.3.tgz#47af7b87c9bfb3de4bc94a38f875b928fffdf339" + integrity sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA== + dependencies: + purgecss "^3.1.3" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz#94c23db18ee4653e129abd26fb06f870ac9e1ee2" + integrity sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@tailwindcss/typography@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.4.1.tgz#51ddbceea6a0ee9902c649dbe58871c81a831212" + integrity sha512-ovPPLUhs7zAIJfr0y1dbGlyCuPhpuv/jpBoFgqAc658DWGGrOBWBMpAWLw2KlzbNeVk4YBJMzue1ekvIbdw6XA== + dependencies: + lodash.castarray "^4.4.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" + +"@types/minimatch@^3.0.3": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" + integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@ungap/event-target@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@ungap/event-target/-/event-target-0.2.2.tgz#6543122625a0a793c5fa265f45717cd096b0fb7c" + integrity sha512-z0bsRd8APns6CDBVEPEj3p82TiFc1UY8uWNhL+T0ydpQqnpHyPVwwgJ4FC5KP85sLbg80+g+h644UTatwKNi/g== + +a-sync-waterfall@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz#75b6b6aa72598b497a125e7a2770f14f4c8a1fa7" + integrity sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA== + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.4: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-jsx@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + +acorn-node@^1.6.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" + integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + dependencies: + acorn "^7.0.0" + acorn-walk "^7.0.0" + xtend "^4.0.2" + +acorn-walk@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.0.0, acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +after@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" + integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.5.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.5.0.tgz#695528274bcb5afc865446aa275484049a18ae4b" + integrity sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= + +anymatch@~3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= + +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +arraybuffer.slice@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" + integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + +asap@^2.0.3, asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +assert-never@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/assert-never/-/assert-never-1.2.1.tgz#11f0e363bf146205fb08193b5c7b90f4d1cf44fe" + integrity sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-each-series@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" + integrity sha1-dhfBkXQB/Yykooqtzj266Yr+tDI= + +async@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +autoprefixer@^10.2.6: + version "10.2.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.6.tgz#aadd9ec34e1c98d403e01950038049f0eb252949" + integrity sha512-8lChSmdU6dCNMCQopIf4Pe5kipkAGj/fvTMslCsih0uHpOrXOPUEVOmYMMqmw3cekQkSD7EhIeuYl5y0BLdKqg== + dependencies: + browserslist "^4.16.6" + caniuse-lite "^1.0.30001230" + colorette "^1.2.2" + fraction.js "^4.1.1" + normalize-range "^0.1.2" + postcss-value-parser "^4.1.0" + +axios@0.21.1: + version "0.21.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + +babel-walk@3.0.0-canary-5: + version "3.0.0-canary-5" + resolved "https://registry.yarnpkg.com/babel-walk/-/babel-walk-3.0.0-canary-5.tgz#f66ecd7298357aee44955f235a6ef54219104b11" + integrity sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw== + dependencies: + "@babel/types" "^7.9.6" + +backo2@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-arraybuffer@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" + integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= + +base64id@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" + integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +blob@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" + integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-sync-client@^2.26.14: + version "2.26.14" + resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.26.14.tgz#f2f0a8e5febc65b725fb38c8d648389214a38947" + integrity sha512-be0m1MchmKv/26r/yyyolxXcBi052aYrmaQep5nm8YNMjFcEyzv0ZoOKn/c3WEXNlEB/KeXWaw70fAOJ+/F1zQ== + dependencies: + etag "1.8.1" + fresh "0.5.2" + mitt "^1.1.3" + rxjs "^5.5.6" + +browser-sync-ui@^2.26.14: + version "2.26.14" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.26.14.tgz#96632c38dda72560a3be8e985716d7a735e94749" + integrity sha512-6oT1sboM4KVNnWCCJDMGbRIeTBw97toMFQ+srImvwQ6J5t9KMgizaIX8HcKLiemsUMSJkgGM9RVKIpq2UblgOA== + dependencies: + async-each-series "0.1.1" + connect-history-api-fallback "^1" + immutable "^3" + server-destroy "1.0.1" + socket.io-client "^2.4.0" + stream-throttle "^0.1.3" + +browser-sync@^2.26.14: + version "2.26.14" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.26.14.tgz#716c13ef91e72dfe092ff84bec3ddf62ea9d81fd" + integrity sha512-3TtpsheGolJT6UFtM2CZWEcGJmI4ZEvoCKiKE2bvcDnPxRkhQT4nIGVtfiyPcoHKXGM0LwMOZmYJNWfiNfVXWA== + dependencies: + browser-sync-client "^2.26.14" + browser-sync-ui "^2.26.14" + bs-recipes "1.3.4" + bs-snippet-injector "^2.0.1" + chokidar "^3.5.1" + connect "3.6.6" + connect-history-api-fallback "^1" + dev-ip "^1.0.1" + easy-extender "^2.3.4" + eazy-logger "3.1.0" + etag "^1.8.1" + fresh "^0.5.2" + fs-extra "3.0.1" + http-proxy "^1.18.1" + immutable "^3" + localtunnel "^2.0.1" + micromatch "^4.0.2" + opn "5.3.0" + portscanner "2.1.1" + qs "6.2.3" + raw-body "^2.3.2" + resp-modifier "6.0.2" + rx "4.1.0" + send "0.16.2" + serve-index "1.9.1" + serve-static "1.13.2" + server-destroy "1.0.1" + socket.io "2.4.0" + ua-parser-js "^0.7.18" + yargs "^15.4.1" + +browserslist@^4.16.6: + version "4.16.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + +bs-recipes@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.4.tgz#0d2d4d48a718c8c044769fdc4f89592dc8b69585" + integrity sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU= + +bs-snippet-injector@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz#61b5393f11f52559ed120693100343b6edb04dd5" + integrity sha1-YbU5PxH1JVntEgaTEANDtu2wTdU= + +bytes@3.1.0, bytes@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001230: + version "1.0.30001234" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001234.tgz#8fc2e709e3b0679d7af7f073a1c661155c39b975" + integrity sha512-a3gjUVKkmwLdNysa1xkUAwN2VfJUJyVW47rsi3aCbkRCtbHAfo+rOsCqVw29G6coQ8gzAPb5XBXwiGHwme3isA== + +chalk@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + integrity sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8= + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + 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" + +chalk@^2.0.0, chalk@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +character-parser@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" + integrity sha1-x84o821LzZdE5f/CxfzeHHMmH8A= + dependencies: + is-regex "^1.0.3" + +cheerio-select@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.4.0.tgz#3a16f21e37a2ef0f211d6d1aa4eff054bb22cdc9" + integrity sha512-sobR3Yqz27L553Qa7cK6rtJlMDbiKPdNywtR95Sj/YgfpLfy0u6CGJuaBKe5YE/vTc23SCRKxWSdlon/w6I/Ew== + dependencies: + css-select "^4.1.2" + css-what "^5.0.0" + domelementtype "^2.2.0" + domhandler "^4.2.0" + domutils "^2.6.0" + +cheerio@^1.0.0-rc.2: + version "1.0.0-rc.9" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.9.tgz#a3ae6b7ce7af80675302ff836f628e7cb786a67f" + integrity sha512-QF6XVdrLONO6DXRF5iaolY+odmhj2CLj+xzNod7INPWMi/x9X4SOylH0S/vaPpX+AUU6t04s34SQNh7DbkuCng== + dependencies: + cheerio-select "^1.4.0" + dom-serializer "^1.3.1" + domhandler "^4.2.0" + htmlparser2 "^6.1.0" + parse5 "^6.0.1" + parse5-htmlparser2-tree-adapter "^6.0.1" + tslib "^2.2.0" + +chokidar@^3.3.0, chokidar@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" + +clean-css@^4.2.1: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + dependencies: + source-map "~0.6.0" + +clipboard@^2.0.0: + version "2.0.8" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba" + integrity sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ== + dependencies: + good-listener "^1.2.2" + select "^1.1.2" + tiny-emitter "^2.0.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.4: + version "1.5.5" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" + integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.4" + +colorette@^1.2.1, colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + +commander@^2.19.0, commander@^2.2.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +component-bind@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= + +component-emitter@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + +component-emitter@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +component-inherit@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +condense-newlines@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/condense-newlines/-/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f" + integrity sha1-PemFVTE5R10yUCyDsC9gaE0kxV8= + dependencies: + extend-shallow "^2.0.1" + is-whitespace "^0.3.0" + kind-of "^3.0.2" + +config-chain@^1.1.12: + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +connect-history-api-fallback@^1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + +connect@3.6.6: + version "3.6.6" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524" + integrity sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ= + dependencies: + debug "2.6.9" + finalhandler "1.1.0" + parseurl "~1.3.2" + utils-merge "1.0.1" + +constantinople@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-4.0.1.tgz#0def113fa0e4dc8de83331a5cf79c8b325213151" + integrity sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== + dependencies: + "@babel/parser" "^7.6.0" + "@babel/types" "^7.6.1" + +cookie@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cross-env@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.1, cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-select@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-3.1.2.tgz#d52cbdc6fee379fba97fb0d3925abbd18af2d9d8" + integrity sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA== + dependencies: + boolbase "^1.0.0" + css-what "^4.0.0" + domhandler "^4.0.0" + domutils "^2.4.3" + nth-check "^2.0.0" + +css-select@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.2.tgz#8b52b6714ed3a80d8221ec971c543f3b12653286" + integrity sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + +css-unit-converter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" + integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== + +css-what@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-4.0.0.tgz#35e73761cab2eeb3d3661126b23d7aa0e8432233" + integrity sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A== + +css-what@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" + integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +date-fns@^2.22.1: + version "2.22.1" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.22.1.tgz#1e5af959831ebb1d82992bf67b765052d8f0efc4" + integrity sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg== + +date-time@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" + integrity sha1-7S9tk9l5DOL9ZtW1/z7dW7y/Owc= + +debug@2.6.9, debug@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4.3.1, debug@^4.0.1, debug@^4.1.1, debug@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +debug@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +deep-is@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= + +del@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delegate@^3.1.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" + integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +dependency-graph@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" + integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== + +dependency-graph@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.9.0.tgz#11aed7e203bc8b00f48356d92db27b265c445318" + integrity sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w== + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detective@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" + integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== + dependencies: + acorn-node "^1.6.1" + defined "^1.0.0" + minimist "^1.1.1" + +dev-ip@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" + integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA= + +didyoumean@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff" + integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +doctypes@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" + integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= + +dom-serializer@^1.0.1, dom-serializer@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" + integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.4.3, domutils@^2.5.2, domutils@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.6.0.tgz#2e15c04185d43fb16ae7057cb76433c6edb938b7" + integrity sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +easy-extender@^2.3.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.4.tgz#298789b64f9aaba62169c77a2b3b64b4c9589b8f" + integrity sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q== + dependencies: + lodash "^4.17.10" + +eazy-logger@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.1.0.tgz#b169eb56df714608fa114f164c8a2956bec9f0f3" + integrity sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ== + dependencies: + tfunk "^4.0.0" + +editorconfig@^0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" + integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== + dependencies: + commander "^2.19.0" + lru-cache "^4.1.5" + semver "^5.6.0" + sigmund "^1.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^2.7.4: + version "2.7.4" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + +electron-to-chromium@^1.3.723: + version "1.3.749" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.749.tgz#0ecebc529ceb49dd2a7c838ae425236644c3439a" + integrity sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A== + +eleventy-plugin-toc@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eleventy-plugin-toc/-/eleventy-plugin-toc-1.1.0.tgz#7308d0332ac020c29a77c125ff27cef65fe020af" + integrity sha512-5wOls2nvGrmi2Gq6pxp522ig9B/bwN2mMu9pakN6GUemQXZrHNLyfIsfdNkbCeel+AZ+doV1N2slSMRQ4EziiQ== + dependencies: + cheerio "^1.0.0-rc.2" + +emitter-mixin@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/emitter-mixin/-/emitter-mixin-0.0.3.tgz#5948cb286f2e48edc3b251a7cfc1f7883396d65c" + integrity sha1-WUjLKG8uSO3DslGnz8H3iDOW1lw= + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@~1.0.1, encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +engine.io-client@~3.5.0: + version "3.5.2" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.2.tgz#0ef473621294004e9ceebe73cef0af9e36f2f5fa" + integrity sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA== + dependencies: + component-emitter "~1.3.0" + component-inherit "0.0.3" + debug "~3.1.0" + engine.io-parser "~2.2.0" + has-cors "1.1.0" + indexof "0.0.1" + parseqs "0.0.6" + parseuri "0.0.6" + ws "~7.4.2" + xmlhttprequest-ssl "~1.6.2" + yeast "0.1.2" + +engine.io-parser@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.1.tgz#57ce5611d9370ee94f99641b589f94c97e4f5da7" + integrity sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg== + dependencies: + after "0.8.2" + arraybuffer.slice "~0.0.7" + base64-arraybuffer "0.1.4" + blob "0.0.5" + has-binary2 "~1.0.2" + +engine.io@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.5.0.tgz#9d6b985c8a39b1fe87cd91eb014de0552259821b" + integrity sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA== + dependencies: + accepts "~1.3.4" + base64id "2.0.0" + cookie "~0.4.1" + debug "~4.1.0" + engine.io-parser "~2.2.0" + ws "~7.4.2" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + +entities@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== + +errno@^0.1.2: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.18.0-next.2: + version "1.18.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" + integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.10.3" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@^7.28.0: + version "7.28.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz#435aa17a0b82c13bb2be9d51408b617e49c1e820" + integrity sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.2" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@1.8.1, etag@^1.8.1, etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.1.1, fast-glob@^3.2.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" + integrity sha1-zgtoVbRYU+eRsvzGgARtiCU91/U= + dependencies: + debug "2.6.9" + encodeurl "~1.0.1" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.3.1" + unpipe "~1.0.0" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" + integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + +follow-redirects@^1.0.0, follow-redirects@^1.10.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" + integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== + +fraction.js@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.1.tgz#ac4e520473dae67012d618aab91eda09bcb400ff" + integrity sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg== + +fresh@0.5.2, fresh@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs-extra@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" + integrity sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^3.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.0, fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-stdin@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= + dependencies: + is-glob "^2.0.0" + +glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + 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" + +globals@^13.6.0, globals@^13.9.0: + version "13.9.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb" + integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.0: + version "11.0.3" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" + integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +good-listener@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" + integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= + dependencies: + delegate "^3.1.2" + +graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +gray-matter@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" + integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== + dependencies: + js-yaml "^3.13.1" + kind-of "^6.0.2" + section-matter "^1.0.0" + strip-bom-string "^1.0.0" + +hamljs@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/hamljs/-/hamljs-0.6.2.tgz#7b7116cf6dbe7278e42b3f6ef8725a33e177c8e3" + integrity sha1-e3EWz22+cnjkKz9u+HJaM+F3yOM= + +handlebars@^4.7.7: + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-binary2@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" + integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw== + dependencies: + isarray "2.0.1" + +has-color@~0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + integrity sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8= + +has-cors@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +html-escaper@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-3.0.3.tgz#4d336674652beb1dcbc29ef6b6ba7f6be6fdfed6" + integrity sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ== + +html-minifier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56" + integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig== + dependencies: + 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-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + +htmlparser2@^6.0.0, htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-errors@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +immutable@^3: + version "3.8.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" + integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= + +import-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" + integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== + dependencies: + import-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" + integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== + dependencies: + resolve-from "^5.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-bigint@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" + integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" + integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== + dependencies: + call-bind "^1.0.2" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.4, is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + +is-core-module@^2.2.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" + integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" + integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= + +is-expression@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-4.0.0.tgz#c33155962abf21d0afd2552514d67d2ec16fd2ab" + integrity sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== + dependencies: + acorn "^7.1.1" + object-assign "^4.1.1" + +is-extendable@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= + dependencies: + is-extglob "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-number-like@^1.0.3: + version "1.0.8" + resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.8.tgz#2e129620b50891042e44e9bbbb30593e75cfbbe3" + integrity sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA== + dependencies: + lodash.isfinite "^3.3.2" + +is-number-object@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" + integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-promise@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +is-regex@^1.0.3, is-regex@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" + integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.2" + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-string@^1.0.5, is-string@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" + integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-whitespace@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" + integrity sha1-Fjnssb4DauxppUy7QBz77XEUq38= + +is-windows@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +isarray@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" + integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +javascript-stringify@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" + integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== + +js-beautify@^1.6.12: + version "1.13.13" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.13.13.tgz#756907d1728f329f2b84c42efd56ad17514620bf" + integrity sha512-oH+nc0U5mOAqX8M5JO1J0Pw/7Q35sAdOsM5W3i87pir9Ntx6P/5Gx1xLNoK+MGyvHk4rqqRCE4Oq58H6xl2W7A== + dependencies: + config-chain "^1.1.12" + editorconfig "^0.15.3" + glob "^7.1.3" + mkdirp "^1.0.4" + nopt "^5.0.0" + +js-stringify@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" + integrity sha1-Fzb939lyTyijaCrcYjCufk6Weds= + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +jsonfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" + integrity sha1-pezG9l9T9mLEQVx2daAzHQmS7GY= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jstransformer@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" + integrity sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM= + dependencies: + is-promise "^2.0.0" + promise "^7.0.1" + +junk@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/junk/-/junk-1.0.3.tgz#87be63488649cbdca6f53ab39bec9ccd2347f592" + integrity sha1-h75jSIZJy9ym9Tqzm+yczSNH9ZI= + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +limiter@^1.0.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2" + integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA== + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +linkedom@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/linkedom/-/linkedom-0.5.6.tgz#2c058dac9476b9b8ef1886ae8f0d495e3e6606e4" + integrity sha512-6PLYvs7memANEiA7aqzI6hPfi0yRJwup8uwp8yviCyQLu1hdvdlkULYATA4G/y/kMEpgGPnIQ57mTL5/0TylZw== + dependencies: + "@ungap/event-target" "^0.2.2" + css-select "^3.1.2" + html-escaper "^3.0.3" + htmlparser2 "^6.0.0" + uhyphen "^0.1.0" + +linkify-it@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" + integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== + dependencies: + uc.micro "^1.0.1" + +linkify-it@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.2.tgz#f55eeb8bc1d3ae754049e124ab3bb56d97797fb8" + integrity sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ== + dependencies: + uc.micro "^1.0.1" + +liquidjs@^6.4.3: + version "6.4.3" + resolved "https://registry.yarnpkg.com/liquidjs/-/liquidjs-6.4.3.tgz#c7caf7a3f6c87dc6a22a5a351328cf8f7298c243" + integrity sha512-m1xSB10Ncu22NR3X0xdaqu/GvP1xadDCFYGqGgd6me8DAWjyA68BKE5DHJmSxw1CGsWPsX+Hj2v/87J2w/LvMQ== + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +localtunnel@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-2.0.1.tgz#8f7c593f3005647f7675e6e69af9bf746571a631" + integrity sha512-LiaI5wZdz0xFkIQpXbNI62ZnNn8IMsVhwxHmhA+h4vj8R9JG/07bQHWwQlyy7b95/5fVOCHJfIHv+a5XnkvaJA== + dependencies: + axios "0.21.1" + debug "4.3.1" + openurl "1.1.1" + yargs "16.2.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.castarray@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115" + integrity sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU= + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.difference@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= + +lodash.forown@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.forown/-/lodash.forown-4.4.0.tgz#85115cf04f73ef966eced52511d3893cc46683af" + integrity sha1-hRFc8E9z75ZuztUlEdOJPMRmg68= + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.groupby@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.groupby/-/lodash.groupby-4.6.0.tgz#0b08a1dcf68397c397855c3239783832df7403d1" + integrity sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E= + +lodash.isfinite@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" + integrity sha1-+4m2WpqAKBgz8LdHizpRBPiY67M= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" + integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= + +lodash.topath@^4.5.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009" + integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak= + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.17.10, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lru-cache@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +luxon@^1.26.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.27.0.tgz#ae10c69113d85dab8f15f5e8390d0cbeddf4f00f" + integrity sha512-VKsFsPggTA0DvnxtJdiExAucKdAnwbCCNlMM5ENvHlxubqWd0xhZcdb4XgZ7QFNhaRhilXCFxHuoObP5BNA4PA== + +map-cache@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +markdown-it-anchor@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-7.1.0.tgz#30fb21497bf59e83ff4d1ddc052d821962e2489e" + integrity sha512-loQggrwsIkkP7TOrESvmYkV2ikbQNNKhHcWyqC7/C2CmfHl1tkUizJJU8C5aGgg7J6oXVQJx17gk7i47tNn/lQ== + +markdown-it-container@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/markdown-it-container/-/markdown-it-container-3.0.0.tgz#1d19b06040a020f9a827577bb7dbf67aa5de9a5b" + integrity sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw== + +markdown-it@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc" + integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg== + dependencies: + argparse "^1.0.7" + entities "~2.0.0" + linkify-it "^2.0.0" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +markdown-it@^12.0.6: + version "12.0.6" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.0.6.tgz#adcc8e5fe020af292ccbdf161fe84f1961516138" + integrity sha512-qv3sVLl4lMT96LLtR7xeRJX11OUFjsaD5oVat2/SNBIb21bJXwal2+SklcRbTwGwqWpWH/HRtYavOoJE+seL8w== + dependencies: + argparse "^2.0.1" + entities "~2.1.0" + linkify-it "^3.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +maximatch@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/maximatch/-/maximatch-0.1.0.tgz#86cd8d6b04c9f307c05a6b9419906d0360fb13a2" + integrity sha1-hs2NawTJ8wfAWmuUGZBtA2D7E6I= + dependencies: + array-differ "^1.0.0" + array-union "^1.0.1" + arrify "^1.0.0" + minimatch "^3.0.0" + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= + +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mime-db@1.48.0: + version "1.48.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" + integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== + +mime-types@~2.1.17, mime-types@~2.1.24: + version "2.1.31" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" + integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== + dependencies: + mime-db "1.48.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mitt@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.2.0.tgz#cb24e6569c806e31bd4e3995787fe38a04fdf90d" + integrity sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw== + +mkdirp@^0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +modern-normalize@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/modern-normalize/-/modern-normalize-1.1.0.tgz#da8e80140d9221426bd4f725c6e11283d34f90b7" + integrity sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA== + +moo@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4" + integrity sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multimatch@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" + integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ== + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + +mustache@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5" + integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ== + +nanoid@^3.1.23: + version "3.1.23" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" + integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +neo-async@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + +node-emoji@^1.8.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" + integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + dependencies: + lodash.toarray "^4.4.0" + +node-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-releases@^1.1.71: + version "1.1.72" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" + integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +npm-run-all@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== + dependencies: + ansi-styles "^3.2.1" + chalk "^2.4.1" + cross-spawn "^6.0.5" + memorystream "^0.3.1" + minimatch "^3.0.4" + pidtree "^0.3.0" + read-pkg "^3.0.0" + shell-quote "^1.6.1" + string.prototype.padend "^3.0.0" + +nth-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" + integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + dependencies: + boolbase "^1.0.0" + +nunjucks@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.2.3.tgz#1b33615247290e94e28263b5d855ece765648a31" + integrity sha512-psb6xjLj47+fE76JdZwskvwG4MYsQKXUtMsPh6U0YMvmyjRtKRFcxnlXGWglNybtNTNVmGdp94K62/+NjF5FDQ== + dependencies: + a-sync-waterfall "^1.0.0" + asap "^2.0.3" + commander "^5.1.0" + +object-assign@^4.0.1, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-hash@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" + integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== + +object-inspect@^1.10.3: + version "1.10.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" + integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +openurl@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.1.tgz#3875b4b0ef7a52c156f0db41d4609dbb0f94b387" + integrity sha1-OHW0sO96UsFW8NtB1GCduw+Us4c= + +opn@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c" + integrity sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g== + dependencies: + is-wsl "^1.1.0" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +param-case@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-filepath@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-ms@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" + integrity sha1-3T+iXtbC78e93hKtm0bBY6opIk4= + +parse5-htmlparser2-tree-adapter@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parseqs@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5" + integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w== + +parseuri@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a" + integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== + +parseurl@~1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pidtree@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +please-upgrade-node@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +portscanner@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96" + integrity sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y= + dependencies: + async "1.5.2" + is-number-like "^1.0.3" + +postcss-cli@^8.3.1: + version "8.3.1" + resolved "https://registry.yarnpkg.com/postcss-cli/-/postcss-cli-8.3.1.tgz#865dad08300ac59ae9cecb7066780aa81c767a77" + integrity sha512-leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q== + dependencies: + chalk "^4.0.0" + chokidar "^3.3.0" + dependency-graph "^0.9.0" + fs-extra "^9.0.0" + get-stdin "^8.0.0" + globby "^11.0.0" + postcss-load-config "^3.0.0" + postcss-reporter "^7.0.0" + pretty-hrtime "^1.0.3" + read-cache "^1.0.0" + slash "^3.0.0" + yargs "^16.0.0" + +postcss-functions@^3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-functions/-/postcss-functions-3.0.0.tgz#0e94d01444700a481de20de4d55fb2640564250e" + integrity sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4= + dependencies: + glob "^7.1.2" + object-assign "^4.1.1" + postcss "^6.0.9" + postcss-value-parser "^3.3.0" + +postcss-js@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-3.0.3.tgz#2f0bd370a2e8599d45439f6970403b5873abda33" + integrity sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw== + dependencies: + camelcase-css "^2.0.1" + postcss "^8.1.6" + +postcss-load-config@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.0.1.tgz#d214bf9cfec1608ffaf0f4161b3ba20664ab64b9" + integrity sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ== + dependencies: + cosmiconfig "^7.0.0" + import-cwd "^3.0.0" + +postcss-nested@5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.5.tgz#f0a107d33a9fab11d7637205f5321e27223e3603" + integrity sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-reporter@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-7.0.2.tgz#03e9e7381c1afe40646f9c22e7aeeb860e051065" + integrity sha512-JyQ96NTQQsso42y6L1H1RqHfWH1C3Jr0pt91mVv5IdYddZAE9DUZxuferNgk6q0o6vBVOrfVJb10X1FgDzjmDw== + dependencies: + colorette "^1.2.1" + lodash.difference "^4.5.0" + lodash.forown "^4.4.0" + lodash.get "^4.4.2" + lodash.groupby "^4.6.0" + lodash.sortby "^4.7.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^6.0.9: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +postcss@^8.1.6, postcss@^8.2.1: + version "8.3.0" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.0.tgz#b1a713f6172ca427e3f05ef1303de8b65683325f" + integrity sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.23" + source-map-js "^0.6.2" + +postcss@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.2.tgz#ed3ec489f5428af5740cd6effcc216b4d455ee64" + integrity sha512-y1FK/AWdZlBF5lusS5j5l4/vF67+vQZt1SXPVJ32y1kRGDQyrs1zk32hG1cInRTu14P0V+orPz+ifwW/7rR4bg== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.23" + source-map-js "^0.6.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6" + integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== + +pretty-hrtime@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + +pretty-ms@^0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" + integrity sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY= + dependencies: + parse-ms "^0.1.0" + +pretty@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pretty/-/pretty-2.0.0.tgz#adbc7960b7bbfe289a557dc5f737619a220d06a5" + integrity sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU= + dependencies: + condense-newlines "^0.2.1" + extend-shallow "^2.0.1" + js-beautify "^1.6.12" + +prismjs@^1.23.0: + version "1.23.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33" + integrity sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA== + optionalDependencies: + clipboard "^2.0.0" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise@^7.0.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +pug-attrs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-3.0.0.tgz#b10451e0348165e31fad1cc23ebddd9dc7347c41" + integrity sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA== + dependencies: + constantinople "^4.0.1" + js-stringify "^1.0.2" + pug-runtime "^3.0.0" + +pug-code-gen@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-3.0.2.tgz#ad190f4943133bf186b60b80de483100e132e2ce" + integrity sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg== + dependencies: + constantinople "^4.0.1" + doctypes "^1.1.0" + js-stringify "^1.0.2" + pug-attrs "^3.0.0" + pug-error "^2.0.0" + pug-runtime "^3.0.0" + void-elements "^3.1.0" + with "^7.0.0" + +pug-error@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-2.0.0.tgz#5c62173cb09c34de2a2ce04f17b8adfec74d8ca5" + integrity sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ== + +pug-filters@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-4.0.0.tgz#d3e49af5ba8472e9b7a66d980e707ce9d2cc9b5e" + integrity sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A== + dependencies: + constantinople "^4.0.1" + jstransformer "1.0.0" + pug-error "^2.0.0" + pug-walk "^2.0.0" + resolve "^1.15.1" + +pug-lexer@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-5.0.1.tgz#ae44628c5bef9b190b665683b288ca9024b8b0d5" + integrity sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w== + dependencies: + character-parser "^2.2.0" + is-expression "^4.0.0" + pug-error "^2.0.0" + +pug-linker@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-4.0.0.tgz#12cbc0594fc5a3e06b9fc59e6f93c146962a7708" + integrity sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw== + dependencies: + pug-error "^2.0.0" + pug-walk "^2.0.0" + +pug-load@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-3.0.0.tgz#9fd9cda52202b08adb11d25681fb9f34bd41b662" + integrity sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ== + dependencies: + object-assign "^4.1.1" + pug-walk "^2.0.0" + +pug-parser@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-6.0.0.tgz#a8fdc035863a95b2c1dc5ebf4ecf80b4e76a1260" + integrity sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw== + dependencies: + pug-error "^2.0.0" + token-stream "1.0.0" + +pug-runtime@^3.0.0, pug-runtime@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-3.0.1.tgz#f636976204723f35a8c5f6fad6acda2a191b83d7" + integrity sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg== + +pug-strip-comments@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz#f94b07fd6b495523330f490a7f554b4ff876303e" + integrity sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ== + dependencies: + pug-error "^2.0.0" + +pug-walk@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-2.0.0.tgz#417aabc29232bb4499b5b5069a2b2d2a24d5f5fe" + integrity sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ== + +pug@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pug/-/pug-3.0.2.tgz#f35c7107343454e43bc27ae0ff76c731b78ea535" + integrity sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw== + dependencies: + pug-code-gen "^3.0.2" + pug-filters "^4.0.0" + pug-lexer "^5.0.1" + pug-linker "^4.0.0" + pug-load "^3.0.0" + pug-parser "^6.0.0" + pug-runtime "^3.0.1" + pug-strip-comments "^2.0.0" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +purgecss@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-3.1.3.tgz#26987ec09d12eeadc318e22f6e5a9eb0be094f41" + integrity sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ== + dependencies: + commander "^6.0.0" + glob "^7.0.0" + postcss "^8.2.1" + postcss-selector-parser "^6.0.2" + +qs@6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" + integrity sha1-HPyyXBCpsrSDBT/zn138kjOQjP4= + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +range-parser@~1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@^2.3.2: + version "2.4.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" + integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== + dependencies: + bytes "3.1.0" + http-errors "1.7.3" + iconv-lite "0.4.24" + unpipe "1.0.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= + dependencies: + pify "^2.3.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +recursive-copy@^2.0.11: + version "2.0.11" + resolved "https://registry.yarnpkg.com/recursive-copy/-/recursive-copy-2.0.11.tgz#7ed3c0f4b6bb0ffda7cab62bf865a82f5a391c39" + integrity sha512-DqL2kO10mUne7XK5BPcwRtOJJZKhddD7IrW4UmHmKrwdV3HLPWcw6Jr4Jh12ooddfJOVz7ynFoFYYnPM7De0Og== + dependencies: + del "^2.2.0" + emitter-mixin "0.0.3" + errno "^0.1.2" + graceful-fs "^4.1.4" + junk "^1.0.1" + maximatch "^0.1.0" + mkdirp "^0.5.1" + pify "^2.3.0" + promise "^7.0.1" + slash "^1.0.0" + +reduce-css-calc@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03" + integrity sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== + dependencies: + css-unit-converter "^1.1.1" + postcss-value-parser "^3.3.0" + +regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.10.0, resolve@^1.15.1, resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +resp-modifier@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f" + integrity sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08= + dependencies: + debug "^2.2.0" + minimatch "^3.0.2" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^2.2.8: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rx@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= + +rxjs@^5.5.6: + version "5.5.12" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" + integrity sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw== + dependencies: + symbol-observable "1.0.1" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +section-matter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" + integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== + dependencies: + extend-shallow "^2.0.1" + kind-of "^6.0.0" + +select@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" + integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^7.2.1, semver@^7.3.4: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +serve-index@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +server-destroy@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" + integrity sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0= + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.6.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slugify@^1.4.7: + version "1.5.3" + resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.5.3.tgz#36e009864f5476bfd5db681222643d92339c890d" + integrity sha512-/HkjRdwPY3yHJReXu38NiusZw2+LLE2SrhkWJtmlPDB1fqFSvioYj62NkPcrKiNCgRLeGcGK7QBvr1iQwybeXw== + +socket.io-adapter@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz#ab3f0d6f66b8fc7fca3959ab5991f82221789be9" + integrity sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g== + +socket.io-client@2.4.0, socket.io-client@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35" + integrity sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ== + dependencies: + backo2 "1.0.2" + component-bind "1.0.0" + component-emitter "~1.3.0" + debug "~3.1.0" + engine.io-client "~3.5.0" + has-binary2 "~1.0.2" + indexof "0.0.1" + parseqs "0.0.6" + parseuri "0.0.6" + socket.io-parser "~3.3.0" + to-array "0.1.4" + +socket.io-parser@~3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6" + integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg== + dependencies: + component-emitter "~1.3.0" + debug "~3.1.0" + isarray "2.0.1" + +socket.io-parser@~3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.1.tgz#b06af838302975837eab2dc980037da24054d64a" + integrity sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A== + dependencies: + component-emitter "1.2.1" + debug "~4.1.0" + isarray "2.0.1" + +socket.io@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.4.0.tgz#01030a2727bd8eb2e85ea96d69f03692ee53d47e" + integrity sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ== + dependencies: + debug "~4.1.0" + engine.io "~3.5.0" + has-binary2 "~1.0.2" + socket.io-adapter "~1.1.0" + socket.io-client "2.4.0" + socket.io-parser "~3.4.0" + +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + +source-map@^0.6.1, source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" + integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +statuses@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + integrity sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4= + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== + +stream-throttle@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" + integrity sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM= + dependencies: + commander "^2.2.0" + limiter "^1.0.5" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.padend@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz#6858ca4f35c5268ebd5e8615e1327d55f59ee311" + integrity sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-ansi@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0, supports-color@^5.4.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +symbol-observable@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" + integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= + +table@^6.0.9: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== + dependencies: + ajv "^8.0.1" + lodash.clonedeep "^4.5.0" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.0" + strip-ansi "^6.0.0" + +tailwindcss@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.1.4.tgz#ee8a1b8ccc140db61960b6738f968a8a1c4cd1f8" + integrity sha512-fh1KImDLg6se/Suaelju/5oFbqq1b0ntagmGLu0aG9LlnNPGHgO1n/4E57CbKcCtyz/VYnvVXUiWmfyfBBZQ6g== + dependencies: + "@fullhuman/postcss-purgecss" "^3.1.3" + bytes "^3.0.0" + chalk "^4.1.0" + chokidar "^3.5.1" + color "^3.1.3" + detective "^5.2.0" + didyoumean "^1.2.1" + dlv "^1.1.3" + fast-glob "^3.2.5" + fs-extra "^9.1.0" + html-tags "^3.1.0" + lodash "^4.17.21" + lodash.topath "^4.5.2" + modern-normalize "^1.0.0" + node-emoji "^1.8.1" + normalize-path "^3.0.0" + object-hash "^2.1.1" + parse-glob "^3.0.4" + postcss-functions "^3" + postcss-js "^3.0.3" + postcss-nested "5.0.5" + postcss-selector-parser "^6.0.4" + postcss-value-parser "^4.1.0" + pretty-hrtime "^1.0.3" + quick-lru "^5.1.1" + reduce-css-calc "^2.1.8" + resolve "^1.20.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +tfunk@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-4.0.0.tgz#de9399feaf2060901d590b7faad80fcd5443077e" + integrity sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ== + dependencies: + chalk "^1.1.3" + dlv "^1.1.3" + +time-require@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" + integrity sha1-+eEss3D8JgXhFARYK6VO9corLZg= + dependencies: + chalk "^0.4.0" + date-time "^0.1.1" + pretty-ms "^0.2.1" + text-table "^0.2.0" + +tiny-emitter@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" + integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== + +to-array@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +token-stream@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-1.0.0.tgz#cc200eab2613f4166d27ff9afc7ca56d49df6eb4" + integrity sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ= + +tslib@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" + integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +ua-parser-js@^0.7.18: + version "0.7.28" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" + integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== + +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + +uglify-js@^3.1.4, uglify-js@^3.5.1: + version "3.13.9" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.9.tgz#4d8d21dcd497f29cfd8e9378b9df123ad025999b" + integrity sha512-wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g== + +uhyphen@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/uhyphen/-/uhyphen-0.1.0.tgz#3cc22afa790daa802b9f6789f3583108d5b4a08c" + integrity sha512-o0QVGuFg24FK765Qdd5kk0zU/U4dEsCtN/GSiwNI9i8xsSVtjIAOdTaVhLwZ1nrbWxFVMxNDDl+9fednsOMsBw== + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +valid-url@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" + integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA= + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +void-elements@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +with@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/with/-/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac" + integrity sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w== + dependencies: + "@babel/parser" "^7.9.6" + "@babel/types" "^7.9.6" + assert-never "^1.2.1" + babel-walk "3.0.0-canary-5" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +ws@~7.4.2: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + +xmlhttprequest-ssl@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" + integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.2: + version "20.2.7" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== + +yargs@16.2.0, yargs@^16.0.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yeast@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" + integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk=